]> git.ipfire.org Git - thirdparty/cups.git/commitdiff
Merge changes from CUPS 1.5svn-r9385.
authormsweet <msweet@a1ca3aef-8c08-0410-bb20-df032aa958be>
Tue, 30 Nov 2010 03:16:24 +0000 (03:16 +0000)
committermsweet <msweet@a1ca3aef-8c08-0410-bb20-df032aa958be>
Tue, 30 Nov 2010 03:16:24 +0000 (03:16 +0000)
git-svn-id: svn+ssh://src.apple.com/svn/cups/easysw/current@2873 a1ca3aef-8c08-0410-bb20-df032aa958be

89 files changed:
CHANGES-1.4.txt
LICENSE.txt
Makedefs.in
backend/Dependencies
backend/dnssd.c
backend/ipp.c
backend/lpd.c
backend/parallel.c
backend/runloop.c
backend/serial.c
backend/snmp.c
backend/socket.c
backend/usb-darwin.c
backend/usb-libusb.c
backend/usb-unix.c
backend/usb.c
berkeley/lpc.c
berkeley/lpq.c
berkeley/lpr.c
berkeley/lprm.c
config-scripts/cups-defaults.m4
config.h.in
configure.in
cups/Dependencies
cups/adminutil.c
cups/http-addr.c
cups/http-support.c
cups/langprintf.c
cups/language-private.h
cups/language.c
doc/Makefile
doc/help/kerberos.html
doc/help/license.html
driver/Dependencies
driver/commandtoescpx.c
driver/commandtopclx.c
driver/rastertoescpx.c
driver/rastertopclx.c
filter/Dependencies
filter/bannertops.c
filter/commandtops.c
filter/gziptoany.c
filter/imagetops.c
filter/imagetoraster.c
filter/pdftops.c
filter/pstext.c
filter/pstops.c
filter/rastertoepson.c
filter/rastertohp.c
filter/rastertolabel.c
filter/textcommon.c
filter/texttops.c
locale/Makefile
locale/checkpo.c
locale/cups.header
locale/cups.pot
locale/cups.strings [new file with mode: 0644]
locale/po2strings.c
monitor/Dependencies
monitor/bcp.c
monitor/tbcp.c
ppdc/ppdc-catalog.cxx
ppdc/ppdc-driver.cxx
ppdc/ppdc-file.cxx
ppdc/ppdc-import.cxx
ppdc/ppdc-source.cxx
ppdc/ppdc.cxx
ppdc/ppdhtml.cxx
ppdc/ppdi.cxx
ppdc/ppdmerge.cxx
ppdc/ppdpo.cxx
scheduler/cupsfilter.c
scheduler/main.c
systemv/cancel.c
systemv/cupsaccept.c
systemv/cupsaddsmb.c
systemv/cupsctl.c
systemv/cupstestdsc.c
systemv/cupstestppd.c
systemv/lp.c
systemv/lpadmin.c
systemv/lpinfo.c
systemv/lpmove.c
systemv/lpoptions.c
systemv/lppasswd.c
systemv/lpstat.c
templates/Makefile
test/ippserver.c
test/ipptool.c

index 674530c5b9303cd7f2b4c1a00e0becf270096a83..2dfb2c414513712cd754110fa1b51475ce9d3dae 100644 (file)
@@ -3,6 +3,10 @@ CHANGES-1.4.txt
 
 CHANGES IN CUPS V1.4.6
 
+       - Regression: The pstops filter did not support landscape printing of
+         PostScript files (STR #3722)
+       - The scheduler killed retried (fax) jobs after restarting them
+         (STR #3697)
        - The cupsAdminSetServerSettings() function disabled sharing when
          debug logging was enabled (STR #3712)
 
index fdad62bc85feb129394ed5023125ad3efcb56ffc..2c386e0f959de66d25afd38ec0f8ecf10df23985 100644 (file)
@@ -1,6 +1,6 @@
                           CUPS License Agreement
 
-                     Copyright 2007-2009 by Apple Inc.
+                     Copyright 2007-2010 by Apple Inc.
                             1 Infinite Loop
                          Cupertino, CA 95014 USA
 
@@ -16,10 +16,8 @@ copy of the exceptions and licenses follow this introduction.
 
 The GNU LGPL applies to the CUPS and CUPS Imaging libraries
 located in the "cups" and "filter" subdirectories of the CUPS
-source distribution and in the "cups" include directory and
-library files in the binary distributions. The GNU GPL applies to
-the remainder of the CUPS distribution, including the "pdftops"
-filter which is based upon Xpdf.
+source distribution and the files in the "test" subdirectory. The
+GNU GPL applies to the remainder of the CUPS distribution.
 
 For those not familiar with the GNU GPL, the license basically
 allows you to:
index 781e320623dcfeb801b269ecd71106024e21ab94..c7d066d426e9bf524e8cd0399ad09a38e2ea31ac 100644 (file)
@@ -218,6 +218,7 @@ BUILDROOT   =       $(DSTROOT)
 
 AMANDIR                =       $(BUILDROOT)@AMANDIR@
 BINDIR         =       $(BUILDROOT)@bindir@
+BUNDLEDIR      =       @CUPS_BUNDLEDIR@
 CACHEDIR       =       $(BUILDROOT)@CUPS_CACHEDIR@
 DATADIR                =       $(BUILDROOT)@CUPS_DATADIR@
 DOCDIR         =       $(BUILDROOT)@CUPS_DOCROOT@
index f6c512e4abdee6984e3ebe5be236059360c35267..b195e61e980badd023ec53a587a06aa0494fb71e 100644 (file)
@@ -28,10 +28,6 @@ dnssd.o: ../cups/http-private.h ../cups/http.h ../cups/md5-private.h
 dnssd.o: ../cups/ipp-private.h ../cups/ipp.h ../cups/language-private.h
 dnssd.o: ../cups/transcode.h ../cups/thread-private.h ../cups/snmp-private.h
 dnssd.o: ../cups/backend.h ../cups/sidechannel.h ../cups/array.h
-pap.o: ../config.h ../cups/cups.h ../cups/file.h ../cups/versioning.h
-pap.o: ../cups/ipp.h ../cups/http.h ../cups/array.h ../cups/language.h
-pap.o: ../cups/backend.h ../cups/sidechannel.h ../cups/language-private.h
-pap.o: ../cups/transcode.h
 parallel.o: backend-private.h ../cups/cups-private.h ../cups/cups.h
 parallel.o: ../cups/file.h ../cups/versioning.h ../cups/ipp.h ../cups/http.h
 parallel.o: ../cups/array.h ../cups/language.h ../cups/string-private.h
index 50c364c5b3ba7de1672bce396263aa02b442cfc6..57ecc6cb965ad68cecc0b201b2c7649033e28d96 100644 (file)
@@ -167,8 +167,9 @@ main(int  argc,                             /* I - Number of command-line args */
     exec_backend(argv);
   else if (argc != 1)
   {
-    fprintf(stderr, "Usage: %s job user title copies options [filename(s)]\n",
-            argv[0]);
+    _cupsLangPrintf(stderr,
+                    _("Usage: %s job-id user title copies options [file]"),
+                   argv[0]);
     return (1);
   }
 
index 810e48b0dbff1aa417e6204e9d5a9c01f5184aaa..d88fdeba8b6cfb6c1cb31f6de239315dd84d128d 100644 (file)
@@ -233,7 +233,7 @@ main(int  argc,                             /* I - Number of command-line args */
   else if (argc < 6)
   {
     _cupsLangPrintf(stderr,
-                    _("Usage: %s job-id user title copies options [file]\n"),
+                    _("Usage: %s job-id user title copies options [file]"),
                    argv[0]);
     return (CUPS_BACKEND_STOP);
   }
@@ -366,9 +366,9 @@ main(int  argc,                             /* I - Number of command-line args */
          cupsSetEncryption(HTTP_ENCRYPT_IF_REQUESTED);
        else
        {
-         _cupsLangPrintf(stderr,
-                         _("ERROR: Unknown encryption option value \"%s\"\n"),
-                         value);
+         _cupsLangPrintFilter(stderr, "ERROR",
+                              _("Unknown encryption option value: \"%s\"."),
+                              value);
         }
       }
       else if (!strcasecmp(name, "version"))
@@ -381,11 +381,13 @@ main(int  argc,                           /* I - Number of command-line args */
          version = 20;
        else if (!strcmp(value, "2.1"))
          version = 21;
+       else if (!strcmp(value, "2.2"))
+         version = 22;
        else
        {
-         _cupsLangPrintf(stderr,
-                         _("ERROR: Unknown version option value \"%s\"\n"),
-                         value);
+         _cupsLangPrintFilter(stderr, "ERROR",
+                              _("Unknown version option value: \"%s\"."),
+                              value);
        }
       }
 #ifdef HAVE_LIBZ
@@ -412,9 +414,9 @@ main(int  argc,                             /* I - Number of command-line args */
         * Unknown option...
        */
 
-       _cupsLangPrintf(stderr,
-                       _("ERROR: Unknown option \"%s\" with value \"%s\"\n"),
-                       name, value);
+       _cupsLangPrintFilter(stderr, "ERROR",
+                            _("Unknown option \"%s\" with value \"%s\"."),
+                            name, value);
       }
     }
   }
@@ -496,7 +498,7 @@ main(int  argc,                             /* I - Number of command-line args */
   do
   {
     fprintf(stderr, "DEBUG: Connecting to %s:%d\n", hostname, port);
-    _cupsLangPuts(stderr, _("INFO: Connecting to printer...\n"));
+    _cupsLangPrintFilter(stderr, "INFO", _("Connecting to printer."));
 
     if ((http = httpConnectEncrypt(hostname, port, cupsEncryption())) == NULL)
     {
@@ -519,9 +521,9 @@ main(int  argc,                             /* I - Number of command-line args */
        * available printer in the class.
        */
 
-        _cupsLangPuts(stderr,
-                     _("INFO: Unable to contact printer, queuing on next "
-                       "printer in class...\n"));
+        _cupsLangPrintFilter(stderr, "INFO",
+                            _("Unable to contact printer, queuing on next "
+                              "printer in class."));
 
        /*
         * Sleep 5 seconds to keep the job from requeuing too rapidly...
@@ -539,31 +541,31 @@ main(int  argc,                           /* I - Number of command-line args */
       {
         if (contimeout && (time(NULL) - start_time) > contimeout)
        {
-         _cupsLangPuts(stderr, _("ERROR: The printer is not responding.\n"));
+         _cupsLangPrintFilter(stderr, "ERROR",
+                              _("The printer is not responding."));
          return (CUPS_BACKEND_FAILED);
        }
 
        switch (error)
        {
          case EHOSTDOWN :
-             _cupsLangPrintf(stderr,
-                             _("WARNING: Network printer \'%s\' may not exist "
-                               "or is unavailable at this time.\n"), 
-                             hostname);
+             _cupsLangPrintFilter(stderr, "WARNING",
+                                  _("Network printer \"%s\" may not exist or "
+                                    "is unavailable at this time."),
+                                  hostname);
              break;
 
          case EHOSTUNREACH :
-             _cupsLangPrintf(stderr,
-                             _("WARNING: Network printer \'%s\' is "
-                               "unreachable at this time.\n"), 
-                             hostname);
+             _cupsLangPrintFilter(stderr, "WARNING",
+                                  _("Network printer \"%s\" is unreachable at "
+                                    "this time."), hostname);
              break;
 
          case ECONNREFUSED :
          default :
-             _cupsLangPrintf(stderr,
-                             _("WARNING: Network printer \'%s\' is busy.\n"),
-                             hostname);
+             _cupsLangPrintFilter(stderr, "WARNING",
+                                  _("Network printer \"%s\" is busy."),
+                                  hostname);
              break;
         }
 
@@ -574,15 +576,16 @@ main(int  argc,                           /* I - Number of command-line args */
       }
       else if (h_errno)
       {
-       _cupsLangPrintf(stderr,
-                       _("ERROR: Unable to locate network printer \'%s\'.\n"),
-                       hostname);
+       _cupsLangPrintFilter(stderr, "ERROR",
+                            _("Unable to locate network printer \"%s\"."),
+                            hostname);
        return (CUPS_BACKEND_STOP);
       }
       else
       {
-       _cupsLangPrintf(stderr, _("ERROR: Network printer \'%s\' is not "
-                                 "responding.\n"), hostname);
+       _cupsLangPrintFilter(stderr, "ERROR",
+                            _("Network printer \"%s\" is not responding."),
+                            hostname);
        sleep(30);
       }
 
@@ -596,7 +599,7 @@ main(int  argc,                             /* I - Number of command-line args */
     return (CUPS_BACKEND_FAILED);
 
   fputs("STATE: -connecting-to-device\n", stderr);
-  _cupsLangPuts(stderr, _("INFO: Connected to printer...\n"));
+  _cupsLangPrintFilter(stderr, "INFO", _("Connected to printer."));
 
 #ifdef AF_INET6
   if (http->hostaddr->addr.sa_family == AF_INET6)
@@ -674,9 +677,9 @@ main(int  argc,                             /* I - Number of command-line args */
       fprintf(stderr, "DEBUG: Printer responded with HTTP version %d.%d.\n",
               http->version / 100, http->version % 100);
 
-      _cupsLangPuts(stderr,
-                    _("ERROR: Unable to print: the printer does not conform to "
-                     "the IPP standard.\n"));
+      _cupsLangPrintFilter(stderr, "ERROR",
+                           _("Unable to print: the printer does not conform to "
+                            "the IPP standard."));
       exit(CUPS_BACKEND_STOP);
     }
 
@@ -693,13 +696,14 @@ main(int  argc,                           /* I - Number of command-line args */
       {
         if (contimeout && (time(NULL) - start_time) > contimeout)
        {
-         _cupsLangPuts(stderr, _("ERROR: The printer is not responding.\n"));
+         _cupsLangPrintFilter(stderr, "ERROR",
+                              _("The printer is not responding."));
          return (CUPS_BACKEND_FAILED);
        }
 
-       _cupsLangPrintf(stderr,
-                       _("WARNING: Network host \'%s\' is busy; will retry in "
-                         "%d seconds...\n"), hostname, delay);
+       _cupsLangPrintFilter(stderr, "WARNING",
+                            _("Network host \"%s\" is busy; will retry in %d "
+                              "seconds."), hostname, delay);
 
         report_printer_state(supported, 0);
 
@@ -717,16 +721,16 @@ main(int  argc,                           /* I - Number of command-line args */
 
         if (version >= 20)
        {
-         _cupsLangPrintf(stderr,
-                         _("INFO: Printer does not support IPP/%d.%d, trying "
-                           "IPP/%s...\n"), version / 10, version % 10, "1.1");
+         _cupsLangPrintFilter(stderr, "INFO",
+                              _("Printer does not support IPP/%d.%d, trying "
+                                "IPP/%s."), version / 10, version % 10, "1.1");
          version = 11;
        }
        else
        {
-         _cupsLangPrintf(stderr,
-                         _("INFO: Printer does not support IPP/%d.%d, trying "
-                           "IPP/%s...\n"), version / 10, version % 10, "1.0");
+         _cupsLangPrintFilter(stderr, "INFO",
+                              _("Printer does not support IPP/%d.%d, trying "
+                                "IPP/%s."), version / 10, version % 10, "1.0");
          version = 10;
         }
 
@@ -734,9 +738,9 @@ main(int  argc,                             /* I - Number of command-line args */
       }
       else if (ipp_status == IPP_NOT_FOUND)
       {
-        _cupsLangPuts(stderr,
-                     _("ERROR: The printer URI is incorrect or no longer "
-                       "exists.\n"));
+        _cupsLangPrintFilter(stderr, "ERROR",
+                            _("The printer URI is incorrect or no longer "
+                              "exists."));
 
        if (supported)
           ippDelete(supported);
@@ -754,9 +758,9 @@ main(int  argc,                             /* I - Number of command-line args */
       }
       else
       {
-       _cupsLangPrintf(stderr,
-                       _("ERROR: Unable to get printer status (%s)\n"),
-                       cupsLastErrorString());
+       _cupsLangPrintFilter(stderr, "ERROR",
+                            _("Unable to get printer status: %s"),
+                            cupsLastErrorString());
         sleep(10);
       }
 
@@ -837,9 +841,9 @@ main(int  argc,                             /* I - Number of command-line args */
       * available printer in the class.
       */
 
-      _cupsLangPuts(stderr,
-                    _("INFO: Unable to contact printer, queuing on next "
-                     "printer in class...\n"));
+      _cupsLangPrintFilter(stderr, "INFO",
+                           _("Unable to contact printer, queuing on next "
+                            "printer in class."));
 
       ippDelete(supported);
       httpClose(http);
@@ -1188,8 +1192,8 @@ main(int  argc,                           /* I - Number of command-line args */
       if (ipp_status == IPP_SERVICE_UNAVAILABLE ||
          ipp_status == IPP_PRINTER_BUSY)
       {
-        _cupsLangPuts(stderr,
-                     _("INFO: Printer busy; will retry in 10 seconds...\n"));
+        _cupsLangPrintFilter(stderr, "INFO",
+                            _("Printer busy; will retry in 10 seconds."));
        sleep(10);
       }
       else
@@ -1198,8 +1202,9 @@ main(int  argc,                           /* I - Number of command-line args */
        * Update auth-info-required as needed...
        */
 
-        _cupsLangPrintf(stderr, _("ERROR: Print file was not accepted (%s)\n"),
-                       cupsLastErrorString());
+        _cupsLangPrintFilter(stderr, "ERROR",
+                            _("Print file was not accepted: %s"),
+                            cupsLastErrorString());
 
        if (ipp_status == IPP_NOT_AUTHORIZED || ipp_status == IPP_FORBIDDEN)
        {
@@ -1222,15 +1227,15 @@ main(int  argc,                         /* I - Number of command-line args */
     else if ((job_id_attr = ippFindAttribute(response, "job-id",
                                              IPP_TAG_INTEGER)) == NULL)
     {
-      _cupsLangPuts(stderr,
-                    _("NOTICE: Print file accepted - job ID unknown.\n"));
+      _cupsLangPrintFilter(stderr, "INFO",
+                          _("Print file accepted - job ID unknown."));
       job_id = 0;
     }
     else
     {
       monitor.job_id = job_id = job_id_attr->values[0].integer;
-      _cupsLangPrintf(stderr, _("NOTICE: Print file accepted - job ID %d.\n"),
-                      job_id);
+      _cupsLangPrintFilter(stderr, "INFO",
+                           _("Print file accepted - job ID %d."), job_id);
     }
 
     ippDelete(response);
@@ -1301,9 +1306,9 @@ main(int  argc,                           /* I - Number of command-line args */
        {
          ipp_status = cupsLastError();
 
-         _cupsLangPrintf(stderr,
-                         _("ERROR: Unable to add file %d to job: %s\n"),
-                         job_id, cupsLastErrorString());
+         _cupsLangPrintFilter(stderr, "ERROR",
+                              _("Unable to add file to job: %s"),
+                              cupsLastErrorString());
          break;
        }
       }
@@ -1327,7 +1332,7 @@ main(int  argc,                           /* I - Number of command-line args */
     if (!job_id || !waitjob)
       continue;
 
-    _cupsLangPuts(stderr, _("INFO: Waiting for job to complete...\n"));
+    _cupsLangPrintFilter(stderr, "INFO", _("Waiting for job to complete."));
 
     for (delay = 1; !job_canceled;)
     {
@@ -1385,9 +1390,9 @@ main(int  argc,                           /* I - Number of command-line args */
        {
          ippDelete(response);
 
-          _cupsLangPrintf(stderr,
-                         _("ERROR: Unable to get job %d attributes (%s)\n"),
-                         job_id, cupsLastErrorString());
+          _cupsLangPrintFilter(stderr, "ERROR",
+                              _("Unable to get job attributes: %s"),
+                              cupsLastErrorString());
           break;
        }
       }
@@ -1515,7 +1520,7 @@ main(int  argc,                           /* I - Number of command-line args */
     return (CUPS_BACKEND_FAILED);
   else
   {
-    _cupsLangPuts(stderr, _("INFO: Ready to print.\n"));
+    _cupsLangPrintFilter(stderr, "INFO", _("Ready to print."));
     return (CUPS_BACKEND_OK);
   }
 }
@@ -1536,7 +1541,7 @@ cancel_job(http_t     *http,              /* I - HTTP connection */
   ipp_t        *request;                       /* Cancel-Job request */
 
 
-  _cupsLangPuts(stderr, _("INFO: Canceling print job...\n"));
+  _cupsLangPrintFilter(stderr, "INFO", _("Canceling print job."));
 
   request = ippNewRequest(IPP_CANCEL_JOB);
   request->request.op.version[0] = version / 10;
@@ -1557,8 +1562,8 @@ cancel_job(http_t     *http,              /* I - HTTP connection */
   ippDelete(cupsDoRequest(http, request, resource));
 
   if (cupsLastError() > IPP_OK_CONFLICT)
-    _cupsLangPrintf(stderr, _("ERROR: Unable to cancel job %d: %s\n"), id,
-                   cupsLastErrorString());
+    _cupsLangPrintFilter(stderr, "ERROR", _("Unable to cancel job: %s"),
+                        cupsLastErrorString());
 }
 
 
@@ -1645,25 +1650,19 @@ compress_files(int  num_files,          /* I - Number of files */
   {
     if ((fd = cupsTempFd(filename, sizeof(filename))) < 0)
     {
-      _cupsLangPrintf(stderr,
-                     _("ERROR: Unable to create temporary compressed print "
-                       "file: %s\n"), strerror(errno));
+      _cupsLangPrintError("ERROR", _("Unable to create compressed print file"));
       exit(CUPS_BACKEND_FAILED);
     }
 
     if ((out = cupsFileOpenFd(fd, "w9")) == NULL)
     {
-      _cupsLangPrintf(stderr,
-                     _("ERROR: Unable to open temporary compressed print "
-                       "file: %s\n"), strerror(errno));
+      _cupsLangPrintError("ERROR", _("Unable to open compressed print file"));
       exit(CUPS_BACKEND_FAILED);
     }
 
     if ((in = cupsFileOpen(files[i], "r")) == NULL)
     {
-      _cupsLangPrintf(stderr,
-                      _("ERROR: Unable to open print file \"%s\": %s\n"),
-                     files[i], strerror(errno));
+      _cupsLangPrintError("ERROR", _("Unable to open print file"));
       cupsFileClose(out);
       exit(CUPS_BACKEND_FAILED);
     }
@@ -1672,9 +1671,8 @@ compress_files(int  num_files,            /* I - Number of files */
     while ((bytes = cupsFileRead(in, buffer, sizeof(buffer))) > 0)
       if (cupsFileWrite(out, buffer, bytes) < bytes)
       {
-        _cupsLangPrintf(stderr,
-                       _("ERROR: Unable to write %d bytes to \"%s\": %s\n"),
-                       (int)bytes, filename, strerror(errno));
+       _cupsLangPrintError("ERROR",
+                           _("Unable to generate compressed print file"));
         cupsFileClose(in);
         cupsFileClose(out);
        exit(CUPS_BACKEND_FAILED);
index 4210ff0c47b67d47bc645bb9844292f618eabde7..ccc88bace6b74667f4b9eb84abbead48cb2affd6 100644 (file)
@@ -1,7 +1,7 @@
 /*
  * "$Id: lpd.c 7740 2008-07-14 23:58:05Z mike $"
  *
- *   Line Printer Daemon backend for the Common UNIX Printing System (CUPS).
+ *   Line Printer Daemon backend for CUPS.
  *
  *   Copyright 2007-2010 by Apple Inc.
  *   Copyright 1997-2007 by Easy Software Products, all rights reserved.
@@ -182,7 +182,7 @@ main(int  argc,                             /* I - Number of command-line arguments (6 or 7) */
   else if (argc < 6 || argc > 7)
   {
     _cupsLangPrintf(stderr,
-                    _("Usage: %s job-id user title copies options [file]\n"),
+                    _("Usage: %s job-id user title copies options [file]"),
                     argv[0]);
     return (CUPS_BACKEND_FAILED);
   }
@@ -324,8 +324,9 @@ main(int  argc,                             /* I - Number of command-line arguments (6 or 7) */
         if (strchr("cdfglnoprtv", value[0]))
          format = value[0];
        else
-         _cupsLangPrintf(stderr, _("ERROR: Unknown format character \"%c\"\n"),
-                         value[0]);
+         _cupsLangPrintFilter(stderr, "ERROR",
+                              _("Unknown format character: \"%c\"."),
+                              value[0]);
       }
       else if (!strcasecmp(name, "mode") && value[0])
       {
@@ -338,8 +339,8 @@ main(int  argc,                             /* I - Number of command-line arguments (6 or 7) */
        else if (!strcasecmp(value, "stream"))
          mode = MODE_STREAM;
        else
-         _cupsLangPrintf(stderr, _("ERROR: Unknown print mode \"%s\"\n"),
-                         value);
+         _cupsLangPrintFilter(stderr, "ERROR",
+                              _("Unknown print mode: \"%s\"."), value);
       }
       else if (!strcasecmp(name, "order") && value[0])
       {
@@ -352,8 +353,8 @@ main(int  argc,                             /* I - Number of command-line arguments (6 or 7) */
        else if (!strcasecmp(value, "data,control"))
          order = ORDER_DATA_CONTROL;
        else
-         _cupsLangPrintf(stderr, _("ERROR: Unknown file order \"%s\"\n"),
-                         value);
+         _cupsLangPrintFilter(stderr, "ERROR",
+                              _("Unknown file order: \"%s\"."), value);
       }
       else if (!strcasecmp(name, "reserve"))
       {
@@ -433,8 +434,8 @@ main(int  argc,                             /* I - Number of command-line arguments (6 or 7) */
 
     if ((addrlist = httpAddrGetList(hostname, AF_UNSPEC, "1")) == NULL)
     {
-      _cupsLangPrintf(stderr, _("ERROR: Unable to locate printer \'%s\'\n"),
-                     hostname);
+      _cupsLangPrintFilter(stderr, "ERROR",
+                           _("Unable to locate printer \"%s\"."), hostname);
       return (CUPS_BACKEND_STOP);
     }
 
@@ -446,7 +447,7 @@ main(int  argc,                             /* I - Number of command-line arguments (6 or 7) */
       return (CUPS_BACKEND_FAILED);
     }
 
-    _cupsLangPuts(stderr, _("INFO: Copying print data...\n"));
+    _cupsLangPrintFilter(stderr, "INFO", _("Copying print data."));
 
     backendRunLoop(-1, fd, snmp_fd, &(addrlist->addr), 0, 0, 
                   backendNetworkSideCB);
@@ -472,8 +473,7 @@ main(int  argc,                             /* I - Number of command-line arguments (6 or 7) */
 
     if (fd == -1)
     {
-      _cupsLangPrintf(stderr, _("ERROR: Unable to open print file %s: %s\n"),
-                      filename, strerror(errno));
+      _cupsLangPrintError("ERROR", _("Unable to open print file"));
       return (CUPS_BACKEND_FAILED);
     }
   }
@@ -602,9 +602,9 @@ lpd_command(int  fd,                /* I - Socket connection to LPD host */
 
   if (recv(fd, &status, 1, 0) < 1)
   {
-    _cupsLangPrintf(stderr,
-                   _("WARNING: Remote host did not respond with command "
-                     "status byte after %d seconds\n"), timeout);
+    _cupsLangPrintFilter(stderr, "WARNING",
+                        _("Printer did not respond after %d seconds."),
+                        timeout);
     status = errno;
   }
 
@@ -689,8 +689,8 @@ lpd_queue(const char *hostname,             /* I - Host to connect to */
 
   if ((addrlist = httpAddrGetList(hostname, AF_UNSPEC, portname)) == NULL)
   {
-    _cupsLangPrintf(stderr, _("ERROR: Unable to locate printer \'%s\'\n"),
-                    hostname);
+    _cupsLangPrintFilter(stderr, "ERROR", _("Unable to locate printer \"%s\"."),
+                        hostname);
     return (CUPS_BACKEND_STOP);
   }
 
@@ -712,7 +712,7 @@ lpd_queue(const char *hostname,             /* I - Host to connect to */
 
     fprintf(stderr, "DEBUG: Connecting to %s:%d for printer %s\n", hostname,
             port, printer);
-    _cupsLangPuts(stderr, _("INFO: Connecting to printer...\n"));
+    _cupsLangPrintFilter(stderr, "INFO", _("Connecting to printer."));
 
     for (lport = reserve == RESERVE_RFC1179 ? 732 : 1024, addr = addrlist,
              delay = 5;;
@@ -810,9 +810,9 @@ lpd_queue(const char *hostname,             /* I - Host to connect to */
        * available printer in the class.
        */
 
-        _cupsLangPuts(stderr,
-                     _("INFO: Unable to contact printer, queuing on next "
-                       "printer in class...\n"));
+        _cupsLangPrintFilter(stderr, "INFO",
+                            _("Unable to contact printer, queuing on next "
+                              "printer in class."));
 
         httpAddrFreeList(addrlist);
 
@@ -832,31 +832,31 @@ lpd_queue(const char *hostname,           /* I - Host to connect to */
       {
         if (contimeout && (time(NULL) - start_time) > contimeout)
        {
-         _cupsLangPuts(stderr, _("ERROR: The printer is not responding.\n"));
+         _cupsLangPrintFilter(stderr, "ERROR",
+                              _("The printer is not responding."));
          return (CUPS_BACKEND_FAILED);
        }
 
        switch (error)
        {
          case EHOSTDOWN :
-             _cupsLangPrintf(stderr,
-                             _("WARNING: Network printer \'%s\' may not exist "
-                               "or is unavailable at this time.\n"), 
-                             hostname);
+             _cupsLangPrintFilter(stderr, "WARNING",
+                                  _("Network printer \"%s\" may not exist or "
+                                    "is unavailable at this time."),
+                                  hostname);
              break;
 
          case EHOSTUNREACH :
-             _cupsLangPrintf(stderr,
-                             _("WARNING: Network printer \'%s\' is "
-                               "unreachable at this time.\n"), 
-                             hostname);
+             _cupsLangPrintFilter(stderr, "WARNING",
+                                  _("Network printer \"%s\" is unreachable at "
+                                    "this time."), hostname);
              break;
 
          case ECONNREFUSED :
          default :
-             _cupsLangPrintf(stderr,
-                             _("WARNING: Network printer \'%s\' is busy.\n"),
-                             hostname);
+             _cupsLangPrintFilter(stderr, "WARNING",
+                                  _("Network printer \"%s\" is busy."),
+                                  hostname);
              break;
         }
 
@@ -875,14 +875,15 @@ lpd_queue(const char *hostname,           /* I - Host to connect to */
       }
       else
       {
-       _cupsLangPrintf(stderr, _("ERROR: Network printer \'%s\' is not "
-                                 "responding.\n"), hostname);
+       _cupsLangPrintFilter(stderr, "ERROR",
+                            _("Network printer \"%s\" is not responding."),
+                            hostname);
        sleep(30);
       }
     }
 
     fputs("STATE: -connecting-to-device\n", stderr);
-    _cupsLangPuts(stderr, _("INFO: Connected to printer...\n"));
+    _cupsLangPrintFilter(stderr, "INFO", _("Connected to printer."));
 
 #ifdef AF_INET6
     if (addr->addr.addr.sa_family == AF_INET6)
@@ -1013,8 +1014,8 @@ lpd_queue(const char *hostname,           /* I - Host to connect to */
         return (CUPS_BACKEND_FAILED);
       }
 
-      _cupsLangPrintf(stderr, _("INFO: Sending control file (%u bytes)\n"),
-                     (unsigned)strlen(control));
+      fprintf(stderr, "DEBUG: Sending control file (%u bytes)\n",
+             (unsigned)strlen(control));
 
       if (lpd_write(fd, control, strlen(control) + 1) < (strlen(control) + 1))
       {
@@ -1028,9 +1029,9 @@ lpd_queue(const char *hostname,           /* I - Host to connect to */
 
         if (read(fd, &status, 1) < 1)
        {
-         _cupsLangPrintf(stderr,
-                         _("WARNING: Remote host did not respond with control "
-                           "status byte after %d seconds\n"), timeout);
+         _cupsLangPrintFilter(stderr, "WARNING",
+                              _("Printer did not respond after %d seconds."),
+                              timeout);
          status = errno;
        }
 
@@ -1038,11 +1039,12 @@ lpd_queue(const char *hostname,         /* I - Host to connect to */
       }
 
       if (status != 0)
-       _cupsLangPrintf(stderr,
-                       _("ERROR: Remote host did not accept control file "
-                         "(%d)\n"), status);
+       _cupsLangPrintFilter(stderr, "ERROR",
+                            _("Remote host did not accept control file (%d)."),
+                            status);
       else
-       _cupsLangPuts(stderr, _("INFO: Control file sent successfully\n"));
+       _cupsLangPrintFilter(stderr, "INFO",
+                            _("Control file sent successfully."));
     }
     else
       status = 0;
@@ -1069,13 +1071,8 @@ lpd_queue(const char *hostname,          /* I - Host to connect to */
         return (CUPS_BACKEND_FAILED);
       }
 
-      _cupsLangPrintf(stderr,
-#ifdef HAVE_LONG_LONG
-                     _("INFO: Sending data file (%lld bytes)\n"),
-#else
-                     _("INFO: Sending data file (%ld bytes)\n"),
-#endif /* HAVE_LONG_LONG */
-                     CUPS_LLCAST filestats.st_size);
+      fprintf(stderr, "DEBUG: Sending data file (" CUPS_LLFMT " bytes)\n",
+             CUPS_LLCAST filestats.st_size);
 
       tbytes = 0;
       for (copy = 0; copy < manual_copies; copy ++)
@@ -1084,9 +1081,9 @@ lpd_queue(const char *hostname,           /* I - Host to connect to */
 
        while ((nbytes = read(print_fd, buffer, sizeof(buffer))) > 0)
        {
-         _cupsLangPrintf(stderr,
-                         _("INFO: Spooling LPR job, %.0f%% complete...\n"),
-                         100.0 * tbytes / filestats.st_size);
+         _cupsLangPrintFilter(stderr, "INFO",
+                              _("Spooling job, %.0f%% complete."),
+                              100.0 * tbytes / filestats.st_size);
 
          if (lpd_write(fd, buffer, nbytes) < nbytes)
          {
@@ -1120,9 +1117,9 @@ lpd_queue(const char *hostname,           /* I - Host to connect to */
 
           if (recv(fd, &status, 1, 0) < 1)
          {
-           _cupsLangPrintf(stderr,
-                           _("WARNING: Remote host did not respond with data "
-                             "status byte after %d seconds\n"), timeout);
+           _cupsLangPrintFilter(stderr, "WARNING",
+                                _("Printer did not respond after %d seconds."),
+                                timeout);
            status = 0;
           }
 
@@ -1133,11 +1130,12 @@ lpd_queue(const char *hostname,         /* I - Host to connect to */
         status = 0;
 
       if (status != 0)
-       _cupsLangPrintf(stderr,
-                       _("ERROR: Remote host did not accept data file (%d)\n"),
-                       status);
+       _cupsLangPrintFilter(stderr, "ERROR",
+                            _("Remote host did not accept data file (%d)."),
+                            status);
       else
-       _cupsLangPuts(stderr, _("INFO: Data file sent successfully\n"));
+       _cupsLangPrintFilter(stderr, "INFO",
+                            _("Data file sent successfully."));
     }
 
     if (status == 0 && order == ORDER_DATA_CONTROL)
@@ -1161,8 +1159,8 @@ lpd_queue(const char *hostname,           /* I - Host to connect to */
         return (CUPS_BACKEND_FAILED);
       }
 
-      _cupsLangPrintf(stderr, _("INFO: Sending control file (%lu bytes)\n"),
-                     (unsigned long)strlen(control));
+      fprintf(stderr, "DEBUG: Sending control file (%lu bytes)\n",
+             (unsigned long)strlen(control));
 
       if (lpd_write(fd, control, strlen(control) + 1) < (strlen(control) + 1))
       {
@@ -1175,9 +1173,9 @@ lpd_queue(const char *hostname,           /* I - Host to connect to */
 
         if (read(fd, &status, 1) < 1)
        {
-         _cupsLangPrintf(stderr,
-                         _("WARNING: Remote host did not respond with control "
-                           "status byte after %d seconds\n"), timeout);
+         _cupsLangPrintFilter(stderr, "WARNING",
+                              _("Printer did not respond after %d seconds."),
+                              timeout);
          status = errno;
        }
 
@@ -1185,11 +1183,12 @@ lpd_queue(const char *hostname,         /* I - Host to connect to */
       }
 
       if (status != 0)
-       _cupsLangPrintf(stderr,
-                       _("ERROR: Remote host did not accept control file "
-                         "(%d)\n"), status);
+       _cupsLangPrintFilter(stderr, "ERROR",
+                            _("Remote host did not accept control file (%d)."),
+                            status);
       else
-       _cupsLangPuts(stderr, _("INFO: Control file sent successfully\n"));
+       _cupsLangPrintFilter(stderr, "INFO",
+                            _("Control file sent successfully."));
     }
 
    /*
index b0662efbee61e4219207eaa760ef3ee1954117d7..968a4755613d24202c339f5a308ffde0876850f6 100644 (file)
@@ -1,9 +1,9 @@
 /*
  * "$Id: parallel.c 7810 2008-07-29 01:11:15Z mike $"
  *
- *   Parallel port backend for the Common UNIX Printing System (CUPS).
+ *   Parallel port backend for CUPS.
  *
- *   Copyright 2007-2008 by Apple Inc.
+ *   Copyright 2007-2010 by Apple Inc.
  *   Copyright 1997-2007 by Easy Software Products, all rights reserved.
  *
  *   These coded instructions, statements, and computer programs are the
@@ -124,7 +124,7 @@ main(int  argc,                             /* I - Number of command-line arguments (6 or 7) */
   else if (argc < 6 || argc > 7)
   {
     _cupsLangPrintf(stderr,
-                   _("Usage: %s job-id user title copies options [file]\n"),
+                   _("Usage: %s job-id user title copies options [file]"),
                    argv[0]);
     return (CUPS_BACKEND_FAILED);
   }
@@ -147,9 +147,7 @@ main(int  argc,                             /* I - Number of command-line arguments (6 or 7) */
 
     if ((print_fd = open(argv[6], O_RDONLY)) < 0)
     {
-      _cupsLangPrintf(stderr,
-                      _("ERROR: Unable to open print file \"%s\": %s\n"),
-                     argv[6], strerror(errno));
+      _cupsLangPrintError("ERROR", _("Unable to open print file"));
       return (CUPS_BACKEND_FAILED);
     }
 
@@ -217,9 +215,9 @@ main(int  argc,                             /* I - Number of command-line arguments (6 or 7) */
        * available printer in the class.
        */
 
-        _cupsLangPuts(stderr,
-                     _("INFO: Unable to contact printer, queuing on next "
-                       "printer in class...\n"));
+        _cupsLangPrintFilter(stderr, "INFO",
+                            _("Unable to contact printer, queuing on next "
+                              "printer in class."));
 
        /*
         * Sleep 5 seconds to keep the job from requeuing too rapidly...
@@ -232,22 +230,20 @@ main(int  argc,                           /* I - Number of command-line arguments (6 or 7) */
 
       if (errno == EBUSY)
       {
-        _cupsLangPuts(stderr,
-                     _("INFO: Printer busy; will retry in 30 seconds...\n"));
+        _cupsLangPrintFilter(stderr, "INFO",
+                            _("Printer busy; will retry in 30 seconds."));
        sleep(30);
       }
       else if (errno == ENXIO || errno == EIO || errno == ENOENT)
       {
-        _cupsLangPuts(stderr,
-                     _("INFO: Printer not connected; will retry in 30 "
-                       "seconds...\n"));
+        _cupsLangPrintFilter(stderr, "INFO",
+                            _("Printer not connected; will retry in 30 "
+                              "seconds."));
        sleep(30);
       }
       else
       {
-       _cupsLangPrintf(stderr,
-                       _("ERROR: Unable to open device file \"%s\": %s\n"),
-                       resource, strerror(errno));
+       _cupsLangPrintError("ERROR", _("Unable to open device file"));
        return (CUPS_BACKEND_FAILED);
       }
     }
@@ -287,13 +283,7 @@ main(int  argc,                            /* I - Number of command-line arguments (6 or 7) */
     tbytes = backendRunLoop(print_fd, device_fd, -1, NULL, use_bc, 1, side_cb);
 
     if (print_fd != 0 && tbytes >= 0)
-      _cupsLangPrintf(stderr,
-#ifdef HAVE_LONG_LONG
-                     _("INFO: Sent print file, %lld bytes...\n"),
-#else
-                     _("INFO: Sent print file, %ld bytes...\n"),
-#endif /* HAVE_LONG_LONG */
-                     CUPS_LLCAST tbytes);
+      _cupsLangPrintFilter(stderr, "INFO", _("Print file sent."));
   }
 
  /*
index d225529dad2ed2f9ed1c48d9e84ccebd5788de85..2f5b5eaeee3099dcd7c6c780b6239809efdb6c19 100644 (file)
@@ -90,7 +90,7 @@ backendDrainOutput(int print_fd,      /* I - Print file descriptor */
 
       if (errno != EAGAIN || errno != EINTR)
       {
-       perror("ERROR: Unable to read print data");
+        _cupsLangPrintError("ERROR", _("Unable to read print data"));
        return (-1);
       }
 
@@ -119,8 +119,7 @@ backendDrainOutput(int print_fd,    /* I - Print file descriptor */
         if (errno != ENOSPC && errno != ENXIO && errno != EAGAIN &&
            errno != EINTR && errno != ENOTTY)
        {
-         _cupsLangPrintf(stderr, _("ERROR: Unable to write print data: %s\n"),
-                         strerror(errno));
+         _cupsLangPrintError("ERROR", _("Unable to write print data"));
          return (-1);
        }
       }
@@ -249,7 +248,8 @@ backendRunLoop(
        if (errno == ENXIO && offline != 1 && update_state)
        {
          fputs("STATE: +offline-report\n", stderr);
-         _cupsLangPuts(stderr, _("INFO: Printer is currently offline.\n"));
+         _cupsLangPrintFilter(stderr, "INFO",
+                              _("Printer is not currently connected."));
          offline = 1;
        }
        else if (errno == EINTR && total_bytes == 0)
@@ -318,7 +318,7 @@ backendRunLoop(
 
        if (errno != EAGAIN || errno != EINTR)
        {
-         perror("ERROR: Unable to read print data");
+         _cupsLangPrintError("ERROR", _("Unable to read print data"));
          return (-1);
        }
 
@@ -357,7 +357,7 @@ backendRunLoop(
          if (paperout != 1 && update_state)
          {
            fputs("STATE: +media-empty-warning\n", stderr);
-           _cupsLangPuts(stderr, _("DEBUG: Out of paper\n"));
+           fputs("DEBUG: Out of paper\n", stderr);
            paperout = 1;
          }
         }
@@ -366,14 +366,14 @@ backendRunLoop(
          if (offline != 1 && update_state)
          {
            fputs("STATE: +offline-report\n", stderr);
-           _cupsLangPuts(stderr, _("INFO: Printer is currently off-line.\n"));
+           _cupsLangPrintFilter(stderr, "INFO",
+                                _("Printer is not currently connected."));
            offline = 1;
          }
        }
        else if (errno != EAGAIN && errno != EINTR && errno != ENOTTY)
        {
-         fprintf(stderr, _("ERROR: Unable to write print data: %s\n"),
-                 strerror(errno));
+         _cupsLangPrintError("ERROR", _("Unable to write print data"));
          return (-1);
        }
       }
@@ -388,7 +388,7 @@ backendRunLoop(
        if (offline && update_state)
        {
          fputs("STATE: -offline-report\n", stderr);
-         _cupsLangPuts(stderr, _("INFO: Printer is now online.\n"));
+         _cupsLangPrintFilter(stderr, "INFO", _("Printer is now connected."));
          offline = 0;
        }
 
index 7a0c36c61c29a145340f5bdb12c09c673bce87dd..05b98913f493b6d2be45f1f5af048bf72ee719f5 100644 (file)
@@ -1,7 +1,7 @@
 /*
  * "$Id: serial.c 7647 2008-06-16 17:39:40Z mike $"
  *
- *   Serial port backend for the Common UNIX Printing System (CUPS).
+ *   Serial port backend for CUPS.
  *
  *   Copyright 2007-2010 by Apple Inc.
  *   Copyright 1997-2007 by Easy Software Products, all rights reserved.
@@ -164,7 +164,7 @@ main(int  argc,                             /* I - Number of command-line arguments (6 or 7) */
   else if (argc < 6 || argc > 7)
   {
     _cupsLangPrintf(stderr,
-                    _("Usage: %s job-id user title copies options [file]\n"),
+                    _("Usage: %s job-id user title copies options [file]"),
                    argv[0]);
     return (CUPS_BACKEND_FAILED);
   }
@@ -187,9 +187,7 @@ main(int  argc,                             /* I - Number of command-line arguments (6 or 7) */
 
     if ((print_fd = open(argv[6], O_RDONLY)) < 0)
     {
-      _cupsLangPrintf(stderr,
-                      _("ERROR: Unable to open print file \"%s\": %s\n"),
-                      argv[6], strerror(errno));
+      _cupsLangPrintError("ERROR", _("Unable to open print file"));
       return (CUPS_BACKEND_FAILED);
     }
 
@@ -239,9 +237,9 @@ main(int  argc,                             /* I - Number of command-line arguments (6 or 7) */
        * available printer in the class.
        */
 
-        _cupsLangPuts(stderr,
-                     _("INFO: Unable to contact printer, queuing on next "
-                       "printer in class...\n"));
+        _cupsLangPrintFilter(stderr, "INFO",
+                            _("Unable to contact printer, queuing on next "
+                              "printer in class."));
 
        /*
         * Sleep 5 seconds to keep the job from requeuing too rapidly...
@@ -254,15 +252,13 @@ main(int  argc,                           /* I - Number of command-line arguments (6 or 7) */
 
       if (errno == EBUSY)
       {
-        _cupsLangPuts(stderr,
-                     _("INFO: Printer busy; will retry in 30 seconds...\n"));
+        _cupsLangPrintFilter(stderr, "INFO",
+                            _("Printer busy; will retry in 30 seconds."));
        sleep(30);
       }
       else
       {
-       _cupsLangPrintf(stderr,
-                       _("ERROR: Unable to open device file \"%s\": %s\n"),
-                       resource, strerror(errno));
+       _cupsLangPrintError("ERROR", _("Unable to open device file"));
        return (CUPS_BACKEND_FAILED);
       }
     }
@@ -379,8 +375,8 @@ main(int  argc,                             /* I - Number of command-line arguments (6 or 7) */
              break;
 #  endif /* B230400 */
           default :
-             _cupsLangPrintf(stderr, _("WARNING: Unsupported baud rate %s\n"),
-                             value);
+             _cupsLangPrintFilter(stderr, "WARNING",
+                                  _("Unsupported baud rate: %s"), value);
              break;
        }
 #endif /* B19200 == 19200 */
index 45e7500d085470da933d0b4c618e2696e2815b86..aa66c16ce679c949543317053b4472248c50c857 100644 (file)
@@ -214,7 +214,7 @@ main(int  argc,                             /* I - Number of command-line arguments (6 or 7) */
 
   if (argc > 2)
   {
-    fputs(_("Usage: snmp [host-or-ip-address]\n"), stderr);
+    _cupsLangPuts(stderr, _("Usage: snmp [host-or-ip-address]"));
     return (1);
   }
 
index 84e5fe5f61afa92d822fe48ebb31ff86fc19612e..ae9e03f69c954a542757831df6f845e53df2b05b 100644 (file)
@@ -130,7 +130,7 @@ main(int  argc,                             /* I - Number of command-line arguments (6 or 7) */
   else if (argc < 6 || argc > 7)
   {
     _cupsLangPrintf(stderr,
-                    _("Usage: %s job-id user title copies options [file]\n"),
+                    _("Usage: %s job-id user title copies options [file]"),
                     argv[0]);
     return (CUPS_BACKEND_FAILED);
   }
@@ -153,9 +153,7 @@ main(int  argc,                             /* I - Number of command-line arguments (6 or 7) */
 
     if ((print_fd = open(argv[6], O_RDONLY)) < 0)
     {
-      _cupsLangPrintf(stderr,
-                      _("ERROR: Unable to open print file \"%s\": %s\n"),
-                      argv[6], strerror(errno));
+      _cupsLangPrintError("ERROR", _("Unable to open print file"));
       return (CUPS_BACKEND_FAILED);
     }
 
@@ -265,13 +263,13 @@ main(int  argc,                           /* I - Number of command-line arguments (6 or 7) */
 
   if ((addrlist = httpAddrGetList(hostname, AF_UNSPEC, portname)) == NULL)
   {
-    _cupsLangPrintf(stderr, _("ERROR: Unable to locate printer \'%s\'\n"),
-                    hostname);
+    _cupsLangPrintFilter(stderr, "ERROR",
+                         _("Unable to locate printer \"%s\"."), hostname);
     return (CUPS_BACKEND_STOP);
   }
 
   fprintf(stderr, "DEBUG: Connecting to %s:%d\n", hostname, port);
-  _cupsLangPuts(stderr, _("INFO: Connecting to printer...\n"));
+  _cupsLangPrintFilter(stderr, "INFO", _("Connecting to printer."));
 
   for (delay = 5;;)
   {
@@ -289,9 +287,9 @@ main(int  argc,                             /* I - Number of command-line arguments (6 or 7) */
        * available printer in the class.
        */
 
-        _cupsLangPuts(stderr,
-                     _("INFO: Unable to contact printer, queuing on next "
-                       "printer in class...\n"));
+        _cupsLangPrintFilter(stderr, "INFO",
+                            _("Unable to contact printer, queuing on next "
+                              "printer in class."));
 
        /*
         * Sleep 5 seconds to keep the job from requeuing too rapidly...
@@ -309,31 +307,31 @@ main(int  argc,                           /* I - Number of command-line arguments (6 or 7) */
       {
         if (contimeout && (time(NULL) - start_time) > contimeout)
        {
-         _cupsLangPuts(stderr, _("ERROR: The printer is not responding.\n"));
+         _cupsLangPrintFilter(stderr, "ERROR",
+                              _("The printer is not responding."));
          return (CUPS_BACKEND_FAILED);
        }
 
        switch (error)
        {
          case EHOSTDOWN :
-             _cupsLangPrintf(stderr,
-                             _("WARNING: Network printer \'%s\' may not exist "
-                               "or is unavailable at this time.\n"), 
-                             hostname);
+             _cupsLangPrintFilter(stderr, "WARNING",
+                                  _("Network printer \"%s\" may not exist or "
+                                    "is unavailable at this time."),
+                                  hostname);
              break;
 
          case EHOSTUNREACH :
-             _cupsLangPrintf(stderr,
-                             _("WARNING: Network printer \'%s\' is "
-                               "unreachable at this time.\n"), 
-                             hostname);
+             _cupsLangPrintFilter(stderr, "WARNING",
+                                  _("Network printer \"%s\" is unreachable at "
+                                    "this time."), hostname);
              break;
 
          case ECONNREFUSED :
          default :
-             _cupsLangPrintf(stderr,
-                             _("WARNING: Network printer \'%s\' is busy.\n"),
-                             hostname);
+             _cupsLangPrintFilter(stderr, "WARNING",
+                                  _("Network printer \"%s\" is busy."),
+                                  hostname);
              break;
         }
 
@@ -344,8 +342,9 @@ main(int  argc,                             /* I - Number of command-line arguments (6 or 7) */
       }
       else
       {
-       _cupsLangPrintf(stderr, _("ERROR: Network printer \'%s\' is not "
-                                 "responding.\n"), hostname);
+       _cupsLangPrintFilter(stderr, "ERROR",
+                            _("Network printer \"%s\" is not responding."),
+                            hostname);
        sleep(30);
       }
     }
@@ -354,7 +353,7 @@ main(int  argc,                             /* I - Number of command-line arguments (6 or 7) */
   }
 
   fputs("STATE: -connecting-to-device\n", stderr);
-  _cupsLangPuts(stderr, _("INFO: Connected to printer...\n"));
+  _cupsLangPrintFilter(stderr, "INFO", _("Connected to printer."));
 
 #ifdef AF_INET6
   if (addr->addr.addr.sa_family == AF_INET6)
@@ -400,13 +399,7 @@ main(int  argc,                            /* I - Number of command-line arguments (6 or 7) */
                             backendNetworkSideCB);
 
     if (print_fd != 0 && tbytes >= 0)
-      _cupsLangPrintf(stderr,
-#ifdef HAVE_LONG_LONG
-                     _("INFO: Sent print file, %lld bytes...\n"),
-#else
-                     _("INFO: Sent print file, %ld bytes...\n"),
-#endif /* HAVE_LONG_LONG */
-                     CUPS_LLCAST tbytes);
+      _cupsLangPrintFilter(stderr, "INFO", _("Print file sent."));
   }
 
 #ifdef __APPLE__
@@ -426,8 +419,7 @@ main(int  argc,                             /* I - Number of command-line arguments (6 or 7) */
     * Shutdown the socket and wait for the other end to finish...
     */
 
-    _cupsLangPuts(stderr,
-                  _("INFO: Print file sent, waiting for printer to finish...\n"));
+    _cupsLangPrintFilter(stderr, "INFO", _("Waiting for printer to finish."));
 
     shutdown(device_fd, 1);
 
@@ -459,7 +451,7 @@ main(int  argc,                             /* I - Number of command-line arguments (6 or 7) */
     close(print_fd);
 
   if (tbytes >= 0)
-    _cupsLangPuts(stderr, _("INFO: Ready to print.\n"));
+    _cupsLangPrintFilter(stderr, "INFO", _("Ready to print."));
 
   return (tbytes < 0 ? CUPS_BACKEND_FAILED : CUPS_BACKEND_OK);
 }
index 17905f8e90d134f65925f6d9478c5c0ccb2fbf45..124db82aaa24e994b578c3cf8065675543e2455e 100644 (file)
@@ -373,7 +373,8 @@ print_device(const char *uri,               /* I - Device URI */
   if (!g.make || !g.model)
   {
     fprintf(stderr, "DEBUG: Fatal USB error.\n");
-    _cupsLangPuts(stderr, _("ERROR: There was an unrecoverable USB error.\n"));
+    _cupsLangPrintFilter(stderr, "ERROR",
+                         _("There was an unrecoverable USB error."));
 
     if (!g.make)
       fputs("DEBUG: USB make string is NULL\n", stderr);
@@ -431,7 +432,8 @@ print_device(const char *uri,               /* I - Device URI */
         strlcpy(print_buffer, "USB class driver", sizeof(print_buffer));
 
       fputs("STATE: +apple-missing-usbclassdriver-error\n", stderr);
-      _cupsLangPuts(stderr, _("ERROR: There was an unrecoverable USB error.\n"));
+      _cupsLangPrintFilter(stderr, "ERROR",
+                          _("There was an unrecoverable USB error."));
       fprintf(stderr, "DEBUG: Could not load %s\n", print_buffer);
 
       if (driverBundlePath)
@@ -449,8 +451,8 @@ print_device(const char *uri,               /* I - Device URI */
       countdown -= PRINTER_POLLING_INTERVAL;
       if (countdown <= 0)
       {
-       _cupsLangPuts(stderr,
-                     _("INFO: Waiting for printer to become available...\n"));
+       _cupsLangPrintFilter(stderr, "INFO",
+                            _("Waiting for printer to become available."));
        fprintf(stderr, "DEBUG: USB printer status: 0x%08x\n", (int)status);
        countdown = SUBSEQUENT_LOG_INTERVAL;    /* subsequent log entries, every 15 seconds */
       }
@@ -497,7 +499,8 @@ print_device(const char *uri,               /* I - Device URI */
     if (pthread_create(&sidechannel_thread_id, NULL, sidechannel_thread, NULL))
     {
       fprintf(stderr, "DEBUG: Fatal USB error.\n");
-      _cupsLangPuts(stderr, _("ERROR: There was an unrecoverable USB error.\n"));
+      _cupsLangPrintFilter(stderr, "ERROR",
+                          _("There was an unrecoverable USB error."));
       fputs("DEBUG: Couldn't create side-channel thread\n", stderr);
       registry_close();
       return (CUPS_BACKEND_STOP);
@@ -517,7 +520,8 @@ print_device(const char *uri,               /* I - Device URI */
   if (pthread_create(&read_thread_id, NULL, read_thread, NULL))
   {
     fprintf(stderr, "DEBUG: Fatal USB error.\n");
-    _cupsLangPuts(stderr, _("ERROR: There was an unrecoverable USB error.\n"));
+    _cupsLangPrintFilter(stderr, "ERROR",
+                         _("There was an unrecoverable USB error."));
     fputs("DEBUG: Couldn't create read thread\n", stderr);
     registry_close();
     return (CUPS_BACKEND_STOP);
@@ -534,7 +538,7 @@ print_device(const char *uri,               /* I - Device URI */
 
   while (status == noErr && copies-- > 0)
   {
-    _cupsLangPuts(stderr, _("INFO: Sending print data...\n"));
+    _cupsLangPrintFilter(stderr, "INFO", _("Sending data to printer."));
 
     if (print_fd != STDIN_FILENO)
     {
@@ -603,7 +607,8 @@ print_device(const char *uri,               /* I - Device URI */
        }
        else if (errno != EAGAIN && errno != EINTR)
        {
-         _cupsLangPuts(stderr, _("ERROR: Unable to read print data.\n"));
+         _cupsLangPrintFilter(stderr, "ERROR",
+                              _("Unable to read print data."));
          perror("DEBUG: select");
          registry_close();
           return (CUPS_BACKEND_FAILED);
@@ -646,7 +651,8 @@ print_device(const char *uri,               /* I - Device URI */
 
          if (errno != EAGAIN && errno != EINTR)
          {
-           _cupsLangPuts(stderr, _("ERROR: Unable to read print data.\n"));
+           _cupsLangPrintFilter(stderr, "ERROR",
+                                _("Unable to read print data."));
            perror("DEBUG: read");
            registry_close();
            return (CUPS_BACKEND_FAILED);
@@ -722,7 +728,8 @@ print_device(const char *uri,               /* I - Device URI */
         /*
          * Write error - bail if we don't see an error we can retry...
          */
-         _cupsLangPuts(stderr, _("ERROR: Unable to send print data to printer.\n"));
+         _cupsLangPrintFilter(stderr, "ERROR",
+                              _("Unable to send data to printer."));
          fprintf(stderr, "DEBUG: USB class driver WritePipe returned %x\n",
                  iostatus);
 
@@ -1279,7 +1286,7 @@ static Boolean find_device_cb(void *refcon,
   if (!keepLooking && g.status_timer != NULL)
   {
     fputs("STATE: -offline-report\n", stderr);
-    _cupsLangPuts(stderr, _("INFO: Printer is now online.\n"));
+    _cupsLangPrintFilter(stderr, "INFO", _("Printer is now online."));
     CFRunLoopRemoveTimer(CFRunLoopGetCurrent(), g.status_timer, kCFRunLoopDefaultMode);
     CFRelease(g.status_timer);
     g.status_timer = NULL;
@@ -1297,7 +1304,7 @@ static void status_timer_cb(CFRunLoopTimerRef timer,
                            void *info)
 {
   fputs("STATE: +offline-report\n", stderr);
-  _cupsLangPuts(stderr, _("INFO: Printer is offline.\n"));
+  _cupsLangPrintFilter(stderr, "INFO", _("Printer is offline."));
 
   if (getenv("CLASS") != NULL)
   {
@@ -1843,9 +1850,9 @@ static void parse_options(char *options,
               !strcasecmp(value, "false"))
        *wait_eof = false;
       else
-       _cupsLangPrintf(stderr,
-                       _("WARNING: Boolean expected for waiteof option "
-                         "\"%s\"\n"), value);
+       _cupsLangPrintFilter(stderr, "WARNING",
+                            _("Boolean expected for waiteof option \"%s\"."),
+                            value);
     }
     else if (!strcasecmp(name, "serial"))
       strlcpy(serial, value, serial_size);
@@ -1982,7 +1989,8 @@ static void run_legacy_backend(int argc,
 #  else
        perror("DEBUG: Unable to set binary preference to ppc");
 #  endif /* __x86_64__ */
-       _cupsLangPrintf(stderr, _("Unable to use legacy USB class driver\n"));
+       _cupsLangPrintFilter(stderr, "ERROR",
+                            _("Unable to use legacy USB class driver."));
        exit(CUPS_BACKEND_STOP);
       }
     }
@@ -2005,7 +2013,8 @@ static void run_legacy_backend(int argc,
     {
       fprintf(stderr, "DEBUG: Unable to exec %s: %s\n", usbpath,
               strerror(err));
-      _cupsLangPrintf(stderr, _("Unable to use legacy USB class driver\n"));
+      _cupsLangPrintFilter(stderr, "ERROR",
+                           _("Unable to use legacy USB class driver."));
       exit(CUPS_BACKEND_STOP);
     }
 
index 3071e1c40cf74ed141fd77f023c9c1cb428e3c82..71d2a3a54059c8fb046529aef8d70e359e957174 100644 (file)
@@ -114,8 +114,8 @@ print_device(const char *uri,               /* I - Device URI */
 
   while ((printer = find_device(print_cb, uri)) == NULL)
   {
-    _cupsLangPuts(stderr,
-                 _("INFO: Waiting for printer to become available...\n"));
+    _cupsLangPrintFilter(stderr, "INFO",
+                        _("Waiting for printer to become available."));
     sleep(5);
   }
 
@@ -175,9 +175,8 @@ print_device(const char *uri,               /* I - Device URI */
          if (usb_bulk_write(printer->handle, printer->write_endp, buffer,
                                bytes, 3600000) < 0)
          {
-           _cupsLangPrintf(stderr,
-                           _("ERROR: Unable to write %d bytes to printer\n"),
-                           (int)bytes);
+           _cupsLangPrintFilter(stderr, "ERROR",
+                                _("Unable to send data to printer."));
            tbytes = -1;
            break;
          }
@@ -776,9 +775,8 @@ side_cb(usb_printer_t *printer,             /* I - Printer */
            while (usb_bulk_write(printer->handle, printer->write_endp, buffer,
                                  bytes, 5000) < 0)
            {
-             _cupsLangPrintf(stderr,
-                             _("ERROR: Unable to write %d bytes to printer\n"),
-                             (int)bytes);
+             _cupsLangPrintFilter(stderr, "ERROR",
+                                  _("Unable to send data to printer."));
              tbytes = -1;
              break;
            }
index 6d89deecfefc297174fdda64e4df4848ba5b6531..a1c4a1afdb76d1535775966d9c3b47bafb489d59 100644 (file)
@@ -113,9 +113,9 @@ print_device(const char *uri,               /* I - Device URI */
        * available printer in the class.
        */
 
-        _cupsLangPuts(stderr,
-                     _("INFO: Unable to contact printer, queuing on next "
-                       "printer in class...\n"));
+        _cupsLangPrintFilter(stderr, "INFO",
+                            _("Unable to contact printer, queuing on next "
+                              "printer in class."));
 
        /*
         * Sleep 5 seconds to keep the job from requeuing too rapidly...
@@ -128,23 +128,21 @@ print_device(const char *uri,             /* I - Device URI */
 
       if (errno == EBUSY)
       {
-        _cupsLangPuts(stderr,
-                     _("INFO: Printer busy; will retry in 10 seconds...\n"));
+        _cupsLangPrintFilter(stderr, "INFO",
+                            _("Printer busy, will retry in 10 seconds."));
        sleep(10);
       }
       else if (errno == ENXIO || errno == EIO || errno == ENOENT ||
                errno == ENODEV)
       {
-        _cupsLangPuts(stderr,
-                     _("INFO: Printer not connected; will retry in 30 "
-                       "seconds...\n"));
+        _cupsLangPrintFilter(stderr, "INFO",
+                            _("Printer not connected, will retry in 30 "
+                              "seconds."));
        sleep(30);
       }
       else
       {
-       _cupsLangPrintf(stderr,
-                       _("ERROR: Unable to open device file \"%s\": %s\n"),
-                       resource, strerror(errno));
+       _cupsLangPrintError(stderr, "ERROR", _("Unable to open device file"));
        return (CUPS_BACKEND_FAILED);
       }
     }
@@ -194,13 +192,7 @@ print_device(const char *uri,              /* I - Device URI */
 #endif /* __sun */
 
     if (print_fd != 0 && tbytes >= 0)
-      _cupsLangPrintf(stderr,
-#ifdef HAVE_LONG_LONG
-                     _("INFO: Sent print file, %lld bytes...\n"),
-#else
-                     _("INFO: Sent print file, %ld bytes...\n"),
-#endif /* HAVE_LONG_LONG */
-                     CUPS_LLCAST tbytes);
+      _cupsLangPrintFilter(stderr, "INFO", _("Print file sent."));
   }
 
  /*
@@ -433,8 +425,8 @@ open_device(const char *uri,                /* I - Device URI */
       */
 
       if (busy)
-       _cupsLangPuts(stderr,
-                     _("INFO: Printer busy; will retry in 5 seconds...\n"));
+       _cupsLangPrintFilter(stderr, "INFO",
+                            _("Printer is busy, will retry in 5 seconds."));
 
       sleep(5);
     }
@@ -517,8 +509,8 @@ open_device(const char *uri,                /* I - Device URI */
 
       if (busy)
       {
-       _cupsLangPuts(stderr,
-                     _("INFO: Printer is busy; will retry in 5 seconds...\n"));
+       _cupsLangPrintFilter(stderr, "INFO",
+                            _("Printer is busy, will retry in 5 seconds."));
        sleep(5);
       }
     }
index 74cd6e580cf11cbbbe183496ecde25f9d83fde21..171188dbd95245811a99536af3b2ae0345cac62a 100644 (file)
@@ -180,7 +180,7 @@ main(int  argc,                             /* I - Number of command-line arguments (6 or 7) */
   else if (argc < 6 || argc > 7)
   {
     _cupsLangPrintf(stderr,
-                    _("Usage: %s job-id user title copies options [file]\n"),
+                    _("Usage: %s job-id user title copies options [file]"),
                     argv[0]);
     return (CUPS_BACKEND_FAILED);
   }
@@ -196,9 +196,9 @@ main(int  argc,                             /* I - Number of command-line arguments (6 or 7) */
                      hostname, sizeof(hostname), &port,
                      resource, sizeof(resource)) < HTTP_URI_OK)
   {
-    _cupsLangPuts(stderr,
-                 _("ERROR: No device URI found in argv[0] or in DEVICE_URI "
-                    "environment variable\n"));
+    _cupsLangPrintFilter(stderr, "ERROR",
+                        _("No device URI found in argv[0] or in DEVICE_URI "
+                           "environment variable."));
     return (1);
   }
 
@@ -234,8 +234,7 @@ main(int  argc,                             /* I - Number of command-line arguments (6 or 7) */
 
     if ((print_fd = open(argv[6], O_RDONLY)) < 0)
     {
-      _cupsLangPrintf(stderr, _("ERROR: Unable to open print file %s - %s\n"),
-                      argv[6], strerror(errno));
+      _cupsLangPrintError("ERROR", _("Unable to open print file"));
       return (CUPS_BACKEND_FAILED);
     }
 
index 44624c373aa545a1be2cb6ae23e49af3689bb25b..36d08bd6820fb63a5a8f723c069742278a75be5d 100644 (file)
@@ -73,7 +73,7 @@ main(int  argc,                               /* I - Number of command-line arguments */
     * Do the command prompt thing...
     */
 
-    _cupsLangPuts(stdout, _("lpc> "));
+    _cupsLangPuts(stdout, _("lpc> ")); /* TODO: Need no-newline version */
     while (fgets(line, sizeof(line), stdin) != NULL)
     {
      /*
@@ -101,7 +101,7 @@ main(int  argc,                             /* I - Number of command-line arguments */
         * Nothing left, just show a prompt...
        */
 
-       _cupsLangPuts(stdout, _("lpc> "));
+       _cupsLangPuts(stdout, _("lpc> ")); /* TODO: Need no newline version */
        continue;
       }
 
@@ -137,7 +137,7 @@ main(int  argc,                             /* I - Number of command-line arguments */
       * Put another prompt out to the user...
       */
 
-      _cupsLangPuts(stdout, _("lpc> "));
+      _cupsLangPuts(stdout, _("lpc> ")); /* TODO: Need no newline version */
     }
   }
 
@@ -186,7 +186,7 @@ do_command(http_t     *http,                /* I - HTTP connection to server */
     show_help(params);
   else
     _cupsLangPrintf(stdout,
-                    _("%s is not implemented by the CUPS version of lpc.\n"),
+                    _("%s is not implemented by the CUPS version of lpc."),
                    command);
 }
 
@@ -203,14 +203,14 @@ show_help(const char *command)            /* I - Command to describe or NULL */
     _cupsLangPrintf(stdout,
                     _("Commands may be abbreviated.  Commands are:\n"
                      "\n"
-                     "exit    help    quit    status  ?\n"));
+                     "exit    help    quit    status  ?"));
   }
   else if (!compare_strings(command, "help", 1) || !strcmp(command, "?"))
-    _cupsLangPrintf(stdout, _("help\t\tget help on commands\n"));
+    _cupsLangPrintf(stdout, _("help\t\tGet help on commands."));
   else if (!compare_strings(command, "status", 4))
-    _cupsLangPrintf(stdout, _("status\t\tshow status of daemon and queue\n"));
+    _cupsLangPrintf(stdout, _("status\t\tShow status of daemon and queue."));
   else
-    _cupsLangPrintf(stdout, _("?Invalid help command unknown\n"));
+    _cupsLangPrintf(stdout, _("?Invalid help command unknown."));
 }
 
 
@@ -400,7 +400,7 @@ show_status(http_t     *http,               /* I - HTTP connection to server */
         printf("%s:\n", printer);
        if (!strncmp(device, "file:", 5))
          _cupsLangPrintf(stdout,
-                         _("\tprinter is on device \'%s\' speed -1\n"),
+                         _("\tprinter is on device \'%s\' speed -1"),
                          device + 5);
        else
        {
@@ -412,27 +412,27 @@ show_status(http_t     *http,             /* I - HTTP connection to server */
          {
            *delimiter = '\0';
            _cupsLangPrintf(stdout,
-                           _("\tprinter is on device \'%s\' speed -1\n"),
+                           _("\tprinter is on device \'%s\' speed -1"),
                            device);
          }
        }
 
         if (accepting)
-         _cupsLangPuts(stdout, _("\tqueuing is enabled\n"));
+         _cupsLangPuts(stdout, _("\tqueuing is enabled"));
        else
-         _cupsLangPuts(stdout, _("\tqueuing is disabled\n"));
+         _cupsLangPuts(stdout, _("\tqueuing is disabled"));
 
         if (pstate != IPP_PRINTER_STOPPED)
-         _cupsLangPuts(stdout, _("\tprinting is enabled\n"));
+         _cupsLangPuts(stdout, _("\tprinting is enabled"));
        else
-         _cupsLangPuts(stdout, _("\tprinting is disabled\n"));
+         _cupsLangPuts(stdout, _("\tprinting is disabled"));
 
        if (jobcount == 0)
-         _cupsLangPuts(stdout, _("\tno entries\n"));
+         _cupsLangPuts(stdout, _("\tno entries"));
        else
-         _cupsLangPrintf(stdout, _("\t%d entries\n"), jobcount);
+         _cupsLangPrintf(stdout, _("\t%d entries"), jobcount);
 
-       _cupsLangPuts(stdout, _("\tdaemon present\n"));
+       _cupsLangPuts(stdout, _("\tdaemon present"));
       }
 
       if (attr == NULL)
index eacdcbcf322b820e056390449e9424ab65c0d8d9..9a4a9ca64725105a1edf272606caa7cc2df8ed09 100644 (file)
@@ -94,8 +94,7 @@ main(int  argc,                               /* I - Number of command-line arguments */
            if (http)
              httpEncryption(http, HTTP_ENCRYPT_REQUIRED);
 #else
-            _cupsLangPrintf(stderr,
-                           _("%s: Sorry, no encryption support compiled in\n"),
+            _cupsLangPrintf(stderr, _("%s: Sorry, no encryption support."),
                            argv[0]);
 #endif /* HAVE_SSL */
            break;
@@ -110,8 +109,7 @@ main(int  argc,                             /* I - Number of command-line arguments */
              {
                _cupsLangPrintf(stderr,
                                _("%s: Error - expected username after "
-                                 "\'-U\' option!n"),
-                               argv[0]);
+                                 "\"-U\" option."), argv[0]);
                return (1);
              }
 
@@ -149,11 +147,10 @@ main(int  argc,                           /* I - Number of command-line arguments */
            {
              if (instance)
                _cupsLangPrintf(stderr,
-                               _("%s: Error - unknown destination \"%s/%s\"\n"),
+                               _("%s: Error - unknown destination \"%s/%s\"."),
                                argv[0], dest, instance);
               else
-               _cupsLangPrintf(stderr,
-                               _("%s: Unknown destination \"%s\"\n"),
+               _cupsLangPrintf(stderr, _("%s: Unknown destination \"%s\"."),
                                argv[0], dest);
 
              return (1);
@@ -181,8 +178,7 @@ main(int  argc,                             /* I - Number of command-line arguments */
              {
                _cupsLangPrintf(stderr,
                                _("%s: Error - expected hostname after "
-                                 "\'-h\' option\n"),
-                               argv[0]);
+                                 "\"-h\" option."), argv[0]);
                return (1);
               }
              else
@@ -238,11 +234,11 @@ main(int  argc,                           /* I - Number of command-line arguments */
       if (dest && !cupsGetDest(dest, NULL, num_dests, dests))
        _cupsLangPrintf(stderr,
                        _("%s: error - %s environment variable names "
-                         "non-existent destination \"%s\"\n"),
-                       argv[0], val, dest);
+                         "non-existent destination \"%s\"."), argv[0], val,
+                       dest);
       else
        _cupsLangPrintf(stderr,
-                       _("%s: error - no default destination available.\n"),
+                       _("%s: error - no default destination available."),
                        argv[0]);
       httpClose(http);
       cupsFreeDests(num_dests, dests);
@@ -296,7 +292,7 @@ connect_server(const char *command, /* I - Command name */
 
     if (http == NULL)
     {
-      _cupsLangPrintf(stderr, _("%s: Unable to connect to server\n"), command);
+      _cupsLangPrintf(stderr, _("%s: Unable to connect to server."), command);
       exit(1);
     }
   }
@@ -418,7 +414,7 @@ show_jobs(const char *command,              /* I - Command name */
   {
     if (response->request.status.status_code > IPP_OK_CONFLICT)
     {
-      _cupsLangPrintf(stderr, "%s: %s\n", command, cupsLastErrorString());
+      _cupsLangPrintf(stderr, "%s: %s", command, cupsLastErrorString());
       ippDelete(response);
       return (0);
     }
@@ -512,11 +508,11 @@ show_jobs(const char *command,            /* I - Command name */
 #ifdef __osf__
        _cupsLangPuts(stdout,
                      _("Rank   Owner      Pri  Job        Files"
-                       "                       Total Size\n"));
+                       "                       Total Size"));
 #else
        _cupsLangPuts(stdout,
                      _("Rank    Owner   Job     File(s)"
-                       "                         Total Size\n"));
+                       "                         Total Size"));
 #endif /* __osf__ */
 
       jobcount ++;
@@ -552,20 +548,20 @@ show_jobs(const char *command,            /* I - Command name */
        else
          strlcpy(namestr, jobname, sizeof(namestr));
 
-        _cupsLangPrintf(stdout, _("%s: %-33.33s [job %d localhost]\n"),
+        _cupsLangPrintf(stdout, _("%s: %-33.33s [job %d localhost]"),
                        jobuser, rankstr, jobid);
-        _cupsLangPrintf(stdout, _("        %-39.39s %.0f bytes\n"),
+        _cupsLangPrintf(stdout, _("        %-39.39s %.0f bytes"),
                        namestr, 1024.0 * jobsize);
       }
       else
 #ifdef __osf__
         _cupsLangPrintf(stdout,
-                       _("%-6s %-10.10s %-4d %-10d %-27.27s %.0f bytes\n"),
+                       _("%-6s %-10.10s %-4d %-10d %-27.27s %.0f bytes"),
                        rankstr, jobuser, jobpriority, jobid, jobname,
                        1024.0 * jobsize);
 #else
         _cupsLangPrintf(stdout,
-                       _("%-7s %-7.7s %-7d %-31.31s %.0f bytes\n"),
+                       _("%-7s %-7.7s %-7d %-31.31s %.0f bytes"),
                        rankstr, jobuser, jobid, jobname, 1024.0 * jobsize);
 #endif /* __osf */
 
@@ -577,12 +573,12 @@ show_jobs(const char *command,            /* I - Command name */
   }
   else
   {
-    _cupsLangPrintf(stderr, "%s: %s\n", command, cupsLastErrorString());
+    _cupsLangPrintf(stderr, "%s: %s", command, cupsLastErrorString());
     return (0);
   }
 
   if (jobcount == 0)
-    _cupsLangPuts(stdout, _("no entries\n"));
+    _cupsLangPuts(stdout, _("no entries"));
 
   return (jobcount);
 }
@@ -631,7 +627,7 @@ show_printer(const char *command,   /* I - Command name */
   {
     if (response->request.status.status_code > IPP_OK_CONFLICT)
     {
-      _cupsLangPrintf(stderr, "%s: %s\n", command, cupsLastErrorString());
+      _cupsLangPrintf(stderr, "%s: %s", command, cupsLastErrorString());
       ippDelete(response);
       return;
     }
@@ -644,21 +640,21 @@ show_printer(const char *command, /* I - Command name */
     switch (state)
     {
       case IPP_PRINTER_IDLE :
-          _cupsLangPrintf(stdout, _("%s is ready\n"), dest);
+          _cupsLangPrintf(stdout, _("%s is ready"), dest);
          break;
       case IPP_PRINTER_PROCESSING :
-          _cupsLangPrintf(stdout, _("%s is ready and printing\n"),
+          _cupsLangPrintf(stdout, _("%s is ready and printing"),
                          dest);
          break;
       case IPP_PRINTER_STOPPED :
-          _cupsLangPrintf(stdout, _("%s is not ready\n"), dest);
+          _cupsLangPrintf(stdout, _("%s is not ready"), dest);
          break;
     }
 
     ippDelete(response);
   }
   else
-    _cupsLangPrintf(stderr, "%s: %s\n", command, cupsLastErrorString());
+    _cupsLangPrintf(stderr, "%s: %s", command, cupsLastErrorString());
 }
 
 
@@ -671,7 +667,7 @@ usage(void)
 {
   _cupsLangPuts(stderr,
                 _("Usage: lpq [-P dest] [-U username] [-h hostname[:port]] "
-                 "[-l] [+interval]\n"));
+                 "[-l] [+interval]"));
   exit(1);
 }
 
index dc17c21a32d2c44896264dea18343e2b03b28665..1bfe11e4d8add8b11b31507743edbe8b4e903a27 100644 (file)
@@ -67,8 +67,7 @@ main(int  argc,                               /* I - Number of command-line arguments */
 #ifdef HAVE_SSL
            cupsSetEncryption(HTTP_ENCRYPT_REQUIRED);
 #else
-            _cupsLangPrintf(stderr,
-                           _("%s: Sorry, no encryption support compiled in\n"),
+            _cupsLangPrintf(stderr, _("%s: Sorry, no encryption support."),
                            argv[0]);
 #endif /* HAVE_SSL */
            break;
@@ -83,8 +82,7 @@ main(int  argc,                               /* I - Number of command-line arguments */
              {
                _cupsLangPrintf(stderr,
                                _("%s: Error - expected username after "
-                                 "\'-U\' option\n"),
-                               argv[0]);
+                                 "\"-U\" option."), argv[0]);
                return (1);
              }
 
@@ -103,8 +101,7 @@ main(int  argc,                             /* I - Number of command-line arguments */
              {
                _cupsLangPrintf(stderr,
                                _("%s: Error - expected hostname after "
-                                 "\'-H\' option\n"),
-                               argv[0]);
+                                 "\"-H\" option."), argv[0]);
                return (1);
               }
              else
@@ -125,8 +122,8 @@ main(int  argc,                             /* I - Number of command-line arguments */
              if (i >= argc)
              {
                _cupsLangPrintf(stderr,
-                               _("%s: Error - expected value after \'-%c\' "
-                                 "option\n"), argv[0], ch);
+                               _("%s: Error - expected value after \"-%c\" "
+                                 "option."), argv[0], ch);
                return (1);
              }
            }
@@ -139,8 +136,8 @@ main(int  argc,                             /* I - Number of command-line arguments */
        case 't' : /* Troff */
        case 'v' : /* Raster image */
            _cupsLangPrintf(stderr,
-                           _("%s: Warning - \'%c\' format modifier not "
-                             "supported - output may not be correct\n"),
+                           _("%s: Warning - \"%c\" format modifier not "
+                             "supported - output may not be correct."),
                            argv[0], ch);
            break;
 
@@ -154,8 +151,7 @@ main(int  argc,                             /* I - Number of command-line arguments */
              {
                _cupsLangPrintf(stderr,
                                _("%s: error - expected option=value after "
-                                 "\'-o\' option\n"),
-                               argv[0]);
+                                 "\"-o\" option."), argv[0]);
                return (1);
              }
 
@@ -211,8 +207,7 @@ main(int  argc,                             /* I - Number of command-line arguments */
              {
                _cupsLangPrintf(stderr,
                                _("%s: Error - expected destination after "
-                                 "\'-P\' option\n"),
-                               argv[0]);
+                                 "\"-P\" option."), argv[0]);
                return (1);
              }
 
@@ -243,8 +238,7 @@ main(int  argc,                             /* I - Number of command-line arguments */
              {
                _cupsLangPrintf(stderr,
                                _("%s: Error - expected copy count after "
-                                 "\'-#\' option\n"),
-                               argv[0]);
+                                 "\"-#\" option."), argv[0]);
                return (1);
              }
 
@@ -266,8 +260,8 @@ main(int  argc,                             /* I - Number of command-line arguments */
              if (i >= argc)
              {
                _cupsLangPrintf(stderr,
-                               _("%s: Error - expected name after \'-%c\' "
-                                 "option\n"), argv[0], ch);
+                               _("%s: Error - expected name after \"-%c\" "
+                                 "option."), argv[0], ch);
                return (1);
              }
 
@@ -277,8 +271,8 @@ main(int  argc,                             /* I - Number of command-line arguments */
 
        default :
            _cupsLangPrintf(stderr,
-                           _("%s: Error - unknown option \'%c\'\n"),
-                           argv[0], argv[i][1]);
+                           _("%s: Error - unknown option \"%c\"."), argv[0],
+                           argv[i][1]);
            return (1);
       }
     else if (num_files < 1000)
@@ -290,7 +284,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\n"),
+                       _("%s: Error - unable to access \"%s\" - %s."),
                        argv[0], argv[i], strerror(errno));
         return (1);
       }
@@ -308,8 +302,8 @@ main(int  argc,                             /* I - Number of command-line arguments */
     }
     else
       _cupsLangPrintf(stderr,
-                      _("%s: Error - too many files - \"%s\"\n"),
-                     argv[0], argv[i]);
+                      _("%s: Error - too many files - \"%s\"."), argv[0],
+                     argv[i]);
  /*
   * See if we have any files to print; if not, print from stdin...
   */
@@ -348,15 +342,14 @@ main(int  argc,                           /* I - Number of command-line arguments */
     if (printer && !cupsGetNamedDest(NULL, printer, NULL))
       _cupsLangPrintf(stderr,
                       _("%s: Error - %s environment variable names "
-                       "non-existent destination \"%s\"\n"),
-                     argv[0], val, printer);
+                       "non-existent destination \"%s\"."), argv[0], val,
+                     printer);
     else if (cupsLastError() == IPP_NOT_FOUND)
       _cupsLangPrintf(stderr,
-                      _("%s: Error - no default destination available.\n"),
+                      _("%s: Error - no default destination available."),
                      argv[0]);
     else
-      _cupsLangPrintf(stderr,
-                      _("%s: Error - scheduler not responding\n"),
+      _cupsLangPrintf(stderr, _("%s: Error - scheduler not responding."),
                      argv[0]);
 
     return (1);
@@ -400,8 +393,7 @@ main(int  argc,                             /* I - Number of command-line arguments */
 
     if (status != HTTP_CONTINUE)
     {
-      _cupsLangPrintf(stderr,
-                     _("%s: Error - unable to queue from stdin - %s\n"),
+      _cupsLangPrintf(stderr, _("%s: Error - unable to queue from stdin - %s."),
                      argv[0], httpStatus(status));
       return (1);
     }
@@ -412,7 +404,7 @@ main(int  argc,                             /* I - Number of command-line arguments */
 
   if (job_id < 1)
   {
-    _cupsLangPrintf(stderr, "%s: %s\n", argv[0], cupsLastErrorString());
+    _cupsLangPrintf(stderr, "%s: %s", argv[0], cupsLastErrorString());
     return (1);
   }
 
index 29f8a658ef97416aca5a3792785c6e4ddedc2d3b..5e12c74fd40d3c67fea1ac13c5c6d66ec8b3bdf9 100644 (file)
@@ -64,8 +64,7 @@ main(int  argc,                       /* I - Number of command-line arguments */
            cupsSetEncryption(HTTP_ENCRYPT_REQUIRED);
 #else
             _cupsLangPrintf(stderr,
-                           _("%s: Sorry, no encryption support compiled in\n"),
-                           argv[0]);
+                           _("%s: Sorry, no encryption support."), argv[0]);
 #endif /* HAVE_SSL */
            break;
 
@@ -85,7 +84,7 @@ main(int  argc,                       /* I - Number of command-line arguments */
                                         NULL)) == NULL)
            {
              _cupsLangPrintf(stderr,
-                             _("%s: Error - unknown destination \"%s\"\n"),
+                             _("%s: Error - unknown destination \"%s\"."),
                              argv[0], name);
               goto error;
            }
@@ -103,8 +102,7 @@ main(int  argc,                     /* I - Number of command-line arguments */
              {
                _cupsLangPrintf(stderr,
                                _("%s: Error - expected username after "
-                                 "\'-U\' option\n"),
-                               argv[0]);
+                                 "\"-U\" option."), argv[0]);
                goto error;
              }
 
@@ -123,8 +121,7 @@ main(int  argc,                     /* I - Number of command-line arguments */
              {
                _cupsLangPrintf(stderr,
                                _("%s: Error - expected hostname after "
-                                 "\'-h\' option\n"),
-                               argv[0]);
+                                 "\"-h\" option."), argv[0]);
                goto error;
               }
              else
@@ -139,8 +136,7 @@ main(int  argc,                     /* I - Number of command-line arguments */
            break;
 
        default :
-           _cupsLangPrintf(stderr,
-                           _("%s: Error - unknown option \'%c\'\n"),
+           _cupsLangPrintf(stderr, _("%s: Error - unknown option \"%c\"."),
                            argv[0], argv[i][1]);
             goto error;
       }
@@ -173,15 +169,14 @@ main(int  argc,                   /* I - Number of command-line arguments */
       }
       else
       {
-       _cupsLangPrintf(stderr,
-                       _("%s: Error - unknown destination \"%s\"\n"),
+       _cupsLangPrintf(stderr, _("%s: Error - unknown destination \"%s\"."),
                        argv[0], argv[i]);
        goto error;
       }
 
       if (cupsCancelJob2(CUPS_HTTP_DEFAULT, name, job_id, 0) != IPP_OK)
       {
-        _cupsLangPrintf(stderr, "%s: %s\n", argv[0], cupsLastErrorString());
+        _cupsLangPrintf(stderr, "%s: %s", argv[0], cupsLastErrorString());
        goto error;
       }
 
@@ -195,7 +190,7 @@ main(int  argc,                     /* I - Number of command-line arguments */
 
   if (!did_cancel && cupsCancelJob2(CUPS_HTTP_DEFAULT, name, 0, 0) != IPP_OK)
     {
-      _cupsLangPrintf(stderr, "%s: %s\n", argv[0], cupsLastErrorString());
+      _cupsLangPrintf(stderr, "%s: %s", argv[0], cupsLastErrorString());
       goto error;
     }
 
index 24003f5a1d203f8ed58e5e896f22a3e59a7b1066..5e98f124db4bbb6bad7693242a6ecbe8c100939f 100644 (file)
@@ -24,6 +24,21 @@ AC_ARG_WITH(languages, [  --with-languages        set installed languages, defau
        esac])
 AC_SUBST(LANGUAGES)
 
+dnl Mac OS X bundle-based localization support
+AC_ARG_WITH(bundledir, [  --with-bundledir     set Mac OS X localization bundle directory ],
+       CUPS_BUNDLEDIR="$withval",
+       if test "x$uname" = xDarwin; then
+               CUPS_BUNDLEDIR="/System/Library/Frameworks/ApplicationServices.framework/Frameworks/PrintCore.framework"
+               LANGUAGES=""
+       else
+               CUPS_BUNDLEDIR=""
+       fi)
+
+AC_SUBST(CUPS_BUNDLEDIR)
+if test "x$CUPS_BUNDLEDIR" != x; then
+       AC_DEFINE_UNQUOTED(CUPS_BUNDLEDIR, "$CUPS_BUNDLEDIR")
+fi
+
 dnl Default ConfigFilePerm
 AC_ARG_WITH(config_file_perm, [  --with-config-file-perm set default ConfigFilePerm value, default=0640],
        CUPS_CONFIG_FILE_PERM="$withval",
index 13e2da071327c97921b2cc4631081ffa6999729f..f1c5fd30047704efedbd1b10a477fd0d2d2b1cd2 100644 (file)
 #undef HAVE_SYS_VFS_H
 
 
+/*
+ * Location of Mac OS X localization bundle, if any.
+ */
+
+#undef CUPS_BUNDLEDIR
+
+
 #endif /* !_CUPS_CONFIG_H_ */
 
 /*
index cc724bde98e0594a1fce691f2f8fe4d136e1e4df..d219d56fef4cf2c5fb746324c9e90a8cdc4b18dc 100644 (file)
@@ -56,6 +56,9 @@ if test "x$LANGUAGES" != x; then
                        LANGFILES="$LANGFILES templates/$lang/header.tmpl"
                fi
        done
+elif test "x$CUPS_BUNDLEDIR" != ""; then
+       INSTALL_LANGUAGES="install-langbundle"
+       UNINSTALL_LANGUAGES="uninstall-langbundle"
 fi
 
 AC_SUBST(INSTALL_LANGUAGES)
index 4eb80b6c5e065ba63ed941c8dedc86bdf11baed0..5ce028e009a9e7687f8e0ef30bf66a52389e45fd 100644 (file)
@@ -237,6 +237,10 @@ testppd.o: ../cups/http.h md5-private.h ipp-private.h ../cups/ipp.h
 testppd.o: language-private.h ../cups/transcode.h thread-private.h
 testpwg.o: ppd-private.h ../cups/cups.h file.h versioning.h ipp.h http.h
 testpwg.o: array.h language.h ../cups/ppd.h cups.h pwg-private.h
+testpwg.o: file-private.h cups-private.h string-private.h ../config.h
+testpwg.o: debug-private.h http-private.h ../cups/http.h md5-private.h
+testpwg.o: ipp-private.h ../cups/ipp.h language-private.h ../cups/transcode.h
+testpwg.o: thread-private.h
 testsnmp.o: cups-private.h ../cups/cups.h file.h versioning.h ipp.h http.h
 testsnmp.o: array.h language.h string-private.h ../config.h debug-private.h
 testsnmp.o: ppd-private.h ../cups/ppd.h cups.h pwg-private.h http-private.h
@@ -482,6 +486,10 @@ testppd.32.o: testppd.c  ../cups/http.h md5-private.h ipp-private.h ../cups/ipp.
 testppd.32.o: testppd.c  language-private.h ../cups/transcode.h thread-private.h
 testpwg.32.o: testpwg.c  ppd-private.h ../cups/cups.h file.h versioning.h ipp.h http.h
 testpwg.32.o: testpwg.c  array.h language.h ../cups/ppd.h cups.h pwg-private.h
+testpwg.32.o: testpwg.c  file-private.h cups-private.h string-private.h ../config.h
+testpwg.32.o: testpwg.c  debug-private.h http-private.h ../cups/http.h md5-private.h
+testpwg.32.o: testpwg.c  ipp-private.h ../cups/ipp.h language-private.h ../cups/transcode.h
+testpwg.32.o: testpwg.c  thread-private.h
 testsnmp.32.o: testsnmp.c  cups-private.h ../cups/cups.h file.h versioning.h ipp.h http.h
 testsnmp.32.o: testsnmp.c  array.h language.h string-private.h ../config.h debug-private.h
 testsnmp.32.o: testsnmp.c  ppd-private.h ../cups/ppd.h cups.h pwg-private.h http-private.h
@@ -727,6 +735,10 @@ testppd.64.o: testppd.c  ../cups/http.h md5-private.h ipp-private.h ../cups/ipp.
 testppd.64.o: testppd.c  language-private.h ../cups/transcode.h thread-private.h
 testpwg.64.o: testpwg.c  ppd-private.h ../cups/cups.h file.h versioning.h ipp.h http.h
 testpwg.64.o: testpwg.c  array.h language.h ../cups/ppd.h cups.h pwg-private.h
+testpwg.64.o: testpwg.c  file-private.h cups-private.h string-private.h ../config.h
+testpwg.64.o: testpwg.c  debug-private.h http-private.h ../cups/http.h md5-private.h
+testpwg.64.o: testpwg.c  ipp-private.h ../cups/ipp.h language-private.h ../cups/transcode.h
+testpwg.64.o: testpwg.c  thread-private.h
 testsnmp.64.o: testsnmp.c  cups-private.h ../cups/cups.h file.h versioning.h ipp.h http.h
 testsnmp.64.o: testsnmp.c  array.h language.h string-private.h ../config.h debug-private.h
 testsnmp.64.o: testsnmp.c  ppd-private.h ../cups/ppd.h cups.h pwg-private.h http-private.h
index b8d28126bc1204ce18f0dec23a15ff9610aa3d02..872a90e561abc2f4c66a31ab7f1bb5047bf0c396 100644 (file)
@@ -490,7 +490,7 @@ cupsAdminExportSamba(
       _cupsSetError(IPP_INTERNAL_ERROR, message, 0);
 
       if (logfile)
-       _cupsLangPrintf(logfile, "%s\n", message);
+       _cupsLangPuts(logfile, message);
 
       unlink(authfile);
 
@@ -525,7 +525,7 @@ cupsAdminExportSamba(
        _cupsSetError(IPP_INTERNAL_ERROR, message, 0);
 
        if (logfile)
-         _cupsLangPrintf(logfile, "%s\n", message);
+         _cupsLangPuts(logfile, message);
 
         unlink(authfile);
 
@@ -568,7 +568,7 @@ cupsAdminExportSamba(
       _cupsSetError(IPP_INTERNAL_ERROR, message, 0);
 
       if (logfile)
-       _cupsLangPrintf(logfile, "%s\n", message);
+       _cupsLangPuts(logfile, message);
 
       unlink(authfile);
 
@@ -613,7 +613,7 @@ cupsAdminExportSamba(
       _cupsSetError(IPP_INTERNAL_ERROR, message, 0);
 
       if (logfile)
-       _cupsLangPrintf(logfile, "%s\n", message);
+       _cupsLangPuts(logfile, message);
 
       unlink(authfile);
 
@@ -642,7 +642,7 @@ cupsAdminExportSamba(
       _cupsSetError(IPP_INTERNAL_ERROR, message, 0);
 
       if (logfile)
-       _cupsLangPrintf(logfile, "%s\n", message);
+       _cupsLangPuts(logfile, message);
 
       unlink(authfile);
 
@@ -694,7 +694,7 @@ cupsAdminExportSamba(
       _cupsSetError(IPP_INTERNAL_ERROR, message, 0);
 
       if (logfile)
-       _cupsLangPrintf(logfile, "%s\n", message);
+       _cupsLangPuts(logfile, message);
 
       unlink(authfile);
 
@@ -729,7 +729,7 @@ cupsAdminExportSamba(
        _cupsSetError(IPP_INTERNAL_ERROR, message, 0);
 
        if (logfile)
-         _cupsLangPrintf(logfile, "%s\n", message);
+         _cupsLangPuts(logfile, message);
 
         unlink(authfile);
 
@@ -772,7 +772,7 @@ cupsAdminExportSamba(
       _cupsSetError(IPP_INTERNAL_ERROR, message, 0);
 
       if (logfile)
-       _cupsLangPrintf(logfile, "%s\n", message);
+       _cupsLangPuts(logfile, message);
 
       unlink(authfile);
 
@@ -795,7 +795,7 @@ cupsAdminExportSamba(
               sizeof(message));
 
     _cupsSetError(IPP_NOT_FOUND, message, 0);
-    _cupsLangPrintf(logfile, "%s\n", message);
+    _cupsLangPuts(logfile, message);
   }
 
   if (have_drivers == 0)
@@ -824,7 +824,7 @@ cupsAdminExportSamba(
     _cupsSetError(IPP_INTERNAL_ERROR, message, 0);
 
     if (logfile)
-      _cupsLangPrintf(logfile, "%s\n", message);
+      _cupsLangPuts(logfile, message);
 
     unlink(authfile);
 
@@ -2164,7 +2164,7 @@ do_samba_command(const char *command,     /* I - Command to run */
 
   if (logfile)
     _cupsLangPrintf(logfile,
-                    _("Running command: %s %s -N -A %s -c \'%s\'\n"),
+                    _("Running command: %s %s -N -A %s -c \'%s\'"),
                    command, address, authfile, subcmd);
 
   if ((pid = fork()) == 0)
@@ -2200,7 +2200,7 @@ do_samba_command(const char *command,     /* I - Command to run */
     status = -1;
 
     if (logfile)
-      _cupsLangPrintf(logfile, _("Unable to run \"%s\": %s\n"),
+      _cupsLangPrintf(logfile, _("Unable to run \"%s\": %s"),
                       command, strerror(errno));
   }
   else
@@ -2213,7 +2213,7 @@ do_samba_command(const char *command,     /* I - Command to run */
   }
 
   if (logfile)
-    _cupsLangPuts(logfile, "\n");
+    _cupsLangPuts(logfile, "");
 
   DEBUG_printf(("9do_samba_command: status=%d", status));
 
index dfd89f957d2cf1f28a162019815c9d1cf7b8de17..93d280d36e72ab778a3b3fbb8d4adac3473503b5 100644 (file)
@@ -606,7 +606,7 @@ httpGetHostname(http_t *http,               /* I - HTTP connection or NULL */
 
     if (!strchr(s, '.'))
     {
-#ifdef HAVE_SYSTEMCONFIGURATION
+#ifdef HAVE_SCDYNAMICSTORECOPYCOMPUTERNAME
      /*
       * The hostname is not a FQDN, so use the local hostname from the
       * SystemConfiguration framework...
@@ -649,7 +649,7 @@ httpGetHostname(http_t *http,               /* I - HTTP connection or NULL */
 
        strlcpy(s, host->h_name, slen);
       }
-#endif /* HAVE_SYSTEMCONFIGURATION */
+#endif /* HAVE_SCDYNAMICSTORECOPYCOMPUTERNAME */
     }
   }
 
index 443ce6c2150be5ed49816fa1b0e05d49b7f58536..1c5697cc6722c3ae094efddeaf593b145fe5dc46 100644 (file)
@@ -1361,7 +1361,7 @@ _httpResolveURI(
 #endif /* DEBUG */
   {
     if (logit)
-      _cupsLangPrintf(stderr, _("Bad device URI \"%s\"\n"), uri);
+      _cupsLangPrintFilter(stderr, "ERROR", _("Bad device URI \"%s\"."), uri);
 
     DEBUG_printf(("6_httpResolveURI: httpSeparateURI returned %d!", status));
     DEBUG_puts("5_httpResolveURI: Returning NULL");
@@ -1458,7 +1458,7 @@ _httpResolveURI(
        for (;;)
        {
          if (logit)
-           _cupsLangPuts(stderr, _("INFO: Looking for printer...\n"));
+           _cupsLangPrintFilter(stderr, "INFO", _("Looking for printer."));
 
         /*
          * For the first minute, wakeup every 2 seconds to emit a
@@ -1562,7 +1562,7 @@ _httpResolveURI(
 #endif /* HAVE_DNSSD */
 
     if (logit && !uri)
-      _cupsLangPuts(stderr, _("Unable to find printer\n"));
+      _cupsLangPrintFilter(stderr, "ERROR", _("Unable to find printer."));
   }
 
   DEBUG_printf(("5_httpResolveURI: Returning \"%s\"", uri));
index c1ab16e451ca74d1b42ee8b4d8927453d0a68b4b..c8a680c39b42ecb0da9e788176d3deb0991c75a7 100644 (file)
  *
  * Contents:
  *
- *   _cupsLangPrintError() - Print a message followed by a standard error.
- *   _cupsLangPrintf()     - Print a formatted message string to a file.
- *   _cupsLangPuts()       - Print a static message string to a file.
- *   _cupsSetLocale()      - Set the current locale and transcode the
- *                           command-line.
+ *   _cupsLangPrintError()  - Print a message followed by a standard error.
+ *   _cupsLangPrintFilter() - Print a formatted filter message string to a file.
+ *   _cupsLangPrintf()      - Print a formatted message string to a file.
+ *   _cupsLangPuts()        - Print a static message string to a file.
+ *   _cupsSetLocale()       - Set the current locale and transcode the
+ *                            command-line.
  */
 
 /*
@@ -35,7 +36,8 @@
  */
 
 void
-_cupsLangPrintError(const char *message)/* I - Message */
+_cupsLangPrintError(const char *prefix,        /* I - Non-localized message prefix */
+                    const char *message)/* I - Message */
 {
   int          bytes;                  /* Number of bytes formatted */
   int          last_errno;             /* Last error */
@@ -70,7 +72,7 @@ _cupsLangPrintError(const char *message)/* I - Message */
   * Format the message...
   */
 
-  snprintf(buffer, sizeof(buffer), "%s: %s\n",
+  snprintf(buffer, sizeof(buffer), "%s%s: %s\n", prefix ? prefix : "",
           _cupsLangString(cg->lang_default, message), strerror(last_errno));
 
  /*
@@ -85,13 +87,72 @@ _cupsLangPrintError(const char *message)/* I - Message */
 }
 
 
+/*
+ * '_cupsLangPrintFilter()' - Print a formatted filter message string to a file.
+ */
+
+int                                    /* O - Number of bytes written */
+_cupsLangPrintFilter(
+    FILE       *fp,                    /* I - File to write to */
+    const char *prefix,                        /* I - Non-localized message prefix */
+    const char *message,               /* I - Message string to use */
+    ...)                               /* I - Additional arguments as needed */
+{
+  int          bytes;                  /* Number of bytes formatted */
+  char         temp[2048],             /* Temporary format buffer */
+               buffer[2048],           /* Message buffer */
+               output[8192];           /* Output buffer */
+  va_list      ap;                     /* Pointer to additional arguments */
+  _cups_globals_t *cg;                 /* Global data */
+
+
+ /*
+  * Range check...
+  */
+
+  if (!fp || !message)
+    return (-1);
+
+  cg = _cupsGlobals();
+
+  if (!cg->lang_default)
+    cg->lang_default = cupsLangDefault();
+
+ /*
+  * Format the string...
+  */
+
+  va_start(ap, message);
+  snprintf(temp, sizeof(temp), "%s: %s\n", prefix,
+          _cupsLangString(cg->lang_default, message));
+  vsnprintf(buffer, sizeof(buffer), temp, ap);
+  va_end(ap);
+
+ /*
+  * Transcode to the destination charset...
+  */
+
+  bytes = cupsUTF8ToCharset(output, (cups_utf8_t *)buffer, sizeof(output),
+                            cg->lang_default->encoding);
+
+ /*
+  * Write the string and return the number of bytes written...
+  */
+
+  if (bytes > 0)
+    return ((int)fwrite(output, 1, bytes, fp));
+  else
+    return (bytes);
+}
+
+
 /*
  * '_cupsLangPrintf()' - Print a formatted message string to a file.
  */
 
 int                                    /* O - Number of bytes written */
-_cupsLangPrintf(FILE        *fp,       /* I - File to write to */
-               const char  *message,   /* I - Message string to use */
+_cupsLangPrintf(FILE       *fp,                /* I - File to write to */
+               const char *message,    /* I - Message string to use */
                ...)                    /* I - Additional arguments as needed */
 {
   int          bytes;                  /* Number of bytes formatted */
@@ -118,10 +179,12 @@ _cupsLangPrintf(FILE        *fp,  /* I - File to write to */
   */
 
   va_start(ap, message);
-  vsnprintf(buffer, sizeof(buffer),
-            _cupsLangString(cg->lang_default, message), ap);
+  vsnprintf(buffer, sizeof(buffer) - 1,
+           _cupsLangString(cg->lang_default, message), ap);
   va_end(ap);
 
+  strlcat(buffer, "\n", sizeof(buffer));
+
  /*
   * Transcode to the destination charset...
   */
@@ -145,11 +208,11 @@ _cupsLangPrintf(FILE        *fp,  /* I - File to write to */
  */
 
 int                                    /* O - Number of bytes written */
-_cupsLangPuts(FILE        *fp,         /* I - File to write to */
-             const char  *message)     /* I - Message string to use */
+_cupsLangPuts(FILE       *fp,          /* I - File to write to */
+              const char *message)     /* I - Message string to use */
 {
   int          bytes;                  /* Number of bytes formatted */
-  char         output[2048];           /* Message buffer */
+  char         output[8192];           /* Message buffer */
   _cups_globals_t *cg;                 /* Global data */
 
 
@@ -170,9 +233,12 @@ _cupsLangPuts(FILE        *fp,             /* I - File to write to */
   */
 
   bytes = cupsUTF8ToCharset(output,
-                            (cups_utf8_t *)_cupsLangString(cg->lang_default,
-                                                          message),
-                           sizeof(output), cg->lang_default->encoding);
+                           (cups_utf8_t *)_cupsLangString(cg->lang_default,
+                                                          message),
+                           sizeof(output) - 4, cg->lang_default->encoding);
+  bytes += cupsUTF8ToCharset(output + bytes, (cups_utf8_t *)"\n",
+                             sizeof(output) - bytes,
+                            cg->lang_default->encoding);
 
  /*
   * Write the string and return the number of bytes written...
index 934032eeefaa25c36154693d920f5f3fb44b04ae..0c10ca54c7b439f9094d56370f2378c371fa6472 100644 (file)
@@ -47,36 +47,6 @@ typedef struct _cups_message_s               /**** Message catalog entry ****/
        *str;                           /* Localized string */
 } _cups_message_t;
 
-typedef struct _cups_cmap_s            /**** SBCS Charmap Struct ****/
-{
-  struct _cups_cmap_s  *next;          /* Next charmap in cache */
-  int                  used;           /* Number of times entry used */
-  cups_encoding_t      encoding;       /* Legacy charset encoding */
-  cups_ucs2_t          char2uni[256];  /* Map Legacy SBCS -> UCS-2 */
-  cups_sbcs_t          *uni2char[256]; /* Map UCS-2 -> Legacy SBCS */
-} _cups_cmap_t;
-
-typedef struct _cups_wide2uni_s                /**** Wide to Unicode ****/
-{
-  cups_vbcs_t          widechar;       /* VBCS 32-bit Char (EUC) */
-  cups_ucs2_t          unichar;        /* UCS-2 Char */
-} _cups_wide2uni_t;
-
-typedef struct _cups_vmap_s            /**** VBCS Charmap Struct ****/
-{
-  struct _cups_vmap_s  *next;          /* Next charmap in cache */
-  int                  used;           /* Number of times entry used */
-  cups_encoding_t      encoding;       /* Legacy charset encoding */
-  cups_ucs2_t          *char2uni[256]; /* Map 16-bit Char -> UCS-2 */
-  int                  charcount;      /* Count of 16-bit VBCS Chars */
-  _cups_wide2uni_t     *wide2uni;      /* Map 32-bit Char -> UCS-2 */
-  int                  widecount;      /* Count of 32-bit VBCS Chars */
-  cups_vbcs_t          *uni2char[256]; /* Map UCS-2 -> 32-bit VBCS */
-  cups_sbcs_t          lead2char[256]; /* Legacy Lead Char - 2-byte */
-  cups_sbcs_t          lead3char[256]; /* Legacy Lead Char - 3-byte */
-  cups_sbcs_t          lead4char[256]; /* Legacy Lead Char - 4-byte */
-} _cups_vmap_t;
-
 
 /*
  * Prototypes...
@@ -88,14 +58,22 @@ extern const char   *_cupsAppleLanguage(const char *locale, char *language,
 #  endif /* __APPLE__ */
 extern void            _cupsCharmapFlush(void);
 extern const char      *_cupsEncodingName(cups_encoding_t encoding);
-extern void            _cupsLangPrintError(const char *message);
+extern void            _cupsLangPrintError(const char *prefix,
+                                           const char *message);
+extern int             _cupsLangPrintFilter(FILE *fp, const char *prefix,
+                                            const char *message, ...)
+#  ifdef __GNUC__
+__attribute__ ((__format__ (__printf__, 3, 4)))
+#  endif /* __GNUC__ */
+;
 extern int             _cupsLangPrintf(FILE *fp, const char *message, ...)
 #  ifdef __GNUC__
 __attribute__ ((__format__ (__printf__, 2, 3)))
 #  endif /* __GNUC__ */
 ;
 extern int             _cupsLangPuts(FILE *fp, const char *message);
-extern const char      *_cupsLangString(cups_lang_t *lang, const char *message);
+extern const char      *_cupsLangString(cups_lang_t *lang,
+                                        const char *message);
 extern void            _cupsMessageFree(cups_array_t *a);
 extern cups_array_t    *_cupsMessageLoad(const char *filename, int unquote);
 extern const char      *_cupsMessageLookup(cups_array_t *a, const char *m);
index a4b2507c023c957ca30998ee52056e552210d463..820b5421e5bba08204e971ccda7f03784ad44919 100644 (file)
  *
  * Contents:
  *
- *   _cupsAppleLanguage()   - Get the Apple language identifier associated
- *                            with a locale ID.
- *   _cupsEncodingName()    - Return the character encoding name string
- *                            for the given encoding enumeration.
- *   cupsLangDefault()      - Return the default language.
- *   cupsLangEncoding()     - Return the character encoding (us-ascii, etc.)
- *                            for the given language.
- *   cupsLangFlush()        - Flush all language data out of the cache.
- *   cupsLangFree()         - Free language data.
- *   cupsLangGet()          - Get a language.
- *   _cupsLangString()      - Get a message string.
- *   _cupsMessageFree()     - Free a messages array.
- *   _cupsMessageLoad()     - Load a .po file into a messages array.
- *   _cupsMessageLookup()   - Lookup a message string.
- *   appleLangDefault()     - Get the default locale string.
- *   cups_cache_lookup()    - Lookup a language in the cache...
- *   cups_message_compare() - Compare two messages.
- *   cups_unquote()         - Unquote characters in strings...
  */
 
 /*
@@ -142,10 +124,10 @@ typedef struct
 
 static const _apple_language_locale_t apple_language_locale[] =
 {                                      /* Locale to language ID LUT */
-  { "en"       , "en_US" },
-  { "nb"       , "no"    },
-  { "zh-Hans"  , "zh_CN" },
-  { "zh-Hant"  , "zh_TW" }
+  { "en",      "en_US" },
+  { "nb",      "no" },
+  { "zh-Hans", "zh_CN" },
+  { "zh-Hant", "zh_TW" }
 };
 #endif /* __APPLE__ */
 
@@ -156,18 +138,22 @@ static const _apple_language_locale_t apple_language_locale[] =
 
 #ifdef __APPLE__
 static const char      *appleLangDefault(void);
+#  ifdef CUPS_BUNDLEDIR
+static cups_array_t    *appleMessageLoad(const char *locale);
+#  endif /* CUPS_BUNDLEDIR */
 #endif /* __APPLE__ */
 static cups_lang_t     *cups_cache_lookup(const char *name,
                                           cups_encoding_t encoding);
 static int             cups_message_compare(_cups_message_t *m1,
                                             _cups_message_t *m2);
+static void            cups_message_free(_cups_message_t *m);
 static void            cups_unquote(char *d, const char *s);
 
 
 #ifdef __APPLE__
 /*
- *   _cupsAppleLanguage()   - Get the Apple language identifier associated
- *                            with a locale ID.
+ * '_cupsAppleLanguage()' - Get the Apple language identifier associated with a
+ *                          locale ID.
  */
 
 const char *                           /* O - Language ID */
@@ -375,12 +361,14 @@ cupsLangGet(const char *language) /* I - Language or locale */
                        charset[16],    /* Character set */
                        *csptr,         /* Pointer to CODESET string */
                        *ptr,           /* Pointer into language/charset */
-                       real[48],       /* Real language name */
-                       filename[1024]; /* Filename for language locale file */
+                       real[48];       /* Real language name */
   cups_encoding_t      encoding;       /* Encoding to use */
   cups_lang_t          *lang;          /* Current language... */
+#if !defined(__APPLE__) || !defined(CUPS_BUNDLEDIR)
+  char                 filename[1024]; /* Filename for language locale file */
   _cups_globals_t      *cg = _cupsGlobals();
                                        /* Pointer to library globals */
+#endif /* !__APPLE__ || !CUPS_BUNDLEDIR */
   static const char * const locale_encodings[] =
                {                       /* Locale charset names */
                  "ASCII",      "ISO88591",     "ISO88592",     "ISO88593",
@@ -687,13 +675,17 @@ cupsLangGet(const char *language) /* I - Language or locale */
   {
     snprintf(real, sizeof(real), "%s_%s", langname, country);
 
+#if !defined(__APPLE__) || !defined(CUPS_BUNDLEDIR)
     snprintf(filename, sizeof(filename), "%s/%s/cups_%s.po", cg->localedir,
              real, real);
+#endif /* !__APPLE__ || !CUPS_BUNDLEDIR */
   }
   else
   {
     strcpy(real, langname);
+#if !defined(__APPLE__) || !defined(CUPS_BUNDLEDIR)
     filename[0] = '\0';                        /* anti-compiler-warning-code */
+#endif /* !__APPLE__ || !CUPS_BUNDLEDIR */
   }
 
   _cupsMutexLock(&lang_mutex);
@@ -707,6 +699,7 @@ cupsLangGet(const char *language)   /* I - Language or locale */
     return (lang);
   }
 
+#if !defined(__APPLE__) || !defined(CUPS_BUNDLEDIR)
   if (!country[0] || access(filename, 0))
   {
    /*
@@ -728,6 +721,7 @@ cupsLangGet(const char *language)   /* I - Language or locale */
       snprintf(filename, sizeof(filename), "%s/C/cups_C.po", cg->localedir);
     }
   }
+#endif /* !__APPLE__ || !CUPS_BUNDLEDIR */
 
  /*
   * See if there is a free language available; if so, use that
@@ -779,7 +773,11 @@ cupsLangGet(const char *language)  /* I - Language or locale */
   * Read the strings from the file...
   */
 
+#if defined(__APPLE__) && defined(CUPS_BUNDLEDIR)
+  lang->strings = appleMessageLoad(lang->language);
+#else
   lang->strings = _cupsMessageLoad(filename, 1);
+#endif /* __APPLE__ && CUPS_BUNDLEDIR */
 
  /*
   * Return...
@@ -828,27 +826,14 @@ _cupsLangString(cups_lang_t *lang,        /* I - Language */
 void
 _cupsMessageFree(cups_array_t *a)      /* I - Message array */
 {
-  _cups_message_t      *m;             /* Current message */
-
-
-  for (m = (_cups_message_t *)cupsArrayFirst(a);
-       m;
-       m = (_cups_message_t *)cupsArrayNext(a))
-  {
-   /*
-    * Remove the message from the array, then free the message and strings.
-    */
-
-    cupsArrayRemove(a, m);
-
-    if (m->id)
-      free(m->id);
-
-    if (m->str)
-      free(m->str);
+#if defined(__APPLE__) && defined(CUPS_BUNDLEDIR)
+ /*
+  * Release the cups.strings dictionary as needed...
+  */
 
-    free(m);
-  }
+  if (cupsArrayUserData(a))
+    CFRelease((CFDictionaryRef)cupsArrayUserData(a));
+#endif /* __APPLE__ && CUPS_BUNDLEDIR */
 
  /*
   * Free the array...
@@ -864,7 +849,7 @@ _cupsMessageFree(cups_array_t *a)   /* I - Message array */
 
 cups_array_t *                         /* O - New message array */
 _cupsMessageLoad(const char *filename, /* I - Message catalog to load */
-                 int        unquote)   /* I - Unescape \foo in strings */
+                 int        unquote)   /* I - Unescape \foo in strings? */
 {
   cups_file_t          *fp;            /* Message file */
   cups_array_t         *a;             /* Message array */
@@ -881,7 +866,10 @@ _cupsMessageLoad(const char *filename,     /* I - Message catalog to load */
   * Create an array to hold the messages...
   */
 
-  if ((a = cupsArrayNew((cups_array_func_t)cups_message_compare, NULL)) == NULL)
+  if ((a = cupsArrayNew3((cups_array_func_t)cups_message_compare, NULL,
+                         (cups_ahash_func_t)NULL, 0,
+                        (cups_acopy_func_t)NULL,
+                        (cups_afree_func_t)cups_message_free)) == NULL)
   {
     DEBUG_puts("5_cupsMessageLoad: Unable to allocate array!");
     return (NULL);
@@ -1075,6 +1063,38 @@ _cupsMessageLookup(cups_array_t *a,      /* I - Message array */
   key.id = (char *)m;
   match  = (_cups_message_t *)cupsArrayFind(a, &key);
 
+#if defined(__APPLE__) && defined(CUPS_BUNDLEDIR)
+  if (!match && cupsArrayUserData(a))
+  {
+   /*
+    * Try looking the string up in the cups.strings dictionary...
+    */
+
+    CFDictionaryRef    dict;           /* cups.strings dictionary */
+    CFStringRef                cfm,            /* Message as a CF string */
+                       cfstr;          /* Localized text as a CF string */
+
+    dict      = (CFDictionaryRef)cupsArrayUserData(a);
+    cfm       = CFStringCreateWithCString(kCFAllocatorDefault, m,
+                                          kCFStringEncodingUTF8);
+    match     = calloc(1, sizeof(_cups_message_t));
+    match->id = strdup(m);
+    cfstr     = cfm ? CFDictionaryGetValue(dict, cfm) : NULL;
+
+    if (cfstr)
+    {
+      char     buffer[1024];           /* Message buffer */
+
+      CFStringGetCString(cfstr, buffer, sizeof(buffer), kCFStringEncodingUTF8);
+      match->str = strdup(buffer);
+    }
+    else
+      match->str = strdup(m);
+
+    cupsArrayAdd(a, match);
+  }
+#endif /* __APPLE__ && CUPS_BUNDLEDIR */
+
   if (match && match->str)
     return (match->str);
   else
@@ -1199,6 +1219,51 @@ appleLangDefault(void)
 
   return (cg->language);
 }
+
+
+#  ifdef CUPS_BUNDLEDIR
+/*
+ * 'appleMessageLoad()' - Load a message catalog from a localizable bundle.
+ */
+
+static cups_array_t *                  /* O - Message catalog */
+appleMessageLoad(const char *locale)   /* I - Locale ID */
+{
+  char                 filename[1024], /* Path to cups.strings file */
+                       applelang[256]; /* Apple language ID */
+  CFURLRef             url;            /* URL to cups.strings file */
+  CFReadStreamRef      stream;         /* File */
+  CFDictionaryRef      dict;           /* Localization dictionary */
+
+ /*
+  * Load the cups.strings file...
+  */
+
+  snprintf(filename, sizeof(filename),
+           CUPS_BUNDLEDIR "/Resources/%s.lproj/cups.strings",
+          _cupsAppleLanguage(locale, applelang, sizeof(applelang)));
+
+  url    = CFURLCreateFromFileSystemRepresentation(kCFAllocatorDefault,
+                                                   (UInt8 *)filename,
+                                                  strlen(filename), false);
+  stream = CFReadStreamCreateWithFile(kCFAllocatorDefault, url);
+  dict   = (CFDictionaryRef)CFPropertyListCreateWithStream(
+              kCFAllocatorDefault, stream, 0, kCFPropertyListImmutable, NULL,
+              NULL);
+  CFRelease(stream);
+  CFRelease(url);
+
+ /*
+  * Create and return an empty array to act as a cache for messages, passing the
+  * dictionary as the user data.
+  */
+
+  return (cupsArrayNew3((cups_array_func_t)cups_message_compare, (void *)dict,
+                        (cups_ahash_func_t)NULL, 0,
+                       (cups_acopy_func_t)NULL,
+                       (cups_afree_func_t)cups_message_free));
+}
+#  endif /* CUPS_BUNDLEDIR */
 #endif /* __APPLE__ */
 
 
@@ -1207,9 +1272,9 @@ appleLangDefault(void)
  */
 
 static cups_lang_t *                   /* O - Language data or NULL */
-cups_cache_lookup(const char      *name,/* I - Name of locale */
-                  cups_encoding_t encoding)
-                                       /* I - Encoding of locale */
+cups_cache_lookup(
+    const char      *name,             /* I - Name of locale */
+    cups_encoding_t encoding)          /* I - Encoding of locale */
 {
   cups_lang_t  *lang;                  /* Current language */
 
@@ -1258,6 +1323,23 @@ cups_message_compare(
 }
 
 
+/*
+ * 'cups_message_free()' - Free a message.
+ */
+
+static void
+cups_message_free(_cups_message_t *m)  /* I - Message */
+{
+  if (m->id)
+    free(m->id);
+
+  if (m->str)
+    free(m->str);
+
+  free(m);
+}
+
+
 /*
  * 'cups_unquote()' - Unquote characters in strings...
  */
index 15a79cb1f61091378bdeb504e71b4358be1d246f..4978deff0b0dede53c73f6e8e12c997aab271a8b 100644 (file)
@@ -197,6 +197,8 @@ install-languages:
                fi; \
        done
 
+install-langbundle:
+
 
 #
 # Install programs...
@@ -244,6 +246,8 @@ uninstall-languages:
                $(RMDIR) $(DOCDIR)/$$lang; \
        done
 
+install-langbundle:
+
 
 #
 # Install the docset bits locally...
index 941867fc2e724f213cfd990fbc9ffcefcfb3b655..62c19eb07b9fe6dba2abb79e3953c1c5c7cab4d1 100644 (file)
@@ -113,7 +113,7 @@ converted to just "user" for purposes of user and group checks.</P>
 
 <P>In order to support printing to a shared printer, CUPS has to ask the KDC
 for a copy of your credentials (this is called delegation) that can be sent to
-the remote server for authenticatation. Delegation only works when the system
+the remote server for authentication. Delegation only works when the system
 has a stable hostname which maps to the current address of the system, which
 is why you need a static IP address or DHCP that updates the DNS entry for your
 system.</P>
index a86babdd563437cd2d0bc4e647c8eec313a564cf..35749f2b94e56455834fd12fdc0eec4476a9c314 100644 (file)
@@ -8,7 +8,7 @@
 
 <H1 CLASS="title">Software License Agreement</H1>
 
-<P ALIGN="CENTER">Copyright 2007-2009 by Apple Inc.<BR>
+<P ALIGN="CENTER">Copyright 2007-2010 by Apple Inc.<BR>
 1 Infinite Loop<BR>
 Cupertino, CA 95014 USA<BR>
 <BR>
@@ -21,12 +21,10 @@ and GNU Library General Public License ("LGPL"), Version 2, with exceptions for
 Apple operating systems and the OpenSSL toolkit. A copy of the exceptions and
 licenses follow this introduction.</P>
 
-<P>The GNU LGPL applies to the CUPS and CUPS Imaging libraries
-located in the "cups" and "filter" subdirectories of the CUPS
-source distribution and in the "cups" include directory and
-library files in the binary distributions. The GNU GPL applies to
-the remainder of the CUPS distribution, including the "pdftops"
-filter which is based upon Xpdf.</P>
+<P>The GNU LGPL applies to the CUPS and CUPS Imaging libraries located in the
+"cups" and "filter" subdirectories of the CUPS source distribution and the files
+in the "test" subdirectory. The GNU GPL applies to the remainder of the CUPS
+distribution.</P>
 
 <P>For those not familiar with the GNU GPL, the license basically
 allows you to:</P>
index 20783b950c74793f2b41f12ac48adbb132d69fc2..6730f13f527425affe87a0f50859a76996d94153 100644 (file)
@@ -1,15 +1,25 @@
 # DO NOT DELETE
 
-commandtoescpx.o: ../cups/cups.h ../cups/file.h ../cups/versioning.h
-commandtoescpx.o: ../cups/ipp.h ../cups/http.h ../cups/array.h
-commandtoescpx.o: ../cups/language.h driver.h ../cups/raster.h ../cups/cups.h
-commandtoescpx.o: ../cups/ppd.h ../cups/string-private.h ../config.h
-commandtoescpx.o: ../data/escp.h
-commandtopclx.o: ../cups/cups.h ../cups/file.h ../cups/versioning.h
-commandtopclx.o: ../cups/ipp.h ../cups/http.h ../cups/array.h
-commandtopclx.o: ../cups/language.h driver.h ../cups/raster.h ../cups/cups.h
-commandtopclx.o: ../cups/ppd.h ../cups/string-private.h ../config.h
-commandtopclx.o: ../data/pcl.h
+commandtoescpx.o: ../cups/cups-private.h ../cups/cups.h ../cups/file.h
+commandtoescpx.o: ../cups/versioning.h ../cups/ipp.h ../cups/http.h
+commandtoescpx.o: ../cups/array.h ../cups/language.h ../cups/string-private.h
+commandtoescpx.o: ../config.h ../cups/debug-private.h ../cups/ppd-private.h
+commandtoescpx.o: ../cups/ppd.h ../cups/cups.h ../cups/pwg-private.h
+commandtoescpx.o: ../cups/http-private.h ../cups/http.h ../cups/md5-private.h
+commandtoescpx.o: ../cups/ipp-private.h ../cups/ipp.h
+commandtoescpx.o: ../cups/language-private.h ../cups/transcode.h
+commandtoescpx.o: ../cups/thread-private.h driver.h ../cups/raster.h
+commandtoescpx.o: ../cups/ppd.h ../data/escp.h
+commandtopclx.o: ../cups/cups-private.h ../cups/cups.h ../cups/file.h
+commandtopclx.o: ../cups/versioning.h ../cups/ipp.h ../cups/http.h
+commandtopclx.o: ../cups/array.h ../cups/language.h ../cups/string-private.h
+commandtopclx.o: ../config.h ../cups/debug-private.h ../cups/ppd-private.h
+commandtopclx.o: ../cups/ppd.h ../cups/cups.h ../cups/pwg-private.h
+commandtopclx.o: ../cups/http-private.h ../cups/http.h ../cups/md5-private.h
+commandtopclx.o: ../cups/ipp-private.h ../cups/ipp.h
+commandtopclx.o: ../cups/language-private.h ../cups/transcode.h
+commandtopclx.o: ../cups/thread-private.h driver.h ../cups/raster.h
+commandtopclx.o: ../cups/ppd.h ../data/pcl.h
 rastertoescpx.o: driver.h ../cups/cups.h ../cups/file.h ../cups/versioning.h
 rastertoescpx.o: ../cups/ipp.h ../cups/http.h ../cups/array.h
 rastertoescpx.o: ../cups/language.h ../cups/raster.h ../cups/cups.h
index 1039f4337dbac4cddba250a553e1d8d75dd9e6c1..641da8a671f8968d5f93bf774fa47c53ee7c244c 100644 (file)
@@ -22,9 +22,8 @@
  * Include necessary headers...
  */
 
-#include <cups/cups.h>
+#include <cups/cups-private.h>
 #include "driver.h"
-#include <cups/string-private.h>
 #include "data/escp.h"
 
 
@@ -54,7 +53,9 @@ main(int  argc,                                       /* I - Number of command-line arguments */
     * and return.
     */
 
-    fputs("ERROR: commandtoescpx job-id user title copies options [file]\n", stderr);
+    _cupsLangPrintf(stderr,
+                    _("Usage: %s job-id user title copies options [file]"),
+                   argv[0]);
     return (1);
   }
 
index 2d51e96fbccd57a8591956b0e8cfc7b683bfcff5..7a55bce880271449167fe1775d86bdc1f8fb22b6 100644 (file)
@@ -22,9 +22,8 @@
  * Include necessary headers...
  */
 
-#include <cups/cups.h>
+#include <cups/cups-private.h>
 #include "driver.h"
-#include <cups/string-private.h>
 #include "data/pcl.h"
 
 
@@ -54,7 +53,9 @@ main(int  argc,                                       /* I - Number of command-line arguments */
     * and return.
     */
 
-    fputs("ERROR: commandtopclx job-id user title copies options [file]\n", stderr);
+    _cupsLangPrintf(stderr,
+                    _("Usage: %s job-id user title copies options [file]"),
+                   argv[0]);
     return (1);
   }
 
index d6e3b6b6288becdee92277a0d9f178238ce91b08..0bcc0a92c0318fd9157328cfc2d7bf2de1113fd7 100644 (file)
@@ -1771,9 +1771,9 @@ main(int  argc,                           /* I - Number of command-line arguments */
 
   if (argc < 6 || argc > 7)
   {
-    _cupsLangPrintf(stderr,
-                    _("ERROR: %s job-id user title copies options [file]\n"),
-                    "rastertoescpx");
+    _cupsLangPrintFilter(stderr, "ERROR",
+                         _("%s job-id user title copies options [file]"),
+                        "rastertoescpx");
     return (1);
   }
 
@@ -1790,7 +1790,8 @@ main(int  argc,                           /* I - Number of command-line arguments */
     ppd_status_t       status;         /* PPD error */
     int                        linenum;        /* Line number */
 
-    _cupsLangPrintf(stderr, _("ERROR: The PPD file could not be opened.\n"));
+    _cupsLangPrintFilter(stderr, "ERROR",
+                         _("The PPD file could not be opened."));
 
     status = ppdLastError(&linenum);
 
@@ -1810,8 +1811,7 @@ main(int  argc,                           /* I - Number of command-line arguments */
   {
     if ((fd = open(argv[6], O_RDONLY)) == -1)
     {
-      _cupsLangPrintf(stderr, _("ERROR: Unable to open raster file - %s\n"),
-                      strerror(errno));
+      _cupsLangPrintError("ERROR", _("Unable to open raster file"));
       return (1);
     }
   }
@@ -1863,7 +1863,7 @@ main(int  argc,                           /* I - Number of command-line arguments */
     page ++;
 
     fprintf(stderr, "PAGE: %d 1\n", page);
-    _cupsLangPrintf(stderr, _("INFO: Starting page %d...\n"), page);
+    _cupsLangPrintFilter(stderr, "INFO", _("Starting page %d."), page);
 
     StartPage(ppd, &header);
 
@@ -1877,8 +1877,13 @@ main(int  argc,                          /* I - Number of command-line arguments */
        break;
 
       if ((y & 127) == 0)
-        _cupsLangPrintf(stderr, _("INFO: Printing page %d, %d%% complete...\n"),
-                        page, 100 * y / header.cupsHeight);
+      {
+        _cupsLangPrintFilter(stderr, "INFO",
+                            _("Printing page %d, %d%% complete."),
+                            page, 100 * y / header.cupsHeight);
+        fprintf(stderr, "ATTR: job-media-progress=%d\n",
+               100 * y / header.cupsHeight);
+      }
 
      /*
       * Read and write a line of graphics or whitespace...
@@ -1891,7 +1896,7 @@ main(int  argc,                           /* I - Number of command-line arguments */
     * Eject the page...
     */
 
-    _cupsLangPrintf(stderr, _("INFO: Finished page %d...\n"), page);
+    _cupsLangPrintFilter(stderr, "INFO", _("Finished page %d."), page);
 
     EndPage(ppd, &header);
 
@@ -1910,12 +1915,12 @@ main(int  argc,                         /* I - Number of command-line arguments */
 
   if (page == 0)
   {
-    _cupsLangPuts(stderr, _("ERROR: No pages were found.\n"));
+    _cupsLangPrintFilter(stderr, "ERROR", _("No pages were found."));
     return (1);
   }
   else
   {
-    _cupsLangPuts(stderr, _("INFO: Ready to print.\n"));
+    _cupsLangPrintFilter(stderr, "INFO", _("Ready to print."));
     return (0);
   }
 }
index ce934c8228ef6e57faaf1f21dc735eedd20d8684..42f00822084c2d8e95330ef6ad7203ea1d71bf80 100644 (file)
@@ -1796,9 +1796,9 @@ main(int  argc,                           /* I - Number of command-line arguments */
 
   if (argc < 6 || argc > 7)
   {
-    _cupsLangPrintf(stderr,
-                    _("ERROR: %s job-id user title copies options [file]\n"),
-                    "rastertopclx");
+    _cupsLangPrintFilter(stderr, "ERROR",
+                         _("%s job-id user title copies options [file]"),
+                         "rastertopclx");
     return (1);
   }
 
@@ -1815,7 +1815,8 @@ main(int  argc,                           /* I - Number of command-line arguments */
     ppd_status_t       status;         /* PPD error */
     int                        linenum;        /* Line number */
 
-    _cupsLangPrintf(stderr, _("ERROR: The PPD file could not be opened.\n"));
+    _cupsLangPrintFilter(stderr, "ERROR",
+                         _("The PPD file could not be opened."));
 
     status = ppdLastError(&linenum);
 
@@ -1835,8 +1836,7 @@ main(int  argc,                           /* I - Number of command-line arguments */
   {
     if ((fd = open(argv[6], O_RDONLY)) == -1)
     {
-      _cupsLangPrintf(stderr, _("ERROR: Unable to open raster file - %s\n"),
-                      strerror(errno));
+      _cupsLangPrintError("ERROR", _("Unable to open raster file"));
       return (1);
     }
   }
@@ -1884,7 +1884,7 @@ main(int  argc,                           /* I - Number of command-line arguments */
     Page ++;
 
     fprintf(stderr, "PAGE: %d %d\n", Page, header.NumCopies);
-    _cupsLangPrintf(stderr, _("INFO: Starting page %d...\n"), Page);
+    _cupsLangPrintFilter(stderr, "INFO", _("Starting page %d."), Page);
 
     StartPage(ppd, &header, atoi(argv[1]), argv[2], argv[3],
               num_options, options);
@@ -1899,8 +1899,13 @@ main(int  argc,                          /* I - Number of command-line arguments */
        break;
 
       if ((y & 127) == 0)
-        _cupsLangPrintf(stderr, _("INFO: Printing page %d, %d%% complete...\n"),
-                        Page, 100 * y / header.cupsHeight);
+      {
+        _cupsLangPrintFilter(stderr, "INFO",
+                            _("Printing page %d, %d%% complete."),
+                            Page, 100 * y / header.cupsHeight);
+        fprintf(stderr, "ATTR: job-media-progress=%d\n",
+               100 * y / header.cupsHeight);
+      }
 
      /*
       * Read and write a line of graphics or whitespace...
@@ -1916,7 +1921,7 @@ main(int  argc,                           /* I - Number of command-line arguments */
     * Eject the page...
     */
 
-    _cupsLangPrintf(stderr, _("INFO: Finished page %d...\n"), Page);
+    _cupsLangPrintFilter(stderr, "INFO", _("Finished page %d."), Page);
 
     EndPage(ppd, &header);
 
@@ -1935,12 +1940,12 @@ main(int  argc,                         /* I - Number of command-line arguments */
 
   if (Page == 0)
   {
-    _cupsLangPuts(stderr, _("ERROR: No pages were found.\n"));
+    _cupsLangPrintFilter(stderr, "ERROR", _("No pages were found."));
     return (1);
   }
   else
   {
-    _cupsLangPuts(stderr, _("INFO: Ready to print.\n"));
+    _cupsLangPrintFilter(stderr, "INFO", _("Ready to print."));
     return (0);
   }
 }
index ef7b6661fc557386c94bbc5de99283fd926951d9..648d0b16421bbf4fa6d4c954a769cea794f95ce3 100644 (file)
@@ -76,10 +76,15 @@ bannertops.o: ../cups/cups.h ../cups/ppd.h ../cups/cups.h ../cups/file.h
 bannertops.o: ../cups/versioning.h ../cups/ipp.h ../cups/http.h
 bannertops.o: ../cups/array.h ../cups/language.h ../cups/transcode.h image.h
 bannertops.o: ../cups/raster.h ../cups/ppd.h ../cups/language-private.h
-commandtops.o: ../cups/cups.h ../cups/ppd.h ../cups/cups.h ../cups/file.h
+commandtops.o: ../cups/cups-private.h ../cups/cups.h ../cups/string-private.h
+commandtops.o: ../config.h ../cups/debug-private.h ../cups/ppd-private.h
+commandtops.o: ../cups/ppd.h ../cups/cups.h ../cups/file.h
 commandtops.o: ../cups/versioning.h ../cups/ipp.h ../cups/http.h
-commandtops.o: ../cups/array.h ../cups/language.h ../cups/string-private.h
-commandtops.o: ../config.h ../cups/sidechannel.h
+commandtops.o: ../cups/array.h ../cups/language.h ../cups/pwg-private.h
+commandtops.o: ../cups/http-private.h ../cups/http.h ../cups/md5-private.h
+commandtops.o: ../cups/ipp-private.h ../cups/ipp.h ../cups/language-private.h
+commandtops.o: ../cups/transcode.h ../cups/thread-private.h
+commandtops.o: ../cups/sidechannel.h
 gziptoany.o: ../cups/cups-private.h ../cups/cups.h ../cups/string-private.h
 gziptoany.o: ../config.h ../cups/debug-private.h ../cups/ppd-private.h
 gziptoany.o: ../cups/ppd.h ../cups/cups.h ../cups/file.h ../cups/versioning.h
@@ -228,10 +233,15 @@ bannertops.32.o: bannertops.c  ../cups/cups.h ../cups/ppd.h ../cups/cups.h ../cu
 bannertops.32.o: bannertops.c  ../cups/versioning.h ../cups/ipp.h ../cups/http.h
 bannertops.32.o: bannertops.c  ../cups/array.h ../cups/language.h ../cups/transcode.h image.h
 bannertops.32.o: bannertops.c  ../cups/raster.h ../cups/ppd.h ../cups/language-private.h
-commandtops.32.o: commandtops.c  ../cups/cups.h ../cups/ppd.h ../cups/cups.h ../cups/file.h
+commandtops.32.o: commandtops.c  ../cups/cups-private.h ../cups/cups.h ../cups/string-private.h
+commandtops.32.o: commandtops.c  ../config.h ../cups/debug-private.h ../cups/ppd-private.h
+commandtops.32.o: commandtops.c  ../cups/ppd.h ../cups/cups.h ../cups/file.h
 commandtops.32.o: commandtops.c  ../cups/versioning.h ../cups/ipp.h ../cups/http.h
-commandtops.32.o: commandtops.c  ../cups/array.h ../cups/language.h ../cups/string-private.h
-commandtops.32.o: commandtops.c  ../config.h ../cups/sidechannel.h
+commandtops.32.o: commandtops.c  ../cups/array.h ../cups/language.h ../cups/pwg-private.h
+commandtops.32.o: commandtops.c  ../cups/http-private.h ../cups/http.h ../cups/md5-private.h
+commandtops.32.o: commandtops.c  ../cups/ipp-private.h ../cups/ipp.h ../cups/language-private.h
+commandtops.32.o: commandtops.c  ../cups/transcode.h ../cups/thread-private.h
+commandtops.32.o: commandtops.c  ../cups/sidechannel.h
 gziptoany.32.o: gziptoany.c  ../cups/cups-private.h ../cups/cups.h ../cups/string-private.h
 gziptoany.32.o: gziptoany.c  ../config.h ../cups/debug-private.h ../cups/ppd-private.h
 gziptoany.32.o: gziptoany.c  ../cups/ppd.h ../cups/cups.h ../cups/file.h ../cups/versioning.h
@@ -380,10 +390,15 @@ bannertops.64.o: bannertops.c  ../cups/cups.h ../cups/ppd.h ../cups/cups.h ../cu
 bannertops.64.o: bannertops.c  ../cups/versioning.h ../cups/ipp.h ../cups/http.h
 bannertops.64.o: bannertops.c  ../cups/array.h ../cups/language.h ../cups/transcode.h image.h
 bannertops.64.o: bannertops.c  ../cups/raster.h ../cups/ppd.h ../cups/language-private.h
-commandtops.64.o: commandtops.c  ../cups/cups.h ../cups/ppd.h ../cups/cups.h ../cups/file.h
+commandtops.64.o: commandtops.c  ../cups/cups-private.h ../cups/cups.h ../cups/string-private.h
+commandtops.64.o: commandtops.c  ../config.h ../cups/debug-private.h ../cups/ppd-private.h
+commandtops.64.o: commandtops.c  ../cups/ppd.h ../cups/cups.h ../cups/file.h
 commandtops.64.o: commandtops.c  ../cups/versioning.h ../cups/ipp.h ../cups/http.h
-commandtops.64.o: commandtops.c  ../cups/array.h ../cups/language.h ../cups/string-private.h
-commandtops.64.o: commandtops.c  ../config.h ../cups/sidechannel.h
+commandtops.64.o: commandtops.c  ../cups/array.h ../cups/language.h ../cups/pwg-private.h
+commandtops.64.o: commandtops.c  ../cups/http-private.h ../cups/http.h ../cups/md5-private.h
+commandtops.64.o: commandtops.c  ../cups/ipp-private.h ../cups/ipp.h ../cups/language-private.h
+commandtops.64.o: commandtops.c  ../cups/transcode.h ../cups/thread-private.h
+commandtops.64.o: commandtops.c  ../cups/sidechannel.h
 gziptoany.64.o: gziptoany.c  ../cups/cups-private.h ../cups/cups.h ../cups/string-private.h
 gziptoany.64.o: gziptoany.c  ../config.h ../cups/debug-private.h ../cups/ppd-private.h
 gziptoany.64.o: gziptoany.c  ../cups/ppd.h ../cups/cups.h ../cups/file.h ../cups/versioning.h
index 7f0e4aca2a95645cb1df159a46b7b7b7bba80883..ff7c2d1872536447a8381e2d7ef932d04153efa7 100644 (file)
@@ -115,8 +115,8 @@ main(int  argc,                             /* I - Number of command-line args */
   if (argc < 6 || argc > 7)
   {
     _cupsLangPrintf(stderr,
-                    _("Usage: %s job-id user title copies options [file]\n"),
-                    "bannertops");
+                    _("Usage: %s job-id user title copies options file"),
+                    argv[0]);
     return (1);
   }
 
@@ -180,9 +180,7 @@ load_banner(const char *filename)   /* I - Filename or NULL for stdin */
 
   if (!fp)
   {
-    _cupsLangPrintf(stderr,
-                   _("ERROR: Unable to open banner file \"%s\" - %s\n"),
-                    filename ? filename : "(stdin)", strerror(errno));
+    _cupsLangPrintError(stderr, "ERROR", _("Unable to open print file"));
     exit(1);
   }
 
@@ -218,9 +216,9 @@ load_banner(const char *filename)   /* I - Filename or NULL for stdin */
 
     if (!*ptr)
     {
-      _cupsLangPrintf(stderr,
-                      _("ERROR: Missing value on line %d of banner file\n"),
-                     linenum);
+      _cupsLangPrintFilter(stderr, "ERROR",
+                           _("Missing value on line %d of banner file."),
+                          linenum);
       continue;
     }
 
index deab27e2b510de463bec9630bcfaff93f1c7f47f..47a49072b12d2be58f7ac810c58f963e30b341e4 100644 (file)
@@ -27,9 +27,8 @@
  * Include necessary headers...
  */
 
-#include <cups/cups.h>
+#include <cups/cups-private.h>
 #include <cups/ppd.h>
-#include <cups/string-private.h>
 #include <cups/sidechannel.h>
 
 
@@ -70,7 +69,9 @@ main(int  argc,                               /* I - Number of command-line arguments */
     * and return.
     */
 
-    fputs("ERROR: commandtops job-id user title copies options [file]\n", stderr);
+    _cupsLangPrintf(stderr,
+                    _("Usage: %s job-id user title copies options file"),
+                    argv[0]);
     return (1);
   }
 
index 8929d5f2919bf8488df5bcc6a4aadb6cc705622a..4114511f9ba83e820807ec18833df9f26ed774d0 100644 (file)
@@ -46,8 +46,9 @@ main(int  argc,                               /* I - Number of command-line arguments */
 
   if (argc != 7)
   {
-    fprintf(stderr, _("Usage: %s job-id user title copies options file\n"),
-            argv[0]);
+    _cupsLangPrintf(stderr,
+                    _("Usage: %s job-id user title copies options file"),
+                    argv[0]);
     return (1);
   }
 
@@ -67,8 +68,7 @@ main(int  argc,                               /* I - Number of command-line arguments */
 
   if ((fp = cupsFileOpen(argv[6], "r")) == NULL)
   {
-    fprintf(stderr, _("ERROR: Unable to open file \"%s\": %s\n"), argv[6],
-            strerror(errno));
+    _cupsLangPrintError("ERROR", _("Unable to open print file"));
     return (1);
   }
 
@@ -88,9 +88,9 @@ main(int  argc,                               /* I - Number of command-line arguments */
     while ((bytes = cupsFileRead(fp, buffer, sizeof(buffer))) > 0)
       if (fwrite(buffer, 1, bytes, stdout) < bytes)
       {
-       fprintf(stderr,
-               _("ERROR: Unable to write uncompressed document data: %s\n"),
-               strerror(ferror(stdout)));
+       _cupsLangPrintFilter(stderr, "ERROR",
+                            _("Unable to write uncompressed print data: %s"),
+                            strerror(ferror(stdout)));
        cupsFileClose(fp);
 
        return (1);
index 01a921f37b36dc60dfb2ea794ea2b83d81373ec6..3edc5847ef0ec5b996c542e4ce22319495182436 100644 (file)
@@ -112,8 +112,9 @@ main(int  argc,                             /* I - Number of command-line arguments */
 
   if (argc < 6 || argc > 7)
   {
-    fprintf(stderr, _("Usage: %s job-id user title copies options [file]\n"),
-            argv[0]);
+    _cupsLangPrintf(stderr,
+                    _("Usage: %s job-id user title copies options file"),
+                    argv[0]);
     return (1);
   }
 
@@ -130,11 +131,11 @@ main(int  argc,                           /* I - Number of command-line arguments */
 
     if ((fd = cupsTempFd(filename, sizeof(filename))) < 0)
     {
-      perror("ERROR: Unable to copy image file");
+      _cupsLangPrintError("ERROR", _("Unable to copy print file"));
       return (1);
     }
 
-    fprintf(stderr, "DEBUG: imagetoraster - copying to temp print file \"%s\"\n",
+    fprintf(stderr, "DEBUG: imagetops - copying to temp print file \"%s\".\n",
             filename);
 
     while ((bytes = fread(buffer, 1, sizeof(buffer), stdin)) > 0)
@@ -310,7 +311,8 @@ main(int  argc,                             /* I - Number of command-line arguments */
 
   if (img == NULL)
   {
-    fputs(_("ERROR: Unable to open image file for printing\n"), stderr);
+    _cupsLangPrintFilter(stderr, "ERROR",
+                         _("The print file could not be opened."));
     ppdClose(ppd);
     return (1);
   }
@@ -805,7 +807,7 @@ main(int  argc,                             /* I - Number of command-line arguments */
         if (ppd && ppd->num_filters == 0)
           fprintf(stderr, "PAGE: %d %d\n", page, realcopies);
 
-       fprintf(stderr, _("INFO: Printing page %d...\n"), page);
+       _cupsLangPrintFilter(stderr, "INFO", _("Printing page %d."), page);
 
         printf("%%%%Page: %d %d\n", page, page);
 
index a54080c2d1825b7060a1dffce63478a64af4a4ea..45a2dbdae6c02bcec97d6cb34f56d62f2873463b 100644 (file)
@@ -204,8 +204,9 @@ main(int  argc,                             /* I - Number of command-line arguments */
 
   if (argc < 6 || argc > 7)
   {
-    fprintf(stderr, _("Usage: %s job-id user title copies options [file]\n"),
-            argv[0]);
+    _cupsLangPrintf(stderr,
+                    _("Usage: %s job-id user title copies options file"),
+                    argv[0]);
     return (1);
   }
 
@@ -231,7 +232,7 @@ main(int  argc,                             /* I - Number of command-line arguments */
 
     if (pipe(mypipes))
     {
-      perror("ERROR: Unable to create pipes for imagetops | pstoraster");
+      _cupsLangPrintError("ERROR", _("Unable to create pipes for filters"));
       return (errno);
     }
 
@@ -247,7 +248,6 @@ main(int  argc,                             /* I - Number of command-line arguments */
 
       execlp("pstoraster", argv[0], argv[1], argv[2], argv[3], argv[4], argv[5],
              NULL);
-      perror("ERROR: Unable to exec pstoraster");
       return (errno);
     }
     else if (pid < 0)
@@ -256,7 +256,7 @@ main(int  argc,                             /* I - Number of command-line arguments */
       * Error!
       */
 
-      perror("ERROR: Unable to fork pstoraster");
+      _cupsLangPrintError("ERROR", _("Unable to fork filter"));
       return (errno);
     }
 
@@ -269,13 +269,12 @@ main(int  argc,                           /* I - Number of command-line arguments */
     close(mypipes[1]);
 
    /*
-    * Run imagetops to get the classification or page labelling that was
+    * Run imagetops to get the classification or page labeling that was
     * requested...
     */
 
     execlp("imagetops", argv[0], argv[1], argv[2], argv[3], argv[4], argv[5],
            argv[6], NULL);
-    perror("ERROR: Unable to exec imagetops");
     return (errno);
   }
 
@@ -292,11 +291,12 @@ main(int  argc,                           /* I - Number of command-line arguments */
 
     if ((fd = cupsTempFd(filename, sizeof(filename))) < 0)
     {
-      perror("ERROR: Unable to copy image file");
+      _cupsLangPrintError("ERROR", _("Unable to copy print file"));
       return (1);
     }
 
-    fprintf(stderr, "DEBUG: imagetoraster - copying to temp print file \"%s\"\n",
+    fprintf(stderr,
+            "DEBUG: imagetoraster - copying to temp print file \"%s\".\n",
             filename);
 
     while ((bytes = fread(buffer, 1, sizeof(buffer), stdin)) > 0)
@@ -455,7 +455,8 @@ main(int  argc,                             /* I - Number of command-line arguments */
 
   if (cupsRasterInterpretPPD(&header, ppd, num_options, options, raster_cb))
   {
-    _cupsLangPuts(stderr, _("ERROR: The page setup information was not valid.\n"));
+    _cupsLangPrintFilter(stderr, "ERROR",
+                         _("The page setup information was not valid."));
     fprintf(stderr, "DEBUG: %s\n", cupsRasterErrorString());
     return (1);
   }
@@ -575,7 +576,7 @@ main(int  argc,                             /* I - Number of command-line arguments */
     case CUPS_CSPACE_DEVICED :
     case CUPS_CSPACE_DEVICEE :
     case CUPS_CSPACE_DEVICEF :
-        fprintf(stderr, "ERROR: Colorspace %d not supported.\n",
+        fprintf(stderr, "DEBUG: Colorspace %d not supported.\n",
                header.cupsColorSpace);
        exit(1);
        break;
@@ -656,7 +657,7 @@ main(int  argc,                             /* I - Number of command-line arguments */
   * Open the input image to print...
   */
 
-  _cupsLangPuts(stderr, _("INFO: Loading image file...\n"));
+  _cupsLangPrintFilter(stderr, "INFO", _("Loading print file."));
 
   if (header.cupsColorSpace == CUPS_CSPACE_CIEXYZ ||
       header.cupsColorSpace == CUPS_CSPACE_CIELab ||
@@ -670,7 +671,8 @@ main(int  argc,                             /* I - Number of command-line arguments */
 
   if (img == NULL)
   {
-    _cupsLangPuts(stderr, _("ERROR: The image file to print could not be opened.\n"));
+    _cupsLangPrintFilter(stderr, "ERROR",
+                         _("The print file could not be opened."));
     ppdClose(ppd);
     return (1);
   }
@@ -1175,7 +1177,7 @@ main(int  argc,                           /* I - Number of command-line arguments */
     for (xpage = 0; xpage < xpages; xpage ++)
       for (ypage = 0; ypage < ypages; ypage ++, page ++)
       {
-        fprintf(stderr, _("INFO: Formatting page %d...\n"), page);
+        _cupsLangPrintFilter(stderr, "INFO", _("Formatting page %d."), page);
 
        if (Orientation & 1)
        {
@@ -1232,9 +1234,9 @@ main(int  argc,                           /* I - Number of command-line arguments */
              if (cupsRasterWritePixels(ras, row, header.cupsBytesPerLine) <
                      header.cupsBytesPerLine)
              {
-               _cupsLangPuts(stderr,
-                             _("ERROR: The raster data could not be written "
-                               "to the driver.\n"));
+               _cupsLangPrintFilter(stderr, "ERROR",
+                                    _("Unable to send raster data to the "
+                                      "driver."));
                cupsImageClose(img);
                exit(1);
              }
@@ -1329,9 +1331,9 @@ main(int  argc,                           /* I - Number of command-line arguments */
            if (cupsRasterWritePixels(ras, row, header.cupsBytesPerLine) <
                                      header.cupsBytesPerLine)
            {
-             _cupsLangPuts(stderr,
-                           _("ERROR: The raster data could not be written to "
-                             "the driver.\n"));
+             _cupsLangPrintFilter(stderr, "ERROR",
+                                  _("Unable to send raster data to the "
+                                    "driver."));
              cupsImageClose(img);
              exit(1);
            }
@@ -1370,9 +1372,9 @@ main(int  argc,                           /* I - Number of command-line arguments */
              if (cupsRasterWritePixels(ras, row, header.cupsBytesPerLine) <
                      header.cupsBytesPerLine)
              {
-               _cupsLangPuts(stderr,
-                             _("ERROR: The raster data could not be written "
-                               "to the driver.\n"));
+               _cupsLangPrintFilter(stderr, "ERROR",
+                                    _("Unable to send raster data to the "
+                                      "driver."));
                cupsImageClose(img);
                exit(1);
              }
index 0868e6296af2db05f9692b043f9fd0c4c02c2952..a1092a7a678abdf921a733a3a6795ea89571db11 100644 (file)
@@ -100,7 +100,7 @@ main(int  argc,                             /* I - Number of command-line args */
   if (argc < 6 || argc > 7)
   {
     _cupsLangPrintf(stderr,
-                    _("Usage: %s job user title copies options [filename]\n"),
+                    _("Usage: %s job user title copies options [filename]"),
                     argv[0]);
     return (1);
   }
index 3ca28456c48c95344a197dea020be415c53bd744..7d11885ce2c7cc5a76a3cf3d602e3ec3ad689cfd 100644 (file)
@@ -244,8 +244,7 @@ psTextInitialize(void)
   }
   else
   {
-    _cupsLangPrintf(stderr, _("ERROR: Unable to open \"%s\" - %s\n"), filename,
-                    strerror(errno));
+    _cupsLangPrintError(stderr, "ERROR", _("Unable to open print file"));
     exit(1);
   }
 
@@ -261,8 +260,7 @@ psTextInitialize(void)
     * Can't open charset file!
     */
 
-    _cupsLangPrintf(stderr, _("ERROR: Unable to open %s: %s\n"), filename,
-                   strerror(errno));
+    _cupsLangPrintError(stderr, "ERROR", _("Unable to open print file"));
     exit(1);
   }
 
@@ -273,7 +271,8 @@ psTextInitialize(void)
     */
 
     fclose(fp);
-    _cupsLangPrintf(stderr, _("ERROR: Bad charset file %s\n"), filename);
+    _cupsLangPrintFilter(stderr, "ERROR", _("Bad charset file \"%s\"."),
+                         filename);
     exit(1);
   }
 
@@ -317,8 +316,8 @@ psTextInitialize(void)
       * Can't have a font without all required values...
       */
 
-      _cupsLangPrintf(stderr, _("ERROR: Bad font description line: %s\n"),
-                      valptr);
+      _cupsLangPrintFilter(stderr, "ERROR",
+                           _("Bad font description line \"%s\"."), valptr);
       fclose(fp);
       exit(1);
     }
@@ -331,7 +330,8 @@ psTextInitialize(void)
       fonts->directions[fonts->num_fonts] = -1;
     else
     {
-      _cupsLangPrintf(stderr, _("ERROR: Bad text direction %s\n"), valptr);
+      _cupsLangPrintFilter(stderr, "ERROR", _("Bad text direction \"%s\"."),
+                           valptr);
       fclose(fp);
       exit(1);
     }
@@ -354,8 +354,8 @@ psTextInitialize(void)
       * Can't have a font without all required values...
       */
 
-      _cupsLangPrintf(stderr, _("ERROR: Bad font description line: %s\n"),
-                      valptr);
+      _cupsLangPrintFilter(stderr, "ERROR",
+                           _("Bad font description line \"%s\"."), valptr);
       fclose(fp);
       exit(1);
     }
@@ -368,7 +368,8 @@ psTextInitialize(void)
       fonts->widths[fonts->num_fonts] = 2;
     else 
     {
-      _cupsLangPrintf(stderr, _("ERROR: Bad text width %s\n"), valptr);
+      _cupsLangPrintFilter(stderr, "ERROR", _("Bad text width \"%s\"."),
+                           valptr);
       fclose(fp);
       exit(1);
     }
@@ -430,7 +431,7 @@ psTextInitialize(void)
 
   if (cupsArrayCount(fonts->unique) == 0)
   {
-    _cupsLangPrintf(stderr, _("ERROR: No fonts in charset file %s\n"), filename);
+    _cupsLangPrintFilter(stderr, "ERROR", _("No fonts in charset file."));
     exit(1);
   }
 
index 06e1f93d3c76b52823c166788549902f43b98d58..14bf86dbfa48c0db2d0188be18c0888726f9356e 100644 (file)
@@ -260,7 +260,7 @@ main(int  argc,                             /* I - Number of command-line args */
   if (argc < 6 || argc > 7)
   {
     _cupsLangPrintf(stderr,
-                    _("Usage: %s job-id user title copies options [file]\n"),
+                    _("Usage: %s job-id user title copies options file"),
                     argv[0]);
     return (1);
   }
@@ -296,8 +296,7 @@ main(int  argc,                             /* I - Number of command-line args */
 
     if ((fp = cupsFileOpen(argv[6], "r")) == NULL)
     {
-      _cupsLangPrintf(stderr, _("ERROR: Unable to open file \"%s\" - %s\n"),
-                      argv[6], strerror(errno));
+      _cupsLangPrintError("ERROR", _("Unable to open print file"));
       return (1);
     }
   }
@@ -442,17 +441,13 @@ add_page(pstops_doc_t *doc,               /* I - Document information */
 
   if (!doc->pages)
   {
-    _cupsLangPrintf(stderr,
-                    _("EMERG: Unable to allocate memory for pages array: %s\n"),
-                    strerror(errno));
+    _cupsLangPrintError("EMERG", _("Unable to allocate memory for pages array"));
     exit(1);
   }
 
   if ((pageinfo = calloc(1, sizeof(pstops_page_t))) == NULL)
   {
-    _cupsLangPrintf(stderr,
-                    _("EMERG: Unable to allocate memory for page info: %s\n"),
-                    strerror(errno));
+    _cupsLangPrintError("EMERG", _("Unable to allocate memory for page info"));
     exit(1);
   }
 
@@ -564,13 +559,7 @@ copy_bytes(cups_file_t *fp,                /* I - File to read from */
 
   if (cupsFileSeek(fp, offset) < 0)
   {
-    _cupsLangPrintf(stderr,
-#ifdef HAVE_LONG_LONG
-                   _("ERROR: Unable to seek to offset %lld in file - %s\n"),
-#else
-                   _("ERROR: Unable to seek to offset %ld in file - %s\n"),
-#endif /* HAVE_LONG_LONG */
-                   CUPS_LLCAST offset, strerror(errno));
+    _cupsLangPrintError("ERROR", _("Unable to see in file"));
     return;
   }
 
@@ -2114,9 +2103,8 @@ doc_printf(pstops_doc_t *doc,             /* I - Document information */
 
   if (bytes > sizeof(buffer))
   {
-    _cupsLangPrintf(stderr,
-                   _("ERROR: doc_printf overflow (%d bytes) detected, "
-                     "aborting\n"), (int)bytes);
+    _cupsLangPrintFilter(stderr, "ERROR",
+                         _("Buffer overflow detected, aborting."));
     exit(1);
   }
 
@@ -2255,23 +2243,25 @@ include_feature(
 
   if ((option = ppdFindOption(ppd, name + 1)) == NULL)
   {
-    _cupsLangPrintf(stderr, _("WARNING: Unknown option \"%s\"\n"), name + 1);
+    _cupsLangPrintFilter(stderr, "WARNING", _("Unknown option \"%s\"."),
+                         name + 1);
     return (num_options);
   }
 
   if (option->section == PPD_ORDER_EXIT ||
       option->section == PPD_ORDER_JCL)
   {
-    _cupsLangPrintf(stderr, _("WARNING: Option \"%s\" cannot be included via "
-                              "IncludeFeature\n"), name + 1);
+    _cupsLangPrintFilter(stderr, "WARNING",
+                         _("Option \"%s\" cannot be included via "
+                          "%%%%IncludeFeature."), name + 1);
     return (num_options);
   }
 
   if (!ppdFindChoice(option, value))
   {
-    _cupsLangPrintf(stderr,
-                    _("WARNING: Unknown choice \"%s\" for option \"%s\"\n"),
-                    value, name + 1);
+    _cupsLangPrintFilter(stderr, "WARNING",
+                        _("Unknown choice \"%s\" for option \"%s\"."),
+                        value, name + 1);
     return (num_options);
   }
 
@@ -2416,18 +2406,6 @@ set_pstops_options(
   doc->new_bounding_box[2] = INT_MIN;
   doc->new_bounding_box[3] = INT_MIN;
 
- /*
-  * See what the source content type is.  When printing PostScript content we
-  * want to do scaling and orientation, but otherwise we don't want to change
-  * anything...
-  */
-
-  if ((content_type = getenv("CONTENT_TYPE")) == NULL)
-    content_type = "application/postscript";
-
-  if (!strcasecmp(content_type, "application/postscript"))
-    Orientation = 0;
-
  /*
   * AP_FIRSTPAGE_* and the corresponding non-first-page options.
   */
@@ -2472,8 +2450,9 @@ set_pstops_options(
 
     if (intval < 10 || intval > 1000)
     {
-      _cupsLangPrintf(stderr, _("ERROR: Unsupported brightness value %s, using "
-                                "brightness=100\n"), val);
+      _cupsLangPrintFilter(stderr, "ERROR",
+                           _("Unsupported brightness value %s, using "
+                            "brightness=100."), val);
       doc->brightness = 1.0f;
     }
     else
@@ -2522,6 +2501,9 @@ set_pstops_options(
   * (Only for original PostScript content)
   */
 
+  if ((content_type = getenv("CONTENT_TYPE")) == NULL)
+    content_type = "application/postscript";
+
   if (!strcasecmp(content_type, "application/postscript"))
   {
     if ((val = cupsGetOption("fitplot", num_options, options)) != NULL &&
@@ -2550,8 +2532,9 @@ set_pstops_options(
 
     if (intval < 1 || intval > 10000)
     {
-      _cupsLangPrintf(stderr, _("ERROR: Unsupported gamma value %s, using "
-                                "gamma=1000\n"), val);
+      _cupsLangPrintFilter(stderr, "ERROR",
+                           _("Unsupported gamma value %s, using gamma=1000."),
+                          val);
       doc->gamma = 1.0f;
     }
     else
@@ -2593,9 +2576,9 @@ set_pstops_options(
           doc->number_up = intval;
          break;
       default :
-          _cupsLangPrintf(stderr,
-                         _("ERROR: Unsupported number-up value %d, using "
-                           "number-up=1\n"), intval);
+          _cupsLangPrintFilter(stderr, "ERROR",
+                              _("Unsupported number-up value %d, using "
+                                "number-up=1."), intval);
           doc->number_up = 1;
          break;
     }
@@ -2627,8 +2610,9 @@ set_pstops_options(
       doc->number_up_layout = PSTOPS_LAYOUT_BTRL;
     else
     {
-      _cupsLangPrintf(stderr, _("ERROR: Unsupported number-up-layout value %s, "
-                                "using number-up-layout=lrtb\n"), val);
+      _cupsLangPrintFilter(stderr, "ERROR",
+                           _("Unsupported number-up-layout value %s, using "
+                            "number-up-layout=lrtb."), val);
       doc->number_up_layout = PSTOPS_LAYOUT_LRTB;
     }
   }
@@ -2677,8 +2661,9 @@ set_pstops_options(
       doc->page_border = PSTOPS_BORDERDOUBLE2;
     else
     {
-      _cupsLangPrintf(stderr, _("ERROR: Unsupported page-border value %s, "
-                                "using page-border=none\n"), val);
+      _cupsLangPrintFilter(stderr, "ERROR",
+                           _("Unsupported page-border value %s, using "
+                            "page-border=none."), val);
       doc->page_border = PSTOPS_BORDERNONE;
     }
   }
index f93b9bb33650e3b371d5244c5adfc1b7c564f782..7da6a689975c2ee7d928a5f87113ab0f73911ade 100644 (file)
@@ -981,9 +981,9 @@ main(int  argc,                             /* I - Number of command-line arguments */
     * and return.
     */
 
-    _cupsLangPrintf(stderr,
-                    _("Usage: %s job-id user title copies options [file]\n"),
-                    "rastertoepson");
+    _cupsLangPrintFilter(stderr, "ERROR",
+                         _("%s job-id user title copies options [file]"),
+                         "rastertoepson");
     return (1);
   }
 
@@ -995,8 +995,7 @@ main(int  argc,                             /* I - Number of command-line arguments */
   {
     if ((fd = open(argv[6], O_RDONLY)) == -1)
     {
-      _cupsLangPrintf(stderr, _("ERROR: Unable to open raster file - %s\n"),
-                      strerror(errno));
+      _cupsLangPrintError("ERROR", _("Unable to open raster file"));
       sleep(1);
       return (1);
     }
@@ -1035,7 +1034,8 @@ main(int  argc,                           /* I - Number of command-line arguments */
     ppd_status_t       status;         /* PPD error */
     int                        linenum;        /* Line number */
 
-    _cupsLangPrintf(stderr, _("ERROR: The PPD file could not be opened.\n"));
+    _cupsLangPrintFilter(stderr, "ERROR",
+                         _("The PPD file could not be opened."));
 
     status = ppdLastError(&linenum);
 
@@ -1066,6 +1066,7 @@ main(int  argc,                           /* I - Number of command-line arguments */
     page ++;
 
     fprintf(stderr, "PAGE: %d %d\n", page, header.NumCopies);
+    _cupsLangPrintFilter(stderr, "INFO", _("Starting page %d."), page);
 
    /*
     * Start the page...
@@ -1087,8 +1088,13 @@ main(int  argc,                          /* I - Number of command-line arguments */
        break;
 
       if ((y & 127) == 0)
-        _cupsLangPrintf(stderr, _("INFO: Printing page %d, %d%% complete...\n"),
-                        page, 100 * y / header.cupsHeight);
+      {
+        _cupsLangPrintFilter(stderr, "INFO",
+                            _("Printing page %d, %d%% complete."),
+                            page, 100 * y / header.cupsHeight);
+        fprintf(stderr, "ATTR: job-media-progress=%d\n",
+               100 * y / header.cupsHeight);
+      }
 
      /*
       * Read a line of graphics...
@@ -1108,6 +1114,8 @@ main(int  argc,                           /* I - Number of command-line arguments */
     * Eject the page...
     */
 
+    _cupsLangPrintFilter(stderr, "INFO", _("Finished page %d."), page);
+
     EndPage(&header);
 
     if (Canceled)
@@ -1136,12 +1144,12 @@ main(int  argc,                         /* I - Number of command-line arguments */
 
   if (page == 0)
   {
-    _cupsLangPuts(stderr, _("ERROR: No pages were found.\n"));
+    _cupsLangPrintFilter(stderr, "ERROR", _("No pages were found."));
     return (1);
   }
   else
   {
-    _cupsLangPuts(stderr, _("INFO: Ready to print.\n"));
+    _cupsLangPrintFilter(stderr, "INFO", _("Ready to print."));
     return (0);
   }
 }
index e39194f627ab4d07c40afff578307d97967cae9a..c714fd774e8e98e0a997f0fae79c07475240107d 100644 (file)
@@ -707,9 +707,9 @@ main(int  argc,                             /* I - Number of command-line arguments */
     * and return.
     */
 
-    _cupsLangPrintf(stderr,
-                    _("Usage: %s job-id user title copies options [file]\n"),
-                    "rastertohp");
+    _cupsLangPrintFilter(stderr, "ERROR",
+                         _("%s job-id user title copies options [file]"),
+                        "rastertohp");
     return (1);
   }
 
@@ -721,8 +721,7 @@ main(int  argc,                             /* I - Number of command-line arguments */
   {
     if ((fd = open(argv[6], O_RDONLY)) == -1)
     {
-      _cupsLangPrintf(stderr, _("ERROR: Unable to open raster file - %s\n"),
-                      strerror(errno));
+      _cupsLangPrintError("ERROR", _("Unable to open raster file"));
       sleep(1);
       return (1);
     }
@@ -761,7 +760,8 @@ main(int  argc,                             /* I - Number of command-line arguments */
     ppd_status_t       status;         /* PPD error */
     int                        linenum;        /* Line number */
 
-    _cupsLangPrintf(stderr, _("ERROR: The PPD file could not be opened.\n"));
+    _cupsLangPrintFilter(stderr, "ERROR",
+                         _("The PPD file could not be opened."));
 
     status = ppdLastError(&linenum);
 
@@ -790,6 +790,7 @@ main(int  argc,                             /* I - Number of command-line arguments */
     Page ++;
 
     fprintf(stderr, "PAGE: %d %d\n", Page, header.NumCopies);
+    _cupsLangPrintFilter(stderr, "INFO", _("Starting page %d."), Page);
 
    /*
     * Start the page...
@@ -811,8 +812,13 @@ main(int  argc,                            /* I - Number of command-line arguments */
        break;
 
       if ((y & 127) == 0)
-        _cupsLangPrintf(stderr, _("INFO: Printing page %d, %d%% complete...\n"),
-                        Page, 100 * y / header.cupsHeight);
+      {
+        _cupsLangPrintFilter(stderr, "INFO",
+                            _("Printing page %d, %d%% complete."),
+                            Page, 100 * y / header.cupsHeight);
+        fprintf(stderr, "ATTR: job-media-progress=%d\n",
+               100 * y / header.cupsHeight);
+      }
 
      /*
       * Read a line of graphics...
@@ -836,6 +842,8 @@ main(int  argc,                             /* I - Number of command-line arguments */
     * Eject the page...
     */
 
+    _cupsLangPrintFilter(stderr, "INFO", _("Finished page %d."), Page);
+
     EndPage();
 
     if (Canceled)
@@ -865,12 +873,12 @@ main(int  argc,                           /* I - Number of command-line arguments */
 
   if (Page == 0)
   {
-    _cupsLangPuts(stderr, _("ERROR: No pages were found.\n"));
+    _cupsLangPrintFilter(stderr, "ERROR", _("No pages were found."));
     return (1);
   }
   else
   {
-    _cupsLangPuts(stderr, _("INFO: Ready to print.\n"));
+    _cupsLangPrintFilter(stderr, "INFO", _("Ready to print."));
     return (0);
   }
 }
index 917c0e38131a0f30d98688f99c38f61cae7f58bf..cc220cf660d9874b0804f61c46582a0b97ca6faf 100644 (file)
@@ -1130,9 +1130,9 @@ main(int  argc,                           /* I - Number of command-line arguments */
     * and return.
     */
 
-    _cupsLangPrintf(stderr,
-                    _("Usage: %s job-id user title copies options [file]\n"),
-                    "rastertolabel");
+    _cupsLangPrintFilter(stderr, "ERROR",
+                         _("%s job-id user title copies options [file]"),
+                        "rastertolabel");
     return (1);
   }
 
@@ -1144,8 +1144,7 @@ main(int  argc,                           /* I - Number of command-line arguments */
   {
     if ((fd = open(argv[6], O_RDONLY)) == -1)
     {
-      _cupsLangPrintf(stderr, _("ERROR: Unable to open raster file - %s\n"),
-                      strerror(errno));
+      _cupsLangPrintError("ERROR", _("Unable to open raster file"));
       sleep(1);
       return (1);
     }
@@ -1186,7 +1185,8 @@ main(int  argc,                           /* I - Number of command-line arguments */
     ppd_status_t       status;         /* PPD error */
     int                        linenum;        /* Line number */
 
-    _cupsLangPrintf(stderr, _("ERROR: The PPD file could not be opened.\n"));
+    _cupsLangPrintFilter(stderr, "ERROR",
+                         _("The PPD file could not be opened."));
 
     status = ppdLastError(&linenum);
 
@@ -1222,6 +1222,7 @@ main(int  argc,                           /* I - Number of command-line arguments */
     Page ++;
 
     fprintf(stderr, "PAGE: %d 1\n", Page);
+    _cupsLangPrintFilter(stderr, "INFO", _("Starting page %d."), Page);
 
    /*
     * Start the page...
@@ -1243,8 +1244,13 @@ main(int  argc,                          /* I - Number of command-line arguments */
        break;
 
       if ((y & 15) == 0)
-        _cupsLangPrintf(stderr, _("INFO: Printing page %d, %d%% complete...\n"),
-                        Page, 100 * y / header.cupsHeight);
+      {
+        _cupsLangPrintFilter(stderr, "INFO",
+                            _("Printing page %d, %d%% complete."),
+                            Page, 100 * y / header.cupsHeight);
+        fprintf(stderr, "ATTR: job-media-progress=%d\n",
+               100 * y / header.cupsHeight);
+      }
 
      /*
       * Read a line of graphics...
@@ -1264,6 +1270,8 @@ main(int  argc,                           /* I - Number of command-line arguments */
     * Eject the page...
     */
 
+    _cupsLangPrintFilter(stderr, "INFO", _("Finished page %d."), Page);
+
     EndPage(ppd, &header);
 
     if (Canceled)
@@ -1291,12 +1299,12 @@ main(int  argc,                         /* I - Number of command-line arguments */
 
   if (Page == 0)
   {
-    _cupsLangPuts(stderr, _("ERROR: No pages were found.\n"));
+    _cupsLangPrintFilter(stderr, "ERROR", _("No pages were found."));
     return (1);
   }
   else
   {
-    _cupsLangPuts(stderr, _("INFO: Ready to print.\n"));
+    _cupsLangPrintFilter(stderr, "INFO", _("Ready to print."));
     return (0);
   }
 
index da107412b4bf8421351309194e31ecf1844aadfe..9c66e63f4a7cf363817ae563a361a313d7a1a769 100644 (file)
@@ -515,7 +515,7 @@ TextMain(const char *name,  /* I - Name of filter */
   if (argc < 6 || argc > 7)
   {
     _cupsLangPrintf(stderr,
-                    _("Usage: %s job-id user title copies options [file]\n"),
+                    _("Usage: %s job-id user title copies options [file]"),
                     name);
     return (1);
   }
@@ -610,7 +610,8 @@ TextMain(const char *name,  /* I - Name of filter */
 
     if (PageColumns < 1)
     {
-      _cupsLangPrintf(stderr, _("ERROR: Bad columns value %d\n"), PageColumns);
+      _cupsLangPrintFilter(stderr, "ERROR", _("Bad columns value %d."),
+                           PageColumns);
       return (1);
     }
   }
@@ -621,7 +622,8 @@ TextMain(const char *name,  /* I - Name of filter */
 
     if (CharsPerInch <= 0.0)
     {
-      _cupsLangPrintf(stderr, _("ERROR: Bad cpi value %f\n"), CharsPerInch);
+      _cupsLangPrintFilter(stderr, "ERROR", _("Bad cpi value %f."),
+                           CharsPerInch);
       return (1);
     }
   }
@@ -632,7 +634,8 @@ TextMain(const char *name,  /* I - Name of filter */
 
     if (LinesPerInch <= 0.0)
     {
-      _cupsLangPrintf(stderr, _("ERROR: Bad lpi value %f\n"), LinesPerInch);
+      _cupsLangPrintFilter(stderr, "ERROR", _("Bad lpi value %f."),
+                           LinesPerInch);
       return (1);
     }
   }
index bc3a9871ee1b19892a6eafe89b666469c5a36eff..ecf5f6adcf6a8fb7b63c8f0b9d0fb7e2d6111f65 100644 (file)
@@ -176,22 +176,25 @@ WriteProlog(const char *title,            /* I - Title of job */
   if (SizeColumns <= 0 || SizeColumns > 32767 ||
       SizeLines <= 0 || SizeLines > 32767)
   {
-    _cupsLangPrintf(stderr, _("ERROR: Unable to print %dx%d text page.\n"),
-                    SizeColumns, SizeLines);
+    _cupsLangPrintFilter(stderr, "ERROR",
+                         _("Unable to print %dx%d text page."),
+                         SizeColumns, SizeLines);
     exit(1);
   }
 
   if ((Page = calloc(sizeof(lchar_t *), SizeLines)) == NULL)
   {
-    _cupsLangPrintf(stderr, _("ERROR: Unable to print %dx%d text page.\n"),
-                    SizeColumns, SizeLines);
+    _cupsLangPrintFilter(stderr, "ERROR",
+                         _("Unable to print %dx%d text page."),
+                         SizeColumns, SizeLines);
     exit(1);
   }
 
   if ((Page[0] = calloc(sizeof(lchar_t), SizeColumns * SizeLines)) == NULL)
   {
-    _cupsLangPrintf(stderr, _("ERROR: Unable to print %dx%d text page.\n"),
-                    SizeColumns, SizeLines);
+    _cupsLangPrintFilter(stderr, "ERROR",
+                         _("Unable to print %dx%d text page."),
+                         SizeColumns, SizeLines);
     exit(1);
   }
 
@@ -209,8 +212,8 @@ WriteProlog(const char *title,              /* I - Title of job */
 
   if (ColumnWidth <= 0)
   {
-    _cupsLangPrintf(stderr, _("ERROR: Unable to print %d text columns\n"),
-                    PageColumns);
+    _cupsLangPrintFilter(stderr, "ERROR",
+                         _("Unable to print %d text columns."), PageColumns);
     exit(1);
   }
 
@@ -257,8 +260,7 @@ WriteProlog(const char *title,              /* I - Title of job */
   }
   else
   {
-    fprintf(stderr, _("ERROR: Unable to open \"%s\" - %s\n"), filename,
-            strerror(errno));
+    _cupsLangPrintError(stderr, "ERROR", _("Unable to open psglyphs"));
     exit(1);
   }
 
@@ -277,8 +279,7 @@ WriteProlog(const char *title,              /* I - Title of job */
       * Can't open charset file!
       */
 
-      fprintf(stderr, _("ERROR: Unable to open %s: %s\n"), filename,
-              strerror(errno));
+      _cupsLangPrintError(stderr, "ERROR", _("Unable to open charset file"));
       exit(1);
     }
 
@@ -293,7 +294,8 @@ WriteProlog(const char *title,              /* I - Title of job */
       */
 
       fclose(fp);
-      fprintf(stderr, _("ERROR: Bad charset file %s\n"), filename);
+      _cupsLangPrintFilter(stderr, "ERROR", _("Bad charset file \"%s\"."),
+                           filename);
       exit(1);
     }
 
@@ -304,7 +306,8 @@ WriteProlog(const char *title,              /* I - Title of job */
       */
 
       fclose(fp);
-      fprintf(stderr, _("ERROR: Bad charset file %s\n"), filename);
+      _cupsLangPrintFilter(stderr, "ERROR", _("Bad charset file \"%s\"."),
+                           filename);
       exit(1);
     }
 
@@ -357,7 +360,8 @@ WriteProlog(const char *title,              /* I - Title of job */
          * Can't have a font without all required values...
          */
 
-         fprintf(stderr, _("ERROR: Bad font description line: %s\n"), valptr);
+         _cupsLangPrintFilter(stderr, "ERROR",
+                              _("Bad font description line: %s"), valptr);
          fclose(fp);
          exit(1);
        }
@@ -370,7 +374,8 @@ WriteProlog(const char *title,              /* I - Title of job */
          Directions[NumFonts] = -1;
        else
        {
-         fprintf(stderr, _("ERROR: Bad text direction %s\n"), valptr);
+         _cupsLangPrintFilter(stderr, "ERROR", _("Bad text direction: %s"),
+                              valptr);
          fclose(fp);
          exit(1);
        }
@@ -393,7 +398,8 @@ WriteProlog(const char *title,              /* I - Title of job */
          * Can't have a font without all required values...
          */
 
-         fprintf(stderr, _("ERROR: Bad font description line: %s\n"), valptr);
+         _cupsLangPrintFilter(stderr, "ERROR",
+                              _("Bad font description line: %s"), valptr);
          fclose(fp);
          exit(1);
        }
@@ -406,7 +412,8 @@ WriteProlog(const char *title,              /* I - Title of job */
           Widths[NumFonts] = 2;
        else 
        {
-         fprintf(stderr, _("ERROR: Bad text width %s\n"), valptr);
+         _cupsLangPrintFilter(stderr, "ERROR",
+                              _("Bad text width: %s"), valptr);
          fclose(fp);
          exit(1);
        }
@@ -462,7 +469,7 @@ WriteProlog(const char *title,              /* I - Title of job */
     }
     else
     {
-      fprintf(stderr, _("ERROR: Bad charset type %s\n"), lineptr);
+      _cupsLangPrintFilter(stderr, "ERROR", _("Bad charset type: %s"), lineptr);
       fclose(fp);
       exit(1);
     }
index def61eb48e172c1cefe26d1232efda5d601d32f0..fcfd30178264daa3ea7e77be2623c24391616099 100644 (file)
@@ -79,6 +79,10 @@ install-languages:
                fi ; \
        done
 
+install-langbundle: po2strings
+       $(INSTALL_DIR) -m 755 "$(BUILDROOT)$(CUPS_BUNDLEDIR)/Resources/English.lproj"
+       $(INSTALL_DATA) cups.strings "$(BUILDROOT)$(CUPS_BUNDLEDIR)/Resources/English.lproj"
+
 
 #
 # Install programs...
@@ -112,29 +116,36 @@ uninstall-languages:
                $(RM) $(LOCALEDIR)/$$loc/cups_$$loc.po ; \
        done
 
+uninstall-langbundle:
+       $(RM) "$(BUILDROOT)$(CUPS_BUNDLEDIR)/Resources/English.lproj/cups.strings"
+
 
 #
-# pot - Creates/updates the cups.pot template file, and merges changes
-#       into existing message catalogs.
+# pot - Creates/updates the cups.pot template file, merges changes into existing
+#       message catalogs, and updates the cups.strings file.  We don't use
+#       xgettext to update the cups.strings file due to known xgettext bugs.
 #
 
-pot:
+pot:   checkpo po2strings
        echo Updating cups.pot...
        mv cups.pot cups.pot.bck
        touch cups.pot
-       cd ..; xgettext -o locale/cups.pot -j -s --keyword=_ --no-wrap \
+       cd ..; xgettext -o locale/cups.pot -s \
+               --keyword=_ --no-wrap \
                --copyright-holder="Apple Inc." \
+               --package-name="CUPS" --package-version="1.5" \
                --msgid-bugs-address="http://www.cups.org/str.php" \
                */*.c */*.cxx
-       (cat cups.header; \
-        cat cups.pot | sed -e '1,6d' -e '1,$$s/PACKAGE VERSION/CUPS 1.4/' \
-            -e '1,$$s/charset=CHARSET/charset=utf-8/'; \
-        cat cups.footer) > cups.pot.N
+       (cat cups.header; tail +6 cups.pot; cat cups.footer) > cups.pot.N
        mv cups.pot.N cups.pot
+       echo Checking cups.pot...
+       ./checkpo cups.pot
        for loc in $(LANGUAGES) ; do \
                echo Merging changes into cups_$$loc.po... ; \
                msgmerge -o cups_$$loc.po -s -N --no-location cups_$$loc.po cups.pot ; \
        done
+       echo Updating cups.strings...
+       ./po2strings cups.pot cups.strings
 
 
 #
index 93d68e1a2825663342ff9cdab7a2ba2ef5099900..73cad3ca555d7dd3bef5fa9289d31c38ea4b8a68 100644 (file)
@@ -80,12 +80,14 @@ main(int  argc,                             /* I - Number of command-line args */
     * Use the CUPS .po loader to get the message strings...
     */
 
-    if ((po = _cupsMessageLoad(argv[i], 0)) == NULL)
+    if ((po = _cupsMessageLoad(argv[i], 1)) == NULL)
     {
       perror(argv[i]);
       return (1);
     }
 
+    if (i > 1)
+      putchar('\n');
     printf("%s: ", argv[i]);
     fflush(stdout);
 
@@ -101,6 +103,68 @@ main(int  argc,                            /* I - Number of command-line args */
          msg;
         msg = (_cups_message_t *)cupsArrayNext(po))
     {
+     /*
+      * Make sure filter message prefixes are not translated...
+      */
+
+      if (!strncmp(msg->id, "ALERT:", 6) || !strncmp(msg->id, "CRIT:", 5) ||
+          !strncmp(msg->id, "DEBUG:", 6) || !strncmp(msg->id, "DEBUG2:", 7) ||
+          !strncmp(msg->id, "EMERG:", 6) || !strncmp(msg->id, "ERROR:", 6) ||
+          !strncmp(msg->id, "INFO:", 5) || !strncmp(msg->id, "NOTICE:", 7) ||
+          !strncmp(msg->id, "WARNING:", 8))
+      {
+        if (pass)
+       {
+         pass = 0;
+         puts("FAIL");
+       }
+
+       printf("    Bad prefix on filter message \"%s\"\n",
+              abbreviate(msg->id, idbuf, sizeof(idbuf)));
+      }
+
+      idfmt = msg->id + strlen(msg->id) - 1;
+      if (idfmt >= msg->id && *idfmt == '\n')
+      {
+        if (pass)
+       {
+         pass = 0;
+         puts("FAIL");
+       }
+
+       printf("    Trailing newline in message \"%s\"\n",
+              abbreviate(msg->id, idbuf, sizeof(idbuf)));
+      }
+
+      for (; idfmt >= msg->id; idfmt --)
+        if (!isspace(*idfmt & 255))
+         break;
+
+      if (idfmt >= msg->id && *idfmt == '!')
+      {
+        if (pass)
+       {
+         pass = 0;
+         puts("FAIL");
+       }
+
+       printf("    Exclamation in message \"%s\"\n",
+              abbreviate(msg->id, idbuf, sizeof(idbuf)));
+      }
+
+      if ((idfmt - 2) >= msg->id && !strncmp(idfmt - 2, "...", 3))
+      {
+        if (pass)
+       {
+         pass = 0;
+         puts("FAIL");
+       }
+
+       printf("    Ellipsis in message \"%s\"\n",
+              abbreviate(msg->id, idbuf, sizeof(idbuf)));
+      }
+
+
       if (!msg->str || !msg->str[0])
       {
         untranslated ++;
@@ -187,41 +251,17 @@ main(int  argc,                           /* I - Number of command-line args */
          }
 
          printf("    Bad escape \\%c in filter message \"%s\"\n"
-                "      for \"%s\"\n\n", strfmt[1],
+                "      for \"%s\"\n", strfmt[1],
                 abbreviate(msg->str, strbuf, sizeof(strbuf)),
                 abbreviate(msg->id, idbuf, sizeof(idbuf)));
           break;
         }
-
-     /*
-      * Make sure filter message prefixes are preserved...
-      */
-
-      if ((!strncmp(msg->id, "ALERT:", 6) && strncmp(msg->str, "ALERT:", 6)) ||
-          (!strncmp(msg->id, "CRIT:", 5) && strncmp(msg->str, "CRIT:", 5)) ||
-          (!strncmp(msg->id, "DEBUG:", 6) && strncmp(msg->str, "DEBUG:", 6)) ||
-          (!strncmp(msg->id, "DEBUG2:", 7) && strncmp(msg->str, "DEBUG2:", 7)) ||
-          (!strncmp(msg->id, "EMERG:", 6) && strncmp(msg->str, "EMERG:", 6)) ||
-          (!strncmp(msg->id, "ERROR:", 6) && strncmp(msg->str, "ERROR:", 6)) ||
-          (!strncmp(msg->id, "INFO:", 5) && strncmp(msg->str, "INFO:", 5)) ||
-          (!strncmp(msg->id, "NOTICE:", 7) && strncmp(msg->str, "NOTICE:", 7)) ||
-          (!strncmp(msg->id, "WARNING:", 8) && strncmp(msg->str, "WARNING:", 8)))
-      {
-        if (pass)
-       {
-         pass = 0;
-         puts("FAIL");
-       }
-
-       printf("    Bad prefix on filter message \"%s\"\n      for \"%s\"\n\n",
-              abbreviate(msg->str, strbuf, sizeof(strbuf)),
-              abbreviate(msg->id, idbuf, sizeof(idbuf)));
-      }
     }
 
     if (pass)
     {
-      if ((untranslated * 10) >= cupsArrayCount(po))
+      if ((untranslated * 10) >= cupsArrayCount(po) &&
+          strcmp(argv[i], "cups.pot"))
       {
        /*
         * Only allow 10% of messages to be untranslated before we fail...
@@ -229,14 +269,14 @@ main(int  argc,                           /* I - Number of command-line args */
 
         pass = 0;
         puts("FAIL");
-       printf("    Too many untranslated messages (%d of %d)\n\n",
+       printf("    Too many untranslated messages (%d of %d)\n",
               untranslated, cupsArrayCount(po));
       }
       else if (untranslated > 0)
-        printf("PASS (%d of %d untranslated)\n\n", untranslated,
+        printf("PASS (%d of %d untranslated)\n", untranslated,
               cupsArrayCount(po));
       else
-        puts("PASS\n");
+        puts("PASS");
     }
 
     if (!pass)
index e4d0e2b5d76391a23bad4b76c2e9f97619f6a2de..a50d50a55368a8971e931eea4ceadc1c43a13d62 100644 (file)
@@ -1,9 +1,9 @@
 #
 # "$Id$"
 #
-#   Message catalog template for the Common UNIX Printing System (CUPS).
+#   Message catalog template for CUPS.
 #
-#   Copyright 2007-2009 by Apple Inc.
+#   Copyright 2007-2010 by Apple Inc.
 #   Copyright 2005-2007 by Easy Software Products.
 #
 #   These coded instructions, statements, and computer programs are the
@@ -16,9 +16,6 @@
 #
 # Notes for Translators:
 #
-# The following prefixes MUST NOT be translated: "ALERT:", "CRIT:", "INFO:",
-# "NOTICE:", and "WARNING:".
-#
 # 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:
index 8bf00e78d1f2097999b70c537a18c9c4ddc75106..8f2a0fb269547f3b3fde46ae9dc25c99bdf87e76 100644 (file)
@@ -1,9 +1,9 @@
 #
 # "$Id$"
 #
-#   Message catalog template for the Common UNIX Printing System (CUPS).
+#   Message catalog template for CUPS.
 #
-#   Copyright 2007-2009 by Apple Inc.
+#   Copyright 2007-2010 by Apple Inc.
 #   Copyright 2005-2007 by Easy Software Products.
 #
 #   These coded instructions, statements, and computer programs are the
@@ -16,9 +16,6 @@
 #
 # Notes for Translators:
 #
-# The following prefixes MUST NOT be translated: "ALERT:", "CRIT:", "INFO:",
-# "NOTICE:", and "WARNING:".
-#
 # 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:
 #
 # where "LL" is your locale.
 #
+#, fuzzy
 msgid ""
 msgstr ""
-"Project-Id-Version: PACKAGE VERSION\n"
+"Project-Id-Version: CUPS 1.5\n"
 "Report-Msgid-Bugs-To: http://www.cups.org/str.php\n"
-"POT-Creation-Date: 2010-03-03 10:36-0800\n"
+"POT-Creation-Date: 2010-11-21 23:04-0800\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
 "Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: \n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=CHARSET\n"
 "Content-Transfer-Encoding: 8bit\n"
 
-#: systemv/lpstat.c:1843 systemv/lpstat.c:1957
-msgid "\t\t(all)\n"
+#: systemv/lpstat.c:1868 systemv/lpstat.c:1993
+msgid "\t\t(all)"
+msgstr ""
+
+#: systemv/lpstat.c:1871 systemv/lpstat.c:1874 systemv/lpstat.c:1996
+#: systemv/lpstat.c:1999
+msgid "\t\t(none)"
 msgstr ""
 
-#: systemv/lpstat.c:1846 systemv/lpstat.c:1849 systemv/lpstat.c:1960
-#: systemv/lpstat.c:1963
-msgid "\t\t(none)\n"
+#: berkeley/lpc.c:433
+#, c-format
+msgid "\t%d entries"
 msgstr ""
 
-#: berkeley/lpc.c:438
+#: systemv/lpstat.c:753 systemv/lpstat.c:769
 #, c-format
-msgid "\t%d entries\n"
+msgid "\t%s"
+msgstr ""
+
+#: systemv/lpstat.c:1849 systemv/lpstat.c:1974
+msgid "\tAfter fault: continue"
 msgstr ""
 
-#: systemv/lpstat.c:1824 systemv/lpstat.c:1938
-msgid "\tAfter fault: continue\n"
+#: systemv/lpstat.c:1473 systemv/lpstat.c:1818 systemv/lpstat.c:1944
+#, c-format
+msgid "\tAlerts: %s"
 msgstr ""
 
-#: systemv/lpstat.c:1458 systemv/lpstat.c:1789 systemv/lpstat.c:1903
-msgid "\tAlerts:"
+#: systemv/lpstat.c:1872 systemv/lpstat.c:1997
+msgid "\tBanner required"
 msgstr ""
 
-#: systemv/lpstat.c:1847 systemv/lpstat.c:1961
-msgid "\tBanner required\n"
+#: systemv/lpstat.c:1873 systemv/lpstat.c:1998
+msgid "\tCharset sets:"
 msgstr ""
 
-#: systemv/lpstat.c:1848 systemv/lpstat.c:1962
-msgid "\tCharset sets:\n"
+#: systemv/lpstat.c:1837 systemv/lpstat.c:1962
+msgid "\tConnection: direct"
 msgstr ""
 
-#: systemv/lpstat.c:1812 systemv/lpstat.c:1926
-msgid "\tConnection: direct\n"
+#: systemv/lpstat.c:1828 systemv/lpstat.c:1954
+msgid "\tConnection: remote"
 msgstr ""
 
-#: systemv/lpstat.c:1803 systemv/lpstat.c:1917
-msgid "\tConnection: remote\n"
+#: systemv/lpstat.c:1792 systemv/lpstat.c:1918
+msgid "\tContent types: any"
 msgstr ""
 
-#: systemv/lpstat.c:1851 systemv/lpstat.c:1965
-msgid "\tDefault page size:\n"
+#: systemv/lpstat.c:1876 systemv/lpstat.c:2001
+msgid "\tDefault page size:"
 msgstr ""
 
-#: systemv/lpstat.c:1850 systemv/lpstat.c:1964
-msgid "\tDefault pitch:\n"
+#: systemv/lpstat.c:1875 systemv/lpstat.c:2000
+msgid "\tDefault pitch:"
 msgstr ""
 
-#: systemv/lpstat.c:1852 systemv/lpstat.c:1966
-msgid "\tDefault port settings:\n"
+#: systemv/lpstat.c:1877 systemv/lpstat.c:2002
+msgid "\tDefault port settings:"
 msgstr ""
 
-#: systemv/lpstat.c:1784 systemv/lpstat.c:1898
+#: systemv/lpstat.c:1798 systemv/lpstat.c:1924
 #, c-format
-msgid "\tDescription: %s\n"
+msgid "\tDescription: %s"
 msgstr ""
 
-#: systemv/lpstat.c:1778 systemv/lpstat.c:1892
-msgid ""
-"\tForm mounted:\n"
-"\tContent types: any\n"
-"\tPrinter types: unknown\n"
+#: systemv/lpstat.c:1791 systemv/lpstat.c:1917
+msgid "\tForm mounted:"
 msgstr ""
 
-#: systemv/lpstat.c:1845 systemv/lpstat.c:1959
-msgid "\tForms allowed:\n"
+#: systemv/lpstat.c:1870 systemv/lpstat.c:1995
+msgid "\tForms allowed:"
 msgstr ""
 
-#: systemv/lpstat.c:1807 systemv/lpstat.c:1921
+#: systemv/lpstat.c:1832 systemv/lpstat.c:1958
 #, c-format
-msgid "\tInterface: %s.ppd\n"
+msgid "\tInterface: %s.ppd"
 msgstr ""
 
-#: systemv/lpstat.c:1816 systemv/lpstat.c:1930
+#: systemv/lpstat.c:1841 systemv/lpstat.c:1966
 #, c-format
-msgid "\tInterface: %s/interfaces/%s\n"
+msgid "\tInterface: %s/interfaces/%s"
 msgstr ""
 
-#: systemv/lpstat.c:1820 systemv/lpstat.c:1934
+#: systemv/lpstat.c:1845 systemv/lpstat.c:1970
 #, c-format
-msgid "\tInterface: %s/ppd/%s.ppd\n"
+msgid "\tInterface: %s/ppd/%s.ppd"
 msgstr ""
 
-#: systemv/lpstat.c:1798 systemv/lpstat.c:1912
+#: systemv/lpstat.c:1823 systemv/lpstat.c:1949
 #, c-format
-msgid "\tLocation: %s\n"
+msgid "\tLocation: %s"
+msgstr ""
+
+#: systemv/lpstat.c:1848 systemv/lpstat.c:1973
+msgid "\tOn fault: no alert"
 msgstr ""
 
-#: systemv/lpstat.c:1823 systemv/lpstat.c:1937
-msgid "\tOn fault: no alert\n"
+#: systemv/lpstat.c:1793 systemv/lpstat.c:1919
+msgid "\tPrinter types: unknown"
 msgstr ""
 
-#: systemv/lpstat.c:1828 systemv/lpstat.c:1842 systemv/lpstat.c:1942
-#: systemv/lpstat.c:1956
-msgid "\tUsers allowed:\n"
+#: systemv/lpstat.c:1853 systemv/lpstat.c:1867 systemv/lpstat.c:1978
+#: systemv/lpstat.c:1992
+msgid "\tUsers allowed:"
 msgstr ""
 
-#: systemv/lpstat.c:1835 systemv/lpstat.c:1949
-msgid "\tUsers denied:\n"
+#: systemv/lpstat.c:1860 systemv/lpstat.c:1985
+msgid "\tUsers denied:"
 msgstr ""
 
-#: berkeley/lpc.c:440
-msgid "\tdaemon present\n"
+#: berkeley/lpc.c:435
+msgid "\tdaemon present"
 msgstr ""
 
-#: berkeley/lpc.c:436
-msgid "\tno entries\n"
+#: berkeley/lpc.c:431
+msgid "\tno entries"
 msgstr ""
 
-#: berkeley/lpc.c:408 berkeley/lpc.c:420
+#: berkeley/lpc.c:403 berkeley/lpc.c:415
 #, c-format
-msgid "\tprinter is on device '%s' speed -1\n"
+msgid "\tprinter is on device '%s' speed -1"
 msgstr ""
 
-#: berkeley/lpc.c:433
-msgid "\tprinting is disabled\n"
+#: berkeley/lpc.c:428
+msgid "\tprinting is disabled"
 msgstr ""
 
-#: berkeley/lpc.c:431
-msgid "\tprinting is enabled\n"
+#: berkeley/lpc.c:426
+msgid "\tprinting is enabled"
 msgstr ""
 
-#: systemv/lpstat.c:1464
+#: systemv/lpstat.c:1476
 #, c-format
-msgid "\tqueued for %s\n"
+msgid "\tqueued for %s"
 msgstr ""
 
-#: berkeley/lpc.c:428
-msgid "\tqueuing is disabled\n"
+#: berkeley/lpc.c:423
+msgid "\tqueuing is disabled"
 msgstr ""
 
-#: berkeley/lpc.c:426
-msgid "\tqueuing is enabled\n"
+#: berkeley/lpc.c:421
+msgid "\tqueuing is enabled"
 msgstr ""
 
-#: systemv/lpstat.c:1771 systemv/lpstat.c:1885
-msgid "\treason unknown\n"
+#: systemv/lpstat.c:1784 systemv/lpstat.c:1910
+msgid "\treason unknown"
 msgstr ""
 
-#: systemv/cupstestppd.c:588
+#: systemv/cupstestppd.c:434
 msgid ""
 "\n"
-"    DETAILED CONFORMANCE TEST RESULTS\n"
+"    DETAILED CONFORMANCE TEST RESULTS"
+msgstr ""
+
+#: systemv/cupstestppd.c:3494
+msgid "                         Ignore specific warnings."
 msgstr ""
 
-#: systemv/cupstestppd.c:549 systemv/cupstestppd.c:553
-msgid "                REF: Page 15, section 3.1.\n"
+#: systemv/cupstestppd.c:3498
+msgid "                         Issue warnings instead of errors."
 msgstr ""
 
-#: systemv/cupstestppd.c:545
-msgid "                REF: Page 15, section 3.2.\n"
+#: systemv/cupstestppd.c:390 systemv/cupstestppd.c:395
+msgid "                REF: Page 15, section 3.1."
 msgstr ""
 
-#: systemv/cupstestppd.c:561
-msgid "                REF: Page 19, section 3.3.\n"
+#: systemv/cupstestppd.c:385
+msgid "                REF: Page 15, section 3.2."
 msgstr ""
 
-#: systemv/cupstestppd.c:523
-msgid "                REF: Page 20, section 3.4.\n"
+#: systemv/cupstestppd.c:405
+msgid "                REF: Page 19, section 3.3."
 msgstr ""
 
-#: systemv/cupstestppd.c:565
-msgid "                REF: Page 27, section 3.5.\n"
+#: systemv/cupstestppd.c:358
+msgid "                REF: Page 20, section 3.4."
 msgstr ""
 
-#: systemv/cupstestppd.c:519
-msgid "                REF: Page 42, section 5.2.\n"
+#: systemv/cupstestppd.c:410
+msgid "                REF: Page 27, section 3.5."
 msgstr ""
 
-#: systemv/cupstestppd.c:557
-msgid "                REF: Pages 16-17, section 3.2.\n"
+#: systemv/cupstestppd.c:353
+msgid "                REF: Page 42, section 5.2."
 msgstr ""
 
-#: systemv/cupstestppd.c:533
-msgid "                REF: Pages 42-45, section 5.2.\n"
+#: systemv/cupstestppd.c:400
+msgid "                REF: Pages 16-17, section 3.2."
 msgstr ""
 
-#: systemv/cupstestppd.c:528
-msgid "                REF: Pages 45-46, section 5.2.\n"
+#: systemv/cupstestppd.c:370
+msgid "                REF: Pages 42-45, section 5.2."
 msgstr ""
 
-#: systemv/cupstestppd.c:537
-msgid "                REF: Pages 48-49, section 5.2.\n"
+#: systemv/cupstestppd.c:364
+msgid "                REF: Pages 45-46, section 5.2."
 msgstr ""
 
-#: systemv/cupstestppd.c:541
-msgid "                REF: Pages 52-54, section 5.2.\n"
+#: systemv/cupstestppd.c:375
+msgid "                REF: Pages 48-49, section 5.2."
 msgstr ""
 
-#: berkeley/lpq.c:562
+#: systemv/cupstestppd.c:380
+msgid "                REF: Pages 52-54, section 5.2."
+msgstr ""
+
+#: berkeley/lpq.c:553
 #, c-format
-msgid "        %-39.39s %.0f bytes\n"
+msgid "        %-39.39s %.0f bytes"
 msgstr ""
 
-#: systemv/cupstestppd.c:705
+#: systemv/cupstestppd.c:553
 #, c-format
-msgid "        PASS    Default%s\n"
+msgid "        PASS    Default%s"
 msgstr ""
 
-#: systemv/cupstestppd.c:642
-msgid "        PASS    DefaultImageableArea\n"
+#: systemv/cupstestppd.c:488
+msgid "        PASS    DefaultImageableArea"
 msgstr ""
 
-#: systemv/cupstestppd.c:676
-msgid "        PASS    DefaultPaperDimension\n"
+#: systemv/cupstestppd.c:522
+msgid "        PASS    DefaultPaperDimension"
 msgstr ""
 
-#: systemv/cupstestppd.c:747
-msgid "        PASS    FileVersion\n"
+#: systemv/cupstestppd.c:595
+msgid "        PASS    FileVersion"
 msgstr ""
 
-#: systemv/cupstestppd.c:791
-msgid "        PASS    FormatVersion\n"
+#: systemv/cupstestppd.c:639
+msgid "        PASS    FormatVersion"
 msgstr ""
 
-#: systemv/cupstestppd.c:811
-msgid "        PASS    LanguageEncoding\n"
+#: systemv/cupstestppd.c:659
+msgid "        PASS    LanguageEncoding"
 msgstr ""
 
-#: systemv/cupstestppd.c:831
-msgid "        PASS    LanguageVersion\n"
+#: systemv/cupstestppd.c:679
+msgid "        PASS    LanguageVersion"
 msgstr ""
 
-#: systemv/cupstestppd.c:883
-msgid "        PASS    Manufacturer\n"
+#: systemv/cupstestppd.c:731
+msgid "        PASS    Manufacturer"
 msgstr ""
 
-#: systemv/cupstestppd.c:923
-msgid "        PASS    ModelName\n"
+#: systemv/cupstestppd.c:771
+msgid "        PASS    ModelName"
 msgstr ""
 
-#: systemv/cupstestppd.c:943
-msgid "        PASS    NickName\n"
+#: systemv/cupstestppd.c:791
+msgid "        PASS    NickName"
 msgstr ""
 
-#: systemv/cupstestppd.c:1003
-msgid "        PASS    PCFileName\n"
+#: systemv/cupstestppd.c:851
+msgid "        PASS    PCFileName"
 msgstr ""
 
-#: systemv/cupstestppd.c:1078
-msgid "        PASS    PSVersion\n"
+#: systemv/cupstestppd.c:926
+msgid "        PASS    PSVersion"
 msgstr ""
 
-#: systemv/cupstestppd.c:983
-msgid "        PASS    PageRegion\n"
+#: systemv/cupstestppd.c:831
+msgid "        PASS    PageRegion"
 msgstr ""
 
-#: systemv/cupstestppd.c:963
-msgid "        PASS    PageSize\n"
+#: systemv/cupstestppd.c:811
+msgid "        PASS    PageSize"
 msgstr ""
 
-#: systemv/cupstestppd.c:1038
-msgid "        PASS    Product\n"
+#: systemv/cupstestppd.c:886
+msgid "        PASS    Product"
 msgstr ""
 
-#: systemv/cupstestppd.c:1113
-msgid "        PASS    ShortNickName\n"
+#: systemv/cupstestppd.c:961
+msgid "        PASS    ShortNickName"
 msgstr ""
 
-#: systemv/cupstestppd.c:3597
+#: systemv/cupstestppd.c:3421
 #, c-format
 msgid ""
 "        WARN    \"%s %s\" conflicts with \"%s %s\"\n"
-"                (constraint=\"%s %s %s %s\")\n"
+"                (constraint=\"%s %s %s %s\")."
 msgstr ""
 
-#: systemv/cupstestppd.c:1486
+#: systemv/cupstestppd.c:1336
 #, c-format
-msgid "        WARN    %s has no corresponding options\n"
+msgid "        WARN    %s has no corresponding options."
 msgstr ""
 
-#: systemv/cupstestppd.c:1605
+#: systemv/cupstestppd.c:1457
 #, c-format
 msgid ""
 "        WARN    %s shares a common prefix with %s\n"
-"                REF: Page 15, section 3.2.\n"
+"                REF: Page 15, section 3.2."
 msgstr ""
 
-#: systemv/cupstestppd.c:1495
-msgid "        WARN    Default choices conflicting\n"
+#: systemv/cupstestppd.c:1345
+msgid "        WARN    Default choices conflicting."
 msgstr ""
 
-#: systemv/cupstestppd.c:1457
+#: systemv/cupstestppd.c:1307
 #, c-format
 msgid ""
-"        WARN    Duplex option keyword %s may not work as expected and should be named Duplex\n"
-"                REF: Page 122, section 5.17\n"
+"        WARN    Duplex option keyword %s may not work as expected and should be named Duplex.\n"
+"                REF: Page 122, section 5.17"
 msgstr ""
 
-#: systemv/cupstestppd.c:1867
-msgid "        WARN    File contains a mix of CR, LF, and CR LF line endings\n"
+#: systemv/cupstestppd.c:1715
+msgid "        WARN    File contains a mix of CR, LF, and CR LF line endings."
 msgstr ""
 
-#: systemv/cupstestppd.c:1511
+#: systemv/cupstestppd.c:1361
 msgid ""
 "        WARN    LanguageEncoding required by PPD 4.3 spec.\n"
-"                REF: Pages 56-57, section 5.3.\n"
+"                REF: Pages 56-57, section 5.3."
 msgstr ""
 
-#: systemv/cupstestppd.c:1849
+#: systemv/cupstestppd.c:1697
 #, c-format
-msgid "        WARN    Line %d only contains whitespace\n"
+msgid "        WARN    Line %d only contains whitespace."
 msgstr ""
 
-#: systemv/cupstestppd.c:1519
+#: systemv/cupstestppd.c:1369
 msgid ""
 "        WARN    Manufacturer required by PPD 4.3 spec.\n"
-"                REF: Pages 58-59, section 5.3.\n"
+"                REF: Pages 58-59, section 5.3."
 msgstr ""
 
-#: systemv/cupstestppd.c:1872
-msgid "        WARN    Non-Windows PPD files should use lines ending with only LF, not CR LF\n"
+#: systemv/cupstestppd.c:1720
+msgid "        WARN    Non-Windows PPD files should use lines ending with only LF, not CR LF."
 msgstr ""
 
-#: systemv/cupstestppd.c:1503
+#: systemv/cupstestppd.c:1353
 #, c-format
 msgid ""
-"        WARN    Obsolete PPD version %.1f\n"
-"                REF: Page 42, section 5.2.\n"
+"        WARN    Obsolete PPD version %.1f.\n"
+"                REF: Page 42, section 5.2."
 msgstr ""
 
-#: systemv/cupstestppd.c:1534
+#: systemv/cupstestppd.c:1384
 msgid ""
 "        WARN    PCFileName longer than 8.3 in violation of PPD spec.\n"
-"                REF: Pages 61-62, section 5.3.\n"
+"                REF: Pages 61-62, section 5.3."
 msgstr ""
 
-#: systemv/cupstestppd.c:1542
+#: systemv/cupstestppd.c:1392
 msgid ""
 "        WARN    PCFileName should contain a unique filename.\n"
-"                REF: Pages 61-62, section 5.3.\n"
+"                REF: Pages 61-62, section 5.3."
 msgstr ""
 
-#: systemv/cupstestppd.c:1577
+#: systemv/cupstestppd.c:1427
 msgid ""
 "        WARN    Protocols contains PJL but JCL attributes are not set.\n"
-"                REF: Pages 78-79, section 5.7.\n"
+"                REF: Pages 78-79, section 5.7."
 msgstr ""
 
-#: systemv/cupstestppd.c:1568
+#: systemv/cupstestppd.c:1418
 msgid ""
 "        WARN    Protocols contains both PJL and BCP; expected TBCP.\n"
-"                REF: Pages 78-79, section 5.7.\n"
+"                REF: Pages 78-79, section 5.7."
 msgstr ""
 
-#: systemv/cupstestppd.c:1551
+#: systemv/cupstestppd.c:1401
 msgid ""
 "        WARN    ShortNickName required by PPD 4.3 spec.\n"
-"                REF: Pages 64-65, section 5.3.\n"
+"                REF: Pages 64-65, section 5.3."
 msgstr ""
 
-#: systemv/cupstestppd.c:2355
-#, c-format
-msgid "      %s  %s %s does not exist\n"
+#: systemv/cupsaddsmb.c:282
+msgid "       cupsaddsmb [options] -a"
+msgstr ""
+
+#: systemv/cupstestdsc.c:427
+msgid "       cupstestdsc [options] -"
 msgstr ""
 
-#: systemv/cupstestppd.c:3754
+#: systemv/cupstestppd.c:3489
+msgid "       program | cupstestppd [options] -"
+msgstr ""
+
+#: systemv/cupstestppd.c:2203
 #, c-format
-msgid "      %s  %s file \"%s\" has the wrong capitalization\n"
+msgid "      %s  %s %s does not exist."
 msgstr ""
 
-#: systemv/cupstestppd.c:2425
+#: systemv/cupstestppd.c:3578
 #, c-format
-msgid ""
-"      %s  Bad %s choice %s\n"
-"                REF: Page 122, section 5.17\n"
+msgid "      %s  %s file \"%s\" has the wrong capitalization."
 msgstr ""
 
-#: systemv/cupstestppd.c:3312
+#: systemv/cupstestppd.c:2273
 #, c-format
-msgid "      %s  Bad UTF-8 \"%s\" translation string for option %s\n"
+msgid ""
+"      %s  Bad %s choice %s.\n"
+"                REF: Page 122, section 5.17"
 msgstr ""
 
-#: systemv/cupstestppd.c:3358 systemv/cupstestppd.c:3407
-#: systemv/cupstestppd.c:3446
+#: systemv/cupstestppd.c:3182 systemv/cupstestppd.c:3231
+#: systemv/cupstestppd.c:3270
 #, c-format
-msgid "      %s  Bad UTF-8 \"%s\" translation string for option %s, choice %s\n"
+msgid "      %s  Bad UTF-8 \"%s\" translation string for option %s, choice %s."
 msgstr ""
 
-#: systemv/cupstestppd.c:2478
+#: systemv/cupstestppd.c:3136
 #, c-format
-msgid "      %s  Bad cupsFilter value \"%s\"\n"
+msgid "      %s  Bad UTF-8 \"%s\" translation string for option %s."
 msgstr ""
 
-#: systemv/cupstestppd.c:2960
+#: systemv/cupstestppd.c:2326
 #, c-format
-msgid "      %s  Bad cupsICCProfile %s\n"
+msgid "      %s  Bad cupsFilter value \"%s\"."
 msgstr ""
 
-#: systemv/cupstestppd.c:2563
+#: systemv/cupstestppd.c:2808
 #, c-format
-msgid "      %s  Bad cupsPreFilter value \"%s\"\n"
+msgid "      %s  Bad cupsICCProfile %s."
 msgstr ""
 
-#: systemv/cupstestppd.c:1945
+#: systemv/cupstestppd.c:2411
 #, c-format
-msgid "      %s  Bad cupsUIConstraints %s: \"%s\"\n"
+msgid "      %s  Bad cupsPreFilter value \"%s\"."
 msgstr ""
 
-#: systemv/cupstestppd.c:3262
+#: systemv/cupstestppd.c:1793
 #, c-format
-msgid "      %s  Bad language \"%s\"\n"
+msgid "      %s  Bad cupsUIConstraints %s: \"%s\""
 msgstr ""
 
-#: systemv/cupstestppd.c:2665
+#: systemv/cupstestppd.c:3086
 #, c-format
-msgid "      %s  Bad permissions on APDialogExtension file \"%s\"\n"
+msgid "      %s  Bad language \"%s\"."
 msgstr ""
 
-#: systemv/cupstestppd.c:2721
+#: systemv/cupstestppd.c:2513
 #, c-format
-msgid "      %s  Bad permissions on APPrinterIconPath file \"%s\"\n"
+msgid "      %s  Bad permissions on APDialogExtension file \"%s\"."
 msgstr ""
 
-#: systemv/cupstestppd.c:2777
+#: systemv/cupstestppd.c:2569
 #, c-format
-msgid "      %s  Bad permissions on APPrinterLowInkTool file \"%s\"\n"
+msgid "      %s  Bad permissions on APPrinterIconPath file \"%s\"."
 msgstr ""
 
-#: systemv/cupstestppd.c:2833
+#: systemv/cupstestppd.c:2625
 #, c-format
-msgid "      %s  Bad permissions on APPrinterUtilityPath file \"%s\"\n"
+msgid "      %s  Bad permissions on APPrinterLowInkTool file \"%s\"."
 msgstr ""
 
-#: systemv/cupstestppd.c:2886
+#: systemv/cupstestppd.c:2681
 #, c-format
-msgid "      %s  Bad permissions on APScanAppPath file \"%s\"\n"
+msgid "      %s  Bad permissions on APPrinterUtilityPath file \"%s\"."
 msgstr ""
 
-#: systemv/cupstestppd.c:2521
+#: systemv/cupstestppd.c:2734
 #, c-format
-msgid "      %s  Bad permissions on cupsFilter file \"%s\"\n"
+msgid "      %s  Bad permissions on APScanAppPath file \"%s\"."
 msgstr ""
 
-#: systemv/cupstestppd.c:3008
+#: systemv/cupstestppd.c:2369
 #, c-format
-msgid "      %s  Bad permissions on cupsICCProfile file \"%s\"\n"
+msgid "      %s  Bad permissions on cupsFilter file \"%s\"."
 msgstr ""
 
-#: systemv/cupstestppd.c:2606
+#: systemv/cupstestppd.c:2856
 #, c-format
-msgid "      %s  Bad permissions on cupsPreFilter file \"%s\"\n"
+msgid "      %s  Bad permissions on cupsICCProfile file \"%s\"."
 msgstr ""
 
-#: systemv/cupstestppd.c:2547 systemv/cupstestppd.c:2634
-#: systemv/cupstestppd.c:2690 systemv/cupstestppd.c:2746
-#: systemv/cupstestppd.c:2802 systemv/cupstestppd.c:2858
+#: systemv/cupstestppd.c:2454
 #, c-format
-msgid "      %s  Bad spelling of %s - should be %s\n"
+msgid "      %s  Bad permissions on cupsPreFilter file \"%s\"."
 msgstr ""
 
-#: systemv/cupstestppd.c:2903
+#: systemv/cupstestppd.c:2395 systemv/cupstestppd.c:2482
+#: systemv/cupstestppd.c:2538 systemv/cupstestppd.c:2594
+#: systemv/cupstestppd.c:2650 systemv/cupstestppd.c:2706
 #, c-format
-msgid "      %s  Cannot provide both APScanAppPath and APScanAppBundleID\n"
+msgid "      %s  Bad spelling of %s - should be %s."
 msgstr ""
 
-#: systemv/cupstestppd.c:1926
+#: systemv/cupstestppd.c:2751
 #, c-format
-msgid "      %s  Empty cupsUIConstraints %s\n"
+msgid "      %s  Cannot provide both APScanAppPath and APScanAppBundleID."
 msgstr ""
 
-#: systemv/cupstestppd.c:3298
+#: systemv/cupstestppd.c:1774
 #, c-format
-msgid "      %s  Missing \"%s\" translation string for option %s\n"
+msgid "      %s  Empty cupsUIConstraints %s"
 msgstr ""
 
-#: systemv/cupstestppd.c:3390 systemv/cupstestppd.c:3430
+#: systemv/cupstestppd.c:3214 systemv/cupstestppd.c:3254
 #, c-format
-msgid "      %s  Missing \"%s\" translation string for option %s, choice %s\n"
+msgid "      %s  Missing \"%s\" translation string for option %s, choice %s."
 msgstr ""
 
-#: systemv/cupstestppd.c:2650
+#: systemv/cupstestppd.c:3122
 #, c-format
-msgid "      %s  Missing APDialogExtension file \"%s\"\n"
+msgid "      %s  Missing \"%s\" translation string for option %s."
 msgstr ""
 
-#: systemv/cupstestppd.c:2706
+#: systemv/cupstestppd.c:2498
 #, c-format
-msgid "      %s  Missing APPrinterIconPath file \"%s\"\n"
+msgid "      %s  Missing APDialogExtension file \"%s\"."
 msgstr ""
 
-#: systemv/cupstestppd.c:2762
+#: systemv/cupstestppd.c:2554
 #, c-format
-msgid "      %s  Missing APPrinterLowInkTool file \"%s\"\n"
+msgid "      %s  Missing APPrinterIconPath file \"%s\"."
 msgstr ""
 
-#: systemv/cupstestppd.c:2818
+#: systemv/cupstestppd.c:2610
 #, c-format
-msgid "      %s  Missing APPrinterUtilityPath file \"%s\"\n"
+msgid "      %s  Missing APPrinterLowInkTool file \"%s\"."
 msgstr ""
 
-#: systemv/cupstestppd.c:2871
+#: systemv/cupstestppd.c:2666
 #, c-format
-msgid "      %s  Missing APScanAppPath file \"%s\"\n"
+msgid "      %s  Missing APPrinterUtilityPath file \"%s\"."
 msgstr ""
 
-#: systemv/cupstestppd.c:3107
+#: systemv/cupstestppd.c:2719
 #, c-format
-msgid ""
-"      %s  Missing REQUIRED PageRegion option\n"
-"                REF: Page 100, section 5.14.\n"
+msgid "      %s  Missing APScanAppPath file \"%s\"."
 msgstr ""
 
-#: systemv/cupstestppd.c:3092
+#: systemv/cupstestppd.c:2953
 #, c-format
 msgid ""
-"      %s  Missing REQUIRED PageSize option\n"
-"                REF: Page 99, section 5.14.\n"
+"      %s  Missing REQUIRED PageRegion option.\n"
+"                REF: Page 100, section 5.14."
 msgstr ""
 
-#: systemv/cupstestppd.c:2136 systemv/cupstestppd.c:2177
+#: systemv/cupstestppd.c:2938
 #, c-format
-msgid "      %s  Missing choice *%s %s in UIConstraints \"*%s %s *%s %s\"\n"
+msgid ""
+"      %s  Missing REQUIRED PageSize option.\n"
+"                REF: Page 99, section 5.14."
 msgstr ""
 
-#: systemv/cupstestppd.c:2031
+#: systemv/cupstestppd.c:1984 systemv/cupstestppd.c:2025
 #, c-format
-msgid "      %s  Missing choice *%s %s in cupsUIConstraints %s: \"%s\"\n"
+msgid "      %s  Missing choice *%s %s in UIConstraints \"*%s %s *%s %s\"."
 msgstr ""
 
-#: systemv/cupstestppd.c:2507
+#: systemv/cupstestppd.c:1879
 #, c-format
-msgid "      %s  Missing cupsFilter file \"%s\"\n"
+msgid "      %s  Missing choice *%s %s in cupsUIConstraints %s: \"%s\""
 msgstr ""
 
-#: systemv/cupstestppd.c:2994
+#: systemv/cupstestppd.c:2355
 #, c-format
-msgid "      %s  Missing cupsICCProfile file \"%s\"\n"
+msgid "      %s  Missing cupsFilter file \"%s\"."
 msgstr ""
 
-#: systemv/cupstestppd.c:2592
+#: systemv/cupstestppd.c:2842
 #, c-format
-msgid "      %s  Missing cupsPreFilter file \"%s\"\n"
+msgid "      %s  Missing cupsICCProfile file \"%s\"."
 msgstr ""
 
-#: systemv/cupstestppd.c:1963
+#: systemv/cupstestppd.c:2440
 #, c-format
-msgid "      %s  Missing cupsUIResolver %s\n"
+msgid "      %s  Missing cupsPreFilter file \"%s\"."
 msgstr ""
 
-#: systemv/cupstestppd.c:2122 systemv/cupstestppd.c:2163
+#: systemv/cupstestppd.c:1811
 #, c-format
-msgid "      %s  Missing option %s in UIConstraints \"*%s %s *%s %s\"\n"
+msgid "      %s  Missing cupsUIResolver %s"
 msgstr ""
 
-#: systemv/cupstestppd.c:2015
+#: systemv/cupstestppd.c:1970 systemv/cupstestppd.c:2011
 #, c-format
-msgid "      %s  Missing option %s in cupsUIConstraints %s: \"%s\"\n"
+msgid "      %s  Missing option %s in UIConstraints \"*%s %s *%s %s\"."
 msgstr ""
 
-#: systemv/cupstestppd.c:3484
+#: systemv/cupstestppd.c:1863
 #, c-format
-msgid "      %s  No base translation \"%s\" is included in file\n"
+msgid "      %s  Missing option %s in cupsUIConstraints %s: \"%s\""
 msgstr ""
 
-#: systemv/cupstestppd.c:3170
+#: systemv/cupstestppd.c:3308
 #, c-format
-msgid ""
-"      %s  Non-standard size name \"%s\"\n"
-"                REF: Page 187, section B.2.\n"
+msgid "      %s  No base translation \"%s\" is included in file."
 msgstr ""
 
-#: systemv/cupstestppd.c:2401
+#: systemv/cupstestppd.c:2249
 #, c-format
 msgid ""
-"      %s  REQUIRED %s does not define choice None\n"
-"                REF: Page 122, section 5.17\n"
+"      %s  REQUIRED %s does not define choice None.\n"
+"                REF: Page 122, section 5.17"
 msgstr ""
 
-#: systemv/cupstestppd.c:3187 systemv/cupstestppd.c:3201
+#: systemv/cupstestppd.c:3011 systemv/cupstestppd.c:3025
 #, c-format
-msgid "      %s  Size \"%s\" defined for %s but not for %s\n"
+msgid "      %s  Size \"%s\" defined for %s but not for %s."
 msgstr ""
 
-#: systemv/cupstestppd.c:3145
+#: systemv/cupstestppd.c:2991
 #, c-format
-msgid "      %s  Size \"%s\" has unexpected dimensions (%gx%g)\n"
+msgid "      %s  Size \"%s\" has unexpected dimensions (%gx%g)."
 msgstr ""
 
-#: systemv/cupstestppd.c:3037
+#: systemv/cupstestppd.c:2885
 #, c-format
-msgid "      %s  cupsICCProfile %s hash value collides with %s\n"
+msgid "      %s  cupsICCProfile %s hash value collides with %s."
 msgstr ""
 
-#: systemv/cupstestppd.c:2086
+#: systemv/cupstestppd.c:1934
 #, c-format
-msgid "      %s  cupsUIResolver %s causes a loop\n"
+msgid "      %s  cupsUIResolver %s causes a loop."
 msgstr ""
 
-#: systemv/cupstestppd.c:2068
+#: systemv/cupstestppd.c:1916
 #, c-format
-msgid "      %s  cupsUIResolver %s does not list at least two different options\n"
+msgid "      %s  cupsUIResolver %s does not list at least two different options."
 msgstr ""
 
-#: systemv/cupstestppd.c:2286
+#: systemv/cupstestppd.c:2134
 #, c-format
-msgid "      **FAIL**  %s choice names %s and %s differ only by case\n"
+msgid "      **FAIL**  %s choice names %s and %s differ only by case."
 msgstr ""
 
-#: systemv/cupstestppd.c:1280
+#: systemv/cupstestppd.c:1130
 #, c-format
 msgid ""
 "      **FAIL**  %s must be 1284DeviceID\n"
-"                REF: Page 72, section 5.5\n"
+"                REF: Page 72, section 5.5"
 msgstr ""
 
-#: systemv/cupstestppd.c:696
+#: systemv/cupstestppd.c:544
 #, c-format
 msgid ""
 "      **FAIL**  BAD Default%s %s\n"
-"                REF: Page 40, section 4.5.\n"
+"                REF: Page 40, section 4.5."
 msgstr ""
 
-#: systemv/cupstestppd.c:632
+#: systemv/cupstestppd.c:478
 #, c-format
 msgid ""
 "      **FAIL**  BAD DefaultImageableArea %s\n"
-"                REF: Page 102, section 5.15.\n"
+"                REF: Page 102, section 5.15."
 msgstr ""
 
-#: systemv/cupstestppd.c:668
+#: systemv/cupstestppd.c:514
 #, c-format
 msgid ""
 "      **FAIL**  BAD DefaultPaperDimension %s\n"
-"                REF: Page 103, section 5.15.\n"
+"                REF: Page 103, section 5.15."
 msgstr ""
 
-#: systemv/cupstestppd.c:1139
+#: systemv/cupstestppd.c:987
 msgid ""
 "      **FAIL**  BAD JobPatchFile attribute in file\n"
-"                REF: Page 24, section 3.4.\n"
+"                REF: Page 24, section 3.4."
 msgstr ""
 
-#: systemv/cupstestppd.c:859
+#: systemv/cupstestppd.c:707
 msgid ""
 "      **FAIL**  BAD Manufacturer (should be \"HP\")\n"
-"                REF: Page 211, table D.1.\n"
+"                REF: Page 211, table D.1."
 msgstr ""
 
-#: systemv/cupstestppd.c:875
+#: systemv/cupstestppd.c:723
 msgid ""
 "      **FAIL**  BAD Manufacturer (should be \"Oki\")\n"
-"                REF: Page 211, table D.1.\n"
+"                REF: Page 211, table D.1."
 msgstr ""
 
-#: systemv/cupstestppd.c:914
+#: systemv/cupstestppd.c:762
 #, c-format
 msgid ""
 "      **FAIL**  BAD ModelName - \"%c\" not allowed in string.\n"
-"                REF: Pages 59-60, section 5.3.\n"
+"                REF: Pages 59-60, section 5.3."
 msgstr ""
 
-#: systemv/cupstestppd.c:1070
+#: systemv/cupstestppd.c:918
 msgid ""
 "      **FAIL**  BAD PSVersion - not \"(string) int\".\n"
-"                REF: Pages 62-64, section 5.3.\n"
+"                REF: Pages 62-64, section 5.3."
 msgstr ""
 
-#: systemv/cupstestppd.c:1031
+#: systemv/cupstestppd.c:879
 msgid ""
 "      **FAIL**  BAD Product - not \"(string)\".\n"
-"                REF: Page 62, section 5.3.\n"
+"                REF: Page 62, section 5.3."
 msgstr ""
 
-#: systemv/cupstestppd.c:1105
+#: systemv/cupstestppd.c:953
 msgid ""
 "      **FAIL**  BAD ShortNickName - longer than 31 chars.\n"
-"                REF: Pages 64-65, section 5.3.\n"
+"                REF: Pages 64-65, section 5.3."
 msgstr ""
 
-#: systemv/cupstestppd.c:1261
+#: systemv/cupstestppd.c:1111
 #, c-format
 msgid ""
 "      **FAIL**  Bad %s choice %s\n"
-"                REF: Page 84, section 5.9\n"
+"                REF: Page 84, section 5.9"
 msgstr ""
 
-#: systemv/cupstestppd.c:739
+#: systemv/cupstestppd.c:587
 #, c-format
 msgid ""
 "      **FAIL**  Bad FileVersion \"%s\"\n"
-"                REF: Page 56, section 5.3.\n"
+"                REF: Page 56, section 5.3."
 msgstr ""
 
-#: systemv/cupstestppd.c:783
+#: systemv/cupstestppd.c:631
 #, c-format
 msgid ""
 "      **FAIL**  Bad FormatVersion \"%s\"\n"
-"                REF: Page 56, section 5.3.\n"
+"                REF: Page 56, section 5.3."
 msgstr ""
 
-#: systemv/cupstestppd.c:1325
+#: systemv/cupstestppd.c:1175
 #, c-format
-msgid "      **FAIL**  Bad LanguageEncoding %s - must be ISOLatin1\n"
+msgid "      **FAIL**  Bad LanguageEncoding %s - must be ISOLatin1."
 msgstr ""
 
-#: systemv/cupstestppd.c:1339
+#: systemv/cupstestppd.c:1189
 #, c-format
-msgid "      **FAIL**  Bad LanguageVersion %s - must be English\n"
+msgid "      **FAIL**  Bad LanguageVersion %s - must be English."
 msgstr ""
 
-#: systemv/cupstestppd.c:3624 systemv/cupstestppd.c:3646
+#: systemv/cupstestppd.c:3448 systemv/cupstestppd.c:3470
 #, c-format
-msgid "      **FAIL**  Default option code cannot be interpreted: %s\n"
+msgid "      **FAIL**  Default option code cannot be interpreted: %s"
 msgstr ""
 
-#: systemv/cupstestppd.c:1398
+#: systemv/cupstestppd.c:1248
 #, c-format
-msgid "      **FAIL**  Default translation string for option %s choice %s contains 8-bit characters\n"
+msgid "      **FAIL**  Default translation string for option %s choice %s contains 8-bit characters."
 msgstr ""
 
-#: systemv/cupstestppd.c:1371
+#: systemv/cupstestppd.c:1221
 #, c-format
-msgid "      **FAIL**  Default translation string for option %s contains 8-bit characters\n"
+msgid "      **FAIL**  Default translation string for option %s contains 8-bit characters."
 msgstr ""
 
-#: systemv/cupstestppd.c:2224
+#: systemv/cupstestppd.c:2072
 #, c-format
-msgid "      **FAIL**  Group names %s and %s differ only by case\n"
+msgid "      **FAIL**  Group names %s and %s differ only by case."
 msgstr ""
 
-#: systemv/cupstestppd.c:2269
+#: systemv/cupstestppd.c:2117
 #, c-format
-msgid "      **FAIL**  Multiple occurrences of %s choice name %s\n"
+msgid "      **FAIL**  Multiple occurrences of %s choice name %s."
 msgstr ""
 
-#: systemv/cupstestppd.c:2246
+#: systemv/cupstestppd.c:2094
 #, c-format
-msgid "      **FAIL**  Option names %s and %s differ only by case\n"
+msgid "      **FAIL**  Option names %s and %s differ only by case."
 msgstr ""
 
-#: systemv/cupstestppd.c:716
+#: systemv/cupstestppd.c:564
 #, c-format
 msgid ""
 "      **FAIL**  REQUIRED Default%s\n"
-"                REF: Page 40, section 4.5.\n"
+"                REF: Page 40, section 4.5."
 msgstr ""
 
-#: systemv/cupstestppd.c:617
+#: systemv/cupstestppd.c:463
 msgid ""
 "      **FAIL**  REQUIRED DefaultImageableArea\n"
-"                REF: Page 102, section 5.15.\n"
+"                REF: Page 102, section 5.15."
 msgstr ""
 
-#: systemv/cupstestppd.c:653
+#: systemv/cupstestppd.c:499
 msgid ""
 "      **FAIL**  REQUIRED DefaultPaperDimension\n"
-"                REF: Page 103, section 5.15.\n"
+"                REF: Page 103, section 5.15."
 msgstr ""
 
-#: systemv/cupstestppd.c:757
+#: systemv/cupstestppd.c:605
 msgid ""
 "      **FAIL**  REQUIRED FileVersion\n"
-"                REF: Page 56, section 5.3.\n"
+"                REF: Page 56, section 5.3."
 msgstr ""
 
-#: systemv/cupstestppd.c:801
+#: systemv/cupstestppd.c:649
 msgid ""
 "      **FAIL**  REQUIRED FormatVersion\n"
-"                REF: Page 56, section 5.3.\n"
+"                REF: Page 56, section 5.3."
 msgstr ""
 
-#: systemv/cupstestppd.c:1190
+#: systemv/cupstestppd.c:1038
 #, c-format
 msgid ""
 "      **FAIL**  REQUIRED ImageableArea for PageSize %s\n"
 "                REF: Page 41, section 5.\n"
-"                REF: Page 102, section 5.15.\n"
+"                REF: Page 102, section 5.15."
 msgstr ""
 
-#: systemv/cupstestppd.c:821
+#: systemv/cupstestppd.c:669
 msgid ""
 "      **FAIL**  REQUIRED LanguageEncoding\n"
-"                REF: Pages 56-57, section 5.3.\n"
+"                REF: Pages 56-57, section 5.3."
 msgstr ""
 
-#: systemv/cupstestppd.c:841
+#: systemv/cupstestppd.c:689
 msgid ""
 "      **FAIL**  REQUIRED LanguageVersion\n"
-"                REF: Pages 57-58, section 5.3.\n"
+"                REF: Pages 57-58, section 5.3."
 msgstr ""
 
-#: systemv/cupstestppd.c:893
+#: systemv/cupstestppd.c:741
 msgid ""
 "      **FAIL**  REQUIRED Manufacturer\n"
-"                REF: Pages 58-59, section 5.3.\n"
+"                REF: Pages 58-59, section 5.3."
 msgstr ""
 
-#: systemv/cupstestppd.c:933
+#: systemv/cupstestppd.c:781
 msgid ""
 "      **FAIL**  REQUIRED ModelName\n"
-"                REF: Pages 59-60, section 5.3.\n"
+"                REF: Pages 59-60, section 5.3."
 msgstr ""
 
-#: systemv/cupstestppd.c:953
+#: systemv/cupstestppd.c:801
 msgid ""
 "      **FAIL**  REQUIRED NickName\n"
-"                REF: Page 60, section 5.3.\n"
+"                REF: Page 60, section 5.3."
 msgstr ""
 
-#: systemv/cupstestppd.c:1013
+#: systemv/cupstestppd.c:861
 msgid ""
 "      **FAIL**  REQUIRED PCFileName\n"
-"                REF: Pages 61-62, section 5.3.\n"
+"                REF: Pages 61-62, section 5.3."
 msgstr ""
 
-#: systemv/cupstestppd.c:1088
+#: systemv/cupstestppd.c:936
 msgid ""
 "      **FAIL**  REQUIRED PSVersion\n"
-"                REF: Pages 62-64, section 5.3.\n"
+"                REF: Pages 62-64, section 5.3."
 msgstr ""
 
-#: systemv/cupstestppd.c:993
+#: systemv/cupstestppd.c:841
 msgid ""
 "      **FAIL**  REQUIRED PageRegion\n"
-"                REF: Page 100, section 5.14.\n"
+"                REF: Page 100, section 5.14."
 msgstr ""
 
-#: systemv/cupstestppd.c:1159
+#: systemv/cupstestppd.c:1007
 msgid ""
 "      **FAIL**  REQUIRED PageSize\n"
 "                REF: Page 41, section 5.\n"
-"                REF: Page 99, section 5.14.\n"
+"                REF: Page 99, section 5.14."
 msgstr ""
 
-#: systemv/cupstestppd.c:973
+#: systemv/cupstestppd.c:821
 msgid ""
 "      **FAIL**  REQUIRED PageSize\n"
-"                REF: Pages 99-100, section 5.14.\n"
+"                REF: Pages 99-100, section 5.14."
 msgstr ""
 
-#: systemv/cupstestppd.c:1212
+#: systemv/cupstestppd.c:1060
 #, c-format
 msgid ""
 "      **FAIL**  REQUIRED PaperDimension for PageSize %s\n"
 "                REF: Page 41, section 5.\n"
-"                REF: Page 103, section 5.15.\n"
+"                REF: Page 103, section 5.15."
 msgstr ""
 
-#: systemv/cupstestppd.c:1048
+#: systemv/cupstestppd.c:896
 msgid ""
 "      **FAIL**  REQUIRED Product\n"
-"                REF: Page 62, section 5.3.\n"
+"                REF: Page 62, section 5.3."
 msgstr ""
 
-#: systemv/cupstestppd.c:1123
+#: systemv/cupstestppd.c:971
 msgid ""
 "      **FAIL**  REQUIRED ShortNickName\n"
-"                REF: Page 64-65, section 5.3.\n"
+"                REF: Page 64-65, section 5.3."
 msgstr ""
 
-#: systemv/cupstestppd.c:1617
+#: systemv/cupstestppd.c:1469
 #, c-format
-msgid "    %d ERRORS FOUND\n"
+msgid "    %d ERRORS FOUND"
+msgstr ""
+
+#: systemv/cupsctl.c:209
+msgid "    --[no-]debug-logging    Turn debug logging on/off."
+msgstr ""
+
+#: systemv/cupsctl.c:211
+msgid "    --[no-]remote-admin     Turn remote administration on/off."
+msgstr ""
+
+#: systemv/cupsctl.c:213
+msgid "    --[no-]remote-any       Allow/prevent access from the Internet."
+msgstr ""
+
+#: systemv/cupsctl.c:215
+msgid "    --[no-]remote-printers  Show/hide remote printers."
+msgstr ""
+
+#: systemv/cupsctl.c:217
+msgid "    --[no-]share-printers   Turn printer sharing on/off."
 msgstr ""
 
-#: systemv/cupstestdsc.c:238 systemv/cupstestdsc.c:280
+#: systemv/cupsctl.c:219
+msgid "    --[no-]user-cancel-any  Allow/prevent users to cancel any job."
+msgstr ""
+
+#: systemv/cupsctl.c:204
+msgid "    -E                      Enable encryption."
+msgstr ""
+
+#: systemv/cupstestppd.c:3493
+msgid "    -I {filename,filters,none,profiles}"
+msgstr ""
+
+#: systemv/cupstestppd.c:3495
+msgid "    -R root-directory    Set alternate root."
+msgstr ""
+
+#: systemv/cupsctl.c:205
+msgid "    -U username             Specify username."
+msgstr ""
+
+#: systemv/cupstestppd.c:3496
+msgid "    -W {all,none,constraints,defaults,duplex,filters,profiles,sizes,translations}"
+msgstr ""
+
+#: systemv/cupstestdsc.c:431
+msgid "    -h       Show program usage"
+msgstr ""
+
+#: systemv/cupsctl.c:206
+msgid "    -h server[:port]        Specify server address."
+msgstr ""
+
+#: systemv/cupstestppd.c:3500
+msgid "    -q                   Run silently."
+msgstr ""
+
+#: systemv/cupstestppd.c:3501
+msgid "    -r                   Use 'relaxed' open mode."
+msgstr ""
+
+#: systemv/cupstestppd.c:3502
+msgid "    -v                   Be slightly verbose."
+msgstr ""
+
+#: systemv/cupstestppd.c:3503
+msgid "    -vv                  Be very verbose."
+msgstr ""
+
+#: systemv/cupstestdsc.c:234 systemv/cupstestdsc.c:276
 #, c-format
 msgid ""
-"    Bad %%%%BoundingBox: on line %d\n"
-"        REF: Page 39, %%%%BoundingBox:\n"
+"    Bad %%%%BoundingBox: on line %d.\n"
+"        REF: Page 39, %%%%BoundingBox:"
 msgstr ""
 
-#: systemv/cupstestdsc.c:309
+#: systemv/cupstestdsc.c:305
 #, c-format
 msgid ""
-"    Bad %%%%Page: on line %d\n"
-"        REF: Page 53, %%%%Page:\n"
+"    Bad %%%%Page: on line %d.\n"
+"        REF: Page 53, %%%%Page:"
 msgstr ""
 
-#: systemv/cupstestdsc.c:222 systemv/cupstestdsc.c:262
+#: systemv/cupstestdsc.c:218 systemv/cupstestdsc.c:258
 #, c-format
 msgid ""
-"    Bad %%%%Pages: on line %d\n"
-"        REF: Page 43, %%%%Pages:\n"
+"    Bad %%%%Pages: on line %d.\n"
+"        REF: Page 43, %%%%Pages:"
 msgstr ""
 
-#: systemv/cupstestdsc.c:180
+#: systemv/cupstestdsc.c:176
 #, c-format
 msgid ""
-"    Line %d is longer than 255 characters (%d)\n"
-"        REF: Page 25, Line Length\n"
+"    Line %d is longer than 255 characters (%d).\n"
+"        REF: Page 25, Line Length"
 msgstr ""
 
-#: systemv/cupstestdsc.c:196
+#: systemv/cupstestdsc.c:192
 msgid ""
-"    Missing %!PS-Adobe-3.0 on first line\n"
-"        REF: Page 17, 3.1 Conforming Documents\n"
+"    Missing %!PS-Adobe-3.0 on first line.\n"
+"        REF: Page 17, 3.1 Conforming Documents"
 msgstr ""
 
-#: systemv/cupstestdsc.c:366
+#: systemv/cupstestdsc.c:362
 #, c-format
-msgid ""
-"    Missing %%EndComments comment\n"
-"        REF: Page 41, %%EndComments\n"
+msgid "    Missing %%EndComments comment.        REF: Page 41, %%EndComments"
 msgstr ""
 
-#: systemv/cupstestdsc.c:346
+#: systemv/cupstestdsc.c:342
 #, c-format
 msgid ""
-"    Missing or bad %%BoundingBox: comment\n"
-"        REF: Page 39, %%BoundingBox:\n"
+"    Missing or bad %%BoundingBox: comment.\n"
+"        REF: Page 39, %%BoundingBox:"
 msgstr ""
 
-#: systemv/cupstestdsc.c:376
+#: systemv/cupstestdsc.c:372
 #, c-format
 msgid ""
-"    Missing or bad %%Page: comments\n"
-"        REF: Page 53, %%Page:\n"
+"    Missing or bad %%Page: comments.\n"
+"        REF: Page 53, %%Page:"
 msgstr ""
 
-#: systemv/cupstestdsc.c:356
+#: systemv/cupstestdsc.c:352
 #, c-format
 msgid ""
-"    Missing or bad %%Pages: comment\n"
-"        REF: Page 43, %%Pages:\n"
+"    Missing or bad %%Pages: comment.\n"
+"        REF: Page 43, %%Pages:"
 msgstr ""
 
-#: systemv/cupstestppd.c:1619
-msgid "    NO ERRORS FOUND\n"
+#: systemv/cupstestppd.c:1471
+msgid "    NO ERRORS FOUND"
 msgstr ""
 
-#: systemv/cupstestdsc.c:399
+#: systemv/cupstestdsc.c:395
 #, c-format
-msgid "    Saw %d lines that exceeded 255 characters\n"
+msgid "    Saw %d lines that exceeded 255 characters."
 msgstr ""
 
-#: systemv/cupstestdsc.c:394
+#: systemv/cupstestdsc.c:390
 #, c-format
-msgid "    Too many %%BeginDocument comments\n"
+msgid "    Too many %%BeginDocument comments."
 msgstr ""
 
-#: systemv/cupstestdsc.c:386
+#: systemv/cupstestdsc.c:382
 #, c-format
-msgid "    Too many %%EndDocument comments\n"
+msgid "    Too many %%EndDocument comments."
 msgstr ""
 
-#: systemv/cupstestdsc.c:406
-msgid "    Warning: file contains binary data\n"
+#: systemv/cupstestdsc.c:402
+msgid "    Warning: file contains binary data."
 msgstr ""
 
-#: systemv/cupstestdsc.c:414
+#: systemv/cupstestdsc.c:410
 #, c-format
-msgid "    Warning: no %%EndComments comment in file\n"
+msgid "    Warning: no %%EndComments comment in file."
 msgstr ""
 
-#: systemv/cupstestdsc.c:410
+#: systemv/cupstestdsc.c:406
 #, c-format
-msgid "    Warning: obsolete DSC version %.1f in file\n"
+msgid "    Warning: obsolete DSC version %.1f in file."
 msgstr ""
 
-#: systemv/cupstestppd.c:614 systemv/cupstestppd.c:629
-#: systemv/cupstestppd.c:650 systemv/cupstestppd.c:665
-#: systemv/cupstestppd.c:693 systemv/cupstestppd.c:713
-#: systemv/cupstestppd.c:736 systemv/cupstestppd.c:754
-#: systemv/cupstestppd.c:780 systemv/cupstestppd.c:798
-#: systemv/cupstestppd.c:818 systemv/cupstestppd.c:838
-#: systemv/cupstestppd.c:856 systemv/cupstestppd.c:872
-#: systemv/cupstestppd.c:890 systemv/cupstestppd.c:911
-#: systemv/cupstestppd.c:930 systemv/cupstestppd.c:950
-#: systemv/cupstestppd.c:970 systemv/cupstestppd.c:990
-#: systemv/cupstestppd.c:1010 systemv/cupstestppd.c:1028
-#: systemv/cupstestppd.c:1045 systemv/cupstestppd.c:1067
-#: systemv/cupstestppd.c:1085 systemv/cupstestppd.c:1102
-#: systemv/cupstestppd.c:1120 systemv/cupstestppd.c:1136
-#: systemv/cupstestppd.c:1156 systemv/cupstestppd.c:1187
-#: systemv/cupstestppd.c:1209 systemv/cupstestppd.c:1258
-#: systemv/cupstestppd.c:1277 systemv/cupstestppd.c:1321
-#: systemv/cupstestppd.c:1335 systemv/cupstestppd.c:1367
-#: systemv/cupstestppd.c:1394 systemv/cupstestppd.c:1923
-#: systemv/cupstestppd.c:1942 systemv/cupstestppd.c:1960
-#: systemv/cupstestppd.c:2012 systemv/cupstestppd.c:2028
-#: systemv/cupstestppd.c:2065 systemv/cupstestppd.c:2083
-#: systemv/cupstestppd.c:2119 systemv/cupstestppd.c:2133
-#: systemv/cupstestppd.c:2160 systemv/cupstestppd.c:2174
-#: systemv/cupstestppd.c:2220 systemv/cupstestppd.c:2242
-#: systemv/cupstestppd.c:2265 systemv/cupstestppd.c:2282
-#: systemv/cupstestppd.c:2351 systemv/cupstestppd.c:2398
-#: systemv/cupstestppd.c:2422 systemv/cupstestppd.c:2474
-#: systemv/cupstestppd.c:2504 systemv/cupstestppd.c:2518
-#: systemv/cupstestppd.c:2543 systemv/cupstestppd.c:2559
-#: systemv/cupstestppd.c:2589 systemv/cupstestppd.c:2603
-#: systemv/cupstestppd.c:2630 systemv/cupstestppd.c:2647
-#: systemv/cupstestppd.c:2662 systemv/cupstestppd.c:2686
-#: systemv/cupstestppd.c:2703 systemv/cupstestppd.c:2718
-#: systemv/cupstestppd.c:2742 systemv/cupstestppd.c:2759
-#: systemv/cupstestppd.c:2774 systemv/cupstestppd.c:2798
-#: systemv/cupstestppd.c:2815 systemv/cupstestppd.c:2830
-#: systemv/cupstestppd.c:2854 systemv/cupstestppd.c:2868
-#: systemv/cupstestppd.c:2883 systemv/cupstestppd.c:2900
-#: systemv/cupstestppd.c:2956 systemv/cupstestppd.c:2991
-#: systemv/cupstestppd.c:3005 systemv/cupstestppd.c:3033
-#: systemv/cupstestppd.c:3088 systemv/cupstestppd.c:3103
-#: systemv/cupstestppd.c:3141 systemv/cupstestppd.c:3183
-#: systemv/cupstestppd.c:3197 systemv/cupstestppd.c:3258
-#: systemv/cupstestppd.c:3294 systemv/cupstestppd.c:3308
-#: systemv/cupstestppd.c:3354 systemv/cupstestppd.c:3386
-#: systemv/cupstestppd.c:3403 systemv/cupstestppd.c:3426
-#: systemv/cupstestppd.c:3442 systemv/cupstestppd.c:3480
-#: systemv/cupstestppd.c:3620 systemv/cupstestppd.c:3642
-#: systemv/cupstestppd.c:3750
-msgid " FAIL\n"
+#: ppdc/ppdc.cxx:456
+msgid "  --cr                 End lines with CR (Mac OS 9)."
 msgstr ""
 
-#: systemv/cupstestppd.c:499
-#, c-format
-msgid ""
-" FAIL\n"
-"      **FAIL**  Unable to open PPD file - %s\n"
+#: ppdc/ppdc.cxx:458
+msgid "  --crlf               End lines with CR + LF (Windows)."
 msgstr ""
 
-#: systemv/cupstestppd.c:510
-#, c-format
-msgid ""
-" FAIL\n"
-"      **FAIL**  Unable to open PPD file - %s on line %d.\n"
+#: ppdc/ppdc.cxx:460
+msgid "  --lf                 End lines with LF (UNIX/Linux/Mac OS X)."
 msgstr ""
 
-#: systemv/cupstestppd.c:1418
-msgid " PASS\n"
+#: test/ipptool.c:3761
+msgid "  -4             Connect using IPv4."
+msgstr ""
+
+#: test/ipptool.c:3762
+msgid "  -6             Connect using IPv6."
+msgstr ""
+
+#: test/ipptool.c:3763
+msgid "  -C             Send requests using chunking (default)."
+msgstr ""
+
+#: scheduler/cupsfilter.c:1391
+msgid "  -D                   Remove the input file when finished."
+msgstr ""
+
+#: ppdc/ppdc.cxx:438 ppdc/ppdhtml.cxx:175
+msgid "  -D name=value        Set named variable to value."
+msgstr ""
+
+#: ppdc/ppdpo.cxx:255
+msgid "  -D name=value     Set named variable to value."
+msgstr ""
+
+#: systemv/cupsaddsmb.c:285
+msgid "  -E               Encrypt the connection to the server."
+msgstr ""
+
+#: test/ipptool.c:3765
+msgid "  -E             Test with TLS encryption."
+msgstr ""
+
+#: systemv/cupsaddsmb.c:287
+msgid "  -H samba-server  Use the named SAMBA server."
+msgstr ""
+
+#: test/ipptool.c:3766
+msgid "  -I             Ignore errors."
+msgstr ""
+
+#: ppdc/ppdi.cxx:131
+msgid "  -I include-dir"
+msgstr ""
+
+#: ppdc/ppdc.cxx:440
+msgid "  -I include-dir       Add include directory to search path."
+msgstr ""
+
+#: ppdc/ppdhtml.cxx:177 ppdc/ppdpo.cxx:257
+msgid "  -I include-dir    Add include directory to search path."
+msgstr ""
+
+#: scheduler/cupsfilter.c:1387
+msgid "  -J title             Set title."
+msgstr ""
+
+#: test/ipptool.c:3767
+msgid "  -L             Send requests using content-length."
+msgstr ""
+
+#: scheduler/cupsfilter.c:1384
+msgid "  -P filename.ppd      Set PPD file."
+msgstr ""
+
+#: test/ipptool.c:3769
+msgid "  -S             Test with SSL encryption."
+msgstr ""
+
+#: test/ipptool.c:3770
+msgid "  -T             Set the receive/send timeout in seconds."
+msgstr ""
+
+#: systemv/cupsaddsmb.c:288
+msgid "  -U samba-user    Authenticate using the named SAMBA user."
+msgstr ""
+
+#: scheduler/cupsfilter.c:1386
+msgid "  -U username          Set username for job."
+msgstr ""
+
+#: test/ipptool.c:3772
+msgid "  -V version     Set default IPP version."
+msgstr ""
+
+#: test/ipptool.c:3773
+msgid "  -X             Produce XML plist instead of plain text."
+msgstr ""
+
+#: systemv/cupsaddsmb.c:290
+msgid "  -a               Export all printers."
+msgstr ""
+
+#: scheduler/cupsfilter.c:1385
+msgid "  -a 'name=value ...'  Set option(s)."
+msgstr ""
+
+#: ppdc/ppdc.cxx:442
+msgid "  -c catalog.po        Load the specified message catalog."
+msgstr ""
+
+#: scheduler/cupsfilter.c:1388
+msgid "  -c copies            Set number of copies."
+msgstr ""
+
+#: scheduler/cupsfilter.c:1358
+msgid "  -c cupsd.conf    Set cupsd.conf file to use."
+msgstr ""
+
+#: test/ipptool.c:3775
+msgid "  -d name=value  Define variable."
+msgstr ""
+
+#: ppdc/ppdc.cxx:444
+msgid "  -d output-dir        Specify the output directory."
+msgstr ""
+
+#: scheduler/cupsfilter.c:1373
+msgid "  -d printer           Use the named printer."
+msgstr ""
+
+#: scheduler/cupsfilter.c:1359
+msgid "  -d printer       Use the named printer."
+msgstr ""
+
+#: scheduler/cupsfilter.c:1374
+msgid "  -e                   Use every filter from the PPD file."
+msgstr ""
+
+#: scheduler/cupsfilter.c:1360
+msgid "  -e               Use every filter from the PPD file."
+msgstr ""
+
+#: scheduler/cupsfilter.c:1376
+msgid "  -f filename          Set file to be converted (otherwise stdin)."
+msgstr ""
+
+#: test/ipptool.c:3776
+msgid "  -f filename    Set default request filename."
+msgstr ""
+
+#: systemv/cupsaddsmb.c:291
+msgid "  -h cups-server   Use the named CUPS server."
+msgstr ""
+
+#: scheduler/cupsfilter.c:1380
+msgid "  -i mime/type         Set input MIME type (otherwise auto-typed)."
+msgstr ""
+
+#: test/ipptool.c:3777
+msgid "  -i seconds     Repeat the last file with the given time interval."
+msgstr ""
+
+#: scheduler/cupsfilter.c:1362
+msgid "  -j job-id[,N]    Filter file N from the specified job (default is file 1)."
+msgstr ""
+
+#: scheduler/cupsfilter.c:1382
+msgid "  -j mime/type         Set output MIME type (otherwise application/pdf)."
+msgstr ""
+
+#: ppdc/ppdc.cxx:446
+msgid "  -l lang[,lang,...]   Specify the output language(s) (locale)."
+msgstr ""
+
+#: ppdc/ppdc.cxx:448
+msgid "  -m                   Use the ModelName value as the filename."
+msgstr ""
+
+#: scheduler/cupsfilter.c:1364
+msgid "  -n copies        Set number of copies."
+msgstr ""
+
+#: test/ipptool.c:3779
+msgid "  -n count       Repeat the last file the given number of times."
+msgstr ""
+
+#: scheduler/cupsfilter.c:1378
+msgid "  -o filename          Set file to be generated (otherwise stdout)."
+msgstr ""
+
+#: ppdc/ppdi.cxx:132
+msgid "  -o filename.drv"
+msgstr ""
+
+#: ppdc/ppdmerge.cxx:370
+msgid "  -o filename.ppd[.gz]"
+msgstr ""
+
+#: scheduler/cupsfilter.c:1365
+msgid "  -o name=value    Set option(s)."
+msgstr ""
+
+#: scheduler/cupsfilter.c:1366
+msgid "  -p filename.ppd  Set PPD file."
+msgstr ""
+
+#: test/ipptool.c:3781
+msgid "  -q             Be quiet - no output except errors."
+msgstr ""
+
+#: ppdc/ppdc.cxx:450
+msgid "  -t                   Test PPDs instead of generating them."
+msgstr ""
+
+#: test/ipptool.c:3783
+msgid "  -t             Produce a test report."
+msgstr ""
+
+#: scheduler/cupsfilter.c:1367
+msgid "  -t title         Set title."
+msgstr ""
+
+#: scheduler/cupsfilter.c:1389
+msgid "  -u                   Remove the PPD file when finished."
+msgstr ""
+
+#: ppdc/ppdc.cxx:452
+msgid "  -v                   Be verbose (more v's for more verbosity)."
+msgstr ""
+
+#: ppdc/ppdpo.cxx:259
+msgid "  -v                Be verbose (more v's for more verbosity)."
+msgstr ""
+
+#: systemv/cupsaddsmb.c:292
+msgid "  -v               Be verbose (show commands)."
+msgstr ""
+
+#: test/ipptool.c:3784
+msgid "  -v             Show all attributes sent and received."
+msgstr ""
+
+#: ppdc/ppdc.cxx:454
+msgid "  -z                   Compress PPD files using GNU zip."
+msgstr ""
+
+#: systemv/cupstestppd.c:460 systemv/cupstestppd.c:475
+#: systemv/cupstestppd.c:496 systemv/cupstestppd.c:511
+#: systemv/cupstestppd.c:541 systemv/cupstestppd.c:561
+#: systemv/cupstestppd.c:584 systemv/cupstestppd.c:602
+#: systemv/cupstestppd.c:628 systemv/cupstestppd.c:646
+#: systemv/cupstestppd.c:666 systemv/cupstestppd.c:686
+#: systemv/cupstestppd.c:704 systemv/cupstestppd.c:720
+#: systemv/cupstestppd.c:738 systemv/cupstestppd.c:759
+#: systemv/cupstestppd.c:778 systemv/cupstestppd.c:798
+#: systemv/cupstestppd.c:818 systemv/cupstestppd.c:838
+#: systemv/cupstestppd.c:858 systemv/cupstestppd.c:876
+#: systemv/cupstestppd.c:893 systemv/cupstestppd.c:915
+#: systemv/cupstestppd.c:933 systemv/cupstestppd.c:950
+#: systemv/cupstestppd.c:968 systemv/cupstestppd.c:984
+#: systemv/cupstestppd.c:1004 systemv/cupstestppd.c:1035
+#: systemv/cupstestppd.c:1057 systemv/cupstestppd.c:1108
+#: systemv/cupstestppd.c:1127 systemv/cupstestppd.c:1171
+#: systemv/cupstestppd.c:1185 systemv/cupstestppd.c:1217
+#: systemv/cupstestppd.c:1244 systemv/cupstestppd.c:1771
+#: systemv/cupstestppd.c:1790 systemv/cupstestppd.c:1808
+#: systemv/cupstestppd.c:1860 systemv/cupstestppd.c:1876
+#: systemv/cupstestppd.c:1913 systemv/cupstestppd.c:1931
+#: systemv/cupstestppd.c:1967 systemv/cupstestppd.c:1981
+#: systemv/cupstestppd.c:2008 systemv/cupstestppd.c:2022
+#: systemv/cupstestppd.c:2068 systemv/cupstestppd.c:2090
+#: systemv/cupstestppd.c:2113 systemv/cupstestppd.c:2130
+#: systemv/cupstestppd.c:2199 systemv/cupstestppd.c:2246
+#: systemv/cupstestppd.c:2270 systemv/cupstestppd.c:2322
+#: systemv/cupstestppd.c:2352 systemv/cupstestppd.c:2366
+#: systemv/cupstestppd.c:2391 systemv/cupstestppd.c:2407
+#: systemv/cupstestppd.c:2437 systemv/cupstestppd.c:2451
+#: systemv/cupstestppd.c:2478 systemv/cupstestppd.c:2495
+#: systemv/cupstestppd.c:2510 systemv/cupstestppd.c:2534
+#: systemv/cupstestppd.c:2551 systemv/cupstestppd.c:2566
+#: systemv/cupstestppd.c:2590 systemv/cupstestppd.c:2607
+#: systemv/cupstestppd.c:2622 systemv/cupstestppd.c:2646
+#: systemv/cupstestppd.c:2663 systemv/cupstestppd.c:2678
+#: systemv/cupstestppd.c:2702 systemv/cupstestppd.c:2716
+#: systemv/cupstestppd.c:2731 systemv/cupstestppd.c:2748
+#: systemv/cupstestppd.c:2804 systemv/cupstestppd.c:2839
+#: systemv/cupstestppd.c:2853 systemv/cupstestppd.c:2881
+#: systemv/cupstestppd.c:2934 systemv/cupstestppd.c:2949
+#: systemv/cupstestppd.c:2987 systemv/cupstestppd.c:3007
+#: systemv/cupstestppd.c:3021 systemv/cupstestppd.c:3082
+#: systemv/cupstestppd.c:3118 systemv/cupstestppd.c:3132
+#: systemv/cupstestppd.c:3178 systemv/cupstestppd.c:3210
+#: systemv/cupstestppd.c:3227 systemv/cupstestppd.c:3250
+#: systemv/cupstestppd.c:3266 systemv/cupstestppd.c:3304
+#: systemv/cupstestppd.c:3444 systemv/cupstestppd.c:3466
+#: systemv/cupstestppd.c:3574
+msgid " FAIL"
+msgstr ""
+
+#: systemv/cupstestppd.c:333
+#, c-format
+msgid " FAIL      **FAIL**  Unable to open PPD file - %s"
+msgstr ""
+
+#: systemv/cupstestppd.c:344
+#, c-format
+msgid " FAIL      **FAIL**  Unable to open PPD file - %s on line %d."
+msgstr ""
+
+#: systemv/cupstestppd.c:1268
+msgid " PASS"
 msgstr ""
 
 #: ppdc/sample.c:53
@@ -1080,431 +1413,429 @@ msgstr ""
 msgid "#9 Envelope"
 msgstr ""
 
-#: berkeley/lpq.c:568
+#: berkeley/lpq.c:559
 #, c-format
-msgid "%-6s %-10.10s %-4d %-10d %-27.27s %.0f bytes\n"
+msgid "%-6s %-10.10s %-4d %-10d %-27.27s %.0f bytes"
 msgstr ""
 
-#: berkeley/lpq.c:573
+#: berkeley/lpq.c:564
 #, c-format
-msgid "%-7s %-7.7s %-7d %-31.31s %.0f bytes\n"
+msgid "%-7s %-7.7s %-7d %-31.31s %.0f bytes"
 msgstr ""
 
-#: filter/bannertops.c:784
+#: filter/bannertops.c:782
 #, c-format
 msgid "%.0f x %.0f millimeters"
 msgstr ""
 
-#: filter/bannertops.c:805
+#: filter/bannertops.c:803
 #, c-format
 msgid "%.0f x %.0f to %.0f x %.0f millimeters"
 msgstr ""
 
-#: filter/bannertops.c:775
+#: filter/bannertops.c:773
 #, c-format
 msgid "%.2f x %.2f inches"
 msgstr ""
 
-#: filter/bannertops.c:794
+#: filter/bannertops.c:792
 #, c-format
 msgid "%.2f x %.2f to %.2f x %.2f inches"
 msgstr ""
 
-#: systemv/lpstat.c:751
+#: systemv/lpstat.c:747
 #, c-format
-msgid "%s accepting requests since %s\n"
+msgid "%s accepting requests since %s"
 msgstr ""
 
-#: scheduler/ipp.c:10463
+#: scheduler/ipp.c:10918
 #, c-format
 msgid "%s cannot be changed."
 msgstr ""
 
-#: berkeley/lpc.c:194
+#: berkeley/lpc.c:189
 #, c-format
-msgid "%s is not implemented by the CUPS version of lpc.\n"
+msgid "%s is not implemented by the CUPS version of lpc."
 msgstr ""
 
-#: berkeley/lpq.c:659
+#: berkeley/lpq.c:650
 #, c-format
-msgid "%s is not ready\n"
+msgid "%s is not ready"
 msgstr ""
 
-#: berkeley/lpq.c:652
+#: berkeley/lpq.c:643
 #, c-format
-msgid "%s is ready\n"
+msgid "%s is ready"
 msgstr ""
 
-#: berkeley/lpq.c:655
+#: berkeley/lpq.c:646
 #, c-format
-msgid "%s is ready and printing\n"
+msgid "%s is ready and printing"
 msgstr ""
 
-#: systemv/lpstat.c:754
+#: driver/rastertoescpx.c:1775 driver/rastertopclx.c:1800
+#: filter/rastertoepson.c:985 filter/rastertohp.c:711
+#: filter/rastertolabel.c:1134
 #, c-format
-msgid ""
-"%s not accepting requests since %s -\n"
-"\t%s\n"
+msgid "%s job-id user title copies options [file]"
 msgstr ""
 
-#: scheduler/ipp.c:701
+#: systemv/lpstat.c:751
 #, c-format
-msgid "%s not supported"
+msgid "%s not accepting requests since %s -"
 msgstr ""
 
-#: systemv/lpstat.c:764
+#: scheduler/ipp.c:715
 #, c-format
-msgid "%s/%s accepting requests since %s\n"
+msgid "%s not supported"
 msgstr ""
 
-#: systemv/lpstat.c:767
+#: systemv/lpstat.c:762
 #, c-format
-msgid ""
-"%s/%s not accepting requests since %s -\n"
-"\t%s\n"
+msgid "%s/%s accepting requests since %s"
 msgstr ""
 
-#: berkeley/lpq.c:560
+#: systemv/lpstat.c:767
 #, c-format
-msgid "%s: %-33.33s [job %d localhost]\n"
+msgid "%s/%s not accepting requests since %s -"
 msgstr ""
 
-#: systemv/cancel.c:303 systemv/cancel.c:367
+#: berkeley/lpq.c:551
 #, c-format
-msgid "%s: %s failed: %s\n"
+msgid "%s: %-33.33s [job %d localhost]"
 msgstr ""
 
-#: systemv/cupsaccept.c:73
+#: systemv/cancel.c:294 systemv/cancel.c:357
 #, c-format
-msgid "%s: Don't know what to do\n"
+msgid "%s: %s failed: %s"
 msgstr ""
 
-#: berkeley/lpr.c:356 systemv/lp.c:603
+#: systemv/cupsaccept.c:68
 #, c-format
-msgid "%s: Error - %s environment variable names non-existent destination \"%s\"\n"
+msgid "%s: Don't know what to do."
 msgstr ""
 
-#: systemv/lp.c:240
+#: berkeley/lpr.c:344 systemv/lp.c:584
 #, c-format
-msgid "%s: Error - bad job ID\n"
+msgid "%s: Error - %s environment variable names non-existent destination \"%s\"."
 msgstr ""
 
-#: systemv/lp.c:227
+#: systemv/lp.c:231
 #, c-format
-msgid "%s: Error - cannot print files and alter jobs simultaneously\n"
+msgid "%s: Error - bad job ID."
 msgstr ""
 
-#: systemv/lp.c:523
+#: systemv/lp.c:219
 #, c-format
-msgid "%s: Error - cannot print from stdin if files or a job ID are provided\n"
+msgid "%s: Error - cannot print files and alter jobs simultaneously."
 msgstr ""
 
-#: systemv/lp.c:477
+#: systemv/lp.c:505
 #, c-format
-msgid "%s: Error - expected character set after '-S' option\n"
+msgid "%s: Error - cannot print from stdin if files or a job ID are provided."
 msgstr ""
 
-#: systemv/lp.c:497
+#: systemv/lp.c:461
 #, c-format
-msgid "%s: Error - expected content type after '-T' option\n"
+msgid "%s: Error - expected character set after \"-S\" option."
 msgstr ""
 
-#: systemv/lp.c:273
+#: systemv/lp.c:480
 #, c-format
-msgid "%s: Error - expected copies after '-n' option\n"
+msgid "%s: Error - expected content type after \"-T\" option."
 msgstr ""
 
-#: berkeley/lpr.c:251
+#: systemv/lp.c:264
 #, c-format
-msgid "%s: Error - expected copy count after '-#' option\n"
+msgid "%s: Error - expected copies after \"-n\" option."
 msgstr ""
 
-#: berkeley/lpr.c:219
+#: berkeley/lpr.c:240
 #, c-format
-msgid "%s: Error - expected destination after '-P' option\n"
+msgid "%s: Error - expected copy count after \"-#\" option."
 msgstr ""
 
-#: systemv/lpstat.c:235
+#: berkeley/lpr.c:209
 #, c-format
-msgid "%s: Error - expected destination after '-b' option\n"
+msgid "%s: Error - expected destination after \"-P\" option."
 msgstr ""
 
-#: systemv/lp.c:145
+#: systemv/lpstat.c:231
 #, c-format
-msgid "%s: Error - expected destination after '-d' option\n"
+msgid "%s: Error - expected destination after \"-b\" option."
 msgstr ""
 
-#: systemv/lp.c:175
+#: systemv/lp.c:138
 #, c-format
-msgid "%s: Error - expected form after '-f' option\n"
+msgid "%s: Error - expected destination after \"-d\" option."
 msgstr ""
 
-#: systemv/lp.c:404
+#: systemv/lp.c:168
 #, c-format
-msgid "%s: Error - expected hold name after '-H' option\n"
+msgid "%s: Error - expected form after \"-f\" option."
 msgstr ""
 
-#: berkeley/lpr.c:111
+#: systemv/lp.c:391
 #, c-format
-msgid "%s: Error - expected hostname after '-H' option\n"
+msgid "%s: Error - expected hold name after \"-H\" option."
 msgstr ""
 
-#: berkeley/lpq.c:188 berkeley/lprm.c:130 systemv/cancel.c:130
-#: systemv/cupsaccept.c:131 systemv/lp.c:196 systemv/lpstat.c:295
+#: berkeley/lpr.c:103
 #, c-format
-msgid "%s: Error - expected hostname after '-h' option\n"
+msgid "%s: Error - expected hostname after \"-H\" option."
 msgstr ""
 
-#: systemv/lp.c:382
+#: berkeley/lpq.c:180 berkeley/lprm.c:123 systemv/cancel.c:124
+#: systemv/cupsaccept.c:123 systemv/lp.c:189 systemv/lpstat.c:291
 #, c-format
-msgid "%s: Error - expected mode list after '-y' option\n"
+msgid "%s: Error - expected hostname after \"-h\" option."
 msgstr ""
 
-#: berkeley/lpr.c:275
+#: systemv/lp.c:371
 #, c-format
-msgid "%s: Error - expected name after '-%c' option\n"
+msgid "%s: Error - expected mode list after \"-y\" option."
 msgstr ""
 
-#: systemv/lp.c:296
+#: berkeley/lpr.c:263
 #, c-format
-msgid "%s: Error - expected option string after '-o' option\n"
+msgid "%s: Error - expected name after \"-%c\" option."
 msgstr ""
 
-#: systemv/lp.c:456
+#: systemv/lp.c:288
 #, c-format
-msgid "%s: Error - expected page list after '-P' option\n"
+msgid "%s: Error - expected option string after \"-o\" option."
 msgstr ""
 
-#: systemv/lp.c:317
+#: systemv/lp.c:441
 #, c-format
-msgid "%s: Error - expected priority after '-%c' option\n"
+msgid "%s: Error - expected page list after \"-P\" option."
 msgstr ""
 
-#: systemv/cupsaccept.c:150
+#: systemv/lp.c:308
 #, c-format
-msgid "%s: Error - expected reason text after '-r' option\n"
+msgid "%s: Error - expected priority after \"-%c\" option."
 msgstr ""
 
-#: systemv/lp.c:364
+#: systemv/cupsaccept.c:141
 #, c-format
-msgid "%s: Error - expected title after '-t' option\n"
+msgid "%s: Error - expected reason text after \"-r\" option."
 msgstr ""
 
-#: berkeley/lpr.c:91 berkeley/lprm.c:110 systemv/cancel.c:99
-#: systemv/cupsaccept.c:108 systemv/lp.c:122 systemv/lpadmin.c:471
-#: systemv/lpstat.c:141
+#: systemv/lp.c:354
 #, c-format
-msgid "%s: Error - expected username after '-U' option\n"
+msgid "%s: Error - expected title after \"-t\" option."
 msgstr ""
 
-#: berkeley/lpq.c:117
+#: berkeley/lpq.c:111 berkeley/lpr.c:84 berkeley/lprm.c:104
+#: systemv/cancel.c:94 systemv/cupsaccept.c:101 systemv/lp.c:116
+#: systemv/lpadmin.c:387 systemv/lpstat.c:137
 #, c-format
-msgid "%s: Error - expected username after '-U' option!n"
+msgid "%s: Error - expected username after \"-U\" option."
 msgstr ""
 
-#: systemv/cancel.c:152
+#: systemv/cancel.c:145
 #, c-format
-msgid "%s: Error - expected username after '-u' option\n"
+msgid "%s: Error - expected username after \"-u\" option."
 msgstr ""
 
-#: berkeley/lpr.c:134
+#: berkeley/lpr.c:125
 #, c-format
-msgid "%s: Error - expected value after '-%c' option\n"
+msgid "%s: Error - expected value after \"-%c\" option."
 msgstr ""
 
-#: systemv/lpstat.c:161 systemv/lpstat.c:175
+#: systemv/lpstat.c:157 systemv/lpstat.c:171
 #, c-format
-msgid "%s: Error - need \"completed\", \"not-completed\", or \"all\" after '-W' option\n"
+msgid "%s: Error - need \"completed\", \"not-completed\", or \"all\" after \"-W\" option."
 msgstr ""
 
-#: berkeley/lpr.c:361 systemv/lp.c:608
+#: berkeley/lpr.c:349 systemv/lp.c:589
 #, c-format
-msgid "%s: Error - no default destination available.\n"
+msgid "%s: Error - no default destination available."
 msgstr ""
 
-#: systemv/lp.c:340
+#: systemv/lp.c:330
 #, c-format
-msgid "%s: Error - priority must be between 1 and 100.\n"
+msgid "%s: Error - priority must be between 1 and 100."
 msgstr ""
 
-#: berkeley/lpr.c:365 systemv/lp.c:612
+#: berkeley/lpr.c:352 systemv/lp.c:592
 #, c-format
-msgid "%s: Error - scheduler not responding\n"
+msgid "%s: Error - scheduler not responding."
 msgstr ""
 
-#: berkeley/lpr.c:317 systemv/lp.c:556
+#: berkeley/lpr.c:305 systemv/lp.c:537
 #, c-format
-msgid "%s: Error - too many files - \"%s\"\n"
+msgid "%s: Error - too many files - \"%s\"."
 msgstr ""
 
-#: berkeley/lpr.c:299 systemv/lp.c:539
+#: systemv/lp.c:520
 #, c-format
-msgid "%s: Error - unable to access \"%s\" - %s\n"
+msgid "%s: Error - unable to access \"%s\" - %s"
 msgstr ""
 
-#: berkeley/lpr.c:410 systemv/lp.c:645
+#: berkeley/lpr.c:287
 #, c-format
-msgid "%s: Error - unable to queue from stdin - %s\n"
+msgid "%s: Error - unable to access \"%s\" - %s."
 msgstr ""
 
-#: berkeley/lprm.c:93 berkeley/lprm.c:182 systemv/cancel.c:222
+#: berkeley/lpr.c:396 systemv/lp.c:624
 #, c-format
-msgid "%s: Error - unknown destination \"%s\"\n"
+msgid "%s: Error - unable to queue from stdin - %s."
 msgstr ""
 
-#: berkeley/lpq.c:157
+#: berkeley/lprm.c:87 berkeley/lprm.c:172 systemv/cancel.c:214
 #, c-format
-msgid "%s: Error - unknown destination \"%s/%s\"\n"
+msgid "%s: Error - unknown destination \"%s\"."
 msgstr ""
 
-#: berkeley/lpr.c:286 berkeley/lprm.c:148 systemv/cancel.c:164
-#: systemv/cupsaccept.c:174 systemv/lp.c:514 systemv/lpstat.c:456
+#: berkeley/lpq.c:150
 #, c-format
-msgid "%s: Error - unknown option '%c'\n"
+msgid "%s: Error - unknown destination \"%s/%s\"."
 msgstr ""
 
-#: systemv/cupsaccept.c:167
+#: berkeley/lpr.c:274 berkeley/lprm.c:139 systemv/cancel.c:156
+#: systemv/cupsaccept.c:164 systemv/lp.c:496 systemv/lpstat.c:452
 #, c-format
-msgid "%s: Error - unknown option '%s'\n"
+msgid "%s: Error - unknown option \"%c\"."
 msgstr ""
 
-#: systemv/lp.c:216
+#: systemv/cupsaccept.c:157
 #, c-format
-msgid "%s: Expected job ID after '-i' option\n"
+msgid "%s: Error - unknown option \"%s\"."
 msgstr ""
 
-#: scheduler/cupsfilter.c:558
+#: systemv/lp.c:208
 #, c-format
-msgid "%s: Filter \"%s\" not available: %s\n"
+msgid "%s: Expected job ID after \"-i\" option."
 msgstr ""
 
-#: systemv/lpstat.c:508 systemv/lpstat.c:547
+#: scheduler/cupsfilter.c:562
 #, c-format
-msgid "%s: Invalid destination name in list \"%s\"\n"
+msgid "%s: Filter \"%s\" not available: %s"
 msgstr ""
 
-#: scheduler/cupsfilter.c:539
+#: systemv/lpstat.c:504 systemv/lpstat.c:543
 #, c-format
-msgid "%s: Invalid filter string \"%s\"\n"
+msgid "%s: Invalid destination name in list \"%s\"."
 msgstr ""
 
-#: systemv/lp.c:432
+#: scheduler/cupsfilter.c:543
 #, c-format
-msgid "%s: Need job ID ('-i jobid') before '-H restart'\n"
+msgid "%s: Invalid filter string \"%s\"."
 msgstr ""
 
-#: scheduler/cupsfilter.c:453
+#: systemv/lp.c:418
 #, c-format
-msgid "%s: No filter to convert from %s/%s to %s/%s\n"
+msgid "%s: Need job ID (\"-i jobid\") before \"-H restart\"."
 msgstr ""
 
-#: systemv/cupsaccept.c:208
+#: scheduler/cupsfilter.c:457
 #, c-format
-msgid "%s: Operation failed: %s\n"
+msgid "%s: No filter to convert from %s/%s to %s/%s."
 msgstr ""
 
-#: berkeley/lpq.c:103 berkeley/lpr.c:77 berkeley/lprm.c:72 systemv/cancel.c:85
-#: systemv/cupsaccept.c:94 systemv/cupsaddsmb.c:91 systemv/lp.c:108
-#: systemv/lpadmin.c:277 systemv/lpinfo.c:94 systemv/lpmove.c:79
-#: systemv/lpstat.c:106 test/ipptest.c:230
+#: systemv/cupsaccept.c:198
 #, c-format
-msgid "%s: Sorry, no encryption support compiled in\n"
+msgid "%s: Operation failed: %s"
 msgstr ""
 
-#: berkeley/lpq.c:304 scheduler/cupsfilter.c:1141 systemv/cupsaddsmb.c:149
-#: systemv/cupsaddsmb.c:175
+#: berkeley/lpq.c:97 berkeley/lpr.c:70 berkeley/lprm.c:67 systemv/cancel.c:81
+#: systemv/cupsaccept.c:88 systemv/cupsaddsmb.c:86 systemv/lp.c:102
+#: systemv/lpadmin.c:233 systemv/lpinfo.c:88 systemv/lpmove.c:73
+#: systemv/lpstat.c:102 test/ipptool.c:276 test/ipptool.c:293
 #, c-format
-msgid "%s: Unable to connect to server\n"
+msgid "%s: Sorry, no encryption support."
 msgstr ""
 
-#: systemv/cancel.c:245 systemv/cancel.c:326
+#: berkeley/lpq.c:295 scheduler/cupsfilter.c:1145 systemv/cupsaddsmb.c:144
+#: systemv/cupsaddsmb.c:171
 #, c-format
-msgid "%s: Unable to contact server\n"
+msgid "%s: Unable to connect to server."
 msgstr ""
 
-#: scheduler/cupsfilter.c:419
+#: systemv/cancel.c:237 systemv/cancel.c:317
 #, c-format
-msgid "%s: Unable to determine MIME type of \"%s\"\n"
+msgid "%s: Unable to contact server."
 msgstr ""
 
-#: ppdc/ppdc-file.cxx:50 ppdc/ppdmerge.cxx:99
+#: scheduler/cupsfilter.c:423
 #, c-format
-msgid "%s: Unable to open %s: %s\n"
+msgid "%s: Unable to determine MIME type of \"%s\"."
 msgstr ""
 
-#: scheduler/cupsfilter.c:603
+#: ppdc/ppdmerge.cxx:96
 #, c-format
-msgid "%s: Unable to open PPD file: %s on line %d\n"
+msgid "%s: Unable to open %s: %s"
 msgstr ""
 
-#: ppdc/ppdmerge.cxx:113
+#: scheduler/cupsfilter.c:607 ppdc/ppdmerge.cxx:112
 #, c-format
-msgid "%s: Unable to open PPD file: %s on line %d.\n"
+msgid "%s: Unable to open PPD file: %s on line %d."
 msgstr ""
 
-#: scheduler/cupsfilter.c:384
+#: scheduler/cupsfilter.c:388
 #, c-format
-msgid "%s: Unable to read MIME database from \"%s\" or \"%s\"\n"
+msgid "%s: Unable to read MIME database from \"%s\" or \"%s\"."
 msgstr ""
 
-#: berkeley/lpq.c:161 systemv/lpstat.c:562
+#: berkeley/lpq.c:153 systemv/lpstat.c:558
 #, c-format
-msgid "%s: Unknown destination \"%s\"\n"
+msgid "%s: Unknown destination \"%s\"."
 msgstr ""
 
-#: scheduler/cupsfilter.c:430
+#: scheduler/cupsfilter.c:434
 #, c-format
-msgid "%s: Unknown destination MIME type %s/%s\n"
+msgid "%s: Unknown destination MIME type %s/%s."
 msgstr ""
 
-#: scheduler/cupsfilter.c:1347
+#: scheduler/cupsfilter.c:1351
 #, c-format
-msgid "%s: Unknown option '%c'\n"
+msgid "%s: Unknown option \"%c\"."
 msgstr ""
 
-#: scheduler/cupsfilter.c:411
+#: scheduler/cupsfilter.c:415
 #, c-format
-msgid "%s: Unknown source MIME type %s/%s\n"
+msgid "%s: Unknown source MIME type %s/%s."
 msgstr ""
 
-#: berkeley/lpr.c:148
+#: berkeley/lpr.c:139
 #, c-format
-msgid "%s: Warning - '%c' format modifier not supported - output may not be correct\n"
+msgid "%s: Warning - \"%c\" format modifier not supported - output may not be correct."
 msgstr ""
 
-#: systemv/lp.c:485
+#: systemv/lp.c:468
 #, c-format
-msgid "%s: Warning - character set option ignored\n"
+msgid "%s: Warning - character set option ignored."
 msgstr ""
 
-#: systemv/lp.c:505
+#: systemv/lp.c:487
 #, c-format
-msgid "%s: Warning - content type option ignored\n"
+msgid "%s: Warning - content type option ignored."
 msgstr ""
 
-#: systemv/lp.c:182
+#: systemv/lp.c:175
 #, c-format
-msgid "%s: Warning - form option ignored\n"
+msgid "%s: Warning - form option ignored."
 msgstr ""
 
-#: systemv/lp.c:390
+#: systemv/lp.c:378
 #, c-format
-msgid "%s: Warning - mode option ignored\n"
+msgid "%s: Warning - mode option ignored."
 msgstr ""
 
-#: berkeley/lpq.c:245
+#: berkeley/lpq.c:236
 #, c-format
-msgid "%s: error - %s environment variable names non-existent destination \"%s\"\n"
+msgid "%s: error - %s environment variable names non-existent destination \"%s\"."
 msgstr ""
 
-#: berkeley/lpr.c:162
+#: berkeley/lpr.c:153
 #, c-format
-msgid "%s: error - expected option=value after '-o' option\n"
+msgid "%s: error - expected option=value after \"-o\" option."
 msgstr ""
 
-#: berkeley/lpq.c:250
+#: berkeley/lpq.c:241
 #, c-format
-msgid "%s: error - no default destination available.\n"
+msgid "%s: error - no default destination available."
 msgstr ""
 
 #: ppdc/sample.c:283
@@ -1651,6 +1982,30 @@ msgstr ""
 msgid "-95"
 msgstr ""
 
+#: scheduler/main.c:2201
+msgid "-F                  Run in the foreground but detach from console."
+msgstr ""
+
+#: scheduler/main.c:2198
+msgid "-c config-file      Load alternate configuration file."
+msgstr ""
+
+#: scheduler/main.c:2200
+msgid "-f                  Run in the foreground."
+msgstr ""
+
+#: scheduler/main.c:2203
+msgid "-h                  Show this usage message."
+msgstr ""
+
+#: scheduler/main.c:2204
+msgid "-l                  Run cupsd from launchd(8)."
+msgstr ""
+
+#: scheduler/main.c:2205
+msgid "-t                  Test the configuration file."
+msgstr ""
+
 #: ppdc/sample.c:284
 msgid "0"
 msgstr ""
@@ -2291,24 +2646,24 @@ msgstr ""
 msgid "95"
 msgstr ""
 
-#: berkeley/lpc.c:218
-msgid "?Invalid help command unknown\n"
+#: berkeley/lpc.c:213
+msgid "?Invalid help command unknown."
 msgstr ""
 
-#: cgi-bin/admin.c:2421
+#: cgi-bin/admin.c:2419
 msgid "A Samba password is required to export printer drivers"
 msgstr ""
 
-#: cgi-bin/admin.c:2417
+#: cgi-bin/admin.c:2415
 msgid "A Samba username is required to export printer drivers"
 msgstr ""
 
-#: scheduler/ipp.c:2397
+#: scheduler/ipp.c:2463
 #, c-format
 msgid "A class named \"%s\" already exists"
 msgstr ""
 
-#: scheduler/ipp.c:1016
+#: scheduler/ipp.c:1033
 #, c-format
 msgid "A printer named \"%s\" already exists"
 msgstr ""
@@ -2417,7 +2772,7 @@ msgstr ""
 msgid "Accept Jobs"
 msgstr ""
 
-#: cups/http-support.c:1196
+#: cups/http-support.c:1202
 msgid "Accepted"
 msgstr ""
 
@@ -2442,7 +2797,7 @@ msgstr ""
 msgid "Address - 1 1/8 x 3 1/2\""
 msgstr ""
 
-#: cgi-bin/admin.c:187 cgi-bin/admin.c:261 cgi-bin/admin.c:2841
+#: cgi-bin/admin.c:187 cgi-bin/admin.c:261 cgi-bin/admin.c:2839
 msgid "Administration"
 msgstr ""
 
@@ -2458,12 +2813,12 @@ msgstr ""
 msgid "Applicator"
 msgstr ""
 
-#: scheduler/ipp.c:1142
+#: scheduler/ipp.c:1159
 #, c-format
 msgid "Attempt to set %s printer-state to bad value %d"
 msgstr ""
 
-#: scheduler/ipp.c:341
+#: scheduler/ipp.c:349
 #, c-format
 msgid "Attribute groups are out of order (%x < %x)"
 msgstr ""
@@ -2512,155 +2867,217 @@ msgstr ""
 msgid "B9"
 msgstr ""
 
-#: cups/dest.c:321
+#: cups/dest.c:316
 msgid "Bad NULL dests pointer"
 msgstr ""
 
-#: cups/ppd.c:342
+#: cups/ppd.c:347
 msgid "Bad OpenGroup"
 msgstr ""
 
-#: cups/ppd.c:344
+#: cups/ppd.c:349
 msgid "Bad OpenUI/JCLOpenUI"
 msgstr ""
 
-#: cups/ppd.c:346
+#: cups/ppd.c:351
 msgid "Bad OrderDependency"
 msgstr ""
 
-#: cups/http-support.c:1211
-msgid "Bad Request"
+#: cups/pwg-file.c:110 cups/pwg-file.c:118 cups/pwg-file.c:126
+#: cups/pwg-file.c:143 cups/pwg-file.c:151 cups/pwg-file.c:166
+#: cups/pwg-file.c:174 cups/pwg-file.c:192 cups/pwg-file.c:203
+#: cups/pwg-file.c:218 cups/pwg-file.c:229 cups/pwg-file.c:250
+#: cups/pwg-file.c:258 cups/pwg-file.c:275 cups/pwg-file.c:283
+#: cups/pwg-file.c:298 cups/pwg-file.c:306 cups/pwg-file.c:323
+#: cups/pwg-file.c:331 cups/pwg-file.c:357 cups/pwg-file.c:377
+#: cups/pwg-file.c:386 cups/pwg-file.c:394 cups/pwg-file.c:402
+msgid "Bad PWG mapping file."
 msgstr ""
 
-#: cups/snmp.c:1009
+#: cups/http-support.c:1217
+msgid "Bad Request"
+msgstr ""
+
+#: cups/snmp.c:1007
 msgid "Bad SNMP version number"
 msgstr ""
 
-#: cups/ppd.c:347
+#: cups/ppd.c:352
 msgid "Bad UIConstraints"
 msgstr ""
 
-#: scheduler/ipp.c:1442
+#: filter/pstext.c:274 filter/texttops.c:297 filter/texttops.c:309
+#, c-format
+msgid "Bad charset file \"%s\"."
+msgstr ""
+
+#: filter/texttops.c:472
+#, c-format
+msgid "Bad charset type: %s"
+msgstr ""
+
+#: filter/textcommon.c:613
+#, c-format
+msgid "Bad columns value %d."
+msgstr ""
+
+#: scheduler/ipp.c:1463
 #, c-format
 msgid "Bad copies value %d."
 msgstr ""
 
-#: cups/ppd.c:355
+#: filter/textcommon.c:625
+#, c-format
+msgid "Bad cpi value %f."
+msgstr ""
+
+#: cups/ppd.c:360
 msgid "Bad custom parameter"
 msgstr ""
 
-#: cups/http-support.c:1339
+#: cups/http-support.c:1364
 #, c-format
-msgid "Bad device URI \"%s\"\n"
+msgid "Bad device URI \"%s\"."
 msgstr ""
 
-#: scheduler/ipp.c:2516
+#: scheduler/ipp.c:2582
 #, c-format
 msgid "Bad device-uri \"%s\""
 msgstr ""
 
-#: scheduler/ipp.c:2556
+#: scheduler/ipp.c:2622
 #, c-format
 msgid "Bad device-uri scheme \"%s\""
 msgstr ""
 
-#: scheduler/ipp.c:9883 scheduler/ipp.c:11362
+#: scheduler/ipp.c:9101 scheduler/ipp.c:9117 scheduler/ipp.c:10336
+#: scheduler/ipp.c:11842
 #, c-format
 msgid "Bad document-format \"%s\""
 msgstr ""
 
-#: cups/util.c:933
+#: cups/util.c:927
 msgid "Bad filename buffer"
 msgstr ""
 
-#: ppdc/ppdc-import.cxx:265
+#: filter/pstext.c:320 filter/pstext.c:358
 #, c-format
-msgid "Bad font attribute: %s\n"
+msgid "Bad font description line \"%s\"."
 msgstr ""
 
-#: scheduler/ipp.c:10479
+#: filter/texttops.c:364 filter/texttops.c:402
+#, c-format
+msgid "Bad font description line: %s"
+msgstr ""
+
+#: scheduler/ipp.c:10934
 msgid "Bad job-priority value"
 msgstr ""
 
-#: scheduler/ipp.c:1472
+#: scheduler/ipp.c:1493
 #, c-format
 msgid "Bad job-sheets value \"%s\""
 msgstr ""
 
-#: scheduler/ipp.c:1456
+#: scheduler/ipp.c:1477
 msgid "Bad job-sheets value type"
 msgstr ""
 
-#: scheduler/ipp.c:10509
+#: scheduler/ipp.c:10964
 msgid "Bad job-state value"
 msgstr ""
 
-#: scheduler/ipp.c:3686 scheduler/ipp.c:4045 scheduler/ipp.c:6667
-#: scheduler/ipp.c:6810 scheduler/ipp.c:8108 scheduler/ipp.c:8363
-#: scheduler/ipp.c:9214 scheduler/ipp.c:9440 scheduler/ipp.c:9795
-#: scheduler/ipp.c:10371
+#: scheduler/ipp.c:3758 scheduler/ipp.c:4209 scheduler/ipp.c:6959
+#: scheduler/ipp.c:7104 scheduler/ipp.c:8548 scheduler/ipp.c:8803
+#: scheduler/ipp.c:9656 scheduler/ipp.c:9882 scheduler/ipp.c:10237
+#: scheduler/ipp.c:10826
 #, c-format
 msgid "Bad job-uri attribute \"%s\""
 msgstr ""
 
-#: scheduler/ipp.c:2132 scheduler/ipp.c:6212
+#: filter/textcommon.c:637
+#, c-format
+msgid "Bad lpi value %f."
+msgstr ""
+
+#: scheduler/ipp.c:2198 scheduler/ipp.c:6498
 #, c-format
 msgid "Bad notify-pull-method \"%s\""
 msgstr ""
 
-#: scheduler/ipp.c:2096 scheduler/ipp.c:6176
+#: scheduler/ipp.c:2162 scheduler/ipp.c:6462
 #, c-format
 msgid "Bad notify-recipient-uri URI \"%s\""
 msgstr ""
 
-#: scheduler/ipp.c:1488
+#: scheduler/ipp.c:1509
 #, c-format
 msgid "Bad number-up value %d."
 msgstr ""
 
-#: cups/adminutil.c:303
+#: cups/adminutil.c:292
 #, c-format
 msgid "Bad option + choice on line %d"
 msgstr ""
 
-#: scheduler/ipp.c:1505
+#: scheduler/ipp.c:1526
 #, c-format
 msgid "Bad page-ranges values %d-%d."
 msgstr ""
 
-#: scheduler/ipp.c:2600
+#: scheduler/ipp.c:2666
 #, c-format
 msgid "Bad port-monitor \"%s\""
 msgstr ""
 
-#: scheduler/ipp.c:2653
+#: scheduler/ipp.c:2719
 #, c-format
 msgid "Bad printer-state value %d"
 msgstr ""
 
-#: scheduler/ipp.c:309
+#: scheduler/ipp.c:317
 #, c-format
 msgid "Bad request ID %d"
 msgstr ""
 
-#: scheduler/ipp.c:294
+#: scheduler/ipp.c:302
 #, c-format
 msgid "Bad request version number %d.%d"
 msgstr ""
 
-#: cgi-bin/admin.c:1463
+#: cgi-bin/admin.c:1461
 msgid "Bad subscription ID"
 msgstr ""
 
-#: cups/ppd.c:357
+#: filter/pstext.c:333
+#, c-format
+msgid "Bad text direction \"%s\"."
+msgstr ""
+
+#: filter/texttops.c:377
+#, c-format
+msgid "Bad text direction: %s"
+msgstr ""
+
+#: filter/pstext.c:371
+#, c-format
+msgid "Bad text width \"%s\"."
+msgstr ""
+
+#: filter/texttops.c:416
+#, c-format
+msgid "Bad text width: %s"
+msgstr ""
+
+#: cups/ppd.c:362
 msgid "Bad value string"
 msgstr ""
 
-#: cgi-bin/admin.c:3386 cgi-bin/admin.c:3619
+#: cgi-bin/admin.c:3384 cgi-bin/admin.c:3630
 msgid "Banners"
 msgstr ""
 
-#: filter/bannertops.c:666
+#: filter/bannertops.c:664
 msgid "Billing Information: "
 msgstr ""
 
@@ -2668,6 +3085,15 @@ msgstr ""
 msgid "Bond Paper"
 msgstr ""
 
+#: backend/usb-darwin.c:1854
+#, c-format
+msgid "Boolean expected for waiteof option \"%s\"."
+msgstr ""
+
+#: filter/pstops.c:2107
+msgid "Buffer overflow detected, aborting."
+msgstr ""
+
 #: ppdc/sample.c:58
 msgid "C0 Envelope"
 msgstr ""
@@ -2724,16 +3150,20 @@ msgstr ""
 msgid "CPCL Label Printer"
 msgstr ""
 
-#: cgi-bin/admin.c:1464 cgi-bin/admin.c:1503 cgi-bin/admin.c:1513
+#: cgi-bin/admin.c:1462 cgi-bin/admin.c:1501 cgi-bin/admin.c:1511
 msgid "Cancel RSS Subscription"
 msgstr ""
 
-#: cgi-bin/admin.c:1686 cgi-bin/admin.c:1850 cgi-bin/admin.c:1862
-#: cgi-bin/admin.c:1873
+#: backend/ipp.c:1544
+msgid "Canceling print job."
+msgstr ""
+
+#: cgi-bin/admin.c:1684 cgi-bin/admin.c:1848 cgi-bin/admin.c:1860
+#: cgi-bin/admin.c:1871
 msgid "Change Settings"
 msgstr ""
 
-#: scheduler/ipp.c:2144 scheduler/ipp.c:6224
+#: scheduler/ipp.c:2210 scheduler/ipp.c:6510
 #, c-format
 msgid "Character set \"%s\" not supported"
 msgstr ""
@@ -2754,6 +3184,10 @@ msgstr ""
 msgid "Clean Print Heads"
 msgstr ""
 
+#: scheduler/ipp.c:4658
+msgid "Close-Job doesn't support the job-uri attribute."
+msgstr ""
+
 #: ppdc/sample.c:255
 msgid "Color"
 msgstr ""
@@ -2762,18 +3196,26 @@ msgstr ""
 msgid "Color Mode"
 msgstr ""
 
-#: berkeley/lpc.c:209
+#: berkeley/lpc.c:204
 msgid ""
 "Commands may be abbreviated.  Commands are:\n"
 "\n"
-"exit    help    quit    status  ?\n"
+"exit    help    quit    status  ?"
 msgstr ""
 
-#: cups/snmp.c:1013
+#: cups/snmp.c:1011
 msgid "Community name uses indefinite length"
 msgstr ""
 
-#: cups/http-support.c:1184
+#: backend/ipp.c:602 backend/lpd.c:886 backend/socket.c:356
+msgid "Connected to printer."
+msgstr ""
+
+#: backend/ipp.c:501 backend/lpd.c:715 backend/socket.c:272
+msgid "Connecting to printer."
+msgstr ""
+
+#: cups/http-support.c:1190
 msgid "Continue"
 msgstr ""
 
@@ -2781,20 +3223,28 @@ msgstr ""
 msgid "Continuous"
 msgstr ""
 
-#: scheduler/ipp.c:8661 scheduler/ipp.c:8677 scheduler/ipp.c:9899
+#: backend/lpd.c:1047 backend/lpd.c:1191
+msgid "Control file sent successfully."
+msgstr ""
+
+#: backend/lpd.c:450
+msgid "Copying print data."
+msgstr ""
+
+#: scheduler/ipp.c:10352
 #, c-format
 msgid "Could not scan type \"%s\""
 msgstr ""
 
-#: cups/http-support.c:1193
+#: cups/http-support.c:1199
 msgid "Created"
 msgstr ""
 
-#: filter/bannertops.c:854
+#: filter/bannertops.c:852
 msgid "Created On: "
 msgstr ""
 
-#: cups/ppd.c:1074 cups/ppd.c:1114 cups/ppd.c:1359 cups/ppd.c:1462
+#: cups/ppd.c:1081 cups/ppd.c:1121 cups/ppd.c:1366 cups/ppd.c:1469
 msgid "Custom"
 msgstr ""
 
@@ -2830,15 +3280,19 @@ msgstr ""
 msgid "Darkness"
 msgstr ""
 
-#: cgi-bin/admin.c:2146 cgi-bin/admin.c:2157 cgi-bin/admin.c:2202
+#: backend/lpd.c:1138
+msgid "Data file sent successfully."
+msgstr ""
+
+#: cgi-bin/admin.c:2144 cgi-bin/admin.c:2155 cgi-bin/admin.c:2200
 msgid "Delete Class"
 msgstr ""
 
-#: cgi-bin/admin.c:2231 cgi-bin/admin.c:2242 cgi-bin/admin.c:2287
+#: cgi-bin/admin.c:2229 cgi-bin/admin.c:2240 cgi-bin/admin.c:2285
 msgid "Delete Printer"
 msgstr ""
 
-#: filter/bannertops.c:735
+#: filter/bannertops.c:733
 msgid "Description: "
 msgstr ""
 
@@ -2846,12 +3300,12 @@ msgstr ""
 msgid "DeskJet Series"
 msgstr ""
 
-#: scheduler/ipp.c:1408
+#: scheduler/ipp.c:1429
 #, c-format
 msgid "Destination \"%s\" is not accepting jobs."
 msgstr ""
 
-#: systemv/lpinfo.c:305
+#: systemv/lpinfo.c:300
 #, c-format
 msgid ""
 "Device: uri = %s\n"
@@ -2859,7 +3313,7 @@ msgid ""
 "        info = %s\n"
 "        make-and-model = %s\n"
 "        device-id = %s\n"
-"        location = %s\n"
+"        location = %s"
 msgstr ""
 
 #: ppdc/sample.c:409
@@ -2870,7 +3324,7 @@ msgstr ""
 msgid "Disabled"
 msgstr ""
 
-#: scheduler/ipp.c:6714
+#: scheduler/ipp.c:7006
 #, c-format
 msgid "Document %d not found in job %d."
 msgstr ""
@@ -2879,11 +3333,11 @@ msgstr ""
 msgid "Double Postcard"
 msgstr ""
 
-#: filter/bannertops.c:820
+#: filter/bannertops.c:818
 msgid "Driver Name: "
 msgstr ""
 
-#: filter/bannertops.c:831
+#: filter/bannertops.c:829
 msgid "Driver Version: "
 msgstr ""
 
@@ -2895,16 +3349,6 @@ msgstr ""
 msgid "Dymo"
 msgstr ""
 
-#: filter/pstops.c:446
-#, c-format
-msgid "EMERG: Unable to allocate memory for page info: %s\n"
-msgstr ""
-
-#: filter/pstops.c:438
-#, c-format
-msgid "EMERG: Unable to allocate memory for pages array: %s\n"
-msgstr ""
-
 #: ppdc/sample.c:404
 msgid "EPL1 Label Printer"
 msgstr ""
@@ -2913,552 +3357,17 @@ msgstr ""
 msgid "EPL2 Label Printer"
 msgstr ""
 
-#: driver/rastertoescpx.c:1776 driver/rastertopclx.c:1801
-#, c-format
-msgid "ERROR: %s job-id user title copies options [file]\n"
-msgstr ""
-
-#: filter/pstops.c:707
-#, c-format
-msgid "ERROR: Bad %%BoundingBox: comment seen\n"
-msgstr ""
-
-#: filter/pstops.c:2220
-#, c-format
-msgid "ERROR: Bad %%IncludeFeature: comment\n"
-msgstr ""
-
-#: filter/pstops.c:1286 filter/pstops.c:1292
-#, c-format
-msgid "ERROR: Bad %%Page: comment in file\n"
-msgstr ""
-
-#: filter/pstops.c:1363
-#, c-format
-msgid "ERROR: Bad %%PageBoundingBox: comment in file\n"
-msgstr ""
-
-#: filter/pstext.c:276 filter/texttops.c:284 filter/texttops.c:295
-#, c-format
-msgid "ERROR: Bad charset file %s\n"
-msgstr ""
-
-#: filter/texttops.c:453
-#, c-format
-msgid "ERROR: Bad charset type %s\n"
-msgstr ""
-
-#: filter/textcommon.c:613
-#, c-format
-msgid "ERROR: Bad columns value %d\n"
-msgstr ""
-
-#: filter/textcommon.c:624
-#, c-format
-msgid "ERROR: Bad cpi value %f\n"
-msgstr ""
-
-#: filter/pstext.c:320 filter/pstext.c:357 filter/texttops.c:348
-#: filter/texttops.c:384
-#, c-format
-msgid "ERROR: Bad font description line: %s\n"
-msgstr ""
-
-#: filter/textcommon.c:635
-#, c-format
-msgid "ERROR: Bad lpi value %f\n"
-msgstr ""
-
-#: filter/imagetoraster.c:458
-msgid "ERROR: Bad page setup\n"
-msgstr ""
-
-#: filter/pstext.c:334 filter/texttops.c:361
-#, c-format
-msgid "ERROR: Bad text direction %s\n"
-msgstr ""
-
-#: filter/pstext.c:371 filter/texttops.c:397
-#, c-format
-msgid "ERROR: Bad text width %s\n"
-msgstr ""
-
-#: backend/ipp.c:724
-msgid "ERROR: Destination printer does not exist\n"
-msgstr ""
-
-#: filter/pstops.c:696
-#, c-format
-msgid "ERROR: Duplicate %%BoundingBox: comment seen\n"
-msgstr ""
-
-#: filter/pstops.c:648
-#, c-format
-msgid "ERROR: Duplicate %%Pages: comment seen\n"
-msgstr ""
-
-#: backend/ipp.c:451 filter/pstops.c:303
-msgid "ERROR: Empty print file\n"
-msgstr ""
-
-#: backend/pap.c:838
-#, c-format
-msgid "ERROR: Error %d sending PAPSendData request: %s\n"
-msgstr ""
-
-#: ppdc/ppdc-catalog.cxx:341 ppdc/ppdc-catalog.cxx:353
-#, c-format
-msgid "ERROR: Expected quoted string on line %d of %s\n"
-msgstr ""
-
-#: backend/usb-darwin.c:376 backend/usb-darwin.c:434 backend/usb-darwin.c:499
-#: backend/usb-darwin.c:518
-msgid "ERROR: Fatal USB error\n"
-msgstr ""
-
-#: filter/pstops.c:1771
-#, c-format
-msgid "ERROR: Missing %%EndProlog\n"
-msgstr ""
-
-#: filter/pstops.c:1842
-#, c-format
-msgid "ERROR: Missing %%EndSetup\n"
-msgstr ""
-
-#: filter/bannertops.c:222
-#, c-format
-msgid "ERROR: Missing value on line %d of banner file\n"
-msgstr ""
-
-#: ppdc/ppdc-catalog.cxx:418
-#, c-format
-msgid "ERROR: Need a msgid line before any translation strings on line %d of %s\n"
-msgstr ""
-
-#: filter/pstops.c:759
-#, c-format
-msgid "ERROR: No %%BoundingBox: comment in header\n"
-msgstr ""
-
-#: filter/pstops.c:762
-#, c-format
-msgid "ERROR: No %%Pages: comment in header\n"
-msgstr ""
-
-#: backend/usb.c:200
-msgid "ERROR: No device URI found in argv[0] or in DEVICE_URI environment variable\n"
-msgstr ""
-
-#: filter/pstext.c:433
-#, c-format
-msgid "ERROR: No fonts in charset file %s\n"
-msgstr ""
-
-#: driver/rastertoescpx.c:1906 driver/rastertopclx.c:1931
-#: filter/rastertoepson.c:1129 filter/rastertohp.c:857
-#: filter/rastertolabel.c:1283
-msgid "ERROR: No pages found\n"
-msgstr ""
-
-#: backend/runloop.c:358
-msgid "ERROR: Out of paper\n"
-msgstr ""
-
-#: backend/ipp.c:1738
-msgid "ERROR: PRINTER environment variable not defined\n"
-msgstr ""
-
-#: backend/ipp.c:1038
-#, c-format
-msgid "ERROR: Print file was not accepted (%s)\n"
-msgstr ""
-
-#: backend/ipp.c:563 backend/ipp.c:694 backend/lpd.c:832 backend/pap.c:521
-#: backend/socket.c:310
-msgid "ERROR: Printer not responding\n"
-msgstr ""
-
-#: backend/pap.c:858
-msgid "ERROR: Printer sent unexpected EOF\n"
-msgstr ""
-
-#: backend/lpd.c:1020 backend/lpd.c:1167
-#, c-format
-msgid "ERROR: Remote host did not accept control file (%d)\n"
-msgstr ""
-
-#: backend/lpd.c:1115
-#, c-format
-msgid "ERROR: Remote host did not accept data file (%d)\n"
-msgstr ""
-
-#: backend/pap.c:1691
-msgid "ERROR: There was a timeout error while sending data to the printer\n"
-msgstr ""
-
-#: backend/ipp.c:1122
-#, c-format
-msgid "ERROR: Unable to add file %d to job: %s\n"
-msgstr ""
-
-#: backend/ipp.c:1389
-#, c-format
-msgid "ERROR: Unable to cancel job %d: %s\n"
-msgstr ""
-
-#: backend/ipp.c:587 backend/lpd.c:857 backend/socket.c:328
-msgid "ERROR: Unable to connect to printer; will retry in 30 seconds...\n"
-msgstr ""
-
-#: filter/pdftops.c:136
-msgid "ERROR: Unable to copy PDF file"
-msgstr ""
-
-#: filter/pdftops.c:412
-msgid "ERROR: Unable to create pipe"
-msgstr ""
-
-#: backend/lpd.c:757
-msgid "ERROR: Unable to create socket"
-msgstr ""
-
-#: backend/ipp.c:1481
-#, c-format
-msgid "ERROR: Unable to create temporary compressed print file: %s\n"
-msgstr ""
-
-#: backend/ipp.c:429 backend/ipp.c:1760 backend/lpd.c:444 filter/pstops.c:2719
-#: scheduler/cupsfilter.c:1156 systemv/lpadmin.c:1453 systemv/lpadmin.c:1842
-msgid "ERROR: Unable to create temporary file"
-msgstr ""
-
-#: backend/ipp.c:1818
-#, c-format
-msgid "ERROR: Unable to exec pictwpstops: %s\n"
-msgstr ""
-
-#: filter/pdftops.c:433 filter/pdftops.c:447
-msgid "ERROR: Unable to execute gs program"
-msgstr ""
-
-#: filter/pdftops.c:430 filter/pdftops.c:445
-msgid "ERROR: Unable to execute pdftops program"
-msgstr ""
-
-#: filter/pdftops.c:467 filter/pdftops.c:477
-msgid "ERROR: Unable to execute pstops program"
-msgstr ""
-
-#: backend/ipp.c:1831
-#, c-format
-msgid "ERROR: Unable to fork pictwpstops: %s\n"
-msgstr ""
-
-#: backend/pap.c:712
-msgid "ERROR: Unable to get PAP request"
-msgstr ""
-
-#: backend/pap.c:701
-msgid "ERROR: Unable to get PAP response"
-msgstr ""
-
-#: backend/ipp.c:1745
-#, c-format
-msgid "ERROR: Unable to get PPD file for printer \"%s\" - %s.\n"
-msgstr ""
-
-#: backend/pap.c:302
-msgid "ERROR: Unable to get default AppleTalk zone"
-msgstr ""
-
-#: backend/ipp.c:1209
-#, c-format
-msgid "ERROR: Unable to get job %d attributes (%s)\n"
-msgstr ""
-
-#: backend/ipp.c:743
-#, c-format
-msgid "ERROR: Unable to get printer status (%s)\n"
-msgstr ""
-
-#: backend/ipp.c:420 backend/ipp.c:579 backend/lpd.c:435 backend/lpd.c:691
-#: backend/socket.c:268
-#, c-format
-msgid "ERROR: Unable to locate printer '%s'\n"
-msgstr ""
-
-#: backend/pap.c:688
-msgid "ERROR: Unable to look for PAP response"
-msgstr ""
-
-#: backend/pap.c:322
-msgid "ERROR: Unable to lookup AppleTalk printers"
-msgstr ""
-
-#: backend/pap.c:451
-msgid "ERROR: Unable to make AppleTalk address"
-msgstr ""
-
-#: filter/pstext.c:247 filter/texttops.c:248
-#, c-format
-msgid "ERROR: Unable to open \"%s\" - %s\n"
-msgstr ""
-
-#: filter/pstext.c:264 filter/texttops.c:268
-#, c-format
-msgid "ERROR: Unable to open %s: %s\n"
-msgstr ""
-
-#: driver/rastertoescpx.c:1791 driver/rastertopclx.c:1816
-msgid "ERROR: Unable to open PPD file\n"
-msgstr ""
-
-#: filter/bannertops.c:184
-#, c-format
-msgid "ERROR: Unable to open banner file \"%s\" - %s\n"
-msgstr ""
-
-#: backend/parallel.c:249 backend/serial.c:263 backend/usb-unix.c:146
-#, c-format
-msgid "ERROR: Unable to open device file \"%s\": %s\n"
-msgstr ""
-
-#: filter/pstops.c:291
-#, c-format
-msgid "ERROR: Unable to open file \"%s\" - %s\n"
-msgstr ""
-
-#: filter/gziptoany.c:74
-#, c-format
-msgid "ERROR: Unable to open file \"%s\": %s\n"
-msgstr ""
-
-#: filter/imagetops.c:313 filter/imagetoraster.c:635
-msgid "ERROR: Unable to open image file for printing\n"
-msgstr ""
-
-#: backend/ipp.c:1497 backend/pap.c:249 backend/parallel.c:151
-#: backend/serial.c:190 backend/socket.c:157
-#, c-format
-msgid "ERROR: Unable to open print file \"%s\": %s\n"
-msgstr ""
-
-#: backend/usb.c:237
-#, c-format
-msgid "ERROR: Unable to open print file %s - %s\n"
-msgstr ""
-
-#: backend/lpd.c:474
-#, c-format
-msgid "ERROR: Unable to open print file %s: %s\n"
-msgstr ""
-
-#: driver/rastertoescpx.c:1806 driver/rastertopclx.c:1831
-#: filter/rastertoepson.c:1001 filter/rastertohp.c:726
-#: filter/rastertolabel.c:1148
-#, c-format
-msgid "ERROR: Unable to open raster file - %s\n"
-msgstr ""
-
-#: backend/ipp.c:1489
-#, c-format
-msgid "ERROR: Unable to open temporary compressed print file: %s\n"
-msgstr ""
-
-#: filter/texttops.c:200
-#, c-format
-msgid "ERROR: Unable to print %d text columns\n"
-msgstr ""
-
-#: filter/texttops.c:179
-#, c-format
-msgid "ERROR: Unable to print %dx%d text page\n"
-msgstr ""
-
-#: backend/serial.c:617
-msgid "ERROR: Unable to read print data"
-msgstr ""
-
-#: backend/usb-darwin.c:604 backend/usb-darwin.c:647
-msgid "ERROR: Unable to read print data\n"
-msgstr ""
-
-#: backend/lpd.c:774
-msgid "ERROR: Unable to reserve port"
-msgstr ""
-
-#: filter/pstops.c:563
-#, c-format
-msgid "ERROR: Unable to seek to offset %ld in file - %s\n"
-msgstr ""
-
-#: filter/pstops.c:561
-#, c-format
-msgid "ERROR: Unable to seek to offset %lld in file - %s\n"
-msgstr ""
-
-#: backend/lpd.c:590
-msgid "ERROR: Unable to send LPD command"
-msgstr ""
-
-#: backend/pap.c:571
-msgid "ERROR: Unable to send PAP tickle request"
-msgstr ""
-
-#: backend/pap.c:580
-msgid "ERROR: Unable to send initial PAP send data request"
-msgstr ""
-
-#: backend/usb-darwin.c:724
-msgid "ERROR: Unable to send print data\n"
-msgstr ""
-
-#: backend/lpd.c:1071
-msgid "ERROR: Unable to send print file to printer"
-msgstr ""
-
-#: backend/lpd.c:1085
-msgid "ERROR: Unable to send trailing nul to printer"
-msgstr ""
-
-#: backend/ipp.c:1844
-#, c-format
-msgid "ERROR: Unable to wait for pictwpstops: %s\n"
-msgstr ""
-
-#: backend/ipp.c:1508
-#, c-format
-msgid "ERROR: Unable to write %d bytes to \"%s\": %s\n"
-msgstr ""
-
-#: backend/usb-libusb.c:179 backend/usb-libusb.c:779
-#, c-format
-msgid "ERROR: Unable to write %d bytes to printer\n"
-msgstr ""
-
-#: backend/lpd.c:1001 backend/lpd.c:1148
-msgid "ERROR: Unable to write control file"
-msgstr ""
-
-#: backend/serial.c:693
-msgid "ERROR: Unable to write print data"
-msgstr ""
-
-#: backend/runloop.c:122 backend/runloop.c:373
-#, c-format
-msgid "ERROR: Unable to write print data: %s\n"
-msgstr ""
-
-#: filter/imagetoraster.c:1198 filter/imagetoraster.c:1295
-#: filter/imagetoraster.c:1335
-msgid "ERROR: Unable to write raster data to driver\n"
-msgstr ""
-
-#: filter/gziptoany.c:96
-#, c-format
-msgid "ERROR: Unable to write uncompressed document data: %s\n"
-msgstr ""
-
-#: ppdc/ppdc-catalog.cxx:435
-#, c-format
-msgid "ERROR: Unexpected text on line %d of %s\n"
-msgstr ""
-
-#: backend/ipp.c:346
-#, c-format
-msgid "ERROR: Unknown encryption option value \"%s\"\n"
-msgstr ""
-
-#: backend/lpd.c:354
-#, c-format
-msgid "ERROR: Unknown file order \"%s\"\n"
-msgstr ""
-
-#: backend/lpd.c:326
-#, c-format
-msgid "ERROR: Unknown format character \"%c\"\n"
-msgstr ""
-
-#: ppdc/ppdc-catalog.cxx:463
-#, c-format
-msgid "ERROR: Unknown message catalog format for \"%s\"\n"
-msgstr ""
-
-#: backend/ipp.c:392
-#, c-format
-msgid "ERROR: Unknown option \"%s\" with value \"%s\"\n"
-msgstr ""
-
-#: backend/lpd.c:340
-#, c-format
-msgid "ERROR: Unknown print mode \"%s\"\n"
-msgstr ""
-
-#: backend/ipp.c:363
-#, c-format
-msgid "ERROR: Unknown version option value \"%s\"\n"
-msgstr ""
-
-#: filter/pstops.c:2418
-#, c-format
-msgid "ERROR: Unsupported brightness value %s, using brightness=100\n"
-msgstr ""
-
-#: filter/pstops.c:2487
-#, c-format
-msgid "ERROR: Unsupported gamma value %s, using gamma=1000\n"
-msgstr ""
-
-#: filter/pstops.c:2541
-#, c-format
-msgid "ERROR: Unsupported number-up value %d, using number-up=1\n"
-msgstr ""
-
-#: filter/pstops.c:2574
-#, c-format
-msgid "ERROR: Unsupported number-up-layout value %s, using number-up-layout=lrtb\n"
-msgstr ""
-
-#: filter/pstops.c:2624
-#, c-format
-msgid "ERROR: Unsupported page-border value %s, using page-border=none\n"
-msgstr ""
-
-#: filter/pstops.c:2090
-#, c-format
-msgid "ERROR: doc_printf overflow (%d bytes) detected, aborting\n"
-msgstr ""
-
-#: backend/ipp.c:1863
-#, c-format
-msgid "ERROR: pictwpstops exited on signal %d\n"
-msgstr ""
-
-#: backend/ipp.c:1860
-#, c-format
-msgid "ERROR: pictwpstops exited with status %d\n"
-msgstr ""
-
-#: backend/pap.c:629
-msgid "ERROR: select() failed"
-msgstr ""
-
-#: backend/lpd.c:908
-msgid "ERROR: unable to stat print file"
-msgstr ""
-
-#: cgi-bin/admin.c:1901 cgi-bin/admin.c:1913 cgi-bin/admin.c:1967
-#: cgi-bin/admin.c:1974 cgi-bin/admin.c:2009 cgi-bin/admin.c:2022
-#: cgi-bin/admin.c:2046 cgi-bin/admin.c:2119
+#: cgi-bin/admin.c:1899 cgi-bin/admin.c:1911 cgi-bin/admin.c:1965
+#: cgi-bin/admin.c:1972 cgi-bin/admin.c:2007 cgi-bin/admin.c:2020
+#: cgi-bin/admin.c:2044 cgi-bin/admin.c:2117
 msgid "Edit Configuration File"
 msgstr ""
 
-#: cups/adminutil.c:348
+#: cups/adminutil.c:337
 msgid "Empty PPD file"
 msgstr ""
 
-#: cgi-bin/admin.c:3640
+#: cgi-bin/admin.c:3651
 msgid "Ending Banner"
 msgstr ""
 
@@ -3466,19 +3375,19 @@ msgstr ""
 msgid "English"
 msgstr ""
 
-#: systemv/lppasswd.c:198
+#: systemv/lppasswd.c:193
 msgid "Enter old password:"
 msgstr ""
 
-#: systemv/lppasswd.c:229
+#: systemv/lppasswd.c:224
 msgid "Enter password again:"
 msgstr ""
 
-#: systemv/lppasswd.c:217
+#: systemv/lppasswd.c:212
 msgid "Enter password:"
 msgstr ""
 
-#: scheduler/client.c:2401
+#: scheduler/client.c:2393
 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 ""
 
@@ -3490,12 +3399,12 @@ msgstr ""
 msgid "Epson"
 msgstr ""
 
-#: cgi-bin/admin.c:3683
+#: cgi-bin/admin.c:3694
 msgid "Error Policy"
 msgstr ""
 
-#: systemv/lpinfo.c:109 systemv/lpmove.c:94
-msgid "Error: need hostname after '-h' option\n"
+#: systemv/lpinfo.c:103 systemv/lpmove.c:88
+msgid "Error: need hostname after \"-h\" option."
 msgstr ""
 
 #: ppdc/sample.c:328
@@ -3538,22 +3447,22 @@ msgstr ""
 msgid "Every Label"
 msgstr ""
 
-#: cups/http-support.c:1239
+#: cups/http-support.c:1245
 msgid "Expectation Failed"
 msgstr ""
 
-#: cgi-bin/admin.c:2409 cgi-bin/admin.c:2428
+#: cgi-bin/admin.c:2407 cgi-bin/admin.c:2426
 msgid "Export Printers to Samba"
 msgstr ""
 
-#: systemv/cupstestdsc.c:176 systemv/cupstestdsc.c:193
-#: systemv/cupstestdsc.c:218 systemv/cupstestdsc.c:235
-#: systemv/cupstestdsc.c:259 systemv/cupstestdsc.c:277
-#: systemv/cupstestdsc.c:306 systemv/cupstestdsc.c:343
-#: systemv/cupstestdsc.c:353 systemv/cupstestdsc.c:363
-#: systemv/cupstestdsc.c:373 systemv/cupstestdsc.c:383
-#: systemv/cupstestdsc.c:391
-msgid "FAIL\n"
+#: systemv/cupstestdsc.c:172 systemv/cupstestdsc.c:189
+#: systemv/cupstestdsc.c:214 systemv/cupstestdsc.c:231
+#: systemv/cupstestdsc.c:255 systemv/cupstestdsc.c:273
+#: systemv/cupstestdsc.c:302 systemv/cupstestdsc.c:339
+#: systemv/cupstestdsc.c:349 systemv/cupstestdsc.c:359
+#: systemv/cupstestdsc.c:369 systemv/cupstestdsc.c:379
+#: systemv/cupstestdsc.c:387
+msgid "FAIL"
 msgstr ""
 
 #: ppdc/sample.c:134
@@ -3564,20 +3473,32 @@ msgstr ""
 msgid "File Folder - 9/16 x 3 7/16\""
 msgstr ""
 
-#: scheduler/ipp.c:2536
+#: scheduler/ipp.c:2602
 #, c-format
 msgid "File device URIs have been disabled! To enable, see the FileDevice directive in \"%s/cupsd.conf\"."
 msgstr ""
 
+#: driver/rastertoescpx.c:1899 driver/rastertopclx.c:1924
+#: filter/rastertoepson.c:1117 filter/rastertohp.c:845
+#: filter/rastertolabel.c:1273
+#, c-format
+msgid "Finished page %d."
+msgstr ""
+
 #: ppdc/sample.c:94
 msgid "Folio"
 msgstr ""
 
-#: cups/http-support.c:1218
+#: cups/http-support.c:1224
 msgid "Forbidden"
 msgstr ""
 
-#: cups/ppd.c:702 cups/ppd.c:1263
+#: filter/imagetoraster.c:1180
+#, c-format
+msgid "Formatting page %d."
+msgstr ""
+
+#: cups/ppd.c:709 cups/ppd.c:1270
 msgid "General"
 msgstr ""
 
@@ -3593,7 +3514,7 @@ msgstr ""
 msgid "German FanFold Legal"
 msgstr ""
 
-#: cups/snmp.c:1023
+#: cups/snmp.c:1021
 msgid "Get-Response-PDU uses indefinite length"
 msgstr ""
 
@@ -3601,9 +3522,10 @@ msgstr ""
 msgid "Glossy Paper"
 msgstr ""
 
-#: scheduler/ipp.c:3664 scheduler/ipp.c:3970 scheduler/ipp.c:6644
-#: scheduler/ipp.c:6787 scheduler/ipp.c:8085 scheduler/ipp.c:9191
-#: scheduler/ipp.c:9417 scheduler/ipp.c:9772 scheduler/ipp.c:10348
+#: scheduler/ipp.c:3736 scheduler/ipp.c:4134 scheduler/ipp.c:4670
+#: scheduler/ipp.c:6936 scheduler/ipp.c:7081 scheduler/ipp.c:8525
+#: scheduler/ipp.c:9633 scheduler/ipp.c:9859 scheduler/ipp.c:10214
+#: scheduler/ipp.c:10803
 msgid "Got a printer-uri attribute but no job-id"
 msgstr ""
 
@@ -3623,190 +3545,6 @@ msgstr ""
 msgid "Hanging Folder - 9/16 x 2\""
 msgstr ""
 
-#: backend/pap.c:296
-msgid "INFO: AppleTalk disabled in System Preferences\n"
-msgstr ""
-
-#: backend/pap.c:511
-msgid "INFO: AppleTalk disabled in System Preferences.\n"
-msgstr ""
-
-#: backend/ipp.c:1365
-msgid "INFO: Canceling print job...\n"
-msgstr ""
-
-#: backend/ipp.c:607 backend/lpd.c:864 backend/socket.c:338
-msgid "INFO: Connected to printer...\n"
-msgstr ""
-
-#: backend/ipp.c:526 backend/lpd.c:714 backend/socket.c:274
-msgid "INFO: Connecting to printer...\n"
-msgstr ""
-
-#: backend/lpd.c:1023 backend/lpd.c:1170
-msgid "INFO: Control file sent successfully\n"
-msgstr ""
-
-#: backend/ipp.c:433 backend/lpd.c:448
-msgid "INFO: Copying print data...\n"
-msgstr ""
-
-#: backend/lpd.c:1118
-msgid "INFO: Data file sent successfully\n"
-msgstr ""
-
-#: driver/rastertoescpx.c:1887 driver/rastertopclx.c:1912
-#, c-format
-msgid "INFO: Finished page %d...\n"
-msgstr ""
-
-#: filter/imagetoraster.c:1140
-#, c-format
-msgid "INFO: Formatting page %d...\n"
-msgstr ""
-
-#: filter/imagetoraster.c:621
-msgid "INFO: Loading image file...\n"
-msgstr ""
-
-#: cups/http-support.c:1428
-msgid "INFO: Looking for printer...\n"
-msgstr ""
-
-#: backend/pap.c:928
-msgid "INFO: Opening connection\n"
-msgstr ""
-
-#: backend/socket.c:411
-msgid "INFO: Print file sent, waiting for printer to finish...\n"
-msgstr ""
-
-#: backend/ipp.c:1016 backend/usb-unix.c:132
-msgid "INFO: Printer busy; will retry in 10 seconds...\n"
-msgstr ""
-
-#: backend/parallel.c:236 backend/serial.c:257
-msgid "INFO: Printer busy; will retry in 30 seconds...\n"
-msgstr ""
-
-#: backend/usb-unix.c:437
-msgid "INFO: Printer busy; will retry in 5 seconds...\n"
-msgstr ""
-
-#: backend/ipp.c:717 backend/ipp.c:1027
-#, c-format
-msgid "INFO: Printer does not support IPP/%d.%d, trying IPP/1.0...\n"
-msgstr ""
-
-#: backend/usb-unix.c:521
-msgid "INFO: Printer is busy; will retry in 5 seconds...\n"
-msgstr ""
-
-#: backend/runloop.c:367
-msgid "INFO: Printer is currently off-line.\n"
-msgstr ""
-
-#: backend/runloop.c:252
-msgid "INFO: Printer is currently offline.\n"
-msgstr ""
-
-#: backend/runloop.c:389 backend/usb-darwin.c:1263
-msgid "INFO: Printer is now online.\n"
-msgstr ""
-
-#: backend/usb-darwin.c:1281
-msgid "INFO: Printer is offline.\n"
-msgstr ""
-
-#: backend/parallel.c:242 backend/usb-unix.c:139
-msgid "INFO: Printer not connected; will retry in 30 seconds...\n"
-msgstr ""
-
-#: driver/rastertoescpx.c:1873 driver/rastertopclx.c:1895
-#: filter/rastertoepson.c:1080 filter/rastertohp.c:803
-#: filter/rastertolabel.c:1235
-#, c-format
-msgid "INFO: Printing page %d, %d%% complete...\n"
-msgstr ""
-
-#: filter/imagetops.c:808
-#, c-format
-msgid "INFO: Printing page %d...\n"
-msgstr ""
-
-#: backend/ipp.c:1344 backend/socket.c:443 driver/rastertoescpx.c:1911
-#: driver/rastertopclx.c:1936 filter/rastertoepson.c:1134
-#: filter/rastertohp.c:862 filter/rastertolabel.c:1288
-msgid "INFO: Ready to print.\n"
-msgstr ""
-
-#: backend/lpd.c:1142
-#, c-format
-msgid "INFO: Sending control file (%lu bytes)\n"
-msgstr ""
-
-#: backend/lpd.c:995
-#, c-format
-msgid "INFO: Sending control file (%u bytes)\n"
-msgstr ""
-
-#: backend/pap.c:564
-msgid "INFO: Sending data\n"
-msgstr ""
-
-#: backend/lpd.c:1054
-#, c-format
-msgid "INFO: Sending data file (%ld bytes)\n"
-msgstr ""
-
-#: backend/lpd.c:1052
-#, c-format
-msgid "INFO: Sending data file (%lld bytes)\n"
-msgstr ""
-
-#: backend/usb-darwin.c:535
-msgid "INFO: Sending print data...\n"
-msgstr ""
-
-#: backend/parallel.c:294 backend/socket.c:388 backend/usb-unix.c:201
-#, c-format
-msgid "INFO: Sent print file, %ld bytes...\n"
-msgstr ""
-
-#: backend/parallel.c:292 backend/socket.c:386 backend/usb-unix.c:199
-#, c-format
-msgid "INFO: Sent print file, %lld bytes...\n"
-msgstr ""
-
-#: backend/lpd.c:1066
-#, c-format
-msgid "INFO: Spooling LPR job, %.0f%% complete...\n"
-msgstr ""
-
-#: driver/rastertoescpx.c:1859 driver/rastertopclx.c:1880
-#, c-format
-msgid "INFO: Starting page %d...\n"
-msgstr ""
-
-#: backend/ipp.c:543 backend/ipp.c:807 backend/lpd.c:813
-#: backend/parallel.c:221 backend/serial.c:242 backend/socket.c:293
-#: backend/usb-unix.c:117
-msgid "INFO: Unable to contact printer, queuing on next printer in class...\n"
-msgstr ""
-
-#: backend/pap.c:309
-#, c-format
-msgid "INFO: Using default AppleTalk zone \"%s\"\n"
-msgstr ""
-
-#: backend/ipp.c:1147
-msgid "INFO: Waiting for job to complete...\n"
-msgstr ""
-
-#: backend/usb-darwin.c:453 backend/usb-libusb.c:118
-msgid "INFO: Waiting for printer to become available...\n"
-msgstr ""
-
 #: ppdc/sample.c:95
 msgid "ISO B0"
 msgstr ""
@@ -3871,23 +3609,23 @@ msgstr ""
 msgid "ISOLatin1"
 msgstr ""
 
-#: cups/ppd.c:350
+#: cups/ppd.c:355
 msgid "Illegal control character"
 msgstr ""
 
-#: cups/ppd.c:351
+#: cups/ppd.c:356
 msgid "Illegal main keyword string"
 msgstr ""
 
-#: cups/ppd.c:352
+#: cups/ppd.c:357
 msgid "Illegal option keyword string"
 msgstr ""
 
-#: cups/ppd.c:353
+#: cups/ppd.c:358
 msgid "Illegal translation string"
 msgstr ""
 
-#: cups/ppd.c:354
+#: cups/ppd.c:359
 msgid "Illegal whitespace character"
 msgstr ""
 
@@ -3907,11 +3645,11 @@ msgstr ""
 msgid "Intellitech"
 msgstr ""
 
-#: cups/http-support.c:1245
+#: cups/http-support.c:1251
 msgid "Internal Server Error"
 msgstr ""
 
-#: cups/ppd.c:341
+#: cups/ppd.c:346
 msgid "Internal error"
 msgstr ""
 
@@ -3931,7 +3669,7 @@ msgstr ""
 msgid "Internet Postage 3-Part - 2 1/4 x 7\""
 msgstr ""
 
-#: backend/ipp.c:206
+#: backend/ipp.c:230
 msgid "Internet Printing Protocol"
 msgstr ""
 
@@ -3943,93 +3681,94 @@ msgstr ""
 msgid "Italian Envelope"
 msgstr ""
 
-#: cups/ppd.c:1381
+#: cups/ppd.c:1388
 msgid "JCL"
 msgstr ""
 
-#: scheduler/ipp.c:9490
+#: scheduler/ipp.c:9932
 #, c-format
 msgid "Job #%d cannot be restarted - no files"
 msgstr ""
 
-#: scheduler/ipp.c:3705 scheduler/ipp.c:4073 scheduler/ipp.c:6685
-#: scheduler/ipp.c:6828 scheduler/ipp.c:7962 scheduler/ipp.c:8126
-#: scheduler/ipp.c:8336 scheduler/ipp.c:8381 scheduler/ipp.c:9232
-#: scheduler/ipp.c:9458 scheduler/ipp.c:9813 scheduler/ipp.c:10389
+#: scheduler/ipp.c:3777 scheduler/ipp.c:4237 scheduler/ipp.c:4680
+#: scheduler/ipp.c:6977 scheduler/ipp.c:7122 scheduler/ipp.c:8394
+#: scheduler/ipp.c:8566 scheduler/ipp.c:8776 scheduler/ipp.c:8821
+#: scheduler/ipp.c:9674 scheduler/ipp.c:9900 scheduler/ipp.c:10255
+#: scheduler/ipp.c:10844
 #, c-format
 msgid "Job #%d does not exist"
 msgstr ""
 
-#: scheduler/ipp.c:4105
+#: scheduler/ipp.c:4269
 #, c-format
 msgid "Job #%d is already aborted - can't cancel."
 msgstr ""
 
-#: scheduler/ipp.c:4099
+#: scheduler/ipp.c:4263
 #, c-format
 msgid "Job #%d is already canceled - can't cancel."
 msgstr ""
 
-#: scheduler/ipp.c:4111
+#: scheduler/ipp.c:4275
 #, c-format
 msgid "Job #%d is already completed - can't cancel."
 msgstr ""
 
-#: scheduler/ipp.c:8423 scheduler/ipp.c:10404
+#: scheduler/ipp.c:8863 scheduler/ipp.c:10859
 #, c-format
 msgid "Job #%d is finished and cannot be altered"
 msgstr ""
 
-#: scheduler/ipp.c:9472
+#: scheduler/ipp.c:9914
 #, c-format
 msgid "Job #%d is not complete"
 msgstr ""
 
-#: scheduler/ipp.c:9246
+#: scheduler/ipp.c:9688
 #, c-format
 msgid "Job #%d is not held"
 msgstr ""
 
-#: scheduler/ipp.c:3720
+#: scheduler/ipp.c:3792
 #, c-format
 msgid "Job #%d is not held for authentication"
 msgstr ""
 
-#: scheduler/ipp.c:7940
+#: scheduler/ipp.c:8372
 #, c-format
 msgid "Job #%s does not exist"
 msgstr ""
 
-#: scheduler/ipp.c:6310
+#: scheduler/ipp.c:6596
 #, c-format
 msgid "Job %d not found"
 msgstr ""
 
-#: cgi-bin/ipp-var.c:1051
+#: cgi-bin/ipp-var.c:1055
 msgid "Job Completed"
 msgstr ""
 
-#: cgi-bin/ipp-var.c:1049
+#: cgi-bin/ipp-var.c:1053
 msgid "Job Created"
 msgstr ""
 
-#: filter/bannertops.c:623
+#: filter/bannertops.c:621
 msgid "Job ID: "
 msgstr ""
 
-#: cgi-bin/ipp-var.c:1055
+#: cgi-bin/ipp-var.c:1059
 msgid "Job Options Changed"
 msgstr ""
 
-#: cgi-bin/ipp-var.c:1053
+#: cgi-bin/ipp-var.c:1057
 msgid "Job Stopped"
 msgstr ""
 
-#: filter/bannertops.c:631
+#: filter/bannertops.c:629
 msgid "Job UUID: "
 msgstr ""
 
-#: scheduler/ipp.c:10487
+#: scheduler/ipp.c:10942
 msgid "Job is completed and cannot be changed."
 msgstr ""
 
@@ -4037,11 +3776,11 @@ msgstr ""
 msgid "Job operation failed:"
 msgstr ""
 
-#: scheduler/ipp.c:10523 scheduler/ipp.c:10542 scheduler/ipp.c:10553
+#: scheduler/ipp.c:10978 scheduler/ipp.c:10997 scheduler/ipp.c:11008
 msgid "Job state cannot be changed."
 msgstr ""
 
-#: scheduler/ipp.c:9337
+#: scheduler/ipp.c:9779
 msgid "Job subscriptions cannot be renewed"
 msgstr ""
 
@@ -4057,7 +3796,7 @@ msgstr ""
 msgid "Kaku3 Envelope"
 msgstr ""
 
-#: backend/lpd.c:178
+#: backend/lpd.c:179
 msgid "LPD/LPR Host or Printer"
 msgstr ""
 
@@ -4069,7 +3808,7 @@ msgstr ""
 msgid "Label Top"
 msgstr ""
 
-#: scheduler/ipp.c:2153 scheduler/ipp.c:6233
+#: scheduler/ipp.c:2219 scheduler/ipp.c:6519
 #, c-format
 msgid "Language \"%s\" not supported"
 msgstr ""
@@ -4090,15 +3829,19 @@ msgstr ""
 msgid "Light"
 msgstr ""
 
-#: cups/ppd.c:349
+#: cups/ppd.c:354
 msgid "Line longer than the maximum allowed (255 characters)"
 msgstr ""
 
-#: cgi-bin/admin.c:2446
+#: cgi-bin/admin.c:2444
 msgid "List Available Printers"
 msgstr ""
 
-#: filter/bannertops.c:744
+#: filter/imagetoraster.c:660
+msgid "Loading print file."
+msgstr ""
+
+#: filter/bannertops.c:742
 msgid "Location: "
 msgstr ""
 
@@ -4106,7 +3849,11 @@ msgstr ""
 msgid "Long-Edge (Portrait)"
 msgstr ""
 
-#: filter/bannertops.c:753
+#: cups/http-support.c:1461
+msgid "Looking for printer."
+msgstr ""
+
+#: filter/bannertops.c:751
 msgid "Make and Model: "
 msgstr ""
 
@@ -4114,23 +3861,23 @@ msgstr ""
 msgid "Manual Feed"
 msgstr ""
 
-#: filter/bannertops.c:780
+#: filter/bannertops.c:778
 msgid "Media Dimensions: "
 msgstr ""
 
-#: filter/bannertops.c:800
+#: filter/bannertops.c:798
 msgid "Media Limits: "
 msgstr ""
 
-#: filter/bannertops.c:769
+#: filter/bannertops.c:767
 msgid "Media Name: "
 msgstr ""
 
-#: cups/ppd.c:749 cups/ppd.c:1318
+#: cups/ppd.c:756 cups/ppd.c:1325
 msgid "Media Size"
 msgstr ""
 
-#: cups/ppd.c:753 cups/ppd.c:1322 ppdc/sample.c:236
+#: cups/ppd.c:760 cups/ppd.c:1329 ppdc/sample.c:236
 msgid "Media Source"
 msgstr ""
 
@@ -4138,7 +3885,7 @@ msgstr ""
 msgid "Media Tracking"
 msgstr ""
 
-#: cups/ppd.c:751 cups/ppd.c:1320 ppdc/sample.c:258
+#: cups/ppd.c:758 cups/ppd.c:1327 ppdc/sample.c:258
 msgid "Media Type"
 msgstr ""
 
@@ -4146,65 +3893,86 @@ msgstr ""
 msgid "Medium"
 msgstr ""
 
-#: cups/ppd.c:338
+#: cups/ppd.c:343
 msgid "Memory allocation error"
 msgstr ""
 
-#: cups/ppd.c:339
+#: cups/ppd.c:344
 msgid "Missing PPD-Adobe-4.x header"
 msgstr ""
 
-#: cups/ppd.c:348
+#: cups/ppd.c:353
 msgid "Missing asterisk in column 1"
 msgstr ""
 
-#: scheduler/ipp.c:6707
+#: scheduler/ipp.c:6999
 msgid "Missing document-number attribute"
 msgstr ""
 
-#: cups/adminutil.c:284
+#: cups/adminutil.c:273
 #, c-format
 msgid "Missing double quote on line %d"
 msgstr ""
 
-#: cgi-bin/admin.c:714 cgi-bin/admin.c:2158 cgi-bin/admin.c:2243
-#: cgi-bin/admin.c:2881 cgi-bin/admin.c:3135 cgi-bin/admin.c:3246
-#: cgi-bin/admin.c:3939
+#: cgi-bin/admin.c:714 cgi-bin/admin.c:2156 cgi-bin/admin.c:2241
+#: cgi-bin/admin.c:2879 cgi-bin/admin.c:3133 cgi-bin/admin.c:3244
+#: cgi-bin/admin.c:3950
 msgid "Missing form variable"
 msgstr ""
 
-#: scheduler/ipp.c:7131
+#: cups/pwg-media.c:470
+msgid "Missing media or media-col."
+msgstr ""
+
+#: cups/pwg-media.c:389
+msgid "Missing media-size in media-col."
+msgstr ""
+
+#: scheduler/ipp.c:7552
 msgid "Missing notify-subscription-ids attribute"
 msgstr ""
 
-#: cups/ppd.c:356
+#: cups/ppd.c:361
 msgid "Missing option keyword"
 msgstr ""
 
-#: scheduler/ipp.c:3843
+#: scheduler/ipp.c:3915 scheduler/ipp.c:3940
 msgid "Missing requesting-user-name attribute"
 msgstr ""
 
-#: scheduler/ipp.c:477
+#: scheduler/ipp.c:485
 msgid "Missing required attributes"
 msgstr ""
 
-#: cups/adminutil.c:265
+#: cups/adminutil.c:254
 #, c-format
 msgid "Missing value on line %d"
 msgstr ""
 
-#: cups/ppd.c:340
+#: filter/bannertops.c:220
+#, c-format
+msgid "Missing value on line %d of banner file."
+msgstr ""
+
+#: cups/ppd.c:345
 msgid "Missing value string"
 msgstr ""
 
-#: systemv/lpinfo.c:475
+#: cups/pwg-media.c:377
+msgid "Missing x-dimension in media-size."
+msgstr ""
+
+#: cups/pwg-media.c:383
+msgid "Missing y-dimension in media-size."
+msgstr ""
+
+#: systemv/lpinfo.c:470
 #, c-format
 msgid ""
 "Model:  name = %s\n"
 "        natural_language = %s\n"
 "        make-and-model = %s\n"
-"        device-id = %s\n"
+"        device-id = %s"
 msgstr ""
 
 #: cgi-bin/admin.c:547
@@ -4223,37 +3991,53 @@ msgstr ""
 msgid "Monarch Envelope"
 msgstr ""
 
-#: cgi-bin/ipp-var.c:421 cgi-bin/ipp-var.c:512
+#: cgi-bin/ipp-var.c:425 cgi-bin/ipp-var.c:516
 msgid "Move All Jobs"
 msgstr ""
 
-#: cgi-bin/ipp-var.c:360 cgi-bin/ipp-var.c:419 cgi-bin/ipp-var.c:510
+#: cgi-bin/ipp-var.c:364 cgi-bin/ipp-var.c:423 cgi-bin/ipp-var.c:514
 msgid "Move Job"
 msgstr ""
 
-#: cups/http-support.c:1202
+#: cups/http-support.c:1208
 msgid "Moved Permanently"
 msgstr ""
 
-#: backend/ipp.c:1069
+#: cups/ppd.c:342
+msgid "NULL PPD file pointer"
+msgstr ""
+
+#: cups/snmp.c:1058
+msgid "Name OID uses indefinite length"
+msgstr ""
+
+#: scheduler/ipp.c:1223
+msgid "Nested classes are not allowed"
+msgstr ""
+
+#: backend/ipp.c:705
 #, c-format
-msgid "NOTICE: Print file accepted - job ID %d.\n"
+msgid "Network host \"%s\" is busy; will retry in %d seconds."
 msgstr ""
 
-#: backend/ipp.c:1063
-msgid "NOTICE: Print file accepted - job ID unknown.\n"
+#: backend/ipp.c:567 backend/lpd.c:858 backend/socket.c:333
+#, c-format
+msgid "Network printer \"%s\" is busy."
 msgstr ""
 
-#: cups/ppd.c:337
-msgid "NULL PPD file pointer"
+#: backend/ipp.c:587 backend/lpd.c:879 backend/socket.c:346
+#, c-format
+msgid "Network printer \"%s\" is not responding."
 msgstr ""
 
-#: cups/snmp.c:1060
-msgid "Name OID uses indefinite length"
+#: backend/ipp.c:560 backend/lpd.c:851 backend/socket.c:326
+#, c-format
+msgid "Network printer \"%s\" is unreachable at this time."
 msgstr ""
 
-#: scheduler/ipp.c:1206
-msgid "Nested classes are not allowed"
+#: backend/ipp.c:553 backend/lpd.c:844 backend/socket.c:319
+#, c-format
+msgid "Network printer \"%s\" may not exist or is unavailable at this time."
 msgstr ""
 
 #: ppdc/sample.c:403
@@ -4268,108 +4052,122 @@ msgstr ""
 msgid "New Stylus Photo Series"
 msgstr ""
 
-#: cups/ppd.c:1910
+#: cups/ppd.c:1917
 msgid "No"
 msgstr ""
 
-#: cups/http-support.c:1199
+#: cups/http-support.c:1205
 msgid "No Content"
 msgstr ""
 
-#: cups/util.c:1292
+#: cups/util.c:1286
 msgid "No PPD name"
 msgstr ""
 
-#: cups/snmp.c:1054
+#: cups/snmp.c:1052
 msgid "No VarBind SEQUENCE"
 msgstr ""
 
-#: cups/adminutil.c:799
+#: cups/adminutil.c:788
 msgid "No Windows printer drivers are installed"
 msgstr ""
 
-#: cups/request.c:511 cups/request.c:777
+#: cups/request.c:536 cups/request.c:805
 msgid "No active connection"
 msgstr ""
 
-#: scheduler/ipp.c:4021
+#: scheduler/ipp.c:4185
 #, c-format
 msgid "No active jobs on %s"
 msgstr ""
 
-#: scheduler/ipp.c:318
+#: scheduler/ipp.c:326
 msgid "No attributes in request"
 msgstr ""
 
-#: scheduler/ipp.c:3748
+#: scheduler/ipp.c:3820
 msgid "No authentication information provided"
 msgstr ""
 
-#: cups/snmp.c:1011
+#: cups/snmp.c:1009
 msgid "No community name"
 msgstr ""
 
-#: scheduler/ipp.c:6507
+#: scheduler/ipp.c:6799
 msgid "No default printer"
 msgstr ""
 
-#: cgi-bin/ipp-var.c:432 scheduler/ipp.c:7707
+#: cgi-bin/ipp-var.c:436 scheduler/ipp.c:8129
 msgid "No destinations added."
 msgstr ""
 
-#: cups/snmp.c:1041
+#: backend/usb.c:200
+msgid "No device URI found in argv[0] or in DEVICE_URI environment variable."
+msgstr ""
+
+#: cups/snmp.c:1039
 msgid "No error-index"
 msgstr ""
 
-#: cups/snmp.c:1033
+#: cups/snmp.c:1031
 msgid "No error-status"
 msgstr ""
 
-#: scheduler/ipp.c:8627 scheduler/ipp.c:9865
+#: scheduler/ipp.c:9067 scheduler/ipp.c:10318
 msgid "No file!?"
 msgstr ""
 
-#: cups/util.c:927
+#: filter/pstext.c:434
+msgid "No fonts in charset file."
+msgstr ""
+
+#: cups/util.c:921
 msgid "No modification time"
 msgstr ""
 
-#: cups/snmp.c:1058
+#: cups/snmp.c:1056
 msgid "No name OID"
 msgstr ""
 
-#: cups/util.c:921
+#: driver/rastertoescpx.c:1918 driver/rastertopclx.c:1943
+#: filter/rastertoepson.c:1147 filter/rastertohp.c:876
+#: filter/rastertolabel.c:1302
+msgid "No pages were found."
+msgstr ""
+
+#: cups/util.c:915
 msgid "No printer name"
 msgstr ""
 
-#: cups/util.c:1903
+#: cups/util.c:1788
 msgid "No printer-uri found"
 msgstr ""
 
-#: cups/util.c:1888
+#: cups/util.c:1773
 msgid "No printer-uri found for class"
 msgstr ""
 
-#: scheduler/ipp.c:6905
+#: scheduler/ipp.c:7201
 msgid "No printer-uri in request"
 msgstr ""
 
-#: cups/snmp.c:1025
+#: cups/snmp.c:1023
 msgid "No request-id"
 msgstr ""
 
-#: scheduler/ipp.c:6118
+#: scheduler/ipp.c:6404
 msgid "No subscription attributes in request"
 msgstr ""
 
-#: scheduler/ipp.c:8025
+#: scheduler/ipp.c:8465
 msgid "No subscriptions found."
 msgstr ""
 
-#: cups/snmp.c:1049
+#: cups/snmp.c:1047
 msgid "No variable-bindings SEQUENCE"
 msgstr ""
 
-#: cups/snmp.c:1004
+#: cups/snmp.c:1002
 msgid "No version number"
 msgstr ""
 
@@ -4385,11 +4183,11 @@ msgstr ""
 msgid "Normal"
 msgstr ""
 
-#: cups/http-support.c:1221
+#: cups/http-support.c:1227
 msgid "Not Found"
 msgstr ""
 
-#: cups/http-support.c:1233
+#: cups/http-support.c:1239
 msgid "Not Implemented"
 msgstr ""
 
@@ -4397,15 +4195,15 @@ msgstr ""
 msgid "Not Installed"
 msgstr ""
 
-#: cups/http-support.c:1208
+#: cups/http-support.c:1214
 msgid "Not Modified"
 msgstr ""
 
-#: cups/http-support.c:1236
+#: cups/http-support.c:1242
 msgid "Not Supported"
 msgstr ""
 
-#: scheduler/ipp.c:1536
+#: scheduler/ipp.c:1602 scheduler/ipp.c:11540
 msgid "Not allowed to print."
 msgstr ""
 
@@ -4413,7 +4211,11 @@ msgstr ""
 msgid "Note"
 msgstr ""
 
-#: cups/http-support.c:1190 cups/ppd.c:335
+#: systemv/cupstestdsc.c:433
+msgid "Note: this program only validates the DSC comments, not the PostScript itself."
+msgstr ""
+
+#: cups/http-support.c:1196 cups/ppd.c:340
 msgid "OK"
 msgstr ""
 
@@ -4429,57 +4231,74 @@ msgstr ""
 msgid "Online Help"
 msgstr ""
 
-#: cups/adminutil.c:985
+#: cups/adminutil.c:955
 #, c-format
 msgid "Open of %s failed: %s"
 msgstr ""
 
-#: cups/ppd.c:343
+#: cups/ppd.c:348
 msgid "OpenGroup without a CloseGroup first"
 msgstr ""
 
-#: cups/ppd.c:345
+#: cups/ppd.c:350
 msgid "OpenUI/JCLOpenUI without a CloseUI/JCLCloseUI first"
 msgstr ""
 
-#: cgi-bin/admin.c:3710
+#: cgi-bin/admin.c:3721
 msgid "Operation Policy"
 msgstr ""
 
-#: cgi-bin/admin.c:3377 cgi-bin/admin.c:3447
+#: filter/pstops.c:2255
+#, c-format
+msgid "Option \"%s\" cannot be included via %%%%IncludeFeature."
+msgstr ""
+
+#: cgi-bin/admin.c:3375 cgi-bin/admin.c:3459
 msgid "Options Installed"
 msgstr ""
 
-#: filter/bannertops.c:674
+#: scheduler/cupsfilter.c:1357 scheduler/cupsfilter.c:1372
+#: scheduler/main.c:2197 systemv/cupsaddsmb.c:284 systemv/cupsctl.c:202
+#: systemv/cupstestdsc.c:429 systemv/cupstestppd.c:3491 test/ipptool.c:3760
+#: ppdc/ppdc.cxx:437 ppdc/ppdhtml.cxx:174 ppdc/ppdi.cxx:130
+#: ppdc/ppdmerge.cxx:369 ppdc/ppdpo.cxx:254
+msgid "Options:"
+msgstr ""
+
+#: filter/bannertops.c:672
 msgid "Options: "
 msgstr ""
 
-#: cups/ppd.c:755 cups/ppd.c:1324
+#: cups/pwg-ppd.c:701
+msgid "Out of memory."
+msgstr ""
+
+#: cups/ppd.c:762 cups/ppd.c:1331
 msgid "Output Mode"
 msgstr ""
 
 #: systemv/lpstat.c:1188 systemv/lpstat.c:1192
 #, c-format
-msgid "Output for printer %s is sent to %s\n"
+msgid "Output for printer %s is sent to %s"
 msgstr ""
 
 #: systemv/lpstat.c:1182
 #, c-format
-msgid "Output for printer %s is sent to remote printer %s on %s\n"
+msgid "Output for printer %s is sent to remote printer %s on %s"
 msgstr ""
 
 #: systemv/lpstat.c:1206 systemv/lpstat.c:1210
 #, c-format
-msgid "Output for printer %s/%s is sent to %s\n"
+msgid "Output for printer %s/%s is sent to %s"
 msgstr ""
 
 #: systemv/lpstat.c:1200
 #, c-format
-msgid "Output for printer %s/%s is sent to remote printer %s on %s\n"
+msgid "Output for printer %s/%s is sent to remote printer %s on %s"
 msgstr ""
 
-#: systemv/cupstestdsc.c:403
-msgid "PASS\n"
+#: systemv/cupstestdsc.c:399
+msgid "PASS"
 msgstr ""
 
 #: ppdc/sample.c:234
@@ -4538,11 +4357,11 @@ msgstr ""
 msgid "PRC9 Envelope"
 msgstr ""
 
-#: cups/snmp.c:1021
+#: cups/snmp.c:1019
 msgid "Packet does not contain a Get-Response-PDU"
 msgstr ""
 
-#: cups/snmp.c:1000
+#: cups/snmp.c:998
 msgid "Packet does not start with SEQUENCE"
 msgstr ""
 
@@ -4554,12 +4373,12 @@ msgstr ""
 msgid "ParamCustominTearInterval"
 msgstr ""
 
-#: cups/auth.c:158
+#: cups/auth.c:155
 #, c-format
 msgid "Password for %s on %s? "
 msgstr ""
 
-#: systemv/cupsaddsmb.c:256
+#: systemv/cupsaddsmb.c:252
 #, c-format
 msgid "Password for %s required to access %s via SAMBA: "
 msgstr ""
@@ -4592,11 +4411,11 @@ msgstr ""
 msgid "Plain Paper"
 msgstr ""
 
-#: cgi-bin/admin.c:3395 cgi-bin/admin.c:3659
+#: cgi-bin/admin.c:3393 cgi-bin/admin.c:3670
 msgid "Policies"
 msgstr ""
 
-#: cgi-bin/admin.c:3402 cgi-bin/admin.c:3728 cgi-bin/admin.c:3741
+#: cgi-bin/admin.c:3400 cgi-bin/admin.c:3739 cgi-bin/admin.c:3752
 msgid "Port Monitor"
 msgstr ""
 
@@ -4632,7 +4451,7 @@ msgstr ""
 msgid "Print Speed"
 msgstr ""
 
-#: cgi-bin/ipp-var.c:788
+#: cgi-bin/ipp-var.c:792
 msgid "Print Test Page"
 msgstr ""
 
@@ -4644,19 +4463,37 @@ msgstr ""
 msgid "Print and Tear"
 msgstr ""
 
-#: filter/bannertops.c:648
+#: backend/ipp.c:1238
+#, c-format
+msgid "Print file accepted - job ID %d."
+msgstr ""
+
+#: backend/ipp.c:1231
+msgid "Print file accepted - job ID unknown."
+msgstr ""
+
+#: backend/parallel.c:286 backend/socket.c:402 backend/usb-unix.c:195
+msgid "Print file sent."
+msgstr ""
+
+#: backend/ipp.c:1206
+#, c-format
+msgid "Print file was not accepted: %s"
+msgstr ""
+
+#: filter/bannertops.c:646
 msgid "Printed For: "
 msgstr ""
 
-#: filter/bannertops.c:656
+#: filter/bannertops.c:654
 msgid "Printed From: "
 msgstr ""
 
-#: filter/bannertops.c:876
+#: filter/bannertops.c:874
 msgid "Printed On: "
 msgstr ""
 
-#: cgi-bin/ipp-var.c:1043
+#: cgi-bin/ipp-var.c:1047
 msgid "Printer Added"
 msgstr ""
 
@@ -4664,19 +4501,19 @@ msgstr ""
 msgid "Printer Default"
 msgstr ""
 
-#: cgi-bin/ipp-var.c:1047
+#: cgi-bin/ipp-var.c:1051
 msgid "Printer Deleted"
 msgstr ""
 
-#: cgi-bin/ipp-var.c:1045
+#: cgi-bin/ipp-var.c:1049
 msgid "Printer Modified"
 msgstr ""
 
-#: filter/bannertops.c:614
+#: filter/bannertops.c:612
 msgid "Printer Name: "
 msgstr ""
 
-#: cgi-bin/ipp-var.c:1041
+#: cgi-bin/ipp-var.c:1045
 msgid "Printer Paused"
 msgstr ""
 
@@ -4684,6 +4521,56 @@ msgstr ""
 msgid "Printer Settings"
 msgstr ""
 
+#: backend/usb-unix.c:132
+msgid "Printer busy, will retry in 10 seconds."
+msgstr ""
+
+#: backend/ipp.c:1196
+msgid "Printer busy; will retry in 10 seconds."
+msgstr ""
+
+#: backend/parallel.c:234 backend/serial.c:256
+msgid "Printer busy; will retry in 30 seconds."
+msgstr ""
+
+#: backend/lpd.c:606 backend/lpd.c:1033 backend/lpd.c:1121 backend/lpd.c:1177
+#, c-format
+msgid "Printer did not respond after %d seconds."
+msgstr ""
+
+#: backend/ipp.c:725 backend/ipp.c:732
+#, c-format
+msgid "Printer does not support IPP/%d.%d, trying IPP/%s."
+msgstr ""
+
+#: backend/usb-unix.c:429 backend/usb-unix.c:513
+msgid "Printer is busy, will retry in 5 seconds."
+msgstr ""
+
+#: backend/runloop.c:252 backend/runloop.c:370
+msgid "Printer is not currently connected."
+msgstr ""
+
+#: backend/runloop.c:391
+msgid "Printer is now connected."
+msgstr ""
+
+#: backend/usb-darwin.c:1289
+msgid "Printer is now online."
+msgstr ""
+
+#: backend/usb-darwin.c:1307
+msgid "Printer is offline."
+msgstr ""
+
+#: backend/usb-unix.c:139
+msgid "Printer not connected, will retry in 30 seconds."
+msgstr ""
+
+#: backend/parallel.c:240
+msgid "Printer not connected; will retry in 30 seconds."
+msgstr ""
+
 #: cups/notify.c:126
 msgid "Printer:"
 msgstr ""
@@ -4692,6 +4579,18 @@ msgstr ""
 msgid "Printers"
 msgstr ""
 
+#: driver/rastertoescpx.c:1882 driver/rastertopclx.c:1904
+#: filter/rastertoepson.c:1093 filter/rastertohp.c:817
+#: filter/rastertolabel.c:1249
+#, c-format
+msgid "Printing page %d, %d%% complete."
+msgstr ""
+
+#: filter/imagetops.c:810
+#, c-format
+msgid "Printing page %d."
+msgstr ""
+
 #: cgi-bin/classes.c:159 cgi-bin/printers.c:162
 msgid "Purge Jobs"
 msgstr ""
@@ -4700,31 +4599,47 @@ msgstr ""
 msgid "Quarto"
 msgstr ""
 
-#: scheduler/ipp.c:1531
+#: scheduler/ipp.c:1597 scheduler/ipp.c:11535
 msgid "Quota limit reached."
 msgstr ""
 
-#: berkeley/lpq.c:523
-msgid "Rank    Owner   Job     File(s)                         Total Size\n"
+#: berkeley/lpq.c:514
+msgid "Rank    Owner   Job     File(s)                         Total Size"
+msgstr ""
+
+#: berkeley/lpq.c:510
+msgid "Rank   Owner      Pri  Job        Files                       Total Size"
 msgstr ""
 
-#: berkeley/lpq.c:519
-msgid "Rank   Owner      Pri  Job        Files                       Total Size\n"
+#: backend/ipp.c:1523 backend/socket.c:454 driver/rastertoescpx.c:1923
+#: driver/rastertopclx.c:1948 filter/rastertoepson.c:1152
+#: filter/rastertohp.c:881 filter/rastertolabel.c:1307
+msgid "Ready to print."
 msgstr ""
 
 #: cgi-bin/classes.c:157 cgi-bin/printers.c:160
 msgid "Reject Jobs"
 msgstr ""
 
+#: backend/lpd.c:1043 backend/lpd.c:1187
+#, c-format
+msgid "Remote host did not accept control file (%d)."
+msgstr ""
+
+#: backend/lpd.c:1134
+#, c-format
+msgid "Remote host did not accept data file (%d)."
+msgstr ""
+
 #: ppdc/sample.c:401
 msgid "Reprint After Error"
 msgstr ""
 
-#: cups/http-support.c:1224
+#: cups/http-support.c:1230
 msgid "Request Entity Too Large"
 msgstr ""
 
-#: cups/ppd.c:757 cups/ppd.c:1326 ppdc/sample.c:205
+#: cups/ppd.c:764 cups/ppd.c:1333 ppdc/sample.c:205
 msgid "Resolution"
 msgstr ""
 
@@ -4750,61 +4665,69 @@ msgstr ""
 
 #: cups/adminutil.c:2167
 #, c-format
-msgid "Running command: %s %s -N -A %s -c '%s'\n"
+msgid "Running command: %s %s -N -A %s -c '%s'"
 msgstr ""
 
-#: cups/snmp.c:1002
+#: cups/snmp.c:1000
 msgid "SEQUENCE uses indefinite length"
 msgstr ""
 
-#: cups/http-support.c:1205
+#: cups/http-support.c:1254
+msgid "SSL/TLS Negotiation Error"
+msgstr ""
+
+#: cups/http-support.c:1211
 msgid "See Other"
 msgstr ""
 
-#: backend/serial.c:786 backend/serial.c:945 backend/serial.c:1067
-#: backend/serial.c:1161
+#: backend/usb-darwin.c:541
+msgid "Sending data to printer."
+msgstr ""
+
+#: backend/serial.c:783 backend/serial.c:942 backend/serial.c:1064
+#: backend/serial.c:1158
 #, c-format
 msgid "Serial Port #%d"
 msgstr ""
 
-#: cgi-bin/ipp-var.c:1057
+#: cgi-bin/ipp-var.c:1061
 msgid "Server Restarted"
 msgstr ""
 
-#: cgi-bin/ipp-var.c:1063
+#: cgi-bin/ipp-var.c:1067
 msgid "Server Security Auditing"
 msgstr ""
 
-#: cgi-bin/ipp-var.c:1059
+#: cgi-bin/ipp-var.c:1063
 msgid "Server Started"
 msgstr ""
 
-#: cgi-bin/ipp-var.c:1061
+#: cgi-bin/ipp-var.c:1065
 msgid "Server Stopped"
 msgstr ""
 
-#: cups/http-support.c:1242
+#: cups/http-support.c:1248
 msgid "Service Unavailable"
 msgstr ""
 
-#: cgi-bin/admin.c:2882 cgi-bin/admin.c:2928 cgi-bin/admin.c:3085
-#: cgi-bin/admin.c:3104
+#: cgi-bin/admin.c:2880 cgi-bin/admin.c:2926 cgi-bin/admin.c:3083
+#: cgi-bin/admin.c:3102
 msgid "Set Allowed Users"
 msgstr ""
 
-#: cgi-bin/admin.c:3131
+#: cgi-bin/admin.c:3129
 msgid "Set As Server Default"
 msgstr ""
 
-#: cgi-bin/admin.c:3231
+#: cgi-bin/admin.c:3229
 msgid "Set Class Options"
 msgstr ""
 
-#: cgi-bin/admin.c:3231 cgi-bin/admin.c:3405 cgi-bin/admin.c:3770
+#: cgi-bin/admin.c:3229 cgi-bin/admin.c:3403 cgi-bin/admin.c:3781
 msgid "Set Printer Options"
 msgstr ""
 
-#: cgi-bin/admin.c:3940 cgi-bin/admin.c:3984 cgi-bin/admin.c:4002
+#: cgi-bin/admin.c:3951 cgi-bin/admin.c:3995 cgi-bin/admin.c:4013
 msgid "Set Publishing"
 msgstr ""
 
@@ -4824,14 +4747,26 @@ msgstr ""
 msgid "Special Paper"
 msgstr ""
 
+#: backend/lpd.c:1085
+#, c-format
+msgid "Spooling job, %.0f%% complete."
+msgstr ""
+
 #: ppdc/sample.c:314
 msgid "Standard"
 msgstr ""
 
-#: cgi-bin/admin.c:3633
+#: cgi-bin/admin.c:3644
 msgid "Starting Banner"
 msgstr ""
 
+#: driver/rastertoescpx.c:1866 driver/rastertopclx.c:1887
+#: filter/rastertoepson.c:1069 filter/rastertohp.c:793
+#: filter/rastertolabel.c:1225
+#, c-format
+msgid "Starting page %d."
+msgstr ""
+
 #: ppdc/sample.c:120
 msgid "Statement"
 msgstr ""
@@ -4856,7 +4791,7 @@ msgstr ""
 msgid "Super B/A3"
 msgstr ""
 
-#: cups/http-support.c:1187
+#: cups/http-support.c:1193
 msgid "Switching Protocols"
 msgstr ""
 
@@ -4880,98 +4815,126 @@ msgstr ""
 msgid "Tear-Off Adjust Position"
 msgstr ""
 
-#: scheduler/ipp.c:7378
+#: scheduler/ipp.c:7272 scheduler/ipp.c:7350 scheduler/ipp.c:7366
+#: scheduler/ipp.c:7384
+#, c-format
+msgid "The %s attribute cannot be provided with job-ids."
+msgstr ""
+
+#: scheduler/ipp.c:7800
 #, c-format
 msgid "The PPD file \"%s\" could not be found."
 msgstr ""
 
-#: scheduler/ipp.c:7365
+#: scheduler/ipp.c:7787
 #, c-format
 msgid "The PPD file \"%s\" could not be opened: %s"
 msgstr ""
 
+#: driver/rastertoescpx.c:1794 driver/rastertopclx.c:1819
+#: filter/rastertoepson.c:1038 filter/rastertohp.c:764
+#: filter/rastertolabel.c:1189
+msgid "The PPD file could not be opened."
+msgstr ""
+
 #: cgi-bin/admin.c:727
 msgid "The class name may only contain up to 127 printable characters and may not contain spaces, slashes (/), or the pound sign (#)."
 msgstr ""
 
-#: cups/localize.c:354
+#: cups/localize.c:353
 msgid "The developer unit needs to be replaced."
 msgstr ""
 
-#: cups/localize.c:352
+#: cups/localize.c:351
 msgid "The developer unit will need to be replaced soon."
 msgstr ""
 
-#: cups/localize.c:344
+#: cups/localize.c:343
 msgid "The fuser's temperature is high."
 msgstr ""
 
-#: cups/localize.c:346
+#: cups/localize.c:345
 msgid "The fuser's temperature is low."
 msgstr ""
 
-#: scheduler/ipp.c:2180
+#: scheduler/ipp.c:2246
 msgid "The notify-lease-duration attribute cannot be used with job subscriptions."
 msgstr ""
 
-#: scheduler/ipp.c:2163 scheduler/ipp.c:6243
+#: scheduler/ipp.c:2229 scheduler/ipp.c:6529
 #, c-format
 msgid "The notify-user-data value is too large (%d > 63 octets)"
 msgstr ""
 
-#: cups/localize.c:350
+#: cups/localize.c:349
 msgid "The optical photoconductor needs to be replaced."
 msgstr ""
 
-#: cups/localize.c:348
+#: cups/localize.c:347
 msgid "The optical photoconductor will need to be replaced soon."
 msgstr ""
 
-#: cups/localize.c:332
+#: cups/localize.c:331
 msgid "The output bin is almost full."
 msgstr ""
 
-#: cups/localize.c:334
+#: cups/localize.c:333
 msgid "The output bin is full."
 msgstr ""
 
-#: cups/localize.c:330
+#: cups/localize.c:329
 msgid "The output bin is missing."
 msgstr ""
 
-#: cups/localize.c:326
+#: filter/imagetoraster.c:459
+msgid "The page setup information was not valid."
+msgstr ""
+
+#: cups/localize.c:325
 msgid "The paper tray is almost empty."
 msgstr ""
 
-#: cups/localize.c:328
+#: cups/localize.c:327
 msgid "The paper tray is empty."
 msgstr ""
 
-#: cups/localize.c:324
+#: cups/localize.c:323
 msgid "The paper tray is missing."
 msgstr ""
 
-#: cups/localize.c:307
+#: cups/localize.c:306
 msgid "The paper tray needs to be filled."
 msgstr ""
 
-#: cups/localize.c:336
+#: filter/imagetops.c:315 filter/imagetoraster.c:675
+msgid "The print file could not be opened."
+msgstr ""
+
+#: backend/ipp.c:742
+msgid "The printer URI is incorrect or no longer exists."
+msgstr ""
+
+#: cups/localize.c:335
 msgid "The printer is almost out of ink."
 msgstr ""
 
-#: cups/localize.c:314
+#: cups/localize.c:313
 msgid "The printer is low on toner."
 msgstr ""
 
-#: cups/localize.c:312
+#: backend/ipp.c:545 backend/ipp.c:700 backend/lpd.c:836 backend/socket.c:311
+msgid "The printer is not responding."
+msgstr ""
+
+#: cups/localize.c:311
 msgid "The printer is offline."
 msgstr ""
 
-#: cups/localize.c:338
+#: cups/localize.c:337
 msgid "The printer is out of ink."
 msgstr ""
 
-#: cups/localize.c:316
+#: cups/localize.c:315
 msgid "The printer is out of toner."
 msgstr ""
 
@@ -4979,55 +4942,55 @@ msgstr ""
 msgid "The printer name may only contain up to 127 printable characters and may not contain spaces, slashes (/), or the pound sign (#)."
 msgstr ""
 
-#: scheduler/ipp.c:1366
+#: scheduler/ipp.c:1387
 msgid "The printer or class is not shared"
 msgstr ""
 
-#: scheduler/ipp.c:884 scheduler/ipp.c:1200 scheduler/ipp.c:3879
-#: scheduler/ipp.c:3987 scheduler/ipp.c:5774 scheduler/ipp.c:6077
-#: scheduler/ipp.c:6390 scheduler/ipp.c:6942 scheduler/ipp.c:7583
-#: scheduler/ipp.c:7639 scheduler/ipp.c:7952 scheduler/ipp.c:8194
-#: scheduler/ipp.c:8284 scheduler/ipp.c:8317 scheduler/ipp.c:8642
-#: scheduler/ipp.c:9033 scheduler/ipp.c:9116 scheduler/ipp.c:10257
-#: scheduler/ipp.c:10713 scheduler/ipp.c:11042 scheduler/ipp.c:11109
-#: scheduler/ipp.c:11392
+#: scheduler/ipp.c:901 scheduler/ipp.c:1217 scheduler/ipp.c:3980
+#: scheduler/ipp.c:4151 scheduler/ipp.c:6060 scheduler/ipp.c:6363
+#: scheduler/ipp.c:6676 scheduler/ipp.c:7238 scheduler/ipp.c:8005
+#: scheduler/ipp.c:8061 scheduler/ipp.c:8384 scheduler/ipp.c:8634
+#: scheduler/ipp.c:8724 scheduler/ipp.c:8757 scheduler/ipp.c:9082
+#: scheduler/ipp.c:9475 scheduler/ipp.c:9558 scheduler/ipp.c:10712
+#: scheduler/ipp.c:11168 scheduler/ipp.c:11498 scheduler/ipp.c:11580
+#: scheduler/ipp.c:11872
 msgid "The printer or class was not found."
 msgstr ""
 
-#: cups/localize.c:318
+#: cups/localize.c:317
 msgid "The printer's cover is open."
 msgstr ""
 
-#: cups/localize.c:322
+#: cups/localize.c:321
 msgid "The printer's door is open."
 msgstr ""
 
-#: cups/localize.c:320
+#: cups/localize.c:319
 msgid "The printer's interlock is open."
 msgstr ""
 
-#: cups/localize.c:340
+#: cups/localize.c:339
 msgid "The printer's waste bin is almost full."
 msgstr ""
 
-#: cups/localize.c:342
+#: cups/localize.c:341
 msgid "The printer's waste bin is full."
 msgstr ""
 
-#: scheduler/ipp.c:993 scheduler/ipp.c:2374
+#: scheduler/ipp.c:1010 scheduler/ipp.c:2440
 #, c-format
 msgid "The printer-uri \"%s\" contains invalid characters."
 msgstr ""
 
-#: scheduler/ipp.c:3824
+#: scheduler/ipp.c:3957
 msgid "The printer-uri attribute is required"
 msgstr ""
 
-#: scheduler/ipp.c:977
+#: scheduler/ipp.c:994
 msgid "The printer-uri must be of the form \"ipp://HOSTNAME/classes/CLASSNAME\"."
 msgstr ""
 
-#: scheduler/ipp.c:2358
+#: scheduler/ipp.c:2424
 msgid "The printer-uri must be of the form \"ipp://HOSTNAME/printers/PRINTERNAME\"."
 msgstr ""
 
@@ -5035,32 +4998,42 @@ msgstr ""
 msgid "The subscription name may not contain spaces, slashes (/), question marks (?), or the pound sign (#)."
 msgstr ""
 
-#: scheduler/ipp.c:6320
+#: scheduler/ipp.c:7333
+#, c-format
+msgid "The which-jobs value \"%s\" is not supported."
+msgstr ""
+
+#: scheduler/ipp.c:6606
 msgid "There are too many subscriptions."
 msgstr ""
 
-#: cups/localize.c:309
+#: cups/localize.c:308
 msgid "There is a paper jam."
 msgstr ""
 
+#: backend/usb-darwin.c:377 backend/usb-darwin.c:436 backend/usb-darwin.c:503
+#: backend/usb-darwin.c:524
+msgid "There was an unrecoverable USB error."
+msgstr ""
+
 #: ppdc/sample.c:408
 msgid "Thermal Transfer Media"
 msgstr ""
 
-#: filter/bannertops.c:640
+#: filter/bannertops.c:638
 msgid "Title: "
 msgstr ""
 
-#: scheduler/ipp.c:1525
+#: scheduler/ipp.c:1591
 msgid "Too many active jobs."
 msgstr ""
 
-#: scheduler/ipp.c:1463
+#: scheduler/ipp.c:1484
 #, c-format
 msgid "Too many job-sheets values (%d > 2)"
 msgstr ""
 
-#: scheduler/ipp.c:2688
+#: scheduler/ipp.c:2754
 #, c-format
 msgid "Too many printer-state-reasons values (%d > %d)"
 msgstr ""
@@ -5089,7 +5062,7 @@ msgstr ""
 msgid "Tray 4"
 msgstr ""
 
-#: cups/http-support.c:1227
+#: cups/http-support.c:1233
 msgid "URI Too Long"
 msgstr ""
 
@@ -5125,12 +5098,12 @@ msgstr ""
 msgid "US Letter (Small)"
 msgstr ""
 
-#: backend/serial.c:799
+#: backend/serial.c:796
 #, c-format
 msgid "USB Serial Port #%d"
 msgstr ""
 
-#: cgi-bin/admin.c:2011 cgi-bin/admin.c:2024 cgi-bin/admin.c:2048
+#: cgi-bin/admin.c:2009 cgi-bin/admin.c:2022 cgi-bin/admin.c:2046
 msgid "Unable to access cupsd.conf file:"
 msgstr ""
 
@@ -5142,108 +5115,192 @@ msgstr ""
 msgid "Unable to add class:"
 msgstr ""
 
-#: scheduler/ipp.c:1566
+#: backend/ipp.c:1310
+#, c-format
+msgid "Unable to add file to job: %s"
+msgstr ""
+
+#: scheduler/ipp.c:1632
 #, c-format
 msgid "Unable to add job for destination \"%s\""
 msgstr ""
 
-#: cgi-bin/admin.c:1039 cgi-bin/admin.c:1398
+#: cgi-bin/admin.c:1037 cgi-bin/admin.c:1396
 msgid "Unable to add printer:"
 msgstr ""
 
-#: scheduler/ipp.c:1312
+#: scheduler/ipp.c:1329
 msgid "Unable to allocate memory for file types"
 msgstr ""
 
-#: cgi-bin/admin.c:1504
+#: filter/pstops.c:450
+msgid "Unable to allocate memory for page info"
+msgstr ""
+
+#: filter/pstops.c:444
+msgid "Unable to allocate memory for pages array"
+msgstr ""
+
+#: cgi-bin/admin.c:1502
 msgid "Unable to cancel RSS subscription:"
 msgstr ""
 
-#: cgi-bin/admin.c:3985
+#: backend/ipp.c:1565
+#, c-format
+msgid "Unable to cancel job: %s"
+msgstr ""
+
+#: cgi-bin/admin.c:3996
 msgid "Unable to change printer-is-shared attribute:"
 msgstr ""
 
-#: cgi-bin/admin.c:3086
+#: cgi-bin/admin.c:3084
 msgid "Unable to change printer:"
 msgstr ""
 
-#: cgi-bin/admin.c:1688 cgi-bin/admin.c:1852
+#: cgi-bin/admin.c:1686 cgi-bin/admin.c:1850
 msgid "Unable to change server settings:"
 msgstr ""
 
-#: cups/adminutil.c:941 cups/util.c:1700
+#: cups/adminutil.c:911 cups/request.c:905
 msgid "Unable to connect to host."
 msgstr ""
 
-#: cups/adminutil.c:737
+#: cups/http-addrlist.c:172
+msgid "Unable to connect to server"
+msgstr ""
+
+#: backend/ipp.c:525 backend/ipp.c:845 backend/lpd.c:814
+#: backend/parallel.c:219 backend/serial.c:241 backend/socket.c:291
+#: backend/usb-unix.c:117
+msgid "Unable to contact printer, queuing on next printer in class."
+msgstr ""
+
+#: cups/adminutil.c:726
 #, c-format
 msgid "Unable to copy 64-bit CUPS printer driver files (%d)"
 msgstr ""
 
-#: cups/adminutil.c:702
+#: cups/adminutil.c:691
 #, c-format
 msgid "Unable to copy 64-bit Windows printer driver files (%d)"
 msgstr ""
 
-#: cups/adminutil.c:533
+#: cups/adminutil.c:522
 #, c-format
 msgid "Unable to copy CUPS printer driver files (%d)"
 msgstr ""
 
-#: scheduler/ipp.c:2863
-msgid "Unable to copy PPD file"
+#: scheduler/ipp.c:2929
+msgid "Unable to copy PPD file"
+msgstr ""
+
+#: scheduler/ipp.c:2874
+#, c-format
+msgid "Unable to copy PPD file - %s"
+msgstr ""
+
+#: cups/adminutil.c:487
+#, c-format
+msgid "Unable to copy Windows 2000 printer driver files (%d)"
+msgstr ""
+
+#: cups/adminutil.c:610
+#, c-format
+msgid "Unable to copy Windows 9x printer driver files (%d)"
+msgstr ""
+
+#: scheduler/ipp.c:2851
+#, c-format
+msgid "Unable to copy interface script - %s"
+msgstr ""
+
+#: filter/imagetops.c:134 filter/imagetoraster.c:294
+msgid "Unable to copy print file"
+msgstr ""
+
+#: backend/ipp.c:1653
+msgid "Unable to create compressed print file"
+msgstr ""
+
+#: filter/imagetoraster.c:235
+msgid "Unable to create pipes for filters"
+msgstr ""
+
+#: cups/util.c:601 cups/util.c:1644
+msgid "Unable to create printer-uri"
+msgstr ""
+
+#: scheduler/cupsfilter.c:1160
+msgid "Unable to create temporary file"
+msgstr ""
+
+#: cgi-bin/admin.c:1900 cgi-bin/admin.c:1912
+msgid "Unable to create temporary file:"
+msgstr ""
+
+#: cgi-bin/admin.c:2203
+msgid "Unable to delete class:"
+msgstr ""
+
+#: cgi-bin/admin.c:2288
+msgid "Unable to delete printer:"
+msgstr ""
+
+#: cgi-bin/classes.c:246 cgi-bin/printers.c:255
+msgid "Unable to do maintenance command:"
+msgstr ""
+
+#: cgi-bin/admin.c:2024
+msgid "Unable to edit cupsd.conf files larger than 1MB"
 msgstr ""
 
-#: scheduler/ipp.c:2808
-#, c-format
-msgid "Unable to copy PPD file - %s"
+#: cups/http.c:4017
+msgid "Unable to establish a secure connection to host (certificate chain invalid)."
 msgstr ""
 
-#: cups/adminutil.c:498
-#, c-format
-msgid "Unable to copy Windows 2000 printer driver files (%d)"
+#: cups/http.c:4007
+msgid "Unable to establish a secure connection to host (certificate not yet valid)."
 msgstr ""
 
-#: cups/adminutil.c:621
-#, c-format
-msgid "Unable to copy Windows 9x printer driver files (%d)"
+#: cups/http.c:4002
+msgid "Unable to establish a secure connection to host (expired certificate)."
 msgstr ""
 
-#: scheduler/ipp.c:2785
-#, c-format
-msgid "Unable to copy interface script - %s"
+#: cups/http.c:4012
+msgid "Unable to establish a secure connection to host (host name mismatch)."
 msgstr ""
 
-#: cups/util.c:607 cups/util.c:1759
-msgid "Unable to create printer-uri"
+#: cups/http.c:4022
+msgid "Unable to establish a secure connection to host (peer dropped connection before responding)."
 msgstr ""
 
-#: cgi-bin/admin.c:1902 cgi-bin/admin.c:1914
-msgid "Unable to create temporary file:"
+#: cups/http.c:3997
+msgid "Unable to establish a secure connection to host (self-signed certificate)."
 msgstr ""
 
-#: cgi-bin/admin.c:2205
-msgid "Unable to delete class:"
+#: cups/http.c:3992
+msgid "Unable to establish a secure connection to host (untrusted certificate)."
 msgstr ""
 
-#: cgi-bin/admin.c:2290
-msgid "Unable to delete printer:"
+#: cups/http.c:4049
+msgid "Unable to establish a secure connection to host."
 msgstr ""
 
-#: cgi-bin/classes.c:246 cgi-bin/printers.c:255
-msgid "Unable to do maintenance command:"
+#: cgi-bin/ipp-var.c:365
+msgid "Unable to find destination for job"
 msgstr ""
 
-#: cgi-bin/admin.c:2026
-msgid "Unable to edit cupsd.conf files larger than 1MB"
+#: cups/http-support.c:1565
+msgid "Unable to find printer."
 msgstr ""
 
-#: cgi-bin/ipp-var.c:361
-msgid "Unable to find destination for job"
+#: filter/imagetoraster.c:259
+msgid "Unable to fork filter"
 msgstr ""
 
-#: cups/http-support.c:1509
-msgid "Unable to find printer\n"
+#: backend/ipp.c:1675
+msgid "Unable to generate compressed print file"
 msgstr ""
 
 #: cgi-bin/classes.c:436
@@ -5254,11 +5311,16 @@ msgstr ""
 msgid "Unable to get class status:"
 msgstr ""
 
-#: cgi-bin/admin.c:1299
+#: backend/ipp.c:1394
+#, c-format
+msgid "Unable to get job attributes: %s"
+msgstr ""
+
+#: cgi-bin/admin.c:1297
 msgid "Unable to get list of printer drivers:"
 msgstr ""
 
-#: cgi-bin/admin.c:2936
+#: cgi-bin/admin.c:2934
 msgid "Unable to get printer attributes:"
 msgstr ""
 
@@ -5270,488 +5332,451 @@ msgstr ""
 msgid "Unable to get printer status:"
 msgstr ""
 
-#: cups/adminutil.c:576 cups/adminutil.c:780
+#: backend/ipp.c:762
+#, c-format
+msgid "Unable to get printer status: %s"
+msgstr ""
+
+#: cups/adminutil.c:565 cups/adminutil.c:769
 #, c-format
 msgid "Unable to install Windows 2000 printer driver files (%d)"
 msgstr ""
 
-#: cups/adminutil.c:650
+#: cups/adminutil.c:639
 #, c-format
 msgid "Unable to install Windows 9x printer driver files (%d)"
 msgstr ""
 
+#: backend/ipp.c:580
+#, c-format
+msgid "Unable to locate network printer \"%s\"."
+msgstr ""
+
+#: backend/lpd.c:438 backend/lpd.c:692 backend/socket.c:267
+#, c-format
+msgid "Unable to locate printer \"%s\"."
+msgstr ""
+
 #: cgi-bin/admin.c:791
 msgid "Unable to modify class:"
 msgstr ""
 
-#: cgi-bin/admin.c:1038 cgi-bin/admin.c:1397
+#: cgi-bin/admin.c:1036 cgi-bin/admin.c:1395
 msgid "Unable to modify printer:"
 msgstr ""
 
-#: cgi-bin/ipp-var.c:428 cgi-bin/ipp-var.c:517
+#: cgi-bin/ipp-var.c:432 cgi-bin/ipp-var.c:521
 msgid "Unable to move job"
 msgstr ""
 
-#: cgi-bin/ipp-var.c:430 cgi-bin/ipp-var.c:519
+#: cgi-bin/ipp-var.c:434 cgi-bin/ipp-var.c:523
 msgid "Unable to move jobs"
 msgstr ""
 
-#: cups/ppd.c:336
+#: cups/ppd.c:341
 msgid "Unable to open PPD file"
 msgstr ""
 
-#: cgi-bin/admin.c:3282
+#: cgi-bin/admin.c:3280
 msgid "Unable to open PPD file:"
 msgstr ""
 
-#: cgi-bin/admin.c:2660
+#: filter/texttops.c:282
+msgid "Unable to open charset file"
+msgstr ""
+
+#: backend/ipp.c:1659
+msgid "Unable to open compressed print file"
+msgstr ""
+
+#: cgi-bin/admin.c:2658
 msgid "Unable to open cupsd.conf file:"
 msgstr ""
 
-#: scheduler/ipp.c:6727
+#: backend/parallel.c:246 backend/serial.c:261 backend/usb-unix.c:145
+msgid "Unable to open device file"
+msgstr ""
+
+#: scheduler/ipp.c:7019
 #, c-format
 msgid "Unable to open document %d in job %d"
 msgstr ""
 
-#: cgi-bin/ipp-var.c:791
+#: backend/ipp.c:1665 backend/lpd.c:476 backend/parallel.c:150
+#: backend/serial.c:190 backend/socket.c:156 backend/usb.c:237
+#: filter/bannertops.c:183 filter/gziptoany.c:71 filter/pstext.c:247
+#: filter/pstext.c:263 filter/pstops.c:299
+msgid "Unable to open print file"
+msgstr ""
+
+#: filter/texttops.c:263
+msgid "Unable to open psglyphs"
+msgstr ""
+
+#: driver/rastertoescpx.c:1814 driver/rastertopclx.c:1839
+#: filter/rastertoepson.c:998 filter/rastertohp.c:724
+#: filter/rastertolabel.c:1147
+msgid "Unable to open raster file"
+msgstr ""
+
+#: filter/texttops.c:216
+#, c-format
+msgid "Unable to print %d text columns."
+msgstr ""
+
+#: filter/texttops.c:180 filter/texttops.c:188 filter/texttops.c:196
+#, c-format
+msgid "Unable to print %dx%d text page."
+msgstr ""
+
+#: cgi-bin/ipp-var.c:795
 msgid "Unable to print test page:"
 msgstr ""
 
+#: backend/ipp.c:681
+msgid "Unable to print: the printer does not conform to the IPP standard."
+msgstr ""
+
+#: backend/runloop.c:93 backend/runloop.c:321
+msgid "Unable to read print data"
+msgstr ""
+
+#: backend/usb-darwin.c:611 backend/usb-darwin.c:655
+msgid "Unable to read print data."
+msgstr ""
+
 #: cups/adminutil.c:2203
 #, c-format
-msgid "Unable to run \"%s\": %s\n"
+msgid "Unable to run \"%s\": %s"
+msgstr ""
+
+#: filter/pstops.c:562
+msgid "Unable to see in file"
 msgstr ""
 
-#: cgi-bin/ipp-var.c:594 cgi-bin/ipp-var.c:614
+#: cgi-bin/ipp-var.c:598 cgi-bin/ipp-var.c:618
 msgid "Unable to send command to printer driver"
 msgstr ""
 
-#: cups/adminutil.c:832
+#: backend/usb-darwin.c:732 backend/usb-libusb.c:179 backend/usb-libusb.c:779
+msgid "Unable to send data to printer."
+msgstr ""
+
+#: filter/imagetoraster.c:1238 filter/imagetoraster.c:1335
+#: filter/imagetoraster.c:1376
+msgid "Unable to send raster data to the driver."
+msgstr ""
+
+#: cups/adminutil.c:821
 #, c-format
 msgid "Unable to set Windows printer driver (%d)"
 msgstr ""
 
-#: cgi-bin/admin.c:3886
+#: cgi-bin/admin.c:3897
 msgid "Unable to set options:"
 msgstr ""
 
-#: cgi-bin/admin.c:3173
+#: cgi-bin/admin.c:3171
 msgid "Unable to set server default:"
 msgstr ""
 
-#: cgi-bin/admin.c:1964
+#: cgi-bin/admin.c:1962
 msgid "Unable to upload cupsd.conf file:"
 msgstr ""
 
-#: backend/usb-darwin.c:1963 backend/usb-darwin.c:1986
-msgid "Unable to use legacy USB class driver\n"
+#: backend/usb-darwin.c:1993 backend/usb-darwin.c:2017
+msgid "Unable to use legacy USB class driver."
+msgstr ""
+
+#: backend/runloop.c:122 backend/runloop.c:376
+msgid "Unable to write print data"
+msgstr ""
+
+#: filter/gziptoany.c:92
+#, c-format
+msgid "Unable to write uncompressed print data: %s"
 msgstr ""
 
-#: cups/http-support.c:1215
+#: cups/http-support.c:1221
 msgid "Unauthorized"
 msgstr ""
 
-#: cgi-bin/admin.c:3586
+#: cgi-bin/admin.c:3597
 msgid "Units"
 msgstr ""
 
-#: cups/http-support.c:1249 cups/ppd.c:362
+#: cups/http-support.c:1258 cups/ppd.c:367
 msgid "Unknown"
 msgstr ""
 
-#: scheduler/ipp.c:10915
+#: filter/pstops.c:2263
 #, c-format
-msgid "Unknown printer-error-policy \"%s\"."
+msgid "Unknown choice \"%s\" for option \"%s\"."
 msgstr ""
 
-#: scheduler/ipp.c:10898
+#: backend/ipp.c:370
 #, c-format
-msgid "Unknown printer-op-policy \"%s\"."
+msgid "Unknown encryption option value: \"%s\"."
 msgstr ""
 
-#: scheduler/ipp.c:418
+#: backend/lpd.c:357
 #, c-format
-msgid "Unsupported character set \"%s\""
+msgid "Unknown file order: \"%s\"."
 msgstr ""
 
-#: scheduler/ipp.c:8608 scheduler/ipp.c:9846
+#: backend/lpd.c:328
 #, c-format
-msgid "Unsupported compression \"%s\""
+msgid "Unknown format character: \"%c\"."
 msgstr ""
 
-#: scheduler/ipp.c:11345
+#: backend/ipp.c:418
 #, c-format
-msgid "Unsupported compression attribute %s"
+msgid "Unknown option \"%s\" with value \"%s\"."
 msgstr ""
 
-#: scheduler/ipp.c:11373
+#: filter/pstops.c:2246
 #, c-format
-msgid "Unsupported format \"%s\""
+msgid "Unknown option \"%s\"."
 msgstr ""
 
-#: scheduler/ipp.c:1429 scheduler/ipp.c:9980
+#: backend/lpd.c:343
 #, c-format
-msgid "Unsupported format '%s'"
+msgid "Unknown print mode: \"%s\"."
 msgstr ""
 
-#: scheduler/ipp.c:8742 scheduler/ipp.c:9963
+#: scheduler/ipp.c:11370
 #, c-format
-msgid "Unsupported format '%s/%s'"
+msgid "Unknown printer-error-policy \"%s\"."
 msgstr ""
 
-#: cups/snmp.c:1119
-msgid "Unsupported value type"
+#: scheduler/ipp.c:11353
+#, c-format
+msgid "Unknown printer-op-policy \"%s\"."
 msgstr ""
 
-#: cups/http-support.c:1230
-msgid "Upgrade Required"
+#: backend/ipp.c:389
+#, c-format
+msgid "Unknown version option value: \"%s\"."
 msgstr ""
 
-#: systemv/lpadmin.c:805
-msgid ""
-"Usage:\n"
-"\n"
-"    lpadmin [-h server] -d destination\n"
-"    lpadmin [-h server] -x destination\n"
-"    lpadmin [-h server] -p printer [-c add-class] [-i interface] [-m model]\n"
-"                       [-r remove-class] [-v device] [-D description]\n"
-"                       [-P ppd-file] [-o name=value]\n"
-"                       [-u allow:user,user] [-u deny:user,user]\n"
-"\n"
+#: backend/serial.c:379
+#, c-format
+msgid "Unsupported baud rate: %s"
 msgstr ""
 
-#: filter/pdftops.c:103
+#: filter/pstops.c:2454
 #, c-format
-msgid "Usage: %s job user title copies options [filename]\n"
+msgid "Unsupported brightness value %s, using brightness=100."
 msgstr ""
 
-#: backend/ipp.c:212 backend/lpd.c:184 backend/pap.c:228
-#: backend/parallel.c:127 backend/serial.c:166 backend/socket.c:133
-#: backend/usb.c:183 filter/bannertops.c:118 filter/imagetops.c:115
-#: filter/imagetoraster.c:207 filter/pstops.c:255 filter/rastertoepson.c:988
-#: filter/rastertohp.c:713 filter/rastertolabel.c:1135 filter/textcommon.c:518
+#: scheduler/ipp.c:426
 #, c-format
-msgid "Usage: %s job-id user title copies options [file]\n"
+msgid "Unsupported character set \"%s\""
 msgstr ""
 
-#: filter/gziptoany.c:53
+#: scheduler/ipp.c:9048 scheduler/ipp.c:10288 scheduler/ipp.c:11824
 #, c-format
-msgid "Usage: %s job-id user title copies options file\n"
+msgid "Unsupported compression \"%s\""
 msgstr ""
 
-#: scheduler/cupsfilter.c:1364
-msgid ""
-"Usage: convert [ options ]\n"
-"\n"
-"Options:\n"
-"\n"
-"  -e                   Use every filter from the PPD file\n"
-"  -f filename          Set file to be converted (otherwise stdin)\n"
-"  -o filename          Set file to be generated (otherwise stdout)\n"
-"  -i mime/type         Set input MIME type (otherwise auto-typed)\n"
-"  -j mime/type         Set output MIME type (otherwise application/pdf)\n"
-"  -P filename.ppd      Set PPD file\n"
-"  -a 'name=value ...'  Set option(s)\n"
-"  -U username          Set username for job\n"
-"  -J title             Set title\n"
-"  -c copies            Set number of copies\n"
-"  -u                   Remove the PPD file when finished\n"
-"  -D                   Remove the input file when finished\n"
-msgstr ""
-
-#: systemv/cupsaddsmb.c:286
-msgid ""
-"Usage: cupsaddsmb [options] printer1 ... printerN\n"
-"       cupsaddsmb [options] -a\n"
-"\n"
-"Options:\n"
-"  -E               Encrypt the connection to the server\n"
-"  -H samba-server  Use the named SAMBA server\n"
-"  -U samba-user    Authenticate using the named SAMBA user\n"
-"  -a               Export all printers\n"
-"  -h cups-server   Use the named CUPS server\n"
-"  -v               Be verbose (show commands)\n"
+#: scheduler/ipp.c:9182 scheduler/ipp.c:11853
+#, c-format
+msgid "Unsupported document-format \"%s\""
 msgstr ""
 
-#: systemv/cupsctl.c:202
-msgid ""
-"Usage: cupsctl [options] [param=value ... paramN=valueN]\n"
-"\n"
-"Options:\n"
-"\n"
-"    -E                      Enable encryption\n"
-"    -U username             Specify username\n"
-"    -h server[:port]        Specify server address\n"
-"\n"
-"    --[no-]debug-logging    Turn debug logging on/off\n"
-"    --[no-]remote-admin     Turn remote administration on/off\n"
-"    --[no-]remote-any       Allow/prevent access from the Internet\n"
-"    --[no-]remote-printers  Show/hide remote printers\n"
-"    --[no-]share-printers   Turn printer sharing on/off\n"
-"    --[no-]user-cancel-any  Allow/prevent users to cancel any job\n"
+#: scheduler/ipp.c:1450 scheduler/ipp.c:10433
+#, c-format
+msgid "Unsupported format '%s'"
 msgstr ""
 
-#: scheduler/main.c:2153
-msgid ""
-"Usage: cupsd [-c config-file] [-f] [-F] [-h] [-l]\n"
-"\n"
-"-c config-file      Load alternate configuration file\n"
-"-f                  Run in the foreground\n"
-"-F                  Run in the foreground but detach\n"
-"-h                  Show this usage message\n"
-"-l                  Run cupsd from launchd(8)\n"
+#: scheduler/ipp.c:10416
+#, c-format
+msgid "Unsupported format '%s/%s'"
 msgstr ""
 
-#: scheduler/cupsfilter.c:1351
-msgid ""
-"Usage: cupsfilter -m mime/type [ options ] filename\n"
-"\n"
-"Options:\n"
-"\n"
-"  -c cupsd.conf    Set cupsd.conf file to use\n"
-"  -e               Use every filter from the PPD file\n"
-"  -j job-id[,N]    Filter file N from the specified job (default is file 1)\n"
-"  -n copies        Set number of copies\n"
-"  -o name=value    Set option(s)\n"
-"  -p filename.ppd  Set PPD file\n"
-"  -t title         Set title\n"
+#: filter/pstops.c:2536
+#, c-format
+msgid "Unsupported gamma value %s, using gamma=1000."
 msgstr ""
 
-#: systemv/cupstestdsc.c:430
-msgid ""
-"Usage: cupstestdsc [options] filename.ps [... filename.ps]\n"
-"       cupstestdsc [options] -\n"
-"\n"
-"Options:\n"
-"\n"
-"    -h       Show program usage\n"
-"\n"
-"    Note: this program only validates the DSC comments, not the PostScript itself.\n"
+#: scheduler/ipp.c:1548
+msgid "Unsupported margins."
 msgstr ""
 
-#: systemv/cupstestppd.c:3664
-msgid ""
-"Usage: cupstestppd [options] filename1.ppd[.gz] [... filenameN.ppd[.gz]]\n"
-"       program | cupstestppd [options] -\n"
-"\n"
-"Options:\n"
-"\n"
-"    -I {filename,filters,none,profiles}\n"
-"                         Ignore specific warnings\n"
-"    -R root-directory    Set alternate root\n"
-"    -W {all,none,constraints,defaults,duplex,filters,profiles,sizes,translations}\n"
-"                         Issue warnings instead of errors\n"
-"    -q                   Run silently\n"
-"    -r                   Use 'relaxed' open mode\n"
-"    -v                   Be slightly verbose\n"
-"    -vv                  Be very verbose\n"
-msgstr ""
-
-#: test/ipptest.c:2968
-msgid ""
-"Usage: ipptest [options] URI filename.test [ ... filenameN.test ]\n"
-"\n"
-"Options:\n"
-"\n"
-"-E             Test with encryption.\n"
-"-V version     Set default IPP version.\n"
-"-X             Produce XML instead of plain text.\n"
-"-c             Send requests using chunking (default)\n"
-"-d name=value  Define variable.\n"
-"-f filename    Set default test file.\n"
-"-i seconds     Repeat the last test file with the given interval.\n"
-"-l             Send requests using content-length\n"
-"-v             Show all attributes sent and received.\n"
+#: cups/pwg-media.c:464
+msgid "Unsupported media value."
+msgstr ""
+
+#: filter/pstops.c:2580
+#, c-format
+msgid "Unsupported number-up value %d, using number-up=1."
 msgstr ""
 
-#: systemv/lpmove.c:132
-msgid "Usage: lpmove job/src dest\n"
+#: filter/pstops.c:2614
+#, c-format
+msgid "Unsupported number-up-layout value %s, using number-up-layout=lrtb."
 msgstr ""
 
-#: systemv/lpoptions.c:540
-msgid ""
-"Usage: lpoptions [-h server] [-E] -d printer\n"
-"       lpoptions [-h server] [-E] [-p printer] -l\n"
-"       lpoptions [-h server] [-E] -p printer -o option[=value] ...\n"
-"       lpoptions [-h server] [-E] -x printer\n"
+#: filter/pstops.c:2665
+#, c-format
+msgid "Unsupported page-border value %s, using page-border=none."
 msgstr ""
 
-#: systemv/lppasswd.c:488
-msgid "Usage: lppasswd [-g groupname]\n"
+#: cups/snmp.c:1117
+msgid "Unsupported value type"
+msgstr ""
+
+#: cups/http-support.c:1236
+msgid "Upgrade Required"
 msgstr ""
 
-#: systemv/lppasswd.c:491
+#: systemv/lpadmin.c:617
 msgid ""
-"Usage: lppasswd [-g groupname] [username]\n"
-"       lppasswd [-g groupname] -a [username]\n"
-"       lppasswd [-g groupname] -x [username]\n"
+"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 ""
 
-#: berkeley/lpq.c:678
-msgid "Usage: lpq [-P dest] [-U username] [-h hostname[:port]] [-l] [+interval]\n"
+#: filter/pdftops.c:103
+#, c-format
+msgid "Usage: %s job user title copies options [filename]"
 msgstr ""
 
-#: ppdc/ppdc.cxx:437
-msgid ""
-"Usage: ppdc [options] filename.drv [ ... filenameN.drv ]\n"
-"Options:\n"
-"  -D name=value        Set named variable to value.\n"
-"  -I include-dir       Add include directory to search path.\n"
-"  -c catalog.po        Load the specified message catalog.\n"
-"  -d output-dir        Specify the output directory.\n"
-"  -l lang[,lang,...]   Specify the output language(s) (locale).\n"
-"  -m                   Use the ModelName value as the filename.\n"
-"  -t                   Test PPDs instead of generating them.\n"
-"  -v                   Be verbose (more v's for more verbosity).\n"
-"  -z                   Compress PPD files using GNU zip.\n"
-"  --cr                 End lines with CR (Mac OS 9).\n"
-"  --crlf               End lines with CR + LF (Windows).\n"
-"  --lf                 End lines with LF (UNIX/Linux/Mac OS X).\n"
-msgstr ""
-
-#: ppdc/ppdhtml.cxx:173
-msgid ""
-"Usage: ppdhtml [options] filename.drv >filename.html\n"
-"  -D name=value        Set named variable to value.\n"
-"Options:\n"
-"  -I include-dir    Add include directory to search path.\n"
+#: backend/dnssd.c:171 backend/ipp.c:236 backend/lpd.c:185
+#: backend/parallel.c:127 backend/serial.c:167 backend/socket.c:133
+#: backend/usb.c:183 driver/commandtoescpx.c:57 driver/commandtopclx.c:57
+#: filter/textcommon.c:518 monitor/bcp.c:62 monitor/tbcp.c:61
+#, c-format
+msgid "Usage: %s job-id user title copies options [file]"
 msgstr ""
 
-#: ppdc/ppdi.cxx:129
-msgid ""
-"Usage: ppdi [options] filename.ppd [ ... filenameN.ppd ]\n"
-"Options:\n"
-"  -I include-dir\n"
-"  -o filename.drv\n"
+#: filter/bannertops.c:118 filter/commandtops.c:73 filter/gziptoany.c:50
+#: filter/imagetops.c:116 filter/imagetoraster.c:208 filter/pstops.c:263
+#, c-format
+msgid "Usage: %s job-id user title copies options file"
 msgstr ""
 
-#: ppdc/ppdmerge.cxx:370
-msgid ""
-"Usage: ppdmerge [options] filename.ppd [ ... filenameN.ppd ]\n"
-"Options:\n"
-"  -o filename.ppd[.gz]\n"
+#: scheduler/cupsfilter.c:1371
+msgid "Usage: convert [ options ]"
 msgstr ""
 
-#: ppdc/ppdpo.cxx:254
-msgid ""
-"Usage: ppdpo [options] -o filename.po filename.drv [ ... filenameN.drv ]\n"
-"Options:\n"
-"  -D name=value        Set named variable to value.\n"
-"  -I include-dir    Add include directory to search path.\n"
-"  -v                Be verbose (more v's for more verbosity).\n"
+#: systemv/cupsaddsmb.c:281
+msgid "Usage: cupsaddsmb [options] printer1 ... printerN"
 msgstr ""
 
-#: backend/snmp.c:224
-msgid "Usage: snmp [host-or-ip-address]\n"
+#: systemv/cupsctl.c:199
+msgid "Usage: cupsctl [options] [param=value ... paramN=valueN]"
 msgstr ""
 
-#: cups/snmp.c:1071
-msgid "Value uses indefinite length"
+#: scheduler/main.c:2196
+msgid "Usage: cupsd [options]"
 msgstr ""
 
-#: cups/snmp.c:1056
-msgid "VarBind uses indefinite length"
+#: scheduler/cupsfilter.c:1355
+msgid "Usage: cupsfilter -m mime/type [ options ] filename"
 msgstr ""
 
-#: cups/snmp.c:1006
-msgid "Version uses indefinite length"
+#: systemv/cupstestdsc.c:425
+msgid "Usage: cupstestdsc [options] filename.ps [... filename.ps]"
 msgstr ""
 
-#: backend/pap.c:328
-#, c-format
-msgid "WARNING: Adding only the first %d printers found"
+#: systemv/cupstestppd.c:3487
+msgid "Usage: cupstestppd [options] filename1.ppd[.gz] [... filenameN.ppd[.gz]]"
 msgstr ""
 
-#: backend/pap.c:1457 backend/usb-darwin.c:1825
-#, c-format
-msgid "WARNING: Boolean expected for waiteof option \"%s\"\n"
+#: test/ipptool.c:3758
+msgid "Usage: ipptool [options] URI filename [ ... filenameN ]"
 msgstr ""
 
-#: backend/ipp.c:568 backend/ipp.c:699 backend/lpd.c:837 backend/socket.c:315
-#, c-format
-msgid "WARNING: Network host '%s' is busy; will retry in %d seconds...\n"
+#: systemv/lpmove.c:125
+msgid "Usage: lpmove job/src dest"
 msgstr ""
 
-#: filter/pstops.c:2237
-#, c-format
-msgid "WARNING: Option \"%s\" cannot be included via IncludeFeature\n"
+#: systemv/lpoptions.c:553
+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 ""
 
-#: backend/pap.c:503
-msgid "WARNING: Printer not responding\n"
+#: systemv/lppasswd.c:476
+msgid "Usage: lppasswd [-g groupname]"
 msgstr ""
 
-#: backend/pap.c:831 backend/pap.c:854
-msgid "WARNING: Printer sent unexpected EOF\n"
+#: systemv/lppasswd.c:479
+msgid ""
+"Usage: lppasswd [-g groupname] [username]\n"
+"       lppasswd [-g groupname] -a [username]\n"
+"       lppasswd [-g groupname] -x [username]"
 msgstr ""
 
-#: backend/lpd.c:605
-#, c-format
-msgid "WARNING: Remote host did not respond with command status byte after %d seconds\n"
+#: berkeley/lpq.c:669
+msgid "Usage: lpq [-P dest] [-U username] [-h hostname[:port]] [-l] [+interval]"
 msgstr ""
 
-#: backend/lpd.c:1010 backend/lpd.c:1157
-#, c-format
-msgid "WARNING: Remote host did not respond with control status byte after %d seconds\n"
+#: ppdc/ppdc.cxx:435
+msgid "Usage: ppdc [options] filename.drv [ ... filenameN.drv ]"
 msgstr ""
 
-#: backend/lpd.c:1102
-#, c-format
-msgid "WARNING: Remote host did not respond with data status byte after %d seconds\n"
+#: ppdc/ppdhtml.cxx:172
+msgid "Usage: ppdhtml [options] filename.drv >filename.html"
 msgstr ""
 
-#: filter/pstops.c:1096
-msgid "WARNING: This document does not conform to the Adobe Document Structuring Conventions and may not print correctly\n"
+#: ppdc/ppdi.cxx:128
+msgid "Usage: ppdi [options] filename.ppd [ ... filenameN.ppd ]"
 msgstr ""
 
-#: backend/pap.c:492
-#, c-format
-msgid "WARNING: Unable to open \"%s:%s\": %s\n"
+#: ppdc/ppdmerge.cxx:367
+msgid "Usage: ppdmerge [options] filename.ppd [ ... filenameN.ppd ]"
 msgstr ""
 
-#: backend/pap.c:637
-msgid "WARNING: Unable to send PAP status request"
+#: ppdc/ppdpo.cxx:252
+msgid "Usage: ppdpo [options] -o filename.po filename.drv [ ... filenameN.drv ]"
 msgstr ""
 
-#: backend/pap.c:867
-#, c-format
-msgid "WARNING: Unexpected PAP packet of type %d\n"
+#: backend/snmp.c:217
+msgid "Usage: snmp [host-or-ip-address]"
 msgstr ""
 
-#: backend/pap.c:872
-#, c-format
-msgid "WARNING: Unknown PAP packet of type %d\n"
+#: cups/snmp.c:1069
+msgid "Value uses indefinite length"
 msgstr ""
 
-#: filter/pstops.c:2245
-#, c-format
-msgid "WARNING: Unknown choice \"%s\" for option \"%s\"\n"
+#: cups/snmp.c:1054
+msgid "VarBind uses indefinite length"
 msgstr ""
 
-#: filter/pstops.c:2230
-#, c-format
-msgid "WARNING: Unknown option \"%s\"\n"
+#: cups/snmp.c:1004
+msgid "Version uses indefinite length"
 msgstr ""
 
-#: backend/serial.c:381
-#, c-format
-msgid "WARNING: Unsupported baud rate %s\n"
+#: backend/ipp.c:1335
+msgid "Waiting for job to complete."
 msgstr ""
 
-#: backend/pap.c:1471
-#, c-format
-msgid "WARNING: number expected for status option \"%s\"\n"
+#: backend/usb-darwin.c:455 backend/usb-libusb.c:118
+msgid "Waiting for printer to become available."
+msgstr ""
+
+#: backend/socket.c:422
+msgid "Waiting for printer to finish."
 msgstr ""
 
-#: cups/adminutil.c:804
+#: cups/adminutil.c:793
 msgid "Warning, no Windows 2000 printer drivers are installed"
 msgstr ""
 
-#: cups/ppd.c:1908
+#: cups/ppd.c:1915
 msgid "Yes"
 msgstr ""
 
-#: scheduler/client.c:2411
+#: scheduler/client.c:2403
 #, c-format
 msgid "You must access this page using the URL <A HREF=\"https://%s:%d%s\">https://%s:%d%s</A>."
 msgstr ""
@@ -5760,6 +5785,10 @@ msgstr ""
 msgid "You4 Envelope"
 msgstr ""
 
+#: systemv/lppasswd.c:254
+msgid "Your password must be at least 6 characters long, cannot contain your username, and must contain at least one letter and number."
+msgstr ""
+
 #: ppdc/sample.c:412
 msgid "ZPL Label Printer"
 msgstr ""
@@ -5780,102 +5809,102 @@ msgstr ""
 msgid "completed"
 msgstr ""
 
-#: scheduler/cupsfilter.c:342
-msgid "convert: Use the -f option to specify a file to convert.\n"
+#: scheduler/cupsfilter.c:346
+msgid "convert: Use the -f option to specify a file to convert."
 msgstr ""
 
-#: scheduler/ipp.c:6600
+#: scheduler/ipp.c:6892
 msgid "cups-deviced failed to execute."
 msgstr ""
 
-#: scheduler/ipp.c:7300 scheduler/ipp.c:7550
+#: scheduler/ipp.c:7722 scheduler/ipp.c:7972
 msgid "cups-driverd failed to execute."
 msgstr ""
 
-#: systemv/cupsaddsmb.c:236
+#: systemv/cupsaddsmb.c:233
 #, c-format
-msgid "cupsaddsmb: No PPD file for printer \"%s\" - %s\n"
+msgid "cupsaddsmb: No PPD file for printer \"%s\" - %s"
 msgstr ""
 
-#: systemv/cupsctl.c:153
+#: systemv/cupsctl.c:151
 #, c-format
-msgid "cupsctl: Unable to connect to server: %s\n"
+msgid "cupsctl: Unable to connect to server: %s"
 msgstr ""
 
-#: systemv/cupsctl.c:196
+#: systemv/cupsctl.c:194
 #, c-format
-msgid "cupsctl: Unknown option \"%s\"\n"
+msgid "cupsctl: Unknown option \"%s\""
 msgstr ""
 
-#: systemv/cupsctl.c:198
+#: systemv/cupsctl.c:196
 #, c-format
-msgid "cupsctl: Unknown option \"-%c\"\n"
+msgid "cupsctl: Unknown option \"-%c\""
 msgstr ""
 
-#: scheduler/main.c:200
-msgid "cupsd: Expected config filename after \"-c\" option\n"
+#: scheduler/main.c:197
+msgid "cupsd: Expected config filename after \"-c\" option."
 msgstr ""
 
-#: scheduler/main.c:232 scheduler/main.c:239
-msgid "cupsd: Unable to get current directory\n"
+#: scheduler/main.c:229 scheduler/main.c:236
+msgid "cupsd: Unable to get current directory."
 msgstr ""
 
-#: scheduler/main.c:306
+#: scheduler/main.c:303
 #, c-format
-msgid "cupsd: Unknown argument \"%s\" - aborting\n"
+msgid "cupsd: Unknown argument \"%s\" - aborting."
 msgstr ""
 
-#: scheduler/main.c:299
+#: scheduler/main.c:296
 #, c-format
-msgid "cupsd: Unknown option \"%c\" - aborting\n"
+msgid "cupsd: Unknown option \"%c\" - aborting."
 msgstr ""
 
-#: scheduler/main.c:266
-msgid "cupsd: launchd(8) support not compiled in, running in normal mode.\n"
+#: scheduler/main.c:263
+msgid "cupsd: launchd(8) support not compiled in, running in normal mode."
 msgstr ""
 
-#: scheduler/cupsfilter.c:1129
+#: scheduler/cupsfilter.c:1133
 #, c-format
-msgid "cupsfilter: Invalid document number %d\n"
+msgid "cupsfilter: Invalid document number %d."
 msgstr ""
 
-#: scheduler/cupsfilter.c:1123
+#: scheduler/cupsfilter.c:1127
 #, c-format
-msgid "cupsfilter: Invalid job ID %d\n"
+msgid "cupsfilter: Invalid job ID %d."
 msgstr ""
 
-#: scheduler/cupsfilter.c:350
-msgid "cupsfilter: Only one filename can be specified\n"
+#: scheduler/cupsfilter.c:354
+msgid "cupsfilter: Only one filename can be specified."
 msgstr ""
 
-#: scheduler/cupsfilter.c:1171
+#: scheduler/cupsfilter.c:1175
 #, c-format
-msgid "cupsfilter: Unable to get job file - %s\n"
+msgid "cupsfilter: Unable to get job file - %s"
 msgstr ""
 
-#: systemv/cupstestppd.c:426
-msgid "cupstestppd: The -q option is incompatible with the -v option.\n"
+#: systemv/cupstestppd.c:260
+msgid "cupstestppd: The -q option is incompatible with the -v option."
 msgstr ""
 
-#: systemv/cupstestppd.c:442
-msgid "cupstestppd: The -v option is incompatible with the -q option.\n"
+#: systemv/cupstestppd.c:276
+msgid "cupstestppd: The -v option is incompatible with the -q option."
 msgstr ""
 
 #: systemv/lpstat.c:1228 systemv/lpstat.c:1231 systemv/lpstat.c:1234
 #, c-format
-msgid "device for %s/%s: %s\n"
+msgid "device for %s/%s: %s"
 msgstr ""
 
 #: systemv/lpstat.c:1215 systemv/lpstat.c:1218 systemv/lpstat.c:1221
 #, c-format
-msgid "device for %s: %s\n"
+msgid "device for %s: %s"
 msgstr ""
 
-#: cups/snmp.c:1043
+#: cups/snmp.c:1041
 msgid "error-index uses indefinite length"
 msgstr ""
 
-#: cups/snmp.c:1035
+#: cups/snmp.c:1033
 msgid "error-status uses indefinite length"
 msgstr ""
 
@@ -5883,415 +5912,393 @@ msgstr ""
 msgid "held"
 msgstr ""
 
-#: berkeley/lpc.c:214
-msgid "help\t\tget help on commands\n"
+#: berkeley/lpc.c:209
+msgid "help\t\tGet help on commands."
 msgstr ""
 
 #: cups/notify.c:131
 msgid "idle"
 msgstr ""
 
-#: test/ipptest.c:269 test/ipptest.c:325
-msgid "ipptest: \"-i\" is incompatible with \"-x\".\n"
+#: test/ipptool.c:345
+msgid "ipptool: \"-i\" and \"-n\" are incompatible with -X\"."
 msgstr ""
 
-#: test/ipptest.c:371
-#, c-format
-msgid "ipptest: Bad URI - %s.\n"
+#: test/ipptool.c:420
+msgid "ipptool: \"-i\" is incompatible with \"-X\"."
 msgstr ""
 
-#: test/ipptest.c:258
-#, c-format
-msgid "ipptest: Bad version %s for \"-V\".\n"
+#: test/ipptool.c:444
+msgid "ipptool: \"-n\" is incompatible with \"-X\"."
 msgstr ""
 
-#: test/ipptest.c:357
-msgid "ipptest: May only specify a single URI.\n"
+#: test/ipptool.c:502
+#, c-format
+msgid "ipptool: Bad URI - %s."
 msgstr ""
 
-#: test/ipptest.c:304
-msgid "ipptest: Missing filename for \"-f\".\n"
+#: test/ipptool.c:334
+#, c-format
+msgid "ipptool: Bad version %s for \"-V\"."
 msgstr ""
 
-#: test/ipptest.c:285
-msgid "ipptest: Missing name=value for \"-d\".\n"
+#: test/ipptool.c:413
+msgid "ipptool: Invalid seconds for \"-i\"."
 msgstr ""
 
-#: test/ipptest.c:317
-msgid "ipptest: Missing seconds for \"-i\".\n"
+#: test/ipptool.c:483
+msgid "ipptool: May only specify a single URI."
 msgstr ""
 
-#: test/ipptest.c:241
-msgid "ipptest: Missing version for \"-V\".\n"
+#: test/ipptool.c:436
+msgid "ipptool: Missing count for \"-n\"."
 msgstr ""
 
-#: test/ipptest.c:379
-msgid "ipptest: Only http, https, and ipp URIs are supported."
+#: test/ipptool.c:380
+msgid "ipptool: Missing filename for \"-f\"."
 msgstr ""
 
-#: test/ipptest.c:392
-msgid "ipptest: URI required before test file."
+#: test/ipptool.c:361
+msgid "ipptool: Missing name=value for \"-d\"."
 msgstr ""
 
-#: test/ipptest.c:340
-#, c-format
-msgid "ipptest: Unknown option \"-%c\".\n"
+#: test/ipptool.c:403
+msgid "ipptool: Missing seconds for \"-i\"."
 msgstr ""
 
-#: scheduler/ipp.c:8273
-msgid "job-printer-uri attribute missing"
+#: test/ipptool.c:304
+msgid "ipptool: Missing timeout for \"-T\"."
 msgstr ""
 
-#: systemv/lpadmin.c:141 systemv/lpadmin.c:453
-msgid "lpadmin: Class name can only contain printable characters\n"
+#: test/ipptool.c:317
+msgid "ipptool: Missing version for \"-V\"."
 msgstr ""
 
-#: systemv/lpadmin.c:750
-msgid "lpadmin: Expected PPD after '-P' option\n"
+#: test/ipptool.c:525
+msgid "ipptool: URI required before test file."
 msgstr ""
 
-#: systemv/lpadmin.c:491
-msgid "lpadmin: Expected allow/deny:userlist after '-u' option\n"
+#: test/ipptool.c:463
+#, c-format
+msgid "ipptool: Unknown option \"-%c\"."
 msgstr ""
 
-#: systemv/lpadmin.c:442
-msgid "lpadmin: Expected class after '-r' option\n"
+#: scheduler/ipp.c:4004 scheduler/ipp.c:4059 scheduler/ipp.c:7422
+#, c-format
+msgid "job-id %d not found."
 msgstr ""
 
-#: systemv/lpadmin.c:130
-msgid "lpadmin: Expected class name after '-c' option\n"
+#: scheduler/ipp.c:8713
+msgid "job-printer-uri attribute missing"
 msgstr ""
 
-#: systemv/lpadmin.c:643
-msgid "lpadmin: Expected description after '-D' option\n"
+#: systemv/lpadmin.c:125 systemv/lpadmin.c:369
+msgid "lpadmin: Class name can only contain printable characters."
 msgstr ""
 
-#: systemv/lpadmin.c:550
-msgid "lpadmin: Expected device URI after '-v' option\n"
+#: systemv/lpadmin.c:563
+msgid "lpadmin: Expected PPD after \"-P\" option."
 msgstr ""
 
-#: systemv/lpadmin.c:659
-msgid "lpadmin: Expected file type(s) after '-I' option\n"
+#: systemv/lpadmin.c:406
+msgid "lpadmin: Expected allow/deny:userlist after \"-u\" option."
 msgstr ""
 
-#: systemv/lpadmin.c:212
-msgid "lpadmin: Expected hostname after '-h' option\n"
+#: systemv/lpadmin.c:358
+msgid "lpadmin: Expected class after \"-r\" option."
 msgstr ""
 
-#: systemv/lpadmin.c:257
-msgid "lpadmin: Expected interface after '-i' option\n"
+#: systemv/lpadmin.c:114
+msgid "lpadmin: Expected class name after \"-c\" option."
 msgstr ""
 
-#: systemv/lpadmin.c:704
-msgid "lpadmin: Expected location after '-L' option\n"
+#: systemv/lpadmin.c:507
+msgid "lpadmin: Expected description after \"-D\" option."
 msgstr ""
 
-#: systemv/lpadmin.c:338
-msgid "lpadmin: Expected model after '-m' option\n"
+#: systemv/lpadmin.c:440
+msgid "lpadmin: Expected device URI after \"-v\" option."
 msgstr ""
 
-#: systemv/lpadmin.c:358
-msgid "lpadmin: Expected name=value after '-o' option\n"
+#: systemv/lpadmin.c:523
+msgid "lpadmin: Expected file type(s) after \"-I\" option."
 msgstr ""
 
-#: systemv/lpadmin.c:391
-msgid "lpadmin: Expected printer after '-p' option\n"
+#: systemv/lpadmin.c:196
+msgid "lpadmin: Expected hostname after \"-h\" option."
 msgstr ""
 
-#: systemv/lpadmin.c:174
-msgid "lpadmin: Expected printer name after '-d' option\n"
+#: systemv/lpadmin.c:215
+msgid "lpadmin: Expected interface after \"-i\" option."
 msgstr ""
 
-#: systemv/lpadmin.c:584
-msgid "lpadmin: Expected printer or class after '-x' option\n"
+#: systemv/lpadmin.c:543
+msgid "lpadmin: Expected location after \"-L\" option."
 msgstr ""
 
-#: systemv/lpadmin.c:1128
-msgid "lpadmin: No member names were seen\n"
+#: systemv/lpadmin.c:268
+msgid "lpadmin: Expected model after \"-m\" option."
 msgstr ""
 
-#: systemv/lpadmin.c:893
-#, c-format
-msgid "lpadmin: Printer %s is already a member of class %s.\n"
+#: systemv/lpadmin.c:288
+msgid "lpadmin: Expected name=value after \"-o\" option."
 msgstr ""
 
-#: systemv/lpadmin.c:1142
-#, c-format
-msgid "lpadmin: Printer %s is not a member of class %s.\n"
+#: systemv/lpadmin.c:307
+msgid "lpadmin: Expected printer after \"-p\" option."
 msgstr ""
 
-#: systemv/lpadmin.c:185 systemv/lpadmin.c:402 systemv/lpadmin.c:595
-msgid "lpadmin: Printer name can only contain printable characters\n"
+#: systemv/lpadmin.c:158
+msgid "lpadmin: Expected printer name after \"-d\" option."
 msgstr ""
 
-#: systemv/lpadmin.c:115
-msgid ""
-"lpadmin: Unable to add a printer to the class:\n"
-"         You must specify a printer name first\n"
+#: systemv/lpadmin.c:474
+msgid "lpadmin: Expected printer or class after \"-x\" option."
 msgstr ""
 
-#: systemv/lpadmin.c:106 systemv/lpadmin.c:159 systemv/lpadmin.c:230
-#: systemv/lpadmin.c:291 systemv/lpadmin.c:310 systemv/lpadmin.c:376
-#: systemv/lpadmin.c:417 systemv/lpadmin.c:523 systemv/lpadmin.c:569
-#: systemv/lpadmin.c:615 systemv/lpadmin.c:677 systemv/lpadmin.c:723
-#: systemv/lpadmin.c:784
-#, c-format
-msgid "lpadmin: Unable to connect to server: %s\n"
+#: systemv/lpadmin.c:939
+msgid "lpadmin: No member names were seen."
 msgstr ""
 
-#: systemv/lpadmin.c:1851
+#: systemv/lpadmin.c:704
 #, c-format
-msgid "lpadmin: Unable to open PPD file \"%s\" - %s\n"
+msgid "lpadmin: Printer %s is already a member of class %s."
 msgstr ""
 
-#: systemv/lpadmin.c:1460
+#: systemv/lpadmin.c:953
 #, c-format
-msgid "lpadmin: Unable to open file \"%s\": %s\n"
-msgstr ""
-
-#: systemv/lpadmin.c:426
-msgid ""
-"lpadmin: Unable to remove a printer from the class:\n"
-"         You must specify a printer name first\n"
+msgid "lpadmin: Printer %s is not a member of class %s."
 msgstr ""
 
-#: systemv/lpadmin.c:732
-msgid ""
-"lpadmin: Unable to set the PPD file:\n"
-"         You must specify a printer name first\n"
+#: systemv/lpadmin.c:169 systemv/lpadmin.c:318 systemv/lpadmin.c:485
+msgid "lpadmin: Printer name can only contain printable characters."
 msgstr ""
 
-#: systemv/lpadmin.c:532
+#: systemv/lpadmin.c:99
 msgid ""
-"lpadmin: Unable to set the device URI:\n"
-"         You must specify a printer name first\n"
+"lpadmin: Unable to add a printer to the class:\n"
+"         You must specify a printer name first."
 msgstr ""
 
-#: systemv/lpadmin.c:319
-msgid ""
-"lpadmin: Unable to set the interface script or PPD file:\n"
-"         You must specify a printer name first\n"
+#: systemv/lpadmin.c:90 systemv/lpadmin.c:143 systemv/lpadmin.c:247
+#: systemv/lpadmin.c:333 systemv/lpadmin.c:459 systemv/lpadmin.c:596
+#, c-format
+msgid "lpadmin: Unable to connect to server: %s"
 msgstr ""
 
-#: systemv/lpadmin.c:239
-msgid ""
-"lpadmin: Unable to set the interface script:\n"
-"         You must specify a printer name first\n"
+#: systemv/lpadmin.c:1235
+msgid "lpadmin: Unable to create temporary file"
 msgstr ""
 
-#: systemv/lpadmin.c:624
-msgid ""
-"lpadmin: Unable to set the printer description:\n"
-"         You must specify a printer name first\n"
+#: systemv/lpadmin.c:1245
+#, c-format
+msgid "lpadmin: Unable to open PPD file \"%s\" - %s"
 msgstr ""
 
-#: systemv/lpadmin.c:686
+#: systemv/lpadmin.c:342
 msgid ""
-"lpadmin: Unable to set the printer location:\n"
-"         You must specify a printer name first\n"
+"lpadmin: Unable to remove a printer from the class:\n"
+"         You must specify a printer name first."
 msgstr ""
 
-#: systemv/lpadmin.c:793
+#: systemv/lpadmin.c:605
 msgid ""
 "lpadmin: Unable to set the printer options:\n"
-"         You must specify a printer name first\n"
+"         You must specify a printer name first."
 msgstr ""
 
-#: systemv/lpadmin.c:508
+#: systemv/lpadmin.c:423
 #, c-format
-msgid "lpadmin: Unknown allow/deny option \"%s\"\n"
+msgid "lpadmin: Unknown allow/deny option \"%s\"."
 msgstr ""
 
-#: systemv/lpadmin.c:766
+#: systemv/lpadmin.c:578
 #, c-format
-msgid "lpadmin: Unknown argument '%s'\n"
+msgid "lpadmin: Unknown argument \"%s\"."
 msgstr ""
 
-#: systemv/lpadmin.c:761
+#: systemv/lpadmin.c:573
 #, c-format
-msgid "lpadmin: Unknown option '%c'\n"
+msgid "lpadmin: Unknown option \"%c\"."
 msgstr ""
 
-#: systemv/lpadmin.c:665
-msgid "lpadmin: Warning - content type list ignored\n"
+#: systemv/lpadmin.c:529
+msgid "lpadmin: Warning - content type list ignored."
 msgstr ""
 
-#: berkeley/lpc.c:81 berkeley/lpc.c:109 berkeley/lpc.c:145
+#: berkeley/lpc.c:76 berkeley/lpc.c:104 berkeley/lpc.c:140
 msgid "lpc> "
 msgstr ""
 
-#: systemv/lpinfo.c:143
-msgid "lpinfo: Expected 1284 device ID string after --device-id\n"
+#: systemv/lpinfo.c:137
+msgid "lpinfo: Expected 1284 device ID string after \"--device-id\"."
 msgstr ""
 
-#: systemv/lpinfo.c:196
-msgid "lpinfo: Expected language after --language\n"
+#: systemv/lpinfo.c:190
+msgid "lpinfo: Expected language after \"--language\"."
 msgstr ""
 
-#: systemv/lpinfo.c:213
-msgid "lpinfo: Expected make and model after --make-and-model\n"
+#: systemv/lpinfo.c:207
+msgid "lpinfo: Expected make and model after \"--make-and-model\"."
 msgstr ""
 
-#: systemv/lpinfo.c:230
-msgid "lpinfo: Expected product string after --product\n"
+#: systemv/lpinfo.c:224
+msgid "lpinfo: Expected product string after \"--product\"."
 msgstr ""
 
-#: systemv/lpinfo.c:161
-msgid "lpinfo: Expected scheme list after --exclude-schemes\n"
+#: systemv/lpinfo.c:155
+msgid "lpinfo: Expected scheme list after \"--exclude-schemes\"."
 msgstr ""
 
-#: systemv/lpinfo.c:179
-msgid "lpinfo: Expected scheme list after --include-schemes\n"
+#: systemv/lpinfo.c:173
+msgid "lpinfo: Expected scheme list after \"--include-schemes\"."
 msgstr ""
 
-#: systemv/lpinfo.c:247
-msgid "lpinfo: Expected timeout after --timeout\n"
+#: systemv/lpinfo.c:241
+msgid "lpinfo: Expected timeout after \"--timeout\"."
 msgstr ""
 
-#: systemv/lpinfo.c:270
+#: systemv/lpinfo.c:265
 #, c-format
-msgid "lpinfo: Unknown argument '%s'\n"
+msgid "lpinfo: Unknown argument \"%s\"."
 msgstr ""
 
-#: systemv/lpinfo.c:264
+#: systemv/lpinfo.c:259
 #, c-format
-msgid "lpinfo: Unknown option '%c'\n"
+msgid "lpinfo: Unknown option \"%c\"."
 msgstr ""
 
-#: systemv/lpinfo.c:257
+#: systemv/lpinfo.c:252
 #, c-format
-msgid "lpinfo: Unknown option '%s'\n"
+msgid "lpinfo: Unknown option \"%s\"."
 msgstr ""
 
-#: systemv/lpmove.c:141
+#: systemv/lpmove.c:133
 #, c-format
-msgid "lpmove: Unable to connect to server: %s\n"
+msgid "lpmove: Unable to connect to server: %s"
 msgstr ""
 
-#: systemv/lpmove.c:125
+#: systemv/lpmove.c:119
 #, c-format
-msgid "lpmove: Unknown argument '%s'\n"
+msgid "lpmove: Unknown argument \"%s\"."
 msgstr ""
 
-#: systemv/lpmove.c:103
+#: systemv/lpmove.c:97
 #, c-format
-msgid "lpmove: Unknown option '%c'\n"
+msgid "lpmove: Unknown option \"%c\"."
 msgstr ""
 
-#: systemv/lpoptions.c:154 systemv/lpoptions.c:172 systemv/lpoptions.c:248
-msgid "lpoptions: No printers\n"
+#: systemv/lpoptions.c:150 systemv/lpoptions.c:168 systemv/lpoptions.c:244
+msgid "lpoptions: No printers."
 msgstr ""
 
-#: systemv/lpoptions.c:223
+#: systemv/lpoptions.c:219
 #, c-format
-msgid "lpoptions: Unable to add printer or instance: %s\n"
+msgid "lpoptions: Unable to add printer or instance: %s"
 msgstr ""
 
-#: systemv/lpoptions.c:507
+#: systemv/lpoptions.c:521
 #, c-format
-msgid "lpoptions: Unable to get PPD file for %s: %s\n"
+msgid "lpoptions: Unable to get PPD file for %s: %s"
 msgstr ""
 
-#: systemv/lpoptions.c:516
+#: systemv/lpoptions.c:529
 #, c-format
-msgid "lpoptions: Unable to open PPD file for %s\n"
+msgid "lpoptions: Unable to open PPD file for %s."
 msgstr ""
 
-#: systemv/lpoptions.c:104
-msgid "lpoptions: Unknown printer or class\n"
+#: systemv/lpoptions.c:99
+msgid "lpoptions: Unknown printer or class."
 msgstr ""
 
-#: systemv/lppasswd.c:178
-msgid "lppasswd: Only root can add or delete passwords\n"
+#: systemv/lppasswd.c:173
+msgid "lppasswd: Only root can add or delete passwords."
 msgstr ""
 
-#: systemv/lppasswd.c:309
-msgid "lppasswd: Password file busy\n"
+#: systemv/lppasswd.c:302
+msgid "lppasswd: Password file busy."
 msgstr ""
 
-#: systemv/lppasswd.c:442
-msgid "lppasswd: Password file not updated\n"
+#: systemv/lppasswd.c:431
+msgid "lppasswd: Password file not updated."
 msgstr ""
 
-#: systemv/lppasswd.c:409
-msgid "lppasswd: Sorry, password doesn't match\n"
+#: systemv/lppasswd.c:398
+msgid "lppasswd: Sorry, password doesn't match."
 msgstr ""
 
-#: systemv/lppasswd.c:259
-msgid ""
-"lppasswd: Sorry, password rejected.\n"
-"Your password must be at least 6 characters long, cannot contain\n"
-"your username, and must contain at least one letter and number.\n"
+#: systemv/lppasswd.c:253
+msgid "lppasswd: Sorry, password rejected."
 msgstr ""
 
-#: systemv/lppasswd.c:235
-msgid "lppasswd: Sorry, passwords don't match\n"
+#: systemv/lppasswd.c:230
+msgid "lppasswd: Sorry, passwords don't match."
 msgstr ""
 
-#: systemv/lppasswd.c:204 systemv/lppasswd.c:223
+#: systemv/lppasswd.c:199 systemv/lppasswd.c:218
 #, c-format
-msgid "lppasswd: Unable to copy password string: %s\n"
+msgid "lppasswd: Unable to copy password string: %s"
 msgstr ""
 
-#: systemv/lppasswd.c:312 systemv/lppasswd.c:321 systemv/lppasswd.c:339
+#: systemv/lppasswd.c:304 systemv/lppasswd.c:312 systemv/lppasswd.c:329
 #, c-format
-msgid "lppasswd: Unable to open password file: %s\n"
+msgid "lppasswd: Unable to open password file: %s"
 msgstr ""
 
-#: systemv/lppasswd.c:374 systemv/lppasswd.c:387 systemv/lppasswd.c:419
+#: systemv/lppasswd.c:364 systemv/lppasswd.c:377 systemv/lppasswd.c:408
 #, c-format
-msgid "lppasswd: Unable to write to password file: %s\n"
+msgid "lppasswd: Unable to write to password file: %s"
 msgstr ""
 
-#: systemv/lppasswd.c:457
+#: systemv/lppasswd.c:446
 #, c-format
-msgid "lppasswd: failed to backup old password file: %s\n"
+msgid "lppasswd: failed to backup old password file: %s"
 msgstr ""
 
-#: systemv/lppasswd.c:470
+#: systemv/lppasswd.c:458
 #, c-format
-msgid "lppasswd: failed to rename password file: %s\n"
+msgid "lppasswd: failed to rename password file: %s"
 msgstr ""
 
-#: systemv/lppasswd.c:399
+#: systemv/lppasswd.c:389
 #, c-format
-msgid "lppasswd: user \"%s\" and group \"%s\" do not exist.\n"
+msgid "lppasswd: user \"%s\" and group \"%s\" do not exist."
 msgstr ""
 
 #: systemv/lpstat.c:1036
 #, c-format
-msgid "lpstat: error - %s environment variable names non-existent destination \"%s\"\n"
+msgid "lpstat: error - %s environment variable names non-existent destination \"%s\"."
 msgstr ""
 
-#: systemv/lpstat.c:966
+#: systemv/lpstat.c:967
 #, c-format
-msgid "members of class %s:\n"
+msgid "members of class %s:"
 msgstr ""
 
-#: berkeley/lpq.c:590
-msgid "no entries\n"
+#: berkeley/lpq.c:581
+msgid "no entries"
 msgstr ""
 
 #: systemv/lpstat.c:1040
-msgid "no system default destination\n"
+msgid "no system default destination"
 msgstr ""
 
-#: scheduler/ipp.c:6292
+#: scheduler/ipp.c:6578
 msgid "notify-events not specified"
 msgstr ""
 
-#: scheduler/ipp.c:2117 scheduler/ipp.c:6197
+#: scheduler/ipp.c:2183 scheduler/ipp.c:6483
 #, c-format
 msgid "notify-recipient-uri URI \"%s\" is already used"
 msgstr ""
 
-#: scheduler/ipp.c:2107 scheduler/ipp.c:6187
+#: scheduler/ipp.c:2173 scheduler/ipp.c:6473
 #, c-format
 msgid "notify-recipient-uri URI \"%s\" uses unknown scheme"
 msgstr ""
 
-#: scheduler/ipp.c:4168 scheduler/ipp.c:7148 scheduler/ipp.c:7854
-#: scheduler/ipp.c:9326
+#: scheduler/ipp.c:4332 scheduler/ipp.c:7569 scheduler/ipp.c:8279
+#: scheduler/ipp.c:9768
 #, c-format
 msgid "notify-subscription-id %d no good"
 msgstr ""
@@ -6302,496 +6309,526 @@ msgstr ""
 
 #: ppdc/ppdc.cxx:113 ppdc/ppdpo.cxx:93
 #, c-format
-msgid "ppdc: Adding include directory \"%s\"...\n"
+msgid "ppdc: Adding include directory \"%s\"."
 msgstr ""
 
-#: ppdc/ppdpo.cxx:135
+#: ppdc/ppdpo.cxx:134
 #, c-format
-msgid "ppdc: Adding/updating UI text from %s...\n"
+msgid "ppdc: Adding/updating UI text from %s."
 msgstr ""
 
-#: ppdc/ppdc-source.cxx:413
+#: ppdc/ppdc-source.cxx:412
 #, c-format
-msgid "ppdc: Bad boolean value (%s) on line %d of %s.\n"
+msgid "ppdc: Bad boolean value (%s) on line %d of %s."
 msgstr ""
 
-#: ppdc/ppdc-source.cxx:1798
+#: ppdc/ppdc-import.cxx:264
 #, c-format
-msgid "ppdc: Bad resolution name \"%s\" on line %d of %s\n"
+msgid "ppdc: Bad font attribute: %s"
 msgstr ""
 
-#: ppdc/ppdc-source.cxx:1116
+#: ppdc/ppdc-source.cxx:1797
 #, c-format
-msgid "ppdc: Bad status keyword %s on line %d of %s\n"
+msgid "ppdc: Bad resolution name \"%s\" on line %d of %s."
 msgstr ""
 
-#: ppdc/ppdc-source.cxx:2035
+#: ppdc/ppdc-source.cxx:1115
 #, c-format
-msgid "ppdc: Bad variable substitution ($%c) on line %d of %s.\n"
+msgid "ppdc: Bad status keyword %s on line %d of %s."
 msgstr ""
 
-#: ppdc/ppdc-source.cxx:2711
+#: ppdc/ppdc-source.cxx:2034
 #, c-format
-msgid "ppdc: Choice found on line %d of %s with no Option\n"
+msgid "ppdc: Bad variable substitution ($%c) on line %d of %s."
 msgstr ""
 
-#: ppdc/ppdc-source.cxx:1700
+#: ppdc/ppdc-source.cxx:2710
 #, c-format
-msgid "ppdc: Duplicate #po for locale %s on line %d of %s\n"
+msgid "ppdc: Choice found on line %d of %s with no Option."
 msgstr ""
 
-#: ppdc/ppdc-source.cxx:935
+#: ppdc/ppdc-source.cxx:1699
 #, c-format
-msgid "ppdc: Expected a filter definition on line %d of %s\n"
+msgid "ppdc: Duplicate #po for locale %s on line %d of %s."
 msgstr ""
 
-#: ppdc/ppdc-source.cxx:958
+#: ppdc/ppdc-source.cxx:934
 #, c-format
-msgid "ppdc: Expected a program name on line %d of %s\n"
+msgid "ppdc: Expected a filter definition on line %d of %s."
 msgstr ""
 
-#: ppdc/ppdc-source.cxx:397
+#: ppdc/ppdc-source.cxx:957
 #, c-format
-msgid "ppdc: Expected boolean value on line %d of %s.\n"
+msgid "ppdc: Expected a program name on line %d of %s."
 msgstr ""
 
-#: ppdc/ppdc-source.cxx:1096
+#: ppdc/ppdc-source.cxx:396
 #, c-format
-msgid "ppdc: Expected charset after Font on line %d of %s\n"
+msgid "ppdc: Expected boolean value on line %d of %s."
 msgstr ""
 
-#: ppdc/ppdc-source.cxx:450
+#: ppdc/ppdc-source.cxx:1095
 #, c-format
-msgid "ppdc: Expected choice code on line %d of %s.\n"
+msgid "ppdc: Expected charset after Font on line %d of %s."
 msgstr ""
 
-#: ppdc/ppdc-source.cxx:438
+#: ppdc/ppdc-source.cxx:449
 #, c-format
-msgid "ppdc: Expected choice name/text on line %d of %s.\n"
+msgid "ppdc: Expected choice code on line %d of %s."
 msgstr ""
 
-#: ppdc/ppdc-source.cxx:506
+#: ppdc/ppdc-source.cxx:437
 #, c-format
-msgid "ppdc: Expected color order for ColorModel on line %d of %s\n"
+msgid "ppdc: Expected choice name/text on line %d of %s."
 msgstr ""
 
-#: ppdc/ppdc-source.cxx:495
+#: ppdc/ppdc-source.cxx:505
 #, c-format
-msgid "ppdc: Expected colorspace for ColorModel on line %d of %s\n"
+msgid "ppdc: Expected color order for ColorModel on line %d of %s."
 msgstr ""
 
-#: ppdc/ppdc-source.cxx:517
+#: ppdc/ppdc-source.cxx:494
 #, c-format
-msgid "ppdc: Expected compression for ColorModel on line %d of %s\n"
+msgid "ppdc: Expected colorspace for ColorModel on line %d of %s."
 msgstr ""
 
-#: ppdc/ppdc-source.cxx:698
+#: ppdc/ppdc-source.cxx:516
 #, c-format
-msgid "ppdc: Expected constraints string for UIConstraints on line %d of %s\n"
+msgid "ppdc: Expected compression for ColorModel on line %d of %s."
 msgstr ""
 
-#: ppdc/ppdc-source.cxx:2897
+#: ppdc/ppdc-source.cxx:697
 #, c-format
-msgid "ppdc: Expected driver type keyword following DriverType on line %d of %s\n"
+msgid "ppdc: Expected constraints string for UIConstraints on line %d of %s."
 msgstr ""
 
-#: ppdc/ppdc-source.cxx:829
+#: ppdc/ppdc-source.cxx:2896
 #, c-format
-msgid "ppdc: Expected duplex type after Duplex on line %d of %s\n"
+msgid "ppdc: Expected driver type keyword following DriverType on line %d of %s."
 msgstr ""
 
-#: ppdc/ppdc-source.cxx:1080
+#: ppdc/ppdc-source.cxx:828
 #, c-format
-msgid "ppdc: Expected encoding after Font on line %d of %s\n"
+msgid "ppdc: Expected duplex type after Duplex on line %d of %s."
 msgstr ""
 
-#: ppdc/ppdc-source.cxx:1691
+#: ppdc/ppdc-source.cxx:1079
 #, c-format
-msgid "ppdc: Expected filename after #po %s on line %d of %s\n"
+msgid "ppdc: Expected encoding after Font on line %d of %s."
 msgstr ""
 
-#: ppdc/ppdc-source.cxx:1208
+#: ppdc/ppdc-source.cxx:1690
 #, c-format
-msgid "ppdc: Expected group name/text on line %d of %s\n"
+msgid "ppdc: Expected filename after #po %s on line %d of %s."
 msgstr ""
 
-#: ppdc/ppdc-source.cxx:2611
+#: ppdc/ppdc-source.cxx:1207
 #, c-format
-msgid "ppdc: Expected include filename on line %d of %s\n"
+msgid "ppdc: Expected group name/text on line %d of %s."
 msgstr ""
 
-#: ppdc/ppdc-source.cxx:1504
+#: ppdc/ppdc-source.cxx:2610
 #, c-format
-msgid "ppdc: Expected integer on line %d of %s\n"
+msgid "ppdc: Expected include filename on line %d of %s."
 msgstr ""
 
-#: ppdc/ppdc-source.cxx:1683
+#: ppdc/ppdc-source.cxx:1503
 #, c-format
-msgid "ppdc: Expected locale after #po on line %d of %s\n"
+msgid "ppdc: Expected integer on line %d of %s."
 msgstr ""
 
-#: ppdc/ppdc-source.cxx:356
+#: ppdc/ppdc-source.cxx:1682
 #, c-format
-msgid "ppdc: Expected name after %s on line %d of %s\n"
+msgid "ppdc: Expected locale after #po on line %d of %s."
 msgstr ""
 
-#: ppdc/ppdc-source.cxx:3269
+#: ppdc/ppdc-source.cxx:355
 #, c-format
-msgid "ppdc: Expected name after FileName on line %d of %s\n"
+msgid "ppdc: Expected name after %s on line %d of %s."
 msgstr ""
 
-#: ppdc/ppdc-source.cxx:1061
+#: ppdc/ppdc-source.cxx:3268
 #, c-format
-msgid "ppdc: Expected name after Font on line %d of %s\n"
+msgid "ppdc: Expected name after FileName on line %d of %s."
 msgstr ""
 
-#: ppdc/ppdc-source.cxx:3100
+#: ppdc/ppdc-source.cxx:1060
 #, c-format
-msgid "ppdc: Expected name after Manufacturer on line %d of %s\n"
+msgid "ppdc: Expected name after Font on line %d of %s."
 msgstr ""
 
-#: ppdc/ppdc-source.cxx:3133
+#: ppdc/ppdc-source.cxx:3099
 #, c-format
-msgid "ppdc: Expected name after MediaSize on line %d of %s\n"
+msgid "ppdc: Expected name after Manufacturer on line %d of %s."
 msgstr ""
 
-#: ppdc/ppdc-source.cxx:3223
+#: ppdc/ppdc-source.cxx:3132
 #, c-format
-msgid "ppdc: Expected name after ModelName on line %d of %s\n"
+msgid "ppdc: Expected name after MediaSize on line %d of %s."
 msgstr ""
 
-#: ppdc/ppdc-source.cxx:3286
+#: ppdc/ppdc-source.cxx:3222
 #, c-format
-msgid "ppdc: Expected name after PCFileName on line %d of %s\n"
+msgid "ppdc: Expected name after ModelName on line %d of %s."
 msgstr ""
 
-#: ppdc/ppdc-source.cxx:1159
+#: ppdc/ppdc-source.cxx:3285
 #, c-format
-msgid "ppdc: Expected name/text after %s on line %d of %s\n"
+msgid "ppdc: Expected name after PCFileName on line %d of %s."
 msgstr ""
 
-#: ppdc/ppdc-source.cxx:1248
+#: ppdc/ppdc-source.cxx:1158
 #, c-format
-msgid "ppdc: Expected name/text after Installable on line %d of %s\n"
+msgid "ppdc: Expected name/text after %s on line %d of %s."
 msgstr ""
 
-#: ppdc/ppdc-source.cxx:1784
+#: ppdc/ppdc-source.cxx:1247
 #, c-format
-msgid "ppdc: Expected name/text after Resolution on line %d of %s\n"
+msgid "ppdc: Expected name/text after Installable on line %d of %s."
 msgstr ""
 
-#: ppdc/ppdc-source.cxx:482
+#: ppdc/ppdc-source.cxx:1783
 #, c-format
-msgid "ppdc: Expected name/text combination for ColorModel on line %d of %s\n"
+msgid "ppdc: Expected name/text after Resolution on line %d of %s."
 msgstr ""
 
-#: ppdc/ppdc-source.cxx:1576
+#: ppdc/ppdc-source.cxx:481
 #, c-format
-msgid "ppdc: Expected option name/text on line %d of %s\n"
+msgid "ppdc: Expected name/text combination for ColorModel on line %d of %s."
 msgstr ""
 
-#: ppdc/ppdc-source.cxx:1610
+#: ppdc/ppdc-source.cxx:1575
 #, c-format
-msgid "ppdc: Expected option section on line %d of %s\n"
+msgid "ppdc: Expected option name/text on line %d of %s."
 msgstr ""
 
-#: ppdc/ppdc-source.cxx:1588
+#: ppdc/ppdc-source.cxx:1609
 #, c-format
-msgid "ppdc: Expected option type on line %d of %s\n"
+msgid "ppdc: Expected option section on line %d of %s."
 msgstr ""
 
-#: ppdc/ppdc-source.cxx:1767
+#: ppdc/ppdc-source.cxx:1587
 #, c-format
-msgid "ppdc: Expected override field after Resolution on line %d of %s\n"
+msgid "ppdc: Expected option type on line %d of %s."
 msgstr ""
 
-#: ppdc/ppdc-source.cxx:1007
+#: ppdc/ppdc-source.cxx:1766
 #, c-format
-msgid "ppdc: Expected real number on line %d of %s\n"
+msgid "ppdc: Expected override field after Resolution on line %d of %s."
 msgstr ""
 
-#: ppdc/ppdc-source.cxx:575
+#: ppdc/ppdc-catalog.cxx:341 ppdc/ppdc-catalog.cxx:353
+#, c-format
+msgid "ppdc: Expected quoted string on line %d of %s."
+msgstr ""
+
+#: ppdc/ppdc-source.cxx:1006
 #, c-format
-msgid "ppdc: Expected resolution/mediatype following ColorProfile on line %d of %s\n"
+msgid "ppdc: Expected real number on line %d of %s."
 msgstr ""
 
-#: ppdc/ppdc-source.cxx:1865
+#: ppdc/ppdc-source.cxx:574
 #, c-format
-msgid "ppdc: Expected resolution/mediatype following SimpleColorProfile on line %d of %s\n"
+msgid "ppdc: Expected resolution/mediatype following ColorProfile on line %d of %s."
 msgstr ""
 
-#: ppdc/ppdc-source.cxx:364
+#: ppdc/ppdc-source.cxx:1864
 #, c-format
-msgid "ppdc: Expected selector after %s on line %d of %s\n"
+msgid "ppdc: Expected resolution/mediatype following SimpleColorProfile on line %d of %s."
 msgstr ""
 
-#: ppdc/ppdc-source.cxx:1104
+#: ppdc/ppdc-source.cxx:363
 #, c-format
-msgid "ppdc: Expected status after Font on line %d of %s\n"
+msgid "ppdc: Expected selector after %s on line %d of %s."
 msgstr ""
 
-#: ppdc/ppdc-source.cxx:2786
+#: ppdc/ppdc-source.cxx:1103
 #, c-format
-msgid "ppdc: Expected string after Copyright on line %d of %s\n"
+msgid "ppdc: Expected status after Font on line %d of %s."
 msgstr ""
 
-#: ppdc/ppdc-source.cxx:3389
+#: ppdc/ppdc-source.cxx:2785
 #, c-format
-msgid "ppdc: Expected string after Version on line %d of %s\n"
+msgid "ppdc: Expected string after Copyright on line %d of %s."
 msgstr ""
 
-#: ppdc/ppdc-source.cxx:731
+#: ppdc/ppdc-source.cxx:3388
 #, c-format
-msgid "ppdc: Expected two option names on line %d of %s\n"
+msgid "ppdc: Expected string after Version on line %d of %s."
 msgstr ""
 
-#: ppdc/ppdc-source.cxx:375
+#: ppdc/ppdc-source.cxx:730
 #, c-format
-msgid "ppdc: Expected value after %s on line %d of %s\n"
+msgid "ppdc: Expected two option names on line %d of %s."
 msgstr ""
 
-#: ppdc/ppdc-source.cxx:1088
+#: ppdc/ppdc-source.cxx:374
 #, c-format
-msgid "ppdc: Expected version after Font on line %d of %s\n"
+msgid "ppdc: Expected value after %s on line %d of %s."
 msgstr ""
 
-#: ppdc/ppdc-source.cxx:230
+#: ppdc/ppdc-source.cxx:1087
 #, c-format
-msgid "ppdc: Invalid #include/#po filename \"%s\"\n"
+msgid "ppdc: Expected version after Font on line %d of %s."
 msgstr ""
 
-#: ppdc/ppdc-source.cxx:975
+#: ppdc/ppdc-source.cxx:229
 #, c-format
-msgid "ppdc: Invalid cost for filter on line %d of %s\n"
+msgid "ppdc: Invalid #include/#po filename \"%s\"."
 msgstr ""
 
-#: ppdc/ppdc-source.cxx:967
+#: ppdc/ppdc-source.cxx:974
 #, c-format
-msgid "ppdc: Invalid empty MIME type for filter on line %d of %s\n"
+msgid "ppdc: Invalid cost for filter on line %d of %s."
 msgstr ""
 
-#: ppdc/ppdc-source.cxx:983
+#: ppdc/ppdc-source.cxx:966
 #, c-format
-msgid "ppdc: Invalid empty program name for filter on line %d of %s\n"
+msgid "ppdc: Invalid empty MIME type for filter on line %d of %s."
 msgstr ""
 
-#: ppdc/ppdc-source.cxx:1630
+#: ppdc/ppdc-source.cxx:982
 #, c-format
-msgid "ppdc: Invalid option section \"%s\" on line %d of %s\n"
+msgid "ppdc: Invalid empty program name for filter on line %d of %s."
 msgstr ""
 
-#: ppdc/ppdc-source.cxx:1602
+#: ppdc/ppdc-source.cxx:1629
 #, c-format
-msgid "ppdc: Invalid option type \"%s\" on line %d of %s\n"
+msgid "ppdc: Invalid option section \"%s\" on line %d of %s."
+msgstr ""
+
+#: ppdc/ppdc-source.cxx:1601
+#, c-format
+msgid "ppdc: Invalid option type \"%s\" on line %d of %s."
 msgstr ""
 
 #: ppdc/ppdc.cxx:251 ppdc/ppdpo.cxx:123
 #, c-format
-msgid "ppdc: Loading driver information file \"%s\"...\n"
+msgid "ppdc: Loading driver information file \"%s\"."
 msgstr ""
 
 #: ppdc/ppdc.cxx:187
 #, c-format
-msgid "ppdc: Loading messages for locale \"%s\"...\n"
+msgid "ppdc: Loading messages for locale \"%s\"."
 msgstr ""
 
 #: ppdc/ppdc.cxx:126
 #, c-format
-msgid "ppdc: Loading messages from \"%s\"...\n"
+msgid "ppdc: Loading messages from \"%s\"."
+msgstr ""
+
+#: ppdc/ppdc-source.cxx:2403 ppdc/ppdc-source.cxx:2635
+#, c-format
+msgid "ppdc: Missing #endif at end of \"%s\"."
 msgstr ""
 
-#: ppdc/ppdc-source.cxx:2404 ppdc/ppdc-source.cxx:2636
+#: ppdc/ppdc-source.cxx:2504 ppdc/ppdc-source.cxx:2539
+#: ppdc/ppdc-source.cxx:2569
 #, c-format
-msgid "ppdc: Missing #endif at end of \"%s\"\n"
+msgid "ppdc: Missing #if on line %d of %s."
 msgstr ""
 
-#: ppdc/ppdc-source.cxx:2505 ppdc/ppdc-source.cxx:2540
-#: ppdc/ppdc-source.cxx:2570
+#: ppdc/ppdc-catalog.cxx:418
 #, c-format
-msgid "ppdc: Missing #if on line %d of %s\n"
+msgid "ppdc: Need a msgid line before any translation strings on line %d of %s."
 msgstr ""
 
-#: ppdc/ppdc-driver.cxx:731
+#: ppdc/ppdc-driver.cxx:730
 #, c-format
-msgid "ppdc: No message catalog provided for locale %s\n"
+msgid "ppdc: No message catalog provided for locale %s."
 msgstr ""
 
-#: ppdc/ppdc-source.cxx:1653 ppdc/ppdc-source.cxx:2874
-#: ppdc/ppdc-source.cxx:2960 ppdc/ppdc-source.cxx:3053
-#: ppdc/ppdc-source.cxx:3186 ppdc/ppdc-source.cxx:3319
+#: ppdc/ppdc-source.cxx:1652 ppdc/ppdc-source.cxx:2873
+#: ppdc/ppdc-source.cxx:2959 ppdc/ppdc-source.cxx:3052
+#: ppdc/ppdc-source.cxx:3185 ppdc/ppdc-source.cxx:3318
 #, c-format
-msgid "ppdc: Option %s defined in two different groups on line %d of %s\n"
+msgid "ppdc: Option %s defined in two different groups on line %d of %s."
 msgstr ""
 
-#: ppdc/ppdc-source.cxx:1646
+#: ppdc/ppdc-source.cxx:1645
 #, c-format
-msgid "ppdc: Option %s redefined with a different type on line %d of %s\n"
+msgid "ppdc: Option %s redefined with a different type on line %d of %s."
 msgstr ""
 
-#: ppdc/ppdc-source.cxx:708
+#: ppdc/ppdc-source.cxx:707
 #, c-format
-msgid "ppdc: Option constraint must *name on line %d of %s\n"
+msgid "ppdc: Option constraint must *name on line %d of %s."
 msgstr ""
 
-#: ppdc/ppdc-source.cxx:2487
+#: ppdc/ppdc-source.cxx:2486
 #, c-format
-msgid "ppdc: Too many nested #if's on line %d of %s\n"
+msgid "ppdc: Too many nested #if's on line %d of %s."
 msgstr ""
 
-#: ppdc/ppdc.cxx:375
+#: ppdc/ppdc.cxx:374
 #, c-format
-msgid "ppdc: Unable to create PPD file \"%s\" - %s.\n"
+msgid "ppdc: Unable to create PPD file \"%s\" - %s."
 msgstr ""
 
 #: ppdc/ppdc.cxx:266
 #, c-format
-msgid "ppdc: Unable to create output directory %s: %s\n"
+msgid "ppdc: Unable to create output directory %s: %s"
 msgstr ""
 
 #: ppdc/ppdc.cxx:287
 #, c-format
-msgid "ppdc: Unable to create output pipes: %s\n"
+msgid "ppdc: Unable to create output pipes: %s"
 msgstr ""
 
-#: ppdc/ppdc.cxx:303 ppdc/ppdc.cxx:310
+#: ppdc/ppdc.cxx:303 ppdc/ppdc.cxx:309
 #, c-format
-msgid "ppdc: Unable to execute cupstestppd: %s\n"
+msgid "ppdc: Unable to execute cupstestppd: %s"
 msgstr ""
 
-#: ppdc/ppdc-source.cxx:1732
+#: ppdc/ppdc-source.cxx:1731
 #, c-format
-msgid "ppdc: Unable to find #po file %s on line %d of %s\n"
+msgid "ppdc: Unable to find #po file %s on line %d of %s."
 msgstr ""
 
-#: ppdc/ppdc-source.cxx:2643
+#: ppdc/ppdc-source.cxx:2642
 #, c-format
-msgid "ppdc: Unable to find include file \"%s\" on line %d of %s\n"
+msgid "ppdc: Unable to find include file \"%s\" on line %d of %s."
 msgstr ""
 
 #: ppdc/ppdc.cxx:198
 #, c-format
-msgid "ppdc: Unable to find localization for \"%s\" - %s\n"
+msgid "ppdc: Unable to find localization for \"%s\" - %s"
 msgstr ""
 
 #: ppdc/ppdc.cxx:135
 #, c-format
-msgid "ppdc: Unable to load localization file \"%s\" - %s\n"
+msgid "ppdc: Unable to load localization file \"%s\" - %s"
+msgstr ""
+
+#: ppdc/ppdc-file.cxx:49
+#, c-format
+msgid "ppdc: Unable to open %s: %s"
+msgstr ""
+
+#: ppdc/ppdc-source.cxx:2055
+#, c-format
+msgid "ppdc: Undefined variable (%s) on line %d of %s."
+msgstr ""
+
+#: ppdc/ppdc-catalog.cxx:435
+#, c-format
+msgid "ppdc: Unexpected text on line %d of %s."
 msgstr ""
 
-#: ppdc/ppdc-source.cxx:2056
+#: ppdc/ppdc-source.cxx:2915
 #, c-format
-msgid "ppdc: Undefined variable (%s) on line %d of %s.\n"
+msgid "ppdc: Unknown driver type %s on line %d of %s."
 msgstr ""
 
-#: ppdc/ppdc-source.cxx:2916
+#: ppdc/ppdc-source.cxx:908
 #, c-format
-msgid "ppdc: Unknown driver type %s on line %d of %s\n"
+msgid "ppdc: Unknown duplex type \"%s\" on line %d of %s."
 msgstr ""
 
-#: ppdc/ppdc-source.cxx:909
+#: ppdc/ppdc-source.cxx:3145
 #, c-format
-msgid "ppdc: Unknown duplex type \"%s\" on line %d of %s\n"
+msgid "ppdc: Unknown media size \"%s\" on line %d of %s."
 msgstr ""
 
-#: ppdc/ppdc-source.cxx:3146
+#: ppdc/ppdc-catalog.cxx:463
 #, c-format
-msgid "ppdc: Unknown media size \"%s\" on line %d of %s\n"
+msgid "ppdc: Unknown message catalog format for \"%s\"."
 msgstr ""
 
-#: ppdc/ppdc-source.cxx:3400
+#: ppdc/ppdc-source.cxx:3399
 #, c-format
-msgid "ppdc: Unknown token \"%s\" seen on line %d of %s\n"
+msgid "ppdc: Unknown token \"%s\" seen on line %d of %s."
 msgstr ""
 
-#: ppdc/ppdc-source.cxx:1017
+#: ppdc/ppdc-source.cxx:1016
 #, c-format
-msgid "ppdc: Unknown trailing characters in real number \"%s\" on line %d of %s\n"
+msgid "ppdc: Unknown trailing characters in real number \"%s\" on line %d of %s."
 msgstr ""
 
-#: ppdc/ppdc-source.cxx:2166
+#: ppdc/ppdc-source.cxx:2165
 #, c-format
-msgid "ppdc: Unterminated string starting with %c on line %d of %s\n"
+msgid "ppdc: Unterminated string starting with %c on line %d of %s."
 msgstr ""
 
-#: ppdc/ppdc.cxx:366
+#: ppdc/ppdc.cxx:365
 #, c-format
-msgid "ppdc: Warning - overlapping filename \"%s\".\n"
+msgid "ppdc: Warning - overlapping filename \"%s\"."
 msgstr ""
 
-#: ppdc/ppdc.cxx:381
+#: ppdc/ppdc.cxx:380
 #, c-format
-msgid "ppdc: Writing %s...\n"
+msgid "ppdc: Writing %s."
 msgstr ""
 
 #: ppdc/ppdc.cxx:148
 #, c-format
-msgid "ppdc: Writing PPD files to directory \"%s\"...\n"
+msgid "ppdc: Writing PPD files to directory \"%s\"."
 msgstr ""
 
-#: ppdc/ppdmerge.cxx:138
+#: ppdc/ppdmerge.cxx:136
 #, c-format
-msgid "ppdmerge: Bad LanguageVersion \"%s\" in %s\n"
+msgid "ppdmerge: Bad LanguageVersion \"%s\" in %s."
 msgstr ""
 
-#: ppdc/ppdmerge.cxx:178
+#: ppdc/ppdmerge.cxx:176
 #, c-format
-msgid "ppdmerge: Ignoring PPD file %s...\n"
+msgid "ppdmerge: Ignoring PPD file %s."
 msgstr ""
 
-#: ppdc/ppdmerge.cxx:162
+#: ppdc/ppdmerge.cxx:160
 #, c-format
-msgid "ppdmerge: Unable to backup %s to %s- %s\n"
+msgid "ppdmerge: Unable to backup %s to %s - %s"
 msgstr ""
 
-#: systemv/lpstat.c:1763
+#: systemv/lpstat.c:1776
 #, c-format
-msgid "printer %s disabled since %s -\n"
+msgid "printer %s disabled since %s -"
 msgstr ""
 
-#: systemv/lpstat.c:1752
+#: systemv/lpstat.c:1765
 #, c-format
-msgid "printer %s is idle.  enabled since %s\n"
+msgid "printer %s is idle.  enabled since %s"
 msgstr ""
 
-#: systemv/lpstat.c:1757
+#: systemv/lpstat.c:1770
 #, c-format
-msgid "printer %s now printing %s-%d.  enabled since %s\n"
+msgid "printer %s now printing %s-%d.  enabled since %s"
 msgstr ""
 
-#: systemv/lpstat.c:1876
+#: systemv/lpstat.c:1901
 #, c-format
-msgid "printer %s/%s disabled since %s -\n"
+msgid "printer %s/%s disabled since %s -"
 msgstr ""
 
-#: systemv/lpstat.c:1862
+#: systemv/lpstat.c:1887
 #, c-format
-msgid "printer %s/%s is idle.  enabled since %s\n"
+msgid "printer %s/%s is idle.  enabled since %s"
 msgstr ""
 
-#: systemv/lpstat.c:1869
+#: systemv/lpstat.c:1894
 #, c-format
-msgid "printer %s/%s now printing %s-%d.  enabled since %s\n"
+msgid "printer %s/%s now printing %s-%d.  enabled since %s"
 msgstr ""
 
 #: cups/notify.c:93 cups/notify.c:134
 msgid "processing"
 msgstr ""
 
-#: systemv/lp.c:660
+#: systemv/lp.c:639
 #, c-format
-msgid "request id is %s-%d (%d file(s))\n"
+msgid "request id is %s-%d (%d file(s))"
 msgstr ""
 
-#: cups/snmp.c:1027
+#: cups/snmp.c:1025
 msgid "request-id uses indefinite length"
 msgstr ""
 
-#: systemv/lpstat.c:2004
-msgid "scheduler is not running\n"
+#: systemv/lpstat.c:2040
+msgid "scheduler is not running"
 msgstr ""
 
-#: systemv/lpstat.c:2000
-msgid "scheduler is running\n"
+#: systemv/lpstat.c:2036
+msgid "scheduler is running"
 msgstr ""
 
 #: cups/adminutil.c:2274
@@ -6799,8 +6836,8 @@ msgstr ""
 msgid "stat of %s failed: %s"
 msgstr ""
 
-#: berkeley/lpc.c:216
-msgid "status\t\tshow status of daemon and queue\n"
+#: berkeley/lpc.c:211
+msgid "status\t\tShow status of daemon and queue."
 msgstr ""
 
 #: cups/notify.c:96 cups/notify.c:137
@@ -6809,12 +6846,12 @@ msgstr ""
 
 #: systemv/lpstat.c:1014
 #, c-format
-msgid "system default destination: %s\n"
+msgid "system default destination: %s"
 msgstr ""
 
 #: systemv/lpstat.c:1011
 #, c-format
-msgid "system default destination: %s/%s\n"
+msgid "system default destination: %s/%s"
 msgstr ""
 
 #: cups/notify.c:108 cups/notify.c:140
@@ -6825,7 +6862,7 @@ msgstr ""
 msgid "untitled"
 msgstr ""
 
-#: cups/snmp.c:1052
+#: cups/snmp.c:1050
 msgid "variable-bindings uses indefinite length"
 msgstr ""
 
diff --git a/locale/cups.strings b/locale/cups.strings
new file mode 100644 (file)
index 0000000..cf3cb42
--- /dev/null
@@ -0,0 +1,3036 @@
+"\t\t(all)" = "\t\t(all)";
+
+"\t\t(none)" = "\t\t(none)";
+
+"\t%d entries" = "\t%d entries";
+
+"\t%s" = "\t%s";
+
+"\tAfter fault: continue" = "\tAfter fault: continue";
+
+"\tAlerts: %s" = "\tAlerts: %s";
+
+"\tBanner required" = "\tBanner required";
+
+"\tCharset sets:" = "\tCharset sets:";
+
+"\tConnection: direct" = "\tConnection: direct";
+
+"\tConnection: remote" = "\tConnection: remote";
+
+"\tContent types: any" = "\tContent types: any";
+
+"\tDefault page size:" = "\tDefault page size:";
+
+"\tDefault pitch:" = "\tDefault pitch:";
+
+"\tDefault port settings:" = "\tDefault port settings:";
+
+"\tDescription: %s" = "\tDescription: %s";
+
+"\tForm mounted:" = "\tForm mounted:";
+
+"\tForms allowed:" = "\tForms allowed:";
+
+"\tInterface: %s.ppd" = "\tInterface: %s.ppd";
+
+"\tInterface: %s/interfaces/%s" = "\tInterface: %s/interfaces/%s";
+
+"\tInterface: %s/ppd/%s.ppd" = "\tInterface: %s/ppd/%s.ppd";
+
+"\tLocation: %s" = "\tLocation: %s";
+
+"\tOn fault: no alert" = "\tOn fault: no alert";
+
+"\tPrinter types: unknown" = "\tPrinter types: unknown";
+
+"\tUsers allowed:" = "\tUsers allowed:";
+
+"\tUsers denied:" = "\tUsers denied:";
+
+"\tdaemon present" = "\tdaemon present";
+
+"\tno entries" = "\tno entries";
+
+"\tprinter is on device '%s' speed -1" = "\tprinter is on device '%s' speed -1";
+
+"\tprinting is disabled" = "\tprinting is disabled";
+
+"\tprinting is enabled" = "\tprinting is enabled";
+
+"\tqueued for %s" = "\tqueued for %s";
+
+"\tqueuing is disabled" = "\tqueuing is disabled";
+
+"\tqueuing is enabled" = "\tqueuing is enabled";
+
+"\treason unknown" = "\treason unknown";
+
+"\n    DETAILED CONFORMANCE TEST RESULTS" = "\n    DETAILED CONFORMANCE TEST RESULTS";
+
+"                         Ignore specific warnings." = "                         Ignore specific warnings.";
+
+"                         Issue warnings instead of errors." = "                         Issue warnings instead of errors.";
+
+"                REF: Page 15, section 3.1." = "                REF: Page 15, section 3.1.";
+
+"                REF: Page 15, section 3.2." = "                REF: Page 15, section 3.2.";
+
+"                REF: Page 19, section 3.3." = "                REF: Page 19, section 3.3.";
+
+"                REF: Page 20, section 3.4." = "                REF: Page 20, section 3.4.";
+
+"                REF: Page 27, section 3.5." = "                REF: Page 27, section 3.5.";
+
+"                REF: Page 42, section 5.2." = "                REF: Page 42, section 5.2.";
+
+"                REF: Pages 16-17, section 3.2." = "                REF: Pages 16-17, section 3.2.";
+
+"                REF: Pages 42-45, section 5.2." = "                REF: Pages 42-45, section 5.2.";
+
+"                REF: Pages 45-46, section 5.2." = "                REF: Pages 45-46, section 5.2.";
+
+"                REF: Pages 48-49, section 5.2." = "                REF: Pages 48-49, section 5.2.";
+
+"                REF: Pages 52-54, section 5.2." = "                REF: Pages 52-54, section 5.2.";
+
+"        %-39.39s %.0f bytes" = "        %-39.39s %.0f bytes";
+
+"        PASS    Default%s" = "        PASS    Default%s";
+
+"        PASS    DefaultImageableArea" = "        PASS    DefaultImageableArea";
+
+"        PASS    DefaultPaperDimension" = "        PASS    DefaultPaperDimension";
+
+"        PASS    FileVersion" = "        PASS    FileVersion";
+
+"        PASS    FormatVersion" = "        PASS    FormatVersion";
+
+"        PASS    LanguageEncoding" = "        PASS    LanguageEncoding";
+
+"        PASS    LanguageVersion" = "        PASS    LanguageVersion";
+
+"        PASS    Manufacturer" = "        PASS    Manufacturer";
+
+"        PASS    ModelName" = "        PASS    ModelName";
+
+"        PASS    NickName" = "        PASS    NickName";
+
+"        PASS    PCFileName" = "        PASS    PCFileName";
+
+"        PASS    PSVersion" = "        PASS    PSVersion";
+
+"        PASS    PageRegion" = "        PASS    PageRegion";
+
+"        PASS    PageSize" = "        PASS    PageSize";
+
+"        PASS    Product" = "        PASS    Product";
+
+"        PASS    ShortNickName" = "        PASS    ShortNickName";
+
+"        WARN    \"%s %s\" conflicts with \"%s %s\"\n                (constraint=\"%s %s %s %s\")." = "        WARN    \"%s %s\" conflicts with \"%s %s\"\n                (constraint=\"%s %s %s %s\").";
+
+"        WARN    %s has no corresponding options." = "        WARN    %s has no corresponding options.";
+
+"        WARN    %s shares a common prefix with %s\n                REF: Page 15, section 3.2." = "        WARN    %s shares a common prefix with %s\n                REF: Page 15, section 3.2.";
+
+"        WARN    Default choices conflicting." = "        WARN    Default choices conflicting.";
+
+"        WARN    Duplex option keyword %s may not work as expected and should be named Duplex.\n                REF: Page 122, section 5.17" = "        WARN    Duplex option keyword %s may not work as expected and should be named Duplex.\n                REF: Page 122, section 5.17";
+
+"        WARN    File contains a mix of CR, LF, and CR LF line endings." = "        WARN    File contains a mix of CR, LF, and CR LF line endings.";
+
+"        WARN    LanguageEncoding required by PPD 4.3 spec.\n                REF: Pages 56-57, section 5.3." = "        WARN    LanguageEncoding required by PPD 4.3 spec.\n                REF: Pages 56-57, section 5.3.";
+
+"        WARN    Line %d only contains whitespace." = "        WARN    Line %d only contains whitespace.";
+
+"        WARN    Manufacturer required by PPD 4.3 spec.\n                REF: Pages 58-59, section 5.3." = "        WARN    Manufacturer required by PPD 4.3 spec.\n                REF: Pages 58-59, section 5.3.";
+
+"        WARN    Non-Windows PPD files should use lines ending with only LF, not CR LF." = "        WARN    Non-Windows PPD files should use lines ending with only LF, not CR LF.";
+
+"        WARN    Obsolete PPD version %.1f.\n                REF: Page 42, section 5.2." = "        WARN    Obsolete PPD version %.1f.\n                REF: Page 42, section 5.2.";
+
+"        WARN    PCFileName longer than 8.3 in violation of PPD spec.\n                REF: Pages 61-62, section 5.3." = "        WARN    PCFileName longer than 8.3 in violation of PPD spec.\n                REF: Pages 61-62, section 5.3.";
+
+"        WARN    PCFileName should contain a unique filename.\n                REF: Pages 61-62, section 5.3." = "        WARN    PCFileName should contain a unique filename.\n                REF: Pages 61-62, section 5.3.";
+
+"        WARN    Protocols contains PJL but JCL attributes are not set.\n                REF: Pages 78-79, section 5.7." = "        WARN    Protocols contains PJL but JCL attributes are not set.\n                REF: Pages 78-79, section 5.7.";
+
+"        WARN    Protocols contains both PJL and BCP; expected TBCP.\n                REF: Pages 78-79, section 5.7." = "        WARN    Protocols contains both PJL and BCP; expected TBCP.\n                REF: Pages 78-79, section 5.7.";
+
+"        WARN    ShortNickName required by PPD 4.3 spec.\n                REF: Pages 64-65, section 5.3." = "        WARN    ShortNickName required by PPD 4.3 spec.\n                REF: Pages 64-65, section 5.3.";
+
+"       cupsaddsmb [options] -a" = "       cupsaddsmb [options] -a";
+
+"       cupstestdsc [options] -" = "       cupstestdsc [options] -";
+
+"       program | cupstestppd [options] -" = "       program | cupstestppd [options] -";
+
+"      %s  %s %s does not exist." = "      %s  %s %s does not exist.";
+
+"      %s  %s file \"%s\" has the wrong capitalization." = "      %s  %s file \"%s\" has the wrong capitalization.";
+
+"      %s  Bad %s choice %s.\n                REF: Page 122, section 5.17" = "      %s  Bad %s choice %s.\n                REF: Page 122, section 5.17";
+
+"      %s  Bad UTF-8 \"%s\" translation string for option %s, choice %s." = "      %s  Bad UTF-8 \"%s\" translation string for option %s, choice %s.";
+
+"      %s  Bad UTF-8 \"%s\" translation string for option %s." = "      %s  Bad UTF-8 \"%s\" translation string for option %s.";
+
+"      %s  Bad cupsFilter value \"%s\"." = "      %s  Bad cupsFilter value \"%s\".";
+
+"      %s  Bad cupsICCProfile %s." = "      %s  Bad cupsICCProfile %s.";
+
+"      %s  Bad cupsPreFilter value \"%s\"." = "      %s  Bad cupsPreFilter value \"%s\".";
+
+"      %s  Bad cupsUIConstraints %s: \"%s\"" = "      %s  Bad cupsUIConstraints %s: \"%s\"";
+
+"      %s  Bad language \"%s\"." = "      %s  Bad language \"%s\".";
+
+"      %s  Bad permissions on APDialogExtension file \"%s\"." = "      %s  Bad permissions on APDialogExtension file \"%s\".";
+
+"      %s  Bad permissions on APPrinterIconPath file \"%s\"." = "      %s  Bad permissions on APPrinterIconPath file \"%s\".";
+
+"      %s  Bad permissions on APPrinterLowInkTool file \"%s\"." = "      %s  Bad permissions on APPrinterLowInkTool file \"%s\".";
+
+"      %s  Bad permissions on APPrinterUtilityPath file \"%s\"." = "      %s  Bad permissions on APPrinterUtilityPath file \"%s\".";
+
+"      %s  Bad permissions on APScanAppPath file \"%s\"." = "      %s  Bad permissions on APScanAppPath file \"%s\".";
+
+"      %s  Bad permissions on cupsFilter file \"%s\"." = "      %s  Bad permissions on cupsFilter file \"%s\".";
+
+"      %s  Bad permissions on cupsICCProfile file \"%s\"." = "      %s  Bad permissions on cupsICCProfile file \"%s\".";
+
+"      %s  Bad permissions on cupsPreFilter file \"%s\"." = "      %s  Bad permissions on cupsPreFilter file \"%s\".";
+
+"      %s  Bad spelling of %s - should be %s." = "      %s  Bad spelling of %s - should be %s.";
+
+"      %s  Cannot provide both APScanAppPath and APScanAppBundleID." = "      %s  Cannot provide both APScanAppPath and APScanAppBundleID.";
+
+"      %s  Empty cupsUIConstraints %s" = "      %s  Empty cupsUIConstraints %s";
+
+"      %s  Missing \"%s\" translation string for option %s, choice %s." = "      %s  Missing \"%s\" translation string for option %s, choice %s.";
+
+"      %s  Missing \"%s\" translation string for option %s." = "      %s  Missing \"%s\" translation string for option %s.";
+
+"      %s  Missing APDialogExtension file \"%s\"." = "      %s  Missing APDialogExtension file \"%s\".";
+
+"      %s  Missing APPrinterIconPath file \"%s\"." = "      %s  Missing APPrinterIconPath file \"%s\".";
+
+"      %s  Missing APPrinterLowInkTool file \"%s\"." = "      %s  Missing APPrinterLowInkTool file \"%s\".";
+
+"      %s  Missing APPrinterUtilityPath file \"%s\"." = "      %s  Missing APPrinterUtilityPath file \"%s\".";
+
+"      %s  Missing APScanAppPath file \"%s\"." = "      %s  Missing APScanAppPath file \"%s\".";
+
+"      %s  Missing REQUIRED PageRegion option.\n                REF: Page 100, section 5.14." = "      %s  Missing REQUIRED PageRegion option.\n                REF: Page 100, section 5.14.";
+
+"      %s  Missing REQUIRED PageSize option.\n                REF: Page 99, section 5.14." = "      %s  Missing REQUIRED PageSize option.\n                REF: Page 99, section 5.14.";
+
+"      %s  Missing choice *%s %s in UIConstraints \"*%s %s *%s %s\"." = "      %s  Missing choice *%s %s in UIConstraints \"*%s %s *%s %s\".";
+
+"      %s  Missing choice *%s %s in cupsUIConstraints %s: \"%s\"" = "      %s  Missing choice *%s %s in cupsUIConstraints %s: \"%s\"";
+
+"      %s  Missing cupsFilter file \"%s\"." = "      %s  Missing cupsFilter file \"%s\".";
+
+"      %s  Missing cupsICCProfile file \"%s\"." = "      %s  Missing cupsICCProfile file \"%s\".";
+
+"      %s  Missing cupsPreFilter file \"%s\"." = "      %s  Missing cupsPreFilter file \"%s\".";
+
+"      %s  Missing cupsUIResolver %s" = "      %s  Missing cupsUIResolver %s";
+
+"      %s  Missing option %s in UIConstraints \"*%s %s *%s %s\"." = "      %s  Missing option %s in UIConstraints \"*%s %s *%s %s\".";
+
+"      %s  Missing option %s in cupsUIConstraints %s: \"%s\"" = "      %s  Missing option %s in cupsUIConstraints %s: \"%s\"";
+
+"      %s  No base translation \"%s\" is included in file." = "      %s  No base translation \"%s\" is included in file.";
+
+"      %s  REQUIRED %s does not define choice None.\n                REF: Page 122, section 5.17" = "      %s  REQUIRED %s does not define choice None.\n                REF: Page 122, section 5.17";
+
+"      %s  Size \"%s\" defined for %s but not for %s." = "      %s  Size \"%s\" defined for %s but not for %s.";
+
+"      %s  Size \"%s\" has unexpected dimensions (%gx%g)." = "      %s  Size \"%s\" has unexpected dimensions (%gx%g).";
+
+"      %s  cupsICCProfile %s hash value collides with %s." = "      %s  cupsICCProfile %s hash value collides with %s.";
+
+"      %s  cupsUIResolver %s causes a loop." = "      %s  cupsUIResolver %s causes a loop.";
+
+"      %s  cupsUIResolver %s does not list at least two different options." = "      %s  cupsUIResolver %s does not list at least two different options.";
+
+"      **FAIL**  %s choice names %s and %s differ only by case." = "      **FAIL**  %s choice names %s and %s differ only by case.";
+
+"      **FAIL**  %s must be 1284DeviceID\n                REF: Page 72, section 5.5" = "      **FAIL**  %s must be 1284DeviceID\n                REF: Page 72, section 5.5";
+
+"      **FAIL**  BAD Default%s %s\n                REF: Page 40, section 4.5." = "      **FAIL**  BAD Default%s %s\n                REF: Page 40, section 4.5.";
+
+"      **FAIL**  BAD DefaultImageableArea %s\n                REF: Page 102, section 5.15." = "      **FAIL**  BAD DefaultImageableArea %s\n                REF: Page 102, section 5.15.";
+
+"      **FAIL**  BAD DefaultPaperDimension %s\n                REF: Page 103, section 5.15." = "      **FAIL**  BAD DefaultPaperDimension %s\n                REF: Page 103, section 5.15.";
+
+"      **FAIL**  BAD JobPatchFile attribute in file\n                REF: Page 24, section 3.4." = "      **FAIL**  BAD JobPatchFile attribute in file\n                REF: Page 24, section 3.4.";
+
+"      **FAIL**  BAD Manufacturer (should be \"HP\")\n                REF: Page 211, table D.1." = "      **FAIL**  BAD Manufacturer (should be \"HP\")\n                REF: Page 211, table D.1.";
+
+"      **FAIL**  BAD Manufacturer (should be \"Oki\")\n                REF: Page 211, table D.1." = "      **FAIL**  BAD Manufacturer (should be \"Oki\")\n                REF: Page 211, table D.1.";
+
+"      **FAIL**  BAD ModelName - \"%c\" not allowed in string.\n                REF: Pages 59-60, section 5.3." = "      **FAIL**  BAD ModelName - \"%c\" not allowed in string.\n                REF: Pages 59-60, section 5.3.";
+
+"      **FAIL**  BAD PSVersion - not \"(string) int\".\n                REF: Pages 62-64, section 5.3." = "      **FAIL**  BAD PSVersion - not \"(string) int\".\n                REF: Pages 62-64, section 5.3.";
+
+"      **FAIL**  BAD Product - not \"(string)\".\n                REF: Page 62, section 5.3." = "      **FAIL**  BAD Product - not \"(string)\".\n                REF: Page 62, section 5.3.";
+
+"      **FAIL**  BAD ShortNickName - longer than 31 chars.\n                REF: Pages 64-65, section 5.3." = "      **FAIL**  BAD ShortNickName - longer than 31 chars.\n                REF: Pages 64-65, section 5.3.";
+
+"      **FAIL**  Bad %s choice %s\n                REF: Page 84, section 5.9" = "      **FAIL**  Bad %s choice %s\n                REF: Page 84, section 5.9";
+
+"      **FAIL**  Bad FileVersion \"%s\"\n                REF: Page 56, section 5.3." = "      **FAIL**  Bad FileVersion \"%s\"\n                REF: Page 56, section 5.3.";
+
+"      **FAIL**  Bad FormatVersion \"%s\"\n                REF: Page 56, section 5.3." = "      **FAIL**  Bad FormatVersion \"%s\"\n                REF: Page 56, section 5.3.";
+
+"      **FAIL**  Bad LanguageEncoding %s - must be ISOLatin1." = "      **FAIL**  Bad LanguageEncoding %s - must be ISOLatin1.";
+
+"      **FAIL**  Bad LanguageVersion %s - must be English." = "      **FAIL**  Bad LanguageVersion %s - must be English.";
+
+"      **FAIL**  Default option code cannot be interpreted: %s" = "      **FAIL**  Default option code cannot be interpreted: %s";
+
+"      **FAIL**  Default translation string for option %s choice %s contains 8-bit characters." = "      **FAIL**  Default translation string for option %s choice %s contains 8-bit characters.";
+
+"      **FAIL**  Default translation string for option %s contains 8-bit characters." = "      **FAIL**  Default translation string for option %s contains 8-bit characters.";
+
+"      **FAIL**  Group names %s and %s differ only by case." = "      **FAIL**  Group names %s and %s differ only by case.";
+
+"      **FAIL**  Multiple occurrences of %s choice name %s." = "      **FAIL**  Multiple occurrences of %s choice name %s.";
+
+"      **FAIL**  Option names %s and %s differ only by case." = "      **FAIL**  Option names %s and %s differ only by case.";
+
+"      **FAIL**  REQUIRED Default%s\n                REF: Page 40, section 4.5." = "      **FAIL**  REQUIRED Default%s\n                REF: Page 40, section 4.5.";
+
+"      **FAIL**  REQUIRED DefaultImageableArea\n                REF: Page 102, section 5.15." = "      **FAIL**  REQUIRED DefaultImageableArea\n                REF: Page 102, section 5.15.";
+
+"      **FAIL**  REQUIRED DefaultPaperDimension\n                REF: Page 103, section 5.15." = "      **FAIL**  REQUIRED DefaultPaperDimension\n                REF: Page 103, section 5.15.";
+
+"      **FAIL**  REQUIRED FileVersion\n                REF: Page 56, section 5.3." = "      **FAIL**  REQUIRED FileVersion\n                REF: Page 56, section 5.3.";
+
+"      **FAIL**  REQUIRED FormatVersion\n                REF: Page 56, section 5.3." = "      **FAIL**  REQUIRED FormatVersion\n                REF: Page 56, section 5.3.";
+
+"      **FAIL**  REQUIRED ImageableArea for PageSize %s\n                REF: Page 41, section 5.\n                REF: Page 102, section 5.15." = "      **FAIL**  REQUIRED ImageableArea for PageSize %s\n                REF: Page 41, section 5.\n                REF: Page 102, section 5.15.";
+
+"      **FAIL**  REQUIRED LanguageEncoding\n                REF: Pages 56-57, section 5.3." = "      **FAIL**  REQUIRED LanguageEncoding\n                REF: Pages 56-57, section 5.3.";
+
+"      **FAIL**  REQUIRED LanguageVersion\n                REF: Pages 57-58, section 5.3." = "      **FAIL**  REQUIRED LanguageVersion\n                REF: Pages 57-58, section 5.3.";
+
+"      **FAIL**  REQUIRED Manufacturer\n                REF: Pages 58-59, section 5.3." = "      **FAIL**  REQUIRED Manufacturer\n                REF: Pages 58-59, section 5.3.";
+
+"      **FAIL**  REQUIRED ModelName\n                REF: Pages 59-60, section 5.3." = "      **FAIL**  REQUIRED ModelName\n                REF: Pages 59-60, section 5.3.";
+
+"      **FAIL**  REQUIRED NickName\n                REF: Page 60, section 5.3." = "      **FAIL**  REQUIRED NickName\n                REF: Page 60, section 5.3.";
+
+"      **FAIL**  REQUIRED PCFileName\n                REF: Pages 61-62, section 5.3." = "      **FAIL**  REQUIRED PCFileName\n                REF: Pages 61-62, section 5.3.";
+
+"      **FAIL**  REQUIRED PSVersion\n                REF: Pages 62-64, section 5.3." = "      **FAIL**  REQUIRED PSVersion\n                REF: Pages 62-64, section 5.3.";
+
+"      **FAIL**  REQUIRED PageRegion\n                REF: Page 100, section 5.14." = "      **FAIL**  REQUIRED PageRegion\n                REF: Page 100, section 5.14.";
+
+"      **FAIL**  REQUIRED PageSize\n                REF: Page 41, section 5.\n                REF: Page 99, section 5.14." = "      **FAIL**  REQUIRED PageSize\n                REF: Page 41, section 5.\n                REF: Page 99, section 5.14.";
+
+"      **FAIL**  REQUIRED PageSize\n                REF: Pages 99-100, section 5.14." = "      **FAIL**  REQUIRED PageSize\n                REF: Pages 99-100, section 5.14.";
+
+"      **FAIL**  REQUIRED PaperDimension for PageSize %s\n                REF: Page 41, section 5.\n                REF: Page 103, section 5.15." = "      **FAIL**  REQUIRED PaperDimension for PageSize %s\n                REF: Page 41, section 5.\n                REF: Page 103, section 5.15.";
+
+"      **FAIL**  REQUIRED Product\n                REF: Page 62, section 5.3." = "      **FAIL**  REQUIRED Product\n                REF: Page 62, section 5.3.";
+
+"      **FAIL**  REQUIRED ShortNickName\n                REF: Page 64-65, section 5.3." = "      **FAIL**  REQUIRED ShortNickName\n                REF: Page 64-65, section 5.3.";
+
+"    %d ERRORS FOUND" = "    %d ERRORS FOUND";
+
+"    --[no-]debug-logging    Turn debug logging on/off." = "    --[no-]debug-logging    Turn debug logging on/off.";
+
+"    --[no-]remote-admin     Turn remote administration on/off." = "    --[no-]remote-admin     Turn remote administration on/off.";
+
+"    --[no-]remote-any       Allow/prevent access from the Internet." = "    --[no-]remote-any       Allow/prevent access from the Internet.";
+
+"    --[no-]remote-printers  Show/hide remote printers." = "    --[no-]remote-printers  Show/hide remote printers.";
+
+"    --[no-]share-printers   Turn printer sharing on/off." = "    --[no-]share-printers   Turn printer sharing on/off.";
+
+"    --[no-]user-cancel-any  Allow/prevent users to cancel any job." = "    --[no-]user-cancel-any  Allow/prevent users to cancel any job.";
+
+"    -E                      Enable encryption." = "    -E                      Enable encryption.";
+
+"    -I {filename,filters,none,profiles}" = "    -I {filename,filters,none,profiles}";
+
+"    -R root-directory    Set alternate root." = "    -R root-directory    Set alternate root.";
+
+"    -U username             Specify username." = "    -U username             Specify username.";
+
+"    -W {all,none,constraints,defaults,duplex,filters,profiles,sizes,translations}" = "    -W {all,none,constraints,defaults,duplex,filters,profiles,sizes,translations}";
+
+"    -h       Show program usage" = "    -h       Show program usage";
+
+"    -h server[:port]        Specify server address." = "    -h server[:port]        Specify server address.";
+
+"    -q                   Run silently." = "    -q                   Run silently.";
+
+"    -r                   Use 'relaxed' open mode." = "    -r                   Use 'relaxed' open mode.";
+
+"    -v                   Be slightly verbose." = "    -v                   Be slightly verbose.";
+
+"    -vv                  Be very verbose." = "    -vv                  Be very verbose.";
+
+"    Bad %%%%BoundingBox: on line %d.\n        REF: Page 39, %%%%BoundingBox:" = "    Bad %%%%BoundingBox: on line %d.\n        REF: Page 39, %%%%BoundingBox:";
+
+"    Bad %%%%Page: on line %d.\n        REF: Page 53, %%%%Page:" = "    Bad %%%%Page: on line %d.\n        REF: Page 53, %%%%Page:";
+
+"    Bad %%%%Pages: on line %d.\n        REF: Page 43, %%%%Pages:" = "    Bad %%%%Pages: on line %d.\n        REF: Page 43, %%%%Pages:";
+
+"    Line %d is longer than 255 characters (%d).\n        REF: Page 25, Line Length" = "    Line %d is longer than 255 characters (%d).\n        REF: Page 25, Line Length";
+
+"    Missing %!PS-Adobe-3.0 on first line.\n        REF: Page 17, 3.1 Conforming Documents" = "    Missing %!PS-Adobe-3.0 on first line.\n        REF: Page 17, 3.1 Conforming Documents";
+
+"    Missing %%EndComments comment.        REF: Page 41, %%EndComments" = "    Missing %%EndComments comment.        REF: Page 41, %%EndComments";
+
+"    Missing or bad %%BoundingBox: comment.\n        REF: Page 39, %%BoundingBox:" = "    Missing or bad %%BoundingBox: comment.\n        REF: Page 39, %%BoundingBox:";
+
+"    Missing or bad %%Page: comments.\n        REF: Page 53, %%Page:" = "    Missing or bad %%Page: comments.\n        REF: Page 53, %%Page:";
+
+"    Missing or bad %%Pages: comment.\n        REF: Page 43, %%Pages:" = "    Missing or bad %%Pages: comment.\n        REF: Page 43, %%Pages:";
+
+"    NO ERRORS FOUND" = "    NO ERRORS FOUND";
+
+"    Saw %d lines that exceeded 255 characters." = "    Saw %d lines that exceeded 255 characters.";
+
+"    Too many %%BeginDocument comments." = "    Too many %%BeginDocument comments.";
+
+"    Too many %%EndDocument comments." = "    Too many %%EndDocument comments.";
+
+"    Warning: file contains binary data." = "    Warning: file contains binary data.";
+
+"    Warning: no %%EndComments comment in file." = "    Warning: no %%EndComments comment in file.";
+
+"    Warning: obsolete DSC version %.1f in file." = "    Warning: obsolete DSC version %.1f in file.";
+
+"  --cr                 End lines with CR (Mac OS 9)." = "  --cr                 End lines with CR (Mac OS 9).";
+
+"  --crlf               End lines with CR + LF (Windows)." = "  --crlf               End lines with CR + LF (Windows).";
+
+"  --lf                 End lines with LF (UNIX/Linux/Mac OS X)." = "  --lf                 End lines with LF (UNIX/Linux/Mac OS X).";
+
+"  -4             Connect using IPv4." = "  -4             Connect using IPv4.";
+
+"  -6             Connect using IPv6." = "  -6             Connect using IPv6.";
+
+"  -C             Send requests using chunking (default)." = "  -C             Send requests using chunking (default).";
+
+"  -D                   Remove the input file when finished." = "  -D                   Remove the input file when finished.";
+
+"  -D name=value        Set named variable to value." = "  -D name=value        Set named variable to value.";
+
+"  -D name=value     Set named variable to value." = "  -D name=value     Set named variable to value.";
+
+"  -E               Encrypt the connection to the server." = "  -E               Encrypt the connection to the server.";
+
+"  -E             Test with TLS encryption." = "  -E             Test with TLS encryption.";
+
+"  -H samba-server  Use the named SAMBA server." = "  -H samba-server  Use the named SAMBA server.";
+
+"  -I             Ignore errors." = "  -I             Ignore errors.";
+
+"  -I include-dir" = "  -I include-dir";
+
+"  -I include-dir       Add include directory to search path." = "  -I include-dir       Add include directory to search path.";
+
+"  -I include-dir    Add include directory to search path." = "  -I include-dir    Add include directory to search path.";
+
+"  -J title             Set title." = "  -J title             Set title.";
+
+"  -L             Send requests using content-length." = "  -L             Send requests using content-length.";
+
+"  -P filename.ppd      Set PPD file." = "  -P filename.ppd      Set PPD file.";
+
+"  -S             Test with SSL encryption." = "  -S             Test with SSL encryption.";
+
+"  -T             Set the receive/send timeout in seconds." = "  -T             Set the receive/send timeout in seconds.";
+
+"  -U samba-user    Authenticate using the named SAMBA user." = "  -U samba-user    Authenticate using the named SAMBA user.";
+
+"  -U username          Set username for job." = "  -U username          Set username for job.";
+
+"  -V version     Set default IPP version." = "  -V version     Set default IPP version.";
+
+"  -X             Produce XML plist instead of plain text." = "  -X             Produce XML plist instead of plain text.";
+
+"  -a               Export all printers." = "  -a               Export all printers.";
+
+"  -a 'name=value ...'  Set option(s)." = "  -a 'name=value ...'  Set option(s).";
+
+"  -c catalog.po        Load the specified message catalog." = "  -c catalog.po        Load the specified message catalog.";
+
+"  -c copies            Set number of copies." = "  -c copies            Set number of copies.";
+
+"  -c cupsd.conf    Set cupsd.conf file to use." = "  -c cupsd.conf    Set cupsd.conf file to use.";
+
+"  -d name=value  Define variable." = "  -d name=value  Define variable.";
+
+"  -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.";
+
+"  -d printer       Use the named printer." = "  -d printer       Use the named printer.";
+
+"  -e                   Use every filter from the PPD file." = "  -e                   Use every filter from the PPD file.";
+
+"  -e               Use every filter from the PPD file." = "  -e               Use every filter from the PPD file.";
+
+"  -f filename          Set file to be converted (otherwise stdin)." = "  -f filename          Set file to be converted (otherwise stdin).";
+
+"  -f filename    Set default request filename." = "  -f filename    Set default request filename.";
+
+"  -h cups-server   Use the named CUPS server." = "  -h cups-server   Use the named CUPS server.";
+
+"  -i mime/type         Set input MIME type (otherwise auto-typed)." = "  -i mime/type         Set input MIME type (otherwise auto-typed).";
+
+"  -i seconds     Repeat the last file with the given time interval." = "  -i seconds     Repeat the last file with the given time interval.";
+
+"  -j job-id[,N]    Filter file N from the specified job (default is file 1)." = "  -j job-id[,N]    Filter file N from the specified job (default is file 1).";
+
+"  -j mime/type         Set output MIME type (otherwise application/pdf)." = "  -j mime/type         Set output MIME type (otherwise application/pdf).";
+
+"  -l lang[,lang,...]   Specify the output language(s) (locale)." = "  -l lang[,lang,...]   Specify the output language(s) (locale).";
+
+"  -m                   Use the ModelName value as the filename." = "  -m                   Use the ModelName value as the filename.";
+
+"  -n copies        Set number of copies." = "  -n copies        Set number of copies.";
+
+"  -n count       Repeat the last file the given number of times." = "  -n count       Repeat the last file the given number of times.";
+
+"  -o filename          Set file to be generated (otherwise stdout)." = "  -o filename          Set file to be generated (otherwise stdout).";
+
+"  -o filename.drv" = "  -o filename.drv";
+
+"  -o filename.ppd[.gz]" = "  -o filename.ppd[.gz]";
+
+"  -o name=value    Set option(s)." = "  -o name=value    Set option(s).";
+
+"  -p filename.ppd  Set PPD file." = "  -p filename.ppd  Set PPD file.";
+
+"  -q             Be quiet - no output except errors." = "  -q             Be quiet - no output except errors.";
+
+"  -t                   Test PPDs instead of generating them." = "  -t                   Test PPDs instead of generating them.";
+
+"  -t             Produce a test report." = "  -t             Produce a test report.";
+
+"  -t title         Set title." = "  -t title         Set title.";
+
+"  -u                   Remove the PPD file when finished." = "  -u                   Remove the PPD file when finished.";
+
+"  -v                   Be verbose (more v's for more verbosity)." = "  -v                   Be verbose (more v's for more verbosity).";
+
+"  -v                Be verbose (more v's for more verbosity)." = "  -v                Be verbose (more v's for more verbosity).";
+
+"  -v               Be verbose (show commands)." = "  -v               Be verbose (show commands).";
+
+"  -v             Show all attributes sent and received." = "  -v             Show all attributes sent and received.";
+
+"  -z                   Compress PPD files using GNU zip." = "  -z                   Compress PPD files using GNU zip.";
+
+" FAIL" = " FAIL";
+
+" FAIL      **FAIL**  Unable to open PPD file - %s" = " FAIL      **FAIL**  Unable to open PPD file - %s";
+
+" FAIL      **FAIL**  Unable to open PPD file - %s on line %d." = " FAIL      **FAIL**  Unable to open PPD file - %s on line %d.";
+
+" PASS" = " PASS";
+
+"#10 Envelope" = "#10 Envelope";
+
+"#11 Envelope" = "#11 Envelope";
+
+"#12 Envelope" = "#12 Envelope";
+
+"#14 Envelope" = "#14 Envelope";
+
+"#9 Envelope" = "#9 Envelope";
+
+"%-6s %-10.10s %-4d %-10d %-27.27s %.0f bytes" = "%-6s %-10.10s %-4d %-10d %-27.27s %.0f bytes";
+
+"%-7s %-7.7s %-7d %-31.31s %.0f bytes" = "%-7s %-7.7s %-7d %-31.31s %.0f bytes";
+
+"%.0f x %.0f millimeters" = "%.0f x %.0f millimeters";
+
+"%.0f x %.0f to %.0f x %.0f millimeters" = "%.0f x %.0f to %.0f x %.0f millimeters";
+
+"%.2f x %.2f inches" = "%.2f x %.2f inches";
+
+"%.2f x %.2f to %.2f x %.2f inches" = "%.2f x %.2f to %.2f x %.2f inches";
+
+"%s accepting requests since %s" = "%s accepting requests since %s";
+
+"%s cannot be changed." = "%s cannot be changed.";
+
+"%s is not implemented by the CUPS version of lpc." = "%s is not implemented by the CUPS version of lpc.";
+
+"%s is not ready" = "%s is not ready";
+
+"%s is ready" = "%s is ready";
+
+"%s is ready and printing" = "%s is ready and printing";
+
+"%s job-id user title copies options [file]" = "%s job-id user title copies options [file]";
+
+"%s not accepting requests since %s -" = "%s not accepting requests since %s -";
+
+"%s not supported" = "%s not supported";
+
+"%s/%s accepting requests since %s" = "%s/%s accepting requests since %s";
+
+"%s/%s not accepting requests since %s -" = "%s/%s not accepting requests since %s -";
+
+"%s: %-33.33s [job %d localhost]" = "%s: %-33.33s [job %d localhost]";
+
+"%s: %s failed: %s" = "%s: %s failed: %s";
+
+"%s: Don't know what to do." = "%s: Don't know what to do.";
+
+"%s: Error - %s environment variable names non-existent destination \"%s\"." = "%s: Error - %s environment variable names non-existent destination \"%s\".";
+
+"%s: Error - bad job ID." = "%s: Error - bad job ID.";
+
+"%s: Error - cannot print files and alter jobs simultaneously." = "%s: Error - cannot print files and alter jobs simultaneously.";
+
+"%s: Error - cannot print from stdin if files or a job ID are provided." = "%s: Error - cannot print from stdin if files or a job ID are provided.";
+
+"%s: Error - expected character set after \"-S\" option." = "%s: Error - expected character set after \"-S\" option.";
+
+"%s: Error - expected content type after \"-T\" option." = "%s: Error - expected content type after \"-T\" option.";
+
+"%s: Error - expected copies after \"-n\" option." = "%s: Error - expected copies after \"-n\" option.";
+
+"%s: Error - expected copy count after \"-#\" option." = "%s: Error - expected copy count after \"-#\" option.";
+
+"%s: Error - expected destination after \"-P\" option." = "%s: Error - expected destination after \"-P\" option.";
+
+"%s: Error - expected destination after \"-b\" option." = "%s: Error - expected destination after \"-b\" option.";
+
+"%s: Error - expected destination after \"-d\" option." = "%s: Error - expected destination after \"-d\" option.";
+
+"%s: Error - expected form after \"-f\" option." = "%s: Error - expected form after \"-f\" option.";
+
+"%s: Error - expected hold name after \"-H\" option." = "%s: Error - expected hold name after \"-H\" option.";
+
+"%s: Error - expected hostname after \"-H\" option." = "%s: Error - expected hostname after \"-H\" option.";
+
+"%s: Error - expected hostname after \"-h\" option." = "%s: Error - expected hostname after \"-h\" option.";
+
+"%s: Error - expected mode list after \"-y\" option." = "%s: Error - expected mode list after \"-y\" option.";
+
+"%s: Error - expected name after \"-%c\" option." = "%s: Error - expected name after \"-%c\" option.";
+
+"%s: Error - expected option string after \"-o\" option." = "%s: Error - expected option string after \"-o\" option.";
+
+"%s: Error - expected page list after \"-P\" option." = "%s: Error - expected page list after \"-P\" option.";
+
+"%s: Error - expected priority after \"-%c\" option." = "%s: Error - expected priority after \"-%c\" option.";
+
+"%s: Error - expected reason text after \"-r\" option." = "%s: Error - expected reason text after \"-r\" option.";
+
+"%s: Error - expected title after \"-t\" option." = "%s: Error - expected title after \"-t\" option.";
+
+"%s: Error - expected username after \"-U\" option." = "%s: Error - expected username after \"-U\" option.";
+
+"%s: Error - expected username after \"-u\" option." = "%s: Error - expected username after \"-u\" option.";
+
+"%s: Error - expected value after \"-%c\" option." = "%s: Error - expected value after \"-%c\" option.";
+
+"%s: Error - need \"completed\", \"not-completed\", or \"all\" after \"-W\" option." = "%s: Error - need \"completed\", \"not-completed\", or \"all\" after \"-W\" option.";
+
+"%s: Error - no default destination available." = "%s: Error - no default destination available.";
+
+"%s: Error - priority must be between 1 and 100." = "%s: Error - priority must be between 1 and 100.";
+
+"%s: Error - scheduler not responding." = "%s: Error - scheduler not responding.";
+
+"%s: Error - too many files - \"%s\"." = "%s: Error - too many files - \"%s\".";
+
+"%s: Error - unable to access \"%s\" - %s" = "%s: Error - unable to access \"%s\" - %s";
+
+"%s: Error - unable to access \"%s\" - %s." = "%s: Error - unable to access \"%s\" - %s.";
+
+"%s: Error - unable to queue from stdin - %s." = "%s: Error - unable to queue from stdin - %s.";
+
+"%s: Error - unknown destination \"%s\"." = "%s: Error - unknown destination \"%s\".";
+
+"%s: Error - unknown destination \"%s/%s\"." = "%s: Error - unknown destination \"%s/%s\".";
+
+"%s: Error - unknown option \"%c\"." = "%s: Error - unknown option \"%c\".";
+
+"%s: Error - unknown option \"%s\"." = "%s: Error - unknown option \"%s\".";
+
+"%s: Expected job ID after \"-i\" option." = "%s: Expected job ID after \"-i\" option.";
+
+"%s: Filter \"%s\" not available: %s" = "%s: Filter \"%s\" not available: %s";
+
+"%s: Invalid destination name in list \"%s\"." = "%s: Invalid destination name in list \"%s\".";
+
+"%s: Invalid filter string \"%s\"." = "%s: Invalid filter string \"%s\".";
+
+"%s: Need job ID (\"-i jobid\") before \"-H restart\"." = "%s: Need job ID (\"-i jobid\") before \"-H restart\".";
+
+"%s: No filter to convert from %s/%s to %s/%s." = "%s: No filter to convert from %s/%s to %s/%s.";
+
+"%s: Operation failed: %s" = "%s: Operation failed: %s";
+
+"%s: Sorry, no encryption support." = "%s: Sorry, no encryption support.";
+
+"%s: Unable to connect to server." = "%s: Unable to connect to server.";
+
+"%s: Unable to contact server." = "%s: Unable to contact server.";
+
+"%s: Unable to determine MIME type of \"%s\"." = "%s: Unable to determine MIME type of \"%s\".";
+
+"%s: Unable to open %s: %s" = "%s: Unable to open %s: %s";
+
+"%s: Unable to open PPD file: %s on line %d." = "%s: Unable to open PPD file: %s on line %d.";
+
+"%s: Unable to read MIME database from \"%s\" or \"%s\"." = "%s: Unable to read MIME database from \"%s\" or \"%s\".";
+
+"%s: Unknown destination \"%s\"." = "%s: Unknown destination \"%s\".";
+
+"%s: Unknown destination MIME type %s/%s." = "%s: Unknown destination MIME type %s/%s.";
+
+"%s: Unknown option \"%c\"." = "%s: Unknown option \"%c\".";
+
+"%s: Unknown source MIME type %s/%s." = "%s: Unknown source MIME type %s/%s.";
+
+"%s: Warning - \"%c\" format modifier not supported - output may not be correct." = "%s: Warning - \"%c\" format modifier not supported - output may not be correct.";
+
+"%s: Warning - character set option ignored." = "%s: Warning - character set option ignored.";
+
+"%s: Warning - content type option ignored." = "%s: Warning - content type option ignored.";
+
+"%s: Warning - form option ignored." = "%s: Warning - form option ignored.";
+
+"%s: Warning - mode option ignored." = "%s: Warning - mode option ignored.";
+
+"%s: error - %s environment variable names non-existent destination \"%s\"." = "%s: error - %s environment variable names non-existent destination \"%s\".";
+
+"%s: error - expected option=value after \"-o\" option." = "%s: error - expected option=value after \"-o\" option.";
+
+"%s: error - no default destination available." = "%s: error - no default destination available.";
+
+"-1" = "-1";
+
+"-10" = "-10";
+
+"-100" = "-100";
+
+"-105" = "-105";
+
+"-11" = "-11";
+
+"-110" = "-110";
+
+"-115" = "-115";
+
+"-12" = "-12";
+
+"-120" = "-120";
+
+"-13" = "-13";
+
+"-14" = "-14";
+
+"-15" = "-15";
+
+"-2" = "-2";
+
+"-20" = "-20";
+
+"-25" = "-25";
+
+"-3" = "-3";
+
+"-30" = "-30";
+
+"-35" = "-35";
+
+"-4" = "-4";
+
+"-40" = "-40";
+
+"-45" = "-45";
+
+"-5" = "-5";
+
+"-50" = "-50";
+
+"-55" = "-55";
+
+"-6" = "-6";
+
+"-60" = "-60";
+
+"-65" = "-65";
+
+"-7" = "-7";
+
+"-70" = "-70";
+
+"-75" = "-75";
+
+"-8" = "-8";
+
+"-80" = "-80";
+
+"-85" = "-85";
+
+"-9" = "-9";
+
+"-90" = "-90";
+
+"-95" = "-95";
+
+"-F                  Run in the foreground but detach from console." = "-F                  Run in the foreground but detach from console.";
+
+"-c config-file      Load alternate configuration file." = "-c config-file      Load alternate configuration file.";
+
+"-f                  Run in the foreground." = "-f                  Run in the foreground.";
+
+"-h                  Show this usage message." = "-h                  Show this usage message.";
+
+"-l                  Run cupsd from launchd(8)." = "-l                  Run cupsd from launchd(8).";
+
+"-t                  Test the configuration file." = "-t                  Test the configuration file.";
+
+"0" = "0";
+
+"1" = "1";
+
+"1 inch/sec." = "1 inch/sec.";
+
+"1.25x0.25\"" = "1.25x0.25\"";
+
+"1.25x2.25\"" = "1.25x2.25\"";
+
+"1.5 inch/sec." = "1.5 inch/sec.";
+
+"1.50x0.25\"" = "1.50x0.25\"";
+
+"1.50x0.50\"" = "1.50x0.50\"";
+
+"1.50x1.00\"" = "1.50x1.00\"";
+
+"1.50x2.00\"" = "1.50x2.00\"";
+
+"10" = "10";
+
+"10 inches/sec." = "10 inches/sec.";
+
+"10 x 11\"" = "10 x 11\"";
+
+"10 x 13\"" = "10 x 13\"";
+
+"10 x 14\"" = "10 x 14\"";
+
+"100" = "100";
+
+"100 mm/sec." = "100 mm/sec.";
+
+"105" = "105";
+
+"11" = "11";
+
+"11 inches/sec." = "11 inches/sec.";
+
+"110" = "110";
+
+"115" = "115";
+
+"12" = "12";
+
+"12 inches/sec." = "12 inches/sec.";
+
+"12 x 11\"" = "12 x 11\"";
+
+"120" = "120";
+
+"120 mm/sec." = "120 mm/sec.";
+
+"120x60dpi" = "120x60dpi";
+
+"120x72dpi" = "120x72dpi";
+
+"13" = "13";
+
+"136dpi" = "136dpi";
+
+"14" = "14";
+
+"15" = "15";
+
+"15 mm/sec." = "15 mm/sec.";
+
+"15 x 11\"" = "15 x 11\"";
+
+"150 mm/sec." = "150 mm/sec.";
+
+"150dpi" = "150dpi";
+
+"16" = "16";
+
+"17" = "17";
+
+"18" = "18";
+
+"180dpi" = "180dpi";
+
+"19" = "19";
+
+"2" = "2";
+
+"2 inches/sec." = "2 inches/sec.";
+
+"2-Sided Printing" = "2-Sided Printing";
+
+"2.00x0.37\"" = "2.00x0.37\"";
+
+"2.00x0.50\"" = "2.00x0.50\"";
+
+"2.00x1.00\"" = "2.00x1.00\"";
+
+"2.00x1.25\"" = "2.00x1.25\"";
+
+"2.00x2.00\"" = "2.00x2.00\"";
+
+"2.00x3.00\"" = "2.00x3.00\"";
+
+"2.00x4.00\"" = "2.00x4.00\"";
+
+"2.00x5.50\"" = "2.00x5.50\"";
+
+"2.25x0.50\"" = "2.25x0.50\"";
+
+"2.25x1.25\"" = "2.25x1.25\"";
+
+"2.25x4.00\"" = "2.25x4.00\"";
+
+"2.25x5.50\"" = "2.25x5.50\"";
+
+"2.38x5.50\"" = "2.38x5.50\"";
+
+"2.5 inches/sec." = "2.5 inches/sec.";
+
+"2.50x1.00\"" = "2.50x1.00\"";
+
+"2.50x2.00\"" = "2.50x2.00\"";
+
+"2.75x1.25\"" = "2.75x1.25\"";
+
+"2.9 x 1\"" = "2.9 x 1\"";
+
+"20" = "20";
+
+"20 mm/sec." = "20 mm/sec.";
+
+"200 mm/sec." = "200 mm/sec.";
+
+"203dpi" = "203dpi";
+
+"21" = "21";
+
+"22" = "22";
+
+"23" = "23";
+
+"24" = "24";
+
+"24-Pin Series" = "24-Pin Series";
+
+"240x72dpi" = "240x72dpi";
+
+"25" = "25";
+
+"250 mm/sec." = "250 mm/sec.";
+
+"26" = "26";
+
+"27" = "27";
+
+"28" = "28";
+
+"29" = "29";
+
+"3" = "3";
+
+"3 inches/sec." = "3 inches/sec.";
+
+"3.00x1.00\"" = "3.00x1.00\"";
+
+"3.00x1.25\"" = "3.00x1.25\"";
+
+"3.00x2.00\"" = "3.00x2.00\"";
+
+"3.00x3.00\"" = "3.00x3.00\"";
+
+"3.00x5.00\"" = "3.00x5.00\"";
+
+"3.25x2.00\"" = "3.25x2.00\"";
+
+"3.25x5.00\"" = "3.25x5.00\"";
+
+"3.25x5.50\"" = "3.25x5.50\"";
+
+"3.25x5.83\"" = "3.25x5.83\"";
+
+"3.25x7.83\"" = "3.25x7.83\"";
+
+"3.5\" Disk" = "3.5\" Disk";
+
+"3.5\" Disk - 2 1/8 x 2 3/4\"" = "3.5\" Disk - 2 1/8 x 2 3/4\"";
+
+"3.50x1.00\"" = "3.50x1.00\"";
+
+"30" = "30";
+
+"30 mm/sec." = "30 mm/sec.";
+
+"300 mm/sec." = "300 mm/sec.";
+
+"300dpi" = "300dpi";
+
+"35" = "35";
+
+"360dpi" = "360dpi";
+
+"360x180dpi" = "360x180dpi";
+
+"4" = "4";
+
+"4 inches/sec." = "4 inches/sec.";
+
+"4.00x1.00\"" = "4.00x1.00\"";
+
+"4.00x13.00\"" = "4.00x13.00\"";
+
+"4.00x2.00\"" = "4.00x2.00\"";
+
+"4.00x2.50\"" = "4.00x2.50\"";
+
+"4.00x3.00\"" = "4.00x3.00\"";
+
+"4.00x4.00\"" = "4.00x4.00\"";
+
+"4.00x5.00\"" = "4.00x5.00\"";
+
+"4.00x6.00\"" = "4.00x6.00\"";
+
+"4.00x6.50\"" = "4.00x6.50\"";
+
+"40" = "40";
+
+"40 mm/sec." = "40 mm/sec.";
+
+"45" = "45";
+
+"5" = "5";
+
+"5 inches/sec." = "5 inches/sec.";
+
+"50" = "50";
+
+"55" = "55";
+
+"6" = "6";
+
+"6 inches/sec." = "6 inches/sec.";
+
+"6.00x1.00\"" = "6.00x1.00\"";
+
+"6.00x2.00\"" = "6.00x2.00\"";
+
+"6.00x3.00\"" = "6.00x3.00\"";
+
+"6.00x4.00\"" = "6.00x4.00\"";
+
+"6.00x5.00\"" = "6.00x5.00\"";
+
+"6.00x6.00\"" = "6.00x6.00\"";
+
+"6.00x6.50\"" = "6.00x6.50\"";
+
+"60" = "60";
+
+"60 mm/sec." = "60 mm/sec.";
+
+"600dpi" = "600dpi";
+
+"60dpi" = "60dpi";
+
+"60x720dpi" = "60x720dpi";
+
+"65" = "65";
+
+"7" = "7";
+
+"7 inches/sec." = "7 inches/sec.";
+
+"7 x 9\"" = "7 x 9\"";
+
+"70" = "70";
+
+"720dpi" = "720dpi";
+
+"75" = "75";
+
+"8" = "8";
+
+"8 inches/sec." = "8 inches/sec.";
+
+"8 x 10\"" = "8 x 10\"";
+
+"8.00x1.00\"" = "8.00x1.00\"";
+
+"8.00x2.00\"" = "8.00x2.00\"";
+
+"8.00x3.00\"" = "8.00x3.00\"";
+
+"8.00x4.00\"" = "8.00x4.00\"";
+
+"8.00x5.00\"" = "8.00x5.00\"";
+
+"8.00x6.00\"" = "8.00x6.00\"";
+
+"8.00x6.50\"" = "8.00x6.50\"";
+
+"80" = "80";
+
+"80 mm/sec." = "80 mm/sec.";
+
+"85" = "85";
+
+"9" = "9";
+
+"9 inches/sec." = "9 inches/sec.";
+
+"9 x 11\"" = "9 x 11\"";
+
+"9 x 12\"" = "9 x 12\"";
+
+"9-Pin Series" = "9-Pin Series";
+
+"90" = "90";
+
+"95" = "95";
+
+"?Invalid help command unknown." = "?Invalid help command unknown.";
+
+"A Samba password is required to export printer drivers" = "A Samba password is required to export printer drivers";
+
+"A Samba username is required to export printer drivers" = "A Samba username is required to export printer drivers";
+
+"A class named \"%s\" already exists" = "A class named \"%s\" already exists";
+
+"A printer named \"%s\" already exists" = "A printer named \"%s\" already exists";
+
+"A0" = "A0";
+
+"A1" = "A1";
+
+"A10" = "A10";
+
+"A2" = "A2";
+
+"A3" = "A3";
+
+"A3 (Oversize)" = "A3 (Oversize)";
+
+"A4" = "A4";
+
+"A4 (Oversize)" = "A4 (Oversize)";
+
+"A4 (Small)" = "A4 (Small)";
+
+"A5" = "A5";
+
+"A5 (Oversize)" = "A5 (Oversize)";
+
+"A6" = "A6";
+
+"A7" = "A7";
+
+"A8" = "A8";
+
+"A9" = "A9";
+
+"ANSI A" = "ANSI A";
+
+"ANSI B" = "ANSI B";
+
+"ANSI C" = "ANSI C";
+
+"ANSI D" = "ANSI D";
+
+"ANSI E" = "ANSI E";
+
+"ARCH A" = "ARCH A";
+
+"ARCH B" = "ARCH B";
+
+"ARCH C" = "ARCH C";
+
+"ARCH D" = "ARCH D";
+
+"ARCH E" = "ARCH E";
+
+"Accept Jobs" = "Accept Jobs";
+
+"Accepted" = "Accepted";
+
+"Add Class" = "Add Class";
+
+"Add Printer" = "Add Printer";
+
+"Add RSS Subscription" = "Add RSS Subscription";
+
+"Address" = "Address";
+
+"Address - 1 1/8 x 3 1/2\"" = "Address - 1 1/8 x 3 1/2\"";
+
+"Administration" = "Administration";
+
+"Always" = "Always";
+
+"AppSocket/HP JetDirect" = "AppSocket/HP JetDirect";
+
+"Applicator" = "Applicator";
+
+"Attempt to set %s printer-state to bad value %d" = "Attempt to set %s printer-state to bad value %d";
+
+"Attribute groups are out of order (%x < %x)" = "Attribute groups are out of order (%x < %x)";
+
+"B0" = "B0";
+
+"B1" = "B1";
+
+"B10" = "B10";
+
+"B2" = "B2";
+
+"B3" = "B3";
+
+"B4" = "B4";
+
+"B5" = "B5";
+
+"B6" = "B6";
+
+"B7" = "B7";
+
+"B8" = "B8";
+
+"B9" = "B9";
+
+"Bad NULL dests pointer" = "Bad NULL dests pointer";
+
+"Bad OpenGroup" = "Bad OpenGroup";
+
+"Bad OpenUI/JCLOpenUI" = "Bad OpenUI/JCLOpenUI";
+
+"Bad OrderDependency" = "Bad OrderDependency";
+
+"Bad PWG mapping file." = "Bad PWG mapping file.";
+
+"Bad Request" = "Bad Request";
+
+"Bad SNMP version number" = "Bad SNMP version number";
+
+"Bad UIConstraints" = "Bad UIConstraints";
+
+"Bad charset file \"%s\"." = "Bad charset file \"%s\".";
+
+"Bad charset type: %s" = "Bad charset type: %s";
+
+"Bad columns value %d." = "Bad columns value %d.";
+
+"Bad copies value %d." = "Bad copies value %d.";
+
+"Bad cpi value %f." = "Bad cpi value %f.";
+
+"Bad custom parameter" = "Bad custom parameter";
+
+"Bad device URI \"%s\"." = "Bad device URI \"%s\".";
+
+"Bad device-uri \"%s\"" = "Bad device-uri \"%s\"";
+
+"Bad device-uri scheme \"%s\"" = "Bad device-uri scheme \"%s\"";
+
+"Bad document-format \"%s\"" = "Bad document-format \"%s\"";
+
+"Bad filename buffer" = "Bad filename buffer";
+
+"Bad font description line \"%s\"." = "Bad font description line \"%s\".";
+
+"Bad font description line: %s" = "Bad font description line: %s";
+
+"Bad job-priority value" = "Bad job-priority value";
+
+"Bad job-sheets value \"%s\"" = "Bad job-sheets value \"%s\"";
+
+"Bad job-sheets value type" = "Bad job-sheets value type";
+
+"Bad job-state value" = "Bad job-state value";
+
+"Bad job-uri attribute \"%s\"" = "Bad job-uri attribute \"%s\"";
+
+"Bad lpi value %f." = "Bad lpi value %f.";
+
+"Bad notify-pull-method \"%s\"" = "Bad notify-pull-method \"%s\"";
+
+"Bad notify-recipient-uri URI \"%s\"" = "Bad notify-recipient-uri URI \"%s\"";
+
+"Bad number-up value %d." = "Bad number-up value %d.";
+
+"Bad option + choice on line %d" = "Bad option + choice on line %d";
+
+"Bad page-ranges values %d-%d." = "Bad page-ranges values %d-%d.";
+
+"Bad port-monitor \"%s\"" = "Bad port-monitor \"%s\"";
+
+"Bad printer-state value %d" = "Bad printer-state value %d";
+
+"Bad request ID %d" = "Bad request ID %d";
+
+"Bad request version number %d.%d" = "Bad request version number %d.%d";
+
+"Bad subscription ID" = "Bad subscription ID";
+
+"Bad text direction \"%s\"." = "Bad text direction \"%s\".";
+
+"Bad text direction: %s" = "Bad text direction: %s";
+
+"Bad text width \"%s\"." = "Bad text width \"%s\".";
+
+"Bad text width: %s" = "Bad text width: %s";
+
+"Bad value string" = "Bad value string";
+
+"Banners" = "Banners";
+
+"Billing Information: " = "Billing Information: ";
+
+"Bond Paper" = "Bond Paper";
+
+"Boolean expected for waiteof option \"%s\"." = "Boolean expected for waiteof option \"%s\".";
+
+"Buffer overflow detected, aborting." = "Buffer overflow detected, aborting.";
+
+"C0 Envelope" = "C0 Envelope";
+
+"C1 Envelope" = "C1 Envelope";
+
+"C2 Envelope" = "C2 Envelope";
+
+"C3 Envelope" = "C3 Envelope";
+
+"C4" = "C4";
+
+"C4 Envelope" = "C4 Envelope";
+
+"C5" = "C5";
+
+"C5 Envelope" = "C5 Envelope";
+
+"C6" = "C6";
+
+"C6 Envelope" = "C6 Envelope";
+
+"C65 Envelope" = "C65 Envelope";
+
+"C7 Envelope" = "C7 Envelope";
+
+"CMYK" = "CMYK";
+
+"CPCL Label Printer" = "CPCL Label Printer";
+
+"Cancel RSS Subscription" = "Cancel RSS Subscription";
+
+"Canceling print job." = "Canceling print job.";
+
+"Change Settings" = "Change Settings";
+
+"Character set \"%s\" not supported" = "Character set \"%s\" not supported";
+
+"Chou3 Envelope" = "Chou3 Envelope";
+
+"Chou4 Envelope" = "Chou4 Envelope";
+
+"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.";
+
+"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  ?";
+
+"Community name uses indefinite length" = "Community name uses indefinite length";
+
+"Connected to printer." = "Connected to printer.";
+
+"Connecting to printer." = "Connecting to printer.";
+
+"Continue" = "Continue";
+
+"Continuous" = "Continuous";
+
+"Control file sent successfully." = "Control file sent successfully.";
+
+"Copying print data." = "Copying print data.";
+
+"Could not scan type \"%s\"" = "Could not scan type \"%s\"";
+
+"Created" = "Created";
+
+"Created On: " = "Created On: ";
+
+"Custom" = "Custom";
+
+"CustominCutInterval" = "CustominCutInterval";
+
+"CustominTearInterval" = "CustominTearInterval";
+
+"Cut" = "Cut";
+
+"Cutter" = "Cutter";
+
+"DL" = "DL";
+
+"DL Envelope" = "DL Envelope";
+
+"Dark" = "Dark";
+
+"Darkness" = "Darkness";
+
+"Data file sent successfully." = "Data file sent successfully.";
+
+"Delete Class" = "Delete Class";
+
+"Delete Printer" = "Delete Printer";
+
+"Description: " = "Description: ";
+
+"DeskJet Series" = "DeskJet Series";
+
+"Destination \"%s\" is not accepting jobs." = "Destination \"%s\" is not accepting jobs.";
+
+"Device: uri = %s\n        class = %s\n        info = %s\n        make-and-model = %s\n        device-id = %s\n        location = %s" = "Device: uri = %s\n        class = %s\n        info = %s\n        make-and-model = %s\n        device-id = %s\n        location = %s";
+
+"Direct Thermal Media" = "Direct Thermal Media";
+
+"Disabled" = "Disabled";
+
+"Document %d not found in job %d." = "Document %d not found in job %d.";
+
+"Double Postcard" = "Double Postcard";
+
+"Driver Name: " = "Driver Name: ";
+
+"Driver Version: " = "Driver Version: ";
+
+"Duplexer" = "Duplexer";
+
+"Dymo" = "Dymo";
+
+"EPL1 Label Printer" = "EPL1 Label Printer";
+
+"EPL2 Label Printer" = "EPL2 Label Printer";
+
+"Edit Configuration File" = "Edit Configuration File";
+
+"Empty PPD file" = "Empty PPD file";
+
+"Ending Banner" = "Ending Banner";
+
+"English" = "English";
+
+"Enter old password:" = "Enter old password:";
+
+"Enter password again:" = "Enter password again:";
+
+"Enter password:" = "Enter password:";
+
+"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 Feed" = "Envelope Feed";
+
+"Epson" = "Epson";
+
+"Error Policy" = "Error Policy";
+
+"Error: need hostname after \"-h\" option." = "Error: need hostname after \"-h\" option.";
+
+"Every 10 Labels" = "Every 10 Labels";
+
+"Every 2 Labels" = "Every 2 Labels";
+
+"Every 3 Labels" = "Every 3 Labels";
+
+"Every 4 Labels" = "Every 4 Labels";
+
+"Every 5 Labels" = "Every 5 Labels";
+
+"Every 6 Labels" = "Every 6 Labels";
+
+"Every 7 Labels" = "Every 7 Labels";
+
+"Every 8 Labels" = "Every 8 Labels";
+
+"Every 9 Labels" = "Every 9 Labels";
+
+"Every Label" = "Every Label";
+
+"Expectation Failed" = "Expectation Failed";
+
+"Export Printers to Samba" = "Export Printers to Samba";
+
+"FAIL" = "FAIL";
+
+"File Folder" = "File Folder";
+
+"File Folder - 9/16 x 3 7/16\"" = "File Folder - 9/16 x 3 7/16\"";
+
+"File device URIs have been disabled! To enable, see the FileDevice directive in \"%s/cupsd.conf\"." = "File device URIs have been disabled! To enable, see the FileDevice directive in \"%s/cupsd.conf\".";
+
+"Finished page %d." = "Finished page %d.";
+
+"Folio" = "Folio";
+
+"Forbidden" = "Forbidden";
+
+"Formatting page %d." = "Formatting page %d.";
+
+"General" = "General";
+
+"Generic" = "Generic";
+
+"German FanFold" = "German FanFold";
+
+"German FanFold Legal" = "German FanFold Legal";
+
+"Get-Response-PDU uses indefinite length" = "Get-Response-PDU uses indefinite length";
+
+"Glossy Paper" = "Glossy Paper";
+
+"Got a printer-uri attribute but no job-id" = "Got a printer-uri attribute but no job-id";
+
+"Grayscale" = "Grayscale";
+
+"HP" = "HP";
+
+"Hanging Folder" = "Hanging Folder";
+
+"Hanging Folder - 9/16 x 2\"" = "Hanging Folder - 9/16 x 2\"";
+
+"ISO B0" = "ISO B0";
+
+"ISO B1" = "ISO B1";
+
+"ISO B10" = "ISO B10";
+
+"ISO B2" = "ISO B2";
+
+"ISO B3" = "ISO B3";
+
+"ISO B4" = "ISO B4";
+
+"ISO B4 Envelope" = "ISO B4 Envelope";
+
+"ISO B5" = "ISO B5";
+
+"ISO B5 (Oversize)" = "ISO B5 (Oversize)";
+
+"ISO B5 Envelope" = "ISO B5 Envelope";
+
+"ISO B6" = "ISO B6";
+
+"ISO B6 Envelope" = "ISO B6 Envelope";
+
+"ISO B7" = "ISO B7";
+
+"ISO B8" = "ISO B8";
+
+"ISO B9" = "ISO B9";
+
+"ISOLatin1" = "ISOLatin1";
+
+"Illegal control character" = "Illegal control character";
+
+"Illegal main keyword string" = "Illegal main keyword string";
+
+"Illegal option keyword string" = "Illegal option keyword string";
+
+"Illegal translation string" = "Illegal translation string";
+
+"Illegal whitespace character" = "Illegal whitespace character";
+
+"Installable Options" = "Installable Options";
+
+"Installed" = "Installed";
+
+"IntelliBar Label Printer" = "IntelliBar Label Printer";
+
+"Intellitech" = "Intellitech";
+
+"Internal Server Error" = "Internal Server Error";
+
+"Internal error" = "Internal error";
+
+"Internet Postage 2-Part" = "Internet Postage 2-Part";
+
+"Internet Postage 2-Part - 2 1/4 x 7 1/2\"" = "Internet Postage 2-Part - 2 1/4 x 7 1/2\"";
+
+"Internet Postage 3-Part" = "Internet Postage 3-Part";
+
+"Internet Postage 3-Part - 2 1/4 x 7\"" = "Internet Postage 3-Part - 2 1/4 x 7\"";
+
+"Internet Printing Protocol" = "Internet Printing Protocol";
+
+"Invite Envelope" = "Invite Envelope";
+
+"Italian Envelope" = "Italian Envelope";
+
+"JCL" = "JCL";
+
+"Job #%d cannot be restarted - no files" = "Job #%d cannot be restarted - no files";
+
+"Job #%d does not exist" = "Job #%d does not exist";
+
+"Job #%d is already aborted - can't cancel." = "Job #%d is already aborted - can't cancel.";
+
+"Job #%d is already canceled - can't cancel." = "Job #%d is already canceled - can't cancel.";
+
+"Job #%d is already completed - can't cancel." = "Job #%d is already completed - can't cancel.";
+
+"Job #%d is finished and cannot be altered" = "Job #%d is finished and cannot be altered";
+
+"Job #%d is not complete" = "Job #%d is not complete";
+
+"Job #%d is not held" = "Job #%d is not held";
+
+"Job #%d is not held for authentication" = "Job #%d is not held for authentication";
+
+"Job #%s does not exist" = "Job #%s does not exist";
+
+"Job %d not found" = "Job %d not found";
+
+"Job Completed" = "Job Completed";
+
+"Job Created" = "Job Created";
+
+"Job ID: " = "Job ID: ";
+
+"Job Options Changed" = "Job Options Changed";
+
+"Job Stopped" = "Job Stopped";
+
+"Job UUID: " = "Job UUID: ";
+
+"Job is completed and cannot be changed." = "Job is completed and cannot be changed.";
+
+"Job operation failed:" = "Job operation failed:";
+
+"Job state cannot be changed." = "Job state cannot be changed.";
+
+"Job subscriptions cannot be renewed" = "Job subscriptions cannot be renewed";
+
+"Jobs" = "Jobs";
+
+"Kaku2 Envelope" = "Kaku2 Envelope";
+
+"Kaku3 Envelope" = "Kaku3 Envelope";
+
+"LPD/LPR Host or Printer" = "LPD/LPR Host or Printer";
+
+"Label Printer" = "Label Printer";
+
+"Label Top" = "Label Top";
+
+"Language \"%s\" not supported" = "Language \"%s\" not supported";
+
+"Large Address" = "Large Address";
+
+"Large Address - 1 4/10 x 3 1/2\"" = "Large Address - 1 4/10 x 3 1/2\"";
+
+"LaserJet Series PCL 4/5" = "LaserJet Series PCL 4/5";
+
+"Light" = "Light";
+
+"Line longer than the maximum allowed (255 characters)" = "Line longer than the maximum allowed (255 characters)";
+
+"List Available Printers" = "List Available Printers";
+
+"Loading print file." = "Loading print file.";
+
+"Location: " = "Location: ";
+
+"Long-Edge (Portrait)" = "Long-Edge (Portrait)";
+
+"Looking for printer." = "Looking for printer.";
+
+"Make and Model: " = "Make and Model: ";
+
+"Manual Feed" = "Manual Feed";
+
+"Media Dimensions: " = "Media Dimensions: ";
+
+"Media Limits: " = "Media Limits: ";
+
+"Media Name: " = "Media Name: ";
+
+"Media Size" = "Media Size";
+
+"Media Source" = "Media Source";
+
+"Media Tracking" = "Media Tracking";
+
+"Media Type" = "Media Type";
+
+"Medium" = "Medium";
+
+"Memory allocation error" = "Memory allocation error";
+
+"Missing PPD-Adobe-4.x header" = "Missing PPD-Adobe-4.x header";
+
+"Missing asterisk in column 1" = "Missing asterisk in column 1";
+
+"Missing document-number attribute" = "Missing document-number attribute";
+
+"Missing double quote on line %d" = "Missing double quote on line %d";
+
+"Missing form variable" = "Missing form variable";
+
+"Missing media or media-col." = "Missing media or media-col.";
+
+"Missing media-size in media-col." = "Missing media-size in media-col.";
+
+"Missing notify-subscription-ids attribute" = "Missing notify-subscription-ids attribute";
+
+"Missing option keyword" = "Missing option keyword";
+
+"Missing requesting-user-name attribute" = "Missing requesting-user-name attribute";
+
+"Missing required attributes" = "Missing required attributes";
+
+"Missing value on line %d" = "Missing value on line %d";
+
+"Missing value on line %d of banner file." = "Missing value on line %d of banner file.";
+
+"Missing value string" = "Missing value string";
+
+"Missing x-dimension in media-size." = "Missing x-dimension in media-size.";
+
+"Missing y-dimension in media-size." = "Missing y-dimension in media-size.";
+
+"Model:  name = %s\n        natural_language = %s\n        make-and-model = %s\n        device-id = %s" = "Model:  name = %s\n        natural_language = %s\n        make-and-model = %s\n        device-id = %s";
+
+"Modify Class" = "Modify Class";
+
+"Modify Printer" = "Modify Printer";
+
+"Monarch" = "Monarch";
+
+"Monarch Envelope" = "Monarch Envelope";
+
+"Move All Jobs" = "Move All Jobs";
+
+"Move Job" = "Move Job";
+
+"Moved Permanently" = "Moved Permanently";
+
+"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";
+
+"Network host \"%s\" is busy; will retry in %d seconds." = "Network host \"%s\" is busy; will retry in %d seconds.";
+
+"Network printer \"%s\" is busy." = "Network printer \"%s\" is busy.";
+
+"Network printer \"%s\" is not responding." = "Network printer \"%s\" is not responding.";
+
+"Network printer \"%s\" is unreachable at this time." = "Network printer \"%s\" is unreachable at this time.";
+
+"Network printer \"%s\" may not exist or is unavailable at this time." = "Network printer \"%s\" may not exist or is unavailable at this time.";
+
+"Never" = "Never";
+
+"New Stylus Color Series" = "New Stylus Color Series";
+
+"New Stylus Photo Series" = "New Stylus Photo Series";
+
+"No" = "No";
+
+"No Content" = "No Content";
+
+"No PPD name" = "No PPD name";
+
+"No VarBind SEQUENCE" = "No VarBind SEQUENCE";
+
+"No Windows printer drivers are installed" = "No Windows printer drivers are installed";
+
+"No active connection" = "No active connection";
+
+"No active jobs on %s" = "No active jobs on %s";
+
+"No attributes in request" = "No attributes in request";
+
+"No authentication information provided" = "No authentication information provided";
+
+"No community name" = "No community name";
+
+"No default printer" = "No default printer";
+
+"No destinations added." = "No destinations added.";
+
+"No device URI found in argv[0] or in DEVICE_URI environment variable." = "No device URI found in argv[0] or in DEVICE_URI environment variable.";
+
+"No error-index" = "No error-index";
+
+"No error-status" = "No error-status";
+
+"No file!?" = "No file!?";
+
+"No fonts in charset file." = "No fonts in charset file.";
+
+"No modification time" = "No modification time";
+
+"No name OID" = "No name OID";
+
+"No pages were found." = "No pages were found.";
+
+"No printer name" = "No printer name";
+
+"No printer-uri found" = "No printer-uri found";
+
+"No printer-uri found for class" = "No printer-uri found for class";
+
+"No printer-uri in request" = "No printer-uri in request";
+
+"No request-id" = "No request-id";
+
+"No subscription attributes in request" = "No subscription attributes in request";
+
+"No subscriptions found." = "No subscriptions found.";
+
+"No variable-bindings SEQUENCE" = "No variable-bindings SEQUENCE";
+
+"No version number" = "No version number";
+
+"Non-continuous (Mark sensing)" = "Non-continuous (Mark sensing)";
+
+"Non-continuous (Web sensing)" = "Non-continuous (Web sensing)";
+
+"Normal" = "Normal";
+
+"Not Found" = "Not Found";
+
+"Not Implemented" = "Not Implemented";
+
+"Not Installed" = "Not Installed";
+
+"Not Modified" = "Not Modified";
+
+"Not Supported" = "Not Supported";
+
+"Not allowed to print." = "Not allowed to print.";
+
+"Note" = "Note";
+
+"Note: this program only validates the DSC comments, not the PostScript itself." = "Note: this program only validates the DSC comments, not the PostScript itself.";
+
+"OK" = "OK";
+
+"Off (1-Sided)" = "Off (1-Sided)";
+
+"Oki" = "Oki";
+
+"Online Help" = "Online Help";
+
+"Open of %s failed: %s" = "Open of %s failed: %s";
+
+"OpenGroup without a CloseGroup first" = "OpenGroup without a CloseGroup first";
+
+"OpenUI/JCLOpenUI without a CloseUI/JCLCloseUI first" = "OpenUI/JCLOpenUI without a CloseUI/JCLCloseUI first";
+
+"Operation Policy" = "Operation Policy";
+
+"Option \"%s\" cannot be included via %%%%IncludeFeature." = "Option \"%s\" cannot be included via %%%%IncludeFeature.";
+
+"Options Installed" = "Options Installed";
+
+"Options:" = "Options:";
+
+"Options: " = "Options: ";
+
+"Out of memory." = "Out of memory.";
+
+"Output Mode" = "Output Mode";
+
+"Output for printer %s is sent to %s" = "Output for printer %s is sent to %s";
+
+"Output for printer %s is sent to remote printer %s on %s" = "Output for printer %s is sent to remote printer %s on %s";
+
+"Output for printer %s/%s is sent to %s" = "Output for printer %s/%s is sent to %s";
+
+"Output for printer %s/%s is sent to remote printer %s on %s" = "Output for printer %s/%s is sent to remote printer %s on %s";
+
+"PASS" = "PASS";
+
+"PCL Laser Printer" = "PCL Laser Printer";
+
+"PRC1 Envelope" = "PRC1 Envelope";
+
+"PRC10 Envelope" = "PRC10 Envelope";
+
+"PRC16K" = "PRC16K";
+
+"PRC2 Envelope" = "PRC2 Envelope";
+
+"PRC3 Envelope" = "PRC3 Envelope";
+
+"PRC32K" = "PRC32K";
+
+"PRC32K (Oversize)" = "PRC32K (Oversize)";
+
+"PRC4 Envelope" = "PRC4 Envelope";
+
+"PRC5 Envelope" = "PRC5 Envelope";
+
+"PRC6 Envelope" = "PRC6 Envelope";
+
+"PRC7 Envelope" = "PRC7 Envelope";
+
+"PRC8 Envelope" = "PRC8 Envelope";
+
+"PRC9 Envelope" = "PRC9 Envelope";
+
+"Packet does not contain a Get-Response-PDU" = "Packet does not contain a Get-Response-PDU";
+
+"Packet does not start with SEQUENCE" = "Packet does not start with SEQUENCE";
+
+"ParamCustominCutInterval" = "ParamCustominCutInterval";
+
+"ParamCustominTearInterval" = "ParamCustominTearInterval";
+
+"Password for %s on %s? " = "Password for %s on %s? ";
+
+"Password for %s required to access %s via SAMBA: " = "Password for %s required to access %s via SAMBA: ";
+
+"Pause Class" = "Pause Class";
+
+"Pause Printer" = "Pause Printer";
+
+"Peel-Off" = "Peel-Off";
+
+"Personal Envelope" = "Personal Envelope";
+
+"Photo" = "Photo";
+
+"Photo Labels" = "Photo Labels";
+
+"Plain Paper" = "Plain Paper";
+
+"Policies" = "Policies";
+
+"Port Monitor" = "Port Monitor";
+
+"PostScript Printer" = "PostScript Printer";
+
+"Postcard" = "Postcard";
+
+"Print Density" = "Print Density";
+
+"Print Job:" = "Print Job:";
+
+"Print Mode" = "Print Mode";
+
+"Print Rate" = "Print Rate";
+
+"Print Self-Test Page" = "Print Self-Test Page";
+
+"Print Speed" = "Print Speed";
+
+"Print Test Page" = "Print Test Page";
+
+"Print and Cut" = "Print and Cut";
+
+"Print and Tear" = "Print and Tear";
+
+"Print file accepted - job ID %d." = "Print file accepted - job ID %d.";
+
+"Print file accepted - job ID unknown." = "Print file accepted - job ID unknown.";
+
+"Print file sent." = "Print file sent.";
+
+"Print file was not accepted: %s" = "Print file was not accepted: %s";
+
+"Printed For: " = "Printed For: ";
+
+"Printed From: " = "Printed From: ";
+
+"Printed On: " = "Printed On: ";
+
+"Printer Added" = "Printer Added";
+
+"Printer Default" = "Printer Default";
+
+"Printer Deleted" = "Printer Deleted";
+
+"Printer Modified" = "Printer Modified";
+
+"Printer Name: " = "Printer Name: ";
+
+"Printer Paused" = "Printer Paused";
+
+"Printer Settings" = "Printer Settings";
+
+"Printer busy, will retry in 10 seconds." = "Printer busy, will retry in 10 seconds.";
+
+"Printer busy; will retry in 10 seconds." = "Printer busy; will retry in 10 seconds.";
+
+"Printer busy; will retry in 30 seconds." = "Printer busy; will retry in 30 seconds.";
+
+"Printer did not respond after %d seconds." = "Printer did not respond after %d seconds.";
+
+"Printer does not support IPP/%d.%d, trying IPP/%s." = "Printer does not support IPP/%d.%d, trying IPP/%s.";
+
+"Printer is busy, will retry in 5 seconds." = "Printer is busy, will retry in 5 seconds.";
+
+"Printer is not currently connected." = "Printer is not currently connected.";
+
+"Printer is now connected." = "Printer is now connected.";
+
+"Printer is now online." = "Printer is now online.";
+
+"Printer is offline." = "Printer is offline.";
+
+"Printer not connected, will retry in 30 seconds." = "Printer not connected, will retry in 30 seconds.";
+
+"Printer not connected; will retry in 30 seconds." = "Printer not connected; will retry in 30 seconds.";
+
+"Printer:" = "Printer:";
+
+"Printers" = "Printers";
+
+"Printing page %d, %d%% complete." = "Printing page %d, %d%% complete.";
+
+"Printing page %d." = "Printing page %d.";
+
+"Purge Jobs" = "Purge Jobs";
+
+"Quarto" = "Quarto";
+
+"Quota limit reached." = "Quota limit reached.";
+
+"Rank    Owner   Job     File(s)                         Total Size" = "Rank    Owner   Job     File(s)                         Total Size";
+
+"Rank   Owner      Pri  Job        Files                       Total Size" = "Rank   Owner      Pri  Job        Files                       Total Size";
+
+"Ready to print." = "Ready to print.";
+
+"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).";
+
+"Reprint After Error" = "Reprint After Error";
+
+"Request Entity Too Large" = "Request Entity Too Large";
+
+"Resolution" = "Resolution";
+
+"Resume Class" = "Resume Class";
+
+"Resume Printer" = "Resume Printer";
+
+"Return Address" = "Return Address";
+
+"Return Address - 3/4 x 2\"" = "Return Address - 3/4 x 2\"";
+
+"Rewind" = "Rewind";
+
+"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";
+
+"See Other" = "See Other";
+
+"Sending data to printer." = "Sending data to printer.";
+
+"Serial Port #%d" = "Serial Port #%d";
+
+"Server Restarted" = "Server Restarted";
+
+"Server Security Auditing" = "Server Security Auditing";
+
+"Server Started" = "Server Started";
+
+"Server Stopped" = "Server Stopped";
+
+"Service Unavailable" = "Service Unavailable";
+
+"Set Allowed Users" = "Set Allowed Users";
+
+"Set As Server Default" = "Set As Server Default";
+
+"Set Class Options" = "Set Class Options";
+
+"Set Printer Options" = "Set Printer Options";
+
+"Set Publishing" = "Set Publishing";
+
+"Shipping Address" = "Shipping Address";
+
+"Shipping Address - 2 5/16 x 4\"" = "Shipping Address - 2 5/16 x 4\"";
+
+"Short-Edge (Landscape)" = "Short-Edge (Landscape)";
+
+"Special Paper" = "Special Paper";
+
+"Spooling job, %.0f%% complete." = "Spooling job, %.0f%% complete.";
+
+"Standard" = "Standard";
+
+"Starting Banner" = "Starting Banner";
+
+"Starting page %d." = "Starting page %d.";
+
+"Statement" = "Statement";
+
+"Stylus Color Series" = "Stylus Color Series";
+
+"Stylus Photo Series" = "Stylus Photo Series";
+
+"Super A" = "Super A";
+
+"Super B" = "Super B";
+
+"Super B/A3" = "Super B/A3";
+
+"Switching Protocols" = "Switching Protocols";
+
+"Tabloid" = "Tabloid";
+
+"Tabloid (Oversize)" = "Tabloid (Oversize)";
+
+"Tear" = "Tear";
+
+"Tear-Off" = "Tear-Off";
+
+"Tear-Off Adjust Position" = "Tear-Off Adjust Position";
+
+"The %s attribute cannot be provided with job-ids." = "The %s attribute cannot be provided with job-ids.";
+
+"The PPD file \"%s\" could not be found." = "The PPD file \"%s\" could not be found.";
+
+"The PPD file \"%s\" could not be opened: %s" = "The PPD file \"%s\" could not be opened: %s";
+
+"The PPD file could not be opened." = "The PPD file could not be opened.";
+
+"The class name may only contain up to 127 printable characters and may not contain spaces, slashes (/), or the pound sign (#)." = "The class name may only contain up to 127 printable characters and may not contain spaces, slashes (/), or the pound sign (#).";
+
+"The developer unit needs to be replaced." = "The developer unit needs to be replaced.";
+
+"The developer unit will need to be replaced soon." = "The developer unit will need to be replaced soon.";
+
+"The fuser's temperature is high." = "The fuser's temperature is high.";
+
+"The fuser's temperature is low." = "The fuser's temperature is low.";
+
+"The notify-lease-duration attribute cannot be used with job subscriptions." = "The notify-lease-duration attribute cannot be used with job subscriptions.";
+
+"The notify-user-data value is too large (%d > 63 octets)" = "The notify-user-data value is too large (%d > 63 octets)";
+
+"The optical photoconductor needs to be replaced." = "The optical photoconductor needs to be replaced.";
+
+"The optical photoconductor will need to be replaced soon." = "The optical photoconductor will need to be replaced soon.";
+
+"The output bin is almost full." = "The output bin is almost full.";
+
+"The output bin is full." = "The output bin is full.";
+
+"The output bin is missing." = "The output bin is missing.";
+
+"The page setup information was not valid." = "The page setup information was not valid.";
+
+"The paper tray is almost empty." = "The paper tray is almost empty.";
+
+"The paper tray is empty." = "The paper tray is empty.";
+
+"The paper tray is missing." = "The paper tray is missing.";
+
+"The paper tray needs to be filled." = "The paper tray needs to be filled.";
+
+"The print file could not be opened." = "The print file could not be opened.";
+
+"The printer URI is incorrect or no longer exists." = "The printer URI is incorrect or no longer exists.";
+
+"The printer is almost out of ink." = "The printer is almost out of ink.";
+
+"The printer is low on toner." = "The printer is low on toner.";
+
+"The printer is not responding." = "The printer is not responding.";
+
+"The printer is offline." = "The printer is offline.";
+
+"The printer is out of ink." = "The printer is out of ink.";
+
+"The printer is out of toner." = "The printer is out of toner.";
+
+"The printer name may only contain up to 127 printable characters and may not contain spaces, slashes (/), or the pound sign (#)." = "The printer name may only contain up to 127 printable characters and may not contain spaces, slashes (/), or the pound sign (#).";
+
+"The printer or class is not shared" = "The printer or class is not shared";
+
+"The printer or class was not found." = "The printer or class was not found.";
+
+"The printer's cover is open." = "The printer's cover is open.";
+
+"The printer's door is open." = "The printer's door is open.";
+
+"The printer's interlock is open." = "The printer's interlock is open.";
+
+"The printer's waste bin is almost full." = "The printer's waste bin is almost full.";
+
+"The printer's waste bin is full." = "The printer's waste bin is full.";
+
+"The printer-uri \"%s\" contains invalid characters." = "The printer-uri \"%s\" contains invalid characters.";
+
+"The printer-uri attribute is required" = "The printer-uri attribute is required";
+
+"The printer-uri must be of the form \"ipp://HOSTNAME/classes/CLASSNAME\"." = "The printer-uri must be of the form \"ipp://HOSTNAME/classes/CLASSNAME\".";
+
+"The printer-uri must be of the form \"ipp://HOSTNAME/printers/PRINTERNAME\"." = "The printer-uri must be of the form \"ipp://HOSTNAME/printers/PRINTERNAME\".";
+
+"The subscription name may not contain spaces, slashes (/), question marks (?), or the pound sign (#)." = "The subscription name may not contain spaces, slashes (/), question marks (?), or the pound sign (#).";
+
+"The which-jobs value \"%s\" is not supported." = "The which-jobs value \"%s\" is not supported.";
+
+"There are too many subscriptions." = "There are too many subscriptions.";
+
+"There is a paper jam." = "There is a paper jam.";
+
+"There was an unrecoverable USB error." = "There was an unrecoverable USB error.";
+
+"Thermal Transfer Media" = "Thermal Transfer Media";
+
+"Title: " = "Title: ";
+
+"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)";
+
+"Transparency" = "Transparency";
+
+"Tray" = "Tray";
+
+"Tray 1" = "Tray 1";
+
+"Tray 2" = "Tray 2";
+
+"Tray 3" = "Tray 3";
+
+"Tray 4" = "Tray 4";
+
+"URI Too Long" = "URI Too Long";
+
+"US Executive" = "US Executive";
+
+"US Fanfold" = "US Fanfold";
+
+"US Ledger" = "US Ledger";
+
+"US Legal" = "US Legal";
+
+"US Legal (Oversize)" = "US Legal (Oversize)";
+
+"US Letter" = "US Letter";
+
+"US Letter (Oversize)" = "US Letter (Oversize)";
+
+"US Letter (Small)" = "US Letter (Small)";
+
+"USB Serial Port #%d" = "USB Serial Port #%d";
+
+"Unable to access cupsd.conf file:" = "Unable to access cupsd.conf file:";
+
+"Unable to add RSS subscription:" = "Unable to add RSS subscription:";
+
+"Unable to add class:" = "Unable to add class:";
+
+"Unable to add file to job: %s" = "Unable to add file to job: %s";
+
+"Unable to add job for destination \"%s\"" = "Unable to add job for destination \"%s\"";
+
+"Unable to add printer:" = "Unable to add printer:";
+
+"Unable to allocate memory for file types" = "Unable to allocate memory for file types";
+
+"Unable to allocate memory for page info" = "Unable to allocate memory for page info";
+
+"Unable to allocate memory for pages array" = "Unable to allocate memory for pages array";
+
+"Unable to cancel RSS subscription:" = "Unable to cancel RSS subscription:";
+
+"Unable to cancel job: %s" = "Unable to cancel job: %s";
+
+"Unable to change printer-is-shared attribute:" = "Unable to change printer-is-shared attribute:";
+
+"Unable to change printer:" = "Unable to change printer:";
+
+"Unable to change server settings:" = "Unable to change server settings:";
+
+"Unable to connect to host." = "Unable to connect to host.";
+
+"Unable to connect to server" = "Unable to connect to server";
+
+"Unable to contact printer, queuing on next printer in class." = "Unable to contact printer, queuing on next printer in class.";
+
+"Unable to copy 64-bit CUPS printer driver files (%d)" = "Unable to copy 64-bit CUPS printer driver files (%d)";
+
+"Unable to copy 64-bit Windows printer driver files (%d)" = "Unable to copy 64-bit Windows printer driver files (%d)";
+
+"Unable to copy CUPS printer driver files (%d)" = "Unable to copy CUPS printer driver files (%d)";
+
+"Unable to copy PPD file" = "Unable to copy PPD file";
+
+"Unable to copy PPD file - %s" = "Unable to copy PPD file - %s";
+
+"Unable to copy Windows 2000 printer driver files (%d)" = "Unable to copy Windows 2000 printer driver files (%d)";
+
+"Unable to copy Windows 9x printer driver files (%d)" = "Unable to copy Windows 9x printer driver files (%d)";
+
+"Unable to copy interface script - %s" = "Unable to copy interface script - %s";
+
+"Unable to copy print file" = "Unable to copy print file";
+
+"Unable to create compressed print file" = "Unable to create compressed print file";
+
+"Unable to create pipes for filters" = "Unable to create pipes for filters";
+
+"Unable to create printer-uri" = "Unable to create printer-uri";
+
+"Unable to create temporary file" = "Unable to create temporary file";
+
+"Unable to create temporary file:" = "Unable to create temporary file:";
+
+"Unable to delete class:" = "Unable to delete class:";
+
+"Unable to delete printer:" = "Unable to delete printer:";
+
+"Unable to do maintenance command:" = "Unable to do maintenance command:";
+
+"Unable to edit cupsd.conf files larger than 1MB" = "Unable to edit cupsd.conf files larger than 1MB";
+
+"Unable to establish a secure connection to host (certificate chain invalid)." = "Unable to establish a secure connection to host (certificate chain invalid).";
+
+"Unable to establish a secure connection to host (certificate not yet valid)." = "Unable to establish a secure connection to host (certificate not yet valid).";
+
+"Unable to establish a secure connection to host (expired certificate)." = "Unable to establish a secure connection to host (expired certificate).";
+
+"Unable to establish a secure connection to host (host name mismatch)." = "Unable to establish a secure connection to host (host name mismatch).";
+
+"Unable to establish a secure connection to host (peer dropped connection before responding)." = "Unable to establish a secure connection to host (peer dropped connection before responding).";
+
+"Unable to establish a secure connection to host (self-signed certificate)." = "Unable to establish a secure connection to host (self-signed certificate).";
+
+"Unable to establish a secure connection to host (untrusted certificate)." = "Unable to establish a secure connection to host (untrusted certificate).";
+
+"Unable to establish a secure connection to host." = "Unable to establish a secure connection to host.";
+
+"Unable to find destination for job" = "Unable to find destination for job";
+
+"Unable to find printer." = "Unable to find printer.";
+
+"Unable to fork filter" = "Unable to fork filter";
+
+"Unable to generate compressed print file" = "Unable to generate compressed print file";
+
+"Unable to get class list:" = "Unable to get class list:";
+
+"Unable to get class status:" = "Unable to get class status:";
+
+"Unable to get job attributes: %s" = "Unable to get job attributes: %s";
+
+"Unable to get list of printer drivers:" = "Unable to get list of printer drivers:";
+
+"Unable to get printer attributes:" = "Unable to get printer attributes:";
+
+"Unable to get printer list:" = "Unable to get printer list:";
+
+"Unable to get printer status:" = "Unable to get printer status:";
+
+"Unable to get printer status: %s" = "Unable to get printer status: %s";
+
+"Unable to install Windows 2000 printer driver files (%d)" = "Unable to install Windows 2000 printer driver files (%d)";
+
+"Unable to install Windows 9x printer driver files (%d)" = "Unable to install Windows 9x printer driver files (%d)";
+
+"Unable to locate network printer \"%s\"." = "Unable to locate network printer \"%s\".";
+
+"Unable to locate printer \"%s\"." = "Unable to locate printer \"%s\".";
+
+"Unable to modify class:" = "Unable to modify class:";
+
+"Unable to modify printer:" = "Unable to modify printer:";
+
+"Unable to move job" = "Unable to move job";
+
+"Unable to move jobs" = "Unable to move jobs";
+
+"Unable to open PPD file" = "Unable to open PPD file";
+
+"Unable to open PPD file:" = "Unable to open PPD file:";
+
+"Unable to open charset file" = "Unable to open charset file";
+
+"Unable to open compressed print file" = "Unable to open compressed print file";
+
+"Unable to open cupsd.conf file:" = "Unable to open cupsd.conf file:";
+
+"Unable to open device file" = "Unable to open device file";
+
+"Unable to open document %d in job %d" = "Unable to open document %d in job %d";
+
+"Unable to open print file" = "Unable to open print file";
+
+"Unable to open psglyphs" = "Unable to open psglyphs";
+
+"Unable to open raster file" = "Unable to open raster file";
+
+"Unable to print %d text columns." = "Unable to print %d text columns.";
+
+"Unable to print %dx%d text page." = "Unable to print %dx%d text page.";
+
+"Unable to print test page:" = "Unable to print test page:";
+
+"Unable to print: the printer does not conform to the IPP standard." = "Unable to print: the printer does not conform to the IPP standard.";
+
+"Unable to read print data" = "Unable to read print data";
+
+"Unable to read print data." = "Unable to read print data.";
+
+"Unable to run \"%s\": %s" = "Unable to run \"%s\": %s";
+
+"Unable to see in file" = "Unable to see in file";
+
+"Unable to send command to printer driver" = "Unable to send command to printer driver";
+
+"Unable to send data to printer." = "Unable to send data to printer.";
+
+"Unable to send raster data to the driver." = "Unable to send raster data to the driver.";
+
+"Unable to set Windows printer driver (%d)" = "Unable to set Windows printer driver (%d)";
+
+"Unable to set options:" = "Unable to set options:";
+
+"Unable to set server default:" = "Unable to set server default:";
+
+"Unable to upload cupsd.conf file:" = "Unable to upload cupsd.conf file:";
+
+"Unable to use legacy USB class driver." = "Unable to use legacy USB class driver.";
+
+"Unable to write print data" = "Unable to write print data";
+
+"Unable to write uncompressed print data: %s" = "Unable to write uncompressed print data: %s";
+
+"Unauthorized" = "Unauthorized";
+
+"Units" = "Units";
+
+"Unknown" = "Unknown";
+
+"Unknown choice \"%s\" for option \"%s\"." = "Unknown choice \"%s\" for option \"%s\".";
+
+"Unknown encryption option value: \"%s\"." = "Unknown encryption option value: \"%s\".";
+
+"Unknown file order: \"%s\"." = "Unknown file order: \"%s\".";
+
+"Unknown format character: \"%c\"." = "Unknown format character: \"%c\".";
+
+"Unknown option \"%s\" with value \"%s\"." = "Unknown option \"%s\" with value \"%s\".";
+
+"Unknown option \"%s\"." = "Unknown option \"%s\".";
+
+"Unknown print mode: \"%s\"." = "Unknown print mode: \"%s\".";
+
+"Unknown printer-error-policy \"%s\"." = "Unknown printer-error-policy \"%s\".";
+
+"Unknown printer-op-policy \"%s\"." = "Unknown printer-op-policy \"%s\".";
+
+"Unknown version option value: \"%s\"." = "Unknown version option value: \"%s\".";
+
+"Unsupported baud rate: %s" = "Unsupported baud rate: %s";
+
+"Unsupported brightness value %s, using brightness=100." = "Unsupported brightness value %s, using brightness=100.";
+
+"Unsupported character set \"%s\"" = "Unsupported character set \"%s\"";
+
+"Unsupported compression \"%s\"" = "Unsupported compression \"%s\"";
+
+"Unsupported document-format \"%s\"" = "Unsupported document-format \"%s\"";
+
+"Unsupported format '%s'" = "Unsupported format '%s'";
+
+"Unsupported format '%s/%s'" = "Unsupported format '%s/%s'";
+
+"Unsupported gamma value %s, using gamma=1000." = "Unsupported gamma value %s, using gamma=1000.";
+
+"Unsupported margins." = "Unsupported margins.";
+
+"Unsupported media value." = "Unsupported media value.";
+
+"Unsupported number-up value %d, using number-up=1." = "Unsupported number-up value %d, using number-up=1.";
+
+"Unsupported number-up-layout value %s, using number-up-layout=lrtb." = "Unsupported number-up-layout value %s, using number-up-layout=lrtb.";
+
+"Unsupported page-border value %s, using page-border=none." = "Unsupported page-border value %s, using page-border=none.";
+
+"Unsupported value type" = "Unsupported value type";
+
+"Upgrade Required" = "Upgrade Required";
+
+"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]" = "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]";
+
+"Usage: %s job user title copies options [filename]" = "Usage: %s job user title copies options [filename]";
+
+"Usage: %s job-id user title copies options [file]" = "Usage: %s job-id user title copies options [file]";
+
+"Usage: %s job-id user title copies options file" = "Usage: %s job-id user title copies options file";
+
+"Usage: convert [ options ]" = "Usage: convert [ options ]";
+
+"Usage: cupsaddsmb [options] printer1 ... printerN" = "Usage: cupsaddsmb [options] printer1 ... printerN";
+
+"Usage: cupsctl [options] [param=value ... paramN=valueN]" = "Usage: cupsctl [options] [param=value ... paramN=valueN]";
+
+"Usage: cupsd [options]" = "Usage: cupsd [options]";
+
+"Usage: cupsfilter -m mime/type [ options ] filename" = "Usage: cupsfilter -m mime/type [ 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: ipptool [options] URI filename [ ... filenameN ]" = "Usage: ipptool [options] URI filename [ ... filenameN ]";
+
+"Usage: lpmove job/src dest" = "Usage: lpmove job/src dest";
+
+"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" = "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";
+
+"Usage: lppasswd [-g groupname]" = "Usage: lppasswd [-g groupname]";
+
+"Usage: lppasswd [-g groupname] [username]\n       lppasswd [-g groupname] -a [username]\n       lppasswd [-g groupname] -x [username]" = "Usage: lppasswd [-g groupname] [username]\n       lppasswd [-g groupname] -a [username]\n       lppasswd [-g groupname] -x [username]";
+
+"Usage: lpq [-P dest] [-U username] [-h hostname[:port]] [-l] [+interval]" = "Usage: lpq [-P dest] [-U username] [-h hostname[:port]] [-l] [+interval]";
+
+"Usage: ppdc [options] filename.drv [ ... filenameN.drv ]" = "Usage: ppdc [options] filename.drv [ ... filenameN.drv ]";
+
+"Usage: ppdhtml [options] filename.drv >filename.html" = "Usage: ppdhtml [options] filename.drv >filename.html";
+
+"Usage: ppdi [options] filename.ppd [ ... filenameN.ppd ]" = "Usage: ppdi [options] filename.ppd [ ... filenameN.ppd ]";
+
+"Usage: ppdmerge [options] filename.ppd [ ... filenameN.ppd ]" = "Usage: ppdmerge [options] filename.ppd [ ... filenameN.ppd ]";
+
+"Usage: ppdpo [options] -o filename.po filename.drv [ ... filenameN.drv ]" = "Usage: ppdpo [options] -o filename.po filename.drv [ ... filenameN.drv ]";
+
+"Usage: snmp [host-or-ip-address]" = "Usage: snmp [host-or-ip-address]";
+
+"Value uses indefinite length" = "Value uses indefinite length";
+
+"VarBind uses indefinite length" = "VarBind uses indefinite length";
+
+"Version uses indefinite length" = "Version uses indefinite length";
+
+"Waiting for job to complete." = "Waiting for job to complete.";
+
+"Waiting for printer to become available." = "Waiting for printer to become available.";
+
+"Waiting for printer to finish." = "Waiting for printer to finish.";
+
+"Warning, no Windows 2000 printer drivers are installed" = "Warning, no Windows 2000 printer drivers are installed";
+
+"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>.";
+
+"You4 Envelope" = "You4 Envelope";
+
+"Your password must be at least 6 characters long, cannot contain your username, and must contain at least one letter and number." = "Your password must be at least 6 characters long, cannot contain your username, and must contain at least one letter and number.";
+
+"ZPL Label Printer" = "ZPL Label Printer";
+
+"Zebra" = "Zebra";
+
+"aborted" = "aborted";
+
+"canceled" = "canceled";
+
+"completed" = "completed";
+
+"convert: Use the -f option to specify a file to convert." = "convert: Use the -f option to specify a file to convert.";
+
+"cups-deviced failed to execute." = "cups-deviced failed to execute.";
+
+"cups-driverd failed to execute." = "cups-driverd failed to execute.";
+
+"cupsaddsmb: No PPD file for printer \"%s\" - %s" = "cupsaddsmb: No PPD file for printer \"%s\" - %s";
+
+"cupsctl: Unable to connect to server: %s" = "cupsctl: Unable to connect to server: %s";
+
+"cupsctl: Unknown option \"%s\"" = "cupsctl: Unknown option \"%s\"";
+
+"cupsctl: Unknown option \"-%c\"" = "cupsctl: Unknown option \"-%c\"";
+
+"cupsd: Expected config filename after \"-c\" option." = "cupsd: Expected config filename after \"-c\" option.";
+
+"cupsd: Unable to get current directory." = "cupsd: Unable to get current directory.";
+
+"cupsd: Unknown argument \"%s\" - aborting." = "cupsd: Unknown argument \"%s\" - aborting.";
+
+"cupsd: Unknown option \"%c\" - aborting." = "cupsd: Unknown option \"%c\" - aborting.";
+
+"cupsd: launchd(8) support not compiled in, running in normal mode." = "cupsd: launchd(8) support not compiled in, running in normal mode.";
+
+"cupsfilter: Invalid document number %d." = "cupsfilter: Invalid document number %d.";
+
+"cupsfilter: Invalid job ID %d." = "cupsfilter: Invalid job ID %d.";
+
+"cupsfilter: Only one filename can be specified." = "cupsfilter: Only one filename can be specified.";
+
+"cupsfilter: Unable to get job file - %s" = "cupsfilter: Unable to get job file - %s";
+
+"cupstestppd: The -q option is incompatible with the -v option." = "cupstestppd: The -q option is incompatible with the -v option.";
+
+"cupstestppd: The -v option is incompatible with the -q option." = "cupstestppd: The -v option is incompatible with the -q option.";
+
+"device for %s/%s: %s" = "device for %s/%s: %s";
+
+"device for %s: %s" = "device for %s: %s";
+
+"error-index uses indefinite length" = "error-index uses indefinite length";
+
+"error-status uses indefinite length" = "error-status uses indefinite length";
+
+"held" = "held";
+
+"help\t\tGet help on commands." = "help\t\tGet help on commands.";
+
+"idle" = "idle";
+
+"ipptool: \"-i\" and \"-n\" are incompatible with -X\"." = "ipptool: \"-i\" and \"-n\" are incompatible with -X\".";
+
+"ipptool: \"-i\" is incompatible with \"-X\"." = "ipptool: \"-i\" is incompatible with \"-X\".";
+
+"ipptool: \"-n\" is incompatible with \"-X\"." = "ipptool: \"-n\" is incompatible with \"-X\".";
+
+"ipptool: Bad URI - %s." = "ipptool: Bad URI - %s.";
+
+"ipptool: Bad version %s for \"-V\"." = "ipptool: Bad version %s for \"-V\".";
+
+"ipptool: Invalid seconds for \"-i\"." = "ipptool: Invalid seconds for \"-i\".";
+
+"ipptool: May only specify a single URI." = "ipptool: May only specify a single URI.";
+
+"ipptool: Missing count for \"-n\"." = "ipptool: Missing count for \"-n\".";
+
+"ipptool: Missing filename for \"-f\"." = "ipptool: Missing filename for \"-f\".";
+
+"ipptool: Missing name=value for \"-d\"." = "ipptool: Missing name=value for \"-d\".";
+
+"ipptool: Missing seconds for \"-i\"." = "ipptool: Missing seconds for \"-i\".";
+
+"ipptool: Missing timeout for \"-T\"." = "ipptool: Missing timeout for \"-T\".";
+
+"ipptool: Missing version for \"-V\"." = "ipptool: Missing version for \"-V\".";
+
+"ipptool: URI required before test file." = "ipptool: URI required before test file.";
+
+"ipptool: Unknown option \"-%c\"." = "ipptool: Unknown option \"-%c\".";
+
+"job-id %d not found." = "job-id %d not found.";
+
+"job-printer-uri attribute missing" = "job-printer-uri attribute missing";
+
+"lpadmin: Class name can only contain printable characters." = "lpadmin: Class name can only contain printable characters.";
+
+"lpadmin: Expected PPD after \"-P\" option." = "lpadmin: Expected PPD after \"-P\" option.";
+
+"lpadmin: Expected allow/deny:userlist after \"-u\" option." = "lpadmin: Expected allow/deny:userlist after \"-u\" option.";
+
+"lpadmin: Expected class after \"-r\" option." = "lpadmin: Expected class after \"-r\" option.";
+
+"lpadmin: Expected class name after \"-c\" option." = "lpadmin: Expected class name after \"-c\" option.";
+
+"lpadmin: Expected description after \"-D\" option." = "lpadmin: Expected description after \"-D\" option.";
+
+"lpadmin: Expected device URI after \"-v\" option." = "lpadmin: Expected device URI after \"-v\" option.";
+
+"lpadmin: Expected file type(s) after \"-I\" option." = "lpadmin: Expected file type(s) after \"-I\" option.";
+
+"lpadmin: Expected hostname after \"-h\" option." = "lpadmin: Expected hostname after \"-h\" option.";
+
+"lpadmin: Expected interface after \"-i\" option." = "lpadmin: Expected interface after \"-i\" option.";
+
+"lpadmin: Expected location after \"-L\" option." = "lpadmin: Expected location after \"-L\" option.";
+
+"lpadmin: Expected model after \"-m\" option." = "lpadmin: Expected model after \"-m\" option.";
+
+"lpadmin: Expected name=value after \"-o\" option." = "lpadmin: Expected name=value after \"-o\" option.";
+
+"lpadmin: Expected printer after \"-p\" option." = "lpadmin: Expected printer after \"-p\" option.";
+
+"lpadmin: Expected printer name after \"-d\" option." = "lpadmin: Expected printer name after \"-d\" option.";
+
+"lpadmin: Expected printer or class after \"-x\" option." = "lpadmin: Expected printer or class after \"-x\" option.";
+
+"lpadmin: No member names were seen." = "lpadmin: No member names were seen.";
+
+"lpadmin: Printer %s is already a member of class %s." = "lpadmin: Printer %s is already a member of class %s.";
+
+"lpadmin: Printer %s is not a member of class %s." = "lpadmin: Printer %s is not a member of class %s.";
+
+"lpadmin: Printer name can only contain printable characters." = "lpadmin: Printer name can only contain printable characters.";
+
+"lpadmin: Unable to add a printer to the class:\n         You must specify a printer name first." = "lpadmin: Unable to add a printer to the class:\n         You must specify a printer name first.";
+
+"lpadmin: Unable to connect to server: %s" = "lpadmin: Unable to connect to server: %s";
+
+"lpadmin: Unable to create temporary file" = "lpadmin: Unable to create temporary file";
+
+"lpadmin: Unable to open PPD file \"%s\" - %s" = "lpadmin: Unable to open PPD file \"%s\" - %s";
+
+"lpadmin: Unable to remove a printer from the class:\n         You must specify a printer name first." = "lpadmin: Unable to remove a printer from the class:\n         You must specify a printer name first.";
+
+"lpadmin: Unable to set the printer options:\n         You must specify a printer name first." = "lpadmin: Unable to set the printer options:\n         You must specify a printer name first.";
+
+"lpadmin: Unknown allow/deny option \"%s\"." = "lpadmin: Unknown allow/deny option \"%s\".";
+
+"lpadmin: Unknown argument \"%s\"." = "lpadmin: Unknown argument \"%s\".";
+
+"lpadmin: Unknown option \"%c\"." = "lpadmin: Unknown option \"%c\".";
+
+"lpadmin: Warning - content type list ignored." = "lpadmin: Warning - content type list ignored.";
+
+"lpc> " = "lpc> ";
+
+"lpinfo: Expected 1284 device ID string after \"--device-id\"." = "lpinfo: Expected 1284 device ID string after \"--device-id\".";
+
+"lpinfo: Expected language after \"--language\"." = "lpinfo: Expected language after \"--language\".";
+
+"lpinfo: Expected make and model after \"--make-and-model\"." = "lpinfo: Expected make and model after \"--make-and-model\".";
+
+"lpinfo: Expected product string after \"--product\"." = "lpinfo: Expected product string after \"--product\".";
+
+"lpinfo: Expected scheme list after \"--exclude-schemes\"." = "lpinfo: Expected scheme list after \"--exclude-schemes\".";
+
+"lpinfo: Expected scheme list after \"--include-schemes\"." = "lpinfo: Expected scheme list after \"--include-schemes\".";
+
+"lpinfo: Expected timeout after \"--timeout\"." = "lpinfo: Expected timeout after \"--timeout\".";
+
+"lpinfo: Unknown argument \"%s\"." = "lpinfo: Unknown argument \"%s\".";
+
+"lpinfo: Unknown option \"%c\"." = "lpinfo: Unknown option \"%c\".";
+
+"lpinfo: Unknown option \"%s\"." = "lpinfo: Unknown option \"%s\".";
+
+"lpmove: Unable to connect to server: %s" = "lpmove: Unable to connect to server: %s";
+
+"lpmove: Unknown argument \"%s\"." = "lpmove: Unknown argument \"%s\".";
+
+"lpmove: Unknown option \"%c\"." = "lpmove: Unknown option \"%c\".";
+
+"lpoptions: No printers." = "lpoptions: No printers.";
+
+"lpoptions: Unable to add printer or instance: %s" = "lpoptions: Unable to add printer or instance: %s";
+
+"lpoptions: Unable to get PPD file for %s: %s" = "lpoptions: Unable to get PPD file for %s: %s";
+
+"lpoptions: Unable to open PPD file for %s." = "lpoptions: Unable to open PPD file for %s.";
+
+"lpoptions: Unknown printer or class." = "lpoptions: Unknown printer or class.";
+
+"lppasswd: Only root can add or delete passwords." = "lppasswd: Only root can add or delete passwords.";
+
+"lppasswd: Password file busy." = "lppasswd: Password file busy.";
+
+"lppasswd: Password file not updated." = "lppasswd: Password file not updated.";
+
+"lppasswd: Sorry, password doesn't match." = "lppasswd: Sorry, password doesn't match.";
+
+"lppasswd: Sorry, password rejected." = "lppasswd: Sorry, password rejected.";
+
+"lppasswd: Sorry, passwords don't match." = "lppasswd: Sorry, passwords don't match.";
+
+"lppasswd: Unable to copy password string: %s" = "lppasswd: Unable to copy password string: %s";
+
+"lppasswd: Unable to open password file: %s" = "lppasswd: Unable to open password file: %s";
+
+"lppasswd: Unable to write to password file: %s" = "lppasswd: Unable to write to password file: %s";
+
+"lppasswd: failed to backup old password file: %s" = "lppasswd: failed to backup old password file: %s";
+
+"lppasswd: failed to rename password file: %s" = "lppasswd: failed to rename password file: %s";
+
+"lppasswd: user \"%s\" and group \"%s\" do not exist." = "lppasswd: user \"%s\" and group \"%s\" do not exist.";
+
+"lpstat: error - %s environment variable names non-existent destination \"%s\"." = "lpstat: error - %s environment variable names non-existent destination \"%s\".";
+
+"members of class %s:" = "members of class %s:";
+
+"no entries" = "no entries";
+
+"no system default destination" = "no system default destination";
+
+"notify-events not specified" = "notify-events not specified";
+
+"notify-recipient-uri URI \"%s\" is already used" = "notify-recipient-uri URI \"%s\" is already used";
+
+"notify-recipient-uri URI \"%s\" uses unknown scheme" = "notify-recipient-uri URI \"%s\" uses unknown scheme";
+
+"notify-subscription-id %d no good" = "notify-subscription-id %d no good";
+
+"pending" = "pending";
+
+"ppdc: Adding include directory \"%s\"." = "ppdc: Adding include directory \"%s\".";
+
+"ppdc: Adding/updating UI text from %s." = "ppdc: Adding/updating UI text from %s.";
+
+"ppdc: Bad boolean value (%s) on line %d of %s." = "ppdc: Bad boolean value (%s) on line %d of %s.";
+
+"ppdc: Bad font attribute: %s" = "ppdc: Bad font attribute: %s";
+
+"ppdc: Bad resolution name \"%s\" on line %d of %s." = "ppdc: Bad resolution name \"%s\" on line %d of %s.";
+
+"ppdc: Bad status keyword %s on line %d of %s." = "ppdc: Bad status keyword %s on line %d of %s.";
+
+"ppdc: Bad variable substitution ($%c) on line %d of %s." = "ppdc: Bad variable substitution ($%c) on line %d of %s.";
+
+"ppdc: Choice found on line %d of %s with no Option." = "ppdc: Choice found on line %d of %s with no Option.";
+
+"ppdc: Duplicate #po for locale %s on line %d of %s." = "ppdc: Duplicate #po for locale %s on line %d of %s.";
+
+"ppdc: Expected a filter definition on line %d of %s." = "ppdc: Expected a filter definition on line %d of %s.";
+
+"ppdc: Expected a program name on line %d of %s." = "ppdc: Expected a program name on line %d of %s.";
+
+"ppdc: Expected boolean value on line %d of %s." = "ppdc: Expected boolean value on line %d of %s.";
+
+"ppdc: Expected charset after Font on line %d of %s." = "ppdc: Expected charset after Font on line %d of %s.";
+
+"ppdc: Expected choice code on line %d of %s." = "ppdc: Expected choice code on line %d of %s.";
+
+"ppdc: Expected choice name/text on line %d of %s." = "ppdc: Expected choice name/text on line %d of %s.";
+
+"ppdc: Expected color order for ColorModel on line %d of %s." = "ppdc: Expected color order for ColorModel on line %d of %s.";
+
+"ppdc: Expected colorspace for ColorModel on line %d of %s." = "ppdc: Expected colorspace for ColorModel on line %d of %s.";
+
+"ppdc: Expected compression for ColorModel on line %d of %s." = "ppdc: Expected compression for ColorModel on line %d of %s.";
+
+"ppdc: Expected constraints string for UIConstraints on line %d of %s." = "ppdc: Expected constraints string for UIConstraints on line %d of %s.";
+
+"ppdc: Expected driver type keyword following DriverType on line %d of %s." = "ppdc: Expected driver type keyword following DriverType on line %d of %s.";
+
+"ppdc: Expected duplex type after Duplex on line %d of %s." = "ppdc: Expected duplex type after Duplex on line %d of %s.";
+
+"ppdc: Expected encoding after Font on line %d of %s." = "ppdc: Expected encoding after Font on line %d of %s.";
+
+"ppdc: Expected filename after #po %s on line %d of %s." = "ppdc: Expected filename after #po %s on line %d of %s.";
+
+"ppdc: Expected group name/text on line %d of %s." = "ppdc: Expected group name/text on line %d of %s.";
+
+"ppdc: Expected include filename on line %d of %s." = "ppdc: Expected include filename on line %d of %s.";
+
+"ppdc: Expected integer on line %d of %s." = "ppdc: Expected integer on line %d of %s.";
+
+"ppdc: Expected locale after #po on line %d of %s." = "ppdc: Expected locale after #po on line %d of %s.";
+
+"ppdc: Expected name after %s on line %d of %s." = "ppdc: Expected name after %s on line %d of %s.";
+
+"ppdc: Expected name after FileName on line %d of %s." = "ppdc: Expected name after FileName on line %d of %s.";
+
+"ppdc: Expected name after Font on line %d of %s." = "ppdc: Expected name after Font on line %d of %s.";
+
+"ppdc: Expected name after Manufacturer on line %d of %s." = "ppdc: Expected name after Manufacturer on line %d of %s.";
+
+"ppdc: Expected name after MediaSize on line %d of %s." = "ppdc: Expected name after MediaSize on line %d of %s.";
+
+"ppdc: Expected name after ModelName on line %d of %s." = "ppdc: Expected name after ModelName on line %d of %s.";
+
+"ppdc: Expected name after PCFileName on line %d of %s." = "ppdc: Expected name after PCFileName on line %d of %s.";
+
+"ppdc: Expected name/text after %s on line %d of %s." = "ppdc: Expected name/text after %s on line %d of %s.";
+
+"ppdc: Expected name/text after Installable on line %d of %s." = "ppdc: Expected name/text after Installable on line %d of %s.";
+
+"ppdc: Expected name/text after Resolution on line %d of %s." = "ppdc: Expected name/text after Resolution on line %d of %s.";
+
+"ppdc: Expected name/text combination for ColorModel on line %d of %s." = "ppdc: Expected name/text combination for ColorModel on line %d of %s.";
+
+"ppdc: Expected option name/text on line %d of %s." = "ppdc: Expected option name/text on line %d of %s.";
+
+"ppdc: Expected option section on line %d of %s." = "ppdc: Expected option section on line %d of %s.";
+
+"ppdc: Expected option type on line %d of %s." = "ppdc: Expected option type on line %d of %s.";
+
+"ppdc: Expected override field after Resolution on line %d of %s." = "ppdc: Expected override field after Resolution on line %d of %s.";
+
+"ppdc: Expected quoted string on line %d of %s." = "ppdc: Expected quoted string on line %d of %s.";
+
+"ppdc: Expected real number on line %d of %s." = "ppdc: Expected real number on line %d of %s.";
+
+"ppdc: Expected resolution/mediatype following ColorProfile on line %d of %s." = "ppdc: Expected resolution/mediatype following ColorProfile on line %d of %s.";
+
+"ppdc: Expected resolution/mediatype following SimpleColorProfile on line %d of %s." = "ppdc: Expected resolution/mediatype following SimpleColorProfile on line %d of %s.";
+
+"ppdc: Expected selector after %s on line %d of %s." = "ppdc: Expected selector after %s on line %d of %s.";
+
+"ppdc: Expected status after Font on line %d of %s." = "ppdc: Expected status after Font on line %d of %s.";
+
+"ppdc: Expected string after Copyright on line %d of %s." = "ppdc: Expected string after Copyright on line %d of %s.";
+
+"ppdc: Expected string after Version on line %d of %s." = "ppdc: Expected string after Version on line %d of %s.";
+
+"ppdc: Expected two option names on line %d of %s." = "ppdc: Expected two option names on line %d of %s.";
+
+"ppdc: Expected value after %s on line %d of %s." = "ppdc: Expected value after %s on line %d of %s.";
+
+"ppdc: Expected version after Font on line %d of %s." = "ppdc: Expected version after Font on line %d of %s.";
+
+"ppdc: Invalid #include/#po filename \"%s\"." = "ppdc: Invalid #include/#po filename \"%s\".";
+
+"ppdc: Invalid cost for filter on line %d of %s." = "ppdc: Invalid cost for filter on line %d of %s.";
+
+"ppdc: Invalid empty MIME type for filter on line %d of %s." = "ppdc: Invalid empty MIME type for filter on line %d of %s.";
+
+"ppdc: Invalid empty program name for filter on line %d of %s." = "ppdc: Invalid empty program name for filter on line %d of %s.";
+
+"ppdc: Invalid option section \"%s\" on line %d of %s." = "ppdc: Invalid option section \"%s\" on line %d of %s.";
+
+"ppdc: Invalid option type \"%s\" on line %d of %s." = "ppdc: Invalid option type \"%s\" on line %d of %s.";
+
+"ppdc: Loading driver information file \"%s\"." = "ppdc: Loading driver information file \"%s\".";
+
+"ppdc: Loading messages for locale \"%s\"." = "ppdc: Loading messages for locale \"%s\".";
+
+"ppdc: Loading messages from \"%s\"." = "ppdc: Loading messages from \"%s\".";
+
+"ppdc: Missing #endif at end of \"%s\"." = "ppdc: Missing #endif at end of \"%s\".";
+
+"ppdc: Missing #if on line %d of %s." = "ppdc: Missing #if on line %d of %s.";
+
+"ppdc: Need a msgid line before any translation strings on line %d of %s." = "ppdc: Need a msgid line before any translation strings on line %d of %s.";
+
+"ppdc: No message catalog provided for locale %s." = "ppdc: No message catalog provided for locale %s.";
+
+"ppdc: Option %s defined in two different groups on line %d of %s." = "ppdc: Option %s defined in two different groups on line %d of %s.";
+
+"ppdc: Option %s redefined with a different type on line %d of %s." = "ppdc: Option %s redefined with a different type on line %d of %s.";
+
+"ppdc: Option constraint must *name on line %d of %s." = "ppdc: Option constraint must *name on line %d of %s.";
+
+"ppdc: Too many nested #if's on line %d of %s." = "ppdc: Too many nested #if's on line %d of %s.";
+
+"ppdc: Unable to create PPD file \"%s\" - %s." = "ppdc: Unable to create PPD file \"%s\" - %s.";
+
+"ppdc: Unable to create output directory %s: %s" = "ppdc: Unable to create output directory %s: %s";
+
+"ppdc: Unable to create output pipes: %s" = "ppdc: Unable to create output pipes: %s";
+
+"ppdc: Unable to execute cupstestppd: %s" = "ppdc: Unable to execute cupstestppd: %s";
+
+"ppdc: Unable to find #po file %s on line %d of %s." = "ppdc: Unable to find #po file %s on line %d of %s.";
+
+"ppdc: Unable to find include file \"%s\" on line %d of %s." = "ppdc: Unable to find include file \"%s\" on line %d of %s.";
+
+"ppdc: Unable to find localization for \"%s\" - %s" = "ppdc: Unable to find localization for \"%s\" - %s";
+
+"ppdc: Unable to load localization file \"%s\" - %s" = "ppdc: Unable to load localization file \"%s\" - %s";
+
+"ppdc: Unable to open %s: %s" = "ppdc: Unable to open %s: %s";
+
+"ppdc: Undefined variable (%s) on line %d of %s." = "ppdc: Undefined variable (%s) on line %d of %s.";
+
+"ppdc: Unexpected text on line %d of %s." = "ppdc: Unexpected text on line %d of %s.";
+
+"ppdc: Unknown driver type %s on line %d of %s." = "ppdc: Unknown driver type %s on line %d of %s.";
+
+"ppdc: Unknown duplex type \"%s\" on line %d of %s." = "ppdc: Unknown duplex type \"%s\" on line %d of %s.";
+
+"ppdc: Unknown media size \"%s\" on line %d of %s." = "ppdc: Unknown media size \"%s\" on line %d of %s.";
+
+"ppdc: Unknown message catalog format for \"%s\"." = "ppdc: Unknown message catalog format for \"%s\".";
+
+"ppdc: Unknown token \"%s\" seen on line %d of %s." = "ppdc: Unknown token \"%s\" seen on line %d of %s.";
+
+"ppdc: Unknown trailing characters in real number \"%s\" on line %d of %s." = "ppdc: Unknown trailing characters in real number \"%s\" on line %d of %s.";
+
+"ppdc: Unterminated string starting with %c on line %d of %s." = "ppdc: Unterminated string starting with %c on line %d of %s.";
+
+"ppdc: Warning - overlapping filename \"%s\"." = "ppdc: Warning - overlapping filename \"%s\".";
+
+"ppdc: Writing %s." = "ppdc: Writing %s.";
+
+"ppdc: Writing PPD files to directory \"%s\"." = "ppdc: Writing PPD files to directory \"%s\".";
+
+"ppdmerge: Bad LanguageVersion \"%s\" in %s." = "ppdmerge: Bad LanguageVersion \"%s\" in %s.";
+
+"ppdmerge: Ignoring PPD file %s." = "ppdmerge: Ignoring PPD file %s.";
+
+"ppdmerge: Unable to backup %s to %s - %s" = "ppdmerge: Unable to backup %s to %s - %s";
+
+"printer %s disabled since %s -" = "printer %s disabled since %s -";
+
+"printer %s is idle.  enabled since %s" = "printer %s is idle.  enabled since %s";
+
+"printer %s now printing %s-%d.  enabled since %s" = "printer %s now printing %s-%d.  enabled since %s";
+
+"printer %s/%s disabled since %s -" = "printer %s/%s disabled since %s -";
+
+"printer %s/%s is idle.  enabled since %s" = "printer %s/%s is idle.  enabled since %s";
+
+"printer %s/%s now printing %s-%d.  enabled since %s" = "printer %s/%s now printing %s-%d.  enabled since %s";
+
+"processing" = "processing";
+
+"request id is %s-%d (%d file(s))" = "request id is %s-%d (%d file(s))";
+
+"request-id uses indefinite length" = "request-id uses indefinite length";
+
+"scheduler is not running" = "scheduler is not running";
+
+"scheduler is running" = "scheduler is running";
+
+"stat of %s failed: %s" = "stat of %s failed: %s";
+
+"status\t\tShow status of daemon and queue." = "status\t\tShow status of daemon and queue.";
+
+"stopped" = "stopped";
+
+"system default destination: %s" = "system default destination: %s";
+
+"system default destination: %s/%s" = "system default destination: %s/%s";
+
+"unknown" = "unknown";
+
+"untitled" = "untitled";
+
+"variable-bindings uses indefinite length" = "variable-bindings uses indefinite length";
+
index 3e766ba26fc9c1c6aaa68d15a6593c96bdd6306b..ce89266e0780c3a976ab9ad319d1c4caf035d30b 100644 (file)
@@ -1,7 +1,7 @@
 /*
  * "$Id: po2strings.c 6921 2007-09-06 13:38:37Z mike $"
  *
- *   Convert GNU gettext .po files to Apple .strings file (UTF-16 BE text file).
+ *   Convert a GNU gettext .po file to an Apple .strings file.
  *
  *   Copyright 2007-2010 by Apple Inc.
  *
@@ -21,8 +21,7 @@
  *
  * Contents:
  *
- *   main()         - Convert .po file to .strings.
- *   write_string() - Write a string to the .strings file.
+ *   main() - Convert .po file to .strings.
  */
 
 #include <cups/cups-private.h>
  * The .strings file format is simple:
  *
  * // comment
- * "id" = "str";
+ * "msgid" = "msgstr";
  *
- * Both the id and str strings use standard C quoting for special characters
- * like newline and the double quote character.
- */
-
-/*
- * Local functions...
+ * The GNU gettext .po format is also fairly simple:
+ *
+ *     #. comment
+ *     msgid "some text"
+ *     msgstr "localized text"
+ *
+ * The comment, msgid, and msgstr text can span multiple lines using the form:
+ *
+ *     #. comment
+ *     #. more comments
+ *     msgid ""
+ *     "some long text"
+ *     msgstr ""
+ *     "localized text spanning "
+ *     "multiple lines"
+ *
+ * Both the msgid and msgstr strings use standard C quoting for special
+ * characters like newline and the double quote character.
  */
 
-static void    write_string(FILE *strings, const char *s);
-
-
 /*
  *   main() - Convert .po file to .strings.
  */
@@ -54,21 +62,29 @@ main(int  argc,                             /* I - Number of command-line args */
      char *argv[])                     /* I - Command-line arguments */
 {
   int                  i;              /* Looping var */
-  FILE                 *strings;       /* .strings file */
-  cups_array_t         *po;            /* .po file */
-  char                 iconv[1024];    /* iconv command */
-  _cups_message_t      *msg;           /* Current message */
-  const char           *srcfile,       /* Source file */
-                       *dstfile;       /* Destination file */
+  const char           *pofile,        /* .po filename */
+                       *stringsfile;   /* .strings filename */
+  cups_file_t          *po,            /* .po file */
+                       *strings;       /* .strings file */
+  char                 s[4096],        /* String buffer */
+                       *ptr,           /* Pointer into buffer */
+                       *temp,          /* New string */
+                       *msgid,         /* msgid string */
+                       *msgstr;        /* msgstr string */
+  int                  length;         /* Length of combined strings */
   int                  use_msgid;      /* Use msgid strings for msgstr? */
 
 
-  srcfile   = NULL;
-  dstfile   = NULL;
-  use_msgid = 0;
+ /*
+  * Process command-line arguments...
+  */
 
+  pofile      = NULL;
+  stringsfile = NULL;
+  use_msgid   = 0;
 
   for (i = 1; i < argc; i ++)
+  {
     if (!strcmp(argv[i], "-m"))
       use_msgid = 1;
     else if (argv[i][0] == '-')
@@ -76,99 +92,172 @@ main(int  argc,                            /* I - Number of command-line args */
       puts("Usage: po2strings [-m] filename.po filename.strings");
       return (1);
     }
-    else if (srcfile == NULL)
-      srcfile = argv[i];
-    else if (dstfile == NULL)
-      dstfile = argv[i];
+    else if (!pofile)
+      pofile = argv[i];
+    else if (!stringsfile)
+      stringsfile = argv[i];
     else
     {
       puts("Usage: po2strings [-m] filename.po filename.strings");
       return (1);
     }
+  }
 
-  if (!srcfile || !dstfile)
+  if (!pofile || !stringsfile)
   {
     puts("Usage: po2strings [-m] filename.po filename.strings");
     return (1);
   }
 
  /*
-  * Use the CUPS .po loader to get the message strings...
+  * Read strings from the .po file and write to the .strings file...
   */
 
-  if ((po = _cupsMessageLoad(srcfile, 1)) == NULL)
+  if ((po = cupsFileOpen(pofile, "r")) == NULL)
   {
-    perror(srcfile);
+    perror(pofile);
     return (1);
   }
 
- /*
-  * Cheat by using iconv to write the .strings file with a UTF-16 encoding.
-  * The .po file uses UTF-8...
-  */
-
-  snprintf(iconv, sizeof(iconv), "iconv -f utf-8 -t utf-16 >'%s'", dstfile);
-  if ((strings = popen(iconv, "w")) == NULL)
+  if ((strings = cupsFileOpen(stringsfile, "w")) == NULL)
   {
-    perror(argv[2]);
-    _cupsMessageFree(po);
+    perror(stringsfile);
+    cupsFileClose(po);
     return (1);
   }
 
-  for (msg = (_cups_message_t *)cupsArrayFirst(po);
-       msg;
-       msg = (_cups_message_t *)cupsArrayNext(po))
+  msgid = msgstr = NULL;
+
+  while (cupsFileGets(po, s, sizeof(s)) != NULL)
   {
-    write_string(strings, msg->id);
-    fputs(" = ", strings);
-    write_string(strings, use_msgid ? msg->id : msg->str);
-    fputs(";\n", strings);
-  }
+    if ((s[0] == '#' && s[0] != '.') || !s[0])
+    {
+     /*
+      * Skip blank and file comment lines...
+      */
 
-  printf("%s: %d messages.\n", argv[2], cupsArrayCount(po));
+      continue;
+    }
+    else if (s[0] == '#')
+    {
+     /*
+      * Copy comment string...
+      */
 
-  pclose(strings);
-  _cupsMessageFree(po);
+      cupsFilePrintf(strings, "//%s\n", s + 2);
+    }
+    else
+    {
+     /*
+      * Strip the trailing quote...
+      */
 
-  return (0);
-}
+      if ((ptr = strrchr(s, '\"')) == NULL)
+       continue;
 
+      *ptr = '\0';
 
-/*
- * 'write_string()' - Write a string to the .strings file.
- */
+     /*
+      * Find start of value...
+      */
+      
+      if ((ptr = strchr(s, '\"')) == NULL)
+       continue;
 
-static void
-write_string(FILE       *strings,      /* I - .strings file */
-             const char *s)            /* I - String to write */
-{
-  putc('\"', strings);
+      ptr ++;
 
-  while (*s)
-  {
-    switch (*s)
-    {
-      case '\n' :
-          fputs("\\n", strings);
-         break;
-      case '\t' :
-          fputs("\\t", strings);
-         break;
-      case '\\' :
-          fputs("\\\\", strings);
-         break;
-      case '\"' :
-          fputs("\\\"", strings);
-         break;
-      default :
-          putc(*s, strings);
-         break;
+     /*
+      * Create or add to a message...
+      */
+
+      if (!strncmp(s, "msgid", 5))
+      {
+       /*
+       * Output previous message as needed...
+       */
+
+        if (msgid && msgstr)
+       {
+         if (*msgid)
+            cupsFilePrintf(strings, "\"%s\" = \"%s\";\n\n", msgid,
+                          (use_msgid || !*msgstr) ? msgid : msgstr);
+
+         free(msgid);
+         free(msgstr);
+       }
+
+        msgid  = strdup(ptr);
+       msgstr = NULL;
+      }
+      else if (s[0] == '\"' )
+      {
+       /*
+       * Append to current string...
+       */
+
+       length = (int)strlen(msgstr ? msgstr : msgid);
+
+       if ((temp = realloc(msgstr ? msgstr : msgid,
+                           length + strlen(ptr) + 1)) == NULL)
+       {
+         perror("Unable to allocate string");
+         return (1);
+       }
+
+       if (msgstr)
+       {
+        /*
+         * Copy the new portion to the end of the msgstr string - safe
+         * to use strcpy because the buffer is allocated to the correct
+         * size...
+         */
+
+         msgstr = temp;
+
+         strcpy(msgstr + length, ptr);
+       }
+       else
+       {
+        /*
+         * Copy the new portion to the end of the msgid string - safe
+         * to use strcpy because the buffer is allocated to the correct
+         * size...
+         */
+
+         msgid = temp;
+
+         strcpy(msgid + length, ptr);
+       }
+      }
+      else if (!strncmp(s, "msgstr", 6) && msgid)
+      {
+       /*
+       * Set the string...
+       */
+
+       if ((msgstr = strdup(ptr)) == NULL)
+       {
+         perror("Unable to allocate msgstr");
+         return (1);
+       }
+      }
     }
+  }
+
+  if (msgid && msgstr)
+  {
+    if (*msgid)
+      cupsFilePrintf(strings, "\"%s\" = \"%s\";\n\n", msgid,
+                    (use_msgid || !*msgstr) ? msgid : msgstr);
 
-    s ++;
+    free(msgid);
+    free(msgstr);
   }
 
-  putc('\"', strings);
+  cupsFileClose(po);
+  cupsFileClose(strings);
+
+  return (0);
 }
 
 
index 83791215b70889477cfa0e7b66f7e67818a28e19..005e3eb1e6ab5cd0ac0336c26fbd742390fc17f5 100644 (file)
@@ -1,8 +1,18 @@
 # DO NOT DELETE THIS LINE -- make depend depends on it.
 
-bcp.o: ../cups/string-private.h ../config.h ../cups/cups.h ../cups/file.h
+bcp.o: ../cups/cups-private.h ../cups/cups.h ../cups/file.h
 bcp.o: ../cups/versioning.h ../cups/ipp.h ../cups/http.h ../cups/array.h
-bcp.o: ../cups/language.h ../cups/ppd.h ../cups/cups.h
-tbcp.o: ../cups/string-private.h ../config.h ../cups/cups.h ../cups/file.h
+bcp.o: ../cups/language.h ../cups/string-private.h ../config.h
+bcp.o: ../cups/debug-private.h ../cups/ppd-private.h ../cups/ppd.h
+bcp.o: ../cups/cups.h ../cups/pwg-private.h ../cups/http-private.h
+bcp.o: ../cups/http.h ../cups/md5-private.h ../cups/ipp-private.h
+bcp.o: ../cups/ipp.h ../cups/language-private.h ../cups/transcode.h
+bcp.o: ../cups/thread-private.h
+tbcp.o: ../cups/cups-private.h ../cups/cups.h ../cups/file.h
 tbcp.o: ../cups/versioning.h ../cups/ipp.h ../cups/http.h ../cups/array.h
-tbcp.o: ../cups/language.h ../cups/ppd.h ../cups/cups.h
+tbcp.o: ../cups/language.h ../cups/string-private.h ../config.h
+tbcp.o: ../cups/debug-private.h ../cups/ppd-private.h ../cups/ppd.h
+tbcp.o: ../cups/cups.h ../cups/pwg-private.h ../cups/http-private.h
+tbcp.o: ../cups/http.h ../cups/md5-private.h ../cups/ipp-private.h
+tbcp.o: ../cups/ipp.h ../cups/language-private.h ../cups/transcode.h
+tbcp.o: ../cups/thread-private.h
index 06a48232e989723b48aef0c72fb5101cf5e0c4c4..ffd32d575ba9e871cc1a8224bb1920227c00da25 100644 (file)
@@ -25,8 +25,7 @@
  * Include necessary headers...
  */
 
-#include <cups/string-private.h>
-#include <cups/cups.h>
+#include <cups/cups-private.h>
 #include <cups/ppd.h>
 
 
@@ -59,7 +58,9 @@ main(int  argc,                               /* I - Number of command-line args */
 
   if (argc < 6 || argc > 7)
   {
-    fputs("ERROR: tbcp job-id user title copies options [file]\n", stderr);
+    _cupsLangPrintf(stderr,
+                    _("Usage: %s job-id user title copies options [file]"),
+                   argv[0]);
     return (1);
   }
 
index 94cf7b692ba939168eed7cb308f07a4c32c15c1b..4170d493b6ba0516125fb8df063a59b7a014f487 100644 (file)
@@ -25,8 +25,7 @@
  * Include necessary headers...
  */
 
-#include <cups/string-private.h>
-#include <cups/cups.h>
+#include <cups/cups-private.h>
 #include <cups/ppd.h>
 
 
@@ -58,7 +57,9 @@ main(int  argc,                               /* I - Number of command-line args */
 
   if (argc < 6 || argc > 7)
   {
-    fputs("ERROR: tbcp job-id user title copies options [file]\n", stderr);
+    _cupsLangPrintf(stderr,
+                    _("Usage: %s job-id user title copies options [file]"),
+                   argv[0]);
     return (1);
   }
 
index 91469e62ace8dc9b11d3a460c52b69672b642856..acf178b29a67264431394e3e51e1d2ef5b87f34a 100644 (file)
@@ -3,7 +3,7 @@
 //
 //   Shared message catalog class for the CUPS PPD Compiler.
 //
-//   Copyright 2007-2009 by Apple Inc.
+//   Copyright 2007-2010 by Apple Inc.
 //   Copyright 2002-2006 by Easy Software Products.
 //
 //   These coded instructions, statements, and computer programs are the
@@ -338,7 +338,7 @@ ppdcCatalog::load_messages(
       if ((ptr = (char *)strrchr(line, '\"')) == NULL)
       {
        _cupsLangPrintf(stderr,
-                       _("ERROR: Expected quoted string on line %d of %s\n"),
+                       _("ppdc: Expected quoted string on line %d of %s."),
                        linenum, f);
        cupsFileClose(fp);
        return (-1);
@@ -350,7 +350,7 @@ ppdcCatalog::load_messages(
       if ((ptr = strchr(line, '\"')) == NULL)
       {
        _cupsLangPrintf(stderr,
-                       _("ERROR: Expected quoted string on line %d of %s\n"),
+                       _("ppdc: Expected quoted string on line %d of %s."),
                        linenum, f);
        cupsFileClose(fp);
        return (-1);
@@ -415,8 +415,8 @@ ppdcCatalog::load_messages(
        if (!haveid)
        {
          _cupsLangPrintf(stderr,
-                         _("ERROR: Need a msgid line before any "
-                           "translation strings on line %d of %s\n"),
+                         _("ppdc: Need a msgid line before any "
+                           "translation strings on line %d of %s."),
                          linenum, f);
          cupsFileClose(fp);
          return (-1);
@@ -432,7 +432,7 @@ ppdcCatalog::load_messages(
        strlcat(id, ptr, sizeof(id));
       else
       {
-       _cupsLangPrintf(stderr, _("ERROR: Unexpected text on line %d of %s\n"),
+       _cupsLangPrintf(stderr, _("ppdc: Unexpected text on line %d of %s."),
                        linenum, f);
        cupsFileClose(fp);
        return (-1);
@@ -460,7 +460,7 @@ ppdcCatalog::load_messages(
   unknown_load_format:
 
   _cupsLangPrintf(stderr,
-                  _("ERROR: Unknown message catalog format for \"%s\"\n"), f);
+                  _("ppdc: Unknown message catalog format for \"%s\"."), f);
   cupsFileClose(fp);
   return (-1);
 }
index 20ee936f3242485203493d5abec0af0b7956b77a..98545c6e10eddd8977f3963d6e400d9a713d807c 100644 (file)
@@ -728,7 +728,7 @@ ppdcDriver::write_ppd_file(
          // No, skip this one...
           _cupsLangPrintf(stderr,
                          _("ppdc: No message catalog provided for locale "
-                           "%s\n"), locale->value);
+                           "%s."), locale->value);
           continue;
        }
 
index 88689219988e0a4ab2e6f31a5b0d70dfb2864077..3d4520eb093ebd025620f1627a1748ad4a89a649 100644 (file)
@@ -46,7 +46,7 @@ ppdcFile::ppdcFile(const char  *f,            // I - File to open
   line     = 1;
 
   if (!fp)
-    _cupsLangPrintf(stderr, _("%s: Unable to open %s: %s\n"), "ppdc", f,
+    _cupsLangPrintf(stderr, _("ppdc: Unable to open %s: %s"), f,
                     strerror(errno));
 }
 
index b550b682c4c82230fcc9563f7104e287ef858be5..e4604600dd0dcf181c7310ddec903baee492aae8 100644 (file)
@@ -261,7 +261,8 @@ ppdcSource::import_ppd(const char *f)       // I - Filename
         if (sscanf(attr->value, "%s%*[^\"]\"%[^\"]\"%s%s", encoding, version,
                   charset, status) != 4)
        {
-         _cupsLangPrintf(stderr, _("Bad font attribute: %s\n"), attr->value);
+         _cupsLangPrintf(stderr, _("ppdc: Bad font attribute: %s"),
+                         attr->value);
          continue;
        }
 
index f68d1db9e3bbf460f4414f72501b277bde315787..3fa7c2e2b2ea2a722c85705c3c683e6c68ea4f9a 100644 (file)
@@ -226,7 +226,7 @@ ppdcSource::find_include(
     if (*ptr != '>')
     {
       _cupsLangPrintf(stderr,
-                      _("ppdc: Invalid #include/#po filename \"%s\"\n"), n);
+                      _("ppdc: Invalid #include/#po filename \"%s\"."), n);
       return (0);
     }
 
@@ -352,7 +352,7 @@ ppdcSource::get_attr(ppdcFile *fp,  // I - File to read
   if (!get_token(fp, name, sizeof(name)))
   {
     _cupsLangPrintf(stderr,
-                    _("ppdc: Expected name after %s on line %d of %s\n"),
+                    _("ppdc: Expected name after %s on line %d of %s."),
                    loc ? "LocAttribute" : "Attribute", fp->line, fp->filename);
     return (0);
   }
@@ -360,7 +360,7 @@ ppdcSource::get_attr(ppdcFile *fp,  // I - File to read
   if (!get_token(fp, selector, sizeof(selector)))
   {
     _cupsLangPrintf(stderr,
-                    _("ppdc: Expected selector after %s on line %d of %s\n"),
+                    _("ppdc: Expected selector after %s on line %d of %s."),
                    loc ? "LocAttribute" : "Attribute", fp->line, fp->filename);
     return (0);
   }
@@ -371,7 +371,7 @@ ppdcSource::get_attr(ppdcFile *fp,  // I - File to read
   if (!get_token(fp, value, sizeof(value)))
   {
     _cupsLangPrintf(stderr,
-                    _("ppdc: Expected value after %s on line %d of %s\n"),
+                    _("ppdc: Expected value after %s on line %d of %s."),
                    loc ? "LocAttribute" : "Attribute", fp->line, fp->filename);
     return (0);
   }
@@ -393,7 +393,7 @@ ppdcSource::get_boolean(ppdcFile *fp)       // I - File to read
   if (!get_token(fp, buffer, sizeof(buffer)))
   {
     _cupsLangPrintf(stderr,
-                    _("ppdc: Expected boolean value on line %d of %s.\n"),
+                    _("ppdc: Expected boolean value on line %d of %s."),
                    fp->line, fp->filename);
     return (-1);
   }
@@ -409,7 +409,7 @@ ppdcSource::get_boolean(ppdcFile *fp)       // I - File to read
   else
   {
     _cupsLangPrintf(stderr,
-                    _("ppdc: Bad boolean value (%s) on line %d of %s.\n"),
+                    _("ppdc: Bad boolean value (%s) on line %d of %s."),
                    buffer, fp->line, fp->filename);
     return (-1);
   }
@@ -434,7 +434,7 @@ ppdcSource::get_choice(ppdcFile *fp)        // I - File to read
   if (!get_token(fp, name, sizeof(name)))
   {
     _cupsLangPrintf(stderr,
-                    _("ppdc: Expected choice name/text on line %d of %s.\n"),
+                    _("ppdc: Expected choice name/text on line %d of %s."),
                    fp->line, fp->filename);
     return (NULL);
   }
@@ -446,7 +446,7 @@ ppdcSource::get_choice(ppdcFile *fp)        // I - File to read
 
   if (!get_token(fp, code, sizeof(code)))
   {
-    _cupsLangPrintf(stderr, _("ppdc: Expected choice code on line %d of %s.\n"),
+    _cupsLangPrintf(stderr, _("ppdc: Expected choice code on line %d of %s."),
                    fp->line, fp->filename);
     return (NULL);
   }
@@ -479,7 +479,7 @@ ppdcSource::get_color_model(ppdcFile *fp)
   {
     _cupsLangPrintf(stderr,
                     _("ppdc: Expected name/text combination for ColorModel on "
-                     "line %d of %s\n"), fp->line, fp->filename);
+                     "line %d of %s."), fp->line, fp->filename);
     return (NULL);
   }
 
@@ -492,7 +492,7 @@ ppdcSource::get_color_model(ppdcFile *fp)
   {
     _cupsLangPrintf(stderr,
                     _("ppdc: Expected colorspace for ColorModel on line %d of "
-                     "%s\n"), fp->line, fp->filename);
+                     "%s."), fp->line, fp->filename);
     return (NULL);
   }
 
@@ -503,7 +503,7 @@ ppdcSource::get_color_model(ppdcFile *fp)
   {
     _cupsLangPrintf(stderr,
                     _("ppdc: Expected color order for ColorModel on line %d of "
-                     "%s\n"), fp->line, fp->filename);
+                     "%s."), fp->line, fp->filename);
     return (NULL);
   }
 
@@ -514,7 +514,7 @@ ppdcSource::get_color_model(ppdcFile *fp)
   {
     _cupsLangPrintf(stderr,
                     _("ppdc: Expected compression for ColorModel on line %d of "
-                     "%s\n"), fp->line, fp->filename);
+                     "%s."), fp->line, fp->filename);
     return (NULL);
   }
 
@@ -572,7 +572,7 @@ ppdcSource::get_color_profile(
   {
     _cupsLangPrintf(stderr,
                     _("ppdc: Expected resolution/mediatype following "
-                     "ColorProfile on line %d of %s\n"),
+                     "ColorProfile on line %d of %s."),
                    fp->line, fp->filename);
     return (NULL);
   }
@@ -695,7 +695,7 @@ ppdcSource::get_constraint(ppdcFile *fp)// I - File to read
   {
     _cupsLangPrintf(stderr,
                     _("ppdc: Expected constraints string for UIConstraints on "
-                     "line %d of %s\n"), fp->line, fp->filename);
+                     "line %d of %s."), fp->line, fp->filename);
     return (NULL);
   }
 
@@ -704,7 +704,7 @@ ppdcSource::get_constraint(ppdcFile *fp)// I - File to read
   if (*ptr != '*')
   {
     _cupsLangPrintf(stderr,
-                    _("ppdc: Option constraint must *name on line %d of %s\n"),
+                    _("ppdc: Option constraint must *name on line %d of %s."),
                    fp->line, fp->filename);
     return (NULL);
   }
@@ -727,7 +727,7 @@ ppdcSource::get_constraint(ppdcFile *fp)// I - File to read
   if (*ptr != '*')
   {
     _cupsLangPrintf(stderr,
-                    _("ppdc: Expected two option names on line %d of %s\n"),
+                    _("ppdc: Expected two option names on line %d of %s."),
                    fp->line, fp->filename);
     return (NULL);
   }
@@ -826,7 +826,7 @@ ppdcSource::get_duplex(ppdcFile   *fp,      // I - File to read from
   {
     _cupsLangPrintf(stderr,
                     _("ppdc: Expected duplex type after Duplex on line %d of "
-                     "%s\n"), fp->line, fp->filename);
+                     "%s."), fp->line, fp->filename);
     return;
   }
 
@@ -905,7 +905,7 @@ ppdcSource::get_duplex(ppdcFile   *fp,      // I - File to read from
   }
   else
     _cupsLangPrintf(stderr,
-                    _("ppdc: Unknown duplex type \"%s\" on line %d of %s\n"),
+                    _("ppdc: Unknown duplex type \"%s\" on line %d of %s."),
                    temp, fp->line, fp->filename);
 }
 
@@ -931,7 +931,7 @@ ppdcSource::get_filter(ppdcFile *fp)        // I - File to read
   if (!get_token(fp, type, sizeof(type)))
   {
     _cupsLangPrintf(stderr,
-                    _("ppdc: Expected a filter definition on line %d of %s\n"),
+                    _("ppdc: Expected a filter definition on line %d of %s."),
                    fp->line, fp->filename);
     return (NULL);
   }
@@ -954,7 +954,7 @@ ppdcSource::get_filter(ppdcFile *fp)        // I - File to read
     if (!get_token(fp, program, sizeof(program)))
     {
       _cupsLangPrintf(stderr,
-                      _("ppdc: Expected a program name on line %d of %s\n"),
+                      _("ppdc: Expected a program name on line %d of %s."),
                      fp->line, fp->filename);
       return (NULL);
     }
@@ -964,14 +964,14 @@ ppdcSource::get_filter(ppdcFile *fp)      // I - File to read
   {
     _cupsLangPrintf(stderr,
                     _("ppdc: Invalid empty MIME type for filter on line %d of "
-                     "%s\n"), fp->line, fp->filename);
+                     "%s."), fp->line, fp->filename);
     return (NULL);
   }
 
   if (cost < 0 || cost > 200)
   {
     _cupsLangPrintf(stderr,
-                    _("ppdc: Invalid cost for filter on line %d of %s\n"),
+                    _("ppdc: Invalid cost for filter on line %d of %s."),
                    fp->line, fp->filename);
     return (NULL);
   }
@@ -980,7 +980,7 @@ ppdcSource::get_filter(ppdcFile *fp)        // I - File to read
   {
     _cupsLangPrintf(stderr,
                     _("ppdc: Invalid empty program name for filter on line %d "
-                     "of %s\n"), fp->line, fp->filename);
+                     "of %s."), fp->line, fp->filename);
     return (NULL);
   }
 
@@ -1003,7 +1003,7 @@ ppdcSource::get_float(ppdcFile *fp)       // I - File to read
   // Get the number from the file and range-check...
   if (!get_token(fp, temp, sizeof(temp)))
   {
-    _cupsLangPrintf(stderr, _("ppdc: Expected real number on line %d of %s\n"),
+    _cupsLangPrintf(stderr, _("ppdc: Expected real number on line %d of %s."),
                    fp->line, fp->filename);
     return (-1.0f);
   }
@@ -1014,7 +1014,7 @@ ppdcSource::get_float(ppdcFile *fp)       // I - File to read
   {
     _cupsLangPrintf(stderr,
                     _("ppdc: Unknown trailing characters in real number \"%s\" "
-                     "on line %d of %s\n"), temp, fp->line, fp->filename);
+                     "on line %d of %s."), temp, fp->line, fp->filename);
     return (-1.0f);
   }
   else
@@ -1057,7 +1057,7 @@ ppdcSource::get_font(ppdcFile *fp)        // I - File to read
   if (!get_token(fp, name, sizeof(name)))
   {
     _cupsLangPrintf(stderr,
-                    _("ppdc: Expected name after Font on line %d of %s\n"),
+                    _("ppdc: Expected name after Font on line %d of %s."),
                    fp->line, fp->filename);
     return (0);
   }
@@ -1077,7 +1077,7 @@ ppdcSource::get_font(ppdcFile *fp)        // I - File to read
     {
       _cupsLangPrintf(stderr,
                       _("ppdc: Expected encoding after Font on line %d of "
-                       "%s\n"), fp->line, fp->filename);
+                       "%s."), fp->line, fp->filename);
       return (0);
     }
 
@@ -1085,7 +1085,7 @@ ppdcSource::get_font(ppdcFile *fp)        // I - File to read
     {
       _cupsLangPrintf(stderr,
                       _("ppdc: Expected version after Font on line %d of "
-                       "%s\n"), fp->line, fp->filename);
+                       "%s."), fp->line, fp->filename);
       return (0);
     }
 
@@ -1093,14 +1093,14 @@ ppdcSource::get_font(ppdcFile *fp)      // I - File to read
     {
       _cupsLangPrintf(stderr,
                       _("ppdc: Expected charset after Font on line %d of "
-                       "%s\n"), fp->line, fp->filename);
+                       "%s."), fp->line, fp->filename);
       return (0);
     }
 
     if (!get_token(fp, temp, sizeof(temp)))
     {
       _cupsLangPrintf(stderr,
-                      _("ppdc: Expected status after Font on line %d of %s\n"),
+                      _("ppdc: Expected status after Font on line %d of %s."),
                      fp->line, fp->filename);
       return (0);
     }
@@ -1112,7 +1112,7 @@ ppdcSource::get_font(ppdcFile *fp)        // I - File to read
     else
     {
       _cupsLangPrintf(stderr,
-                      _("ppdc: Bad status keyword %s on line %d of %s\n"),
+                      _("ppdc: Bad status keyword %s on line %d of %s."),
                      temp, fp->line, fp->filename);
       return (0);
     }
@@ -1155,7 +1155,7 @@ ppdcSource::get_generic(ppdcFile   *fp,   // I - File to read
   if (!get_token(fp, name, sizeof(name)))
   {
     _cupsLangPrintf(stderr,
-                    _("ppdc: Expected name/text after %s on line %d of %s\n"),
+                    _("ppdc: Expected name/text after %s on line %d of %s."),
                    keyword, fp->line, fp->filename);
     return (NULL);
   }
@@ -1204,7 +1204,7 @@ ppdcSource::get_group(ppdcFile   *fp,     // I - File to read
   if (!get_token(fp, name, sizeof(name)))
   {
     _cupsLangPrintf(stderr,
-                    _("ppdc: Expected group name/text on line %d of %s\n"),
+                    _("ppdc: Expected group name/text on line %d of %s."),
                    fp->line, fp->filename);
     return (NULL);
   }
@@ -1245,7 +1245,7 @@ ppdcSource::get_installable(ppdcFile *fp)
   {
     _cupsLangPrintf(stderr,
                     _("ppdc: Expected name/text after Installable on line %d "
-                     "of %s\n"), fp->line, fp->filename);
+                     "of %s."), fp->line, fp->filename);
     return (NULL);
   }
 
@@ -1500,7 +1500,7 @@ ppdcSource::get_integer(ppdcFile *fp)     // I - File to read
 
   if (!get_token(fp, temp, sizeof(temp)))
   {
-    _cupsLangPrintf(stderr, _("ppdc: Expected integer on line %d of %s\n"),
+    _cupsLangPrintf(stderr, _("ppdc: Expected integer on line %d of %s."),
                    fp->line, fp->filename);
     return (-1);
   }
@@ -1572,7 +1572,7 @@ ppdcSource::get_option(ppdcFile   *fp,    // I - File to read
   if (!get_token(fp, name, sizeof(name)))
   {
     _cupsLangPrintf(stderr,
-                    _("ppdc: Expected option name/text on line %d of %s\n"),
+                    _("ppdc: Expected option name/text on line %d of %s."),
                    fp->line, fp->filename);
     return (NULL);
   }
@@ -1584,7 +1584,7 @@ ppdcSource::get_option(ppdcFile   *fp,    // I - File to read
 
   if (!get_token(fp, type, sizeof(type)))
   {
-    _cupsLangPrintf(stderr, _("ppdc: Expected option type on line %d of %s\n"),
+    _cupsLangPrintf(stderr, _("ppdc: Expected option type on line %d of %s."),
                    fp->line, fp->filename);
     return (NULL);
   }
@@ -1598,7 +1598,7 @@ ppdcSource::get_option(ppdcFile   *fp,    // I - File to read
   else
   {
     _cupsLangPrintf(stderr,
-                    _("ppdc: Invalid option type \"%s\" on line %d of %s\n"),
+                    _("ppdc: Invalid option type \"%s\" on line %d of %s."),
                    type, fp->line, fp->filename);
     return (NULL);
   }
@@ -1606,7 +1606,7 @@ ppdcSource::get_option(ppdcFile   *fp,    // I - File to read
   if (!get_token(fp, type, sizeof(type)))
   {
     _cupsLangPrintf(stderr,
-                    _("ppdc: Expected option section on line %d of %s\n"),
+                    _("ppdc: Expected option section on line %d of %s."),
                    fp->line, fp->filename);
     return (NULL);
   }
@@ -1627,7 +1627,7 @@ ppdcSource::get_option(ppdcFile   *fp,    // I - File to read
   {
     _cupsLangPrintf(stderr,
                     _("ppdc: Invalid option section \"%s\" on line %d of "
-                     "%s\n"), type, fp->line, fp->filename);
+                     "%s."), type, fp->line, fp->filename);
     return (NULL);
   }
 
@@ -1643,14 +1643,14 @@ ppdcSource::get_option(ppdcFile   *fp,  // I - File to read
   {
     _cupsLangPrintf(stderr,
                     _("ppdc: Option %s redefined with a different type on line "
-                     "%d of %s\n"), name, fp->line, fp->filename);
+                     "%d of %s."), name, fp->line, fp->filename);
     return (NULL);
   }
   else if (g != mg)
   {
     _cupsLangPrintf(stderr,
                     _("ppdc: Option %s defined in two different groups on line "
-                     "%d of %s\n"), name, fp->line, fp->filename);
+                     "%d of %s."), name, fp->line, fp->filename);
     return (NULL);
   }
 
@@ -1679,7 +1679,7 @@ ppdcSource::get_po(ppdcFile *fp)  // I - File to read
   if (!get_token(fp, locale, sizeof(locale)))
   {
     _cupsLangPrintf(stderr,
-                    _("ppdc: Expected locale after #po on line %d of %s\n"),
+                    _("ppdc: Expected locale after #po on line %d of %s."),
                    fp->line, fp->filename);
     return (NULL);
   }
@@ -1688,7 +1688,7 @@ ppdcSource::get_po(ppdcFile *fp)  // I - File to read
   {
     _cupsLangPrintf(stderr,
                     _("ppdc: Expected filename after #po %s on line %d of "
-                     "%s\n"), locale, fp->line, fp->filename);
+                     "%s."), locale, fp->line, fp->filename);
     return (NULL);
   }
 
@@ -1696,7 +1696,7 @@ ppdcSource::get_po(ppdcFile *fp)  // I - File to read
   if (find_po(locale))
   {
     _cupsLangPrintf(stderr,
-                    _("ppdc: Duplicate #po for locale %s on line %d of %s\n"),
+                    _("ppdc: Duplicate #po for locale %s on line %d of %s."),
                    locale, fp->line, fp->filename);
     return (NULL);
   }
@@ -1728,7 +1728,7 @@ ppdcSource::get_po(ppdcFile *fp)  // I - File to read
   else
   {
     _cupsLangPrintf(stderr,
-                    _("ppdc: Unable to find #po file %s on line %d of %s\n"),
+                    _("ppdc: Unable to find #po file %s on line %d of %s."),
                    poname, fp->line, fp->filename);
     return (NULL);
   }
@@ -1764,7 +1764,7 @@ ppdcSource::get_resolution(ppdcFile *fp)// I - File to read
   {
     _cupsLangPrintf(stderr,
                     _("ppdc: Expected override field after Resolution on line "
-                     "%d of %s\n"), fp->line, fp->filename);
+                     "%d of %s."), fp->line, fp->filename);
     return (NULL);
   }
 
@@ -1781,7 +1781,7 @@ ppdcSource::get_resolution(ppdcFile *fp)// I - File to read
   {
     _cupsLangPrintf(stderr,
                    _("ppdc: Expected name/text after Resolution on line %d of "
-                     "%s\n"), fp->line, fp->filename);
+                     "%s."), fp->line, fp->filename);
     return (NULL);
   }
 
@@ -1795,7 +1795,7 @@ ppdcSource::get_resolution(ppdcFile *fp)// I - File to read
     case 0 :
         _cupsLangPrintf(stderr,
                        _("ppdc: Bad resolution name \"%s\" on line %d of "
-                         "%s\n"), name, fp->line, fp->filename);
+                         "%s."), name, fp->line, fp->filename);
         break;
     case 1 :
         ydpi = xdpi;
@@ -1862,7 +1862,7 @@ ppdcSource::get_simple_profile(ppdcFile *fp)
   {
     _cupsLangPrintf(stderr,
                     _("ppdc: Expected resolution/mediatype following "
-                     "SimpleColorProfile on line %d of %s\n"),
+                     "SimpleColorProfile on line %d of %s."),
                    fp->line, fp->filename);
     return (NULL);
   }
@@ -2032,7 +2032,7 @@ ppdcSource::get_token(ppdcFile *fp,       // I - File to read
          // $ch = $ch
           _cupsLangPrintf(stderr,
                          _("ppdc: Bad variable substitution ($%c) on line %d "
-                           "of %s.\n"), ch, fp->line, fp->filename);
+                           "of %s."), ch, fp->line, fp->filename);
 
          if (bufptr < bufend)
            *bufptr++ = '$';
@@ -2053,7 +2053,7 @@ ppdcSource::get_token(ppdcFile *fp,       // I - File to read
          if (!(cond_state & PPDC_COND_SKIP))
            _cupsLangPrintf(stderr,
                            _("ppdc: Undefined variable (%s) on line %d of "
-                             "%s.\n"), name, fp->line, fp->filename);
+                             "%s."), name, fp->line, fp->filename);
 
          snprintf(bufptr, bufend - bufptr + 1, "$%s", name);
          bufptr += strlen(bufptr);
@@ -2163,7 +2163,7 @@ ppdcSource::get_token(ppdcFile *fp,       // I - File to read
   {
     _cupsLangPrintf(stderr,
                     _("ppdc: Unterminated string starting with %c on line %d "
-                     "of %s\n"), quote, startline, fp->filename);
+                     "of %s."), quote, startline, fp->filename);
     return (NULL);
   }
 
@@ -2400,7 +2400,7 @@ ppdcSource::read_file(const char  *f,     // I - File to read
   delete fp;
 
   if (cond_current != cond_stack)
-    _cupsLangPrintf(stderr, _("ppdc: Missing #endif at end of \"%s\"\n"), f);
+    _cupsLangPrintf(stderr, _("ppdc: Missing #endif at end of \"%s\"."), f);
 }
 
 
@@ -2483,7 +2483,7 @@ ppdcSource::scan_file(ppdcFile   *fp,     // I - File to read
       if ((cond_current - cond_stack) >= 100)
       {
         _cupsLangPrintf(stderr,
-                       _("ppdc: Too many nested #if's on line %d of %s\n"),
+                       _("ppdc: Too many nested #if's on line %d of %s."),
                        fp->line, fp->filename);
        break;
       }
@@ -2501,7 +2501,7 @@ ppdcSource::scan_file(ppdcFile   *fp,     // I - File to read
     {
       if (cond_current == cond_stack)
       {
-        _cupsLangPrintf(stderr, _("ppdc: Missing #if on line %d of %s\n"),
+        _cupsLangPrintf(stderr, _("ppdc: Missing #if on line %d of %s."),
                        fp->line, fp->filename);
         break;
       }
@@ -2536,7 +2536,7 @@ ppdcSource::scan_file(ppdcFile   *fp,     // I - File to read
     {
       if (cond_current == cond_stack)
       {
-        _cupsLangPrintf(stderr, _("ppdc: Missing #if on line %d of %s\n"),
+        _cupsLangPrintf(stderr, _("ppdc: Missing #if on line %d of %s."),
                        fp->line, fp->filename);
         break;
       }
@@ -2566,7 +2566,7 @@ ppdcSource::scan_file(ppdcFile   *fp,     // I - File to read
     {
       if (cond_current == cond_stack)
       {
-        _cupsLangPrintf(stderr, _("ppdc: Missing #if on line %d of %s\n"),
+        _cupsLangPrintf(stderr, _("ppdc: Missing #if on line %d of %s."),
                        fp->line, fp->filename);
         break;
       }
@@ -2608,7 +2608,7 @@ ppdcSource::scan_file(ppdcFile   *fp,     // I - File to read
       {
         _cupsLangPrintf(stderr,
                        _("ppdc: Expected include filename on line %d of "
-                         "%s\n"), fp->line, fp->filename);
+                         "%s."), fp->line, fp->filename);
         break;
       }
 
@@ -2632,7 +2632,7 @@ ppdcSource::scan_file(ppdcFile   *fp,     // I - File to read
        delete incfile;
 
        if (cond_current != old_current)
-         _cupsLangPrintf(stderr, _("ppdc: Missing #endif at end of \"%s\"\n"),
+         _cupsLangPrintf(stderr, _("ppdc: Missing #endif at end of \"%s\"."),
                          incname);
       }
       else
@@ -2640,7 +2640,7 @@ ppdcSource::scan_file(ppdcFile   *fp,     // I - File to read
        // Can't find it!
        _cupsLangPrintf(stderr,
                        _("ppdc: Unable to find include file \"%s\" on line %d "
-                         "of %s\n"), inctemp, fp->line, fp->filename);
+                         "of %s."), inctemp, fp->line, fp->filename);
        break;
       }
     }
@@ -2708,7 +2708,7 @@ ppdcSource::scan_file(ppdcFile   *fp,     // I - File to read
       {
         _cupsLangPrintf(stderr,
                        _("ppdc: Choice found on line %d of %s with no "
-                         "Option\n"), fp->line, fp->filename);
+                         "Option."), fp->line, fp->filename);
         break;
       }
 
@@ -2783,7 +2783,7 @@ ppdcSource::scan_file(ppdcFile   *fp,     // I - File to read
       {
         _cupsLangPrintf(stderr,
                        _("ppdc: Expected string after Copyright on line %d "
-                         "of %s\n"), fp->line, fp->filename);
+                         "of %s."), fp->line, fp->filename);
        break;
       }
 
@@ -2871,7 +2871,7 @@ ppdcSource::scan_file(ppdcFile   *fp,     // I - File to read
       {
        _cupsLangPrintf(stderr,
                        _("ppdc: Option %s defined in two different groups on "
-                         "line %d of %s\n"), "cupsDarkness", fp->line,
+                         "line %d of %s."), "cupsDarkness", fp->line,
                        fp->filename);
        c->release();
        continue;
@@ -2894,7 +2894,7 @@ ppdcSource::scan_file(ppdcFile   *fp,     // I - File to read
       {
         _cupsLangPrintf(stderr,
                        _("ppdc: Expected driver type keyword following "
-                         "DriverType on line %d of %s\n"),
+                         "DriverType on line %d of %s."),
                        fp->line, fp->filename);
         continue;
       }
@@ -2912,7 +2912,7 @@ ppdcSource::scan_file(ppdcFile   *fp,     // I - File to read
         d->type = PPDC_DRIVER_LABEL;
       else
         _cupsLangPrintf(stderr,
-                       _("ppdc: Unknown driver type %s on line %d of %s\n"),
+                       _("ppdc: Unknown driver type %s on line %d of %s."),
                        temp, fp->line, fp->filename);
     }
     else if (!strcasecmp(temp, "Duplex"))
@@ -2957,7 +2957,7 @@ ppdcSource::scan_file(ppdcFile   *fp,     // I - File to read
       {
        _cupsLangPrintf(stderr,
                        _("ppdc: Option %s defined in two different groups on "
-                         "line %d of %s\n"), "cupsFinishing", fp->line,
+                         "line %d of %s."), "cupsFinishing", fp->line,
                        fp->filename);
        c->release();
        continue;
@@ -3050,7 +3050,7 @@ ppdcSource::scan_file(ppdcFile   *fp,     // I - File to read
       {
        _cupsLangPrintf(stderr,
                        _("ppdc: Option %s defined in two different groups on "
-                         "line %d of %s\n"), "InputSlot", fp->line,
+                         "line %d of %s."), "InputSlot", fp->line,
                        fp->filename);
        c->release();
        continue;
@@ -3097,7 +3097,7 @@ ppdcSource::scan_file(ppdcFile   *fp,     // I - File to read
       {
         _cupsLangPrintf(stderr,
                        _("ppdc: Expected name after Manufacturer on line %d "
-                         "of %s\n"), fp->line, fp->filename);
+                         "of %s."), fp->line, fp->filename);
        break;
       }
 
@@ -3130,7 +3130,7 @@ ppdcSource::scan_file(ppdcFile   *fp,     // I - File to read
       {
         _cupsLangPrintf(stderr,
                        _("ppdc: Expected name after MediaSize on line %d of "
-                         "%s\n"), fp->line, fp->filename);
+                         "%s."), fp->line, fp->filename);
        break;
       }
 
@@ -3143,7 +3143,7 @@ ppdcSource::scan_file(ppdcFile   *fp,     // I - File to read
       {
         _cupsLangPrintf(stderr,
                        _("ppdc: Unknown media size \"%s\" on line %d of "
-                         "%s\n"), name, fp->line, fp->filename);
+                         "%s."), name, fp->line, fp->filename);
        break;
       }
 
@@ -3183,7 +3183,7 @@ ppdcSource::scan_file(ppdcFile   *fp,     // I - File to read
       {
        _cupsLangPrintf(stderr,
                        _("ppdc: Option %s defined in two different groups on "
-                         "line %d of %s\n"), "MediaType", fp->line,
+                         "line %d of %s."), "MediaType", fp->line,
                        fp->filename);
        c->release();
        continue;
@@ -3220,7 +3220,7 @@ ppdcSource::scan_file(ppdcFile   *fp,     // I - File to read
       {
         _cupsLangPrintf(stderr,
                        _("ppdc: Expected name after ModelName on line %d of "
-                         "%s\n"), fp->line, fp->filename);
+                         "%s."), fp->line, fp->filename);
        break;
       }
 
@@ -3266,7 +3266,7 @@ ppdcSource::scan_file(ppdcFile   *fp,     // I - File to read
       {
         _cupsLangPrintf(stderr,
                        _("ppdc: Expected name after FileName on line %d of "
-                         "%s\n"), fp->line, fp->filename);
+                         "%s."), fp->line, fp->filename);
        break;
       }
 
@@ -3283,7 +3283,7 @@ ppdcSource::scan_file(ppdcFile   *fp,     // I - File to read
       {
         _cupsLangPrintf(stderr,
                        _("ppdc: Expected name after PCFileName on line %d of "
-                         "%s\n"), fp->line, fp->filename);
+                         "%s."), fp->line, fp->filename);
        break;
       }
 
@@ -3316,7 +3316,7 @@ ppdcSource::scan_file(ppdcFile   *fp,     // I - File to read
       {
        _cupsLangPrintf(stderr,
                        _("ppdc: Option %s defined in two different groups on "
-                         "line %d of %s\n"), "Resolution", fp->line,
+                         "line %d of %s."), "Resolution", fp->line,
                        fp->filename);
        c->release();
        continue;
@@ -3386,7 +3386,7 @@ ppdcSource::scan_file(ppdcFile   *fp,     // I - File to read
       {
         _cupsLangPrintf(stderr,
                        _("ppdc: Expected string after Version on line %d of "
-                         "%s\n"), fp->line, fp->filename);
+                         "%s."), fp->line, fp->filename);
        break;
       }
 
@@ -3396,7 +3396,7 @@ ppdcSource::scan_file(ppdcFile   *fp,     // I - File to read
     else
     {
       _cupsLangPrintf(stderr,
-                      _("ppdc: Unknown token \"%s\" seen on line %d of %s\n"),
+                      _("ppdc: Unknown token \"%s\" seen on line %d of %s."),
                      temp, fp->line, fp->filename);
       break;
     }
index eaf88fa42ed1648d69b1576bd30a353007d50848..9d4b11e21f012a69868f058580fb76a76fdc74ae 100644 (file)
@@ -110,7 +110,7 @@ main(int  argc,                             // I - Number of command-line arguments
 
               if (verbose > 1)
                _cupsLangPrintf(stdout,
-                               _("ppdc: Adding include directory \"%s\"...\n"),
+                               _("ppdc: Adding include directory \"%s\"."),
                                argv[i]);
 
              ppdcSource::add_include(argv[i]);
@@ -123,7 +123,7 @@ main(int  argc,                             // I - Number of command-line arguments
 
               if (verbose > 1)
                _cupsLangPrintf(stdout,
-                               _("ppdc: Loading messages from \"%s\"...\n"),
+                               _("ppdc: Loading messages from \"%s\"."),
                                argv[i]);
 
               if (!catalog)
@@ -133,7 +133,7 @@ main(int  argc,                             // I - Number of command-line arguments
              {
                _cupsLangPrintf(stderr,
                                _("ppdc: Unable to load localization file "
-                                 "\"%s\" - %s\n"), argv[i], strerror(errno));
+                                 "\"%s\" - %s"), argv[i], strerror(errno));
                 return (1);
              }
              break;
@@ -146,7 +146,7 @@ main(int  argc,                             // I - Number of command-line arguments
               if (verbose > 1)
                _cupsLangPrintf(stdout,
                                _("ppdc: Writing PPD files to directory "
-                                 "\"%s\"...\n"), argv[i]);
+                                 "\"%s\"."), argv[i]);
 
              outdir = argv[i];
              break;
@@ -185,7 +185,7 @@ main(int  argc,                             // I - Number of command-line arguments
                if (verbose > 1)
                  _cupsLangPrintf(stdout,
                                  _("ppdc: Loading messages for locale "
-                                   "\"%s\"...\n"), argv[i]);
+                                   "\"%s\"."), argv[i]);
 
                if (catalog)
                  catalog->release();
@@ -196,7 +196,7 @@ main(int  argc,                             // I - Number of command-line arguments
                {
                  _cupsLangPrintf(stderr,
                                  _("ppdc: Unable to find localization for "
-                                   "\"%s\" - %s\n"), argv[i], strerror(errno));
+                                   "\"%s\" - %s"), argv[i], strerror(errno));
                   return (1);
                }
              }
@@ -248,7 +248,7 @@ main(int  argc,                             // I - Number of command-line arguments
       // Open and load the driver info file...
       if (verbose > 1)
         _cupsLangPrintf(stdout,
-                       _("ppdc: Loading driver information file \"%s\"...\n"),
+                       _("ppdc: Loading driver information file \"%s\"."),
                        argv[i]);
 
       src->read_file(argv[i]);
@@ -263,7 +263,7 @@ main(int  argc,                             // I - Number of command-line arguments
       if (errno != EEXIST)
       {
        _cupsLangPrintf(stderr,
-                       _("ppdc: Unable to create output directory %s: %s\n"),
+                       _("ppdc: Unable to create output directory %s: %s"),
                outdir, strerror(errno));
         return (1);
       }
@@ -284,7 +284,7 @@ main(int  argc,                             // I - Number of command-line arguments
         if (pipe(fds))
        {
          _cupsLangPrintf(stderr,
-                         _("ppdc: Unable to create output pipes: %s\n"),
+                         _("ppdc: Unable to create output pipes: %s"),
                          strerror(errno));
          return (1);
        }
@@ -300,14 +300,13 @@ main(int  argc,                           // I - Number of command-line arguments
          execlp("cupstestppd", "cupstestppd", "-", (char *)0);
 
          _cupsLangPrintf(stderr,
-                         _("ppdc: Unable to execute cupstestppd: %s\n"),
+                         _("ppdc: Unable to execute cupstestppd: %s"),
                          strerror(errno));
          return (errno);
        }
        else if (pid < 0)
        {
-         _cupsLangPrintf(stderr,
-                         _("ppdc: Unable to execute cupstestppd: %s\n"),
+         _cupsLangPrintf(stderr, _("ppdc: Unable to execute cupstestppd: %s"),
                          strerror(errno));
          return (errno);
        }
@@ -363,7 +362,7 @@ main(int  argc,                             // I - Number of command-line arguments
 
         if (cupsArrayFind(filenames, filename))
          _cupsLangPrintf(stderr,
-                         _("ppdc: Warning - overlapping filename \"%s\".\n"),
+                         _("ppdc: Warning - overlapping filename \"%s\"."),
                          filename);
        else
          cupsArrayAdd(filenames, strdup(filename));
@@ -372,13 +371,13 @@ main(int  argc,                           // I - Number of command-line arguments
        if (!fp)
        {
          _cupsLangPrintf(stderr,
-                         _("ppdc: Unable to create PPD file \"%s\" - %s.\n"),
+                         _("ppdc: Unable to create PPD file \"%s\" - %s."),
                          filename, strerror(errno));
          return (1);
        }
 
        if (verbose)
-         _cupsLangPrintf(stdout, _("ppdc: Writing %s...\n"), filename);
+         _cupsLangPrintf(stdout, _("ppdc: Writing %s."), filename);
       }
 
      /*
@@ -433,27 +432,33 @@ main(int  argc,                           // I - Number of command-line arguments
 static void
 usage(void)
 {
-  _cupsLangPuts(stdout,
-                _("Usage: ppdc [options] filename.drv [ ... filenameN.drv ]\n"
-                 "Options:\n"
-                 "  -D name=value        Set named variable to value.\n"
-                 "  -I include-dir       Add include directory to search "
-                 "path.\n"
-                 "  -c catalog.po        Load the specified message catalog.\n"
-                 "  -d output-dir        Specify the output directory.\n"
-                 "  -l lang[,lang,...]   Specify the output language(s) "
-                 "(locale).\n"
-                 "  -m                   Use the ModelName value as the "
-                 "filename.\n"
-                 "  -t                   Test PPDs instead of generating "
-                 "them.\n"
-                 "  -v                   Be verbose (more v's for more "
-                 "verbosity).\n"
-                 "  -z                   Compress PPD files using GNU zip.\n"
-                 "  --cr                 End lines with CR (Mac OS 9).\n"
-                 "  --crlf               End lines with CR + LF (Windows).\n"
-                 "  --lf                 End lines with LF (UNIX/Linux/Mac "
-                 "OS X).\n"));
+  _cupsLangPuts(stdout, _("Usage: ppdc [options] filename.drv [ ... "
+                          "filenameN.drv ]"));
+  _cupsLangPuts(stdout, _("Options:"));
+  _cupsLangPuts(stdout, _("  -D name=value        Set named variable to "
+                          "value."));
+  _cupsLangPuts(stdout, _("  -I include-dir       Add include directory to "
+                          "search path."));
+  _cupsLangPuts(stdout, _("  -c catalog.po        Load the specified message "
+                          "catalog."));
+  _cupsLangPuts(stdout, _("  -d output-dir        Specify the output "
+                          "directory."));
+  _cupsLangPuts(stdout, _("  -l lang[,lang,...]   Specify the output "
+                          "language(s) (locale)."));
+  _cupsLangPuts(stdout, _("  -m                   Use the ModelName value as "
+                          "the filename."));
+  _cupsLangPuts(stdout, _("  -t                   Test PPDs instead of "
+                          "generating them."));
+  _cupsLangPuts(stdout, _("  -v                   Be verbose (more v's for "
+                          "more verbosity)."));
+  _cupsLangPuts(stdout, _("  -z                   Compress PPD files using GNU "
+                          "zip."));
+  _cupsLangPuts(stdout, _("  --cr                 End lines with CR (Mac OS "
+                          "9)."));
+  _cupsLangPuts(stdout, _("  --crlf               End lines with CR + LF "
+                          "(Windows)."));
+  _cupsLangPuts(stdout, _("  --lf                 End lines with LF (UNIX/"
+                          "Linux/Mac OS X)."));
 
   exit(1);
 }
index bcbb81e9403f1b31015043b70bd6aee71eef683a..33ee5d92765daf68ecfcc2c40e58927b6e03dfd8 100644 (file)
@@ -3,7 +3,7 @@
 //
 //   PPD to HTML utility for the CUPS PPD Compiler.
 //
-//   Copyright 2007-2008 by Apple Inc.
+//   Copyright 2007-2010 by Apple Inc.
 //   Copyright 2002-2005 by Easy Software Products.
 //
 //   These coded instructions, statements, and computer programs are the
@@ -169,12 +169,13 @@ main(int  argc,                           // I - Number of command-line arguments
 static void
 usage(void)
 {
-  _cupsLangPuts(stdout,
-                _("Usage: ppdhtml [options] filename.drv >filename.html\n"
-                 "  -D name=value        Set named variable to value.\n"
-                 "Options:\n"
-                 "  -I include-dir    Add include directory to search "
-                 "path.\n"));
+  _cupsLangPuts(stdout, _("Usage: ppdhtml [options] filename.drv "
+                          ">filename.html"));
+  _cupsLangPuts(stdout, _("Options:"));
+  _cupsLangPuts(stdout, _("  -D name=value        Set named variable to "
+                          "value."));
+  _cupsLangPuts(stdout, _("  -I include-dir    Add include directory to search "
+                         "path."));
 
   exit(1);
 }
index 4e8aa3f505964c049e16fdab3151d2b00527e113..abc4173f3ab54991fa6afffa1bdcd2a89fb36d70 100644 (file)
@@ -3,7 +3,7 @@
 //
 //   PPD file import utility for the CUPS PPD Compiler.
 //
-//   Copyright 2007-2008 by Apple Inc.
+//   Copyright 2007-2010 by Apple Inc.
 //   Copyright 2002-2005 by Easy Software Products.
 //
 //   These coded instructions, statements, and computer programs are the
@@ -125,11 +125,11 @@ main(int  argc,                           // I - Number of command-line arguments
 static void
 usage(void)
 {
-  _cupsLangPuts(stdout,
-                _("Usage: ppdi [options] filename.ppd [ ... filenameN.ppd ]\n"
-                 "Options:\n"
-                 "  -I include-dir\n"
-                 "  -o filename.drv\n"));
+  _cupsLangPuts(stdout, _("Usage: ppdi [options] filename.ppd [ ... "
+                         "filenameN.ppd ]"));
+  _cupsLangPuts(stdout, _("Options:"));
+  _cupsLangPuts(stdout, _("  -I include-dir"));
+  _cupsLangPuts(stdout, _("  -o filename.drv"));
 
   exit(1);
 }
index ba705e365e007cb2b0f7411790128dd99912c06f..bd5be92ac6feb1dd00ccea606576bc8f638cf2e3 100644 (file)
@@ -93,7 +93,7 @@ main(int  argc,                               // I - Number of command-line arguments
       // Open and load the PPD file...
       if ((infile = cupsFileOpen(argv[i], "r")) == NULL)
       {
-        _cupsLangPrintf(stderr, _("%s: Unable to open %s: %s\n"), "ppdmerge",
+        _cupsLangPrintf(stderr, _("%s: Unable to open %s: %s"), "ppdmerge",
                        argv[i], strerror(errno));
        return (1);
       }
@@ -102,28 +102,29 @@ main(int  argc,                           // I - Number of command-line arguments
       if ((ppd = ppdOpen2(infile)) == NULL)
       {
         ppd_status_t   status;         // PPD open status
-       int             linenum;        // Line number
+       int             curline,        // Current line
+                       linenum;        // Line number
        
        
         status = ppdLastError(&linenum);
        
-       _cupsLangPrintf(stderr, _("%s: Unable to open PPD file: %s on line %d.\n"),
+       _cupsLangPrintf(stderr,
+                       _("%s: Unable to open PPD file: %s on line %d."),
                        "ppdmerge", ppdErrorString(status), linenum);
-       
-        _cupsLangPrintf(stderr, "%d: ", linenum);
         cupsFileRewind(infile);
        
         line[0] = '\0';
+       curline = 0;
        
         while (cupsFileGets(infile, line, sizeof(line)))
        {
-         linenum --;
-         if (!linenum)
+         curline ++;
+         if (curline >= linenum)
            break;
        }
-       
-       _cupsLangPrintf(stderr, "%s\n", line);
-       
+
+       _cupsLangPrintf(stderr, "%d: %s", linenum, line);
+
         cupsFileClose(infile);
        return (1);
       }
@@ -132,7 +133,7 @@ main(int  argc,                             // I - Number of command-line arguments
       if ((locale = ppd_locale(ppd)) == NULL)
       {
         _cupsLangPrintf(stderr,
-                       _("ppdmerge: Bad LanguageVersion \"%s\" in %s\n"),
+                       _("ppdmerge: Bad LanguageVersion \"%s\" in %s."),
                        ppd->lang_version, argv[i]);
         cupsFileClose(infile);
        ppdClose(ppd);
@@ -156,7 +157,7 @@ main(int  argc,                             // I - Number of command-line arguments
          if (rename(inname, bckname))
          {
            _cupsLangPrintf(stderr,
-                           _("ppdmerge: Unable to backup %s to %s- %s\n"),
+                           _("ppdmerge: Unable to backup %s to %s - %s"),
                            inname, bckname, strerror(errno));
            return (1);
          }
@@ -172,7 +173,7 @@ main(int  argc,                             // I - Number of command-line arguments
       else
       {
         // Don't need this PPD...
-       _cupsLangPrintf(stderr, _("ppdmerge: Ignoring PPD file %s...\n"),
+       _cupsLangPrintf(stderr, _("ppdmerge: Ignoring PPD file %s."),
                        argv[i]);
         ppdClose(ppd);
       }
@@ -363,11 +364,10 @@ ppd_locale(ppd_file_t *ppd)               // I - PPD file
 static void
 usage(void)
 {
-  _cupsLangPuts(stdout,
-                _("Usage: ppdmerge [options] filename.ppd "
-                 "[ ... filenameN.ppd ]\n"
-                 "Options:\n"
-                  "  -o filename.ppd[.gz]\n"));
+  _cupsLangPuts(stdout, _("Usage: ppdmerge [options] filename.ppd [ ... "
+                          "filenameN.ppd ]"));
+  _cupsLangPuts(stdout, _("Options:"));
+  _cupsLangPuts(stdout, _("  -o filename.ppd[.gz]"));
 
   exit(1);
 }
index 3b7904f452daf2e1f75474d735ae0d10066825c4..b413e5d6e299970a9957969d200f7bf5de156cb8 100644 (file)
@@ -3,7 +3,7 @@
 //
 //   PPD file message catalog program for the CUPS PPD Compiler.
 //
-//   Copyright 2007-2008 by Apple Inc.
+//   Copyright 2007-2010 by Apple Inc.
 //   Copyright 2002-2005 by Easy Software Products.
 //
 //   These coded instructions, statements, and computer programs are the
@@ -90,7 +90,7 @@ main(int  argc,                               // I - Number of command-line arguments
 
               if (verbose > 1)
                _cupsLangPrintf(stdout,
-                               _("ppdc: Adding include directory \"%s\"...\n"),
+                               _("ppdc: Adding include directory \"%s\"."),
                                argv[i]);
 
              ppdcSource::add_include(argv[i]);
@@ -120,7 +120,7 @@ main(int  argc,                             // I - Number of command-line arguments
       // Open and load the driver info file...
       if (verbose > 1)
         _cupsLangPrintf(stdout,
-                       _("ppdc: Loading driver information file \"%s\"...\n"),
+                       _("ppdc: Loading driver information file \"%s\"."),
                        argv[i]);
 
       src = new ppdcSource(argv[i]);
@@ -131,8 +131,7 @@ main(int  argc,                             // I - Number of command-line arguments
           d = (ppdcDriver *)src->drivers->next())
       {
        if (verbose)
-         _cupsLangPrintf(stderr,
-                         _("ppdc: Adding/updating UI text from %s...\n"),
+         _cupsLangPrintf(stderr, _("ppdc: Adding/updating UI text from %s."),
                          argv[i]);
 
         add_ui_strings(d, catalog);
@@ -250,14 +249,15 @@ add_ui_strings(ppdcDriver  *d,            // I - Driver data
 static void
 usage(void)
 {
-  _cupsLangPuts(stdout,
-                _("Usage: ppdpo [options] -o filename.po filename.drv [ ... "
-                 "filenameN.drv ]\n"
-                 "Options:\n"
-                 "  -D name=value        Set named variable to value.\n"
-                 "  -I include-dir    Add include directory to search path.\n"
-                 "  -v                Be verbose (more v's for more "
-                 "verbosity).\n"));
+  _cupsLangPuts(stdout, _("Usage: ppdpo [options] -o filename.po filename.drv "
+                          "[ ... filenameN.drv ]"));
+  _cupsLangPuts(stdout, _("Options:"));
+  _cupsLangPuts(stdout, _("  -D name=value     Set named variable to "
+                          "value."));
+  _cupsLangPuts(stdout, _("  -I include-dir    Add include directory to search "
+                          "path."));
+  _cupsLangPuts(stdout, _("  -v                Be verbose (more v's for more "
+                         "verbosity)."));
 
   exit(1);
 }
index e2e7bee8418894a3f072b432cacc4e9256f7c294..63b0c359e7be0fb39b7ae86e325daa83b5bfa094 100644 (file)
@@ -344,14 +344,14 @@ main(int  argc,                           /* I - Number of command-line args */
       {
        _cupsLangPuts(stderr,
                      _("convert: Use the -f option to specify a file to "
-                       "convert.\n"));
+                       "convert."));
        usage(command, NULL);
       }
     }
     else
     {
       _cupsLangPuts(stderr,
-                    _("cupsfilter: Only one filename can be specified\n"));
+                    _("cupsfilter: Only one filename can be specified."));
       usage(command, NULL);
     }
 
@@ -386,7 +386,7 @@ main(int  argc,                             /* I - Number of command-line args */
   {
     _cupsLangPrintf(stderr,
                     _("%s: Unable to read MIME database from \"%s\" or "
-                     "\"%s\"\n"),
+                     "\"%s\"."),
                    command, mimedir, ServerRoot);
     return (1);
   }
@@ -412,7 +412,7 @@ main(int  argc,                             /* I - Number of command-line args */
     if ((src = mimeType(mime, super, type)) == NULL)
     {
       _cupsLangPrintf(stderr,
-                     _("%s: Unknown source MIME type %s/%s\n"),
+                     _("%s: Unknown source MIME type %s/%s."),
                      command, super, type);
       return (1);
     }
@@ -420,7 +420,7 @@ main(int  argc,                             /* I - Number of command-line args */
   else if ((src = mimeFileType(mime, infile, infile, &compression)) == NULL)
   {
     _cupsLangPrintf(stderr,
-                    _("%s: Unable to determine MIME type of \"%s\"\n"),
+                    _("%s: Unable to determine MIME type of \"%s\"."),
                    command, infile);
     return (1);
   }
@@ -431,7 +431,7 @@ main(int  argc,                             /* I - Number of command-line args */
   else if ((dst = mimeType(mime, super, type)) == NULL)
   {
     _cupsLangPrintf(stderr,
-                    _("%s: Unknown destination MIME type %s/%s\n"),
+                    _("%s: Unknown destination MIME type %s/%s."),
                    command, super, type);
     return (1);
   }
@@ -454,7 +454,7 @@ main(int  argc,                             /* I - Number of command-line args */
   else if ((filters = mimeFilter(mime, src, dst, &cost)) == NULL)
   {
     _cupsLangPrintf(stderr,
-                    _("%s: No filter to convert from %s/%s to %s/%s\n"),
+                    _("%s: No filter to convert from %s/%s to %s/%s."),
                    command, src->super, src->type, dst->super, dst->type);
     return (1);
   }
@@ -540,7 +540,7 @@ add_printer_filter(
   if (sscanf(filter, "%15[^/]/%31s%d%*[ \t]%1023[^\n]", super, type, &cost,
              program) != 4)
   {
-    _cupsLangPrintf(stderr, _("%s: Invalid filter string \"%s\"\n"), command,
+    _cupsLangPrintf(stderr, _("%s: Invalid filter string \"%s\"."), command,
                     filter);
     return;
   }
@@ -559,7 +559,7 @@ add_printer_filter(
 
     if (access(filename, X_OK))
     {
-      _cupsLangPrintf(stderr, _("%s: Filter \"%s\" not available: %s\n"),
+      _cupsLangPrintf(stderr, _("%s: Filter \"%s\" not available: %s"),
                       command, program, strerror(errno));
       return;
     }
@@ -604,7 +604,7 @@ add_printer_filters(
     ppd_status_t  status;              /* PPD load status */
 
     status = ppdLastError(&i);
-    _cupsLangPrintf(stderr, _("%s: Unable to open PPD file: %s on line %d\n"),
+    _cupsLangPrintf(stderr, _("%s: Unable to open PPD file: %s on line %d."),
                     command, ppdErrorString(status), i);
     return (NULL);
   }
@@ -1124,13 +1124,13 @@ get_job_file(const char *job)           /* I - Job ID */
 
   if (jobid < 1 || jobid > INT_MAX)
   {
-    _cupsLangPrintf(stderr, _("cupsfilter: Invalid job ID %d\n"), (int)jobid);
+    _cupsLangPrintf(stderr, _("cupsfilter: Invalid job ID %d."), (int)jobid);
     exit(1);
   }
 
   if (docnum < 1 || docnum > INT_MAX)
   {
-    _cupsLangPrintf(stderr, _("cupsfilter: Invalid document number %d\n"),
+    _cupsLangPrintf(stderr, _("cupsfilter: Invalid document number %d."),
                     (int)docnum);
     exit(1);
   }
@@ -1142,7 +1142,7 @@ get_job_file(const char *job)             /* I - Job ID */
   if ((http = httpConnectEncrypt(cupsServer(), ippPort(),
                                  cupsEncryption())) == NULL)
   {
-    _cupsLangPrintf(stderr, _("%s: Unable to connect to server\n"),
+    _cupsLangPrintf(stderr, _("%s: Unable to connect to server."),
                     "cupsfilter");
     exit(1);
   }
@@ -1157,7 +1157,7 @@ get_job_file(const char *job)             /* I - Job ID */
 
   if ((tempfd = cupsTempFd(TempFile, sizeof(TempFile))) == -1)
   {
-    _cupsLangPrintError(_("ERROR: Unable to create temporary file"));
+    _cupsLangPrintError("ERROR", _("Unable to create temporary file"));
     httpClose(http);
     exit(1);
   }
@@ -1172,7 +1172,7 @@ get_job_file(const char *job)             /* I - Job ID */
 
   if (cupsLastError() != IPP_OK)
   {
-    _cupsLangPrintf(stderr, _("cupsfilter: Unable to get job file - %s\n"),
+    _cupsLangPrintf(stderr, _("cupsfilter: Unable to get job file - %s"),
                     cupsLastErrorString());
     unlink(TempFile);
     exit(1);
@@ -1348,41 +1348,49 @@ usage(const char *command,              /* I - Command name */
       const char *opt)                 /* I - Incorrect option, if any */
 {
   if (opt)
-    _cupsLangPrintf(stderr, _("%s: Unknown option '%c'\n"), command, *opt);
+    _cupsLangPrintf(stderr, _("%s: Unknown option \"%c\"."), command, *opt);
 
   if (!strcmp(command, "cupsfilter"))
-    _cupsLangPuts(stdout,
-                 _("Usage: cupsfilter -m mime/type [ options ] filename\n"
-                   "\n"
-                   "Options:\n"
-                   "\n"
-                   "  -c cupsd.conf    Set cupsd.conf file to use\n"
-                   "  -d printer       Use the named printer\n"
-                   "  -e               Use every filter from the PPD file\n"
-                   "  -j job-id[,N]    Filter file N from the specified job (default is file 1)\n"
-                   "  -n copies        Set number of copies\n"
-                   "  -o name=value    Set option(s)\n"
-                   "  -p filename.ppd  Set PPD file\n"
-                   "  -t title         Set title\n"));
+  {
+    _cupsLangPuts(stdout, _("Usage: cupsfilter -m mime/type [ options ] "
+                            "filename"));
+    _cupsLangPuts(stdout, _("Options:"));
+    _cupsLangPuts(stdout, _("  -c cupsd.conf    Set cupsd.conf file to use."));
+    _cupsLangPuts(stdout, _("  -d printer       Use the named printer."));
+    _cupsLangPuts(stdout, _("  -e               Use every filter from the PPD "
+                            "file."));
+    _cupsLangPuts(stdout, _("  -j job-id[,N]    Filter file N from the "
+                            "specified job (default is file 1)."));
+    _cupsLangPuts(stdout, _("  -n copies        Set number of copies."));
+    _cupsLangPuts(stdout, _("  -o name=value    Set option(s)."));
+    _cupsLangPuts(stdout, _("  -p filename.ppd  Set PPD file."));
+    _cupsLangPuts(stdout, _("  -t title         Set title."));
+  }
   else
-    _cupsLangPuts(stdout,
-                 _("Usage: convert [ options ]\n"
-                   "\n"
-                   "Options:\n"
-                   "\n"
-                   "  -d printer           Use the named printer\n"
-                   "  -e                   Use every filter from the PPD file\n"
-                   "  -f filename          Set file to be converted (otherwise stdin)\n"
-                   "  -o filename          Set file to be generated (otherwise stdout)\n"
-                   "  -i mime/type         Set input MIME type (otherwise auto-typed)\n"
-                   "  -j mime/type         Set output MIME type (otherwise application/pdf)\n"
-                   "  -P filename.ppd      Set PPD file\n"
-                   "  -a 'name=value ...'  Set option(s)\n"
-                   "  -U username          Set username for job\n"
-                   "  -J title             Set title\n"
-                   "  -c copies            Set number of copies\n"
-                   "  -u                   Remove the PPD file when finished\n"
-                   "  -D                   Remove the input file when finished\n"));
+  {
+    _cupsLangPuts(stdout, _("Usage: convert [ options ]"));
+    _cupsLangPuts(stdout, _("Options:"));
+    _cupsLangPuts(stdout, _("  -d printer           Use the named printer."));
+    _cupsLangPuts(stdout, _("  -e                   Use every filter from the "
+                            "PPD file."));
+    _cupsLangPuts(stdout, _("  -f filename          Set file to be converted "
+                            "(otherwise stdin)."));
+    _cupsLangPuts(stdout, _("  -o filename          Set file to be generated "
+                            "(otherwise stdout)."));
+    _cupsLangPuts(stdout, _("  -i mime/type         Set input MIME type "
+                            "(otherwise auto-typed)."));
+    _cupsLangPuts(stdout, _("  -j mime/type         Set output MIME type "
+                           "(otherwise application/pdf)."));
+    _cupsLangPuts(stdout, _("  -P filename.ppd      Set PPD file."));
+    _cupsLangPuts(stdout, _("  -a 'name=value ...'  Set option(s)."));
+    _cupsLangPuts(stdout, _("  -U username          Set username for job."));
+    _cupsLangPuts(stdout, _("  -J title             Set title."));
+    _cupsLangPuts(stdout, _("  -c copies            Set number of copies."));
+    _cupsLangPuts(stdout, _("  -u                   Remove the PPD file when "
+                            "finished."));
+    _cupsLangPuts(stdout, _("  -D                   Remove the input file when "
+                            "finished."));
+  }
 
   exit(1);
 }
index cbd6732d6f079e064f5160d3caae93d3df580615..77982326f90bc79d769d3bc4c6306e9510f12458 100644 (file)
@@ -195,7 +195,7 @@ main(int  argc,                             /* I - Number of command-line args */
              if (i >= argc)
              {
                _cupsLangPuts(stderr, _("cupsd: Expected config filename "
-                                       "after \"-c\" option\n"));
+                                       "after \"-c\" option."));
                usage(1);
              }
 
@@ -226,14 +226,14 @@ main(int  argc,                           /* I - Number of command-line args */
                 if ((current = malloc(1024)) == NULL)
                {
                  _cupsLangPuts(stderr,
-                               _("cupsd: Unable to get current directory\n"));
+                               _("cupsd: Unable to get current directory."));
                   return (1);
                }
 
                if (!getcwd(current, 1024))
                {
                  _cupsLangPuts(stderr,
-                               _("cupsd: Unable to get current directory\n"));
+                               _("cupsd: Unable to get current directory."));
                   free(current);
                  return (1);
                }
@@ -261,7 +261,7 @@ main(int  argc,                             /* I - Number of command-line args */
              fg      = 1;
 #else
              _cupsLangPuts(stderr, _("cupsd: launchd(8) support not compiled "
-                                     "in, running in normal mode.\n"));
+                                     "in, running in normal mode."));
               fg = 0;
 #endif /* HAVE_LAUNCHD */
              break;
@@ -294,13 +294,13 @@ main(int  argc,                           /* I - Number of command-line args */
 
          default : /* Unknown option */
               _cupsLangPrintf(stderr, _("cupsd: Unknown option \"%c\" - "
-                                       "aborting\n"), *opt);
+                                       "aborting."), *opt);
              usage(1);
              break;
        }
     else
     {
-      _cupsLangPrintf(stderr, _("cupsd: Unknown argument \"%s\" - aborting\n"),
+      _cupsLangPrintf(stderr, _("cupsd: Unknown argument \"%s\" - aborting."),
                       argv[i]);
       usage(1);
     }
@@ -2190,15 +2190,20 @@ sigterm_handler(int sig)                /* I - Signal number */
 static void
 usage(int status)                      /* O - Exit status */
 {
-  _cupsLangPuts(status ? stderr : stdout,
-                _("Usage: cupsd [-c config-file] [-f] [-F] [-h] [-l]\n"
-                 "\n"
-                 "-c config-file      Load alternate configuration file\n"
-                 "-f                  Run in the foreground\n"
-                 "-F                  Run in the foreground but detach from console\n"
-                 "-h                  Show this usage message\n"
-                 "-l                  Run cupsd from launchd(8)\n"
-                 "-t                  Test the configuration file\n"));
+  FILE *fp = status ? stderr : stdout; /* Output file */
+
+
+  _cupsLangPuts(fp, _("Usage: cupsd [options]"));
+  _cupsLangPuts(fp, _("Options:"));
+  _cupsLangPuts(fp, _("-c config-file      Load alternate configuration "
+                      "file."));
+  _cupsLangPuts(fp, _("-f                  Run in the foreground."));
+  _cupsLangPuts(fp, _("-F                  Run in the foreground but detach "
+                      "from console."));
+  _cupsLangPuts(fp, _("-h                  Show this usage message."));
+  _cupsLangPuts(fp, _("-l                  Run cupsd from launchd(8)."));
+  _cupsLangPuts(fp, _("-t                  Test the configuration file."));
+
   exit(status);
 }
 
index 5de6b8f04ddf856e3fef1ee51d78e09ca74e38bb..8d655b01b2a5cc6f6d3f4e0ccc9a234a3e2819eb 100644 (file)
@@ -78,8 +78,7 @@ main(int  argc,                               /* I - Number of command-line arguments */
              httpEncryption(http, HTTP_ENCRYPT_REQUIRED);
 #else
             _cupsLangPrintf(stderr,
-                           _("%s: Sorry, no encryption support compiled in\n"),
-                           argv[0]);
+                           _("%s: Sorry, no encryption support."), argv[0]);
 #endif /* HAVE_SSL */
            break;
 
@@ -93,8 +92,7 @@ main(int  argc,                               /* I - Number of command-line arguments */
              {
                _cupsLangPrintf(stderr,
                                _("%s: Error - expected username after "
-                                 "\'-U\' option\n"),
-                               argv[0]);
+                                 "\"-U\" option."), argv[0]);
                return (1);
              }
 
@@ -124,8 +122,7 @@ main(int  argc,                             /* I - Number of command-line arguments */
              {
                _cupsLangPrintf(stderr,
                                _("%s: Error - expected hostname after "
-                                 "\'-h\' option\n"),
-                               argv[0]);
+                                 "\"-h\" option."), argv[0]);
                return (1);
               }
              else
@@ -146,8 +143,7 @@ main(int  argc,                             /* I - Number of command-line arguments */
              {
                _cupsLangPrintf(stderr,
                                _("%s: Error - expected username after "
-                                 "\'-u\' option\n"),
-                               argv[0]);
+                                 "\"-u\" option."), argv[0]);
                return (1);
               }
              else
@@ -157,7 +153,7 @@ main(int  argc,                             /* I - Number of command-line arguments */
 
        default :
            _cupsLangPrintf(stderr,
-                           _("%s: Error - unknown option \'%c\'\n"),
+                           _("%s: Error - unknown option \"%c\"."),
                            argv[0], argv[i][1]);
            return (1);
       }
@@ -215,7 +211,7 @@ main(int  argc,                             /* I - Number of command-line arguments */
        */
 
         _cupsLangPrintf(stderr,
-                       _("%s: Error - unknown destination \"%s\"\n"),
+                       _("%s: Error - unknown destination \"%s\"."),
                        argv[0], argv[i]);
        return (1);
       }
@@ -238,8 +234,7 @@ main(int  argc,                             /* I - Number of command-line arguments */
                                       cupsEncryption())) == NULL)
        {
          _cupsLangPrintf(stderr,
-                         _("%s: Unable to contact server\n"),
-                         argv[0]);
+                         _("%s: Unable to contact server."), argv[0]);
          return (1);
        }
 
@@ -296,7 +291,7 @@ main(int  argc,                             /* I - Number of command-line arguments */
       if (response == NULL ||
           response->request.status.status_code > IPP_OK_CONFLICT)
       {
-       _cupsLangPrintf(stderr, _("%s: %s failed: %s\n"), argv[0],
+       _cupsLangPrintf(stderr, _("%s: %s failed: %s"), argv[0],
                        op == IPP_PURGE_JOBS ? "purge-jobs" : "cancel-job",
                        cupsLastErrorString());
 
@@ -319,8 +314,7 @@ main(int  argc,                             /* I - Number of command-line arguments */
       if ((http = httpConnectEncrypt(cupsServer(), ippPort(),
                                     cupsEncryption())) == NULL)
       {
-       _cupsLangPrintf(stderr, _("%s: Unable to contact server\n"),
-                       argv[0]);
+       _cupsLangPrintf(stderr, _("%s: Unable to contact server."), argv[0]);
        return (1);
       }
 
@@ -360,7 +354,7 @@ main(int  argc,                             /* I - Number of command-line arguments */
     if (response == NULL ||
         response->request.status.status_code > IPP_OK_CONFLICT)
     {
-      _cupsLangPrintf(stderr, _("%s: %s failed: %s\n"), argv[0],
+      _cupsLangPrintf(stderr, _("%s: %s failed: %s"), argv[0],
                      op == IPP_PURGE_JOBS ? "purge-jobs" : "cancel-job",
                      cupsLastErrorString());
 
index 40bc6c3248d9a9b4d63f3e7123ed005e7e010f87..784138ee2fe8c80f2098ed14eb5497dba1756f68 100644 (file)
@@ -65,8 +65,7 @@ main(int  argc,                               /* I - Number of command-line arguments */
     op = IPP_RESUME_PRINTER;
   else
   {
-    _cupsLangPrintf(stderr, _("%s: Don't know what to do\n"),
-                    command);
+    _cupsLangPrintf(stderr, _("%s: Don't know what to do."), command);
     return (1);
   }
 
@@ -86,8 +85,7 @@ main(int  argc,                               /* I - Number of command-line arguments */
            cupsSetEncryption(HTTP_ENCRYPT_REQUIRED);
 #else
             _cupsLangPrintf(stderr,
-                           _("%s: Sorry, no encryption support compiled in\n"),
-                           command);
+                           _("%s: Sorry, no encryption support."), command);
 #endif /* HAVE_SSL */
            break;
 
@@ -101,8 +99,7 @@ main(int  argc,                              /* I - Number of command-line arguments */
              {
                _cupsLangPrintf(stderr,
                                _("%s: Error - expected username after "
-                                 "\'-U\' option\n"),
-                               command);
+                                 "\"-U\" option."), command);
                return (1);
              }
 
@@ -124,8 +121,7 @@ main(int  argc,                             /* I - Number of command-line arguments */
              {
                _cupsLangPrintf(stderr,
                                _("%s: Error - expected hostname after "
-                                 "\'-h\' option\n"),
-                               command);
+                                 "\"-h\" option."), command);
                return (1);
              }
 
@@ -143,8 +139,7 @@ main(int  argc,                             /* I - Number of command-line arguments */
              {
                _cupsLangPrintf(stderr,
                                _("%s: Error - expected reason text after "
-                                 "\'-r\' option\n"),
-                               command);
+                                 "\"-r\" option."), command);
                return (1);
              }
 
@@ -159,14 +154,14 @@ main(int  argc,                           /* I - Number of command-line arguments */
              op = IPP_RELEASE_HELD_NEW_JOBS;
            else
            {
-             _cupsLangPrintf(stderr, _("%s: Error - unknown option \'%s\'\n"),
+             _cupsLangPrintf(stderr, _("%s: Error - unknown option \"%s\"."),
                              command, argv[i]);
              return (1);
            }
            break;
 
        default :
-           _cupsLangPrintf(stderr, _("%s: Error - unknown option \'%c\'\n"),
+           _cupsLangPrintf(stderr, _("%s: Error - unknown option \"%c\"."),
                            command, argv[i][1]);
            return (1);
       }
@@ -200,7 +195,7 @@ main(int  argc,                             /* I - Number of command-line arguments */
       if (cupsLastError() > IPP_OK_CONFLICT)
       {
        _cupsLangPrintf(stderr,
-                       _("%s: Operation failed: %s\n"),
+                       _("%s: Operation failed: %s"),
                        command, ippErrorString(cupsLastError()));
        return (1);
       }
@@ -229,7 +224,7 @@ main(int  argc,                             /* I - Number of command-line arguments */
 
         if (cupsLastError() > IPP_OK_CONFLICT)
        {
-         _cupsLangPrintf(stderr, "%s: %s\n", command, cupsLastErrorString());
+         _cupsLangPrintf(stderr, "%s: %s", command, cupsLastErrorString());
          return (1);
        }
       }
index 955202ddbd8452b786ed01390a31429b7d6875fe..76204fd2c9bf297da9e0001a88ab096ba1497739 100644 (file)
@@ -83,7 +83,7 @@ main(int  argc,                               /* I - Number of command-line arguments */
       cupsSetEncryption(HTTP_ENCRYPT_REQUIRED);
 #else
       _cupsLangPrintf(stderr,
-                     _("%s: Sorry, no encryption support compiled in\n"),
+                     _("%s: Sorry, no encryption support."),
                      argv[0]);
 #endif /* HAVE_SSL */
     }
@@ -141,7 +141,8 @@ main(int  argc,                             /* I - Number of command-line arguments */
        if ((http = httpConnectEncrypt(cupsServer(), ippPort(),
                                        cupsEncryption())) == NULL)
        {
-         _cupsLangPrintf(stderr, _("%s: Unable to connect to server\n"), argv[0]);
+         _cupsLangPrintf(stderr, _("%s: Unable to connect to server."),
+                         argv[0]);
          exit(1);
        }
       }
@@ -167,7 +168,7 @@ main(int  argc,                             /* I - Number of command-line arguments */
   if ((http = httpConnectEncrypt(cupsServer(), ippPort(),
                                  cupsEncryption())) == NULL)
   {
-    _cupsLangPrintf(stderr, _("%s: Unable to connect to server\n"), argv[0]);
+    _cupsLangPrintf(stderr, _("%s: Unable to connect to server."), argv[0]);
     exit(1);
   }
 
@@ -229,8 +230,7 @@ export_dest(http_t     *http,               /* I - Connection to server */
   if (!cupsAdminCreateWindowsPPD(http, dest, ppdfile, sizeof(ppdfile)))
   {
     _cupsLangPrintf(stderr,
-                    _("cupsaddsmb: No PPD file for printer \"%s\" - "
-                     "%s\n"),
+                    _("cupsaddsmb: No PPD file for printer \"%s\" - %s"),
                    dest, cupsLastErrorString());
     return (1);
   }
@@ -278,17 +278,19 @@ export_dest(http_t     *http,             /* I - Connection to server */
 void
 usage(void)
 {
-  _cupsLangPuts(stdout,
-                _("Usage: cupsaddsmb [options] printer1 ... printerN\n"
-                 "       cupsaddsmb [options] -a\n"
-                 "\n"
-                 "Options:\n"
-                 "  -E               Encrypt the connection to the server\n"
-                 "  -H samba-server  Use the named SAMBA server\n"
-                 "  -U samba-user    Authenticate using the named SAMBA user\n"
-                 "  -a               Export all printers\n"
-                 "  -h cups-server   Use the named CUPS server\n"
-                 "  -v               Be verbose (show commands)\n"));
+  _cupsLangPuts(stdout, _("Usage: cupsaddsmb [options] printer1 ... printerN"));
+  _cupsLangPuts(stdout, _("       cupsaddsmb [options] -a"));
+  _cupsLangPuts(stdout, "");
+  _cupsLangPuts(stdout, _("Options:"));
+  _cupsLangPuts(stdout, _("  -E               Encrypt the connection to the "
+                          "server."));
+  _cupsLangPuts(stdout, _("  -H samba-server  Use the named SAMBA server."));
+  _cupsLangPuts(stdout, _("  -U samba-user    Authenticate using the named "
+                          "SAMBA user."));
+  _cupsLangPuts(stdout, _("  -a               Export all printers."));
+  _cupsLangPuts(stdout, _("  -h cups-server   Use the named CUPS server."));
+  _cupsLangPuts(stdout, _("  -v               Be verbose (show commands)."));
+
   exit(1);
 }
 
index 1ba1641ed6e243408721684322b2019d510a5806..7dc3cf3ff3c7e9f89dcda2003c9b3389726184f1 100644 (file)
@@ -148,7 +148,7 @@ main(int  argc,                             /* I - Number of command-line args */
   if ((http = httpConnectEncrypt(cupsServer(), ippPort(),
                                  cupsEncryption())) == NULL)
   {
-    _cupsLangPrintf(stderr, _("cupsctl: Unable to connect to server: %s\n"),
+    _cupsLangPrintf(stderr, _("cupsctl: Unable to connect to server: %s"),
                     strerror(errno));
     return (1);
   }
@@ -161,19 +161,19 @@ main(int  argc,                           /* I - Number of command-line args */
   {
     if (!cupsAdminSetServerSettings(http, num_settings, settings))
     {
-      _cupsLangPrintf(stderr, "cupsctl: %s\n", cupsLastErrorString());
+      _cupsLangPrintf(stderr, "cupsctl: %s", cupsLastErrorString());
       return (1);
     }
   }
   else if (!cupsAdminGetServerSettings(http, &num_settings, &settings))
   {
-    _cupsLangPrintf(stderr, "cupsctl: %s\n", cupsLastErrorString());
+    _cupsLangPrintf(stderr, "cupsctl: %s", cupsLastErrorString());
     return (1);
   }
   else
   {
     for (i = 0; i < num_settings; i ++)
-      _cupsLangPrintf(stdout, "%s=%s\n", settings[i].name, settings[i].value);
+      _cupsLangPrintf(stdout, "%s=%s", settings[i].name, settings[i].value);
   }
 
   cupsFreeOptions(num_settings, settings);
@@ -191,29 +191,33 @@ usage(const char *opt)                    /* I - Option character/string */
   if (opt)
   {
     if (*opt == '-')
-      _cupsLangPrintf(stderr, _("cupsctl: Unknown option \"%s\"\n"), opt);
+      _cupsLangPrintf(stderr, _("cupsctl: Unknown option \"%s\""), opt);
     else
-      _cupsLangPrintf(stderr, _("cupsctl: Unknown option \"-%c\"\n"), *opt);
+      _cupsLangPrintf(stderr, _("cupsctl: Unknown option \"-%c\""), *opt);
   }
 
-  _cupsLangPuts(stdout,
-                _("Usage: cupsctl [options] [param=value ... paramN=valueN]\n"
-                 "\n"
-                 "Options:\n"
-                 "\n"
-                 "    -E                      Enable encryption\n"
-                 "    -U username             Specify username\n"
-                 "    -h server[:port]        Specify server address\n"
-                 "\n"
-                 "    --[no-]debug-logging    Turn debug logging on/off\n"
-                 "    --[no-]remote-admin     Turn remote administration "
-                 "on/off\n"
-                 "    --[no-]remote-any       Allow/prevent access from the "
-                 "Internet\n"
-                 "    --[no-]remote-printers  Show/hide remote printers\n"
-                 "    --[no-]share-printers   Turn printer sharing on/off\n"
-                 "    --[no-]user-cancel-any  Allow/prevent users to cancel "
-                 "any job\n"));
+  _cupsLangPuts(stdout, _("Usage: cupsctl [options] [param=value ... "
+                          "paramN=valueN]"));
+  _cupsLangPuts(stdout, "");
+  _cupsLangPuts(stdout, _("Options:"));
+  _cupsLangPuts(stdout, "");
+  _cupsLangPuts(stdout, _("    -E                      Enable encryption."));
+  _cupsLangPuts(stdout, _("    -U username             Specify username."));
+  _cupsLangPuts(stdout, _("    -h server[:port]        Specify server "
+                          "address."));
+  _cupsLangPuts(stdout, "");
+  _cupsLangPuts(stdout, _("    --[no-]debug-logging    Turn debug logging "
+                          "on/off."));
+  _cupsLangPuts(stdout, _("    --[no-]remote-admin     Turn remote "
+                          "administration on/off."));
+  _cupsLangPuts(stdout, _("    --[no-]remote-any       Allow/prevent access "
+                          "from the Internet."));
+  _cupsLangPuts(stdout, _("    --[no-]remote-printers  Show/hide remote "
+                          "printers."));
+  _cupsLangPuts(stdout, _("    --[no-]share-printers   Turn printer sharing "
+                          "on/off."));
+  _cupsLangPuts(stdout, _("    --[no-]user-cancel-any  Allow/prevent users to "
+                          "cancel any job."));
 
   exit(1);
 }
index 87207d7f593d16461ed528063bdc2097181d54c2..6944b42c56ffbe7ca5ae00528ec9be34b7a9c786 100644 (file)
@@ -156,7 +156,8 @@ check_file(const char *filename)    /* I - File to read from */
   status           = 0;
   version          = 0.0f;
 
-  _cupsLangPrintf(stdout, "%s: ", filename);
+  /* TODO: Fixme */
+  printf("%s: ", filename);
   fflush(stdout);
 
   while ((bytes = cupsFileGetLine(fp, line, sizeof(line))) > 0)
@@ -168,12 +169,12 @@ check_file(const char *filename)  /* I - File to read from */
       if (!saw_long_line)
       {
        if (!status)
-          _cupsLangPuts(stdout, _("FAIL\n"));
+          _cupsLangPuts(stdout, _("FAIL"));
 
        status ++;
        _cupsLangPrintf(stdout,
-                       _("    Line %d is longer than 255 characters (%d)\n"
-                         "        REF: Page 25, Line Length\n"),
+                       _("    Line %d is longer than 255 characters (%d).\n"
+                         "        REF: Page 25, Line Length"),
                        linenum, (int)bytes);
       }
 
@@ -185,11 +186,11 @@ check_file(const char *filename)  /* I - File to read from */
       if (strncmp(line, "%!PS-Adobe-", 11))
       {
        if (!status)
-          _cupsLangPuts(stdout, _("FAIL\n"));
+          _cupsLangPuts(stdout, _("FAIL"));
 
        _cupsLangPuts(stdout,
-                     _("    Missing %!PS-Adobe-3.0 on first line\n"
-                       "        REF: Page 17, 3.1 Conforming Documents\n"));
+                     _("    Missing %!PS-Adobe-3.0 on first line.\n"
+                       "        REF: Page 17, 3.1 Conforming Documents"));
        cupsFileClose(fp);
        return (1);
       }
@@ -210,12 +211,12 @@ check_file(const char *filename)  /* I - File to read from */
         if (atoi(line + 8) <= 0)
        {
          if (!status)
-            _cupsLangPuts(stdout, _("FAIL\n"));
+            _cupsLangPuts(stdout, _("FAIL"));
 
          status ++;
          _cupsLangPrintf(stdout,
-                         _("    Bad %%%%Pages: on line %d\n"
-                           "        REF: Page 43, %%%%Pages:\n"),
+                         _("    Bad %%%%Pages: on line %d.\n"
+                           "        REF: Page 43, %%%%Pages:"),
                          linenum);
        }
        else
@@ -227,11 +228,11 @@ check_file(const char *filename)  /* I - File to read from */
                   lbrt + 3) != 4)
         {
          if (!status)
-            _cupsLangPuts(stdout, _("FAIL\n"));
+            _cupsLangPuts(stdout, _("FAIL"));
 
          status ++;
-         _cupsLangPrintf(stdout, _("    Bad %%%%BoundingBox: on line %d\n"
-                                   "        REF: Page 39, %%%%BoundingBox:\n"),
+         _cupsLangPrintf(stdout, _("    Bad %%%%BoundingBox: on line %d.\n"
+                                   "        REF: Page 39, %%%%BoundingBox:"),
                          linenum);
        }
        else
@@ -251,11 +252,11 @@ check_file(const char *filename)  /* I - File to read from */
        else if (atoi(line + 8) <= 0)
        {
          if (!status)
-            _cupsLangPuts(stdout, _("FAIL\n"));
+            _cupsLangPuts(stdout, _("FAIL"));
 
          status ++;
-         _cupsLangPrintf(stdout, _("    Bad %%%%Pages: on line %d\n"
-                                   "        REF: Page 43, %%%%Pages:\n"),
+         _cupsLangPrintf(stdout, _("    Bad %%%%Pages: on line %d.\n"
+                                   "        REF: Page 43, %%%%Pages:"),
                          linenum);
        }
        else
@@ -269,11 +270,11 @@ check_file(const char *filename)  /* I - File to read from */
                        lbrt + 3) != 4)
         {
          if (!status)
-            _cupsLangPuts(stdout, _("FAIL\n"));
+            _cupsLangPuts(stdout, _("FAIL"));
 
          status ++;
-         _cupsLangPrintf(stdout, _("    Bad %%%%BoundingBox: on line %d\n"
-                                   "        REF: Page 39, %%%%BoundingBox:\n"),
+         _cupsLangPrintf(stdout, _("    Bad %%%%BoundingBox: on line %d.\n"
+                                   "        REF: Page 39, %%%%BoundingBox:"),
                          linenum);
        }
        else
@@ -298,11 +299,11 @@ check_file(const char *filename)  /* I - File to read from */
            page_number != (last_page_number + 1) || page_number < 1)
        {
          if (!status)
-            _cupsLangPuts(stdout, _("FAIL\n"));
+            _cupsLangPuts(stdout, _("FAIL"));
 
          status ++;
-         _cupsLangPrintf(stdout, _("    Bad %%%%Page: on line %d\n"
-                                   "        REF: Page 53, %%%%Page:\n"),
+         _cupsLangPrintf(stdout, _("    Bad %%%%Page: on line %d.\n"
+                                   "        REF: Page 53, %%%%Page:"),
                          linenum);
        }
        else
@@ -335,78 +336,78 @@ check_file(const char *filename)  /* I - File to read from */
   if (saw_bounding_box <= 0)
   {
     if (!status)
-      _cupsLangPuts(stdout, _("FAIL\n"));
+      _cupsLangPuts(stdout, _("FAIL"));
 
     status ++;
-    _cupsLangPuts(stdout, _("    Missing or bad %%BoundingBox: comment\n"
-                           "        REF: Page 39, %%BoundingBox:\n"));
+    _cupsLangPuts(stdout, _("    Missing or bad %%BoundingBox: comment.\n"
+                           "        REF: Page 39, %%BoundingBox:"));
   }
 
   if (saw_pages <= 0)
   {
     if (!status)
-      _cupsLangPuts(stdout, _("FAIL\n"));
+      _cupsLangPuts(stdout, _("FAIL"));
 
     status ++;
-    _cupsLangPuts(stdout, _("    Missing or bad %%Pages: comment\n"
-                           "        REF: Page 43, %%Pages:\n"));
+    _cupsLangPuts(stdout, _("    Missing or bad %%Pages: comment.\n"
+                           "        REF: Page 43, %%Pages:"));
   }
 
   if (!saw_end_comments)
   {
     if (!status)
-      _cupsLangPuts(stdout, _("FAIL\n"));
+      _cupsLangPuts(stdout, _("FAIL"));
 
     status ++;
-    _cupsLangPuts(stdout, _("    Missing %%EndComments comment\n"
-                           "        REF: Page 41, %%EndComments\n"));
+    _cupsLangPuts(stdout, _("    Missing %%EndComments comment."
+                           "        REF: Page 41, %%EndComments"));
   }
 
   if (!saw_page)
   {
     if (!status)
-      _cupsLangPuts(stdout, _("FAIL\n"));
+      _cupsLangPuts(stdout, _("FAIL"));
 
     status ++;
-    _cupsLangPuts(stdout, _("    Missing or bad %%Page: comments\n"
-                           "        REF: Page 53, %%Page:\n"));
+    _cupsLangPuts(stdout, _("    Missing or bad %%Page: comments.\n"
+                           "        REF: Page 53, %%Page:"));
   }
 
   if (level < 0)
   {
     if (!status)
-      _cupsLangPuts(stdout, _("FAIL\n"));
+      _cupsLangPuts(stdout, _("FAIL"));
 
     status ++;
-    _cupsLangPuts(stdout, _("    Too many %%EndDocument comments\n"));
+    _cupsLangPuts(stdout, _("    Too many %%EndDocument comments."));
   }
   else if (level > 0)
   {
     if (!status)
-      _cupsLangPuts(stdout, _("FAIL\n"));
+      _cupsLangPuts(stdout, _("FAIL"));
 
     status ++;
-    _cupsLangPuts(stdout, _("    Too many %%BeginDocument comments\n"));
+    _cupsLangPuts(stdout, _("    Too many %%BeginDocument comments."));
   }
 
   if (saw_long_line > 1)
     _cupsLangPrintf(stderr,
-                    _("    Saw %d lines that exceeded 255 characters\n"),
+                    _("    Saw %d lines that exceeded 255 characters."),
                     saw_long_line);
 
   if (!status)
-    _cupsLangPuts(stdout, _("PASS\n"));
+    _cupsLangPuts(stdout, _("PASS"));
 
   if (binary)
-    _cupsLangPuts(stdout, _("    Warning: file contains binary data\n"));
+    _cupsLangPuts(stdout, _("    Warning: file contains binary data."));
 
   if (version < 3.0f)
     _cupsLangPrintf(stdout,
-                    _("    Warning: obsolete DSC version %.1f in file\n"),
+                    _("    Warning: obsolete DSC version %.1f in file."),
                    version);
 
   if (saw_end_comments < 0)
-    _cupsLangPuts(stdout, _("    Warning: no %%EndComments comment in file\n"));
+    _cupsLangPuts(stdout, _("    Warning: no %%EndComments comment in file."));
 
   cupsFileClose(fp);
 
@@ -421,17 +422,17 @@ check_file(const char *filename)  /* I - File to read from */
 static void
 usage(void)
 {
-  _cupsLangPuts(stdout,
-                _("Usage: cupstestdsc [options] filename.ps [... filename.ps]\n"
-                  "       cupstestdsc [options] -\n"
-                 "\n"
-                 "Options:\n"
-                 "\n"
-                 "    -h       Show program usage\n"
-                 "\n"
-                 "    Note: this program only validates the DSC comments, "
-                 "not the PostScript itself.\n"));
-  
+  _cupsLangPuts(stdout, _("Usage: cupstestdsc [options] filename.ps [... "
+                          "filename.ps]"));
+  _cupsLangPuts(stdout, _("       cupstestdsc [options] -"));
+  _cupsLangPuts(stdout, "");
+  _cupsLangPuts(stdout, _("Options:"));
+  _cupsLangPuts(stdout, "");
+  _cupsLangPuts(stdout, _("    -h       Show program usage"));
+  _cupsLangPuts(stdout, "");
+  _cupsLangPuts(stdout, _("Note: this program only validates the DSC comments, "
+                         "not the PostScript itself."));
+
   exit(1);
 }
 
index d49f5bed9bf7c539972ecd1c12794c4a0253c9c6..22f7ce4966a1c166a80e79f8c60418340e08af31 100644 (file)
@@ -258,7 +258,7 @@ main(int  argc,                             /* I - Number of command-line args */
              {
                _cupsLangPuts(stderr,
                              _("cupstestppd: The -q option is incompatible "
-                               "with the -v option.\n"));
+                               "with the -v option."));
                return (1);
              }
 
@@ -274,7 +274,7 @@ main(int  argc,                             /* I - Number of command-line args */
              {
                _cupsLangPuts(stderr,
                              _("cupstestppd: The -v option is incompatible "
-                               "with the -q option.\n"));
+                               "with the -q option."));
                return (1);
              }
 
@@ -293,7 +293,7 @@ main(int  argc,                             /* I - Number of command-line args */
       */
 
       if (files && verbose >= 0)
-        _cupsLangPuts(stdout, "\n");
+        puts("");
 
       files ++;
 
@@ -330,8 +330,8 @@ main(int  argc,                             /* I - Number of command-line args */
 
          if (verbose >= 0)
             _cupsLangPrintf(stdout,
-                           _(" FAIL\n"
-                             "      **FAIL**  Unable to open PPD file - %s\n"),
+                           _(" FAIL"
+                             "      **FAIL**  Unable to open PPD file - %s"),
                            strerror(errno));
        }
        else
@@ -341,62 +341,74 @@ main(int  argc,                           /* I - Number of command-line args */
           if (verbose >= 0)
          {
             _cupsLangPrintf(stdout,
-                           _(" FAIL\n"
+                           _(" FAIL"
                              "      **FAIL**  Unable to open PPD file - "
-                             "%s on line %d.\n"),
+                             "%s on line %d."),
                            ppdErrorString(error), line);
 
             switch (error)
            {
              case PPD_MISSING_PPDADOBE4 :
                  _cupsLangPuts(stdout,
-                               _("                REF: Page 42, section 5.2.\n"));
+                               _("                REF: Page 42, section "
+                                 "5.2."));
                  break;
              case PPD_MISSING_VALUE :
                  _cupsLangPuts(stdout,
-                               _("                REF: Page 20, section 3.4.\n"));
+                               _("                REF: Page 20, section "
+                                 "3.4."));
                  break;
              case PPD_BAD_OPEN_GROUP :
              case PPD_NESTED_OPEN_GROUP :
                  _cupsLangPuts(stdout,
-                               _("                REF: Pages 45-46, section 5.2.\n"));
+                               _("                REF: Pages 45-46, section "
+                                 "5.2."));
                  break;
              case PPD_BAD_OPEN_UI :
              case PPD_NESTED_OPEN_UI :
                  _cupsLangPuts(stdout,
-                               _("                REF: Pages 42-45, section 5.2.\n"));
+                               _("                REF: Pages 42-45, section "
+                                 "5.2."));
                  break;
              case PPD_BAD_ORDER_DEPENDENCY :
                  _cupsLangPuts(stdout,
-                               _("                REF: Pages 48-49, section 5.2.\n"));
+                               _("                REF: Pages 48-49, section "
+                                 "5.2."));
                  break;
              case PPD_BAD_UI_CONSTRAINTS :
                  _cupsLangPuts(stdout,
-                               _("                REF: Pages 52-54, section 5.2.\n"));
+                               _("                REF: Pages 52-54, section "
+                                 "5.2."));
                  break;
              case PPD_MISSING_ASTERISK :
                  _cupsLangPuts(stdout,
-                               _("                REF: Page 15, section 3.2.\n"));
+                               _("                REF: Page 15, section "
+                                 "3.2."));
                  break;
              case PPD_LINE_TOO_LONG :
                  _cupsLangPuts(stdout,
-                               _("                REF: Page 15, section 3.1.\n"));
+                               _("                REF: Page 15, section "
+                                 "3.1."));
                  break;
              case PPD_ILLEGAL_CHARACTER :
                  _cupsLangPuts(stdout,
-                               _("                REF: Page 15, section 3.1.\n"));
+                               _("                REF: Page 15, section "
+                                 "3.1."));
                  break;
              case PPD_ILLEGAL_MAIN_KEYWORD :
                  _cupsLangPuts(stdout,
-                               _("                REF: Pages 16-17, section 3.2.\n"));
+                               _("                REF: Pages 16-17, section "
+                                 "3.2."));
                  break;
              case PPD_ILLEGAL_OPTION_KEYWORD :
                  _cupsLangPuts(stdout,
-                               _("                REF: Page 19, section 3.3.\n"));
+                               _("                REF: Page 19, section "
+                                 "3.3."));
                  break;
              case PPD_ILLEGAL_TRANSLATION :
                  _cupsLangPuts(stdout,
-                               _("                REF: Page 27, section 3.5.\n"));
+                               _("                REF: Page 27, section "
+                                 "3.5."));
                  break;
               default :
                  break;
@@ -419,7 +431,7 @@ main(int  argc,                             /* I - Number of command-line args */
 
       if (verbose > 0)
         _cupsLangPuts(stdout,
-                     _("\n    DETAILED CONFORMANCE TEST RESULTS\n"));
+                     _("\n    DETAILED CONFORMANCE TEST RESULTS"));
 
       if ((attr = ppdFindAttr(ppd, "FormatVersion", NULL)) != NULL &&
           attr->value)
@@ -445,11 +457,11 @@ main(int  argc,                           /* I - Number of command-line args */
        if (verbose >= 0)
        {
          if (!errors && !verbose)
-           _cupsLangPuts(stdout, _(" FAIL\n"));
+           _cupsLangPuts(stdout, _(" FAIL"));
 
          _cupsLangPuts(stdout,
                        _("      **FAIL**  REQUIRED DefaultImageableArea\n"
-                         "                REF: Page 102, section 5.15.\n"));
+                         "                REF: Page 102, section 5.15."));
        }
 
        errors ++;
@@ -460,11 +472,11 @@ main(int  argc,                           /* I - Number of command-line args */
        if (verbose >= 0)
        {
          if (!errors && !verbose)
-           _cupsLangPuts(stdout, _(" FAIL\n"));
+           _cupsLangPuts(stdout, _(" FAIL"));
 
          _cupsLangPrintf(stdout,
                          _("      **FAIL**  BAD DefaultImageableArea %s\n"
-                           "                REF: Page 102, section 5.15.\n"),
+                           "                REF: Page 102, section 5.15."),
                          attr->value);
        }
 
@@ -473,7 +485,7 @@ main(int  argc,                             /* I - Number of command-line args */
       else
       {
        if (verbose > 0)
-         _cupsLangPuts(stdout, _("        PASS    DefaultImageableArea\n"));
+         _cupsLangPuts(stdout, _("        PASS    DefaultImageableArea"));
       }
 
       if ((attr = ppdFindAttr(ppd, "DefaultPaperDimension", NULL)) == NULL)
@@ -481,11 +493,11 @@ main(int  argc,                           /* I - Number of command-line args */
        if (verbose >= 0)
        {
          if (!errors && !verbose)
-           _cupsLangPuts(stdout, _(" FAIL\n"));
+           _cupsLangPuts(stdout, _(" FAIL"));
 
          _cupsLangPuts(stdout,
                        _("      **FAIL**  REQUIRED DefaultPaperDimension\n"
-                         "                REF: Page 103, section 5.15.\n"));
+                         "                REF: Page 103, section 5.15."));
        }
 
        errors ++;
@@ -496,21 +508,23 @@ main(int  argc,                           /* I - Number of command-line args */
        if (verbose >= 0)
        {
          if (!errors && !verbose)
-           _cupsLangPuts(stdout, _(" FAIL\n"));
+           _cupsLangPuts(stdout, _(" FAIL"));
 
          _cupsLangPrintf(stdout,
                          _("      **FAIL**  BAD DefaultPaperDimension %s\n"
-                           "                REF: Page 103, section 5.15.\n"),
+                           "                REF: Page 103, section 5.15."),
                          attr->value);
        }
 
        errors ++;
       }
       else if (verbose > 0)
-       _cupsLangPuts(stdout, _("        PASS    DefaultPaperDimension\n"));
+       _cupsLangPuts(stdout, _("        PASS    DefaultPaperDimension"));
 
       for (j = 0, group = ppd->groups; j < ppd->num_groups; j ++, group ++)
-       for (k = 0, option = group->options; k < group->num_options; k ++, option ++)
+       for (k = 0, option = group->options;
+            k < group->num_options;
+            k ++, option ++)
        {
         /*
          * Verify that we have a default choice...
@@ -524,11 +538,11 @@ main(int  argc,                           /* I - Number of command-line args */
              if (verbose >= 0)
              {
                if (!errors && !verbose)
-                 _cupsLangPuts(stdout, _(" FAIL\n"));
+                 _cupsLangPuts(stdout, _(" FAIL"));
 
                _cupsLangPrintf(stdout,
                                _("      **FAIL**  BAD Default%s %s\n"
-                                 "                REF: Page 40, section 4.5.\n"),
+                                 "                REF: Page 40, section 4.5."),
                                option->keyword, option->defchoice);
              }
 
@@ -536,7 +550,7 @@ main(int  argc,                             /* I - Number of command-line args */
            }
            else if (verbose > 0)
              _cupsLangPrintf(stdout,
-                             _("        PASS    Default%s\n"),
+                             _("        PASS    Default%s"),
                              option->keyword);
          }
          else
@@ -544,11 +558,11 @@ main(int  argc,                           /* I - Number of command-line args */
            if (verbose >= 0)
            {
              if (!errors && !verbose)
-               _cupsLangPuts(stdout, _(" FAIL\n"));
+               _cupsLangPuts(stdout, _(" FAIL"));
 
              _cupsLangPrintf(stdout,
                              _("      **FAIL**  REQUIRED Default%s\n"
-                               "                REF: Page 40, section 4.5.\n"),
+                               "                REF: Page 40, section 4.5."),
                              option->keyword);
            }
 
@@ -567,29 +581,29 @@ main(int  argc,                           /* I - Number of command-line args */
          if (verbose >= 0)
          {
            if (!errors && !verbose)
-             _cupsLangPuts(stdout, _(" FAIL\n"));
+             _cupsLangPuts(stdout, _(" FAIL"));
 
            _cupsLangPrintf(stdout,
                            _("      **FAIL**  Bad FileVersion \"%s\"\n"
-                             "                REF: Page 56, section 5.3.\n"),
+                             "                REF: Page 56, section 5.3."),
                            attr->value);
          }
 
          errors ++;
        }
        else if (verbose > 0)
-         _cupsLangPuts(stdout, _("        PASS    FileVersion\n"));
+         _cupsLangPuts(stdout, _("        PASS    FileVersion"));
       }
       else
       {
        if (verbose >= 0)
        {
          if (!errors && !verbose)
-           _cupsLangPuts(stdout, _(" FAIL\n"));
+           _cupsLangPuts(stdout, _(" FAIL"));
 
          _cupsLangPuts(stdout,
                        _("      **FAIL**  REQUIRED FileVersion\n"
-                         "                REF: Page 56, section 5.3.\n"));
+                         "                REF: Page 56, section 5.3."));
         }
 
        errors ++;
@@ -611,29 +625,29 @@ main(int  argc,                           /* I - Number of command-line args */
          if (verbose >= 0)
          {
            if (!errors && !verbose)
-             _cupsLangPuts(stdout, _(" FAIL\n"));
+             _cupsLangPuts(stdout, _(" FAIL"));
 
            _cupsLangPrintf(stdout,
                            _("      **FAIL**  Bad FormatVersion \"%s\"\n"
-                             "                REF: Page 56, section 5.3.\n"),
+                             "                REF: Page 56, section 5.3."),
                            attr->value);
          }
 
          errors ++;
        }
        else if (verbose > 0)
-         _cupsLangPuts(stdout, _("        PASS    FormatVersion\n"));
+         _cupsLangPuts(stdout, _("        PASS    FormatVersion"));
       }
       else
       {
        if (verbose >= 0)
        {
          if (!errors && !verbose)
-           _cupsLangPuts(stdout, _(" FAIL\n"));
+           _cupsLangPuts(stdout, _(" FAIL"));
 
          _cupsLangPuts(stdout,
                        _("      **FAIL**  REQUIRED FormatVersion\n"
-                         "                REF: Page 56, section 5.3.\n"));
+                         "                REF: Page 56, section 5.3."));
         }
 
        errors ++;
@@ -642,18 +656,18 @@ main(int  argc,                           /* I - Number of command-line args */
       if (ppd->lang_encoding != NULL)
       {
        if (verbose > 0)
-         _cupsLangPuts(stdout, _("        PASS    LanguageEncoding\n"));
+         _cupsLangPuts(stdout, _("        PASS    LanguageEncoding"));
       }
       else if (ppdversion > 40)
       {
        if (verbose >= 0)
        {
          if (!errors && !verbose)
-           _cupsLangPuts(stdout, _(" FAIL\n"));
+           _cupsLangPuts(stdout, _(" FAIL"));
 
          _cupsLangPuts(stdout,
                        _("      **FAIL**  REQUIRED LanguageEncoding\n"
-                         "                REF: Pages 56-57, section 5.3.\n"));
+                         "                REF: Pages 56-57, section 5.3."));
         }
 
        errors ++;
@@ -662,18 +676,18 @@ main(int  argc,                           /* I - Number of command-line args */
       if (ppd->lang_version != NULL)
       {
        if (verbose > 0)
-         _cupsLangPuts(stdout, _("        PASS    LanguageVersion\n"));
+         _cupsLangPuts(stdout, _("        PASS    LanguageVersion"));
       }
       else
       {
        if (verbose >= 0)
        {
          if (!errors && !verbose)
-           _cupsLangPuts(stdout, _(" FAIL\n"));
+           _cupsLangPuts(stdout, _(" FAIL"));
 
          _cupsLangPuts(stdout,
                        _("      **FAIL**  REQUIRED LanguageVersion\n"
-                         "                REF: Pages 57-58, section 5.3.\n"));
+                         "                REF: Pages 57-58, section 5.3."));
         }
 
        errors ++;
@@ -687,12 +701,12 @@ main(int  argc,                           /* I - Number of command-line args */
          if (verbose >= 0)
          {
            if (!errors && !verbose)
-             _cupsLangPuts(stdout, _(" FAIL\n"));
+             _cupsLangPuts(stdout, _(" FAIL"));
 
            _cupsLangPuts(stdout,
                          _("      **FAIL**  BAD Manufacturer (should be "
                            "\"HP\")\n"
-                           "                REF: Page 211, table D.1.\n"));
+                           "                REF: Page 211, table D.1."));
           }
 
          errors ++;
@@ -703,29 +717,29 @@ main(int  argc,                           /* I - Number of command-line args */
          if (verbose >= 0)
          {
            if (!errors && !verbose)
-             _cupsLangPuts(stdout, _(" FAIL\n"));
+             _cupsLangPuts(stdout, _(" FAIL"));
 
            _cupsLangPuts(stdout,
                          _("      **FAIL**  BAD Manufacturer (should be "
                            "\"Oki\")\n"
-                           "                REF: Page 211, table D.1.\n"));
+                           "                REF: Page 211, table D.1."));
           }
 
          errors ++;
        }
        else if (verbose > 0)
-         _cupsLangPuts(stdout, _("        PASS    Manufacturer\n"));
+         _cupsLangPuts(stdout, _("        PASS    Manufacturer"));
       }
       else if (ppdversion >= 43)
       {
        if (verbose >= 0)
        {
          if (!errors && !verbose)
-           _cupsLangPuts(stdout, _(" FAIL\n"));
+           _cupsLangPuts(stdout, _(" FAIL"));
 
          _cupsLangPuts(stdout,
                        _("      **FAIL**  REQUIRED Manufacturer\n"
-                         "                REF: Pages 58-59, section 5.3.\n"));
+                         "                REF: Pages 58-59, section 5.3."));
         }
 
        errors ++;
@@ -742,30 +756,30 @@ main(int  argc,                           /* I - Number of command-line args */
          if (verbose >= 0)
          {
            if (!errors && !verbose)
-             _cupsLangPuts(stdout, _(" FAIL\n"));
+             _cupsLangPuts(stdout, _(" FAIL"));
 
            _cupsLangPrintf(stdout,
                            _("      **FAIL**  BAD ModelName - \"%c\" not "
                              "allowed in string.\n"
-                             "                REF: Pages 59-60, section 5.3.\n"),
+                             "                REF: Pages 59-60, section 5.3."),
                            *ptr);
           }
 
          errors ++;
        }
        else if (verbose > 0)
-         _cupsLangPuts(stdout, _("        PASS    ModelName\n"));
+         _cupsLangPuts(stdout, _("        PASS    ModelName"));
       }
       else
       {
        if (verbose >= 0)
        {
          if (!errors && !verbose)
-           _cupsLangPuts(stdout, _(" FAIL\n"));
+           _cupsLangPuts(stdout, _(" FAIL"));
 
          _cupsLangPuts(stdout,
                        _("      **FAIL**  REQUIRED ModelName\n"
-                         "                REF: Pages 59-60, section 5.3.\n"));
+                         "                REF: Pages 59-60, section 5.3."));
         }
 
        errors ++;
@@ -774,18 +788,18 @@ main(int  argc,                           /* I - Number of command-line args */
       if (ppd->nickname != NULL)
       {
        if (verbose > 0)
-         _cupsLangPuts(stdout, _("        PASS    NickName\n"));
+         _cupsLangPuts(stdout, _("        PASS    NickName"));
       }
       else
       {
        if (verbose >= 0)
        {
          if (!errors && !verbose)
-           _cupsLangPuts(stdout, _(" FAIL\n"));
+           _cupsLangPuts(stdout, _(" FAIL"));
 
          _cupsLangPuts(stdout,
                        _("      **FAIL**  REQUIRED NickName\n"
-                         "                REF: Page 60, section 5.3.\n"));
+                         "                REF: Page 60, section 5.3."));
         }
 
        errors ++;
@@ -794,18 +808,18 @@ main(int  argc,                           /* I - Number of command-line args */
       if (ppdFindOption(ppd, "PageSize") != NULL)
       {
        if (verbose > 0)
-         _cupsLangPuts(stdout, _("        PASS    PageSize\n"));
+         _cupsLangPuts(stdout, _("        PASS    PageSize"));
       }
       else
       {
        if (verbose >= 0)
        {
          if (!errors && !verbose)
-           _cupsLangPuts(stdout, _(" FAIL\n"));
+           _cupsLangPuts(stdout, _(" FAIL"));
 
          _cupsLangPuts(stdout,
                        _("      **FAIL**  REQUIRED PageSize\n"
-                         "                REF: Pages 99-100, section 5.14.\n"));
+                         "                REF: Pages 99-100, section 5.14."));
         }
 
        errors ++;
@@ -814,18 +828,18 @@ main(int  argc,                           /* I - Number of command-line args */
       if (ppdFindOption(ppd, "PageRegion") != NULL)
       {
        if (verbose > 0)
-         _cupsLangPuts(stdout, _("        PASS    PageRegion\n"));
+         _cupsLangPuts(stdout, _("        PASS    PageRegion"));
       }
       else
       {
        if (verbose >= 0)
        {
          if (!errors && !verbose)
-           _cupsLangPuts(stdout, _(" FAIL\n"));
+           _cupsLangPuts(stdout, _(" FAIL"));
 
          _cupsLangPuts(stdout,
                        _("      **FAIL**  REQUIRED PageRegion\n"
-                         "                REF: Page 100, section 5.14.\n"));
+                         "                REF: Page 100, section 5.14."));
         }
 
        errors ++;
@@ -834,18 +848,18 @@ main(int  argc,                           /* I - Number of command-line args */
       if (ppd->pcfilename != NULL)
       {
        if (verbose > 0)
-          _cupsLangPuts(stdout, _("        PASS    PCFileName\n"));
+          _cupsLangPuts(stdout, _("        PASS    PCFileName"));
       }
       else if (!(ignore & WARN_FILENAME))
       {
        if (verbose >= 0)
        {
          if (!errors && !verbose)
-           _cupsLangPuts(stdout, _(" FAIL\n"));
+           _cupsLangPuts(stdout, _(" FAIL"));
 
          _cupsLangPuts(stdout,
                        _("      **FAIL**  REQUIRED PCFileName\n"
-                         "                REF: Pages 61-62, section 5.3.\n"));
+                         "                REF: Pages 61-62, section 5.3."));
         }
 
        errors ++;
@@ -859,28 +873,28 @@ main(int  argc,                           /* I - Number of command-line args */
          if (verbose >= 0)
          {
            if (!errors && !verbose)
-             _cupsLangPuts(stdout, _(" FAIL\n"));
+             _cupsLangPuts(stdout, _(" FAIL"));
 
            _cupsLangPuts(stdout,
                          _("      **FAIL**  BAD Product - not \"(string)\".\n"
-                           "                REF: Page 62, section 5.3.\n"));
+                           "                REF: Page 62, section 5.3."));
           }
 
          errors ++;
        }
        else if (verbose > 0)
-         _cupsLangPuts(stdout, _("        PASS    Product\n"));
+         _cupsLangPuts(stdout, _("        PASS    Product"));
       }
       else
       {
        if (verbose >= 0)
        {
          if (!errors && !verbose)
-           _cupsLangPuts(stdout, _(" FAIL\n"));
+           _cupsLangPuts(stdout, _(" FAIL"));
 
          _cupsLangPuts(stdout,
                        _("      **FAIL**  REQUIRED Product\n"
-                         "                REF: Page 62, section 5.3.\n"));
+                         "                REF: Page 62, section 5.3."));
         }
 
        errors ++;
@@ -898,29 +912,29 @@ main(int  argc,                           /* I - Number of command-line args */
          if (verbose >= 0)
          {
            if (!errors && !verbose)
-             _cupsLangPuts(stdout, _(" FAIL\n"));
+             _cupsLangPuts(stdout, _(" FAIL"));
 
            _cupsLangPuts(stdout,
                          _("      **FAIL**  BAD PSVersion - not \"(string) "
                            "int\".\n"
-                           "                REF: Pages 62-64, section 5.3.\n"));
+                           "                REF: Pages 62-64, section 5.3."));
           }
 
          errors ++;
        }
        else if (verbose > 0)
-         _cupsLangPuts(stdout, _("        PASS    PSVersion\n"));
+         _cupsLangPuts(stdout, _("        PASS    PSVersion"));
       }
       else
       {
        if (verbose >= 0)
        {
          if (!errors && !verbose)
-           _cupsLangPuts(stdout, _(" FAIL\n"));
+           _cupsLangPuts(stdout, _(" FAIL"));
 
          _cupsLangPuts(stdout,
                        _("      **FAIL**  REQUIRED PSVersion\n"
-                         "                REF: Pages 62-64, section 5.3.\n"));
+                         "                REF: Pages 62-64, section 5.3."));
         }
 
        errors ++;
@@ -933,29 +947,29 @@ main(int  argc,                           /* I - Number of command-line args */
          if (verbose >= 0)
          {
            if (!errors && !verbose)
-             _cupsLangPuts(stdout, _(" FAIL\n"));
+             _cupsLangPuts(stdout, _(" FAIL"));
 
            _cupsLangPuts(stdout,
                          _("      **FAIL**  BAD ShortNickName - longer "
                            "than 31 chars.\n"
-                           "                REF: Pages 64-65, section 5.3.\n"));
+                           "                REF: Pages 64-65, section 5.3."));
           }
 
          errors ++;
        }
        else if (verbose > 0)
-         _cupsLangPuts(stdout, _("        PASS    ShortNickName\n"));
+         _cupsLangPuts(stdout, _("        PASS    ShortNickName"));
       }
       else if (ppdversion >= 43)
       {
        if (verbose >= 0)
        {
          if (!errors && !verbose)
-           _cupsLangPuts(stdout, _(" FAIL\n"));
+           _cupsLangPuts(stdout, _(" FAIL"));
 
          _cupsLangPuts(stdout,
                        _("      **FAIL**  REQUIRED ShortNickName\n"
-                         "                REF: Page 64-65, section 5.3.\n"));
+                         "                REF: Page 64-65, section 5.3."));
         }
 
        errors ++;
@@ -967,11 +981,11 @@ main(int  argc,                           /* I - Number of command-line args */
        if (verbose >= 0)
        {
          if (!errors && !verbose)
-           _cupsLangPuts(stdout, _(" FAIL\n"));
+           _cupsLangPuts(stdout, _(" FAIL"));
 
          _cupsLangPuts(stdout,
                        _("      **FAIL**  BAD JobPatchFile attribute in file\n"
-                         "                REF: Page 24, section 3.4.\n"));
+                         "                REF: Page 24, section 3.4."));
         }
 
        errors ++;
@@ -987,12 +1001,12 @@ main(int  argc,                          /* I - Number of command-line args */
        if (verbose >= 0)
        {
          if (!errors && !verbose)
-           _cupsLangPuts(stdout, _(" FAIL\n"));
+           _cupsLangPuts(stdout, _(" FAIL"));
 
          _cupsLangPuts(stdout,
                        _("      **FAIL**  REQUIRED PageSize\n"
                          "                REF: Page 41, section 5.\n"
-                         "                REF: Page 99, section 5.14.\n"));
+                         "                REF: Page 99, section 5.14."));
         }
 
        errors ++;
@@ -1018,13 +1032,13 @@ main(int  argc,                         /* I - Number of command-line args */
            if (verbose >= 0)
            {
              if (!errors && !verbose)
-               _cupsLangPuts(stdout, _(" FAIL\n"));
+               _cupsLangPuts(stdout, _(" FAIL"));
 
              _cupsLangPrintf(stdout,
                              _("      **FAIL**  REQUIRED ImageableArea for "
                                "PageSize %s\n"
                                "                REF: Page 41, section 5.\n"
-                               "                REF: Page 102, section 5.15.\n"),
+                               "                REF: Page 102, section 5.15."),
                              size->name);
             }
 
@@ -1040,13 +1054,13 @@ main(int  argc,                         /* I - Number of command-line args */
            if (verbose >= 0)
            {
              if (!errors && !verbose)
-               _cupsLangPuts(stdout, _(" FAIL\n"));
+               _cupsLangPuts(stdout, _(" FAIL"));
 
              _cupsLangPrintf(stdout,
                              _("      **FAIL**  REQUIRED PaperDimension "
                                "for PageSize %s\n"
                                "                REF: Page 41, section 5.\n"
-                               "                REF: Page 103, section 5.15.\n"),
+                               "                REF: Page 103, section 5.15."),
                              size->name);
             }
 
@@ -1065,7 +1079,9 @@ main(int  argc,                           /* I - Number of command-line args */
 
       if (option != NULL)
       {
-        for (j = option->num_choices, choice = option->choices; j > 0; j --, choice ++)
+        for (j = option->num_choices, choice = option->choices;
+            j > 0;
+            j --, choice ++)
         {
         /*
          * Verify that all resolution options are of the form NNNdpi
@@ -1089,11 +1105,11 @@ main(int  argc,                         /* I - Number of command-line args */
            if (verbose >= 0)
            {
              if (!errors && !verbose)
-               _cupsLangPuts(stdout, _(" FAIL\n"));
+               _cupsLangPuts(stdout, _(" FAIL"));
 
              _cupsLangPrintf(stdout,
                              _("      **FAIL**  Bad %s choice %s\n"
-                               "                REF: Page 84, section 5.9\n"),
+                               "                REF: Page 84, section 5.9"),
                              option->keyword, choice->choice);
             }
 
@@ -1108,11 +1124,11 @@ main(int  argc,                         /* I - Number of command-line args */
        if (verbose >= 0)
        {
          if (!errors && !verbose)
-           _cupsLangPuts(stdout, _(" FAIL\n"));
+           _cupsLangPuts(stdout, _(" FAIL"));
 
          _cupsLangPrintf(stdout,
                          _("      **FAIL**  %s must be 1284DeviceID\n"
-                           "                REF: Page 72, section 5.5\n"),
+                           "                REF: Page 72, section 5.5"),
                          attr->name);
         }
 
@@ -1152,12 +1168,12 @@ main(int  argc,                         /* I - Number of command-line args */
          if (!attr->value || strcmp(attr->value, "ISOLatin1"))
          {
            if (!errors && !verbose)
-             _cupsLangPuts(stdout, _(" FAIL\n"));
+             _cupsLangPuts(stdout, _(" FAIL"));
 
             if (verbose >= 0)
              _cupsLangPrintf(stdout,
                              _("      **FAIL**  Bad LanguageEncoding %s - "
-                               "must be ISOLatin1\n"),
+                               "must be ISOLatin1."),
                              attr->value ? attr->value : "(null)");
 
             errors ++;
@@ -1166,12 +1182,12 @@ main(int  argc,                         /* I - Number of command-line args */
           if (!ppd->lang_version || strcmp(ppd->lang_version, "English"))
          {
            if (!errors && !verbose)
-             _cupsLangPuts(stdout, _(" FAIL\n"));
+             _cupsLangPuts(stdout, _(" FAIL"));
 
             if (verbose >= 0)
              _cupsLangPrintf(stdout,
                              _("      **FAIL**  Bad LanguageVersion %s - "
-                               "must be English\n"),
+                               "must be English."),
                              ppd->lang_version ? ppd->lang_version : "(null)");
 
             errors ++;
@@ -1198,13 +1214,13 @@ main(int  argc,                         /* I - Number of command-line args */
            if (*ptr)
            {
              if (!errors && !verbose)
-               _cupsLangPuts(stdout, _(" FAIL\n"));
+               _cupsLangPuts(stdout, _(" FAIL"));
 
              if (verbose >= 0)
                _cupsLangPrintf(stdout,
                                _("      **FAIL**  Default translation "
                                  "string for option %s contains 8-bit "
-                                 "characters\n"),
+                                 "characters."),
                                option->keyword);
 
              errors ++;
@@ -1225,13 +1241,13 @@ main(int  argc,                         /* I - Number of command-line args */
              if (*ptr)
              {
                if (!errors && !verbose)
-                 _cupsLangPuts(stdout, _(" FAIL\n"));
+                 _cupsLangPuts(stdout, _(" FAIL"));
 
                if (verbose >= 0)
                  _cupsLangPrintf(stdout,
                                  _("      **FAIL**  Default translation "
                                    "string for option %s choice %s contains "
-                                   "8-bit characters\n"),
+                                   "8-bit characters."),
                                  option->keyword,
                                  option->choices[j].choice);
 
@@ -1249,7 +1265,7 @@ main(int  argc,                           /* I - Number of command-line args */
       if (errors)
        status = ERROR_CONFORMANCE;
       else if (!verbose)
-       _cupsLangPuts(stdout, _(" PASS\n"));
+       _cupsLangPuts(stdout, _(" PASS"));
 
       if (verbose >= 0)
       {
@@ -1289,8 +1305,8 @@ main(int  argc,                           /* I - Number of command-line args */
        if (option)
          _cupsLangPrintf(stdout,
                          _("        WARN    Duplex option keyword %s may not "
-                           "work as expected and should be named Duplex\n"
-                           "                REF: Page 122, section 5.17\n"),
+                           "work as expected and should be named Duplex.\n"
+                           "                REF: Page 122, section 5.17"),
                          option->keyword);
 
        /*
@@ -1318,7 +1334,7 @@ main(int  argc,                           /* I - Number of command-line args */
              !ppdFindOption(ppd, attr->name + 7))
             _cupsLangPrintf(stdout,
                            _("        WARN    %s has no corresponding "
-                             "options\n"),
+                             "options."),
                            attr->name);
        }
 
@@ -1326,7 +1342,7 @@ main(int  argc,                           /* I - Number of command-line args */
        if (ppdConflicts(ppd))
        {
          _cupsLangPuts(stdout,
-                       _("        WARN    Default choices conflicting\n"));
+                       _("        WARN    Default choices conflicting."));
 
           show_conflicts(ppd);
         }
@@ -1334,8 +1350,8 @@ main(int  argc,                           /* I - Number of command-line args */
         if (ppdversion < 43)
        {
           _cupsLangPrintf(stdout,
-                         _("        WARN    Obsolete PPD version %.1f\n"
-                           "                REF: Page 42, section 5.2.\n"),
+                         _("        WARN    Obsolete PPD version %.1f.\n"
+                           "                REF: Page 42, section 5.2."),
                          0.1f * ppdversion);
        }
 
@@ -1344,7 +1360,7 @@ main(int  argc,                           /* I - Number of command-line args */
          _cupsLangPuts(stdout,
                        _("        WARN    LanguageEncoding required by PPD "
                          "4.3 spec.\n"
-                         "                REF: Pages 56-57, section 5.3.\n"));
+                         "                REF: Pages 56-57, section 5.3."));
        }
 
         if (!ppd->manufacturer && ppdversion < 43)
@@ -1352,7 +1368,7 @@ main(int  argc,                           /* I - Number of command-line args */
          _cupsLangPuts(stdout,
                        _("        WARN    Manufacturer required by PPD "
                          "4.3 spec.\n"
-                         "                REF: Pages 58-59, section 5.3.\n"));
+                         "                REF: Pages 58-59, section 5.3."));
        }
 
        /*
@@ -1368,7 +1384,7 @@ main(int  argc,                           /* I - Number of command-line args */
                          _("        WARN    PCFileName longer than 8.3 in "
                            "violation of PPD spec.\n"
                            "                REF: Pages 61-62, section "
-                           "5.3.\n"));
+                           "5.3."));
          }
 
          if (!strcasecmp(ppd->pcfilename, "unused.ppd"))
@@ -1376,7 +1392,7 @@ main(int  argc,                           /* I - Number of command-line args */
                          _("        WARN    PCFileName should contain a "
                            "unique filename.\n"
                            "                REF: Pages 61-62, section "
-                           "5.3.\n"));
+                           "5.3."));
         }
 
         if (!ppd->shortnickname && ppdversion < 43)
@@ -1384,7 +1400,7 @@ main(int  argc,                           /* I - Number of command-line args */
          _cupsLangPuts(stdout,
                        _("        WARN    ShortNickName required by PPD "
                          "4.3 spec.\n"
-                         "                REF: Pages 64-65, section 5.3.\n"));
+                         "                REF: Pages 64-65, section 5.3."));
        }
 
        /*
@@ -1401,7 +1417,7 @@ main(int  argc,                           /* I - Number of command-line args */
            _cupsLangPuts(stdout,
                          _("        WARN    Protocols contains both PJL "
                            "and BCP; expected TBCP.\n"
-                           "                REF: Pages 78-79, section 5.7.\n"));
+                           "                REF: Pages 78-79, section 5.7."));
          }
 
          if (strstr(ppd->protocols, "PJL") &&
@@ -1410,7 +1426,7 @@ main(int  argc,                           /* I - Number of command-line args */
            _cupsLangPuts(stdout,
                          _("        WARN    Protocols contains PJL but JCL "
                            "attributes are not set.\n"
-                           "                REF: Pages 78-79, section 5.7.\n"));
+                           "                REF: Pages 78-79, section 5.7."));
          }
        }
 
@@ -1421,7 +1437,9 @@ main(int  argc,                           /* I - Number of command-line args */
        */
 
        for (j = 0, group = ppd->groups; j < ppd->num_groups; j ++, group ++)
-         for (k = 0, option = group->options; k < group->num_options; k ++, option ++)
+         for (k = 0, option = group->options;
+              k < group->num_options;
+              k ++, option ++)
          {
            len = (int)strlen(option->keyword);
 
@@ -1439,7 +1457,7 @@ main(int  argc,                           /* I - Number of command-line args */
                                  _("        WARN    %s shares a common "
                                    "prefix with %s\n"
                                    "                REF: Page 15, section "
-                                   "3.2.\n"),
+                                   "3.2."),
                                  option->keyword, option2->keyword);
                }
          }
@@ -1448,9 +1466,9 @@ main(int  argc,                           /* I - Number of command-line args */
       if (verbose > 0)
       {
         if (errors)
-          _cupsLangPrintf(stdout, _("    %d ERRORS FOUND\n"), errors);
+          _cupsLangPrintf(stdout, _("    %d ERRORS FOUND"), errors);
        else
-         _cupsLangPuts(stdout, _("    NO ERRORS FOUND\n"));
+         _cupsLangPuts(stdout, _("    NO ERRORS FOUND"));
       }
 
      /*
@@ -1464,7 +1482,7 @@ main(int  argc,                           /* I - Number of command-line args */
                        "    language_level = %d\n"
                        "    color_device = %s\n"
                        "    variable_sizes = %s\n"
-                       "    landscape = %d\n",
+                       "    landscape = %d",
                        ppd->language_level,
                        ppd->color_device ? "TRUE" : "FALSE",
                        ppd->variable_sizes ? "TRUE" : "FALSE",
@@ -1473,55 +1491,55 @@ main(int  argc,                         /* I - Number of command-line args */
        switch (ppd->colorspace)
        {
          case PPD_CS_CMYK :
-              _cupsLangPuts(stdout, "    colorspace = PPD_CS_CMYK\n");
+              _cupsLangPuts(stdout, "    colorspace = PPD_CS_CMYK");
              break;
          case PPD_CS_CMY :
-              _cupsLangPuts(stdout, "    colorspace = PPD_CS_CMY\n");
+              _cupsLangPuts(stdout, "    colorspace = PPD_CS_CMY");
              break;
          case PPD_CS_GRAY :
-              _cupsLangPuts(stdout, "    colorspace = PPD_CS_GRAY\n");
+              _cupsLangPuts(stdout, "    colorspace = PPD_CS_GRAY");
              break;
          case PPD_CS_RGB :
-              _cupsLangPuts(stdout, "    colorspace = PPD_CS_RGB\n");
+              _cupsLangPuts(stdout, "    colorspace = PPD_CS_RGB");
              break;
          default :
-              _cupsLangPuts(stdout, "    colorspace = <unknown>\n");
+              _cupsLangPuts(stdout, "    colorspace = <unknown>");
              break;
        }
 
-       _cupsLangPrintf(stdout, "    num_emulations = %d\n",
+       _cupsLangPrintf(stdout, "    num_emulations = %d",
                        ppd->num_emulations);
        for (j = 0; j < ppd->num_emulations; j ++)
-         _cupsLangPrintf(stdout, "        emulations[%d] = %s\n",
+         _cupsLangPrintf(stdout, "        emulations[%d] = %s",
                          j, ppd->emulations[j].name);
 
-       _cupsLangPrintf(stdout, "    lang_encoding = %s\n",
+       _cupsLangPrintf(stdout, "    lang_encoding = %s",
                        ppd->lang_encoding);
-       _cupsLangPrintf(stdout, "    lang_version = %s\n",
+       _cupsLangPrintf(stdout, "    lang_version = %s",
                        ppd->lang_version);
-       _cupsLangPrintf(stdout, "    modelname = %s\n", ppd->modelname);
-       _cupsLangPrintf(stdout, "    ttrasterizer = %s\n",
+       _cupsLangPrintf(stdout, "    modelname = %s", ppd->modelname);
+       _cupsLangPrintf(stdout, "    ttrasterizer = %s",
                        ppd->ttrasterizer == NULL ? "None" : ppd->ttrasterizer);
-       _cupsLangPrintf(stdout, "    manufacturer = %s\n",
+       _cupsLangPrintf(stdout, "    manufacturer = %s",
                        ppd->manufacturer);
-       _cupsLangPrintf(stdout, "    product = %s\n", ppd->product);
-       _cupsLangPrintf(stdout, "    nickname = %s\n", ppd->nickname);
-       _cupsLangPrintf(stdout, "    shortnickname = %s\n",
+       _cupsLangPrintf(stdout, "    product = %s", ppd->product);
+       _cupsLangPrintf(stdout, "    nickname = %s", ppd->nickname);
+       _cupsLangPrintf(stdout, "    shortnickname = %s",
                        ppd->shortnickname);
-       _cupsLangPrintf(stdout, "    patches = %d bytes\n",
+       _cupsLangPrintf(stdout, "    patches = %d bytes",
                        ppd->patches == NULL ? 0 : (int)strlen(ppd->patches));
 
-       _cupsLangPrintf(stdout, "    num_groups = %d\n", ppd->num_groups);
+       _cupsLangPrintf(stdout, "    num_groups = %d", ppd->num_groups);
        for (j = 0, group = ppd->groups; j < ppd->num_groups; j ++, group ++)
        {
-         _cupsLangPrintf(stdout, "        group[%d] = %s\n",
+         _cupsLangPrintf(stdout, "        group[%d] = %s",
                          j, group->text);
 
          for (k = 0, option = group->options; k < group->num_options; k ++, option ++)
          {
            _cupsLangPrintf(stdout,
                            "            options[%d] = %s (%s) %s %s %.0f "
-                           "(%d choices)\n",
+                           "(%d choices)",
                            k, option->keyword, option->text, uis[option->ui],
                            sections[option->section], option->order,
                            option->num_choices);
@@ -1537,21 +1555,20 @@ main(int  argc,                         /* I - Number of command-line args */
 
                if (size == NULL)
                  _cupsLangPrintf(stdout,
-                                  "                %s (%s) = ERROR",
-                                 choice->choice, choice->text);
+                                  "                %s (%s) = ERROR%s",
+                                 choice->choice, choice->text,
+                                 !strcmp(option->defchoice, choice->choice)
+                                     ? " *" : "");
                else
                  _cupsLangPrintf(stdout,
                                   "                %s (%s) = %.2fx%.2fin "
-                                 "(%.1f,%.1f,%.1f,%.1f)",
+                                 "(%.1f,%.1f,%.1f,%.1f)%s",
                                  choice->choice, choice->text,
                                  size->width / 72.0, size->length / 72.0,
                                  size->left / 72.0, size->bottom / 72.0,
-                                 size->right / 72.0, size->top / 72.0);
-
-               if (!strcmp(option->defchoice, choice->choice))
-                 _cupsLangPuts(stdout, " *\n");
-               else
-                 _cupsLangPuts(stdout, "\n");
+                                 size->right / 72.0, size->top / 72.0,
+                                 !strcmp(option->defchoice, choice->choice)
+                                     ? " *" : "");
               }
            }
            else
@@ -1560,32 +1577,29 @@ main(int  argc,                         /* I - Number of command-line args */
                   m > 0;
                   m --, choice ++)
              {
-               _cupsLangPrintf(stdout, "                %s (%s)",
-                               choice->choice, choice->text);
-
-               if (!strcmp(option->defchoice, choice->choice))
-                 _cupsLangPuts(stdout, " *\n");
-               else
-                 _cupsLangPuts(stdout, "\n");
+               _cupsLangPrintf(stdout, "                %s (%s)%s",
+                               choice->choice, choice->text,
+                               !strcmp(option->defchoice, choice->choice)
+                                   ? " *" : "");
              }
             }
          }
        }
 
-       _cupsLangPrintf(stdout, "    num_consts = %d\n",
+       _cupsLangPrintf(stdout, "    num_consts = %d",
                        ppd->num_consts);
        for (j = 0; j < ppd->num_consts; j ++)
          _cupsLangPrintf(stdout,
-                         "        consts[%d] = *%s %s *%s %s\n",
+                         "        consts[%d] = *%s %s *%s %s",
                          j, ppd->consts[j].option1, ppd->consts[j].choice1,
                          ppd->consts[j].option2, ppd->consts[j].choice2);
 
-       _cupsLangPrintf(stdout, "    num_profiles = %d\n",
+       _cupsLangPrintf(stdout, "    num_profiles = %d",
                        ppd->num_profiles);
        for (j = 0; j < ppd->num_profiles; j ++)
          _cupsLangPrintf(stdout,
                          "        profiles[%d] = %s/%s %.3f %.3f "
-                         "[ %.3f %.3f %.3f %.3f %.3f %.3f %.3f %.3f %.3f ]\n",
+                         "[ %.3f %.3f %.3f %.3f %.3f %.3f %.3f %.3f %.3f ]",
                          j, ppd->profiles[j].resolution,
                          ppd->profiles[j].media_type,
                          ppd->profiles[j].gamma, ppd->profiles[j].density,
@@ -1599,15 +1613,15 @@ main(int  argc,                         /* I - Number of command-line args */
                          ppd->profiles[j].matrix[2][1],
                          ppd->profiles[j].matrix[2][2]);
 
-       _cupsLangPrintf(stdout, "    num_fonts = %d\n", ppd->num_fonts);
+       _cupsLangPrintf(stdout, "    num_fonts = %d", ppd->num_fonts);
        for (j = 0; j < ppd->num_fonts; j ++)
-         _cupsLangPrintf(stdout, "        fonts[%d] = %s\n",
+         _cupsLangPrintf(stdout, "        fonts[%d] = %s",
                          j, ppd->fonts[j]);
 
-       _cupsLangPrintf(stdout, "    num_attrs = %d\n", ppd->num_attrs);
+       _cupsLangPrintf(stdout, "    num_attrs = %d", ppd->num_attrs);
        for (j = 0; j < ppd->num_attrs; j ++)
          _cupsLangPrintf(stdout,
-                         "        attrs[%d] = %s %s%s%s: \"%s\"\n", j,
+                         "        attrs[%d] = %s %s%s%s: \"%s\"", j,
                          ppd->attrs[j]->name, ppd->attrs[j]->spec,
                          ppd->attrs[j]->text[0] ? "/" : "",
                          ppd->attrs[j]->text,
@@ -1680,7 +1694,7 @@ check_basics(const char *filename)        /* I - PPD file to check */
       
       if (col > 0 && whitespace)
        _cupsLangPrintf(stdout,
-                       _("        WARN    Line %d only contains whitespace\n"),
+                       _("        WARN    Line %d only contains whitespace."),
                        linenum);
 
       linenum ++;
@@ -1699,12 +1713,12 @@ check_basics(const char *filename)      /* I - PPD file to check */
   if (mixed)
     _cupsLangPuts(stdout,
                  _("        WARN    File contains a mix of CR, LF, and "
-                   "CR LF line endings\n"));
+                   "CR LF line endings."));
 
   if (eol == EOL_CRLF)
     _cupsLangPuts(stdout,
                  _("        WARN    Non-Windows PPD files should use lines "
-                   "ending with only LF, not CR LF\n"));
+                   "ending with only LF, not CR LF."));
 
   cupsFileClose(fp);
 }
@@ -1754,10 +1768,10 @@ check_constraints(ppd_file_t *ppd,      /* I - PPD file */
       if (!constattr->value)
       {
        if (!warn && !errors && !verbose)
-         _cupsLangPuts(stdout, _(" FAIL\n"));
+         _cupsLangPuts(stdout, _(" FAIL"));
 
        _cupsLangPrintf(stdout,
-                       _("      %s  Empty cupsUIConstraints %s\n"),
+                       _("      %s  Empty cupsUIConstraints %s"),
                        prefix, constattr->spec);
 
        if (!warn)
@@ -1773,10 +1787,10 @@ check_constraints(ppd_file_t *ppd,      /* I - PPD file */
       if (i == 0)
       {
        if (!warn && !errors && !verbose)
-         _cupsLangPuts(stdout, _(" FAIL\n"));
+         _cupsLangPuts(stdout, _(" FAIL"));
 
        _cupsLangPrintf(stdout,
-                       _("      %s  Bad cupsUIConstraints %s: \"%s\"\n"),
+                       _("      %s  Bad cupsUIConstraints %s: \"%s\""),
                        prefix, constattr->spec, constattr->value);
 
        if (!warn)
@@ -1791,10 +1805,10 @@ check_constraints(ppd_file_t *ppd,      /* I - PPD file */
           !ppdFindAttr(ppd, "cupsUIResolver", constattr->spec))
       {
        if (!warn && !errors && !verbose)
-         _cupsLangPuts(stdout, _(" FAIL\n"));
+         _cupsLangPuts(stdout, _(" FAIL"));
 
        _cupsLangPrintf(stdout,
-                       _("      %s  Missing cupsUIResolver %s\n"),
+                       _("      %s  Missing cupsUIResolver %s"),
                        prefix, constattr->spec);
 
        if (!warn)
@@ -1843,11 +1857,11 @@ check_constraints(ppd_file_t *ppd,      /* I - PPD file */
         if ((o = ppdFindOption(ppd, option)) == NULL)
        {
          if (!warn && !errors && !verbose)
-           _cupsLangPuts(stdout, _(" FAIL\n"));
+           _cupsLangPuts(stdout, _(" FAIL"));
 
          _cupsLangPrintf(stdout,
                          _("      %s  Missing option %s in "
-                           "cupsUIConstraints %s: \"%s\"\n"),
+                           "cupsUIConstraints %s: \"%s\""),
                          prefix, option, constattr->spec, constattr->value);
          
          if (!warn)
@@ -1859,11 +1873,11 @@ check_constraints(ppd_file_t *ppd,      /* I - PPD file */
         if (choice[0] && !ppdFindChoice(o, choice))
        {
          if (!warn && !errors && !verbose)
-           _cupsLangPuts(stdout, _(" FAIL\n"));
+           _cupsLangPuts(stdout, _(" FAIL"));
 
          _cupsLangPrintf(stdout,
                          _("      %s  Missing choice *%s %s in "
-                           "cupsUIConstraints %s: \"%s\"\n"),
+                           "cupsUIConstraints %s: \"%s\""),
                          prefix, option, choice, constattr->spec,
                          constattr->value);
 
@@ -1896,11 +1910,11 @@ check_constraints(ppd_file_t *ppd,      /* I - PPD file */
       if (num_options < 2)
       {
        if (!warn && !errors && !verbose)
-         _cupsLangPuts(stdout, _(" FAIL\n"));
+         _cupsLangPuts(stdout, _(" FAIL"));
 
        _cupsLangPrintf(stdout,
                        _("      %s  cupsUIResolver %s does not list at least "
-                         "two different options\n"),
+                         "two different options."),
                        prefix, constattr->spec);
 
        if (!warn)
@@ -1914,10 +1928,10 @@ check_constraints(ppd_file_t *ppd,      /* I - PPD file */
       if (!cupsResolveConflicts(ppd, NULL, NULL, &num_options, &options))
       {
        if (!warn && !errors && !verbose)
-         _cupsLangPuts(stdout, _(" FAIL\n"));
+         _cupsLangPuts(stdout, _(" FAIL"));
 
        _cupsLangPrintf(stdout,
-                       _("      %s  cupsUIResolver %s causes a loop\n"),
+                       _("      %s  cupsUIResolver %s causes a loop."),
                        prefix, constattr->spec);
 
        if (!warn)
@@ -1950,11 +1964,11 @@ check_constraints(ppd_file_t *ppd,      /* I - PPD file */
       if ((o = ppdFindOption(ppd, option)) == NULL)
       {
        if (!warn && !errors && !verbose)
-         _cupsLangPuts(stdout, _(" FAIL\n"));
+         _cupsLangPuts(stdout, _(" FAIL"));
 
        _cupsLangPrintf(stdout,
                        _("      %s  Missing option %s in "
-                         "UIConstraints \"*%s %s *%s %s\"\n"),
+                         "UIConstraints \"*%s %s *%s %s\"."),
                        prefix, c->option1,
                        c->option1, c->choice1, c->option2, c->choice2);
 
@@ -1964,11 +1978,11 @@ check_constraints(ppd_file_t *ppd,      /* I - PPD file */
       else if (choice[0] && !ppdFindChoice(o, choice))
       {
        if (!warn && !errors && !verbose)
-         _cupsLangPuts(stdout, _(" FAIL\n"));
+         _cupsLangPuts(stdout, _(" FAIL"));
 
        _cupsLangPrintf(stdout,
                        _("      %s  Missing choice *%s %s in "
-                         "UIConstraints \"*%s %s *%s %s\"\n"),
+                         "UIConstraints \"*%s %s *%s %s\"."),
                        prefix, c->option1, c->choice1,
                        c->option1, c->choice1, c->option2, c->choice2);
 
@@ -1991,11 +2005,11 @@ check_constraints(ppd_file_t *ppd,      /* I - PPD file */
       if ((o = ppdFindOption(ppd, option)) == NULL)
       {
        if (!warn && !errors && !verbose)
-         _cupsLangPuts(stdout, _(" FAIL\n"));
+         _cupsLangPuts(stdout, _(" FAIL"));
 
        _cupsLangPrintf(stdout,
                        _("      %s  Missing option %s in "
-                         "UIConstraints \"*%s %s *%s %s\"\n"),
+                         "UIConstraints \"*%s %s *%s %s\"."),
                        prefix, c->option2,
                        c->option1, c->choice1, c->option2, c->choice2);
 
@@ -2005,11 +2019,11 @@ check_constraints(ppd_file_t *ppd,      /* I - PPD file */
       else if (choice[0] && !ppdFindChoice(o, choice))
       {
        if (!warn && !errors && !verbose)
-         _cupsLangPuts(stdout, _(" FAIL\n"));
+         _cupsLangPuts(stdout, _(" FAIL"));
 
        _cupsLangPrintf(stdout,
                        _("      %s  Missing choice *%s %s in "
-                         "UIConstraints \"*%s %s *%s %s\"\n"),
+                         "UIConstraints \"*%s %s *%s %s\"."),
                        prefix, c->option2, c->choice2,
                        c->option1, c->choice1, c->option2, c->choice2);
 
@@ -2051,12 +2065,12 @@ check_case(ppd_file_t *ppd,             /* I - PPD file */
       if (!strcasecmp(groupa->name, groupb->name))
       {
        if (!errors && !verbose)
-         _cupsLangPuts(stdout, _(" FAIL\n"));
+         _cupsLangPuts(stdout, _(" FAIL"));
 
        if (verbose >= 0)
          _cupsLangPrintf(stdout,
                          _("      **FAIL**  Group names %s and %s differ only "
-                           "by case\n"),
+                           "by case."),
                          groupa->name, groupb->name);
 
        errors ++;
@@ -2073,12 +2087,12 @@ check_case(ppd_file_t *ppd,             /* I - PPD file */
       if (!strcasecmp(optiona->keyword, optionb->keyword))
       {
        if (!errors && !verbose)
-         _cupsLangPuts(stdout, _(" FAIL\n"));
+         _cupsLangPuts(stdout, _(" FAIL"));
 
        if (verbose >= 0)
          _cupsLangPrintf(stdout,
                          _("      **FAIL**  Option names %s and %s differ only "
-                           "by case\n"),
+                           "by case."),
                          optiona->keyword, optionb->keyword);
 
        errors ++;
@@ -2096,12 +2110,12 @@ check_case(ppd_file_t *ppd,             /* I - PPD file */
         if (!strcmp(choicea->choice, choiceb->choice))
        {
          if (!errors && !verbose)
-           _cupsLangPuts(stdout, _(" FAIL\n"));
+           _cupsLangPuts(stdout, _(" FAIL"));
 
          if (verbose >= 0)
            _cupsLangPrintf(stdout,
                            _("      **FAIL**  Multiple occurrences of %s "
-                             "choice name %s\n"),
+                             "choice name %s."),
                            optiona->keyword, choicea->choice);
 
          errors ++;
@@ -2113,12 +2127,12 @@ check_case(ppd_file_t *ppd,             /* I - PPD file */
         else if (!strcasecmp(choicea->choice, choiceb->choice))
        {
          if (!errors && !verbose)
-           _cupsLangPuts(stdout, _(" FAIL\n"));
+           _cupsLangPuts(stdout, _(" FAIL"));
 
          if (verbose >= 0)
            _cupsLangPrintf(stdout,
                            _("      **FAIL**  %s choice names %s and %s "
-                             "differ only by case\n"),
+                             "differ only by case."),
                            optiona->keyword, choicea->choice, choiceb->choice);
 
          errors ++;
@@ -2182,11 +2196,11 @@ check_defaults(ppd_file_t *ppd,         /* I - PPD file */
        if (k >= option->num_choices)
        {
          if (!warn && !errors && !verbose)
-           _cupsLangPuts(stdout, _(" FAIL\n"));
+           _cupsLangPuts(stdout, _(" FAIL"));
 
          if (verbose >= 0)
            _cupsLangPrintf(stdout,
-                           _("      %s  %s %s does not exist\n"),
+                           _("      %s  %s %s does not exist."),
                            prefix, attr->name, attr->value);
 
           if (!warn)
@@ -2229,12 +2243,12 @@ check_duplex(ppd_file_t *ppd,           /* I - PPD file */
       if (verbose >= 0)
       {
        if (!warn && !errors && !verbose)
-         _cupsLangPuts(stdout, _(" FAIL\n"));
+         _cupsLangPuts(stdout, _(" FAIL"));
 
        _cupsLangPrintf(stdout,
                        _("      %s  REQUIRED %s does not define "
-                         "choice None\n"
-                         "                REF: Page 122, section 5.17\n"),
+                         "choice None.\n"
+                         "                REF: Page 122, section 5.17"),
                        prefix, option->keyword);
       }
 
@@ -2253,11 +2267,11 @@ check_duplex(ppd_file_t *ppd,           /* I - PPD file */
        if (verbose >= 0)
        {
          if (!warn && !errors && !verbose)
-           _cupsLangPuts(stdout, _(" FAIL\n"));
+           _cupsLangPuts(stdout, _(" FAIL"));
 
          _cupsLangPrintf(stdout,
-                         _("      %s  Bad %s choice %s\n"
-                           "                REF: Page 122, section 5.17\n"),
+                         _("      %s  Bad %s choice %s.\n"
+                           "                REF: Page 122, section 5.17"),
                          prefix, option->keyword, choice->choice);
        }
 
@@ -2305,11 +2319,11 @@ check_filters(ppd_file_t *ppd,          /* I - PPD file */
                &cost, program) != 4)
     {
       if (!warn && !errors && !verbose)
-       _cupsLangPuts(stdout, _(" FAIL\n"));
+       _cupsLangPuts(stdout, _(" FAIL"));
 
       if (verbose >= 0)
        _cupsLangPrintf(stdout,
-                       _("      %s  Bad cupsFilter value \"%s\"\n"),
+                       _("      %s  Bad cupsFilter value \"%s\"."),
                        prefix, ppd->filters[i]);
 
       if (!warn)
@@ -2335,11 +2349,11 @@ check_filters(ppd_file_t *ppd,          /* I - PPD file */
       if (stat(pathprog, &fileinfo))
       {
        if (!warn && !errors && !verbose)
-         _cupsLangPuts(stdout, _(" FAIL\n"));
+         _cupsLangPuts(stdout, _(" FAIL"));
 
        if (verbose >= 0)
          _cupsLangPrintf(stdout, _("      %s  Missing cupsFilter "
-                                   "file \"%s\"\n"), prefix, pathprog);
+                                   "file \"%s\"."), prefix, pathprog);
 
        if (!warn)
          errors ++;
@@ -2349,11 +2363,11 @@ check_filters(ppd_file_t *ppd,          /* I - PPD file */
               (fileinfo.st_mode & MODE_MASK) != MODE_PROGRAM)
       {
        if (!warn && !errors && !verbose)
-         _cupsLangPuts(stdout, _(" FAIL\n"));
+         _cupsLangPuts(stdout, _(" FAIL"));
 
        if (verbose >= 0)
          _cupsLangPrintf(stdout, _("      %s  Bad permissions on cupsFilter "
-                                   "file \"%s\"\n"), prefix, pathprog);
+                                   "file \"%s\"."), prefix, pathprog);
 
        if (!warn)
          errors ++;
@@ -2374,11 +2388,11 @@ check_filters(ppd_file_t *ppd,          /* I - PPD file */
     if (strcmp(attr->name, "cupsPreFilter"))
     {
       if (!warn && !errors && !verbose)
-       _cupsLangPuts(stdout, _(" FAIL\n"));
+       _cupsLangPuts(stdout, _(" FAIL"));
 
       if (verbose >= 0)
        _cupsLangPrintf(stdout,
-                       _("      %s  Bad spelling of %s - should be %s\n"),
+                       _("      %s  Bad spelling of %s - should be %s."),
                        prefix, attr->name, "cupsPreFilter");
 
       if (!warn)
@@ -2390,11 +2404,11 @@ check_filters(ppd_file_t *ppd,          /* I - PPD file */
               &cost, program) != 4)
     {
       if (!warn && !errors && !verbose)
-       _cupsLangPuts(stdout, _(" FAIL\n"));
+       _cupsLangPuts(stdout, _(" FAIL"));
 
       if (verbose >= 0)
        _cupsLangPrintf(stdout,
-                       _("      %s  Bad cupsPreFilter value \"%s\"\n"),
+                       _("      %s  Bad cupsPreFilter value \"%s\"."),
                        prefix, attr->value ? attr->value : "");
 
       if (!warn)
@@ -2420,11 +2434,11 @@ check_filters(ppd_file_t *ppd,          /* I - PPD file */
       if (stat(pathprog, &fileinfo))
       {
        if (!warn && !errors && !verbose)
-         _cupsLangPuts(stdout, _(" FAIL\n"));
+         _cupsLangPuts(stdout, _(" FAIL"));
 
        if (verbose >= 0)
          _cupsLangPrintf(stdout, _("      %s  Missing cupsPreFilter "
-                                   "file \"%s\"\n"), prefix, pathprog);
+                                   "file \"%s\"."), prefix, pathprog);
 
         if (!warn)
          errors ++;
@@ -2434,11 +2448,11 @@ check_filters(ppd_file_t *ppd,          /* I - PPD file */
               (fileinfo.st_mode & MODE_MASK) != MODE_PROGRAM)
       {
        if (!warn && !errors && !verbose)
-         _cupsLangPuts(stdout, _(" FAIL\n"));
+         _cupsLangPuts(stdout, _(" FAIL"));
 
        if (verbose >= 0)
          _cupsLangPrintf(stdout, _("      %s  Bad permissions on "
-                                   "cupsPreFilter file \"%s\"\n"), prefix,
+                                   "cupsPreFilter file \"%s\"."), prefix,
                          pathprog);
 
        if (!warn)
@@ -2461,11 +2475,11 @@ check_filters(ppd_file_t *ppd,          /* I - PPD file */
     if (strcmp(attr->name, "APDialogExtension"))
     {
       if (!warn && !errors && !verbose)
-       _cupsLangPuts(stdout, _(" FAIL\n"));
+       _cupsLangPuts(stdout, _(" FAIL"));
 
       if (verbose >= 0)
        _cupsLangPrintf(stdout,
-                       _("      %s  Bad spelling of %s - should be %s\n"),
+                       _("      %s  Bad spelling of %s - should be %s."),
                        prefix, attr->name, "APDialogExtension");
 
       if (!warn)
@@ -2478,11 +2492,11 @@ check_filters(ppd_file_t *ppd,          /* I - PPD file */
     if (!attr->value || stat(pathprog, &fileinfo))
     {
       if (!warn && !errors && !verbose)
-       _cupsLangPuts(stdout, _(" FAIL\n"));
+       _cupsLangPuts(stdout, _(" FAIL"));
 
       if (verbose >= 0)
        _cupsLangPrintf(stdout, _("      %s  Missing "
-                                 "APDialogExtension file \"%s\"\n"),
+                                 "APDialogExtension file \"%s\"."),
                        prefix, pathprog);
 
       if (!warn)
@@ -2493,11 +2507,11 @@ check_filters(ppd_file_t *ppd,          /* I - PPD file */
             (fileinfo.st_mode & MODE_MASK) != MODE_DIRECTORY)
     {
       if (!warn && !errors && !verbose)
-       _cupsLangPuts(stdout, _(" FAIL\n"));
+       _cupsLangPuts(stdout, _(" FAIL"));
 
       if (verbose >= 0)
        _cupsLangPrintf(stdout, _("      %s  Bad permissions on "
-                                 "APDialogExtension file \"%s\"\n"), prefix,
+                                 "APDialogExtension file \"%s\"."), prefix,
                        pathprog);
 
       if (!warn)
@@ -2517,11 +2531,11 @@ check_filters(ppd_file_t *ppd,          /* I - PPD file */
     if (strcmp(attr->name, "APPrinterIconPath"))
     {
       if (!warn && !errors && !verbose)
-       _cupsLangPuts(stdout, _(" FAIL\n"));
+       _cupsLangPuts(stdout, _(" FAIL"));
 
       if (verbose >= 0)
        _cupsLangPrintf(stdout,
-                       _("      %s  Bad spelling of %s - should be %s\n"),
+                       _("      %s  Bad spelling of %s - should be %s."),
                        prefix, attr->name, "APPrinterIconPath");
 
       if (!warn)
@@ -2534,11 +2548,11 @@ check_filters(ppd_file_t *ppd,          /* I - PPD file */
     if (!attr->value || stat(pathprog, &fileinfo))
     {
       if (!warn && !errors && !verbose)
-       _cupsLangPuts(stdout, _(" FAIL\n"));
+       _cupsLangPuts(stdout, _(" FAIL"));
 
       if (verbose >= 0)
        _cupsLangPrintf(stdout, _("      %s  Missing "
-                                 "APPrinterIconPath file \"%s\"\n"),
+                                 "APPrinterIconPath file \"%s\"."),
                        prefix, pathprog);
 
       if (!warn)
@@ -2549,11 +2563,11 @@ check_filters(ppd_file_t *ppd,          /* I - PPD file */
             (fileinfo.st_mode & MODE_MASK) != MODE_DATAFILE)
     {
       if (!warn && !errors && !verbose)
-       _cupsLangPuts(stdout, _(" FAIL\n"));
+       _cupsLangPuts(stdout, _(" FAIL"));
 
       if (verbose >= 0)
        _cupsLangPrintf(stdout, _("      %s  Bad permissions on "
-                                 "APPrinterIconPath file \"%s\"\n"), prefix,
+                                 "APPrinterIconPath file \"%s\"."), prefix,
                        pathprog);
 
       if (!warn)
@@ -2573,11 +2587,11 @@ check_filters(ppd_file_t *ppd,          /* I - PPD file */
     if (strcmp(attr->name, "APPrinterLowInkTool"))
     {
       if (!warn && !errors && !verbose)
-       _cupsLangPuts(stdout, _(" FAIL\n"));
+       _cupsLangPuts(stdout, _(" FAIL"));
 
       if (verbose >= 0)
        _cupsLangPrintf(stdout,
-                       _("      %s  Bad spelling of %s - should be %s\n"),
+                       _("      %s  Bad spelling of %s - should be %s."),
                        prefix, attr->name, "APPrinterLowInkTool");
 
       if (!warn)
@@ -2590,11 +2604,11 @@ check_filters(ppd_file_t *ppd,          /* I - PPD file */
     if (!attr->value || stat(pathprog, &fileinfo))
     {
       if (!warn && !errors && !verbose)
-       _cupsLangPuts(stdout, _(" FAIL\n"));
+       _cupsLangPuts(stdout, _(" FAIL"));
 
       if (verbose >= 0)
        _cupsLangPrintf(stdout, _("      %s  Missing "
-                                 "APPrinterLowInkTool file \"%s\"\n"),
+                                 "APPrinterLowInkTool file \"%s\"."),
                        prefix, pathprog);
 
       if (!warn)
@@ -2605,11 +2619,11 @@ check_filters(ppd_file_t *ppd,          /* I - PPD file */
             (fileinfo.st_mode & MODE_MASK) != MODE_DIRECTORY)
     {
       if (!warn && !errors && !verbose)
-       _cupsLangPuts(stdout, _(" FAIL\n"));
+       _cupsLangPuts(stdout, _(" FAIL"));
 
       if (verbose >= 0)
        _cupsLangPrintf(stdout, _("      %s  Bad permissions on "
-                                 "APPrinterLowInkTool file \"%s\"\n"), prefix,
+                                 "APPrinterLowInkTool file \"%s\"."), prefix,
                        pathprog);
 
       if (!warn)
@@ -2629,11 +2643,11 @@ check_filters(ppd_file_t *ppd,          /* I - PPD file */
     if (strcmp(attr->name, "APPrinterUtilityPath"))
     {
       if (!warn && !errors && !verbose)
-       _cupsLangPuts(stdout, _(" FAIL\n"));
+       _cupsLangPuts(stdout, _(" FAIL"));
 
       if (verbose >= 0)
        _cupsLangPrintf(stdout,
-                       _("      %s  Bad spelling of %s - should be %s\n"),
+                       _("      %s  Bad spelling of %s - should be %s."),
                        prefix, attr->name, "APPrinterUtilityPath");
 
       if (!warn)
@@ -2646,11 +2660,11 @@ check_filters(ppd_file_t *ppd,          /* I - PPD file */
     if (!attr->value || stat(pathprog, &fileinfo))
     {
       if (!warn && !errors && !verbose)
-       _cupsLangPuts(stdout, _(" FAIL\n"));
+       _cupsLangPuts(stdout, _(" FAIL"));
 
       if (verbose >= 0)
        _cupsLangPrintf(stdout, _("      %s  Missing "
-                                 "APPrinterUtilityPath file \"%s\"\n"),
+                                 "APPrinterUtilityPath file \"%s\"."),
                        prefix, pathprog);
 
       if (!warn)
@@ -2661,11 +2675,11 @@ check_filters(ppd_file_t *ppd,          /* I - PPD file */
             (fileinfo.st_mode & MODE_MASK) != MODE_DIRECTORY)
     {
       if (!warn && !errors && !verbose)
-       _cupsLangPuts(stdout, _(" FAIL\n"));
+       _cupsLangPuts(stdout, _(" FAIL"));
 
       if (verbose >= 0)
        _cupsLangPrintf(stdout, _("      %s  Bad permissions on "
-                                 "APPrinterUtilityPath file \"%s\"\n"), prefix,
+                                 "APPrinterUtilityPath file \"%s\"."), prefix,
                        pathprog);
 
       if (!warn)
@@ -2685,11 +2699,11 @@ check_filters(ppd_file_t *ppd,          /* I - PPD file */
     if (strcmp(attr->name, "APScanAppPath"))
     {
       if (!warn && !errors && !verbose)
-       _cupsLangPuts(stdout, _(" FAIL\n"));
+       _cupsLangPuts(stdout, _(" FAIL"));
 
       if (verbose >= 0)
        _cupsLangPrintf(stdout,
-                       _("      %s  Bad spelling of %s - should be %s\n"),
+                       _("      %s  Bad spelling of %s - should be %s."),
                        prefix, attr->name, "APScanAppPath");
 
       if (!warn)
@@ -2699,11 +2713,11 @@ check_filters(ppd_file_t *ppd,          /* I - PPD file */
     if (!attr->value || stat(attr->value, &fileinfo))
     {
       if (!warn && !errors && !verbose)
-       _cupsLangPuts(stdout, _(" FAIL\n"));
+       _cupsLangPuts(stdout, _(" FAIL"));
 
       if (verbose >= 0)
        _cupsLangPrintf(stdout, _("      %s  Missing "
-                                 "APScanAppPath file \"%s\"\n"),
+                                 "APScanAppPath file \"%s\"."),
                        prefix, attr->value ? attr->value : "<NULL>");
 
       if (!warn)
@@ -2714,11 +2728,11 @@ check_filters(ppd_file_t *ppd,          /* I - PPD file */
             (fileinfo.st_mode & MODE_MASK) != MODE_DIRECTORY)
     {
       if (!warn && !errors && !verbose)
-       _cupsLangPuts(stdout, _(" FAIL\n"));
+       _cupsLangPuts(stdout, _(" FAIL"));
 
       if (verbose >= 0)
        _cupsLangPrintf(stdout, _("      %s  Bad permissions on "
-                                 "APScanAppPath file \"%s\"\n"), prefix,
+                                 "APScanAppPath file \"%s\"."), prefix,
                        attr->value);
 
       if (!warn)
@@ -2731,11 +2745,11 @@ check_filters(ppd_file_t *ppd,          /* I - PPD file */
     if (ppdFindAttr(ppd, "APScanAppBundleID", NULL))
     {
       if (!warn && !errors && !verbose)
-       _cupsLangPuts(stdout, _(" FAIL\n"));
+       _cupsLangPuts(stdout, _(" FAIL"));
 
       if (verbose >= 0)
        _cupsLangPrintf(stdout, _("      %s  Cannot provide both "
-                                 "APScanAppPath and APScanAppBundleID\n"),
+                                 "APScanAppPath and APScanAppBundleID."),
                        prefix);
 
       if (!warn)
@@ -2787,11 +2801,11 @@ check_profiles(ppd_file_t *ppd,         /* I - PPD file */
     if (!attr->value || i < 2)
     {
       if (!warn && !errors && !verbose)
-       _cupsLangPuts(stdout, _(" FAIL\n"));
+       _cupsLangPuts(stdout, _(" FAIL"));
 
       if (verbose >= 0)
        _cupsLangPrintf(stdout,
-                       _("      %s  Bad cupsICCProfile %s\n"),
+                       _("      %s  Bad cupsICCProfile %s."),
                        prefix, attr->spec);
 
       if (!warn)
@@ -2822,11 +2836,11 @@ check_profiles(ppd_file_t *ppd,         /* I - PPD file */
     if (stat(filename, &fileinfo))
     {
       if (!warn && !errors && !verbose)
-       _cupsLangPuts(stdout, _(" FAIL\n"));
+       _cupsLangPuts(stdout, _(" FAIL"));
 
       if (verbose >= 0)
        _cupsLangPrintf(stdout, _("      %s  Missing cupsICCProfile "
-                                 "file \"%s\"\n"), prefix, filename);
+                                 "file \"%s\"."), prefix, filename);
 
       if (!warn)
        errors ++;
@@ -2836,11 +2850,11 @@ check_profiles(ppd_file_t *ppd,         /* I - PPD file */
             (fileinfo.st_mode & MODE_MASK) != MODE_DATAFILE)
     {
       if (!warn && !errors && !verbose)
-       _cupsLangPuts(stdout, _(" FAIL\n"));
+       _cupsLangPuts(stdout, _(" FAIL"));
 
       if (verbose >= 0)
        _cupsLangPrintf(stdout, _("      %s  Bad permissions on "
-                                 "cupsICCProfile file \"%s\"\n"), prefix,
+                                 "cupsICCProfile file \"%s\"."), prefix,
                        filename);
 
       if (!warn)
@@ -2864,12 +2878,12 @@ check_profiles(ppd_file_t *ppd,         /* I - PPD file */
       if (i < num_profiles)
       {
        if (!warn && !errors && !verbose)
-         _cupsLangPuts(stdout, _(" FAIL\n"));
+         _cupsLangPuts(stdout, _(" FAIL"));
 
        if (verbose >= 0)
          _cupsLangPrintf(stdout,
                          _("      %s  cupsICCProfile %s hash value "
-                           "collides with %s\n"), prefix, attr->spec,
+                           "collides with %s."), prefix, attr->spec,
                          specs[i]);
 
        if (!warn)
@@ -2917,12 +2931,12 @@ check_sizes(ppd_file_t *ppd,            /* I - PPD file */
   if ((page_size = ppdFindOption(ppd, "PageSize")) == NULL && warn != 2)
   {
     if (!warn && !errors && !verbose)
-      _cupsLangPuts(stdout, _(" FAIL\n"));
+      _cupsLangPuts(stdout, _(" FAIL"));
 
     if (verbose >= 0)
       _cupsLangPrintf(stdout,
-                     _("      %s  Missing REQUIRED PageSize option\n"
-                       "                REF: Page 99, section 5.14.\n"),
+                     _("      %s  Missing REQUIRED PageSize option.\n"
+                       "                REF: Page 99, section 5.14."),
                      prefix);
 
     if (!warn)
@@ -2932,12 +2946,12 @@ check_sizes(ppd_file_t *ppd,            /* I - PPD file */
   if ((page_region = ppdFindOption(ppd, "PageRegion")) == NULL && warn != 2)
   {
     if (!warn && !errors && !verbose)
-      _cupsLangPuts(stdout, _(" FAIL\n"));
+      _cupsLangPuts(stdout, _(" FAIL"));
 
     if (verbose >= 0)
       _cupsLangPrintf(stdout,
-                     _("      %s  Missing REQUIRED PageRegion option\n"
-                       "                REF: Page 100, section 5.14.\n"),
+                     _("      %s  Missing REQUIRED PageRegion option.\n"
+                       "                REF: Page 100, section 5.14."),
                      prefix);
 
     if (!warn)
@@ -2970,12 +2984,12 @@ check_sizes(ppd_file_t *ppd,            /* I - PPD file */
           fabs(length - size->length) >= 1.0)
       {
        if (!warn && !errors && !verbose)
-         _cupsLangPuts(stdout, _(" FAIL\n"));
+         _cupsLangPuts(stdout, _(" FAIL"));
 
        if (verbose >= 0)
          _cupsLangPrintf(stdout,
                          _("      %s  Size \"%s\" has unexpected dimensions "
-                           "(%gx%g)\n"),
+                           "(%gx%g)."),
                          prefix, size->name, size->width, size->length);
 
        if (!warn)
@@ -2990,12 +3004,12 @@ check_sizes(ppd_file_t *ppd,            /* I - PPD file */
     if (warn != 2 && !ppdFindChoice(page_size, size->name))
     {
       if (!warn && !errors && !verbose)
-       _cupsLangPuts(stdout, _(" FAIL\n"));
+       _cupsLangPuts(stdout, _(" FAIL"));
 
       if (verbose >= 0)
        _cupsLangPrintf(stdout,
                        _("      %s  Size \"%s\" defined for %s but not for "
-                         "%s\n"),
+                         "%s."),
                        prefix, size->name, "PageRegion", "PageSize");
 
       if (!warn)
@@ -3004,12 +3018,12 @@ check_sizes(ppd_file_t *ppd,            /* I - PPD file */
     else if (warn != 2 && !ppdFindChoice(page_region, size->name))
     {
       if (!warn && !errors && !verbose)
-       _cupsLangPuts(stdout, _(" FAIL\n"));
+       _cupsLangPuts(stdout, _(" FAIL"));
 
       if (verbose >= 0)
        _cupsLangPrintf(stdout,
                        _("      %s  Size \"%s\" defined for %s but not for "
-                         "%s\n"),
+                         "%s."),
                        prefix, size->name, "PageSize", "PageRegion");
 
       if (!warn)
@@ -3065,11 +3079,11 @@ check_translations(ppd_file_t *ppd,     /* I - PPD file */
       if (langlen != 2 && langlen != 5)
       {
        if (!warn && !errors && !verbose)
-         _cupsLangPuts(stdout, _(" FAIL\n"));
+         _cupsLangPuts(stdout, _(" FAIL"));
 
        if (verbose >= 0)
          _cupsLangPrintf(stdout,
-                         _("      %s  Bad language \"%s\"\n"),
+                         _("      %s  Bad language \"%s\"."),
                          prefix, language);
 
        if (!warn)
@@ -3101,12 +3115,12 @@ check_translations(ppd_file_t *ppd,     /* I - PPD file */
            (attr = ppdFindAttr(ppd, llkeyword, option->keyword)) == NULL)
        {
          if (!warn && !errors && !verbose)
-           _cupsLangPuts(stdout, _(" FAIL\n"));
+           _cupsLangPuts(stdout, _(" FAIL"));
 
          if (verbose >= 0)
            _cupsLangPrintf(stdout,
                            _("      %s  Missing \"%s\" translation "
-                             "string for option %s\n"),
+                             "string for option %s."),
                            prefix, language, option->keyword);
 
           if (!warn)
@@ -3115,12 +3129,12 @@ check_translations(ppd_file_t *ppd,     /* I - PPD file */
        else if (!valid_utf8(attr->text))
        {
          if (!warn && !errors && !verbose)
-           _cupsLangPuts(stdout, _(" FAIL\n"));
+           _cupsLangPuts(stdout, _(" FAIL"));
 
          if (verbose >= 0)
            _cupsLangPrintf(stdout,
                            _("      %s  Bad UTF-8 \"%s\" translation "
-                             "string for option %s\n"),
+                             "string for option %s."),
                            prefix, language, option->keyword);
 
          if (!warn)
@@ -3161,13 +3175,13 @@ check_translations(ppd_file_t *ppd,     /* I - PPD file */
                !valid_utf8(attr->text))
            {
              if (!warn && !errors && !verbose)
-               _cupsLangPuts(stdout, _(" FAIL\n"));
+               _cupsLangPuts(stdout, _(" FAIL"));
 
              if (verbose >= 0)
                _cupsLangPrintf(stdout,
                                _("      %s  Bad UTF-8 \"%s\" "
                                  "translation string for option %s, "
-                                 "choice %s\n"),
+                                 "choice %s."),
                                prefix, language,
                                ckeyword + 1 + strlen(language),
                                "True");
@@ -3193,13 +3207,13 @@ check_translations(ppd_file_t *ppd,     /* I - PPD file */
                                        cparam->name)) == NULL)
                {
                  if (!warn && !errors && !verbose)
-                   _cupsLangPuts(stdout, _(" FAIL\n"));
+                   _cupsLangPuts(stdout, _(" FAIL"));
 
                  if (verbose >= 0)
                    _cupsLangPrintf(stdout,
                                    _("      %s  Missing \"%s\" "
                                      "translation string for option %s, "
-                                     "choice %s\n"),
+                                     "choice %s."),
                                    prefix, language,
                                    ckeyword + 1 + strlen(language),
                                    cparam->name);
@@ -3210,13 +3224,13 @@ check_translations(ppd_file_t *ppd,     /* I - PPD file */
                else if (!valid_utf8(attr->text))
                {
                  if (!warn && !errors && !verbose)
-                   _cupsLangPuts(stdout, _(" FAIL\n"));
+                   _cupsLangPuts(stdout, _(" FAIL"));
 
                  if (verbose >= 0)
                    _cupsLangPrintf(stdout,
                                    _("      %s  Bad UTF-8 \"%s\" "
                                      "translation string for option %s, "
-                                     "choice %s\n"),
+                                     "choice %s."),
                                    prefix, language,
                                    ckeyword + 1 + strlen(language),
                                    cparam->name);
@@ -3233,13 +3247,13 @@ check_translations(ppd_file_t *ppd,     /* I - PPD file */
                                       option->choices[j].choice)) == NULL)
          {
            if (!warn && !errors && !verbose)
-             _cupsLangPuts(stdout, _(" FAIL\n"));
+             _cupsLangPuts(stdout, _(" FAIL"));
 
            if (verbose >= 0)
              _cupsLangPrintf(stdout,
                              _("      %s  Missing \"%s\" "
                                "translation string for option %s, "
-                               "choice %s\n"),
+                               "choice %s."),
                              prefix, language, option->keyword,
                              option->choices[j].choice);
 
@@ -3249,13 +3263,13 @@ check_translations(ppd_file_t *ppd,     /* I - PPD file */
          else if (!valid_utf8(attr->text))
          {
            if (!warn && !errors && !verbose)
-             _cupsLangPuts(stdout, _(" FAIL\n"));
+             _cupsLangPuts(stdout, _(" FAIL"));
 
            if (verbose >= 0)
              _cupsLangPrintf(stdout,
                              _("      %s  Bad UTF-8 \"%s\" "
                                "translation string for option %s, "
-                               "choice %s\n"),
+                               "choice %s."),
                              prefix, language, option->keyword,
                              option->choices[j].choice);
 
@@ -3287,12 +3301,12 @@ check_translations(ppd_file_t *ppd,     /* I - PPD file */
            strcmp(ll, "zh") && strcmp(ll, "en"))
        {
          if (!warn && !errors && !verbose)
-           _cupsLangPuts(stdout, _(" FAIL\n"));
+           _cupsLangPuts(stdout, _(" FAIL"));
 
          if (verbose >= 0)
            _cupsLangPrintf(stdout,
                            _("      %s  No base translation \"%s\" "
-                             "is included in file\n"), prefix, ll);
+                             "is included in file."), prefix, ll);
 
          if (!warn)
            errors ++;
@@ -3405,7 +3419,7 @@ show_conflicts(ppd_file_t *ppd)           /* I - PPD to check */
     if (c1 != NULL && c1->marked && c2 != NULL && c2->marked)
       _cupsLangPrintf(stdout,
                       _("        WARN    \"%s %s\" conflicts with \"%s %s\"\n"
-                        "                (constraint=\"%s %s %s %s\")\n"),
+                        "                (constraint=\"%s %s %s %s\")."),
                      o1->keyword, c1->choice, o2->keyword, c2->choice,
                      c->option1, c->choice1, c->option2, c->choice2);
   }
@@ -3427,12 +3441,12 @@ test_raster(ppd_file_t *ppd,            /* I - PPD file */
   if (cupsRasterInterpretPPD(&header, ppd, 0, NULL, 0))
   {
     if (!verbose)
-      _cupsLangPuts(stdout, _(" FAIL\n"));
+      _cupsLangPuts(stdout, _(" FAIL"));
 
     if (verbose >= 0)
       _cupsLangPrintf(stdout,
                      _("      **FAIL**  Default option code cannot be "
-                       "interpreted: %s\n"), cupsRasterErrorString());
+                       "interpreted: %s"), cupsRasterErrorString());
 
     return (0);
   }
@@ -3449,12 +3463,12 @@ test_raster(ppd_file_t *ppd,            /* I - PPD file */
   if (cupsRasterInterpretPPD(&header, ppd, 0, NULL, 0))
   {
     if (!verbose)
-      _cupsLangPuts(stdout, _(" FAIL\n"));
+      _cupsLangPuts(stdout, _(" FAIL"));
 
     if (verbose >= 0)
       _cupsLangPrintf(stdout,
                      _("      **FAIL**  Default option code cannot be "
-                       "interpreted: %s\n"), cupsRasterErrorString());
+                       "interpreted: %s"), cupsRasterErrorString());
 
     return (0);
   }
@@ -3470,23 +3484,23 @@ test_raster(ppd_file_t *ppd,            /* I - PPD file */
 static void
 usage(void)
 {
-  _cupsLangPuts(stdout,
-                _("Usage: cupstestppd [options] filename1.ppd[.gz] "
-                 "[... filenameN.ppd[.gz]]\n"
-                 "       program | cupstestppd [options] -\n"
-                 "\n"
-                 "Options:\n"
-                 "\n"
-                 "    -I {filename,filters,none,profiles}\n"
-                 "                         Ignore specific warnings\n"
-                 "    -R root-directory    Set alternate root\n"
-                 "    -W {all,none,constraints,defaults,duplex,filters,"
-                 "profiles,sizes,translations}\n"
-                 "                         Issue warnings instead of errors\n"
-                 "    -q                   Run silently\n"
-                 "    -r                   Use 'relaxed' open mode\n"
-                 "    -v                   Be slightly verbose\n"
-                 "    -vv                  Be very verbose\n"));
+  _cupsLangPuts(stdout, _("Usage: cupstestppd [options] filename1.ppd[.gz] "
+                         "[... filenameN.ppd[.gz]]"));
+  _cupsLangPuts(stdout, _("       program | cupstestppd [options] -"));
+  _cupsLangPuts(stdout, "");
+  _cupsLangPuts(stdout, _("Options:"));
+  _cupsLangPuts(stdout, "");
+  _cupsLangPuts(stdout, _("    -I {filename,filters,none,profiles}"));
+  _cupsLangPuts(stdout, _("                         Ignore specific warnings."));
+  _cupsLangPuts(stdout, _("    -R root-directory    Set alternate root."));
+  _cupsLangPuts(stdout, _("    -W {all,none,constraints,defaults,duplex,"
+                          "filters,profiles,sizes,translations}"));
+  _cupsLangPuts(stdout, _("                         Issue warnings instead of "
+                          "errors."));
+  _cupsLangPuts(stdout, _("    -q                   Run silently."));
+  _cupsLangPuts(stdout, _("    -r                   Use 'relaxed' open mode."));
+  _cupsLangPuts(stdout, _("    -v                   Be slightly verbose."));
+  _cupsLangPuts(stdout, _("    -vv                  Be very verbose."));
 
   exit(ERROR_USAGE);
 }
@@ -3557,12 +3571,12 @@ valid_path(const char *keyword,         /* I - Keyword using path */
     if (!dentry)
     {
       if (!warn && !errors && !verbose)
-       _cupsLangPuts(stdout, _(" FAIL\n"));
+       _cupsLangPuts(stdout, _(" FAIL"));
 
       if (verbose >= 0)
        _cupsLangPrintf(stdout,
                        _("      %s  %s file \"%s\" has the wrong "
-                         "capitalization\n"), prefix, keyword, path);
+                         "capitalization."), prefix, keyword, path);
 
       if (!warn)
        errors ++;
index 45550aadcdc8b3645dd35cd9cbf8ea69175cf923..744a13acff89053f17493edd46e62df3dee5ed09 100644 (file)
@@ -99,8 +99,7 @@ main(int  argc,                               /* I - Number of command-line arguments */
 #ifdef HAVE_SSL
            cupsSetEncryption(HTTP_ENCRYPT_REQUIRED);
 #else
-            _cupsLangPrintf(stderr,
-                           _("%s: Sorry, no encryption support compiled in\n"),
+            _cupsLangPrintf(stderr, _("%s: Sorry, no encryption support."),
                            argv[0]);
 #endif /* HAVE_SSL */
            break;
@@ -114,9 +113,8 @@ main(int  argc,                             /* I - Number of command-line arguments */
              if (i >= argc)
              {
                _cupsLangPrintf(stderr,
-                               _("%s: Error - expected username after "
-                                 "\'-U\' option\n"),
-                               argv[0]);
+                               _("%s: Error - expected username after \"-U\" "
+                                 "option."), argv[0]);
                return (1);
              }
 
@@ -138,8 +136,7 @@ main(int  argc,                             /* I - Number of command-line arguments */
              {
                _cupsLangPrintf(stderr,
                                _("%s: Error - expected destination after "
-                                 "\'-d\' option\n"),
-                               argv[0]);
+                                 "\"-d\" option."), argv[0]);
                return (1);
               }
 
@@ -152,7 +149,8 @@ main(int  argc,                             /* I - Number of command-line arguments */
             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)
+               if (cupsGetOption(dest->options[j].name, num_options,
+                                 options) == NULL)
                  num_options = cupsAddOption(dest->options[j].name,
                                              dest->options[j].value,
                                              num_options, &options);
@@ -167,14 +165,14 @@ main(int  argc,                           /* I - Number of command-line arguments */
              if (i >= argc)
              {
                _cupsLangPrintf(stderr,
-                               _("%s: Error - expected form after \'-f\' "
-                                 "option\n"),
+                               _("%s: Error - expected form after \"-f\" "
+                                 "option."),
                                argv[0]);
                return (1);
               }
            }
 
-           _cupsLangPrintf(stderr, _("%s: Warning - form option ignored\n"),
+           _cupsLangPrintf(stderr, _("%s: Warning - form option ignored."),
                            argv[0]);
            break;
 
@@ -189,8 +187,7 @@ main(int  argc,                             /* I - Number of command-line arguments */
              {
                _cupsLangPrintf(stderr,
                                _("%s: Error - expected hostname after "
-                                 "\'-h\' option\n"),
-                               argv[0]);
+                                 "\"-h\" option."), argv[0]);
                return (1);
               }
 
@@ -208,7 +205,7 @@ main(int  argc,                             /* I - Number of command-line arguments */
              if (i >= argc)
              {
                _cupsLangPrintf(stderr,
-                               _("%s: Expected job ID after \'-i\' option\n"),
+                               _("%s: Expected job ID after \"-i\" option."),
                                argv[0]);
                return (1);
               }
@@ -220,8 +217,7 @@ main(int  argc,                             /* I - Number of command-line arguments */
            {
              _cupsLangPrintf(stderr,
                              _("%s: Error - cannot print files and alter "
-                               "jobs simultaneously\n"),
-                             argv[0]);
+                               "jobs simultaneously."), argv[0]);
              return (1);
            }
 
@@ -232,7 +228,7 @@ main(int  argc,                             /* I - Number of command-line arguments */
 
             if (job_id < 0)
            {
-             _cupsLangPrintf(stderr, _("%s: Error - bad job ID\n"), argv[0]);
+             _cupsLangPrintf(stderr, _("%s: Error - bad job ID."), argv[0]);
              break;
            }
            break;
@@ -266,8 +262,7 @@ main(int  argc,                             /* I - Number of command-line arguments */
              {
                _cupsLangPrintf(stderr,
                                _("%s: Error - expected copies after "
-                                 "\'-n\' option\n"),
-                               argv[0]);
+                                 "\"-n\" option."), argv[0]);
                return (1);
               }
 
@@ -275,12 +270,14 @@ main(int  argc,                           /* I - Number of command-line arguments */
            }
 
             sprintf(buffer, "%d", num_copies);
-            num_options = cupsAddOption("copies", buffer, num_options, &options);
+            num_options = cupsAddOption("copies", buffer, num_options,
+                                       &options);
            break;
 
        case 'o' : /* Option */
            if (argv[i][2] != '\0')
-             num_options = cupsParseOptions(argv[i] + 2, num_options, &options);
+             num_options = cupsParseOptions(argv[i] + 2, num_options,
+                                            &options);
            else
            {
              i ++;
@@ -289,8 +286,7 @@ main(int  argc,                             /* I - Number of command-line arguments */
              {
                _cupsLangPrintf(stderr,
                                _("%s: Error - expected option string after "
-                                 "\'-o\' option\n"),
-                               argv[0]);
+                                 "\"-o\" option."), argv[0]);
                return (1);
               }
 
@@ -310,8 +306,7 @@ main(int  argc,                             /* I - Number of command-line arguments */
              {
                _cupsLangPrintf(stderr,
                                _("%s: Error - expected priority after "
-                                 "\'-%c\' option\n"),
-                               argv[0], argv[i][1]);
+                                 "\"-%c\" option."), argv[0], argv[i][1]);
                return (1);
               }
 
@@ -333,13 +328,13 @@ main(int  argc,                           /* I - Number of command-line arguments */
            {
              _cupsLangPrintf(stderr,
                              _("%s: Error - priority must be between 1 and "
-                               "100.\n"),
-                             argv[0]);
+                               "100."), argv[0]);
              return (1);
            }
 
             sprintf(buffer, "%d", priority);
-            num_options = cupsAddOption("job-priority", buffer, num_options, &options);
+            num_options = cupsAddOption("job-priority", buffer, num_options,
+                                       &options);
            break;
 
        case 's' : /* Silent */
@@ -357,8 +352,7 @@ main(int  argc,                             /* I - Number of command-line arguments */
              {
                _cupsLangPrintf(stderr,
                                _("%s: Error - expected title after "
-                                 "\'-t\' option\n"),
-                               argv[0]);
+                                 "\"-t\" option."), argv[0]);
                return (1);
               }
 
@@ -375,15 +369,13 @@ main(int  argc,                           /* I - Number of command-line arguments */
              {
                _cupsLangPrintf(stderr,
                                _("%s: Error - expected mode list after "
-                                 "\'-y\' option\n"),
-                               argv[0]);
+                                 "\"-y\" option."), argv[0]);
                return (1);
               }
            }
 
            _cupsLangPrintf(stderr,
-                           _("%s: Warning - mode option ignored\n"),
-                           argv[0]);
+                           _("%s: Warning - mode option ignored."), argv[0]);
            break;
 
         case 'H' : /* Hold job */
@@ -397,8 +389,7 @@ main(int  argc,                             /* I - Number of command-line arguments */
              {
                _cupsLangPrintf(stderr,
                                _("%s: Error - expected hold name after "
-                                 "\'-H\' option\n"),
-                               argv[0]);
+                                 "\"-H\" option."), argv[0]);
                return (1);
               }
 
@@ -424,9 +415,8 @@ main(int  argc,                             /* I - Number of command-line arguments */
              if (job_id < 1)
              {
                _cupsLangPrintf(stderr,
-                               _("%s: Need job ID (\'-i jobid\') before "
-                                 "\'-H restart\'\n"),
-                               argv[0]);
+                               _("%s: Need job ID (\"-i jobid\") before "
+                                 "\"-H restart\"."), argv[0]);
                return (1);
              }
 
@@ -449,8 +439,7 @@ main(int  argc,                             /* I - Number of command-line arguments */
              {
                _cupsLangPrintf(stderr,
                                _("%s: Error - expected page list after "
-                                 "\'-P\' option\n"),
-                               argv[0]);
+                                 "\"-P\" option."), argv[0]);
                return (1);
               }
 
@@ -470,14 +459,13 @@ main(int  argc,                           /* I - Number of command-line arguments */
              {
                _cupsLangPrintf(stderr,
                                _("%s: Error - expected character set after "
-                                 "\'-S\' option\n"),
-                               argv[0]);
+                                 "\"-S\" option."), argv[0]);
                return (1);
               }
            }
 
            _cupsLangPrintf(stderr,
-                           _("%s: Warning - character set option ignored\n"),
+                           _("%s: Warning - character set option ignored."),
                            argv[0]);
            break;
 
@@ -490,14 +478,13 @@ main(int  argc,                           /* I - Number of command-line arguments */
              {
                _cupsLangPrintf(stderr,
                                _("%s: Error - expected content type after "
-                                 "\'-T\' option\n"),
-                               argv[0]);
+                                 "\"-T\" option."), argv[0]);
                return (1);
               }
            }
 
            _cupsLangPrintf(stderr,
-                           _("%s: Warning - content type option ignored\n"),
+                           _("%s: Warning - content type option ignored."),
                            argv[0]);
            break;
 
@@ -506,7 +493,7 @@ main(int  argc,                             /* I - Number of command-line arguments */
            break;
 
        default :
-           _cupsLangPrintf(stderr, _("%s: Error - unknown option \'%c\'\n"),
+           _cupsLangPrintf(stderr, _("%s: Error - unknown option \"%c\"."),
                            argv[0], argv[i][1]);
            return (1);
       }
@@ -516,8 +503,7 @@ main(int  argc,                             /* I - Number of command-line arguments */
       {
         _cupsLangPrintf(stderr,
                        _("%s: Error - cannot print from stdin if files or a "
-                         "job ID are provided\n"),
-                        argv[0]);
+                         "job ID are provided."), argv[0]);
        return (1);
       }
 
@@ -531,7 +517,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\n"),
+        _cupsLangPrintf(stderr, _("%s: Error - unable to access \"%s\" - %s"),
                        argv[0], argv[i], strerror(errno));
         return (1);
       }
@@ -548,7 +534,7 @@ main(int  argc,                             /* I - Number of command-line arguments */
       }
     }
     else
-      _cupsLangPrintf(stderr, _("%s: Error - too many files - \"%s\"\n"),
+      _cupsLangPrintf(stderr, _("%s: Error - too many files - \"%s\"."),
                       argv[0], argv[i]);
 
  /*
@@ -596,15 +582,14 @@ main(int  argc,                           /* I - Number of command-line arguments */
     if (printer && !cupsGetNamedDest(NULL, printer, NULL))
       _cupsLangPrintf(stderr,
                      _("%s: Error - %s environment variable names "
-                       "non-existent destination \"%s\"\n"),
-                     argv[0], val, printer);
+                       "non-existent destination \"%s\"."), argv[0], val,
+                     printer);
     else if (cupsLastError() == IPP_NOT_FOUND)
       _cupsLangPrintf(stderr,
-                     _("%s: Error - no default destination available.\n"),
+                     _("%s: Error - no default destination available."),
                      argv[0]);
     else
-      _cupsLangPrintf(stderr,
-                     _("%s: Error - scheduler not responding\n"),
+      _cupsLangPrintf(stderr, _("%s: Error - scheduler not responding."),
                      argv[0]);
 
     return (1);
@@ -636,8 +621,7 @@ main(int  argc,                             /* I - Number of command-line arguments */
 
     if (status != HTTP_CONTINUE)
     {
-      _cupsLangPrintf(stderr,
-                     _("%s: Error - unable to queue from stdin - %s\n"),
+      _cupsLangPrintf(stderr, _("%s: Error - unable to queue from stdin - %s."),
                      argv[0], httpStatus(status));
       return (1);
     }
@@ -648,11 +632,11 @@ main(int  argc,                           /* I - Number of command-line arguments */
 
   if (job_id < 1)
   {
-    _cupsLangPrintf(stderr, "%s: %s\n", argv[0], cupsLastErrorString());
+    _cupsLangPrintf(stderr, "%s: %s", argv[0], cupsLastErrorString());
     return (1);
   }
   else if (!silent)
-    _cupsLangPrintf(stdout, _("request id is %s-%d (%d file(s))\n"),
+    _cupsLangPrintf(stdout, _("request id is %s-%d (%d file(s))"),
                    printer, job_id, num_files);
 
   return (0);
@@ -685,7 +669,7 @@ restart_job(const char *command,    /* I - Command name */
 
   if (cupsLastError() > IPP_OK_CONFLICT)
   {
-    _cupsLangPrintf(stderr, "%s: %s\n", command, cupsLastErrorString());
+    _cupsLangPrintf(stderr, "%s: %s", command, cupsLastErrorString());
     return (1);
   }
 
@@ -726,7 +710,7 @@ set_job_attrs(const char    *command,       /* I - Command name */
 
   if (cupsLastError() > IPP_OK_CONFLICT)
   {
-    _cupsLangPrintf(stderr, "%s: %s\n", command, cupsLastErrorString());
+    _cupsLangPrintf(stderr, "%s: %s", command, cupsLastErrorString());
     return (1);
   }
 
index aad224184eb077dffff499a3b1f2e9fbfe654cb1..38a87bb70d527cb49dc2594a3b6417a68b3f9aa7 100644 (file)
@@ -87,7 +87,7 @@ main(int  argc,                       /* I - Number of command-line arguments */
              if (http == NULL)
              {
                _cupsLangPrintf(stderr,
-                               _("lpadmin: Unable to connect to server: %s\n"),
+                               _("lpadmin: Unable to connect to server: %s"),
                                strerror(errno));
                return (1);
              }
@@ -98,7 +98,7 @@ main(int  argc,                       /* I - Number of command-line arguments */
              _cupsLangPuts(stderr,
                            _("lpadmin: Unable to add a printer to the class:\n"
                              "         You must specify a printer name "
-                             "first\n"));
+                             "first."));
              return (1);
            }
 
@@ -111,8 +111,8 @@ main(int  argc,                     /* I - Number of command-line arguments */
              if (i >= argc)
              {
                _cupsLangPuts(stderr,
-                             _("lpadmin: Expected class name after \'-c\' "
-                               "option\n"));
+                             _("lpadmin: Expected class name after \"-c\" "
+                               "option."));
                return (1);
              }
 
@@ -123,7 +123,7 @@ main(int  argc,                     /* I - Number of command-line arguments */
            {
              _cupsLangPuts(stderr,
                            _("lpadmin: Class name can only contain printable "
-                             "characters\n"));
+                             "characters."));
              return (1);
            }
 
@@ -140,7 +140,7 @@ main(int  argc,                     /* I - Number of command-line arguments */
              if (http == NULL)
              {
                _cupsLangPrintf(stderr,
-                               _("lpadmin: Unable to connect to server: %s\n"),
+                               _("lpadmin: Unable to connect to server: %s"),
                                strerror(errno));
                return (1);
              }
@@ -155,8 +155,8 @@ main(int  argc,                     /* I - Number of command-line arguments */
              if (i >= argc)
              {
                _cupsLangPuts(stderr,
-                             _("lpadmin: Expected printer name after \'-d\' "
-                               "option\n"));
+                             _("lpadmin: Expected printer name after \"-d\" "
+                               "option."));
                return (1);
              }
 
@@ -167,7 +167,7 @@ main(int  argc,                     /* I - Number of command-line arguments */
            {
              _cupsLangPuts(stderr,
                            _("lpadmin: Printer name can only contain "
-                             "printable characters\n"));
+                             "printable characters."));
              return (1);
            }
 
@@ -193,8 +193,8 @@ main(int  argc,                     /* I - Number of command-line arguments */
              if (i >= argc)
              {
                _cupsLangPuts(stderr,
-                             _("lpadmin: Expected hostname after \'-h\' "
-                               "option\n"));
+                             _("lpadmin: Expected hostname after \"-h\" "
+                               "option."));
                return (1);
               }
 
@@ -212,8 +212,8 @@ main(int  argc,                     /* I - Number of command-line arguments */
              if (i >= argc)
              {
                _cupsLangPuts(stderr,
-                             _("lpadmin: Expected interface after \'-i\' "
-                               "option\n"));
+                             _("lpadmin: Expected interface after \"-i\" "
+                               "option."));
                return (1);
              }
 
@@ -230,8 +230,7 @@ main(int  argc,                     /* I - Number of command-line arguments */
              if (http)
                httpEncryption(http, HTTP_ENCRYPT_REQUIRED);
 #else
-              _cupsLangPrintf(stderr,
-                             _("%s: Sorry, no encryption support compiled in\n"),
+              _cupsLangPrintf(stderr, _("%s: Sorry, no encryption support."),
                              argv[0]);
 #endif /* HAVE_SSL */
              break;
@@ -245,7 +244,7 @@ main(int  argc,                     /* I - Number of command-line arguments */
              if (http == NULL)
              {
                _cupsLangPrintf(stderr,
-                               _("lpadmin: Unable to connect to server: %s\n"),
+                               _("lpadmin: Unable to connect to server: %s"),
                                strerror(errno));
                return (1);
              }
@@ -266,8 +265,8 @@ main(int  argc,                     /* I - Number of command-line arguments */
              if (i >= argc)
              {
                _cupsLangPuts(stderr,
-                             _("lpadmin: Expected model after \'-m\' "
-                               "option\n"));
+                             _("lpadmin: Expected model after \"-m\" "
+                               "option."));
                return (1);
              }
 
@@ -286,8 +285,8 @@ main(int  argc,                     /* I - Number of command-line arguments */
              if (i >= argc)
              {
                _cupsLangPuts(stderr,
-                             _("lpadmin: Expected name=value after \'-o\' "
-                               "option\n"));
+                             _("lpadmin: Expected name=value after \"-o\" "
+                               "option."));
                return (1);
              }
 
@@ -305,8 +304,8 @@ main(int  argc,                     /* I - Number of command-line arguments */
              if (i >= argc)
              {
                _cupsLangPuts(stderr,
-                             _("lpadmin: Expected printer after \'-p\' "
-                               "option\n"));
+                             _("lpadmin: Expected printer after \"-p\" "
+                               "option."));
                return (1);
              }
 
@@ -317,7 +316,7 @@ main(int  argc,                     /* I - Number of command-line arguments */
            {
              _cupsLangPuts(stderr,
                            _("lpadmin: Printer name can only contain "
-                             "printable characters\n"));
+                             "printable characters."));
              return (1);
            }
            break;
@@ -331,7 +330,7 @@ main(int  argc,                     /* I - Number of command-line arguments */
              if (http == NULL)
              {
                _cupsLangPrintf(stderr,
-                               _("lpadmin: Unable to connect to server: %s\n"),
+                               _("lpadmin: Unable to connect to server: %s"),
                                strerror(errno));
                return (1);
              }
@@ -343,7 +342,7 @@ main(int  argc,                     /* I - Number of command-line arguments */
                            _("lpadmin: Unable to remove a printer from the "
                              "class:\n"
                              "         You must specify a printer name "
-                             "first\n"));
+                             "first."));
              return (1);
            }
 
@@ -356,8 +355,8 @@ main(int  argc,                     /* I - Number of command-line arguments */
              if (i >= argc)
              {
                _cupsLangPuts(stderr,
-                             _("lpadmin: Expected class after \'-r\' "
-                               "option\n"));
+                             _("lpadmin: Expected class after \"-r\" "
+                               "option."));
                return (1);
              }
 
@@ -368,7 +367,7 @@ main(int  argc,                     /* I - Number of command-line arguments */
            {
              _cupsLangPuts(stderr,
                            _("lpadmin: Class name can only contain printable "
-                             "characters\n"));
+                             "characters."));
              return (1);
            }
 
@@ -386,8 +385,7 @@ main(int  argc,                     /* I - Number of command-line arguments */
              {
                _cupsLangPrintf(stderr,
                                _("%s: Error - expected username after "
-                                 "\'-U\' option\n"),
-                               argv[0]);
+                                 "\"-U\" option."), argv[0]);
                return (1);
              }
 
@@ -406,7 +404,7 @@ main(int  argc,                     /* I - Number of command-line arguments */
              {
                _cupsLangPuts(stderr,
                              _("lpadmin: Expected allow/deny:userlist after "
-                               "\'-u\' option\n"));
+                               "\"-u\" option."));
                return (1);
              }
 
@@ -422,7 +420,7 @@ main(int  argc,                     /* I - Number of command-line arguments */
             else
            {
              _cupsLangPrintf(stderr,
-                             _("lpadmin: Unknown allow/deny option \"%s\"\n"),
+                             _("lpadmin: Unknown allow/deny option \"%s\"."),
                              val);
              return (1);
            }
@@ -439,8 +437,8 @@ main(int  argc,                     /* I - Number of command-line arguments */
              if (i >= argc)
              {
                _cupsLangPuts(stderr,
-                             _("lpadmin: Expected device URI after \'-v\' "
-                               "option\n"));
+                             _("lpadmin: Expected device URI after \"-v\" "
+                               "option."));
                return (1);
              }
 
@@ -458,7 +456,7 @@ main(int  argc,                     /* I - Number of command-line arguments */
              if (http == NULL)
              {
                _cupsLangPrintf(stderr,
-                               _("lpadmin: Unable to connect to server: %s\n"),
+                               _("lpadmin: Unable to connect to server: %s"),
                                strerror(errno));
                return (1);
              }
@@ -474,7 +472,7 @@ main(int  argc,                     /* I - Number of command-line arguments */
              {
                _cupsLangPuts(stderr,
                              _("lpadmin: Expected printer or class after "
-                               "\'-x\' option\n"));
+                               "\"-x\" option."));
                return (1);
              }
 
@@ -485,7 +483,7 @@ main(int  argc,                     /* I - Number of command-line arguments */
            {
              _cupsLangPuts(stderr,
                            _("lpadmin: Printer name can only contain "
-                             "printable characters\n"));
+                             "printable characters."));
              return (1);
            }
 
@@ -507,7 +505,7 @@ main(int  argc,                     /* I - Number of command-line arguments */
              {
                _cupsLangPuts(stderr,
                              _("lpadmin: Expected description after "
-                               "\'-D\' option\n"));
+                               "\"-D\" option."));
                return (1);
              }
 
@@ -522,13 +520,13 @@ main(int  argc,                   /* I - Number of command-line arguments */
            if (i >= argc)
            {
              _cupsLangPuts(stderr,
-                           _("lpadmin: Expected file type(s) after \'-I\' "
-                             "option\n"));
+                           _("lpadmin: Expected file type(s) after \"-I\" "
+                             "option."));
              return (1);
            }
 
            _cupsLangPuts(stderr,
-                         _("lpadmin: Warning - content type list ignored\n"));
+                         _("lpadmin: Warning - content type list ignored."));
            break;
            
         case 'L' : /* Set the printer-location attribute */
@@ -542,8 +540,8 @@ main(int  argc,                     /* I - Number of command-line arguments */
              if (i >= argc)
              {
                _cupsLangPuts(stderr,
-                             _("lpadmin: Expected location after \'-L\' "
-                               "option\n"));
+                             _("lpadmin: Expected location after \"-L\" "
+                               "option."));
                return (1);
              }
 
@@ -562,7 +560,7 @@ main(int  argc,                     /* I - Number of command-line arguments */
              if (i >= argc)
              {
                _cupsLangPuts(stderr,
-                             _("lpadmin: Expected PPD after \'-P\' option\n"));
+                             _("lpadmin: Expected PPD after \"-P\" option."));
                return (1);
              }
 
@@ -572,12 +570,12 @@ main(int  argc,                   /* I - Number of command-line arguments */
 
        default :
            _cupsLangPrintf(stderr,
-                           _("lpadmin: Unknown option \'%c\'\n"), argv[i][1]);
+                           _("lpadmin: Unknown option \"%c\"."), argv[i][1]);
            return (1);
       }
     else
     {
-      _cupsLangPrintf(stderr, _("lpadmin: Unknown argument \'%s\'\n"),
+      _cupsLangPrintf(stderr, _("lpadmin: Unknown argument \"%s\"."),
                       argv[i]);
       return (1);
     }
@@ -595,7 +593,7 @@ main(int  argc,                     /* I - Number of command-line arguments */
       if (http == NULL)
       {
        _cupsLangPrintf(stderr,
-                       _("lpadmin: Unable to connect to server: %s\n"),
+                       _("lpadmin: Unable to connect to server: %s"),
                        strerror(errno));
        return (1);
       }
@@ -605,7 +603,7 @@ main(int  argc,                     /* I - Number of command-line arguments */
     {
       _cupsLangPuts(stderr,
                     _("lpadmin: Unable to set the printer options:\n"
-                     "         You must specify a printer name first\n"));
+                     "         You must specify a printer name first."));
       return (1);
     }
 
@@ -626,8 +624,7 @@ main(int  argc,                     /* I - Number of command-line arguments */
                    "[-D description]\n"
                    "                       [-P ppd-file] [-o name=value]\n"
                    "                       [-u allow:user,user] "
-                   "[-u deny:user,user]\n"
-                   "\n"));
+                   "[-u deny:user,user]"));
   }
 
   if (http)
@@ -704,8 +701,8 @@ add_printer_to_class(http_t *http,  /* I - Server connection */
       if (strcasecmp(printer, members->values[i].string.text) == 0)
       {
         _cupsLangPrintf(stderr,
-                       _("lpadmin: Printer %s is already a member of class %s.\n"),
-                       printer, pclass);
+                       _("lpadmin: Printer %s is already a member of class "
+                         "%s."), printer, pclass);
         ippDelete(request);
        ippDelete(response);
        return (0);
@@ -744,13 +741,13 @@ add_printer_to_class(http_t *http,        /* I - Server connection */
 
   if ((response = cupsDoRequest(http, request, "/admin/")) == NULL)
   {
-    _cupsLangPrintf(stderr, "lpadmin: %s\n", cupsLastErrorString());
+    _cupsLangPrintf(stderr, "lpadmin: %s", cupsLastErrorString());
 
     return (1);
   }
   else if (response->request.status.status_code > IPP_OK_CONFLICT)
   {
-    _cupsLangPrintf(stderr, "lpadmin: %s\n", cupsLastErrorString());
+    _cupsLangPrintf(stderr, "lpadmin: %s", cupsLastErrorString());
 
     ippDelete(response);
 
@@ -803,13 +800,13 @@ default_printer(http_t *http,             /* I - Server connection */
 
   if ((response = cupsDoRequest(http, request, "/admin/")) == NULL)
   {
-    _cupsLangPrintf(stderr, "lpadmin: %s\n", cupsLastErrorString());
+    _cupsLangPrintf(stderr, "lpadmin: %s", cupsLastErrorString());
 
     return (1);
   }
   else if (response->request.status.status_code > IPP_OK_CONFLICT)
   {
-    _cupsLangPrintf(stderr, "lpadmin: %s\n", cupsLastErrorString());
+    _cupsLangPrintf(stderr, "lpadmin: %s", cupsLastErrorString());
 
     ippDelete(response);
 
@@ -861,13 +858,13 @@ delete_printer(http_t *http,              /* I - Server connection */
 
   if ((response = cupsDoRequest(http, request, "/admin/")) == NULL)
   {
-    _cupsLangPrintf(stderr, "lpadmin: %s\n", cupsLastErrorString());
+    _cupsLangPrintf(stderr, "lpadmin: %s", cupsLastErrorString());
 
     return (1);
   }
   else if (response->request.status.status_code > IPP_OK_CONFLICT)
   {
-    _cupsLangPrintf(stderr, "lpadmin: %s\n", cupsLastErrorString());
+    _cupsLangPrintf(stderr, "lpadmin: %s", cupsLastErrorString());
 
     ippDelete(response);
 
@@ -926,7 +923,7 @@ delete_printer_from_class(
   if ((response = cupsDoRequest(http, request, "/classes/")) == NULL ||
       response->request.status.status_code == IPP_NOT_FOUND)
   {
-    _cupsLangPrintf(stderr, "lpadmin: %s\n", cupsLastErrorString());
+    _cupsLangPrintf(stderr, "lpadmin: %s", cupsLastErrorString());
 
     ippDelete(response);
 
@@ -939,7 +936,7 @@ delete_printer_from_class(
 
   if ((members = ippFindAttribute(response, "member-names", IPP_TAG_NAME)) == NULL)
   {
-    _cupsLangPuts(stderr, _("lpadmin: No member names were seen\n"));
+    _cupsLangPuts(stderr, _("lpadmin: No member names were seen."));
 
     ippDelete(response);
 
@@ -953,7 +950,7 @@ delete_printer_from_class(
   if (i >= members->num_values)
   {
     _cupsLangPrintf(stderr,
-                    _("lpadmin: Printer %s is not a member of class %s.\n"),
+                    _("lpadmin: Printer %s is not a member of class %s."),
                    printer, pclass);
 
     ippDelete(response);
@@ -1016,13 +1013,13 @@ delete_printer_from_class(
 
   if ((response = cupsDoRequest(http, request, "/admin/")) == NULL)
   {
-    _cupsLangPrintf(stderr, "lpadmin: %s\n", cupsLastErrorString());
+    _cupsLangPrintf(stderr, "lpadmin: %s", cupsLastErrorString());
 
     return (1);
   }
   else if (response->request.status.status_code > IPP_OK_CONFLICT)
   {
-    _cupsLangPrintf(stderr, "lpadmin: %s\n", cupsLastErrorString());
+    _cupsLangPrintf(stderr, "lpadmin: %s", cupsLastErrorString());
 
     ippDelete(response);
 
@@ -1081,13 +1078,13 @@ enable_printer(http_t *http,            /* I - Server connection */
 
   if ((response = cupsDoRequest(http, request, "/admin/")) == NULL)
   {
-    _cupsLangPrintf(stderr, "lpadmin: %s\n", cupsLastErrorString());
+    _cupsLangPrintf(stderr, "lpadmin: %s", cupsLastErrorString());
 
     return (1);
   }
   else if (response->request.status.status_code > IPP_OK_CONFLICT)
   {
-    _cupsLangPrintf(stderr, "lpadmin: %s\n", cupsLastErrorString());
+    _cupsLangPrintf(stderr, "lpadmin: %s", cupsLastErrorString());
 
     ippDelete(response);
 
@@ -1235,7 +1232,7 @@ set_printer_options(
 
     if ((out = cupsTempFile2(tempfile, sizeof(tempfile))) < 0)
     {
-      _cupsLangPrintError(_("ERROR: Unable to create temporary file"));
+      _cupsLangPrintError(NULL, _("lpadmin: Unable to create temporary file"));
       ippDelete(request);
       if (ppdfile != file)
         unlink(ppdfile);
@@ -1245,7 +1242,7 @@ set_printer_options(
     if ((in = cupsFileOpen(ppdfile, "r")) == NULL)
     {
       _cupsLangPrintf(stderr,
-                      _("lpadmin: Unable to open PPD file \"%s\" - %s\n"),
+                      _("lpadmin: Unable to open PPD file \"%s\" - %s"),
                      ppdfile, strerror(errno));
       ippDelete(request);
       if (ppdfile != file)
@@ -1344,7 +1341,7 @@ set_printer_options(
 
   if (cupsLastError() > IPP_OK_CONFLICT)
   {
-    _cupsLangPrintf(stderr, "lpadmin: %s\n", cupsLastErrorString());
+    _cupsLangPrintf(stderr, "lpadmin: %s", cupsLastErrorString());
 
     return (1);
   }
index 025db791aa789187b31a936031ead8a7fc071a84..f51019b784c8f1f4554f615f1fba74e9cb66aa69 100644 (file)
@@ -85,7 +85,7 @@ main(int  argc,                               /* I - Number of command-line arguments */
            cupsSetEncryption(HTTP_ENCRYPT_REQUIRED);
 #else
             _cupsLangPrintf(stderr,
-                           _("%s: Sorry, no encryption support compiled in\n"),
+                           _("%s: Sorry, no encryption support."),
                            argv[0]);
 #endif /* HAVE_SSL */
            break;
@@ -100,7 +100,7 @@ main(int  argc,                             /* I - Number of command-line arguments */
              if (i >= argc)
              {
                _cupsLangPuts(stderr,
-                             _("Error: need hostname after \'-h\' option\n"));
+                             _("Error: need hostname after \"-h\" option."));
                return (1);
               }
 
@@ -135,7 +135,7 @@ main(int  argc,                             /* I - Number of command-line arguments */
              {
                _cupsLangPuts(stderr,
                              _("lpinfo: Expected 1284 device ID string "
-                               "after --device-id\n"));
+                               "after \"--device-id\"."));
                return (1);
              }
            }
@@ -153,7 +153,7 @@ main(int  argc,                             /* I - Number of command-line arguments */
              {
                _cupsLangPuts(stderr,
                              _("lpinfo: Expected scheme list after "
-                               "--exclude-schemes\n"));
+                               "\"--exclude-schemes\"."));
                return (1);
              }
            }
@@ -171,7 +171,7 @@ main(int  argc,                             /* I - Number of command-line arguments */
              {
                _cupsLangPuts(stderr,
                              _("lpinfo: Expected scheme list after "
-                               "--include-schemes\n"));
+                               "\"--include-schemes\"."));
                return (1);
              }
            }
@@ -188,7 +188,7 @@ main(int  argc,                             /* I - Number of command-line arguments */
              {
                _cupsLangPuts(stderr,
                              _("lpinfo: Expected language after "
-                               "--language\n"));
+                               "\"--language\"."));
                return (1);
              }
            }
@@ -205,7 +205,7 @@ main(int  argc,                             /* I - Number of command-line arguments */
              {
                _cupsLangPuts(stderr,
                              _("lpinfo: Expected make and model after "
-                               "--make-and-model\n"));
+                               "\"--make-and-model\"."));
                return (1);
              }
            }
@@ -222,7 +222,7 @@ main(int  argc,                             /* I - Number of command-line arguments */
              {
                _cupsLangPuts(stderr,
                              _("lpinfo: Expected product string after "
-                               "--product\n"));
+                               "\"--product\"."));
                return (1);
              }
            }
@@ -238,7 +238,8 @@ main(int  argc,                             /* I - Number of command-line arguments */
              else
              {
                _cupsLangPuts(stderr,
-                             _("lpinfo: Expected timeout after --timeout\n"));
+                             _("lpinfo: Expected timeout after "
+                               "\"--timeout\"."));
                return (1);
              }
            }
@@ -248,20 +249,20 @@ main(int  argc,                           /* I - Number of command-line arguments */
            }
            else
            {
-             _cupsLangPrintf(stderr, _("lpinfo: Unknown option \'%s\'\n"),
+             _cupsLangPrintf(stderr, _("lpinfo: Unknown option \"%s\"."),
                              argv[i]);
              return (1);
            }
            break;
 
        default :
-           _cupsLangPrintf(stderr, _("lpinfo: Unknown option \'%c\'\n"),
+           _cupsLangPrintf(stderr, _("lpinfo: Unknown option \"%c\"."),
                            argv[i][1]);
            return (1);
       }
     else
     {
-      _cupsLangPrintf(stderr, _("lpinfo: Unknown argument \'%s\'\n"),
+      _cupsLangPrintf(stderr, _("lpinfo: Unknown argument \"%s\"."),
                       argv[i]);
       return (1);
     }
@@ -301,12 +302,12 @@ device_cb(
                      "        info = %s\n"
                      "        make-and-model = %s\n"
                      "        device-id = %s\n"
-                     "        location = %s\n"),
+                     "        location = %s"),
                    device_uri, device_class, device_info,
                    device_make_and_model, device_id, device_location);
   }
   else
-    _cupsLangPrintf(stdout, "%s %s\n", device_class, device_uri);
+    _cupsLangPrintf(stdout, "%s %s", device_class, device_uri);
 }
 
 
@@ -324,7 +325,7 @@ show_devices(
   if (cupsGetDevices(CUPS_HTTP_DEFAULT, timeout, include_schemes,
                      exclude_schemes, device_cb, &long_status) != IPP_OK)
   {
-    _cupsLangPrintf(stderr, "lpinfo: %s\n", cupsLastErrorString());
+    _cupsLangPrintf(stderr, "lpinfo: %s", cupsLastErrorString());
     return (1);
   }
 
@@ -403,7 +404,7 @@ show_models(
 
     if (response->request.status.status_code > IPP_OK_CONFLICT)
     {
-      _cupsLangPrintf(stderr, "lpinfo: %s\n", cupsLastErrorString());
+      _cupsLangPrintf(stderr, "lpinfo: %s", cupsLastErrorString());
       ippDelete(response);
       return (1);
     }
@@ -469,11 +470,11 @@ show_models(
                        _("Model:  name = %s\n"
                          "        natural_language = %s\n"
                          "        make-and-model = %s\n"
-                         "        device-id = %s\n"),
+                         "        device-id = %s"),
                        ppd_name, ppd_language, ppd_make_model, ppd_device_id);
       }
       else
-        _cupsLangPrintf(stdout, "%s %s\n", ppd_name, ppd_make_model);
+        _cupsLangPrintf(stdout, "%s %s", ppd_name, ppd_make_model);
 
       if (attr == NULL)
         break;
@@ -483,7 +484,7 @@ show_models(
   }
   else
   {
-    _cupsLangPrintf(stderr, "lpinfo: %s\n", cupsLastErrorString());
+    _cupsLangPrintf(stderr, "lpinfo: %s", cupsLastErrorString());
 
     return (1);
   }
index ebe8155cbc1c369dda3735bc3aa68d662b260400..d7c2dfb68935b3a7a28f4b9e71b2d99e4f3a170a 100644 (file)
@@ -70,7 +70,7 @@ main(int  argc,                               /* I - Number of command-line arguments */
 
 #else
             _cupsLangPrintf(stderr,
-                           _("%s: Sorry, no encryption support compiled in\n"),
+                           _("%s: Sorry, no encryption support."),
                            argv[0]);
 #endif /* HAVE_SSL */
            break;
@@ -85,7 +85,7 @@ main(int  argc,                               /* I - Number of command-line arguments */
              if (i >= argc)
              {
                _cupsLangPuts(stderr,
-                             _("Error: need hostname after \'-h\' option\n"));
+                             _("Error: need hostname after \"-h\" option."));
                return (1);
               }
 
@@ -94,7 +94,7 @@ main(int  argc,                               /* I - Number of command-line arguments */
            break;
 
        default :
-           _cupsLangPrintf(stderr, _("lpmove: Unknown option \'%c\'\n"),
+           _cupsLangPrintf(stderr, _("lpmove: Unknown option \"%c\"."),
                            argv[i][1]);
            return (1);
       }
@@ -116,14 +116,13 @@ main(int  argc,                           /* I - Number of command-line arguments */
       dest = argv[i];
     else
     {
-      _cupsLangPrintf(stderr, _("lpmove: Unknown argument \'%s\'\n"),
-                      argv[i]);
+      _cupsLangPrintf(stderr, _("lpmove: Unknown argument \"%s\"."), argv[i]);
       return (1);
     }
 
   if ((!jobid && !src) || !dest)
   {
-    _cupsLangPuts(stdout, _("Usage: lpmove job/src dest\n"));
+    _cupsLangPuts(stdout, _("Usage: lpmove job/src dest"));
     return (1);
   }
 
@@ -131,8 +130,7 @@ main(int  argc,                             /* I - Number of command-line arguments */
 
   if (http == NULL)
   {
-    _cupsLangPrintf(stderr,
-                   _("lpmove: Unable to connect to server: %s\n"),
+    _cupsLangPrintf(stderr, _("lpmove: Unable to connect to server: %s"),
                    strerror(errno));
     return (1);
   }
@@ -202,7 +200,7 @@ move_job(http_t     *http,          /* I - HTTP connection to server */
 
   if (cupsLastError() > IPP_OK_CONFLICT)
   {
-    _cupsLangPrintf(stderr, "lpmove: %s\n", cupsLastErrorString());
+    _cupsLangPrintf(stderr, "lpmove: %s", cupsLastErrorString());
     return (1);
   }
   else
index 21fa6280adb0295a326a0cbee152f3021f09c04e..1e721b8409353f87f68e00ae413946e7ad39d0bf 100644 (file)
@@ -96,8 +96,7 @@ main(int  argc,                               /* I - Number of command-line arguments */
                (dest = cupsGetDest(printer, instance, num_dests,
                                    dests)) == NULL)
            {
-             _cupsLangPuts(stderr,
-                           _("lpoptions: Unknown printer or class\n"));
+             _cupsLangPuts(stderr, _("lpoptions: Unknown printer or class."));
              return (1);
            }
 
@@ -113,7 +112,8 @@ main(int  argc,                             /* I - Number of command-line arguments */
            cupsSetDests(num_dests, dests);
 
            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);
@@ -147,7 +147,7 @@ main(int  argc,                             /* I - Number of command-line arguments */
            }
 
             if (dest == NULL)
-             _cupsLangPuts(stderr, _("lpoptions: No printers\n"));
+             _cupsLangPuts(stderr, _("lpoptions: No printers."));
            else
              list_options(dest);
 
@@ -165,7 +165,7 @@ main(int  argc,                             /* I - Number of command-line arguments */
 
              if (dest == NULL)
               {
-               _cupsLangPuts(stderr, _("lpoptions: No printers\n"));
+               _cupsLangPuts(stderr, _("lpoptions: No printers."));
                 return (1);
               }
 
@@ -217,7 +217,7 @@ main(int  argc,                             /* I - Number of command-line arguments */
              {
                _cupsLangPrintf(stderr,
                                _("lpoptions: Unable to add printer or "
-                                 "instance: %s\n"),
+                                 "instance: %s"),
                                strerror(errno));
                return (1);
              }
@@ -241,12 +241,13 @@ main(int  argc,                           /* I - Number of command-line arguments */
 
              if (dest == NULL)
               {
-               _cupsLangPuts(stderr, _("lpoptions: No printers\n"));
+               _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)
+               if (cupsGetOption(dest->options[j].name, num_options,
+                                 options) == NULL)
                  num_options = cupsAddOption(dest->options[j].name,
                                              dest->options[j].value,
                                              num_options, &options);
@@ -299,7 +300,8 @@ main(int  argc,                             /* I - Number of command-line arguments */
            if (num_dests == 0)
              num_dests = cupsGetDests(&dests);
 
-            if ((dest = cupsGetDest(printer, instance, num_dests, dests)) != NULL)
+            if ((dest = cupsGetDest(printer, instance, num_dests,
+                                   dests)) != NULL)
            {
               cupsFreeOptions(dest->num_options, dest->options);
 
@@ -369,26 +371,33 @@ main(int  argc,                           /* I - Number of command-line arguments */
   }
   else if (changes == 0)
   {
+    char       buffer[10240],          /* String for options */
+               *ptr;                   /* Pointer into string */
+
     num_options = dest->num_options;
     options     = dest->options;
 
-    for (i = 0; i < num_options; i ++)
+    for (i = 0, ptr = buffer;
+         ptr < (buffer + sizeof(buffer) - 1) && i < num_options;
+        i ++)
     {
       if (i)
-        _cupsLangPuts(stdout, " ");
+        *ptr++ = ' ';
 
       if (!options[i].value[0])
-        _cupsLangPrintf(stdout, "%s", options[i].name);
+        strlcpy(ptr, options[i].name, sizeof(buffer) - (ptr - buffer));
       else if (strchr(options[i].value, ' ') != NULL ||
                strchr(options[i].value, '\t') != NULL)
-       _cupsLangPrintf(stdout, "%s=\'%s\'", options[i].name,
-                       options[i].value);
+       snprintf(ptr, sizeof(buffer) - (ptr - buffer), "%s=\'%s\'",
+                options[i].name, options[i].value);
       else
-       _cupsLangPrintf(stdout, "%s=%s", options[i].name,
-                       options[i].value);
+       snprintf(ptr, sizeof(buffer) - (ptr - buffer), "%s=%s",
+                options[i].name, options[i].value);
+
+      ptr += strlen(ptr);
     }
 
-    _cupsLangPuts(stdout, "\n");
+    _cupsLangPuts(stdout, buffer);
   }
 
   return (0);
@@ -406,6 +415,8 @@ list_group(ppd_file_t  *ppd,                /* I - PPD file */
   ppd_option_t *option;                /* Current option */
   ppd_choice_t *choice;                /* Current choice */
   ppd_group_t  *subgroup;              /* Current subgroup */
+  char         buffer[10240],          /* Option string buffer */
+               *ptr;                   /* Pointer into option string */
 
 
   for (i = group->num_options, option = group->options; i > 0; i --, option ++)
@@ -413,11 +424,13 @@ list_group(ppd_file_t  *ppd,              /* I - PPD file */
     if (!strcasecmp(option->keyword, "PageRegion"))
       continue;
 
-    _cupsLangPrintf(stdout, "%s/%s:", option->keyword, option->text);
+    snprintf(buffer, sizeof(buffer), "%s/%s:", option->keyword, option->text);
 
-    for (j = option->num_choices, choice = option->choices;
-         j > 0;
+    for (j = option->num_choices, choice = option->choices,
+             ptr = buffer + strlen(buffer);
+         j > 0 && ptr < (buffer + sizeof(buffer) - 1);
         j --, choice ++)
+    {
       if (!strcasecmp(choice->choice, "Custom"))
       {
         ppd_coption_t  *coption;       /* Custom option */
@@ -437,18 +450,19 @@ list_group(ppd_file_t  *ppd,              /* I - PPD file */
 
         if ((coption = ppdFindCustomOption(ppd, option->keyword)) == NULL ||
            cupsArrayCount(coption->params) == 0)
-         _cupsLangPrintf(stdout, " %sCustom", choice->marked ? "*" : "");
+         snprintf(ptr, sizeof(buffer) - (ptr - buffer), " %sCustom",
+                  choice->marked ? "*" : "");
         else if (!strcasecmp(option->keyword, "PageSize") ||
-               !strcasecmp(option->keyword, "PageRegion"))
-         _cupsLangPrintf(stdout, " %sCustom.WIDTHxHEIGHT",
-                         choice->marked ? "*" : "");
+                !strcasecmp(option->keyword, "PageRegion"))
+         snprintf(ptr, sizeof(buffer) - (ptr - buffer),
+                  " %sCustom.WIDTHxHEIGHT", choice->marked ? "*" : "");
         else
        {
          cparam = (ppd_cparam_t *)cupsArrayFirst(coption->params);
 
          if (cupsArrayCount(coption->params) == 1)
-           _cupsLangPrintf(stdout, " %sCustom.%s", choice->marked ? "*" : "",
-                           types[cparam->type]);
+           snprintf(ptr, sizeof(buffer) - (ptr - buffer), " %sCustom.%s",
+                    choice->marked ? "*" : "", types[cparam->type]);
          else
          {
            const char  *prefix;        /* Prefix string */
@@ -461,22 +475,27 @@ list_group(ppd_file_t  *ppd,              /* I - PPD file */
 
            while (cparam)
            {
-             _cupsLangPrintf(stdout, "%s%s=%s", prefix, cparam->name,
-                             types[cparam->type]);
+             snprintf(ptr, sizeof(buffer) - (ptr - buffer), "%s%s=%s", prefix,
+                      cparam->name, types[cparam->type]);
              cparam = (ppd_cparam_t *)cupsArrayNext(coption->params);
              prefix = " ";
+             ptr += strlen(ptr);
            }
 
-           _cupsLangPuts(stdout, "}");
+            if (ptr < (buffer + sizeof(buffer) - 1))
+             strlcpy(ptr, "}", sizeof(buffer) - (ptr - buffer));
          }
        }
       }
       else if (choice->marked)
-        _cupsLangPrintf(stdout, " *%s", choice->choice);
+        snprintf(ptr, sizeof(buffer) - (ptr - buffer), " *%s", choice->choice);
       else
-        _cupsLangPrintf(stdout, " %s", choice->choice);
+        snprintf(ptr, sizeof(buffer) - (ptr - buffer), " %s", choice->choice);
+
+      ptr += strlen(ptr);
+    }
 
-    _cupsLangPuts(stdout, "\n");
+    _cupsLangPuts(stdout, buffer);
   }
 
   for (i = group->num_subgroups, subgroup = group->subgroups; i > 0; i --, subgroup ++)
@@ -499,8 +518,7 @@ list_options(cups_dest_t *dest)             /* I - Destination to list */
 
   if ((filename = cupsGetPPD(dest->name)) == NULL)
   {
-    _cupsLangPrintf(stderr,
-                    _("lpoptions: Unable to get PPD file for %s: %s\n"),
+    _cupsLangPrintf(stderr, _("lpoptions: Unable to get PPD file for %s: %s"),
                    dest->name, cupsLastErrorString());
     return;
   }
@@ -508,8 +526,7 @@ list_options(cups_dest_t *dest)             /* I - Destination to list */
   if ((ppd = ppdOpenFile(filename)) == NULL)
   {
     unlink(filename);
-    _cupsLangPrintf(stderr,
-                    _("lpoptions: Unable to open PPD file for %s\n"),
+    _cupsLangPrintf(stderr, _("lpoptions: Unable to open PPD file for %s."),
                    dest->name);
     return;
   }
@@ -537,7 +554,7 @@ usage(void)
                  "       lpoptions [-h server] [-E] [-p printer] -l\n"
                  "       lpoptions [-h server] [-E] -p printer -o "
                  "option[=value] ...\n"
-                 "       lpoptions [-h server] [-E] -x printer\n"));
+                 "       lpoptions [-h server] [-E] -x printer"));
 
   exit(1);
 }
index e948636190b1d46e27bc24a9dcee7d88ff70c162..7baa53a9334c5f7105dafe8b2b403ab309473277 100644 (file)
@@ -170,7 +170,7 @@ main(int  argc,                             /* I - Number of command-line arguments */
   if (getuid() && getuid() != geteuid() && (op != CHANGE || username))
   {
     _cupsLangPuts(stderr,
-                  _("lppasswd: Only root can add or delete passwords\n"));
+                  _("lppasswd: Only root can add or delete passwords."));
     return (1);
   }
 
@@ -196,7 +196,7 @@ main(int  argc,                             /* I - Number of command-line arguments */
     if ((oldpass = strdup(passwd)) == NULL)
     {
       _cupsLangPrintf(stderr,
-                      _("lppasswd: Unable to copy password string: %s\n"),
+                      _("lppasswd: Unable to copy password string: %s"),
                      strerror(errno));
       return (1);
     }
@@ -215,7 +215,7 @@ main(int  argc,                             /* I - Number of command-line arguments */
     if ((newpass = strdup(passwd)) == NULL)
     {
       _cupsLangPrintf(stderr,
-                      _("lppasswd: Unable to copy password string: %s\n"),
+                      _("lppasswd: Unable to copy password string: %s"),
                      strerror(errno));
       return (1);
     }
@@ -227,7 +227,7 @@ main(int  argc,                             /* I - Number of command-line arguments */
     if (strcmp(passwd, newpass) != 0)
     {
       _cupsLangPuts(stderr,
-                    _("lppasswd: Sorry, passwords don't match\n"));
+                    _("lppasswd: Sorry, passwords don't match."));
       return (1);
     }
 
@@ -250,12 +250,10 @@ main(int  argc,                           /* I - Number of command-line arguments */
 
     if (strlen(newpass) < 6 || strstr(newpass, username) != NULL || flag != 3)
     {
-      _cupsLangPuts(stderr,
-                    _("lppasswd: Sorry, password rejected.\n"
-                     "Your password must be at least 6 characters long, "
-                     "cannot contain\n"
-                     "your username, and must contain at least one letter "
-                     "and number.\n"));
+      _cupsLangPuts(stderr, _("lppasswd: Sorry, password rejected."));
+      _cupsLangPuts(stderr, _("Your password must be at least 6 characters "
+                              "long, cannot contain your username, and must "
+                             "contain at least one letter and number."));
       return (1);
     }
   }
@@ -301,10 +299,9 @@ main(int  argc,                            /* I - Number of command-line arguments */
   if ((fd = open(passwdnew, O_WRONLY | O_CREAT | O_EXCL, 0400)) < 0)
   {
     if (errno == EEXIST)
-      _cupsLangPuts(stderr, _("lppasswd: Password file busy\n"));
+      _cupsLangPuts(stderr, _("lppasswd: Password file busy."));
     else
-      _cupsLangPrintf(stderr,
-                      _("lppasswd: Unable to open password file: %s\n"),
+      _cupsLangPrintf(stderr, _("lppasswd: Unable to open password file: %s"),
                      strerror(errno));
 
     return (1);
@@ -312,8 +309,7 @@ main(int  argc,                             /* I - Number of command-line arguments */
 
   if ((outfile = fdopen(fd, "w")) == NULL)
   {
-    _cupsLangPrintf(stderr,
-                    _("lppasswd: Unable to open password file: %s\n"),
+    _cupsLangPrintf(stderr, _("lppasswd: Unable to open password file: %s"),
                    strerror(errno));
 
     unlink(passwdnew);
@@ -330,8 +326,7 @@ main(int  argc,                             /* I - Number of command-line arguments */
   infile = fopen(passwdmd5, "r");
   if (infile == NULL && errno != ENOENT && op != ADD)
   {
-    _cupsLangPrintf(stderr,
-                    _("lppasswd: Unable to open password file: %s\n"),
+    _cupsLangPrintf(stderr, _("lppasswd: Unable to open password file: %s"),
                    strerror(errno));
 
     fclose(outfile);
@@ -366,7 +361,7 @@ main(int  argc,                             /* I - Number of command-line arguments */
       if (fputs(line, outfile) == EOF)
       {
        _cupsLangPrintf(stderr,
-                       _("lppasswd: Unable to write to password file: %s\n"),
+                       _("lppasswd: Unable to write to password file: %s"),
                        strerror(errno));
         error = 1;
        break;
@@ -379,7 +374,7 @@ main(int  argc,                             /* I - Number of command-line arguments */
        if (fputs(line, outfile) == EOF)
        {
          _cupsLangPrintf(stderr,
-                         _("lppasswd: Unable to write to password file: %s\n"),
+                         _("lppasswd: Unable to write to password file: %s"),
                          strerror(errno));
          error = 1;
          break;
@@ -391,7 +386,7 @@ main(int  argc,                             /* I - Number of command-line arguments */
       (strcmp(username, userline) || strcmp(groupname, groupline)))
   {
     _cupsLangPrintf(stderr,
-                    _("lppasswd: user \"%s\" and group \"%s\" do not exist.\n"),
+                    _("lppasswd: user \"%s\" and group \"%s\" do not exist."),
                    username, groupname);
     error = 1;
   }
@@ -400,8 +395,7 @@ main(int  argc,                             /* I - Number of command-line arguments */
     if (oldpass &&
         strcmp(httpMD5(username, "CUPS", oldpass, md5new), md5line) != 0)
     {
-      _cupsLangPuts(stderr,
-                    _("lppasswd: Sorry, password doesn't match\n"));
+      _cupsLangPuts(stderr, _("lppasswd: Sorry, password doesn't match."));
       error = 1;
     }
     else
@@ -411,7 +405,7 @@ main(int  argc,                             /* I - Number of command-line arguments */
       if (fputs(line, outfile) == EOF)
       {
        _cupsLangPrintf(stderr,
-                       _("lppasswd: Unable to write to password file: %s\n"),
+                       _("lppasswd: Unable to write to password file: %s"),
                        strerror(errno));
         error = 1;
       }
@@ -434,7 +428,7 @@ main(int  argc,                             /* I - Number of command-line arguments */
 
   if (error)
   {
-    _cupsLangPuts(stderr, _("lppasswd: Password file not updated\n"));
+    _cupsLangPuts(stderr, _("lppasswd: Password file not updated."));
     
     unlink(passwdnew);
 
@@ -449,7 +443,7 @@ main(int  argc,                             /* I - Number of command-line arguments */
   if (link(passwdmd5, passwdold) && errno != ENOENT)
   {
     _cupsLangPrintf(stderr,
-                    _("lppasswd: failed to backup old password file: %s\n"),
+                    _("lppasswd: failed to backup old password file: %s"),
                    strerror(errno));
     unlink(passwdnew);
     return (1);
@@ -461,8 +455,7 @@ main(int  argc,                             /* I - Number of command-line arguments */
 
   if (rename(passwdnew, passwdmd5) < 0)
   {
-    _cupsLangPrintf(stderr,
-                    _("lppasswd: failed to rename password file: %s\n"),
+    _cupsLangPrintf(stderr, _("lppasswd: failed to rename password file: %s"),
                    strerror(errno));
     unlink(passwdnew);
     return (1);
@@ -480,12 +473,12 @@ static void
 usage(FILE *fp)                /* I - File to send usage to */
 {
   if (getuid())
-    _cupsLangPuts(fp, _("Usage: lppasswd [-g groupname]\n"));
+    _cupsLangPuts(fp, _("Usage: lppasswd [-g groupname]"));
   else
     _cupsLangPuts(fp, 
                   _("Usage: lppasswd [-g groupname] [username]\n"
                    "       lppasswd [-g groupname] -a [username]\n"
-                   "       lppasswd [-g groupname] -x [username]\n"));
+                   "       lppasswd [-g groupname] -x [username]"));
 
   exit(1);
 }
index d278b2f2d0bc45bd9066d23efc5426a0cc1d4076..445588c014eaf475af024426d894c61597ea957a 100644 (file)
@@ -99,16 +99,16 @@ main(int  argc,                             /* I - Number of command-line arguments */
            cupsSetEncryption(HTTP_ENCRYPT_REQUIRED);
 #else
             _cupsLangPrintf(stderr,
-                           _("%s: Sorry, no encryption support compiled in\n"),
+                           _("%s: Sorry, no encryption support."),
                            argv[0]);
 #endif /* HAVE_SSL */
            break;
 
        case 'H' : /* Show server and port */
            if (cupsServer()[0] == '/')
-             _cupsLangPrintf(stdout, "%s\n", cupsServer());
+             _cupsLangPuts(stdout, cupsServer());
            else
-             _cupsLangPrintf(stdout, "%s:%d\n", cupsServer(), ippPort());
+             _cupsLangPrintf(stdout, "%s:%d", cupsServer(), ippPort());
             break;
 
         case 'P' : /* Show paper types */
@@ -135,7 +135,7 @@ main(int  argc,                             /* I - Number of command-line arguments */
              {
                _cupsLangPrintf(stderr,
                                _("%s: Error - expected username after "
-                                 "\'-U\' option\n"),
+                                 "\"-U\" option."),
                                argv[0]);
                return (1);
              }
@@ -156,7 +156,7 @@ main(int  argc,                             /* I - Number of command-line arguments */
                _cupsLangPrintf(stderr,
                                _("%s: Error - need \"completed\", "
                                  "\"not-completed\", or \"all\" after "
-                                 "\'-W\' option\n"),
+                                 "\"-W\" option."),
                                argv[0]);
                return (1);
               }
@@ -170,7 +170,7 @@ main(int  argc,                             /* I - Number of command-line arguments */
              _cupsLangPrintf(stderr,
                              _("%s: Error - need \"completed\", "
                                "\"not-completed\", or \"all\" after "
-                               "\'-W\' option\n"),
+                               "\"-W\" option."),
                              argv[0]);
              return (1);
            }
@@ -229,7 +229,7 @@ main(int  argc,                             /* I - Number of command-line arguments */
            {
              _cupsLangPrintf(stderr,
                              _("%s: Error - expected destination after "
-                               "\'-b\' option\n"),
+                               "\"-b\" option."),
                              argv[0]);
 
              return (1);
@@ -289,7 +289,7 @@ main(int  argc,                             /* I - Number of command-line arguments */
              {
                _cupsLangPrintf(stderr,
                                _("%s: Error - expected hostname after "
-                                 "\'-h\' option\n"),
+                                 "\"-h\" option."),
                                argv[0]);
                return (1);
               }
@@ -449,7 +449,7 @@ main(int  argc,                             /* I - Number of command-line arguments */
 
        default :
            _cupsLangPrintf(stderr,
-                           _("%s: Error - unknown option \'%c\'\n"),
+                           _("%s: Error - unknown option \"%c\"."),
                            argv[0], argv[i][1]);
            return (1);
       }
@@ -501,7 +501,7 @@ check_dest(const char  *command,    /* I  - Command name */
       if ((*dests = cupsGetNamedDest(CUPS_HTTP_DEFAULT, printer, pptr)) == NULL)
       {
         _cupsLangPrintf(stderr,
-                       _("%s: Invalid destination name in list \"%s\"\n"),
+                       _("%s: Invalid destination name in list \"%s\"."),
                        command, name);
         exit(1);
       }
@@ -540,7 +540,7 @@ check_dest(const char  *command,    /* I  - Command name */
       else
       {
         _cupsLangPrintf(stderr,
-                       _("%s: Invalid destination name in list \"%s\"\n"),
+                       _("%s: Invalid destination name in list \"%s\"."),
                        command, name);
         exit(1);
       }
@@ -555,7 +555,7 @@ check_dest(const char  *command,    /* I  - Command name */
     if (!cupsGetDest(printer, NULL, *num_dests, *dests))
     {
       _cupsLangPrintf(stderr,
-                      _("%s: Unknown destination \"%s\"\n"), command, printer);
+                      _("%s: Unknown destination \"%s\"."), command, printer);
       exit(1);
     }
   }
@@ -673,7 +673,7 @@ show_accepting(const char  *printers,       /* I - Destinations */
 
     if (response->request.status.status_code > IPP_OK_CONFLICT)
     {
-      _cupsLangPrintf(stderr, "lpstat: %s\n", cupsLastErrorString());
+      _cupsLangPrintf(stderr, "lpstat: %s", cupsLastErrorString());
       ippDelete(response);
       return (1);
     }
@@ -744,27 +744,32 @@ show_accepting(const char  *printers,     /* I - Destinations */
         strftime(printer_state_time, sizeof(printer_state_time), "%c", pdate);
 
         if (accepting)
-         _cupsLangPrintf(stdout, _("%s accepting requests since %s\n"),
+         _cupsLangPrintf(stdout, _("%s accepting requests since %s"),
                          printer, printer_state_time);
        else
-         _cupsLangPrintf(stdout, _("%s not accepting requests since %s -\n"
-                                   "\t%s\n"),
-                         printer, printer_state_time,
+       {
+         _cupsLangPrintf(stdout, _("%s not accepting requests since %s -"),
+                         printer, printer_state_time);
+         _cupsLangPrintf(stdout, _("\t%s"),
                          (message == NULL || !*message) ?
                              "reason unknown" : message);
+        }
 
         for (i = 0; i < num_dests; i ++)
          if (!strcasecmp(dests[i].name, printer) && dests[i].instance)
          {
             if (accepting)
-             _cupsLangPrintf(stdout, _("%s/%s accepting requests since %s\n"),
+             _cupsLangPrintf(stdout, _("%s/%s accepting requests since %s"),
                              printer, dests[i].instance, printer_state_time);
            else
-             _cupsLangPrintf(stdout, _("%s/%s not accepting requests since "
-                                       "%s -\n\t%s\n"),
-                             printer, dests[i].instance, printer_state_time,
+           {
+             _cupsLangPrintf(stdout,
+                             _("%s/%s not accepting requests since %s -"),
+                             printer, dests[i].instance, printer_state_time);
+             _cupsLangPrintf(stdout, _("\t%s"),
                              (message == NULL || !*message) ?
                                  "reason unknown" : message);
+            }
          }
       }
 
@@ -776,7 +781,7 @@ show_accepting(const char  *printers,       /* I - Destinations */
   }
   else
   {
-    _cupsLangPrintf(stderr, "lpstat: %s\n", cupsLastErrorString());
+    _cupsLangPrintf(stderr, "lpstat: %s", cupsLastErrorString());
     return (1);
   }
 
@@ -847,7 +852,7 @@ show_classes(const char *dests)             /* I - Destinations */
 
     if (response->request.status.status_code > IPP_OK_CONFLICT)
     {
-      _cupsLangPrintf(stderr, "lpstat: %s\n", cupsLastErrorString());
+      _cupsLangPrintf(stderr, "lpstat: %s", cupsLastErrorString());
       ippDelete(response);
       return (1);
     }
@@ -959,16 +964,15 @@ show_classes(const char *dests)           /* I - Destinations */
 
       if (match_list(dests, printer))
       {
-        _cupsLangPrintf(stdout, _("members of class %s:\n"), printer);
+        _cupsLangPrintf(stdout, _("members of class %s:"), printer);
 
        if (members)
        {
          for (i = 0; i < members->num_values; i ++)
-           _cupsLangPrintf(stdout, "\t%s\n",
-                           members->values[i].string.text);
+           _cupsLangPrintf(stdout, "\t%s", members->values[i].string.text);
         }
        else
-         _cupsLangPuts(stdout, "\tunknown\n");
+         _cupsLangPuts(stdout, "\tunknown");
       }
 
       if (response2)
@@ -982,7 +986,7 @@ show_classes(const char *dests)             /* I - Destinations */
   }
   else
   {
-    _cupsLangPrintf(stderr, "lpstat: %s\n", cupsLastErrorString());
+    _cupsLangPrintf(stderr, "lpstat: %s", cupsLastErrorString());
     return (1);
   }
 
@@ -1004,10 +1008,10 @@ show_default(cups_dest_t *dest)         /* I - Default destination */
   if (dest)
   {
     if (dest->instance)
-      _cupsLangPrintf(stdout, _("system default destination: %s/%s\n"),
+      _cupsLangPrintf(stdout, _("system default destination: %s/%s"),
                       dest->name, dest->instance);
     else
-      _cupsLangPrintf(stdout, _("system default destination: %s\n"),
+      _cupsLangPrintf(stdout, _("system default destination: %s"),
                       dest->name);
   }
   else
@@ -1030,10 +1034,10 @@ show_default(cups_dest_t *dest)         /* I - Default destination */
     if (printer)
       _cupsLangPrintf(stdout,
                       _("lpstat: error - %s environment variable names "
-                       "non-existent destination \"%s\"\n"),
+                       "non-existent destination \"%s\"."),
                      val, printer);
     else
-      _cupsLangPuts(stdout, _("no system default destination\n"));
+      _cupsLangPuts(stdout, _("no system default destination"));
   }
 }
 
@@ -1096,7 +1100,7 @@ show_devices(const char  *printers,       /* I - Destinations */
 
     if (response->request.status.status_code > IPP_OK_CONFLICT)
     {
-      _cupsLangPrintf(stderr, "lpstat: %s\n", cupsLastErrorString());
+      _cupsLangPrintf(stderr, "lpstat: %s", cupsLastErrorString());
       ippDelete(response);
       return (1);
     }
@@ -1176,16 +1180,16 @@ show_devices(const char  *printers,     /* I - Destinations */
                          sizeof(hostname), &port, resource, sizeof(resource));
           _cupsLangPrintf(stdout,
                          _("Output for printer %s is sent to remote "
-                           "printer %s on %s\n"),
+                           "printer %s on %s"),
                          printer, strrchr(resource, '/') + 1, hostname);
         }
         else if (!strncmp(device, "file:", 5))
           _cupsLangPrintf(stdout,
-                         _("Output for printer %s is sent to %s\n"),
+                         _("Output for printer %s is sent to %s"),
                          printer, device + 5);
         else
           _cupsLangPrintf(stdout,
-                         _("Output for printer %s is sent to %s\n"),
+                         _("Output for printer %s is sent to %s"),
                          printer, device);
 
         for (i = 0; i < num_dests; i ++)
@@ -1194,40 +1198,40 @@ show_devices(const char  *printers,     /* I - Destinations */
             if (device == NULL)
               _cupsLangPrintf(stdout,
                              _("Output for printer %s/%s is sent to "
-                               "remote printer %s on %s\n"),
+                               "remote printer %s on %s"),
                              printer, dests[i].instance,
                              strrchr(resource, '/') + 1, hostname);
             else if (!strncmp(device, "file:", 5))
               _cupsLangPrintf(stdout,
-                             _("Output for printer %s/%s is sent to %s\n"),
+                             _("Output for printer %s/%s is sent to %s"),
                              printer, dests[i].instance, device + 5);
             else
               _cupsLangPrintf(stdout,
-                             _("Output for printer %s/%s is sent to %s\n"),
+                             _("Output for printer %s/%s is sent to %s"),
                              printer, dests[i].instance, device);
          }
 #else
         if (device == NULL)
-          _cupsLangPrintf(stdout, _("device for %s: %s\n"),
+          _cupsLangPrintf(stdout, _("device for %s: %s"),
                          printer, uri);
         else if (!strncmp(device, "file:", 5))
-          _cupsLangPrintf(stdout, _("device for %s: %s\n"),
+          _cupsLangPrintf(stdout, _("device for %s: %s"),
                          printer, device + 5);
         else
-          _cupsLangPrintf(stdout, _("device for %s: %s\n"),
+          _cupsLangPrintf(stdout, _("device for %s: %s"),
                          printer, device);
 
         for (i = 0; i < num_dests; i ++)
          if (!strcasecmp(printer, dests[i].name) && dests[i].instance)
          {
             if (device == NULL)
-              _cupsLangPrintf(stdout, _("device for %s/%s: %s\n"),
+              _cupsLangPrintf(stdout, _("device for %s/%s: %s"),
                              printer, dests[i].instance, uri);
             else if (!strncmp(device, "file:", 5))
-              _cupsLangPrintf(stdout, _("device for %s/%s: %s\n"),
+              _cupsLangPrintf(stdout, _("device for %s/%s: %s"),
                              printer, dests[i].instance, device + 5);
             else
-              _cupsLangPrintf(stdout, _("device for %s/%s: %s\n"),
+              _cupsLangPrintf(stdout, _("device for %s/%s: %s"),
                              printer, dests[i].instance, device);
          }
 #endif /* __osf__ */
@@ -1241,7 +1245,7 @@ show_devices(const char  *printers,       /* I - Destinations */
   }
   else
   {
-    _cupsLangPrintf(stderr, "lpstat: %s\n", cupsLastErrorString());
+    _cupsLangPrintf(stderr, "lpstat: %s", cupsLastErrorString());
     return (1);
   }
 
@@ -1333,7 +1337,7 @@ show_jobs(const char *dests,              /* I - Destinations */
 
     if (response->request.status.status_code > IPP_OK_CONFLICT)
     {
-      _cupsLangPrintf(stderr, "lpstat: %s\n", cupsLastErrorString());
+      _cupsLangPrintf(stderr, "lpstat: %s", cupsLastErrorString());
       ippDelete(response);
       return (1);
     }
@@ -1430,7 +1434,7 @@ show_jobs(const char *dests,              /* I - Destinations */
          if (!strftime(date, sizeof(date), "%b %d %H:%M", jobdate))
            strcpy(date, "Unknown");
 
-         _cupsLangPrintf(stdout, "%s;%s;%d;%s;%s\n",
+         _cupsLangPrintf(stdout, "%s;%s;%d;%s;%s",
                          temp, username ? username : "unknown",
                          size, title ? title : "unknown", date);
        }
@@ -1440,24 +1444,36 @@ show_jobs(const char *dests,            /* I - Destinations */
            strcpy(date, "Unknown");
 
           if (ranking)
-           _cupsLangPrintf(stdout, "%3d %-21s %-13s %8.0f %s\n",
+           _cupsLangPrintf(stdout, "%3d %-21s %-13s %8.0f %s",
                            rank, temp, username ? username : "unknown",
                            1024.0 * size, date);
           else
-           _cupsLangPrintf(stdout, "%-23s %-13s %8.0f   %s\n",
+           _cupsLangPrintf(stdout, "%-23s %-13s %8.0f   %s",
                            temp, username ? username : "unknown",
                            1024.0 * size, date);
           if (long_status)
           {
            if (reasons)
            {
-             _cupsLangPuts(stdout, _("\tAlerts:"));
-             for (i = 0; i < reasons->num_values; i ++)
-               _cupsLangPrintf(stdout, " %s",
-                               reasons->values[i].string.text);
-             _cupsLangPuts(stdout, "\n");
+             char      alerts[1024],   /* Alerts string */
+                       *aptr;          /* Pointer into alerts string */
+
+             for (i = 0, aptr = alerts; i < reasons->num_values; i ++)
+             {
+               if (i)
+                 snprintf(aptr, sizeof(alerts) - (aptr - alerts), " %s",
+                          reasons->values[i].string.text);
+                else
+                 strlcpy(alerts, reasons->values[i].string.text,
+                         sizeof(alerts));
+
+               aptr += strlen(aptr);
+             }
+
+             _cupsLangPrintf(stdout, _("\tAlerts: %s"), alerts);
            }
-           _cupsLangPrintf(stdout, _("\tqueued for %s\n"), dest);
+
+           _cupsLangPrintf(stdout, _("\tqueued for %s"), dest);
          }
        }
       }
@@ -1470,7 +1486,7 @@ show_jobs(const char *dests,              /* I - Destinations */
   }
   else
   {
-    _cupsLangPrintf(stderr, "lpstat: %s\n", cupsLastErrorString());
+    _cupsLangPrintf(stderr, "lpstat: %s", cupsLastErrorString());
     return (1);
   }
 
@@ -1569,7 +1585,7 @@ show_printers(const char  *printers,      /* I - Destinations */
 
     if (response->request.status.status_code > IPP_OK_CONFLICT)
     {
-      _cupsLangPrintf(stderr, "lpstat: %s\n", cupsLastErrorString());
+      _cupsLangPrintf(stderr, "lpstat: %s", cupsLastErrorString());
       ippDelete(response);
       return (1);
     }
@@ -1746,18 +1762,18 @@ show_printers(const char  *printers,    /* I - Destinations */
        {
          case IPP_PRINTER_IDLE :
              _cupsLangPrintf(stdout,
-                             _("printer %s is idle.  enabled since %s\n"),
+                             _("printer %s is idle.  enabled since %s"),
                              printer, printer_state_time);
              break;
          case IPP_PRINTER_PROCESSING :
              _cupsLangPrintf(stdout,
                              _("printer %s now printing %s-%d.  "
-                               "enabled since %s\n"),
+                               "enabled since %s"),
                              printer, printer, jobid, printer_state_time);
              break;
          case IPP_PRINTER_STOPPED :
              _cupsLangPrintf(stdout,
-                             _("printer %s disabled since %s -\n"),
+                             _("printer %s disabled since %s -"),
                              printer, printer_state_time);
              break;
        }
@@ -1765,88 +1781,100 @@ show_printers(const char  *printers,   /* I - Destinations */
         if ((message && *message) || pstate == IPP_PRINTER_STOPPED)
        {
          if (!message || !*message)
-           _cupsLangPuts(stdout, _("\treason unknown\n"));
+           _cupsLangPuts(stdout, _("\treason unknown"));
          else
-           _cupsLangPrintf(stdout, "\t%s\n", message);
+           _cupsLangPrintf(stdout, "\t%s", message);
        }
 
         if (long_status > 1)
-         _cupsLangPuts(stdout,
-                       _("\tForm mounted:\n"
-                         "\tContent types: any\n"
-                         "\tPrinter types: unknown\n"));
+       {
+         _cupsLangPuts(stdout, _("\tForm mounted:"));
+         _cupsLangPuts(stdout, _("\tContent types: any"));
+         _cupsLangPuts(stdout, _("\tPrinter types: unknown"));
+       }
 
         if (long_status)
        {
-         _cupsLangPrintf(stdout, _("\tDescription: %s\n"),
+         _cupsLangPrintf(stdout, _("\tDescription: %s"),
                          description ? description : "");
 
          if (reasons)
          {
-           _cupsLangPuts(stdout, _("\tAlerts:"));
-           for (j = 0; j < reasons->num_values; j ++)
-             _cupsLangPrintf(stdout, " %s",
-                             reasons->values[j].string.text);
-           _cupsLangPuts(stdout, "\n");
+           char        alerts[1024],   /* Alerts string */
+                       *aptr;          /* Pointer into alerts string */
+
+           for (i = 0, aptr = alerts; i < reasons->num_values; i ++)
+           {
+             if (i)
+               snprintf(aptr, sizeof(alerts) - (aptr - alerts), " %s",
+                        reasons->values[i].string.text);
+             else
+               strlcpy(alerts, reasons->values[i].string.text,
+                       sizeof(alerts));
+
+             aptr += strlen(aptr);
+           }
+
+           _cupsLangPrintf(stdout, _("\tAlerts: %s"), alerts);
          }
        }
         if (long_status > 1)
        {
-         _cupsLangPrintf(stdout, _("\tLocation: %s\n"),
+         _cupsLangPrintf(stdout, _("\tLocation: %s"),
                          location ? location : "");
 
          if (ptype & CUPS_PRINTER_REMOTE)
          {
-           _cupsLangPuts(stdout, _("\tConnection: remote\n"));
+           _cupsLangPuts(stdout, _("\tConnection: remote"));
 
            if (make_model && !strstr(make_model, "System V Printer") &&
                     !strstr(make_model, "Raw Printer") && uri)
-             _cupsLangPrintf(stdout, _("\tInterface: %s.ppd\n"),
+             _cupsLangPrintf(stdout, _("\tInterface: %s.ppd"),
                              uri);
          }
          else
          {
-           _cupsLangPuts(stdout, _("\tConnection: direct\n"));
+           _cupsLangPuts(stdout, _("\tConnection: direct"));
 
            if (make_model && strstr(make_model, "System V Printer"))
              _cupsLangPrintf(stdout,
-                             _("\tInterface: %s/interfaces/%s\n"),
+                             _("\tInterface: %s/interfaces/%s"),
                              cg->cups_serverroot, printer);
            else if (make_model && !strstr(make_model, "Raw Printer"))
              _cupsLangPrintf(stdout,
-                             _("\tInterface: %s/ppd/%s.ppd\n"),
+                             _("\tInterface: %s/ppd/%s.ppd"),
                              cg->cups_serverroot, printer);
           }
-         _cupsLangPuts(stdout, _("\tOn fault: no alert\n"));
-         _cupsLangPuts(stdout, _("\tAfter fault: continue\n"));
+         _cupsLangPuts(stdout, _("\tOn fault: no alert"));
+         _cupsLangPuts(stdout, _("\tAfter fault: continue"));
              /* TODO update to use printer-error-policy */
           if (allowed)
          {
-           _cupsLangPuts(stdout, _("\tUsers allowed:\n"));
+           _cupsLangPuts(stdout, _("\tUsers allowed:"));
            for (j = 0; j < allowed->num_values; j ++)
-             _cupsLangPrintf(stdout, "\t\t%s\n",
+             _cupsLangPrintf(stdout, "\t\t%s",
                              allowed->values[j].string.text);
          }
          else if (denied)
          {
-           _cupsLangPuts(stdout, _("\tUsers denied:\n"));
+           _cupsLangPuts(stdout, _("\tUsers denied:"));
            for (j = 0; j < denied->num_values; j ++)
-             _cupsLangPrintf(stdout, "\t\t%s\n",
+             _cupsLangPrintf(stdout, "\t\t%s",
                              denied->values[j].string.text);
          }
          else
          {
-           _cupsLangPuts(stdout, _("\tUsers allowed:\n"));
-           _cupsLangPuts(stdout, _("\t\t(all)\n"));
+           _cupsLangPuts(stdout, _("\tUsers allowed:"));
+           _cupsLangPuts(stdout, _("\t\t(all)"));
          }
-         _cupsLangPuts(stdout, _("\tForms allowed:\n"));
-         _cupsLangPuts(stdout, _("\t\t(none)\n"));
-         _cupsLangPuts(stdout, _("\tBanner required\n"));
-         _cupsLangPuts(stdout, _("\tCharset sets:\n"));
-         _cupsLangPuts(stdout, _("\t\t(none)\n"));
-         _cupsLangPuts(stdout, _("\tDefault pitch:\n"));
-         _cupsLangPuts(stdout, _("\tDefault page size:\n"));
-         _cupsLangPuts(stdout, _("\tDefault port settings:\n"));
+         _cupsLangPuts(stdout, _("\tForms allowed:"));
+         _cupsLangPuts(stdout, _("\t\t(none)"));
+         _cupsLangPuts(stdout, _("\tBanner required"));
+         _cupsLangPuts(stdout, _("\tCharset sets:"));
+         _cupsLangPuts(stdout, _("\t\t(none)"));
+         _cupsLangPuts(stdout, _("\tDefault pitch:"));
+         _cupsLangPuts(stdout, _("\tDefault page size:"));
+         _cupsLangPuts(stdout, _("\tDefault port settings:"));
        }
 
         for (i = 0; i < num_dests; i ++)
@@ -1857,20 +1885,20 @@ show_printers(const char  *printers,    /* I - Destinations */
              case IPP_PRINTER_IDLE :
                  _cupsLangPrintf(stdout,
                                  _("printer %s/%s is idle.  "
-                                   "enabled since %s\n"),
+                                   "enabled since %s"),
                                  printer, dests[i].instance,
                                  printer_state_time);
                  break;
              case IPP_PRINTER_PROCESSING :
                  _cupsLangPrintf(stdout,
                                  _("printer %s/%s now printing %s-%d.  "
-                                   "enabled since %s\n"),
+                                   "enabled since %s"),
                                  printer, dests[i].instance, printer, jobid,
                                  printer_state_time);
                  break;
              case IPP_PRINTER_STOPPED :
                  _cupsLangPrintf(stdout,
-                                 _("printer %s/%s disabled since %s -\n"),
+                                 _("printer %s/%s disabled since %s -"),
                                  printer, dests[i].instance,
                                  printer_state_time);
                  break;
@@ -1879,88 +1907,99 @@ show_printers(const char  *printers,    /* I - Destinations */
             if ((message && *message) || pstate == IPP_PRINTER_STOPPED)
            {
              if (!message || !*message)
-               _cupsLangPuts(stdout, _("\treason unknown\n"));
+               _cupsLangPuts(stdout, _("\treason unknown"));
              else
-               _cupsLangPrintf(stdout, "\t%s\n", message);
+               _cupsLangPrintf(stdout, "\t%s", message);
             }
 
             if (long_status > 1)
-             _cupsLangPuts(stdout,
-                           _("\tForm mounted:\n"
-                             "\tContent types: any\n"
-                             "\tPrinter types: unknown\n"));
+           {
+             _cupsLangPuts(stdout, _("\tForm mounted:"));
+             _cupsLangPuts(stdout, _("\tContent types: any"));
+             _cupsLangPuts(stdout, _("\tPrinter types: unknown"));
+           }
 
             if (long_status)
            {
-             _cupsLangPrintf(stdout, _("\tDescription: %s\n"),
+             _cupsLangPrintf(stdout, _("\tDescription: %s"),
                              description ? description : "");
 
              if (reasons)
              {
-               _cupsLangPuts(stdout, _("\tAlerts:"));
-               for (j = 0; j < reasons->num_values; j ++)
-                 _cupsLangPrintf(stdout, " %s",
-                                 reasons->values[j].string.text);
-               _cupsLangPuts(stdout, "\n");
+               char    alerts[1024],   /* Alerts string */
+                       *aptr;          /* Pointer into alerts string */
+
+               for (i = 0, aptr = alerts; i < reasons->num_values; i ++)
+               {
+                 if (i)
+                   snprintf(aptr, sizeof(alerts) - (aptr - alerts), " %s",
+                            reasons->values[i].string.text);
+                 else
+                   strlcpy(alerts, reasons->values[i].string.text,
+                           sizeof(alerts));
+
+                 aptr += strlen(aptr);
+               }
+
+               _cupsLangPrintf(stdout, _("\tAlerts: %s"), alerts);
              }
            }
             if (long_status > 1)
            {
-             _cupsLangPrintf(stdout, _("\tLocation: %s\n"),
+             _cupsLangPrintf(stdout, _("\tLocation: %s"),
                              location ? location : "");
 
              if (ptype & CUPS_PRINTER_REMOTE)
              {
-               _cupsLangPuts(stdout, _("\tConnection: remote\n"));
+               _cupsLangPuts(stdout, _("\tConnection: remote"));
 
                if (make_model && !strstr(make_model, "System V Printer") &&
                         !strstr(make_model, "Raw Printer") && uri)
-                 _cupsLangPrintf(stdout, _("\tInterface: %s.ppd\n"),
-                                 uri);
+                 _cupsLangPrintf(stdout, _("\tInterface: %s.ppd"), uri);
              }
              else
              {
-               _cupsLangPuts(stdout, _("\tConnection: direct\n"));
+               _cupsLangPuts(stdout, _("\tConnection: direct"));
 
                if (make_model && strstr(make_model, "System V Printer"))
                  _cupsLangPrintf(stdout,
-                                 _("\tInterface: %s/interfaces/%s\n"),
+                                 _("\tInterface: %s/interfaces/%s"),
                                  cg->cups_serverroot, printer);
                else if (make_model && !strstr(make_model, "Raw Printer"))
                  _cupsLangPrintf(stdout,
-                                 _("\tInterface: %s/ppd/%s.ppd\n"),
+                                 _("\tInterface: %s/ppd/%s.ppd"),
                                  cg->cups_serverroot, printer);
               }
-             _cupsLangPuts(stdout, _("\tOn fault: no alert\n"));
-             _cupsLangPuts(stdout, _("\tAfter fault: continue\n"));
+             _cupsLangPuts(stdout, _("\tOn fault: no alert"));
+             _cupsLangPuts(stdout, _("\tAfter fault: continue"));
                  /* TODO update to use printer-error-policy */
               if (allowed)
              {
-               _cupsLangPuts(stdout, _("\tUsers allowed:\n"));
+               _cupsLangPuts(stdout, _("\tUsers allowed:"));
                for (j = 0; j < allowed->num_values; j ++)
-                 _cupsLangPrintf(stdout, "\t\t%s\n",
+                 _cupsLangPrintf(stdout, "\t\t%s",
                                  allowed->values[j].string.text);
              }
              else if (denied)
              {
-               _cupsLangPuts(stdout, _("\tUsers denied:\n"));
+               _cupsLangPuts(stdout, _("\tUsers denied:"));
                for (j = 0; j < denied->num_values; j ++)
-                 _cupsLangPrintf(stdout, "\t\t%s\n",
+                 _cupsLangPrintf(stdout, "\t\t%s",
                                  denied->values[j].string.text);
              }
              else
              {
-               _cupsLangPuts(stdout, _("\tUsers allowed:\n"));
-               _cupsLangPuts(stdout, _("\t\t(all)\n"));
+               _cupsLangPuts(stdout, _("\tUsers allowed:"));
+               _cupsLangPuts(stdout, _("\t\t(all)"));
              }
-             _cupsLangPuts(stdout, _("\tForms allowed:\n"));
-             _cupsLangPuts(stdout, _("\t\t(none)\n"));
-             _cupsLangPuts(stdout, _("\tBanner required\n"));
-             _cupsLangPuts(stdout, _("\tCharset sets:\n"));
-             _cupsLangPuts(stdout, _("\t\t(none)\n"));
-             _cupsLangPuts(stdout, _("\tDefault pitch:\n"));
-             _cupsLangPuts(stdout, _("\tDefault page size:\n"));
-             _cupsLangPuts(stdout, _("\tDefault port settings:\n"));
+             _cupsLangPuts(stdout, _("\tForms allowed:"));
+             _cupsLangPuts(stdout, _("\t\t(none)"));
+             _cupsLangPuts(stdout, _("\tBanner required"));
+             _cupsLangPuts(stdout, _("\tCharset sets:"));
+             _cupsLangPuts(stdout, _("\t\t(none)"));
+             _cupsLangPuts(stdout, _("\tDefault pitch:"));
+             _cupsLangPuts(stdout, _("\tDefault page size:"));
+             _cupsLangPuts(stdout, _("\tDefault port settings:"));
            }
          }
       }
@@ -1973,7 +2012,7 @@ show_printers(const char  *printers,      /* I - Destinations */
   }
   else
   {
-    _cupsLangPrintf(stderr, "lpstat: %s\n", cupsLastErrorString());
+    _cupsLangPrintf(stderr, "lpstat: %s", cupsLastErrorString());
     return (1);
   }
 
@@ -1994,11 +2033,11 @@ show_scheduler(void)
   if ((http = httpConnectEncrypt(cupsServer(), ippPort(),
                                  cupsEncryption())) != NULL)
   {
-    _cupsLangPuts(stdout, _("scheduler is running\n"));
+    _cupsLangPuts(stdout, _("scheduler is running"));
     httpClose(http);
   }
   else
-    _cupsLangPuts(stdout, _("scheduler is not running\n"));
+    _cupsLangPuts(stdout, _("scheduler is not running"));
 }
 
 
index 14235fd78734cf4f82ba3c1bf6914bd3ad2e682e..7202e624b711ff023db3963f853bc1769f044354 100644 (file)
@@ -154,6 +154,7 @@ install-languages:
                fi \
        done
 
+install-langbundle:
 
 
 #
@@ -195,6 +196,8 @@ uninstall-languages:
                $(RMDIR) $(DATADIR)/templates/$$lang; \
        done
 
+uninstall-langbundle:
+
 
 #
 # End of "$Id: Makefile 7940 2008-09-16 00:45:16Z mike $".
index 724162d0ffc04a576d83aa0f3ddf5e3f3139b0e5..fe0117550cab5a746147ecf5815492f77bfee973 100644 (file)
@@ -11,6 +11,8 @@
  *   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/".
  *
+ *   This file is subject to the Apple OS-Developed Software exception.
+ *
  * Contents:
  *
  *   main()                       - Main entry to the sample server.
index 3ea4ec86cf5e4719f1fd6d242c0400d17f0deec8..b3630ddd9f314cf55c4aac73b79007b85ef06aac 100644 (file)
@@ -12,6 +12,8 @@
  *   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/".
  *
+ *   This file is subject to the Apple OS-Developed Software exception.
+ *
  * Contents:
  *
  *   main()              - Parse options and do tests.
@@ -273,8 +275,7 @@ main(int  argc,                             /* I - Number of command-line args */
 #ifdef HAVE_SSL
              vars.encryption = HTTP_ENCRYPT_REQUIRED;
 #else
-             _cupsLangPrintf(stderr,
-                             _("%s: Sorry, no encryption support compiled in\n"),
+             _cupsLangPrintf(stderr, _("%s: Sorry, no encryption support."),
                              argv[0]);
 #endif /* HAVE_SSL */
              break;
@@ -291,8 +292,7 @@ main(int  argc,                             /* I - Number of command-line args */
 #ifdef HAVE_SSL
              vars.encryption = HTTP_ENCRYPT_ALWAYS;
 #else
-             _cupsLangPrintf(stderr,
-                             _("%s: Sorry, no encryption support compiled in\n"),
+             _cupsLangPrintf(stderr, _("%s: Sorry, no encryption support."),
                              argv[0]);
 #endif /* HAVE_SSL */
              break;
@@ -303,7 +303,7 @@ main(int  argc,                             /* I - Number of command-line args */
              if (i >= argc)
              {
                _cupsLangPuts(stderr,
-                             _("ipptool: Missing timeout for \"-T\".\n"));
+                             _("ipptool: Missing timeout for \"-T\"."));
                usage();
               }
 
@@ -316,7 +316,7 @@ main(int  argc,                             /* I - Number of command-line args */
              if (i >= argc)
              {
                _cupsLangPuts(stderr,
-                             _("ipptool: Missing version for \"-V\".\n"));
+                             _("ipptool: Missing version for \"-V\"."));
                usage();
               }
 
@@ -333,7 +333,7 @@ main(int  argc,                             /* I - Number of command-line args */
              else
              {
                _cupsLangPrintf(stderr,
-                               _("ipptool: Bad version %s for \"-V\".\n"),
+                               _("ipptool: Bad version %s for \"-V\"."),
                                argv[i]);
                usage();
              }
@@ -345,7 +345,7 @@ main(int  argc,                             /* I - Number of command-line args */
               if (interval || repeat)
              {
                _cupsLangPuts(stderr, _("ipptool: \"-i\" and \"-n\" are "
-                                       "incompatible with -X\".\n"));
+                                       "incompatible with -X\"."));
                usage();
              }
              break;
@@ -360,7 +360,7 @@ main(int  argc,                             /* I - Number of command-line args */
              if (i >= argc)
              {
                _cupsLangPuts(stderr,
-                             _("ipptool: Missing name=value for \"-d\".\n"));
+                             _("ipptool: Missing name=value for \"-d\"."));
                usage();
               }
 
@@ -379,7 +379,7 @@ main(int  argc,                             /* I - Number of command-line args */
              if (i >= argc)
              {
                _cupsLangPuts(stderr,
-                             _("ipptool: Missing filename for \"-f\".\n"));
+                             _("ipptool: Missing filename for \"-f\"."));
                usage();
               }
 
@@ -402,7 +402,7 @@ main(int  argc,                             /* I - Number of command-line args */
              if (i >= argc)
              {
                _cupsLangPuts(stderr,
-                             _("ipptool: Missing seconds for \"-i\".\n"));
+                             _("ipptool: Missing seconds for \"-i\"."));
                usage();
               }
              else
@@ -412,7 +412,7 @@ main(int  argc,                             /* I - Number of command-line args */
                if (interval <= 0)
                {
                  _cupsLangPuts(stderr,
-                               _("ipptool: Invalid seconds for \"-i\".\n"));
+                               _("ipptool: Invalid seconds for \"-i\"."));
                  usage();
                }
               }
@@ -420,7 +420,7 @@ main(int  argc,                             /* I - Number of command-line args */
               if (Output == _CUPS_OUTPUT_PLIST && interval)
              {
                _cupsLangPuts(stderr, _("ipptool: \"-i\" is incompatible with "
-                                       "\"-X\".\n"));
+                                       "\"-X\"."));
                usage();
              }
              break;
@@ -435,7 +435,7 @@ main(int  argc,                             /* I - Number of command-line args */
              if (i >= argc)
              {
                _cupsLangPuts(stderr,
-                             _("ipptool: Missing count for \"-n\".\n"));
+                             _("ipptool: Missing count for \"-n\"."));
                usage();
               }
              else
@@ -444,7 +444,7 @@ main(int  argc,                             /* I - Number of command-line args */
               if (Output == _CUPS_OUTPUT_PLIST && repeat)
              {
                _cupsLangPuts(stderr, _("ipptool: \"-n\" is incompatible with "
-                                       "\"-X\".\n"));
+                                       "\"-X\"."));
                usage();
              }
              break;
@@ -462,7 +462,7 @@ main(int  argc,                             /* I - Number of command-line args */
              break;
 
          default :
-             _cupsLangPrintf(stderr, _("ipptool: Unknown option \"-%c\".\n"),
+             _cupsLangPrintf(stderr, _("ipptool: Unknown option \"-%c\"."),
                              *opt);
              usage();
              break;
@@ -482,7 +482,7 @@ main(int  argc,                             /* I - Number of command-line args */
 
       if (vars.uri)
       {
-        _cupsLangPuts(stderr, _("ipptool: May only specify a single URI.\n"));
+        _cupsLangPuts(stderr, _("ipptool: May only specify a single URI."));
         usage();
       }
 
@@ -501,7 +501,7 @@ main(int  argc,                             /* I - Number of command-line args */
 
       if (uri_status != HTTP_URI_OK)
       {
-        _cupsLangPrintf(stderr, _("ipptool: Bad URI - %s.\n"),
+        _cupsLangPrintf(stderr, _("ipptool: Bad URI - %s."),
                        URIStatusStrings[uri_status - HTTP_URI_OVERFLOW]);
         return (1);
       }
@@ -3499,7 +3499,7 @@ print_fatal_error(const char *s,  /* I - Printf-style format string */
     print_xml_trailer(0, buffer);
   }
   else
-    _cupsLangPrintf(stderr, "ipptool: %s\n", buffer);
+    _cupsLangPrintf(stderr, "ipptool: %s", buffer);
 }
 
 
@@ -3757,31 +3757,34 @@ timeout_cb(http_t *http,                /* I - Connection to server (unused) */
 static void
 usage(void)
 {
-  _cupsLangPuts(stderr,
-                _("Usage: ipptool [options] URI filename [ ... "
-                 "filenameN ]\n"
-                 "\n"
-                 "Options:\n"
-                 "\n"
-                 "-4             Connect using IPv4.\n"
-                 "-6             Connect using IPv6.\n"
-                 "-C             Send requests using chunking (default).\n"
-                 "-E             Test with TLS encryption.\n"
-                 "-I             Ignore errors.\n"
-                 "-L             Send requests using content-length.\n"
-                 "-S             Test with SSL encryption.\n"
-                 "-T             Set the receive/send timeout in seconds.\n"
-                 "-V version     Set default IPP version.\n"
-                 "-X             Produce XML plist instead of plain text.\n"
-                 "-d name=value  Define variable.\n"
-                 "-f filename    Set default request filename.\n"
-                 "-i seconds     Repeat the last file with the given time "
-                 "interval.\n"
-                 "-n count       Repeat the last file the given number of "
-                 "times.\n"
-                 "-q             Be quiet - no output except errors.\n"
-                 "-t             Produce a test report.\n"
-                 "-v             Show all attributes sent and received.\n"));
+  _cupsLangPuts(stderr, _("Usage: ipptool [options] URI filename [ ... "
+                         "filenameN ]"));
+  _cupsLangPuts(stderr, _("Options:"));
+  _cupsLangPuts(stderr, _("  -4             Connect using IPv4."));
+  _cupsLangPuts(stderr, _("  -6             Connect using IPv6."));
+  _cupsLangPuts(stderr, _("  -C             Send requests using chunking "
+                          "(default)."));
+  _cupsLangPuts(stderr, _("  -E             Test with TLS encryption."));
+  _cupsLangPuts(stderr, _("  -I             Ignore errors."));
+  _cupsLangPuts(stderr, _("  -L             Send requests using "
+                          "content-length."));
+  _cupsLangPuts(stderr, _("  -S             Test with SSL encryption."));
+  _cupsLangPuts(stderr, _("  -T             Set the receive/send timeout in "
+                          "seconds."));
+  _cupsLangPuts(stderr, _("  -V version     Set default IPP version."));
+  _cupsLangPuts(stderr, _("  -X             Produce XML plist instead of plain "
+                          "text."));
+  _cupsLangPuts(stderr, _("  -d name=value  Define variable."));
+  _cupsLangPuts(stderr, _("  -f filename    Set default request filename."));
+  _cupsLangPuts(stderr, _("  -i seconds     Repeat the last file with the "
+                          "given time interval."));
+  _cupsLangPuts(stderr, _("  -n count       Repeat the last file the given "
+                          "number of times."));
+  _cupsLangPuts(stderr, _("  -q             Be quiet - no output except "
+                          "errors."));
+  _cupsLangPuts(stderr, _("  -t             Produce a test report."));
+  _cupsLangPuts(stderr, _("  -v             Show all attributes sent and "
+                          "received."));
 
   exit(1);
 }