diff options
author | Treehugger Robot <treehugger-gerrit@google.com> | 2020-12-16 02:33:26 +0000 |
---|---|---|
committer | Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com> | 2020-12-16 02:33:26 +0000 |
commit | e64f4deecbb1cac777965281c7d72f98c74b937a (patch) | |
tree | 65c6168174c02154dfca2eb26ddecbf28233e949 | |
parent | 9211d8b4a75d8fc1887a42b598a6796d9524849f (diff) | |
parent | 27eaea7b56bd80f40f4aa6a3635e3bebb513fffc (diff) | |
download | libcups-e64f4deecbb1cac777965281c7d72f98c74b937a.tar.gz |
Merge "Upgrade libcups to v2.3.3" am: 51b2b43e4c am: 27eaea7b56
Original change: https://android-review.googlesource.com/c/platform/external/libcups/+/1479395
MUST ONLY BE SUBMITTED BY AUTOMERGER
Change-Id: I57fd1311f32a700716e6bb7ddeffc0aeb794e374
-rw-r--r-- | Android.bp | 1 | ||||
-rw-r--r-- | CHANGES.md | 17 | ||||
-rw-r--r-- | INSTALL.md | 2 | ||||
-rw-r--r-- | METADATA | 10 | ||||
-rw-r--r-- | README.md | 2 | ||||
-rw-r--r-- | README.version | 10 | ||||
-rw-r--r-- | config-scripts/cups-compiler.m4 | 6 | ||||
-rwxr-xr-x | configure | 24 | ||||
-rw-r--r-- | configure.ac | 2 | ||||
-rw-r--r-- | cups/cups-private.h | 2 | ||||
-rw-r--r-- | cups/cups.h | 4 | ||||
-rw-r--r-- | cups/cupspm.md | 2 | ||||
-rw-r--r-- | cups/getifaddrs.c | 1 | ||||
-rw-r--r-- | cups/ipp.c.orig | 7053 | ||||
-rw-r--r-- | doc/help/cupspm.html | 2 | ||||
-rw-r--r-- | locale/cups.pot | 4889 | ||||
-rw-r--r-- | locale/cups.strings | 158 | ||||
-rw-r--r-- | locale/cups_ca.po | 105 | ||||
-rw-r--r-- | locale/cups_cs.po | 105 | ||||
-rw-r--r-- | locale/cups_de.po | 105 | ||||
-rw-r--r-- | locale/cups_en.po | 111 | ||||
-rw-r--r-- | locale/cups_es.po | 105 | ||||
-rw-r--r-- | locale/cups_fr.po | 105 | ||||
-rw-r--r-- | locale/cups_it.po | 105 | ||||
-rw-r--r-- | locale/cups_ja.po | 105 | ||||
-rw-r--r-- | locale/cups_pt_BR.po | 105 | ||||
-rw-r--r-- | locale/cups_ru.po | 105 | ||||
-rw-r--r-- | locale/cups_zh_CN.po | 105 | ||||
-rw-r--r-- | locale/ipp-strings.c | 38 | ||||
-rw-r--r-- | packaging/cups.spec | 4 | ||||
-rw-r--r-- | ppdc/ppdc-source.cxx | 16 | ||||
-rw-r--r-- | scheduler/printers.c | 2 | ||||
-rw-r--r-- | vcnet/config.h | 4 | ||||
-rw-r--r-- | xcode/config.h | 4 |
34 files changed, 3815 insertions, 9599 deletions
@@ -31,7 +31,6 @@ cc_library_shared { "cups/encode.c", "cups/file.c", "cups/getdevices.c", - "cups/getifaddrs.c", "cups/getputfile.c", "cups/globals.c", "cups/hash.c", @@ -1,6 +1,21 @@ -CHANGES - 2.3.1 - 2019-12-13 +CHANGES - 2.3.3 - 2020-04-24 ============================ +Changes in CUPS v2.3.3 +---------------------- + +- CVE-2020-3898: The `ppdOpen` function did not handle invalid UI + constraint. `ppdcSource::get_resolution` function did not handle + invalid resolution strings. +- CVE-2019-8842: The `ippReadIO` function may under-read an extension + field. +- Fixed WARNING_OPTIONS support for GCC 9.x + +Changes in CUPS v2.3.2 +---------------------- + +- Localization updates. + Changes in CUPS v2.3.1 ---------------------- @@ -1,4 +1,4 @@ -INSTALL - CUPS v2.3.1 - 2019-12-13 +INSTALL - CUPS v2.3.3 - 2020-04-24 ================================== This file describes how to compile and install CUPS from source code. For more @@ -7,13 +7,13 @@ third_party { } url { type: ARCHIVE - value: "https://github.com/apple/cups/releases/download/v2.3.1/cups-2.3.1-source.tar.gz" + value: "https://github.com/apple/cups/releases/download/v2.3.3/cups-2.3.3-source.tar.gz" } - version: "v2.3.1" + version: "v2.3.3" license_type: RESTRICTED last_upgrade_date { - year: 2019 - month: 12 - day: 13 + year: 2020 + month: 10 + day: 28 } } @@ -1,4 +1,4 @@ -README - CUPS v2.3.1 - 2019-12-13 +README - CUPS v2.3.3 - 2020-04-24 ================================= INTRODUCTION diff --git a/README.version b/README.version deleted file mode 100644 index 5a727df8..00000000 --- a/README.version +++ /dev/null @@ -1,10 +0,0 @@ -URL: https://github.com/apple/cups -Version: v2.2.9 -License: LGPL -Description: -CUPS is the standards-based, open source printing system developed by Apple Inc. for macOS® and other UNIX®-like operating systems. CUPS uses the Internet Printing Protocol (IPP) to support printing to local and network printers. - -Local Modifications: - Fix for CVE-2020-3898 (I1e4988e753c0ed1df43937b3009fd62ecd81ccc0) - Fix for CVE-2019-8842 (Ib3d4260899941f0c8050cf6d77a9022db63bdc66) - Use boringSSL diff --git a/config-scripts/cups-compiler.m4 b/config-scripts/cups-compiler.m4 index 63ea1f47..86e8bc48 100644 --- a/config-scripts/cups-compiler.m4 +++ b/config-scripts/cups-compiler.m4 @@ -175,10 +175,8 @@ if test -n "$GCC"; then # doesn't trigger... gccversion=`$CC --version | head -1 | awk '{print $NF}'` case "$gccversion" in - 1.* | 2.* | 3.* | 4.* | 5.* | 6.* | \(clang-*) - ;; - *) - WARNING_OPTIONS="$WARNING_OPTIONS -Wno-format-truncation -Wno-format-overflow -Wno-tautological-compare" + 7.* | 8.*) + WARNING_OPTIONS="$WARNING_OPTIONS -Wno-format-truncation -Wno-tautological-compare" ;; esac @@ -1,6 +1,6 @@ #! /bin/sh # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.69 for CUPS 2.3.1. +# Generated by GNU Autoconf 2.69 for CUPS 2.3.3. # # Report bugs to <https://github.com/apple/cups/issues>. # @@ -580,8 +580,8 @@ MAKEFLAGS= # Identity of this package. PACKAGE_NAME='CUPS' PACKAGE_TARNAME='cups' -PACKAGE_VERSION='2.3.1' -PACKAGE_STRING='CUPS 2.3.1' +PACKAGE_VERSION='2.3.3' +PACKAGE_STRING='CUPS 2.3.3' PACKAGE_BUGREPORT='https://github.com/apple/cups/issues' PACKAGE_URL='https://www.cups.org/' @@ -1467,7 +1467,7 @@ if test "$ac_init_help" = "long"; then # Omit some internal or obsolete options to make the list less imposing. # This message is too long to be a string in the A/UX 3.1 sh. cat <<_ACEOF -\`configure' configures CUPS 2.3.1 to adapt to many kinds of systems. +\`configure' configures CUPS 2.3.3 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... @@ -1532,7 +1532,7 @@ fi if test -n "$ac_init_help"; then case $ac_init_help in - short | recursive ) echo "Configuration of CUPS 2.3.1:";; + short | recursive ) echo "Configuration of CUPS 2.3.3:";; esac cat <<\_ACEOF @@ -1713,7 +1713,7 @@ fi test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF -CUPS configure 2.3.1 +CUPS configure 2.3.3 generated by GNU Autoconf 2.69 Copyright (C) 2012 Free Software Foundation, Inc. @@ -2177,7 +2177,7 @@ cat >config.log <<_ACEOF This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. -It was created by CUPS $as_me 2.3.1, which was +It was created by CUPS $as_me 2.3.3, which was generated by GNU Autoconf 2.69. Invocation command line was $ $0 $@ @@ -2694,7 +2694,7 @@ done ac_config_headers="$ac_config_headers config.h" -CUPS_VERSION="2.3.1" +CUPS_VERSION="2.3.3" CUPS_REVISION="" CUPS_BUILD="cups-$CUPS_VERSION" @@ -6911,9 +6911,7 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext # doesn't trigger... gccversion=`$CC --version | head -1 | awk '{print $NF}'` case "$gccversion" in - 1.* | 2.* | 3.* | 4.* | 5.* | 6.* | \(clang-*) - ;; - *) + 7.* | 8.* | 9.*) WARNING_OPTIONS="$WARNING_OPTIONS -Wno-format-truncation -Wno-format-overflow -Wno-tautological-compare" ;; esac @@ -10387,7 +10385,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 # report actual input values of CONFIG_FILES etc. instead of their # values after options handling. ac_log=" -This file was extended by CUPS $as_me 2.3.1, which was +This file was extended by CUPS $as_me 2.3.3, which was generated by GNU Autoconf 2.69. Invocation command line was CONFIG_FILES = $CONFIG_FILES @@ -10450,7 +10448,7 @@ _ACEOF cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`" ac_cs_version="\\ -CUPS config.status 2.3.1 +CUPS config.status 2.3.3 configured by $0, generated by GNU Autoconf 2.69, with options \\"\$ac_cs_config\\" diff --git a/configure.ac b/configure.ac index 23abe870..dbf3bda3 100644 --- a/configure.ac +++ b/configure.ac @@ -12,7 +12,7 @@ dnl We need at least autoconf 2.60... AC_PREREQ(2.60) dnl Package name and version... -AC_INIT([CUPS], [2.3.1], [https://github.com/apple/cups/issues], [cups], [https://www.cups.org/]) +AC_INIT([CUPS], [2.3.3], [https://github.com/apple/cups/issues], [cups], [https://www.cups.org/]) sinclude(config-scripts/cups-opsys.m4) sinclude(config-scripts/cups-common.m4) diff --git a/cups/cups-private.h b/cups/cups-private.h index 126a24f7..97734a53 100644 --- a/cups/cups-private.h +++ b/cups/cups-private.h @@ -275,7 +275,7 @@ extern const char *_cupsGSSServiceName(void) _CUPS_PRIVATE; extern int _cupsNextDelay(int current, int *previous) _CUPS_PRIVATE; extern void _cupsSetDefaults(void) _CUPS_INTERNAL; extern void _cupsSetError(ipp_status_t status, const char *message, int localize) _CUPS_PRIVATE; -extern void _cupsSetHTTPError(http_status_t status); +extern void _cupsSetHTTPError(http_status_t status) _CUPS_INTERNAL; # ifdef HAVE_GSSAPI extern int _cupsSetNegotiateAuthString(http_t *http, const char *method, const char *resource) _CUPS_PRIVATE; # endif /* HAVE_GSSAPI */ diff --git a/cups/cups.h b/cups/cups.h index 77a66c17..74955ebd 100644 --- a/cups/cups.h +++ b/cups/cups.h @@ -42,10 +42,10 @@ extern "C" { * Constants... */ -# define CUPS_VERSION 2.0301 +# define CUPS_VERSION 2.0303 # define CUPS_VERSION_MAJOR 2 # define CUPS_VERSION_MINOR 3 -# define CUPS_VERSION_PATCH 1 +# define CUPS_VERSION_PATCH 3 # define CUPS_BC_FD 3 /* Back-channel file descriptor for diff --git a/cups/cupspm.md b/cups/cupspm.md index d4d6d7c5..b6e09baa 100644 --- a/cups/cupspm.md +++ b/cups/cupspm.md @@ -2,7 +2,7 @@ title: CUPS Programming Manual author: Michael R Sweet copyright: Copyright © 2007-2019 by Apple Inc. All Rights Reserved. -version: 2.3.1 +version: 2.3.3 ... > Please [file issues on Github](https://github.com/apple/cups/issues) to diff --git a/cups/getifaddrs.c b/cups/getifaddrs.c index a04750aa..f751aa85 100644 --- a/cups/getifaddrs.c +++ b/cups/getifaddrs.c @@ -12,7 +12,6 @@ * Include necessary headers. */ -#include "versioning.h" #include "getifaddrs-internal.h" diff --git a/cups/ipp.c.orig b/cups/ipp.c.orig deleted file mode 100644 index fd8988fd..00000000 --- a/cups/ipp.c.orig +++ /dev/null @@ -1,7053 +0,0 @@ -/* - * Internet Printing Protocol functions for CUPS. - * - * Copyright 2007-2017 by Apple Inc. - * Copyright 1997-2007 by Easy Software Products, all rights reserved. - * - * These coded instructions, statements, and computer programs are the - * property of Apple Inc. and are protected by Federal copyright - * law. Distribution and use rights are outlined in the file "LICENSE.txt" - * which should have been included with this file. If this file is - * missing or damaged, see the license at "http://www.cups.org/". - * - * This file is subject to the Apple OS-Developed Software exception. - */ - -/* - * Include necessary headers... - */ - -#include "cups-private.h" -#include <regex.h> -#ifdef WIN32 -# include <io.h> -#endif /* WIN32 */ - - -/* - * Local functions... - */ - -static ipp_attribute_t *ipp_add_attr(ipp_t *ipp, const char *name, - ipp_tag_t group_tag, ipp_tag_t value_tag, - int num_values); -static void ipp_free_values(ipp_attribute_t *attr, int element, - int count); -static char *ipp_get_code(const char *locale, char *buffer, - size_t bufsize) - __attribute__((nonnull(1,2))); -static char *ipp_lang_code(const char *locale, char *buffer, - size_t bufsize) - __attribute__((nonnull(1,2))); -static size_t ipp_length(ipp_t *ipp, int collection); -static ssize_t ipp_read_http(http_t *http, ipp_uchar_t *buffer, - size_t length); -static ssize_t ipp_read_file(int *fd, ipp_uchar_t *buffer, - size_t length); -static void ipp_set_error(ipp_status_t status, const char *format, - ...); -static _ipp_value_t *ipp_set_value(ipp_t *ipp, ipp_attribute_t **attr, - int element); -static ssize_t ipp_write_file(int *fd, ipp_uchar_t *buffer, - size_t length); - - -/* - * '_cupsBufferGet()' - Get a read/write buffer. - */ - -char * /* O - Buffer */ -_cupsBufferGet(size_t size) /* I - Size required */ -{ - _cups_buffer_t *buffer; /* Current buffer */ - _cups_globals_t *cg = _cupsGlobals(); - /* Global data */ - - - for (buffer = cg->cups_buffers; buffer; buffer = buffer->next) - if (!buffer->used && buffer->size >= size) - break; - - if (!buffer) - { - if ((buffer = malloc(sizeof(_cups_buffer_t) + size - 1)) == NULL) - return (NULL); - - buffer->next = cg->cups_buffers; - buffer->size = size; - cg->cups_buffers = buffer; - } - - buffer->used = 1; - - return (buffer->d); -} - - -/* - * '_cupsBufferRelease()' - Release a read/write buffer. - */ - -void -_cupsBufferRelease(char *b) /* I - Buffer to release */ -{ - _cups_buffer_t *buffer; /* Buffer */ - - - /* - * Mark this buffer as unused... - */ - - buffer = (_cups_buffer_t *)(b - offsetof(_cups_buffer_t, d)); - buffer->used = 0; -} - - -/* - * 'ippAddBoolean()' - Add a boolean attribute to an IPP message. - * - * The @code ipp@ parameter refers to an IPP message previously created using - * the @link ippNew@, @link ippNewRequest@, or @link ippNewResponse@ functions. - * - * The @code group@ parameter specifies the IPP attribute group tag: none - * (@code IPP_TAG_ZERO@, for member attributes), document (@code IPP_TAG_DOCUMENT@), - * event notification (@code IPP_TAG_EVENT_NOTIFICATION@), operation - * (@code IPP_TAG_OPERATION@), printer (@code IPP_TAG_PRINTER@), subscription - * (@code IPP_TAG_SUBSCRIPTION@), or unsupported (@code IPP_TAG_UNSUPPORTED_GROUP@). - */ - -ipp_attribute_t * /* O - New attribute */ -ippAddBoolean(ipp_t *ipp, /* I - IPP message */ - ipp_tag_t group, /* I - IPP group */ - const char *name, /* I - Name of attribute */ - char value) /* I - Value of attribute */ -{ - ipp_attribute_t *attr; /* New attribute */ - - - DEBUG_printf(("ippAddBoolean(ipp=%p, group=%02x(%s), name=\"%s\", value=%d)", (void *)ipp, group, ippTagString(group), name, value)); - - /* - * Range check input... - */ - - if (!ipp || !name || group < IPP_TAG_ZERO || - group == IPP_TAG_END || group >= IPP_TAG_UNSUPPORTED_VALUE) - return (NULL); - - /* - * Create the attribute... - */ - - if ((attr = ipp_add_attr(ipp, name, group, IPP_TAG_BOOLEAN, 1)) == NULL) - return (NULL); - - attr->values[0].boolean = value; - - return (attr); -} - - -/* - * 'ippAddBooleans()' - Add an array of boolean values. - * - * The @code ipp@ parameter refers to an IPP message previously created using - * the @link ippNew@, @link ippNewRequest@, or @link ippNewResponse@ functions. - * - * The @code group@ parameter specifies the IPP attribute group tag: none - * (@code IPP_TAG_ZERO@, for member attributes), document (@code IPP_TAG_DOCUMENT@), - * event notification (@code IPP_TAG_EVENT_NOTIFICATION@), operation - * (@code IPP_TAG_OPERATION@), printer (@code IPP_TAG_PRINTER@), subscription - * (@code IPP_TAG_SUBSCRIPTION@), or unsupported (@code IPP_TAG_UNSUPPORTED_GROUP@). - */ - -ipp_attribute_t * /* O - New attribute */ -ippAddBooleans(ipp_t *ipp, /* I - IPP message */ - ipp_tag_t group, /* I - IPP group */ - const char *name, /* I - Name of attribute */ - int num_values, /* I - Number of values */ - const char *values) /* I - Values */ -{ - int i; /* Looping var */ - ipp_attribute_t *attr; /* New attribute */ - _ipp_value_t *value; /* Current value */ - - - DEBUG_printf(("ippAddBooleans(ipp=%p, group=%02x(%s), name=\"%s\", num_values=%d, values=%p)", (void *)ipp, group, ippTagString(group), name, num_values, (void *)values)); - - /* - * Range check input... - */ - - if (!ipp || !name || group < IPP_TAG_ZERO || - group == IPP_TAG_END || group >= IPP_TAG_UNSUPPORTED_VALUE || - num_values < 1) - return (NULL); - - /* - * Create the attribute... - */ - - if ((attr = ipp_add_attr(ipp, name, group, IPP_TAG_BOOLEAN, num_values)) == NULL) - return (NULL); - - if (values) - { - for (i = num_values, value = attr->values; - i > 0; - i --, value ++) - value->boolean = *values++; - } - - return (attr); -} - - -/* - * 'ippAddCollection()' - Add a collection value. - * - * The @code ipp@ parameter refers to an IPP message previously created using - * the @link ippNew@, @link ippNewRequest@, or @link ippNewResponse@ functions. - * - * The @code group@ parameter specifies the IPP attribute group tag: none - * (@code IPP_TAG_ZERO@, for member attributes), document (@code IPP_TAG_DOCUMENT@), - * event notification (@code IPP_TAG_EVENT_NOTIFICATION@), operation - * (@code IPP_TAG_OPERATION@), printer (@code IPP_TAG_PRINTER@), subscription - * (@code IPP_TAG_SUBSCRIPTION@), or unsupported (@code IPP_TAG_UNSUPPORTED_GROUP@). - * - * @since CUPS 1.1.19/macOS 10.3@ - */ - -ipp_attribute_t * /* O - New attribute */ -ippAddCollection(ipp_t *ipp, /* I - IPP message */ - ipp_tag_t group, /* I - IPP group */ - const char *name, /* I - Name of attribute */ - ipp_t *value) /* I - Value */ -{ - ipp_attribute_t *attr; /* New attribute */ - - - DEBUG_printf(("ippAddCollection(ipp=%p, group=%02x(%s), name=\"%s\", value=%p)", (void *)ipp, group, ippTagString(group), name, (void *)value)); - - /* - * Range check input... - */ - - if (!ipp || !name || group < IPP_TAG_ZERO || - group == IPP_TAG_END || group >= IPP_TAG_UNSUPPORTED_VALUE) - return (NULL); - - /* - * Create the attribute... - */ - - if ((attr = ipp_add_attr(ipp, name, group, IPP_TAG_BEGIN_COLLECTION, 1)) == NULL) - return (NULL); - - attr->values[0].collection = value; - - if (value) - value->use ++; - - return (attr); -} - - -/* - * 'ippAddCollections()' - Add an array of collection values. - * - * The @code ipp@ parameter refers to an IPP message previously created using - * the @link ippNew@, @link ippNewRequest@, or @link ippNewResponse@ functions. - * - * The @code group@ parameter specifies the IPP attribute group tag: none - * (@code IPP_TAG_ZERO@, for member attributes), document (@code IPP_TAG_DOCUMENT@), - * event notification (@code IPP_TAG_EVENT_NOTIFICATION@), operation - * (@code IPP_TAG_OPERATION@), printer (@code IPP_TAG_PRINTER@), subscription - * (@code IPP_TAG_SUBSCRIPTION@), or unsupported (@code IPP_TAG_UNSUPPORTED_GROUP@). - * - * @since CUPS 1.1.19/macOS 10.3@ - */ - -ipp_attribute_t * /* O - New attribute */ -ippAddCollections( - ipp_t *ipp, /* I - IPP message */ - ipp_tag_t group, /* I - IPP group */ - const char *name, /* I - Name of attribute */ - int num_values, /* I - Number of values */ - const ipp_t **values) /* I - Values */ -{ - int i; /* Looping var */ - ipp_attribute_t *attr; /* New attribute */ - _ipp_value_t *value; /* Current value */ - - - DEBUG_printf(("ippAddCollections(ipp=%p, group=%02x(%s), name=\"%s\", num_values=%d, values=%p)", (void *)ipp, group, ippTagString(group), name, num_values, (void *)values)); - - /* - * Range check input... - */ - - if (!ipp || !name || group < IPP_TAG_ZERO || - group == IPP_TAG_END || group >= IPP_TAG_UNSUPPORTED_VALUE || - num_values < 1) - return (NULL); - - /* - * Create the attribute... - */ - - if ((attr = ipp_add_attr(ipp, name, group, IPP_TAG_BEGIN_COLLECTION, - num_values)) == NULL) - return (NULL); - - if (values) - { - for (i = num_values, value = attr->values; - i > 0; - i --, value ++) - { - value->collection = (ipp_t *)*values++; - value->collection->use ++; - } - } - - return (attr); -} - - -/* - * 'ippAddDate()' - Add a dateTime attribute to an IPP message. - * - * The @code ipp@ parameter refers to an IPP message previously created using - * the @link ippNew@, @link ippNewRequest@, or @link ippNewResponse@ functions. - * - * The @code group@ parameter specifies the IPP attribute group tag: none - * (@code IPP_TAG_ZERO@, for member attributes), document (@code IPP_TAG_DOCUMENT@), - * event notification (@code IPP_TAG_EVENT_NOTIFICATION@), operation - * (@code IPP_TAG_OPERATION@), printer (@code IPP_TAG_PRINTER@), subscription - * (@code IPP_TAG_SUBSCRIPTION@), or unsupported (@code IPP_TAG_UNSUPPORTED_GROUP@). - */ - -ipp_attribute_t * /* O - New attribute */ -ippAddDate(ipp_t *ipp, /* I - IPP message */ - ipp_tag_t group, /* I - IPP group */ - const char *name, /* I - Name of attribute */ - const ipp_uchar_t *value) /* I - Value */ -{ - ipp_attribute_t *attr; /* New attribute */ - - - DEBUG_printf(("ippAddDate(ipp=%p, group=%02x(%s), name=\"%s\", value=%p)", (void *)ipp, group, ippTagString(group), name, (void *)value)); - - /* - * Range check input... - */ - - if (!ipp || !name || !value || group < IPP_TAG_ZERO || - group == IPP_TAG_END || group >= IPP_TAG_UNSUPPORTED_VALUE) - return (NULL); - - /* - * Create the attribute... - */ - - if ((attr = ipp_add_attr(ipp, name, group, IPP_TAG_DATE, 1)) == NULL) - return (NULL); - - memcpy(attr->values[0].date, value, 11); - - return (attr); -} - - -/* - * 'ippAddInteger()' - Add a integer attribute to an IPP message. - * - * The @code ipp@ parameter refers to an IPP message previously created using - * the @link ippNew@, @link ippNewRequest@, or @link ippNewResponse@ functions. - * - * The @code group@ parameter specifies the IPP attribute group tag: none - * (@code IPP_TAG_ZERO@, for member attributes), document (@code IPP_TAG_DOCUMENT@), - * event notification (@code IPP_TAG_EVENT_NOTIFICATION@), operation - * (@code IPP_TAG_OPERATION@), printer (@code IPP_TAG_PRINTER@), subscription - * (@code IPP_TAG_SUBSCRIPTION@), or unsupported (@code IPP_TAG_UNSUPPORTED_GROUP@). - * - * Supported values include enum (@code IPP_TAG_ENUM@) and integer - * (@code IPP_TAG_INTEGER@). - */ - -ipp_attribute_t * /* O - New attribute */ -ippAddInteger(ipp_t *ipp, /* I - IPP message */ - ipp_tag_t group, /* I - IPP group */ - ipp_tag_t value_tag, /* I - Type of attribute */ - const char *name, /* I - Name of attribute */ - int value) /* I - Value of attribute */ -{ - ipp_attribute_t *attr; /* New attribute */ - - - DEBUG_printf(("ippAddInteger(ipp=%p, group=%02x(%s), type=%02x(%s), name=\"%s\", value=%d)", (void *)ipp, group, ippTagString(group), value_tag, ippTagString(value_tag), name, value)); - - value_tag &= IPP_TAG_CUPS_MASK; - - /* - * Special-case for legacy usage: map out-of-band attributes to new ippAddOutOfBand - * function... - */ - - if (value_tag >= IPP_TAG_UNSUPPORTED_VALUE && value_tag <= IPP_TAG_ADMINDEFINE) - return (ippAddOutOfBand(ipp, group, value_tag, name)); - - /* - * Range check input... - */ - -#if 0 - if (!ipp || !name || group < IPP_TAG_ZERO || - group == IPP_TAG_END || group >= IPP_TAG_UNSUPPORTED_VALUE || - (value_tag != IPP_TAG_INTEGER && value_tag != IPP_TAG_ENUM)) - return (NULL); -#else - if (!ipp || !name || group < IPP_TAG_ZERO || - group == IPP_TAG_END || group >= IPP_TAG_UNSUPPORTED_VALUE) - return (NULL); -#endif /* 0 */ - - /* - * Create the attribute... - */ - - if ((attr = ipp_add_attr(ipp, name, group, value_tag, 1)) == NULL) - return (NULL); - - attr->values[0].integer = value; - - return (attr); -} - - -/* - * 'ippAddIntegers()' - Add an array of integer values. - * - * The @code ipp@ parameter refers to an IPP message previously created using - * the @link ippNew@, @link ippNewRequest@, or @link ippNewResponse@ functions. - * - * The @code group@ parameter specifies the IPP attribute group tag: none - * (@code IPP_TAG_ZERO@, for member attributes), document (@code IPP_TAG_DOCUMENT@), - * event notification (@code IPP_TAG_EVENT_NOTIFICATION@), operation - * (@code IPP_TAG_OPERATION@), printer (@code IPP_TAG_PRINTER@), subscription - * (@code IPP_TAG_SUBSCRIPTION@), or unsupported (@code IPP_TAG_UNSUPPORTED_GROUP@). - * - * Supported values include enum (@code IPP_TAG_ENUM@) and integer - * (@code IPP_TAG_INTEGER@). - */ - -ipp_attribute_t * /* O - New attribute */ -ippAddIntegers(ipp_t *ipp, /* I - IPP message */ - ipp_tag_t group, /* I - IPP group */ - ipp_tag_t value_tag, /* I - Type of attribute */ - const char *name, /* I - Name of attribute */ - int num_values, /* I - Number of values */ - const int *values) /* I - Values */ -{ - int i; /* Looping var */ - ipp_attribute_t *attr; /* New attribute */ - _ipp_value_t *value; /* Current value */ - - - DEBUG_printf(("ippAddIntegers(ipp=%p, group=%02x(%s), type=%02x(%s), name=\"%s\", num_values=%d, values=%p)", (void *)ipp, group, ippTagString(group), value_tag, ippTagString(value_tag), name, num_values, (void *)values)); - - value_tag &= IPP_TAG_CUPS_MASK; - - /* - * Range check input... - */ - -#if 0 - if (!ipp || !name || group < IPP_TAG_ZERO || - group == IPP_TAG_END || group >= IPP_TAG_UNSUPPORTED_VALUE || - (value_tag != IPP_TAG_INTEGER && value_tag != IPP_TAG_ENUM) || - num_values < 1) - return (NULL); -#else - if (!ipp || !name || group < IPP_TAG_ZERO || - group == IPP_TAG_END || group >= IPP_TAG_UNSUPPORTED_VALUE || - num_values < 1) - return (NULL); -#endif /* 0 */ - - /* - * Create the attribute... - */ - - if ((attr = ipp_add_attr(ipp, name, group, value_tag, num_values)) == NULL) - return (NULL); - - if (values) - { - for (i = num_values, value = attr->values; - i > 0; - i --, value ++) - value->integer = *values++; - } - - return (attr); -} - - -/* - * 'ippAddOctetString()' - Add an octetString value to an IPP message. - * - * The @code ipp@ parameter refers to an IPP message previously created using - * the @link ippNew@, @link ippNewRequest@, or @link ippNewResponse@ functions. - * - * The @code group@ parameter specifies the IPP attribute group tag: none - * (@code IPP_TAG_ZERO@, for member attributes), document (@code IPP_TAG_DOCUMENT@), - * event notification (@code IPP_TAG_EVENT_NOTIFICATION@), operation - * (@code IPP_TAG_OPERATION@), printer (@code IPP_TAG_PRINTER@), subscription - * (@code IPP_TAG_SUBSCRIPTION@), or unsupported (@code IPP_TAG_UNSUPPORTED_GROUP@). - * - * @since CUPS 1.2/macOS 10.5@ - */ - -ipp_attribute_t * /* O - New attribute */ -ippAddOctetString(ipp_t *ipp, /* I - IPP message */ - ipp_tag_t group, /* I - IPP group */ - const char *name, /* I - Name of attribute */ - const void *data, /* I - octetString data */ - int datalen) /* I - Length of data in bytes */ -{ - ipp_attribute_t *attr; /* New attribute */ - - - if (!ipp || !name || group < IPP_TAG_ZERO || - group == IPP_TAG_END || group >= IPP_TAG_UNSUPPORTED_VALUE || - datalen < 0 || datalen > IPP_MAX_LENGTH) - return (NULL); - - if ((attr = ipp_add_attr(ipp, name, group, IPP_TAG_STRING, 1)) == NULL) - return (NULL); - - /* - * Initialize the attribute data... - */ - - attr->values[0].unknown.length = datalen; - - if (data) - { - if ((attr->values[0].unknown.data = malloc((size_t)datalen)) == NULL) - { - ippDeleteAttribute(ipp, attr); - return (NULL); - } - - memcpy(attr->values[0].unknown.data, data, (size_t)datalen); - } - - /* - * Return the new attribute... - */ - - return (attr); -} - - -/* - * 'ippAddOutOfBand()' - Add an out-of-band value to an IPP message. - * - * The @code ipp@ parameter refers to an IPP message previously created using - * the @link ippNew@, @link ippNewRequest@, or @link ippNewResponse@ functions. - * - * The @code group@ parameter specifies the IPP attribute group tag: none - * (@code IPP_TAG_ZERO@, for member attributes), document (@code IPP_TAG_DOCUMENT@), - * event notification (@code IPP_TAG_EVENT_NOTIFICATION@), operation - * (@code IPP_TAG_OPERATION@), printer (@code IPP_TAG_PRINTER@), subscription - * (@code IPP_TAG_SUBSCRIPTION@), or unsupported (@code IPP_TAG_UNSUPPORTED_GROUP@). - * - * Supported out-of-band values include unsupported-value - * (@code IPP_TAG_UNSUPPORTED_VALUE@), default (@code IPP_TAG_DEFAULT@), unknown - * (@code IPP_TAG_UNKNOWN@), no-value (@code IPP_TAG_NOVALUE@), not-settable - * (@code IPP_TAG_NOTSETTABLE@), delete-attribute (@code IPP_TAG_DELETEATTR@), and - * admin-define (@code IPP_TAG_ADMINDEFINE@). - * - * @since CUPS 1.6/macOS 10.8@ - */ - -ipp_attribute_t * /* O - New attribute */ -ippAddOutOfBand(ipp_t *ipp, /* I - IPP message */ - ipp_tag_t group, /* I - IPP group */ - ipp_tag_t value_tag, /* I - Type of attribute */ - const char *name) /* I - Name of attribute */ -{ - DEBUG_printf(("ippAddOutOfBand(ipp=%p, group=%02x(%s), value_tag=%02x(%s), name=\"%s\")", (void *)ipp, group, ippTagString(group), value_tag, ippTagString(value_tag), name)); - - value_tag &= IPP_TAG_CUPS_MASK; - - /* - * Range check input... - */ - - if (!ipp || !name || group < IPP_TAG_ZERO || - group == IPP_TAG_END || group >= IPP_TAG_UNSUPPORTED_VALUE || - (value_tag != IPP_TAG_UNSUPPORTED_VALUE && - value_tag != IPP_TAG_DEFAULT && - value_tag != IPP_TAG_UNKNOWN && - value_tag != IPP_TAG_NOVALUE && - value_tag != IPP_TAG_NOTSETTABLE && - value_tag != IPP_TAG_DELETEATTR && - value_tag != IPP_TAG_ADMINDEFINE)) - return (NULL); - - /* - * Create the attribute... - */ - - return (ipp_add_attr(ipp, name, group, value_tag, 1)); -} - - -/* - * 'ippAddRange()' - Add a range of values to an IPP message. - * - * The @code ipp@ parameter refers to an IPP message previously created using - * the @link ippNew@, @link ippNewRequest@, or @link ippNewResponse@ functions. - * - * The @code group@ parameter specifies the IPP attribute group tag: none - * (@code IPP_TAG_ZERO@, for member attributes), document (@code IPP_TAG_DOCUMENT@), - * event notification (@code IPP_TAG_EVENT_NOTIFICATION@), operation - * (@code IPP_TAG_OPERATION@), printer (@code IPP_TAG_PRINTER@), subscription - * (@code IPP_TAG_SUBSCRIPTION@), or unsupported (@code IPP_TAG_UNSUPPORTED_GROUP@). - * - * The @code lower@ parameter must be less than or equal to the @code upper@ parameter. - */ - -ipp_attribute_t * /* O - New attribute */ -ippAddRange(ipp_t *ipp, /* I - IPP message */ - ipp_tag_t group, /* I - IPP group */ - const char *name, /* I - Name of attribute */ - int lower, /* I - Lower value */ - int upper) /* I - Upper value */ -{ - ipp_attribute_t *attr; /* New attribute */ - - - DEBUG_printf(("ippAddRange(ipp=%p, group=%02x(%s), name=\"%s\", lower=%d, upper=%d)", (void *)ipp, group, ippTagString(group), name, lower, upper)); - - /* - * Range check input... - */ - - if (!ipp || !name || group < IPP_TAG_ZERO || - group == IPP_TAG_END || group >= IPP_TAG_UNSUPPORTED_VALUE) - return (NULL); - - /* - * Create the attribute... - */ - - if ((attr = ipp_add_attr(ipp, name, group, IPP_TAG_RANGE, 1)) == NULL) - return (NULL); - - attr->values[0].range.lower = lower; - attr->values[0].range.upper = upper; - - return (attr); -} - - -/* - * 'ippAddRanges()' - Add ranges of values to an IPP message. - * - * The @code ipp@ parameter refers to an IPP message previously created using - * the @link ippNew@, @link ippNewRequest@, or @link ippNewResponse@ functions. - * - * The @code group@ parameter specifies the IPP attribute group tag: none - * (@code IPP_TAG_ZERO@, for member attributes), document (@code IPP_TAG_DOCUMENT@), - * event notification (@code IPP_TAG_EVENT_NOTIFICATION@), operation - * (@code IPP_TAG_OPERATION@), printer (@code IPP_TAG_PRINTER@), subscription - * (@code IPP_TAG_SUBSCRIPTION@), or unsupported (@code IPP_TAG_UNSUPPORTED_GROUP@). - */ - -ipp_attribute_t * /* O - New attribute */ -ippAddRanges(ipp_t *ipp, /* I - IPP message */ - ipp_tag_t group, /* I - IPP group */ - const char *name, /* I - Name of attribute */ - int num_values, /* I - Number of values */ - const int *lower, /* I - Lower values */ - const int *upper) /* I - Upper values */ -{ - int i; /* Looping var */ - ipp_attribute_t *attr; /* New attribute */ - _ipp_value_t *value; /* Current value */ - - - DEBUG_printf(("ippAddRanges(ipp=%p, group=%02x(%s), name=\"%s\", num_values=%d, lower=%p, upper=%p)", (void *)ipp, group, ippTagString(group), name, num_values, (void *)lower, (void *)upper)); - - /* - * Range check input... - */ - - if (!ipp || !name || group < IPP_TAG_ZERO || - group == IPP_TAG_END || group >= IPP_TAG_UNSUPPORTED_VALUE || - num_values < 1) - return (NULL); - - /* - * Create the attribute... - */ - - if ((attr = ipp_add_attr(ipp, name, group, IPP_TAG_RANGE, num_values)) == NULL) - return (NULL); - - if (lower && upper) - { - for (i = num_values, value = attr->values; - i > 0; - i --, value ++) - { - value->range.lower = *lower++; - value->range.upper = *upper++; - } - } - - return (attr); -} - - -/* - * 'ippAddResolution()' - Add a resolution value to an IPP message. - * - * The @code ipp@ parameter refers to an IPP message previously created using - * the @link ippNew@, @link ippNewRequest@, or @link ippNewResponse@ functions. - * - * The @code group@ parameter specifies the IPP attribute group tag: none - * (@code IPP_TAG_ZERO@, for member attributes), document (@code IPP_TAG_DOCUMENT@), - * event notification (@code IPP_TAG_EVENT_NOTIFICATION@), operation - * (@code IPP_TAG_OPERATION@), printer (@code IPP_TAG_PRINTER@), subscription - * (@code IPP_TAG_SUBSCRIPTION@), or unsupported (@code IPP_TAG_UNSUPPORTED_GROUP@). - */ - -ipp_attribute_t * /* O - New attribute */ -ippAddResolution(ipp_t *ipp, /* I - IPP message */ - ipp_tag_t group, /* I - IPP group */ - const char *name, /* I - Name of attribute */ - ipp_res_t units, /* I - Units for resolution */ - int xres, /* I - X resolution */ - int yres) /* I - Y resolution */ -{ - ipp_attribute_t *attr; /* New attribute */ - - - DEBUG_printf(("ippAddResolution(ipp=%p, group=%02x(%s), name=\"%s\", units=%d, xres=%d, yres=%d)", (void *)ipp, group, - ippTagString(group), name, units, xres, yres)); - - /* - * Range check input... - */ - - if (!ipp || !name || group < IPP_TAG_ZERO || - group == IPP_TAG_END || group >= IPP_TAG_UNSUPPORTED_VALUE || - units < IPP_RES_PER_INCH || units > IPP_RES_PER_CM || - xres < 0 || yres < 0) - return (NULL); - - /* - * Create the attribute... - */ - - if ((attr = ipp_add_attr(ipp, name, group, IPP_TAG_RESOLUTION, 1)) == NULL) - return (NULL); - - attr->values[0].resolution.xres = xres; - attr->values[0].resolution.yres = yres; - attr->values[0].resolution.units = units; - - return (attr); -} - - -/* - * 'ippAddResolutions()' - Add resolution values to an IPP message. - * - * The @code ipp@ parameter refers to an IPP message previously created using - * the @link ippNew@, @link ippNewRequest@, or @link ippNewResponse@ functions. - * - * The @code group@ parameter specifies the IPP attribute group tag: none - * (@code IPP_TAG_ZERO@, for member attributes), document (@code IPP_TAG_DOCUMENT@), - * event notification (@code IPP_TAG_EVENT_NOTIFICATION@), operation - * (@code IPP_TAG_OPERATION@), printer (@code IPP_TAG_PRINTER@), subscription - * (@code IPP_TAG_SUBSCRIPTION@), or unsupported (@code IPP_TAG_UNSUPPORTED_GROUP@). - */ - -ipp_attribute_t * /* O - New attribute */ -ippAddResolutions(ipp_t *ipp, /* I - IPP message */ - ipp_tag_t group, /* I - IPP group */ - const char *name, /* I - Name of attribute */ - int num_values,/* I - Number of values */ - ipp_res_t units, /* I - Units for resolution */ - const int *xres, /* I - X resolutions */ - const int *yres) /* I - Y resolutions */ -{ - int i; /* Looping var */ - ipp_attribute_t *attr; /* New attribute */ - _ipp_value_t *value; /* Current value */ - - - DEBUG_printf(("ippAddResolutions(ipp=%p, group=%02x(%s), name=\"%s\", num_value=%d, units=%d, xres=%p, yres=%p)", (void *)ipp, group, ippTagString(group), name, num_values, units, (void *)xres, (void *)yres)); - - /* - * Range check input... - */ - - if (!ipp || !name || group < IPP_TAG_ZERO || - group == IPP_TAG_END || group >= IPP_TAG_UNSUPPORTED_VALUE || - num_values < 1 || - units < IPP_RES_PER_INCH || units > IPP_RES_PER_CM) - return (NULL); - - /* - * Create the attribute... - */ - - if ((attr = ipp_add_attr(ipp, name, group, IPP_TAG_RESOLUTION, num_values)) == NULL) - return (NULL); - - if (xres && yres) - { - for (i = num_values, value = attr->values; - i > 0; - i --, value ++) - { - value->resolution.xres = *xres++; - value->resolution.yres = *yres++; - value->resolution.units = units; - } - } - - return (attr); -} - - -/* - * 'ippAddSeparator()' - Add a group separator to an IPP message. - * - * The @code ipp@ parameter refers to an IPP message previously created using - * the @link ippNew@, @link ippNewRequest@, or @link ippNewResponse@ functions. - */ - -ipp_attribute_t * /* O - New attribute */ -ippAddSeparator(ipp_t *ipp) /* I - IPP message */ -{ - DEBUG_printf(("ippAddSeparator(ipp=%p)", (void *)ipp)); - - /* - * Range check input... - */ - - if (!ipp) - return (NULL); - - /* - * Create the attribute... - */ - - return (ipp_add_attr(ipp, NULL, IPP_TAG_ZERO, IPP_TAG_ZERO, 0)); -} - - -/* - * 'ippAddString()' - Add a language-encoded string to an IPP message. - * - * The @code ipp@ parameter refers to an IPP message previously created using - * the @link ippNew@, @link ippNewRequest@, or @link ippNewResponse@ functions. - * - * The @code group@ parameter specifies the IPP attribute group tag: none - * (@code IPP_TAG_ZERO@, for member attributes), document (@code IPP_TAG_DOCUMENT@), - * event notification (@code IPP_TAG_EVENT_NOTIFICATION@), operation - * (@code IPP_TAG_OPERATION@), printer (@code IPP_TAG_PRINTER@), subscription - * (@code IPP_TAG_SUBSCRIPTION@), or unsupported (@code IPP_TAG_UNSUPPORTED_GROUP@). - * - * Supported string values include charset (@code IPP_TAG_CHARSET@), keyword - * (@code IPP_TAG_KEYWORD@), language (@code IPP_TAG_LANGUAGE@), mimeMediaType - * (@code IPP_TAG_MIMETYPE@), name (@code IPP_TAG_NAME@), nameWithLanguage - * (@code IPP_TAG_NAMELANG), text (@code IPP_TAG_TEXT@), textWithLanguage - * (@code IPP_TAG_TEXTLANG@), uri (@code IPP_TAG_URI@), and uriScheme - * (@code IPP_TAG_URISCHEME@). - * - * The @code language@ parameter must be non-@code NULL@ for nameWithLanguage and - * textWithLanguage string values and must be @code NULL@ for all other string values. - */ - -ipp_attribute_t * /* O - New attribute */ -ippAddString(ipp_t *ipp, /* I - IPP message */ - ipp_tag_t group, /* I - IPP group */ - ipp_tag_t value_tag, /* I - Type of attribute */ - const char *name, /* I - Name of attribute */ - const char *language, /* I - Language code */ - const char *value) /* I - Value */ -{ - ipp_tag_t temp_tag; /* Temporary value tag (masked) */ - ipp_attribute_t *attr; /* New attribute */ - char code[IPP_MAX_LANGUAGE]; - /* Charset/language code buffer */ - - - DEBUG_printf(("ippAddString(ipp=%p, group=%02x(%s), value_tag=%02x(%s), name=\"%s\", language=\"%s\", value=\"%s\")", (void *)ipp, group, ippTagString(group), value_tag, ippTagString(value_tag), name, language, value)); - - /* - * Range check input... - */ - - temp_tag = (ipp_tag_t)((int)value_tag & IPP_TAG_CUPS_MASK); - -#if 0 - if (!ipp || !name || group < IPP_TAG_ZERO || - group == IPP_TAG_END || group >= IPP_TAG_UNSUPPORTED_VALUE || - (temp_tag < IPP_TAG_TEXT && temp_tag != IPP_TAG_TEXTLANG && - temp_tag != IPP_TAG_NAMELANG) || temp_tag > IPP_TAG_MIMETYPE) - return (NULL); - - if ((temp_tag == IPP_TAG_TEXTLANG || temp_tag == IPP_TAG_NAMELANG) - != (language != NULL)) - return (NULL); -#else - if (!ipp || !name || group < IPP_TAG_ZERO || - group == IPP_TAG_END || group >= IPP_TAG_UNSUPPORTED_VALUE) - return (NULL); -#endif /* 0 */ - - /* - * See if we need to map charset, language, or locale values... - */ - - if (language && ((int)value_tag & IPP_TAG_CUPS_CONST) && - strcmp(language, ipp_lang_code(language, code, sizeof(code)))) - value_tag = temp_tag; /* Don't do a fast copy */ - else if (value && value_tag == (ipp_tag_t)(IPP_TAG_CHARSET | IPP_TAG_CUPS_CONST) && - strcmp(value, ipp_get_code(value, code, sizeof(code)))) - value_tag = temp_tag; /* Don't do a fast copy */ - else if (value && value_tag == (ipp_tag_t)(IPP_TAG_LANGUAGE | IPP_TAG_CUPS_CONST) && - strcmp(value, ipp_lang_code(value, code, sizeof(code)))) - value_tag = temp_tag; /* Don't do a fast copy */ - - /* - * Create the attribute... - */ - - if ((attr = ipp_add_attr(ipp, name, group, value_tag, 1)) == NULL) - return (NULL); - - /* - * Initialize the attribute data... - */ - - if ((int)value_tag & IPP_TAG_CUPS_CONST) - { - attr->values[0].string.language = (char *)language; - attr->values[0].string.text = (char *)value; - } - else - { - if (language) - attr->values[0].string.language = _cupsStrAlloc(ipp_lang_code(language, code, - sizeof(code))); - - if (value) - { - if (value_tag == IPP_TAG_CHARSET) - attr->values[0].string.text = _cupsStrAlloc(ipp_get_code(value, code, - sizeof(code))); - else if (value_tag == IPP_TAG_LANGUAGE) - attr->values[0].string.text = _cupsStrAlloc(ipp_lang_code(value, code, - sizeof(code))); - else - attr->values[0].string.text = _cupsStrAlloc(value); - } - } - - return (attr); -} - - -/* - * 'ippAddStringf()' - Add a formatted string to an IPP message. - * - * The @code ipp@ parameter refers to an IPP message previously created using - * the @link ippNew@, @link ippNewRequest@, or @link ippNewResponse@ functions. - * - * The @code group@ parameter specifies the IPP attribute group tag: none - * (@code IPP_TAG_ZERO@, for member attributes), document - * (@code IPP_TAG_DOCUMENT@), event notification - * (@code IPP_TAG_EVENT_NOTIFICATION@), operation (@code IPP_TAG_OPERATION@), - * printer (@code IPP_TAG_PRINTER@), subscription (@code IPP_TAG_SUBSCRIPTION@), - * or unsupported (@code IPP_TAG_UNSUPPORTED_GROUP@). - * - * Supported string values include charset (@code IPP_TAG_CHARSET@), keyword - * (@code IPP_TAG_KEYWORD@), language (@code IPP_TAG_LANGUAGE@), mimeMediaType - * (@code IPP_TAG_MIMETYPE@), name (@code IPP_TAG_NAME@), nameWithLanguage - * (@code IPP_TAG_NAMELANG), text (@code IPP_TAG_TEXT@), textWithLanguage - * (@code IPP_TAG_TEXTLANG@), uri (@code IPP_TAG_URI@), and uriScheme - * (@code IPP_TAG_URISCHEME@). - * - * The @code language@ parameter must be non-@code NULL@ for nameWithLanguage - * and textWithLanguage string values and must be @code NULL@ for all other - * string values. - * - * The @code format@ parameter uses formatting characters compatible with the - * printf family of standard functions. Additional arguments follow it as - * needed. The formatted string is truncated as needed to the maximum length of - * the corresponding value type. - * - * @since CUPS 1.7/macOS 10.9@ - */ - -ipp_attribute_t * /* O - New attribute */ -ippAddStringf(ipp_t *ipp, /* I - IPP message */ - ipp_tag_t group, /* I - IPP group */ - ipp_tag_t value_tag, /* I - Type of attribute */ - const char *name, /* I - Name of attribute */ - const char *language, /* I - Language code (@code NULL@ for default) */ - const char *format, /* I - Printf-style format string */ - ...) /* I - Additional arguments as needed */ -{ - ipp_attribute_t *attr; /* New attribute */ - va_list ap; /* Argument pointer */ - - - va_start(ap, format); - attr = ippAddStringfv(ipp, group, value_tag, name, language, format, ap); - va_end(ap); - - return (attr); -} - - -/* - * 'ippAddStringfv()' - Add a formatted string to an IPP message. - * - * The @code ipp@ parameter refers to an IPP message previously created using - * the @link ippNew@, @link ippNewRequest@, or @link ippNewResponse@ functions. - * - * The @code group@ parameter specifies the IPP attribute group tag: none - * (@code IPP_TAG_ZERO@, for member attributes), document - * (@code IPP_TAG_DOCUMENT@), event notification - * (@code IPP_TAG_EVENT_NOTIFICATION@), operation (@code IPP_TAG_OPERATION@), - * printer (@code IPP_TAG_PRINTER@), subscription (@code IPP_TAG_SUBSCRIPTION@), - * or unsupported (@code IPP_TAG_UNSUPPORTED_GROUP@). - * - * Supported string values include charset (@code IPP_TAG_CHARSET@), keyword - * (@code IPP_TAG_KEYWORD@), language (@code IPP_TAG_LANGUAGE@), mimeMediaType - * (@code IPP_TAG_MIMETYPE@), name (@code IPP_TAG_NAME@), nameWithLanguage - * (@code IPP_TAG_NAMELANG), text (@code IPP_TAG_TEXT@), textWithLanguage - * (@code IPP_TAG_TEXTLANG@), uri (@code IPP_TAG_URI@), and uriScheme - * (@code IPP_TAG_URISCHEME@). - * - * The @code language@ parameter must be non-@code NULL@ for nameWithLanguage - * and textWithLanguage string values and must be @code NULL@ for all other - * string values. - * - * The @code format@ parameter uses formatting characters compatible with the - * printf family of standard functions. Additional arguments are passed in the - * stdarg pointer @code ap@. The formatted string is truncated as needed to the - * maximum length of the corresponding value type. - * - * @since CUPS 1.7/macOS 10.9@ - */ - -ipp_attribute_t * /* O - New attribute */ -ippAddStringfv(ipp_t *ipp, /* I - IPP message */ - ipp_tag_t group, /* I - IPP group */ - ipp_tag_t value_tag, /* I - Type of attribute */ - const char *name, /* I - Name of attribute */ - const char *language, /* I - Language code (@code NULL@ for default) */ - const char *format, /* I - Printf-style format string */ - va_list ap) /* I - Additional arguments */ -{ - char buffer[IPP_MAX_TEXT + 4]; - /* Formatted text string */ - ssize_t bytes, /* Length of formatted value */ - max_bytes; /* Maximum number of bytes for value */ - - - /* - * Range check input... - */ - - if (!ipp || !name || group < IPP_TAG_ZERO || - group == IPP_TAG_END || group >= IPP_TAG_UNSUPPORTED_VALUE || - (value_tag < IPP_TAG_TEXT && value_tag != IPP_TAG_TEXTLANG && - value_tag != IPP_TAG_NAMELANG) || value_tag > IPP_TAG_MIMETYPE || - !format) - return (NULL); - - if ((value_tag == IPP_TAG_TEXTLANG || value_tag == IPP_TAG_NAMELANG) - != (language != NULL)) - return (NULL); - - /* - * Format the string... - */ - - if (!strcmp(format, "%s")) - { - /* - * Optimize the simple case... - */ - - const char *s = va_arg(ap, char *); - - if (!s) - s = "(null)"; - - bytes = (ssize_t)strlen(s); - strlcpy(buffer, s, sizeof(buffer)); - } - else - { - /* - * Do a full formatting of the message... - */ - - if ((bytes = vsnprintf(buffer, sizeof(buffer), format, ap)) < 0) - return (NULL); - } - - /* - * Limit the length of the string... - */ - - switch (value_tag) - { - default : - case IPP_TAG_TEXT : - case IPP_TAG_TEXTLANG : - max_bytes = IPP_MAX_TEXT; - break; - - case IPP_TAG_NAME : - case IPP_TAG_NAMELANG : - max_bytes = IPP_MAX_NAME; - break; - - case IPP_TAG_CHARSET : - max_bytes = IPP_MAX_CHARSET; - break; - - case IPP_TAG_KEYWORD : - max_bytes = IPP_MAX_KEYWORD; - break; - - case IPP_TAG_LANGUAGE : - max_bytes = IPP_MAX_LANGUAGE; - break; - - case IPP_TAG_MIMETYPE : - max_bytes = IPP_MAX_MIMETYPE; - break; - - case IPP_TAG_URI : - max_bytes = IPP_MAX_URI; - break; - - case IPP_TAG_URISCHEME : - max_bytes = IPP_MAX_URISCHEME; - break; - } - - if (bytes >= max_bytes) - { - char *bufmax, /* Buffer at max_bytes */ - *bufptr; /* Pointer into buffer */ - - bufptr = buffer + strlen(buffer) - 1; - bufmax = buffer + max_bytes - 1; - - while (bufptr > bufmax) - { - if (*bufptr & 0x80) - { - while ((*bufptr & 0xc0) == 0x80 && bufptr > buffer) - bufptr --; - } - - bufptr --; - } - - *bufptr = '\0'; - } - - /* - * Add the formatted string and return... - */ - - return (ippAddString(ipp, group, value_tag, name, language, buffer)); -} - - -/* - * 'ippAddStrings()' - Add language-encoded strings to an IPP message. - * - * The @code ipp@ parameter refers to an IPP message previously created using - * the @link ippNew@, @link ippNewRequest@, or @link ippNewResponse@ functions. - * - * The @code group@ parameter specifies the IPP attribute group tag: none - * (@code IPP_TAG_ZERO@, for member attributes), document (@code IPP_TAG_DOCUMENT@), - * event notification (@code IPP_TAG_EVENT_NOTIFICATION@), operation - * (@code IPP_TAG_OPERATION@), printer (@code IPP_TAG_PRINTER@), subscription - * (@code IPP_TAG_SUBSCRIPTION@), or unsupported (@code IPP_TAG_UNSUPPORTED_GROUP@). - * - * Supported string values include charset (@code IPP_TAG_CHARSET@), keyword - * (@code IPP_TAG_KEYWORD@), language (@code IPP_TAG_LANGUAGE@), mimeMediaType - * (@code IPP_TAG_MIMETYPE@), name (@code IPP_TAG_NAME@), nameWithLanguage - * (@code IPP_TAG_NAMELANG), text (@code IPP_TAG_TEXT@), textWithLanguage - * (@code IPP_TAG_TEXTLANG@), uri (@code IPP_TAG_URI@), and uriScheme - * (@code IPP_TAG_URISCHEME@). - * - * The @code language@ parameter must be non-@code NULL@ for nameWithLanguage and - * textWithLanguage string values and must be @code NULL@ for all other string values. - */ - -ipp_attribute_t * /* O - New attribute */ -ippAddStrings( - ipp_t *ipp, /* I - IPP message */ - ipp_tag_t group, /* I - IPP group */ - ipp_tag_t value_tag, /* I - Type of attribute */ - const char *name, /* I - Name of attribute */ - int num_values, /* I - Number of values */ - const char *language, /* I - Language code (@code NULL@ for default) */ - const char * const *values) /* I - Values */ -{ - int i; /* Looping var */ - ipp_tag_t temp_tag; /* Temporary value tag (masked) */ - ipp_attribute_t *attr; /* New attribute */ - _ipp_value_t *value; /* Current value */ - char code[32]; /* Language/charset value buffer */ - - - DEBUG_printf(("ippAddStrings(ipp=%p, group=%02x(%s), value_tag=%02x(%s), name=\"%s\", num_values=%d, language=\"%s\", values=%p)", (void *)ipp, group, ippTagString(group), value_tag, ippTagString(value_tag), name, num_values, language, (void *)values)); - - /* - * Range check input... - */ - - temp_tag = (ipp_tag_t)((int)value_tag & IPP_TAG_CUPS_MASK); - -#if 0 - if (!ipp || !name || group < IPP_TAG_ZERO || - group == IPP_TAG_END || group >= IPP_TAG_UNSUPPORTED_VALUE || - (temp_tag < IPP_TAG_TEXT && temp_tag != IPP_TAG_TEXTLANG && - temp_tag != IPP_TAG_NAMELANG) || temp_tag > IPP_TAG_MIMETYPE || - num_values < 1) - return (NULL); - - if ((temp_tag == IPP_TAG_TEXTLANG || temp_tag == IPP_TAG_NAMELANG) - != (language != NULL)) - return (NULL); -#else - if (!ipp || !name || group < IPP_TAG_ZERO || - group == IPP_TAG_END || group >= IPP_TAG_UNSUPPORTED_VALUE || - num_values < 1) - return (NULL); -#endif /* 0 */ - - /* - * See if we need to map charset, language, or locale values... - */ - - if (language && ((int)value_tag & IPP_TAG_CUPS_CONST) && - strcmp(language, ipp_lang_code(language, code, sizeof(code)))) - value_tag = temp_tag; /* Don't do a fast copy */ - else if (values && value_tag == (ipp_tag_t)(IPP_TAG_CHARSET | IPP_TAG_CUPS_CONST)) - { - for (i = 0; i < num_values; i ++) - if (strcmp(values[i], ipp_get_code(values[i], code, sizeof(code)))) - { - value_tag = temp_tag; /* Don't do a fast copy */ - break; - } - } - else if (values && value_tag == (ipp_tag_t)(IPP_TAG_LANGUAGE | IPP_TAG_CUPS_CONST)) - { - for (i = 0; i < num_values; i ++) - if (strcmp(values[i], ipp_lang_code(values[i], code, sizeof(code)))) - { - value_tag = temp_tag; /* Don't do a fast copy */ - break; - } - } - - /* - * Create the attribute... - */ - - if ((attr = ipp_add_attr(ipp, name, group, value_tag, num_values)) == NULL) - return (NULL); - - /* - * Initialize the attribute data... - */ - - for (i = num_values, value = attr->values; - i > 0; - i --, value ++) - { - if (language) - { - if (value == attr->values) - { - if ((int)value_tag & IPP_TAG_CUPS_CONST) - value->string.language = (char *)language; - else - value->string.language = _cupsStrAlloc(ipp_lang_code(language, code, - sizeof(code))); - } - else - value->string.language = attr->values[0].string.language; - } - - if (values) - { - if ((int)value_tag & IPP_TAG_CUPS_CONST) - value->string.text = (char *)*values++; - else if (value_tag == IPP_TAG_CHARSET) - value->string.text = _cupsStrAlloc(ipp_get_code(*values++, code, sizeof(code))); - else if (value_tag == IPP_TAG_LANGUAGE) - value->string.text = _cupsStrAlloc(ipp_lang_code(*values++, code, sizeof(code))); - else - value->string.text = _cupsStrAlloc(*values++); - } - } - - return (attr); -} - - -/* - * 'ippContainsInteger()' - Determine whether an attribute contains the - * specified value or is within the list of ranges. - * - * Returns non-zero when the attribute contains either a matching integer or - * enum value, or the value falls within one of the rangeOfInteger values for - * the attribute. - * - * @since CUPS 1.7/macOS 10.9@ - */ - -int /* O - 1 on a match, 0 on no match */ -ippContainsInteger( - ipp_attribute_t *attr, /* I - Attribute */ - int value) /* I - Integer/enum value */ -{ - int i; /* Looping var */ - _ipp_value_t *avalue; /* Current attribute value */ - - - /* - * Range check input... - */ - - if (!attr) - return (0); - - if (attr->value_tag != IPP_TAG_INTEGER && attr->value_tag != IPP_TAG_ENUM && - attr->value_tag != IPP_TAG_RANGE) - return (0); - - /* - * Compare... - */ - - if (attr->value_tag == IPP_TAG_RANGE) - { - for (i = attr->num_values, avalue = attr->values; i > 0; i --, avalue ++) - if (value >= avalue->range.lower && value <= avalue->range.upper) - return (1); - } - else - { - for (i = attr->num_values, avalue = attr->values; i > 0; i --, avalue ++) - if (value == avalue->integer) - return (1); - } - - return (0); -} - - -/* - * 'ippContainsString()' - Determine whether an attribute contains the - * specified string value. - * - * Returns non-zero when the attribute contains a matching charset, keyword, - * naturalLanguage, mimeMediaType, name, text, uri, or uriScheme value. - * - * @since CUPS 1.7/macOS 10.9@ - */ - -int /* O - 1 on a match, 0 on no match */ -ippContainsString( - ipp_attribute_t *attr, /* I - Attribute */ - const char *value) /* I - String value */ -{ - int i; /* Looping var */ - _ipp_value_t *avalue; /* Current attribute value */ - - - DEBUG_printf(("ippContainsString(attr=%p, value=\"%s\")", (void *)attr, value)); - - /* - * Range check input... - */ - - if (!attr || !value) - { - DEBUG_puts("1ippContainsString: Returning 0 (bad input)"); - return (0); - } - - /* - * Compare... - */ - - DEBUG_printf(("1ippContainsString: attr %s, %s with %d values.", - attr->name, ippTagString(attr->value_tag), - attr->num_values)); - - switch (attr->value_tag & IPP_TAG_CUPS_MASK) - { - case IPP_TAG_CHARSET : - case IPP_TAG_KEYWORD : - case IPP_TAG_LANGUAGE : - case IPP_TAG_URI : - case IPP_TAG_URISCHEME : - for (i = attr->num_values, avalue = attr->values; - i > 0; - i --, avalue ++) - { - DEBUG_printf(("1ippContainsString: value[%d]=\"%s\"", - attr->num_values - i, avalue->string.text)); - - if (!strcmp(value, avalue->string.text)) - { - DEBUG_puts("1ippContainsString: Returning 1 (match)"); - return (1); - } - } - - case IPP_TAG_MIMETYPE : - case IPP_TAG_NAME : - case IPP_TAG_NAMELANG : - case IPP_TAG_TEXT : - case IPP_TAG_TEXTLANG : - for (i = attr->num_values, avalue = attr->values; - i > 0; - i --, avalue ++) - { - DEBUG_printf(("1ippContainsString: value[%d]=\"%s\"", - attr->num_values - i, avalue->string.text)); - - if (!_cups_strcasecmp(value, avalue->string.text)) - { - DEBUG_puts("1ippContainsString: Returning 1 (match)"); - return (1); - } - } - - default : - break; - } - - DEBUG_puts("1ippContainsString: Returning 0 (no match)"); - - return (0); -} - - -/* - * 'ippCopyAttribute()' - Copy an attribute. - * - * The specified attribute, @code attr@, is copied to the destination IPP message. - * When @code quickcopy@ is non-zero, a "shallow" reference copy of the attribute is - * created - this should only be done as long as the original source IPP message will - * not be freed for the life of the destination. - * - * @since CUPS 1.6/macOS 10.8@ - */ - - -ipp_attribute_t * /* O - New attribute */ -ippCopyAttribute( - ipp_t *dst, /* I - Destination IPP message */ - ipp_attribute_t *srcattr, /* I - Attribute to copy */ - int quickcopy) /* I - 1 for a referenced copy, 0 for normal */ -{ - int i; /* Looping var */ - ipp_attribute_t *dstattr; /* Destination attribute */ - _ipp_value_t *srcval, /* Source value */ - *dstval; /* Destination value */ - - - DEBUG_printf(("ippCopyAttribute(dst=%p, srcattr=%p, quickcopy=%d)", (void *)dst, (void *)srcattr, quickcopy)); - - /* - * Range check input... - */ - - if (!dst || !srcattr) - return (NULL); - - /* - * Copy it... - */ - - quickcopy = quickcopy ? IPP_TAG_CUPS_CONST : 0; - - switch (srcattr->value_tag & ~IPP_TAG_CUPS_CONST) - { - case IPP_TAG_ZERO : - dstattr = ippAddSeparator(dst); - break; - - case IPP_TAG_UNSUPPORTED_VALUE : - case IPP_TAG_DEFAULT : - case IPP_TAG_UNKNOWN : - case IPP_TAG_NOVALUE : - case IPP_TAG_NOTSETTABLE : - case IPP_TAG_DELETEATTR : - case IPP_TAG_ADMINDEFINE : - dstattr = ippAddOutOfBand(dst, srcattr->group_tag, srcattr->value_tag & ~IPP_TAG_CUPS_CONST, srcattr->name); - break; - - case IPP_TAG_INTEGER : - case IPP_TAG_ENUM : - dstattr = ippAddIntegers(dst, srcattr->group_tag, srcattr->value_tag, - srcattr->name, srcattr->num_values, NULL); - if (!dstattr) - break; - - for (i = srcattr->num_values, srcval = srcattr->values, dstval = dstattr->values; - i > 0; - i --, srcval ++, dstval ++) - dstval->integer = srcval->integer; - break; - - case IPP_TAG_BOOLEAN : - dstattr = ippAddBooleans(dst, srcattr->group_tag, srcattr->name, - srcattr->num_values, NULL); - if (!dstattr) - break; - - for (i = srcattr->num_values, srcval = srcattr->values, dstval = dstattr->values; - i > 0; - i --, srcval ++, dstval ++) - dstval->boolean = srcval->boolean; - break; - - case IPP_TAG_TEXT : - case IPP_TAG_NAME : - case IPP_TAG_KEYWORD : - case IPP_TAG_URI : - case IPP_TAG_URISCHEME : - case IPP_TAG_CHARSET : - case IPP_TAG_LANGUAGE : - case IPP_TAG_MIMETYPE : - dstattr = ippAddStrings(dst, srcattr->group_tag, - (ipp_tag_t)(srcattr->value_tag | quickcopy), - srcattr->name, srcattr->num_values, NULL, NULL); - if (!dstattr) - break; - - if (quickcopy) - { - for (i = srcattr->num_values, srcval = srcattr->values, - dstval = dstattr->values; - i > 0; - i --, srcval ++, dstval ++) - dstval->string.text = srcval->string.text; - } - else if (srcattr->value_tag & IPP_TAG_CUPS_CONST) - { - for (i = srcattr->num_values, srcval = srcattr->values, - dstval = dstattr->values; - i > 0; - i --, srcval ++, dstval ++) - dstval->string.text = _cupsStrAlloc(srcval->string.text); - } - else - { - for (i = srcattr->num_values, srcval = srcattr->values, - dstval = dstattr->values; - i > 0; - i --, srcval ++, dstval ++) - dstval->string.text = _cupsStrRetain(srcval->string.text); - } - break; - - case IPP_TAG_DATE : - if (srcattr->num_values != 1) - return (NULL); - - dstattr = ippAddDate(dst, srcattr->group_tag, srcattr->name, - srcattr->values[0].date); - break; - - case IPP_TAG_RESOLUTION : - dstattr = ippAddResolutions(dst, srcattr->group_tag, srcattr->name, - srcattr->num_values, IPP_RES_PER_INCH, - NULL, NULL); - if (!dstattr) - break; - - for (i = srcattr->num_values, srcval = srcattr->values, dstval = dstattr->values; - i > 0; - i --, srcval ++, dstval ++) - { - dstval->resolution.xres = srcval->resolution.xres; - dstval->resolution.yres = srcval->resolution.yres; - dstval->resolution.units = srcval->resolution.units; - } - break; - - case IPP_TAG_RANGE : - dstattr = ippAddRanges(dst, srcattr->group_tag, srcattr->name, - srcattr->num_values, NULL, NULL); - if (!dstattr) - break; - - for (i = srcattr->num_values, srcval = srcattr->values, dstval = dstattr->values; - i > 0; - i --, srcval ++, dstval ++) - { - dstval->range.lower = srcval->range.lower; - dstval->range.upper = srcval->range.upper; - } - break; - - case IPP_TAG_TEXTLANG : - case IPP_TAG_NAMELANG : - dstattr = ippAddStrings(dst, srcattr->group_tag, - (ipp_tag_t)(srcattr->value_tag | quickcopy), - srcattr->name, srcattr->num_values, NULL, NULL); - if (!dstattr) - break; - - if (quickcopy) - { - for (i = srcattr->num_values, srcval = srcattr->values, - dstval = dstattr->values; - i > 0; - i --, srcval ++, dstval ++) - { - dstval->string.language = srcval->string.language; - dstval->string.text = srcval->string.text; - } - } - else if (srcattr->value_tag & IPP_TAG_CUPS_CONST) - { - for (i = srcattr->num_values, srcval = srcattr->values, - dstval = dstattr->values; - i > 0; - i --, srcval ++, dstval ++) - { - if (srcval == srcattr->values) - dstval->string.language = _cupsStrAlloc(srcval->string.language); - else - dstval->string.language = dstattr->values[0].string.language; - - dstval->string.text = _cupsStrAlloc(srcval->string.text); - } - } - else - { - for (i = srcattr->num_values, srcval = srcattr->values, - dstval = dstattr->values; - i > 0; - i --, srcval ++, dstval ++) - { - if (srcval == srcattr->values) - dstval->string.language = _cupsStrRetain(srcval->string.language); - else - dstval->string.language = dstattr->values[0].string.language; - - dstval->string.text = _cupsStrRetain(srcval->string.text); - } - } - break; - - case IPP_TAG_BEGIN_COLLECTION : - dstattr = ippAddCollections(dst, srcattr->group_tag, srcattr->name, - srcattr->num_values, NULL); - if (!dstattr) - break; - - for (i = srcattr->num_values, srcval = srcattr->values, dstval = dstattr->values; - i > 0; - i --, srcval ++, dstval ++) - { - dstval->collection = srcval->collection; - srcval->collection->use ++; - } - break; - - case IPP_TAG_STRING : - default : - /* TODO: Implement quick copy for unknown/octetString values */ - dstattr = ippAddIntegers(dst, srcattr->group_tag, srcattr->value_tag, - srcattr->name, srcattr->num_values, NULL); - if (!dstattr) - break; - - for (i = srcattr->num_values, srcval = srcattr->values, dstval = dstattr->values; - i > 0; - i --, srcval ++, dstval ++) - { - dstval->unknown.length = srcval->unknown.length; - - if (dstval->unknown.length > 0) - { - if ((dstval->unknown.data = malloc((size_t)dstval->unknown.length)) == NULL) - dstval->unknown.length = 0; - else - memcpy(dstval->unknown.data, srcval->unknown.data, (size_t)dstval->unknown.length); - } - } - break; /* anti-compiler-warning-code */ - } - - return (dstattr); -} - - -/* - * 'ippCopyAttributes()' - Copy attributes from one IPP message to another. - * - * Zero or more attributes are copied from the source IPP message, @code src@, to the - * destination IPP message, @code dst@. When @code quickcopy@ is non-zero, a "shallow" - * reference copy of the attribute is created - this should only be done as long as the - * original source IPP message will not be freed for the life of the destination. - * - * The @code cb@ and @code context@ parameters provide a generic way to "filter" the - * attributes that are copied - the function must return 1 to copy the attribute or - * 0 to skip it. The function may also choose to do a partial copy of the source attribute - * itself. - * - * @since CUPS 1.6/macOS 10.8@ - */ - -int /* O - 1 on success, 0 on error */ -ippCopyAttributes( - ipp_t *dst, /* I - Destination IPP message */ - ipp_t *src, /* I - Source IPP message */ - int quickcopy, /* I - 1 for a referenced copy, 0 for normal */ - ipp_copycb_t cb, /* I - Copy callback or @code NULL@ for none */ - void *context) /* I - Context pointer */ -{ - ipp_attribute_t *srcattr; /* Source attribute */ - - - DEBUG_printf(("ippCopyAttributes(dst=%p, src=%p, quickcopy=%d, cb=%p, context=%p)", (void *)dst, (void *)src, quickcopy, (void *)cb, context)); - - /* - * Range check input... - */ - - if (!dst || !src) - return (0); - - /* - * Loop through source attributes and copy as needed... - */ - - for (srcattr = src->attrs; srcattr; srcattr = srcattr->next) - if (!cb || (*cb)(context, dst, srcattr)) - if (!ippCopyAttribute(dst, srcattr, quickcopy)) - return (0); - - return (1); -} - - -/* - * 'ippDateToTime()' - Convert from RFC 2579 Date/Time format to time in - * seconds. - */ - -time_t /* O - UNIX time value */ -ippDateToTime(const ipp_uchar_t *date) /* I - RFC 2579 date info */ -{ - struct tm unixdate; /* UNIX date/time info */ - time_t t; /* Computed time */ - - - if (!date) - return (0); - - memset(&unixdate, 0, sizeof(unixdate)); - - /* - * RFC-2579 date/time format is: - * - * Byte(s) Description - * ------- ----------- - * 0-1 Year (0 to 65535) - * 2 Month (1 to 12) - * 3 Day (1 to 31) - * 4 Hours (0 to 23) - * 5 Minutes (0 to 59) - * 6 Seconds (0 to 60, 60 = "leap second") - * 7 Deciseconds (0 to 9) - * 8 +/- UTC - * 9 UTC hours (0 to 11) - * 10 UTC minutes (0 to 59) - */ - - unixdate.tm_year = ((date[0] << 8) | date[1]) - 1900; - unixdate.tm_mon = date[2] - 1; - unixdate.tm_mday = date[3]; - unixdate.tm_hour = date[4]; - unixdate.tm_min = date[5]; - unixdate.tm_sec = date[6]; - - t = mktime(&unixdate); - - if (date[8] == '-') - t += date[9] * 3600 + date[10] * 60; - else - t -= date[9] * 3600 + date[10] * 60; - - return (t); -} - - -/* - * 'ippDelete()' - Delete an IPP message. - */ - -void -ippDelete(ipp_t *ipp) /* I - IPP message */ -{ - ipp_attribute_t *attr, /* Current attribute */ - *next; /* Next attribute */ - - - DEBUG_printf(("ippDelete(ipp=%p)", (void *)ipp)); - - if (!ipp) - return; - - ipp->use --; - if (ipp->use > 0) - { - DEBUG_printf(("4debug_retain: %p IPP message (use=%d)", (void *)ipp, ipp->use)); - return; - } - - DEBUG_printf(("4debug_free: %p IPP message", (void *)ipp)); - - for (attr = ipp->attrs; attr != NULL; attr = next) - { - next = attr->next; - - DEBUG_printf(("4debug_free: %p %s %s%s (%d values)", (void *)attr, attr->name, attr->num_values > 1 ? "1setOf " : "", ippTagString(attr->value_tag), attr->num_values)); - - ipp_free_values(attr, 0, attr->num_values); - - if (attr->name) - _cupsStrFree(attr->name); - - free(attr); - } - - free(ipp); -} - - -/* - * 'ippDeleteAttribute()' - Delete a single attribute in an IPP message. - * - * @since CUPS 1.1.19/macOS 10.3@ - */ - -void -ippDeleteAttribute( - ipp_t *ipp, /* I - IPP message */ - ipp_attribute_t *attr) /* I - Attribute to delete */ -{ - ipp_attribute_t *current, /* Current attribute */ - *prev; /* Previous attribute */ - - - DEBUG_printf(("ippDeleteAttribute(ipp=%p, attr=%p(%s))", (void *)ipp, (void *)attr, attr ? attr->name : "(null)")); - - /* - * Range check input... - */ - - if (!attr) - return; - - DEBUG_printf(("4debug_free: %p %s %s%s (%d values)", (void *)attr, attr->name, attr->num_values > 1 ? "1setOf " : "", ippTagString(attr->value_tag), attr->num_values)); - - /* - * Find the attribute in the list... - */ - - if (ipp) - { - for (current = ipp->attrs, prev = NULL; - current; - prev = current, current = current->next) - if (current == attr) - { - /* - * Found it, remove the attribute from the list... - */ - - if (prev) - prev->next = current->next; - else - ipp->attrs = current->next; - - if (current == ipp->last) - ipp->last = prev; - - break; - } - - if (!current) - return; - } - - /* - * Free memory used by the attribute... - */ - - ipp_free_values(attr, 0, attr->num_values); - - if (attr->name) - _cupsStrFree(attr->name); - - free(attr); -} - - -/* - * 'ippDeleteValues()' - Delete values in an attribute. - * - * The @code element@ parameter specifies the first value to delete, starting at - * 0. It must be less than the number of values returned by @link ippGetCount@. - * - * The @code attr@ parameter may be modified as a result of setting the value. - * - * Deleting all values in an attribute deletes the attribute. - * - * @since CUPS 1.6/macOS 10.8@ - */ - -int /* O - 1 on success, 0 on failure */ -ippDeleteValues( - ipp_t *ipp, /* I - IPP message */ - ipp_attribute_t **attr, /* IO - Attribute */ - int element, /* I - Index of first value to delete (0-based) */ - int count) /* I - Number of values to delete */ -{ - /* - * Range check input... - */ - - if (!ipp || !attr || !*attr || - element < 0 || element >= (*attr)->num_values || count <= 0 || - (element + count) >= (*attr)->num_values) - return (0); - - /* - * If we are deleting all values, just delete the attribute entirely. - */ - - if (count == (*attr)->num_values) - { - ippDeleteAttribute(ipp, *attr); - *attr = NULL; - return (1); - } - - /* - * Otherwise free the values in question and return. - */ - - ipp_free_values(*attr, element, count); - - return (1); -} - - -/* - * 'ippFindAttribute()' - Find a named attribute in a request. - * - * Starting with CUPS 2.0, the attribute name can contain a hierarchical list - * of attribute and member names separated by slashes, for example - * "media-col/media-size". - */ - -ipp_attribute_t * /* O - Matching attribute */ -ippFindAttribute(ipp_t *ipp, /* I - IPP message */ - const char *name, /* I - Name of attribute */ - ipp_tag_t type) /* I - Type of attribute */ -{ - DEBUG_printf(("2ippFindAttribute(ipp=%p, name=\"%s\", type=%02x(%s))", (void *)ipp, name, type, ippTagString(type))); - - if (!ipp || !name) - return (NULL); - - /* - * Reset the current pointer... - */ - - ipp->current = NULL; - ipp->atend = 0; - - /* - * Search for the attribute... - */ - - return (ippFindNextAttribute(ipp, name, type)); -} - - -/* - * 'ippFindNextAttribute()' - Find the next named attribute in a request. - * - * Starting with CUPS 2.0, the attribute name can contain a hierarchical list - * of attribute and member names separated by slashes, for example - * "media-col/media-size". - */ - -ipp_attribute_t * /* O - Matching attribute */ -ippFindNextAttribute(ipp_t *ipp, /* I - IPP message */ - const char *name, /* I - Name of attribute */ - ipp_tag_t type) /* I - Type of attribute */ -{ - ipp_attribute_t *attr, /* Current atttribute */ - *childattr; /* Child attribute */ - ipp_tag_t value_tag; /* Value tag */ - char parent[1024], /* Parent attribute name */ - *child = NULL; /* Child attribute name */ - - - DEBUG_printf(("2ippFindNextAttribute(ipp=%p, name=\"%s\", type=%02x(%s))", (void *)ipp, name, type, ippTagString(type))); - - if (!ipp || !name) - return (NULL); - - DEBUG_printf(("3ippFindNextAttribute: atend=%d", ipp->atend)); - - if (ipp->atend) - return (NULL); - - if (strchr(name, '/')) - { - /* - * Search for child attribute... - */ - - strlcpy(parent, name, sizeof(parent)); - if ((child = strchr(parent, '/')) == NULL) - { - DEBUG_puts("3ippFindNextAttribute: Attribute name too long."); - return (NULL); - } - - *child++ = '\0'; - - if (ipp->current && ipp->current->name && ipp->current->value_tag == IPP_TAG_BEGIN_COLLECTION && !strcmp(parent, ipp->current->name)) - { - while (ipp->curindex < ipp->current->num_values) - { - if ((childattr = ippFindNextAttribute(ipp->current->values[ipp->curindex].collection, child, type)) != NULL) - return (childattr); - - ipp->curindex ++; - if (ipp->curindex < ipp->current->num_values && ipp->current->values[ipp->curindex].collection) - ipp->current->values[ipp->curindex].collection->current = NULL; - } - - ipp->prev = ipp->current; - ipp->current = ipp->current->next; - ipp->curindex = 0; - - if (!ipp->current) - { - ipp->atend = 1; - return (NULL); - } - } - - if (!ipp->current) - { - ipp->prev = NULL; - ipp->current = ipp->attrs; - ipp->curindex = 0; - } - - name = parent; - attr = ipp->current; - } - else if (ipp->current) - { - ipp->prev = ipp->current; - attr = ipp->current->next; - } - else - { - ipp->prev = NULL; - attr = ipp->attrs; - } - - for (; attr != NULL; ipp->prev = attr, attr = attr->next) - { - DEBUG_printf(("4ippFindAttribute: attr=%p, name=\"%s\"", (void *)attr, attr->name)); - - value_tag = (ipp_tag_t)(attr->value_tag & IPP_TAG_CUPS_MASK); - - if (attr->name != NULL && _cups_strcasecmp(attr->name, name) == 0 && - (value_tag == type || type == IPP_TAG_ZERO || name == parent || - (value_tag == IPP_TAG_TEXTLANG && type == IPP_TAG_TEXT) || - (value_tag == IPP_TAG_NAMELANG && type == IPP_TAG_NAME))) - { - ipp->current = attr; - - if (name == parent && attr->value_tag == IPP_TAG_BEGIN_COLLECTION) - { - int i; /* Looping var */ - - for (i = 0; i < attr->num_values; i ++) - { - if ((childattr = ippFindAttribute(attr->values[i].collection, child, type)) != NULL) - { - attr->values[0].collection->curindex = i; - return (childattr); - } - } - } - else - return (attr); - } - } - - ipp->current = NULL; - ipp->prev = NULL; - ipp->atend = 1; - - return (NULL); -} - - -/* - * 'ippFirstAttribute()' - Return the first attribute in the message. - * - * @since CUPS 1.6/macOS 10.8@ - */ - -ipp_attribute_t * /* O - First attribute or @code NULL@ if none */ -ippFirstAttribute(ipp_t *ipp) /* I - IPP message */ -{ - /* - * Range check input... - */ - - if (!ipp) - return (NULL); - - /* - * Return the first attribute... - */ - - return (ipp->current = ipp->attrs); -} - - -/* - * 'ippGetBoolean()' - Get a boolean value for an attribute. - * - * The @code element@ parameter specifies which value to get from 0 to - * @code ippGetCount(attr)@ - 1. - * - * @since CUPS 1.6/macOS 10.8@ - */ - -int /* O - Boolean value or 0 on error */ -ippGetBoolean(ipp_attribute_t *attr, /* I - IPP attribute */ - int element) /* I - Value number (0-based) */ -{ - /* - * Range check input... - */ - - if (!attr || attr->value_tag != IPP_TAG_BOOLEAN || - element < 0 || element >= attr->num_values) - return (0); - - /* - * Return the value... - */ - - return (attr->values[element].boolean); -} - - -/* - * 'ippGetCollection()' - Get a collection value for an attribute. - * - * The @code element@ parameter specifies which value to get from 0 to - * @code ippGetCount(attr)@ - 1. - * - * @since CUPS 1.6/macOS 10.8@ - */ - -ipp_t * /* O - Collection value or @code NULL@ on error */ -ippGetCollection( - ipp_attribute_t *attr, /* I - IPP attribute */ - int element) /* I - Value number (0-based) */ -{ - /* - * Range check input... - */ - - if (!attr || attr->value_tag != IPP_TAG_BEGIN_COLLECTION || - element < 0 || element >= attr->num_values) - return (NULL); - - /* - * Return the value... - */ - - return (attr->values[element].collection); -} - - -/* - * 'ippGetCount()' - Get the number of values in an attribute. - * - * @since CUPS 1.6/macOS 10.8@ - */ - -int /* O - Number of values or 0 on error */ -ippGetCount(ipp_attribute_t *attr) /* I - IPP attribute */ -{ - /* - * Range check input... - */ - - if (!attr) - return (0); - - /* - * Return the number of values... - */ - - return (attr->num_values); -} - - -/* - * 'ippGetDate()' - Get a dateTime value for an attribute. - * - * The @code element@ parameter specifies which value to get from 0 to - * @code ippGetCount(attr)@ - 1. - * - * @since CUPS 1.6/macOS 10.8@ - */ - -const ipp_uchar_t * /* O - dateTime value or @code NULL@ */ -ippGetDate(ipp_attribute_t *attr, /* I - IPP attribute */ - int element) /* I - Value number (0-based) */ -{ - /* - * Range check input... - */ - - if (!attr || attr->value_tag != IPP_TAG_DATE || - element < 0 || element >= attr->num_values) - return (NULL); - - /* - * Return the value... - */ - - return (attr->values[element].date); -} - - -/* - * 'ippGetGroupTag()' - Get the group associated with an attribute. - * - * @since CUPS 1.6/macOS 10.8@ - */ - -ipp_tag_t /* O - Group tag or @code IPP_TAG_ZERO@ on error */ -ippGetGroupTag(ipp_attribute_t *attr) /* I - IPP attribute */ -{ - /* - * Range check input... - */ - - if (!attr) - return (IPP_TAG_ZERO); - - /* - * Return the group... - */ - - return (attr->group_tag); -} - - -/* - * 'ippGetInteger()' - Get the integer/enum value for an attribute. - * - * The @code element@ parameter specifies which value to get from 0 to - * @code ippGetCount(attr)@ - 1. - * - * @since CUPS 1.6/macOS 10.8@ - */ - -int /* O - Value or 0 on error */ -ippGetInteger(ipp_attribute_t *attr, /* I - IPP attribute */ - int element) /* I - Value number (0-based) */ -{ - /* - * Range check input... - */ - - if (!attr || (attr->value_tag != IPP_TAG_INTEGER && attr->value_tag != IPP_TAG_ENUM) || - element < 0 || element >= attr->num_values) - return (0); - - /* - * Return the value... - */ - - return (attr->values[element].integer); -} - - -/* - * 'ippGetName()' - Get the attribute name. - * - * @since CUPS 1.6/macOS 10.8@ - */ - -const char * /* O - Attribute name or @code NULL@ for separators */ -ippGetName(ipp_attribute_t *attr) /* I - IPP attribute */ -{ - /* - * Range check input... - */ - - if (!attr) - return (NULL); - - /* - * Return the name... - */ - - return (attr->name); -} - - -/* - * 'ippGetOctetString()' - Get an octetString value from an IPP attribute. - * - * The @code element@ parameter specifies which value to get from 0 to - * @code ippGetCount(attr)@ - 1. - * - * @since CUPS 1.7/macOS 10.9@ - */ - -void * /* O - Pointer to octetString data */ -ippGetOctetString( - ipp_attribute_t *attr, /* I - IPP attribute */ - int element, /* I - Value number (0-based) */ - int *datalen) /* O - Length of octetString data */ -{ - /* - * Range check input... - */ - - if (!attr || attr->value_tag != IPP_TAG_STRING || - element < 0 || element >= attr->num_values) - { - if (datalen) - *datalen = 0; - - return (NULL); - } - - /* - * Return the values... - */ - - if (datalen) - *datalen = attr->values[element].unknown.length; - - return (attr->values[element].unknown.data); -} - - -/* - * 'ippGetOperation()' - Get the operation ID in an IPP message. - * - * @since CUPS 1.6/macOS 10.8@ - */ - -ipp_op_t /* O - Operation ID or 0 on error */ -ippGetOperation(ipp_t *ipp) /* I - IPP request message */ -{ - /* - * Range check input... - */ - - if (!ipp) - return ((ipp_op_t)0); - - /* - * Return the value... - */ - - return (ipp->request.op.operation_id); -} - - -/* - * 'ippGetRange()' - Get a rangeOfInteger value from an attribute. - * - * The @code element@ parameter specifies which value to get from 0 to - * @code ippGetCount(attr)@ - 1. - * - * @since CUPS 1.6/macOS 10.8@ - */ - -int /* O - Lower value of range or 0 */ -ippGetRange(ipp_attribute_t *attr, /* I - IPP attribute */ - int element, /* I - Value number (0-based) */ - int *uppervalue)/* O - Upper value of range */ -{ - /* - * Range check input... - */ - - if (!attr || attr->value_tag != IPP_TAG_RANGE || - element < 0 || element >= attr->num_values) - { - if (uppervalue) - *uppervalue = 0; - - return (0); - } - - /* - * Return the values... - */ - - if (uppervalue) - *uppervalue = attr->values[element].range.upper; - - return (attr->values[element].range.lower); -} - - -/* - * 'ippGetRequestId()' - Get the request ID from an IPP message. - * - * @since CUPS 1.6/macOS 10.8@ - */ - -int /* O - Request ID or 0 on error */ -ippGetRequestId(ipp_t *ipp) /* I - IPP message */ -{ - /* - * Range check input... - */ - - if (!ipp) - return (0); - - /* - * Return the request ID... - */ - - return (ipp->request.any.request_id); -} - - -/* - * 'ippGetResolution()' - Get a resolution value for an attribute. - * - * The @code element@ parameter specifies which value to get from 0 to - * @code ippGetCount(attr)@ - 1. - * - * @since CUPS 1.6/macOS 10.8@ - */ - -int /* O - Horizontal/cross feed resolution or 0 */ -ippGetResolution( - ipp_attribute_t *attr, /* I - IPP attribute */ - int element, /* I - Value number (0-based) */ - int *yres, /* O - Vertical/feed resolution */ - ipp_res_t *units) /* O - Units for resolution */ -{ - /* - * Range check input... - */ - - if (!attr || attr->value_tag != IPP_TAG_RESOLUTION || - element < 0 || element >= attr->num_values) - { - if (yres) - *yres = 0; - - if (units) - *units = (ipp_res_t)0; - - return (0); - } - - /* - * Return the value... - */ - - if (yres) - *yres = attr->values[element].resolution.yres; - - if (units) - *units = attr->values[element].resolution.units; - - return (attr->values[element].resolution.xres); -} - - -/* - * 'ippGetState()' - Get the IPP message state. - * - * @since CUPS 1.6/macOS 10.8@ - */ - -ipp_state_t /* O - IPP message state value */ -ippGetState(ipp_t *ipp) /* I - IPP message */ -{ - /* - * Range check input... - */ - - if (!ipp) - return (IPP_STATE_IDLE); - - /* - * Return the value... - */ - - return (ipp->state); -} - - -/* - * 'ippGetStatusCode()' - Get the status code from an IPP response or event message. - * - * @since CUPS 1.6/macOS 10.8@ - */ - -ipp_status_t /* O - Status code in IPP message */ -ippGetStatusCode(ipp_t *ipp) /* I - IPP response or event message */ -{ - /* - * Range check input... - */ - - if (!ipp) - return (IPP_STATUS_ERROR_INTERNAL); - - /* - * Return the value... - */ - - return (ipp->request.status.status_code); -} - - -/* - * 'ippGetString()' - Get the string and optionally the language code for an attribute. - * - * The @code element@ parameter specifies which value to get from 0 to - * @code ippGetCount(attr)@ - 1. - * - * @since CUPS 1.6/macOS 10.8@ - */ - -const char * -ippGetString(ipp_attribute_t *attr, /* I - IPP attribute */ - int element, /* I - Value number (0-based) */ - const char **language)/* O - Language code (@code NULL@ for don't care) */ -{ - ipp_tag_t tag; /* Value tag */ - - - /* - * Range check input... - */ - - tag = ippGetValueTag(attr); - - if (!attr || element < 0 || element >= attr->num_values || (tag != IPP_TAG_TEXTLANG && tag != IPP_TAG_NAMELANG && (tag < IPP_TAG_TEXT || tag > IPP_TAG_MIMETYPE))) - return (NULL); - - /* - * Return the value... - */ - - if (language) - *language = attr->values[element].string.language; - - return (attr->values[element].string.text); -} - - -/* - * 'ippGetValueTag()' - Get the value tag for an attribute. - * - * @since CUPS 1.6/macOS 10.8@ - */ - -ipp_tag_t /* O - Value tag or @code IPP_TAG_ZERO@ on error */ -ippGetValueTag(ipp_attribute_t *attr) /* I - IPP attribute */ -{ - /* - * Range check input... - */ - - if (!attr) - return (IPP_TAG_ZERO); - - /* - * Return the value... - */ - - return (attr->value_tag & IPP_TAG_CUPS_MASK); -} - - -/* - * 'ippGetVersion()' - Get the major and minor version number from an IPP message. - * - * @since CUPS 1.6/macOS 10.8@ - */ - -int /* O - Major version number or 0 on error */ -ippGetVersion(ipp_t *ipp, /* I - IPP message */ - int *minor) /* O - Minor version number or @code NULL@ for don't care */ -{ - /* - * Range check input... - */ - - if (!ipp) - { - if (minor) - *minor = 0; - - return (0); - } - - /* - * Return the value... - */ - - if (minor) - *minor = ipp->request.any.version[1]; - - return (ipp->request.any.version[0]); -} - - -/* - * 'ippLength()' - Compute the length of an IPP message. - */ - -size_t /* O - Size of IPP message */ -ippLength(ipp_t *ipp) /* I - IPP message */ -{ - return (ipp_length(ipp, 0)); -} - - -/* - * 'ippNextAttribute()' - Return the next attribute in the message. - * - * @since CUPS 1.6/macOS 10.8@ - */ - -ipp_attribute_t * /* O - Next attribute or @code NULL@ if none */ -ippNextAttribute(ipp_t *ipp) /* I - IPP message */ -{ - /* - * Range check input... - */ - - if (!ipp || !ipp->current) - return (NULL); - - /* - * Return the next attribute... - */ - - return (ipp->current = ipp->current->next); -} - - -/* - * 'ippNew()' - Allocate a new IPP message. - */ - -ipp_t * /* O - New IPP message */ -ippNew(void) -{ - ipp_t *temp; /* New IPP message */ - _cups_globals_t *cg = _cupsGlobals(); - /* Global data */ - - - DEBUG_puts("ippNew()"); - - if ((temp = (ipp_t *)calloc(1, sizeof(ipp_t))) != NULL) - { - /* - * Set default version - usually 2.0... - */ - - DEBUG_printf(("4debug_alloc: %p IPP message", (void *)temp)); - - if (cg->server_version == 0) - _cupsSetDefaults(); - - temp->request.any.version[0] = (ipp_uchar_t)(cg->server_version / 10); - temp->request.any.version[1] = (ipp_uchar_t)(cg->server_version % 10); - temp->use = 1; - } - - DEBUG_printf(("1ippNew: Returning %p", (void *)temp)); - - return (temp); -} - - -/* - * 'ippNewRequest()' - Allocate a new IPP request message. - * - * The new request message is initialized with the "attributes-charset" and - * "attributes-natural-language" attributes added. The - * "attributes-natural-language" value is derived from the current locale. - * - * @since CUPS 1.2/macOS 10.5@ - */ - -ipp_t * /* O - IPP request message */ -ippNewRequest(ipp_op_t op) /* I - Operation code */ -{ - ipp_t *request; /* IPP request message */ - cups_lang_t *language; /* Current language localization */ - static int request_id = 0; /* Current request ID */ - static _cups_mutex_t request_mutex = _CUPS_MUTEX_INITIALIZER; - /* Mutex for request ID */ - - - DEBUG_printf(("ippNewRequest(op=%02x(%s))", op, ippOpString(op))); - - /* - * Create a new IPP message... - */ - - if ((request = ippNew()) == NULL) - return (NULL); - - /* - * Set the operation and request ID... - */ - - _cupsMutexLock(&request_mutex); - - request->request.op.operation_id = op; - request->request.op.request_id = ++request_id; - - _cupsMutexUnlock(&request_mutex); - - /* - * Use UTF-8 as the character set... - */ - - ippAddString(request, IPP_TAG_OPERATION, IPP_TAG_CHARSET, - "attributes-charset", NULL, "utf-8"); - - /* - * Get the language from the current locale... - */ - - language = cupsLangDefault(); - - ippAddString(request, IPP_TAG_OPERATION, IPP_TAG_LANGUAGE, - "attributes-natural-language", NULL, language->language); - - /* - * Return the new request... - */ - - return (request); -} - - -/* - * 'ippNewResponse()' - Allocate a new IPP response message. - * - * The new response message is initialized with the same "version-number", - * "request-id", "attributes-charset", and "attributes-natural-language" as the - * provided request message. If the "attributes-charset" or - * "attributes-natural-language" attributes are missing from the request, - * 'utf-8' and a value derived from the current locale are substituted, - * respectively. - * - * @since CUPS 1.7/macOS 10.9@ - */ - -ipp_t * /* O - IPP response message */ -ippNewResponse(ipp_t *request) /* I - IPP request message */ -{ - ipp_t *response; /* IPP response message */ - ipp_attribute_t *attr; /* Current attribute */ - - - /* - * Range check input... - */ - - if (!request) - return (NULL); - - /* - * Create a new IPP message... - */ - - if ((response = ippNew()) == NULL) - return (NULL); - - /* - * Copy the request values over to the response... - */ - - response->request.status.version[0] = request->request.op.version[0]; - response->request.status.version[1] = request->request.op.version[1]; - response->request.status.request_id = request->request.op.request_id; - - /* - * The first attribute MUST be attributes-charset... - */ - - attr = request->attrs; - - if (attr && attr->name && !strcmp(attr->name, "attributes-charset") && - attr->group_tag == IPP_TAG_OPERATION && - attr->value_tag == IPP_TAG_CHARSET && - attr->num_values == 1) - { - /* - * Copy charset from request... - */ - - ippAddString(response, IPP_TAG_OPERATION, IPP_TAG_CHARSET, - "attributes-charset", NULL, attr->values[0].string.text); - } - else - { - /* - * Use "utf-8" as the default... - */ - - ippAddString(response, IPP_TAG_OPERATION, IPP_TAG_CHARSET, - "attributes-charset", NULL, "utf-8"); - } - - /* - * Then attributes-natural-language... - */ - - if (attr) - attr = attr->next; - - if (attr && attr->name && - !strcmp(attr->name, "attributes-natural-language") && - attr->group_tag == IPP_TAG_OPERATION && - attr->value_tag == IPP_TAG_LANGUAGE && - attr->num_values == 1) - { - /* - * Copy language from request... - */ - - ippAddString(response, IPP_TAG_OPERATION, IPP_TAG_LANGUAGE, - "attributes-natural-language", NULL, - attr->values[0].string.text); - } - else - { - /* - * Use the language from the current locale... - */ - - cups_lang_t *language = cupsLangDefault(); - /* Current locale */ - - ippAddString(response, IPP_TAG_OPERATION, IPP_TAG_LANGUAGE, - "attributes-natural-language", NULL, language->language); - } - - return (response); -} - - -/* - * 'ippRead()' - Read data for an IPP message from a HTTP connection. - */ - -ipp_state_t /* O - Current state */ -ippRead(http_t *http, /* I - HTTP connection */ - ipp_t *ipp) /* I - IPP data */ -{ - DEBUG_printf(("ippRead(http=%p, ipp=%p), data_remaining=" CUPS_LLFMT, (void *)http, (void *)ipp, CUPS_LLCAST (http ? http->data_remaining : -1))); - - if (!http) - return (IPP_STATE_ERROR); - - DEBUG_printf(("2ippRead: http->state=%d, http->used=%d", http->state, http->used)); - - return (ippReadIO(http, (ipp_iocb_t)ipp_read_http, http->blocking, NULL, - ipp)); -} - - -/* - * 'ippReadFile()' - Read data for an IPP message from a file. - * - * @since CUPS 1.1.19/macOS 10.3@ - */ - -ipp_state_t /* O - Current state */ -ippReadFile(int fd, /* I - HTTP data */ - ipp_t *ipp) /* I - IPP data */ -{ - DEBUG_printf(("ippReadFile(fd=%d, ipp=%p)", fd, (void *)ipp)); - - return (ippReadIO(&fd, (ipp_iocb_t)ipp_read_file, 1, NULL, ipp)); -} - - -/* - * 'ippReadIO()' - Read data for an IPP message. - * - * @since CUPS 1.2/macOS 10.5@ - */ - -ipp_state_t /* O - Current state */ -ippReadIO(void *src, /* I - Data source */ - ipp_iocb_t cb, /* I - Read callback function */ - int blocking, /* I - Use blocking IO? */ - ipp_t *parent, /* I - Parent request, if any */ - ipp_t *ipp) /* I - IPP data */ -{ - int n; /* Length of data */ - unsigned char *buffer, /* Data buffer */ - string[IPP_MAX_TEXT], - /* Small string buffer */ - *bufptr; /* Pointer into buffer */ - ipp_attribute_t *attr; /* Current attribute */ - ipp_tag_t tag; /* Current tag */ - ipp_tag_t value_tag; /* Current value tag */ - _ipp_value_t *value; /* Current value */ - - - DEBUG_printf(("ippReadIO(src=%p, cb=%p, blocking=%d, parent=%p, ipp=%p)", (void *)src, (void *)cb, blocking, (void *)parent, (void *)ipp)); - DEBUG_printf(("2ippReadIO: ipp->state=%d", ipp ? ipp->state : IPP_STATE_ERROR)); - - if (!src || !ipp) - return (IPP_STATE_ERROR); - - if ((buffer = (unsigned char *)_cupsBufferGet(IPP_BUF_SIZE)) == NULL) - { - DEBUG_puts("1ippReadIO: Unable to get read buffer."); - return (IPP_STATE_ERROR); - } - - switch (ipp->state) - { - case IPP_STATE_IDLE : - ipp->state ++; /* Avoid common problem... */ - - case IPP_STATE_HEADER : - if (parent == NULL) - { - /* - * Get the request header... - */ - - if ((*cb)(src, buffer, 8) < 8) - { - DEBUG_puts("1ippReadIO: Unable to read header."); - _cupsBufferRelease((char *)buffer); - return (IPP_STATE_ERROR); - } - - /* - * Then copy the request header over... - */ - - ipp->request.any.version[0] = buffer[0]; - ipp->request.any.version[1] = buffer[1]; - ipp->request.any.op_status = (buffer[2] << 8) | buffer[3]; - ipp->request.any.request_id = (((((buffer[4] << 8) | buffer[5]) << 8) | - buffer[6]) << 8) | buffer[7]; - - DEBUG_printf(("2ippReadIO: version=%d.%d", buffer[0], buffer[1])); - DEBUG_printf(("2ippReadIO: op_status=%04x", - ipp->request.any.op_status)); - DEBUG_printf(("2ippReadIO: request_id=%d", - ipp->request.any.request_id)); - } - - ipp->state = IPP_STATE_ATTRIBUTE; - ipp->current = NULL; - ipp->curtag = IPP_TAG_ZERO; - ipp->prev = ipp->last; - - /* - * If blocking is disabled, stop here... - */ - - if (!blocking) - break; - - case IPP_STATE_ATTRIBUTE : - for (;;) - { - if ((*cb)(src, buffer, 1) < 1) - { - DEBUG_puts("1ippReadIO: Callback returned EOF/error"); - _cupsBufferRelease((char *)buffer); - return (IPP_STATE_ERROR); - } - - DEBUG_printf(("2ippReadIO: ipp->current=%p, ipp->prev=%p", (void *)ipp->current, (void *)ipp->prev)); - - /* - * Read this attribute... - */ - - tag = (ipp_tag_t)buffer[0]; - if (tag == IPP_TAG_EXTENSION) - { - /* - * Read 32-bit "extension" tag... - */ - - if ((*cb)(src, buffer, 4) < 1) - { - DEBUG_puts("1ippReadIO: Callback returned EOF/error"); - _cupsBufferRelease((char *)buffer); - return (IPP_STATE_ERROR); - } - - tag = (ipp_tag_t)((((((buffer[0] << 8) | buffer[1]) << 8) | - buffer[2]) << 8) | buffer[3]); - - if (tag & IPP_TAG_CUPS_CONST) - { - /* - * Fail if the high bit is set in the tag... - */ - - _cupsSetError(IPP_STATUS_ERROR_INTERNAL, _("IPP extension tag larger than 0x7FFFFFFF."), 1); - DEBUG_printf(("1ippReadIO: bad tag 0x%x.", tag)); - _cupsBufferRelease((char *)buffer); - return (IPP_STATE_ERROR); - } - } - - if (tag == IPP_TAG_END) - { - /* - * No more attributes left... - */ - - DEBUG_puts("2ippReadIO: IPP_TAG_END."); - - ipp->state = IPP_STATE_DATA; - break; - } - else if (tag < IPP_TAG_UNSUPPORTED_VALUE) - { - /* - * Group tag... Set the current group and continue... - */ - - if (ipp->curtag == tag) - ipp->prev = ippAddSeparator(ipp); - else if (ipp->current) - ipp->prev = ipp->current; - - ipp->curtag = tag; - ipp->current = NULL; - DEBUG_printf(("2ippReadIO: group tag=%x(%s), ipp->prev=%p", tag, ippTagString(tag), (void *)ipp->prev)); - continue; - } - - DEBUG_printf(("2ippReadIO: value tag=%x(%s)", tag, - ippTagString(tag))); - - /* - * Get the name... - */ - - if ((*cb)(src, buffer, 2) < 2) - { - DEBUG_puts("1ippReadIO: unable to read name length."); - _cupsBufferRelease((char *)buffer); - return (IPP_STATE_ERROR); - } - - n = (buffer[0] << 8) | buffer[1]; - - if (n >= IPP_BUF_SIZE) - { - _cupsSetError(IPP_STATUS_ERROR_INTERNAL, _("IPP name larger than 32767 bytes."), 1); - DEBUG_printf(("1ippReadIO: bad name length %d.", n)); - _cupsBufferRelease((char *)buffer); - return (IPP_STATE_ERROR); - } - - DEBUG_printf(("2ippReadIO: name length=%d", n)); - - if (n == 0 && tag != IPP_TAG_MEMBERNAME && - tag != IPP_TAG_END_COLLECTION) - { - /* - * More values for current attribute... - */ - - if (ipp->current == NULL) - { - _cupsSetError(IPP_STATUS_ERROR_INTERNAL, _("IPP attribute has no name."), 1); - DEBUG_puts("1ippReadIO: Attribute without name and no current."); - _cupsBufferRelease((char *)buffer); - return (IPP_STATE_ERROR); - } - - attr = ipp->current; - value_tag = (ipp_tag_t)(attr->value_tag & IPP_TAG_CUPS_MASK); - - /* - * Make sure we aren't adding a new value of a different - * type... - */ - - if (value_tag == IPP_TAG_ZERO) - { - /* - * Setting the value of a collection member... - */ - - attr->value_tag = tag; - } - else if (value_tag == IPP_TAG_TEXTLANG || - value_tag == IPP_TAG_NAMELANG || - (value_tag >= IPP_TAG_TEXT && - value_tag <= IPP_TAG_MIMETYPE)) - { - /* - * String values can sometimes come across in different - * forms; accept sets of differing values... - */ - - if (tag != IPP_TAG_TEXTLANG && tag != IPP_TAG_NAMELANG && - (tag < IPP_TAG_TEXT || tag > IPP_TAG_MIMETYPE) && - tag != IPP_TAG_NOVALUE) - { - _cupsSetError(IPP_STATUS_ERROR_INTERNAL, - _("IPP 1setOf attribute with incompatible value " - "tags."), 1); - DEBUG_printf(("1ippReadIO: 1setOf value tag %x(%s) != %x(%s)", - value_tag, ippTagString(value_tag), tag, - ippTagString(tag))); - _cupsBufferRelease((char *)buffer); - return (IPP_STATE_ERROR); - } - - if (value_tag != tag) - { - DEBUG_printf(("1ippReadIO: Converting %s attribute from %s to %s.", - attr->name, ippTagString(value_tag), ippTagString(tag))); - ippSetValueTag(ipp, &attr, tag); - } - } - else if (value_tag == IPP_TAG_INTEGER || - value_tag == IPP_TAG_RANGE) - { - /* - * Integer and rangeOfInteger values can sometimes be mixed; accept - * sets of differing values... - */ - - if (tag != IPP_TAG_INTEGER && tag != IPP_TAG_RANGE) - { - _cupsSetError(IPP_STATUS_ERROR_INTERNAL, - _("IPP 1setOf attribute with incompatible value " - "tags."), 1); - DEBUG_printf(("1ippReadIO: 1setOf value tag %x(%s) != %x(%s)", - value_tag, ippTagString(value_tag), tag, - ippTagString(tag))); - _cupsBufferRelease((char *)buffer); - return (IPP_STATE_ERROR); - } - - if (value_tag == IPP_TAG_INTEGER && tag == IPP_TAG_RANGE) - { - /* - * Convert integer values to rangeOfInteger values... - */ - - DEBUG_printf(("1ippReadIO: Converting %s attribute to " - "rangeOfInteger.", attr->name)); - ippSetValueTag(ipp, &attr, IPP_TAG_RANGE); - } - } - else if (value_tag != tag) - { - _cupsSetError(IPP_STATUS_ERROR_INTERNAL, - _("IPP 1setOf attribute with incompatible value " - "tags."), 1); - DEBUG_printf(("1ippReadIO: value tag %x(%s) != %x(%s)", - value_tag, ippTagString(value_tag), tag, - ippTagString(tag))); - _cupsBufferRelease((char *)buffer); - return (IPP_STATE_ERROR); - } - - /* - * Finally, reallocate the attribute array as needed... - */ - - if ((value = ipp_set_value(ipp, &attr, attr->num_values)) == NULL) - { - _cupsBufferRelease((char *)buffer); - return (IPP_STATE_ERROR); - } - } - else if (tag == IPP_TAG_MEMBERNAME) - { - /* - * Name must be length 0! - */ - - if (n) - { - _cupsSetError(IPP_STATUS_ERROR_INTERNAL, _("IPP member name is not empty."), 1); - DEBUG_puts("1ippReadIO: member name not empty."); - _cupsBufferRelease((char *)buffer); - return (IPP_STATE_ERROR); - } - - if (ipp->current) - ipp->prev = ipp->current; - - attr = ipp->current = ipp_add_attr(ipp, NULL, ipp->curtag, IPP_TAG_ZERO, 1); - if (!attr) - { - _cupsSetHTTPError(HTTP_STATUS_ERROR); - DEBUG_puts("1ippReadIO: unable to allocate attribute."); - _cupsBufferRelease((char *)buffer); - return (IPP_STATE_ERROR); - } - - DEBUG_printf(("2ippReadIO: membername, ipp->current=%p, ipp->prev=%p", (void *)ipp->current, (void *)ipp->prev)); - - value = attr->values; - } - else if (tag != IPP_TAG_END_COLLECTION) - { - /* - * New attribute; read the name and add it... - */ - - if ((*cb)(src, buffer, (size_t)n) < n) - { - DEBUG_puts("1ippReadIO: unable to read name."); - _cupsBufferRelease((char *)buffer); - return (IPP_STATE_ERROR); - } - - buffer[n] = '\0'; - - if (ipp->current) - ipp->prev = ipp->current; - - if ((attr = ipp->current = ipp_add_attr(ipp, (char *)buffer, ipp->curtag, tag, - 1)) == NULL) - { - _cupsSetHTTPError(HTTP_STATUS_ERROR); - DEBUG_puts("1ippReadIO: unable to allocate attribute."); - _cupsBufferRelease((char *)buffer); - return (IPP_STATE_ERROR); - } - - DEBUG_printf(("2ippReadIO: name=\"%s\", ipp->current=%p, ipp->prev=%p", buffer, (void *)ipp->current, (void *)ipp->prev)); - - value = attr->values; - } - else - { - attr = NULL; - value = NULL; - } - - if ((*cb)(src, buffer, 2) < 2) - { - DEBUG_puts("1ippReadIO: unable to read value length."); - _cupsBufferRelease((char *)buffer); - return (IPP_STATE_ERROR); - } - - n = (buffer[0] << 8) | buffer[1]; - DEBUG_printf(("2ippReadIO: value length=%d", n)); - - if (n >= IPP_BUF_SIZE) - { - _cupsSetError(IPP_STATUS_ERROR_INTERNAL, - _("IPP value larger than 32767 bytes."), 1); - DEBUG_printf(("1ippReadIO: bad value length %d.", n)); - _cupsBufferRelease((char *)buffer); - return (IPP_STATE_ERROR); - } - - switch (tag) - { - case IPP_TAG_INTEGER : - case IPP_TAG_ENUM : - if (n != 4) - { - if (tag == IPP_TAG_INTEGER) - _cupsSetError(IPP_STATUS_ERROR_INTERNAL, - _("IPP integer value not 4 bytes."), 1); - else - _cupsSetError(IPP_STATUS_ERROR_INTERNAL, - _("IPP enum value not 4 bytes."), 1); - DEBUG_printf(("1ippReadIO: bad integer value length %d.", n)); - _cupsBufferRelease((char *)buffer); - return (IPP_STATE_ERROR); - } - - if ((*cb)(src, buffer, 4) < 4) - { - DEBUG_puts("1ippReadIO: Unable to read integer value."); - _cupsBufferRelease((char *)buffer); - return (IPP_STATE_ERROR); - } - - n = (((((buffer[0] << 8) | buffer[1]) << 8) | buffer[2]) << 8) | - buffer[3]; - - if (attr->value_tag == IPP_TAG_RANGE) - value->range.lower = value->range.upper = n; - else - value->integer = n; - break; - - case IPP_TAG_BOOLEAN : - if (n != 1) - { - _cupsSetError(IPP_STATUS_ERROR_INTERNAL, _("IPP boolean value not 1 byte."), - 1); - DEBUG_printf(("1ippReadIO: bad boolean value length %d.", n)); - _cupsBufferRelease((char *)buffer); - return (IPP_STATE_ERROR); - } - - if ((*cb)(src, buffer, 1) < 1) - { - DEBUG_puts("1ippReadIO: Unable to read boolean value."); - _cupsBufferRelease((char *)buffer); - return (IPP_STATE_ERROR); - } - - value->boolean = (char)buffer[0]; - break; - - case IPP_TAG_NOVALUE : - case IPP_TAG_NOTSETTABLE : - case IPP_TAG_DELETEATTR : - case IPP_TAG_ADMINDEFINE : - /* - * These value types are not supposed to have values, however - * some vendors (Brother) do not implement IPP correctly and so - * we need to map non-empty values to text... - */ - - if (attr->value_tag == tag) - { - if (n == 0) - break; - - attr->value_tag = IPP_TAG_TEXT; - } - - case IPP_TAG_TEXT : - case IPP_TAG_NAME : - case IPP_TAG_KEYWORD : - case IPP_TAG_URI : - case IPP_TAG_URISCHEME : - case IPP_TAG_CHARSET : - case IPP_TAG_LANGUAGE : - case IPP_TAG_MIMETYPE : - if (n > 0) - { - if ((*cb)(src, buffer, (size_t)n) < n) - { - DEBUG_puts("1ippReadIO: unable to read string value."); - _cupsBufferRelease((char *)buffer); - return (IPP_STATE_ERROR); - } - } - - buffer[n] = '\0'; - value->string.text = _cupsStrAlloc((char *)buffer); - DEBUG_printf(("2ippReadIO: value=\"%s\"", value->string.text)); - break; - - case IPP_TAG_DATE : - if (n != 11) - { - _cupsSetError(IPP_STATUS_ERROR_INTERNAL, _("IPP date value not 11 bytes."), 1); - DEBUG_printf(("1ippReadIO: bad date value length %d.", n)); - _cupsBufferRelease((char *)buffer); - return (IPP_STATE_ERROR); - } - - if ((*cb)(src, value->date, 11) < 11) - { - DEBUG_puts("1ippReadIO: Unable to read date value."); - _cupsBufferRelease((char *)buffer); - return (IPP_STATE_ERROR); - } - break; - - case IPP_TAG_RESOLUTION : - if (n != 9) - { - _cupsSetError(IPP_STATUS_ERROR_INTERNAL, - _("IPP resolution value not 9 bytes."), 1); - DEBUG_printf(("1ippReadIO: bad resolution value length %d.", n)); - _cupsBufferRelease((char *)buffer); - return (IPP_STATE_ERROR); - } - - if ((*cb)(src, buffer, 9) < 9) - { - DEBUG_puts("1ippReadIO: Unable to read resolution value."); - _cupsBufferRelease((char *)buffer); - return (IPP_STATE_ERROR); - } - - value->resolution.xres = - (((((buffer[0] << 8) | buffer[1]) << 8) | buffer[2]) << 8) | - buffer[3]; - value->resolution.yres = - (((((buffer[4] << 8) | buffer[5]) << 8) | buffer[6]) << 8) | - buffer[7]; - value->resolution.units = - (ipp_res_t)buffer[8]; - break; - - case IPP_TAG_RANGE : - if (n != 8) - { - _cupsSetError(IPP_STATUS_ERROR_INTERNAL, - _("IPP rangeOfInteger value not 8 bytes."), 1); - DEBUG_printf(("1ippReadIO: bad rangeOfInteger value length " - "%d.", n)); - _cupsBufferRelease((char *)buffer); - return (IPP_STATE_ERROR); - } - - if ((*cb)(src, buffer, 8) < 8) - { - DEBUG_puts("1ippReadIO: Unable to read range value."); - _cupsBufferRelease((char *)buffer); - return (IPP_STATE_ERROR); - } - - value->range.lower = - (((((buffer[0] << 8) | buffer[1]) << 8) | buffer[2]) << 8) | - buffer[3]; - value->range.upper = - (((((buffer[4] << 8) | buffer[5]) << 8) | buffer[6]) << 8) | - buffer[7]; - break; - - case IPP_TAG_TEXTLANG : - case IPP_TAG_NAMELANG : - if (n < 4) - { - if (tag == IPP_TAG_TEXTLANG) - _cupsSetError(IPP_STATUS_ERROR_INTERNAL, - _("IPP textWithLanguage value less than " - "minimum 4 bytes."), 1); - else - _cupsSetError(IPP_STATUS_ERROR_INTERNAL, - _("IPP nameWithLanguage value less than " - "minimum 4 bytes."), 1); - DEBUG_printf(("1ippReadIO: bad stringWithLanguage value " - "length %d.", n)); - _cupsBufferRelease((char *)buffer); - return (IPP_STATE_ERROR); - } - - if ((*cb)(src, buffer, (size_t)n) < n) - { - DEBUG_puts("1ippReadIO: Unable to read string w/language " - "value."); - _cupsBufferRelease((char *)buffer); - return (IPP_STATE_ERROR); - } - - bufptr = buffer; - - /* - * text-with-language and name-with-language are composite - * values: - * - * language-length - * language - * text-length - * text - */ - - n = (bufptr[0] << 8) | bufptr[1]; - - if ((bufptr + 2 + n) >= (buffer + IPP_BUF_SIZE) || n >= (int)sizeof(string)) - { - _cupsSetError(IPP_STATUS_ERROR_INTERNAL, - _("IPP language length overflows value."), 1); - DEBUG_printf(("1ippReadIO: bad language value length %d.", - n)); - _cupsBufferRelease((char *)buffer); - return (IPP_STATE_ERROR); - } - else if (n >= IPP_MAX_LANGUAGE) - { - _cupsSetError(IPP_STATUS_ERROR_INTERNAL, - _("IPP language length too large."), 1); - DEBUG_printf(("1ippReadIO: bad language value length %d.", - n)); - _cupsBufferRelease((char *)buffer); - return (IPP_STATE_ERROR); - } - - memcpy(string, bufptr + 2, (size_t)n); - string[n] = '\0'; - - value->string.language = _cupsStrAlloc((char *)string); - - bufptr += 2 + n; - n = (bufptr[0] << 8) | bufptr[1]; - - if ((bufptr + 2 + n) >= (buffer + IPP_BUF_SIZE)) - { - _cupsSetError(IPP_STATUS_ERROR_INTERNAL, - _("IPP string length overflows value."), 1); - DEBUG_printf(("1ippReadIO: bad string value length %d.", n)); - _cupsBufferRelease((char *)buffer); - return (IPP_STATE_ERROR); - } - - bufptr[2 + n] = '\0'; - value->string.text = _cupsStrAlloc((char *)bufptr + 2); - break; - - case IPP_TAG_BEGIN_COLLECTION : - /* - * Oh, boy, here comes a collection value, so read it... - */ - - value->collection = ippNew(); - - if (n > 0) - { - _cupsSetError(IPP_STATUS_ERROR_INTERNAL, - _("IPP begCollection value not 0 bytes."), 1); - DEBUG_puts("1ippReadIO: begCollection tag with value length " - "> 0."); - _cupsBufferRelease((char *)buffer); - return (IPP_STATE_ERROR); - } - - if (ippReadIO(src, cb, 1, ipp, value->collection) == IPP_STATE_ERROR) - { - DEBUG_puts("1ippReadIO: Unable to read collection value."); - _cupsBufferRelease((char *)buffer); - return (IPP_STATE_ERROR); - } - break; - - case IPP_TAG_END_COLLECTION : - _cupsBufferRelease((char *)buffer); - - if (n > 0) - { - _cupsSetError(IPP_STATUS_ERROR_INTERNAL, - _("IPP endCollection value not 0 bytes."), 1); - DEBUG_puts("1ippReadIO: endCollection tag with value length " - "> 0."); - return (IPP_STATE_ERROR); - } - - DEBUG_puts("1ippReadIO: endCollection tag..."); - return (ipp->state = IPP_STATE_DATA); - - case IPP_TAG_MEMBERNAME : - /* - * The value the name of the member in the collection, which - * we need to carry over... - */ - - if (!attr) - { - _cupsSetError(IPP_STATUS_ERROR_INTERNAL, - _("IPP memberName with no attribute."), 1); - DEBUG_puts("1ippReadIO: Member name without attribute."); - _cupsBufferRelease((char *)buffer); - return (IPP_STATE_ERROR); - } - else if (n == 0) - { - _cupsSetError(IPP_STATUS_ERROR_INTERNAL, - _("IPP memberName value is empty."), 1); - DEBUG_puts("1ippReadIO: Empty member name value."); - _cupsBufferRelease((char *)buffer); - return (IPP_STATE_ERROR); - } - else if ((*cb)(src, buffer, (size_t)n) < n) - { - DEBUG_puts("1ippReadIO: Unable to read member name value."); - _cupsBufferRelease((char *)buffer); - return (IPP_STATE_ERROR); - } - - buffer[n] = '\0'; - attr->name = _cupsStrAlloc((char *)buffer); - - /* - * Since collection members are encoded differently than - * regular attributes, make sure we don't start with an - * empty value... - */ - - attr->num_values --; - - DEBUG_printf(("2ippReadIO: member name=\"%s\"", attr->name)); - break; - - default : /* Other unsupported values */ - if (tag == IPP_TAG_STRING && n > IPP_MAX_LENGTH) - { - _cupsSetError(IPP_STATUS_ERROR_INTERNAL, - _("IPP octetString length too large."), 1); - DEBUG_printf(("1ippReadIO: bad octetString value length %d.", - n)); - _cupsBufferRelease((char *)buffer); - return (IPP_STATE_ERROR); - } - - value->unknown.length = n; - - if (n > 0) - { - if ((value->unknown.data = malloc((size_t)n)) == NULL) - { - _cupsSetHTTPError(HTTP_STATUS_ERROR); - DEBUG_puts("1ippReadIO: Unable to allocate value"); - _cupsBufferRelease((char *)buffer); - return (IPP_STATE_ERROR); - } - - if ((*cb)(src, value->unknown.data, (size_t)n) < n) - { - DEBUG_puts("1ippReadIO: Unable to read unsupported value."); - _cupsBufferRelease((char *)buffer); - return (IPP_STATE_ERROR); - } - } - else - value->unknown.data = NULL; - break; - } - - /* - * If blocking is disabled, stop here... - */ - - if (!blocking) - break; - } - break; - - case IPP_STATE_DATA : - break; - - default : - break; /* anti-compiler-warning-code */ - } - - DEBUG_printf(("1ippReadIO: returning ipp->state=%d.", ipp->state)); - _cupsBufferRelease((char *)buffer); - - return (ipp->state); -} - - -/* - * 'ippSetBoolean()' - Set a boolean value in an attribute. - * - * The @code ipp@ parameter refers to an IPP message previously created using - * the @link ippNew@, @link ippNewRequest@, or @link ippNewResponse@ functions. - * - * The @code attr@ parameter may be modified as a result of setting the value. - * - * The @code element@ parameter specifies which value to set from 0 to - * @code ippGetCount(attr)@. - * - * @since CUPS 1.6/macOS 10.8@ - */ - -int /* O - 1 on success, 0 on failure */ -ippSetBoolean(ipp_t *ipp, /* I - IPP message */ - ipp_attribute_t **attr, /* IO - IPP attribute */ - int element, /* I - Value number (0-based) */ - int boolvalue)/* I - Boolean value */ -{ - _ipp_value_t *value; /* Current value */ - - - /* - * Range check input... - */ - - if (!ipp || !attr || !*attr || (*attr)->value_tag != IPP_TAG_BOOLEAN || - element < 0 || element > (*attr)->num_values) - return (0); - - /* - * Set the value and return... - */ - - if ((value = ipp_set_value(ipp, attr, element)) != NULL) - value->boolean = (char)boolvalue; - - return (value != NULL); -} - - -/* - * 'ippSetCollection()' - Set a collection value in an attribute. - * - * The @code ipp@ parameter refers to an IPP message previously created using - * the @link ippNew@, @link ippNewRequest@, or @link ippNewResponse@ functions. - * - * The @code attr@ parameter may be modified as a result of setting the value. - * - * The @code element@ parameter specifies which value to set from 0 to - * @code ippGetCount(attr)@. - * - * @since CUPS 1.6/macOS 10.8@ - */ - -int /* O - 1 on success, 0 on failure */ -ippSetCollection( - ipp_t *ipp, /* I - IPP message */ - ipp_attribute_t **attr, /* IO - IPP attribute */ - int element, /* I - Value number (0-based) */ - ipp_t *colvalue) /* I - Collection value */ -{ - _ipp_value_t *value; /* Current value */ - - - /* - * Range check input... - */ - - if (!ipp || !attr || !*attr || (*attr)->value_tag != IPP_TAG_BEGIN_COLLECTION || - element < 0 || element > (*attr)->num_values || !colvalue) - return (0); - - /* - * Set the value and return... - */ - - if ((value = ipp_set_value(ipp, attr, element)) != NULL) - { - if (value->collection) - ippDelete(value->collection); - - value->collection = colvalue; - colvalue->use ++; - } - - return (value != NULL); -} - - -/* - * 'ippSetDate()' - Set a dateTime value in an attribute. - * - * The @code ipp@ parameter refers to an IPP message previously created using - * the @link ippNew@, @link ippNewRequest@, or @link ippNewResponse@ functions. - * - * The @code attr@ parameter may be modified as a result of setting the value. - * - * The @code element@ parameter specifies which value to set from 0 to - * @code ippGetCount(attr)@. - * - * @since CUPS 1.6/macOS 10.8@ - */ - -int /* O - 1 on success, 0 on failure */ -ippSetDate(ipp_t *ipp, /* I - IPP message */ - ipp_attribute_t **attr, /* IO - IPP attribute */ - int element, /* I - Value number (0-based) */ - const ipp_uchar_t *datevalue)/* I - dateTime value */ -{ - _ipp_value_t *value; /* Current value */ - - - /* - * Range check input... - */ - - if (!ipp || !attr || !*attr || (*attr)->value_tag != IPP_TAG_DATE || - element < 0 || element > (*attr)->num_values || !datevalue) - return (0); - - /* - * Set the value and return... - */ - - if ((value = ipp_set_value(ipp, attr, element)) != NULL) - memcpy(value->date, datevalue, sizeof(value->date)); - - return (value != NULL); -} - - -/* - * 'ippSetGroupTag()' - Set the group tag of an attribute. - * - * The @code ipp@ parameter refers to an IPP message previously created using - * the @link ippNew@, @link ippNewRequest@, or @link ippNewResponse@ functions. - * - * The @code attr@ parameter may be modified as a result of setting the value. - * - * The @code group@ parameter specifies the IPP attribute group tag: none - * (@code IPP_TAG_ZERO@, for member attributes), document (@code IPP_TAG_DOCUMENT@), - * event notification (@code IPP_TAG_EVENT_NOTIFICATION@), operation - * (@code IPP_TAG_OPERATION@), printer (@code IPP_TAG_PRINTER@), subscription - * (@code IPP_TAG_SUBSCRIPTION@), or unsupported (@code IPP_TAG_UNSUPPORTED_GROUP@). - * - * @since CUPS 1.6/macOS 10.8@ - */ - -int /* O - 1 on success, 0 on failure */ -ippSetGroupTag( - ipp_t *ipp, /* I - IPP message */ - ipp_attribute_t **attr, /* IO - Attribute */ - ipp_tag_t group_tag) /* I - Group tag */ -{ - /* - * Range check input - group tag must be 0x01 to 0x0F, per RFC 8011... - */ - - if (!ipp || !attr || !*attr || - group_tag < IPP_TAG_ZERO || group_tag == IPP_TAG_END || - group_tag >= IPP_TAG_UNSUPPORTED_VALUE) - return (0); - - /* - * Set the group tag and return... - */ - - (*attr)->group_tag = group_tag; - - return (1); -} - - -/* - * 'ippSetInteger()' - Set an integer or enum value in an attribute. - * - * The @code ipp@ parameter refers to an IPP message previously created using - * the @link ippNew@, @link ippNewRequest@, or @link ippNewResponse@ functions. - * - * The @code attr@ parameter may be modified as a result of setting the value. - * - * The @code element@ parameter specifies which value to set from 0 to - * @code ippGetCount(attr)@. - * - * @since CUPS 1.6/macOS 10.8@ - */ - -int /* O - 1 on success, 0 on failure */ -ippSetInteger(ipp_t *ipp, /* I - IPP message */ - ipp_attribute_t **attr, /* IO - IPP attribute */ - int element, /* I - Value number (0-based) */ - int intvalue) /* I - Integer/enum value */ -{ - _ipp_value_t *value; /* Current value */ - - - /* - * Range check input... - */ - - if (!ipp || !attr || !*attr || - ((*attr)->value_tag != IPP_TAG_INTEGER && (*attr)->value_tag != IPP_TAG_ENUM) || - element < 0 || element > (*attr)->num_values) - return (0); - - /* - * Set the value and return... - */ - - if ((value = ipp_set_value(ipp, attr, element)) != NULL) - value->integer = intvalue; - - return (value != NULL); -} - - -/* - * 'ippSetName()' - Set the name of an attribute. - * - * The @code ipp@ parameter refers to an IPP message previously created using - * the @link ippNew@, @link ippNewRequest@, or @link ippNewResponse@ functions. - * - * The @code attr@ parameter may be modified as a result of setting the value. - * - * @since CUPS 1.6/macOS 10.8@ - */ - -int /* O - 1 on success, 0 on failure */ -ippSetName(ipp_t *ipp, /* I - IPP message */ - ipp_attribute_t **attr, /* IO - IPP attribute */ - const char *name) /* I - Attribute name */ -{ - char *temp; /* Temporary name value */ - - - /* - * Range check input... - */ - - if (!ipp || !attr || !*attr) - return (0); - - /* - * Set the value and return... - */ - - if ((temp = _cupsStrAlloc(name)) != NULL) - { - if ((*attr)->name) - _cupsStrFree((*attr)->name); - - (*attr)->name = temp; - } - - return (temp != NULL); -} - - -/* - * 'ippSetOctetString()' - Set an octetString value in an IPP attribute. - * - * The @code ipp@ parameter refers to an IPP message previously created using - * the @link ippNew@, @link ippNewRequest@, or @link ippNewResponse@ functions. - * - * The @code attr@ parameter may be modified as a result of setting the value. - * - * The @code element@ parameter specifies which value to set from 0 to - * @code ippGetCount(attr)@. - * - * @since CUPS 1.7/macOS 10.9@ - */ - -int /* O - 1 on success, 0 on failure */ -ippSetOctetString( - ipp_t *ipp, /* I - IPP message */ - ipp_attribute_t **attr, /* IO - IPP attribute */ - int element, /* I - Value number (0-based) */ - const void *data, /* I - Pointer to octetString data */ - int datalen) /* I - Length of octetString data */ -{ - _ipp_value_t *value; /* Current value */ - - - /* - * Range check input... - */ - - if (!ipp || !attr || !*attr || (*attr)->value_tag != IPP_TAG_STRING || - element < 0 || element > (*attr)->num_values || - datalen < 0 || datalen > IPP_MAX_LENGTH) - return (0); - - /* - * Set the value and return... - */ - - if ((value = ipp_set_value(ipp, attr, element)) != NULL) - { - if ((int)((*attr)->value_tag) & IPP_TAG_CUPS_CONST) - { - /* - * Just copy the pointer... - */ - - value->unknown.data = (void *)data; - value->unknown.length = datalen; - } - else - { - /* - * Copy the data... - */ - - if (value->unknown.data) - { - /* - * Free previous data... - */ - - free(value->unknown.data); - - value->unknown.data = NULL; - value->unknown.length = 0; - } - - if (datalen > 0) - { - void *temp; /* Temporary data pointer */ - - if ((temp = malloc((size_t)datalen)) != NULL) - { - memcpy(temp, data, (size_t)datalen); - - value->unknown.data = temp; - value->unknown.length = datalen; - } - else - return (0); - } - } - } - - return (value != NULL); -} - - -/* - * 'ippSetOperation()' - Set the operation ID in an IPP request message. - * - * The @code ipp@ parameter refers to an IPP message previously created using - * the @link ippNew@, @link ippNewRequest@, or @link ippNewResponse@ functions. - * - * @since CUPS 1.6/macOS 10.8@ - */ - -int /* O - 1 on success, 0 on failure */ -ippSetOperation(ipp_t *ipp, /* I - IPP request message */ - ipp_op_t op) /* I - Operation ID */ -{ - /* - * Range check input... - */ - - if (!ipp) - return (0); - - /* - * Set the operation and return... - */ - - ipp->request.op.operation_id = op; - - return (1); -} - - -/* - * 'ippSetRange()' - Set a rangeOfInteger value in an attribute. - * - * The @code ipp@ parameter refers to an IPP message previously created using - * the @link ippNew@, @link ippNewRequest@, or @link ippNewResponse@ functions. - * - * The @code attr@ parameter may be modified as a result of setting the value. - * - * The @code element@ parameter specifies which value to set from 0 to - * @code ippGetCount(attr)@. - * - * @since CUPS 1.6/macOS 10.8@ - */ - -int /* O - 1 on success, 0 on failure */ -ippSetRange(ipp_t *ipp, /* I - IPP message */ - ipp_attribute_t **attr, /* IO - IPP attribute */ - int element, /* I - Value number (0-based) */ - int lowervalue, /* I - Lower bound for range */ - int uppervalue) /* I - Upper bound for range */ -{ - _ipp_value_t *value; /* Current value */ - - - /* - * Range check input... - */ - - if (!ipp || !attr || !*attr || (*attr)->value_tag != IPP_TAG_RANGE || - element < 0 || element > (*attr)->num_values || lowervalue > uppervalue) - return (0); - - /* - * Set the value and return... - */ - - if ((value = ipp_set_value(ipp, attr, element)) != NULL) - { - value->range.lower = lowervalue; - value->range.upper = uppervalue; - } - - return (value != NULL); -} - - -/* - * 'ippSetRequestId()' - Set the request ID in an IPP message. - * - * The @code ipp@ parameter refers to an IPP message previously created using - * the @link ippNew@, @link ippNewRequest@, or @link ippNewResponse@ functions. - * - * The @code request_id@ parameter must be greater than 0. - * - * @since CUPS 1.6/macOS 10.8@ - */ - -int /* O - 1 on success, 0 on failure */ -ippSetRequestId(ipp_t *ipp, /* I - IPP message */ - int request_id) /* I - Request ID */ -{ - /* - * Range check input; not checking request_id values since ipptool wants to send - * invalid values for conformance testing and a bad request_id does not affect the - * encoding of a message... - */ - - if (!ipp) - return (0); - - /* - * Set the request ID and return... - */ - - ipp->request.any.request_id = request_id; - - return (1); -} - - -/* - * 'ippSetResolution()' - Set a resolution value in an attribute. - * - * The @code ipp@ parameter refers to an IPP message previously created using - * the @link ippNew@, @link ippNewRequest@, or @link ippNewResponse@ functions. - * - * The @code attr@ parameter may be modified as a result of setting the value. - * - * The @code element@ parameter specifies which value to set from 0 to - * @code ippGetCount(attr)@. - * - * @since CUPS 1.6/macOS 10.8@ - */ - -int /* O - 1 on success, 0 on failure */ -ippSetResolution( - ipp_t *ipp, /* I - IPP message */ - ipp_attribute_t **attr, /* IO - IPP attribute */ - int element, /* I - Value number (0-based) */ - ipp_res_t unitsvalue, /* I - Resolution units */ - int xresvalue, /* I - Horizontal/cross feed resolution */ - int yresvalue) /* I - Vertical/feed resolution */ -{ - _ipp_value_t *value; /* Current value */ - - - /* - * Range check input... - */ - - if (!ipp || !attr || !*attr || (*attr)->value_tag != IPP_TAG_RESOLUTION || - element < 0 || element > (*attr)->num_values || xresvalue <= 0 || yresvalue <= 0 || - unitsvalue < IPP_RES_PER_INCH || unitsvalue > IPP_RES_PER_CM) - return (0); - - /* - * Set the value and return... - */ - - if ((value = ipp_set_value(ipp, attr, element)) != NULL) - { - value->resolution.units = unitsvalue; - value->resolution.xres = xresvalue; - value->resolution.yres = yresvalue; - } - - return (value != NULL); -} - - -/* - * 'ippSetState()' - Set the current state of the IPP message. - * - * @since CUPS 1.6/macOS 10.8@ - */ - -int /* O - 1 on success, 0 on failure */ -ippSetState(ipp_t *ipp, /* I - IPP message */ - ipp_state_t state) /* I - IPP state value */ -{ - /* - * Range check input... - */ - - if (!ipp) - return (0); - - /* - * Set the state and return... - */ - - ipp->state = state; - ipp->current = NULL; - - return (1); -} - - -/* - * 'ippSetStatusCode()' - Set the status code in an IPP response or event message. - * - * The @code ipp@ parameter refers to an IPP message previously created using - * the @link ippNew@, @link ippNewRequest@, or @link ippNewResponse@ functions. - * - * @since CUPS 1.6/macOS 10.8@ - */ - -int /* O - 1 on success, 0 on failure */ -ippSetStatusCode(ipp_t *ipp, /* I - IPP response or event message */ - ipp_status_t status) /* I - Status code */ -{ - /* - * Range check input... - */ - - if (!ipp) - return (0); - - /* - * Set the status code and return... - */ - - ipp->request.status.status_code = status; - - return (1); -} - - -/* - * 'ippSetString()' - Set a string value in an attribute. - * - * The @code ipp@ parameter refers to an IPP message previously created using - * the @link ippNew@, @link ippNewRequest@, or @link ippNewResponse@ functions. - * - * The @code attr@ parameter may be modified as a result of setting the value. - * - * The @code element@ parameter specifies which value to set from 0 to - * @code ippGetCount(attr)@. - * - * @since CUPS 1.6/macOS 10.8@ - */ - -int /* O - 1 on success, 0 on failure */ -ippSetString(ipp_t *ipp, /* I - IPP message */ - ipp_attribute_t **attr, /* IO - IPP attribute */ - int element, /* I - Value number (0-based) */ - const char *strvalue) /* I - String value */ -{ - char *temp; /* Temporary string */ - _ipp_value_t *value; /* Current value */ - - - /* - * Range check input... - */ - - if (!ipp || !attr || !*attr || - ((*attr)->value_tag != IPP_TAG_TEXTLANG && - (*attr)->value_tag != IPP_TAG_NAMELANG && - ((*attr)->value_tag < IPP_TAG_TEXT || - (*attr)->value_tag > IPP_TAG_MIMETYPE)) || - element < 0 || element > (*attr)->num_values || !strvalue) - return (0); - - /* - * Set the value and return... - */ - - if ((value = ipp_set_value(ipp, attr, element)) != NULL) - { - if (element > 0) - value->string.language = (*attr)->values[0].string.language; - - if ((int)((*attr)->value_tag) & IPP_TAG_CUPS_CONST) - value->string.text = (char *)strvalue; - else if ((temp = _cupsStrAlloc(strvalue)) != NULL) - { - if (value->string.text) - _cupsStrFree(value->string.text); - - value->string.text = temp; - } - else - return (0); - } - - return (value != NULL); -} - - -/* - * 'ippSetStringf()' - Set a formatted string value of an attribute. - * - * The @code ipp@ parameter refers to an IPP message previously created using - * the @link ippNew@, @link ippNewRequest@, or @link ippNewResponse@ functions. - * - * The @code attr@ parameter may be modified as a result of setting the value. - * - * The @code element@ parameter specifies which value to set from 0 to - * @code ippGetCount(attr)@. - * - * The @code format@ parameter uses formatting characters compatible with the - * printf family of standard functions. Additional arguments follow it as - * needed. The formatted string is truncated as needed to the maximum length of - * the corresponding value type. - * - * @since CUPS 1.7/macOS 10.9@ - */ - -int /* O - 1 on success, 0 on failure */ -ippSetStringf(ipp_t *ipp, /* I - IPP message */ - ipp_attribute_t **attr, /* IO - IPP attribute */ - int element, /* I - Value number (0-based) */ - const char *format, /* I - Printf-style format string */ - ...) /* I - Additional arguments as needed */ -{ - int ret; /* Return value */ - va_list ap; /* Pointer to additional arguments */ - - - va_start(ap, format); - ret = ippSetStringfv(ipp, attr, element, format, ap); - va_end(ap); - - return (ret); -} - - -/* - * 'ippSetStringf()' - Set a formatted string value of an attribute. - * - * The @code ipp@ parameter refers to an IPP message previously created using - * the @link ippNew@, @link ippNewRequest@, or @link ippNewResponse@ functions. - * - * The @code attr@ parameter may be modified as a result of setting the value. - * - * The @code element@ parameter specifies which value to set from 0 to - * @code ippGetCount(attr)@. - * - * The @code format@ parameter uses formatting characters compatible with the - * printf family of standard functions. Additional arguments follow it as - * needed. The formatted string is truncated as needed to the maximum length of - * the corresponding value type. - * - * @since CUPS 1.7/macOS 10.9@ - */ - -int /* O - 1 on success, 0 on failure */ -ippSetStringfv(ipp_t *ipp, /* I - IPP message */ - ipp_attribute_t **attr, /* IO - IPP attribute */ - int element, /* I - Value number (0-based) */ - const char *format, /* I - Printf-style format string */ - va_list ap) /* I - Pointer to additional arguments */ -{ - ipp_tag_t value_tag; /* Value tag */ - char buffer[IPP_MAX_TEXT + 4]; - /* Formatted text string */ - ssize_t bytes, /* Length of formatted value */ - max_bytes; /* Maximum number of bytes for value */ - - - /* - * Range check input... - */ - - if (attr && *attr) - value_tag = (*attr)->value_tag & IPP_TAG_CUPS_MASK; - else - value_tag = IPP_TAG_ZERO; - - if (!ipp || !attr || !*attr || - (value_tag < IPP_TAG_TEXT && value_tag != IPP_TAG_TEXTLANG && - value_tag != IPP_TAG_NAMELANG) || value_tag > IPP_TAG_MIMETYPE || - !format) - return (0); - - /* - * Format the string... - */ - - if (!strcmp(format, "%s")) - { - /* - * Optimize the simple case... - */ - - const char *s = va_arg(ap, char *); - - if (!s) - s = "(null)"; - - bytes = (ssize_t)strlen(s); - strlcpy(buffer, s, sizeof(buffer)); - } - else - { - /* - * Do a full formatting of the message... - */ - - if ((bytes = vsnprintf(buffer, sizeof(buffer), format, ap)) < 0) - return (0); - } - - /* - * Limit the length of the string... - */ - - switch (value_tag) - { - default : - case IPP_TAG_TEXT : - case IPP_TAG_TEXTLANG : - max_bytes = IPP_MAX_TEXT; - break; - - case IPP_TAG_NAME : - case IPP_TAG_NAMELANG : - max_bytes = IPP_MAX_NAME; - break; - - case IPP_TAG_CHARSET : - max_bytes = IPP_MAX_CHARSET; - break; - - case IPP_TAG_KEYWORD : - max_bytes = IPP_MAX_KEYWORD; - break; - - case IPP_TAG_LANGUAGE : - max_bytes = IPP_MAX_LANGUAGE; - break; - - case IPP_TAG_MIMETYPE : - max_bytes = IPP_MAX_MIMETYPE; - break; - - case IPP_TAG_URI : - max_bytes = IPP_MAX_URI; - break; - - case IPP_TAG_URISCHEME : - max_bytes = IPP_MAX_URISCHEME; - break; - } - - if (bytes >= max_bytes) - { - char *bufmax, /* Buffer at max_bytes */ - *bufptr; /* Pointer into buffer */ - - bufptr = buffer + strlen(buffer) - 1; - bufmax = buffer + max_bytes - 1; - - while (bufptr > bufmax) - { - if (*bufptr & 0x80) - { - while ((*bufptr & 0xc0) == 0x80 && bufptr > buffer) - bufptr --; - } - - bufptr --; - } - - *bufptr = '\0'; - } - - /* - * Set the formatted string and return... - */ - - return (ippSetString(ipp, attr, element, buffer)); -} - - -/* - * 'ippSetValueTag()' - Set the value tag of an attribute. - * - * The @code ipp@ parameter refers to an IPP message previously created using - * the @link ippNew@, @link ippNewRequest@, or @link ippNewResponse@ functions. - * - * The @code attr@ parameter may be modified as a result of setting the value. - * - * Integer (@code IPP_TAG_INTEGER@) values can be promoted to rangeOfInteger - * (@code IPP_TAG_RANGE@) values, the various string tags can be promoted to name - * (@code IPP_TAG_NAME@) or nameWithLanguage (@code IPP_TAG_NAMELANG@) values, text - * (@code IPP_TAG_TEXT@) values can be promoted to textWithLanguage - * (@code IPP_TAG_TEXTLANG@) values, and all values can be demoted to the various - * out-of-band value tags such as no-value (@code IPP_TAG_NOVALUE@). All other changes - * will be rejected. - * - * Promoting a string attribute to nameWithLanguage or textWithLanguage adds the language - * code in the "attributes-natural-language" attribute or, if not present, the language - * code for the current locale. - * - * @since CUPS 1.6/macOS 10.8@ - */ - -int /* O - 1 on success, 0 on failure */ -ippSetValueTag( - ipp_t *ipp, /* I - IPP message */ - ipp_attribute_t **attr, /* IO - IPP attribute */ - ipp_tag_t value_tag) /* I - Value tag */ -{ - int i; /* Looping var */ - _ipp_value_t *value; /* Current value */ - int integer; /* Current integer value */ - cups_lang_t *language; /* Current language */ - char code[32]; /* Language code */ - ipp_tag_t temp_tag; /* Temporary value tag */ - - - /* - * Range check input... - */ - - if (!ipp || !attr || !*attr) - return (0); - - /* - * If there is no change, return immediately... - */ - - if (value_tag == (*attr)->value_tag) - return (1); - - /* - * Otherwise implement changes as needed... - */ - - temp_tag = (ipp_tag_t)((int)((*attr)->value_tag) & IPP_TAG_CUPS_MASK); - - switch (value_tag) - { - case IPP_TAG_UNSUPPORTED_VALUE : - case IPP_TAG_DEFAULT : - case IPP_TAG_UNKNOWN : - case IPP_TAG_NOVALUE : - case IPP_TAG_NOTSETTABLE : - case IPP_TAG_DELETEATTR : - case IPP_TAG_ADMINDEFINE : - /* - * Free any existing values... - */ - - if ((*attr)->num_values > 0) - ipp_free_values(*attr, 0, (*attr)->num_values); - - /* - * Set out-of-band value... - */ - - (*attr)->value_tag = value_tag; - break; - - case IPP_TAG_RANGE : - if (temp_tag != IPP_TAG_INTEGER) - return (0); - - for (i = (*attr)->num_values, value = (*attr)->values; - i > 0; - i --, value ++) - { - integer = value->integer; - value->range.lower = value->range.upper = integer; - } - - (*attr)->value_tag = IPP_TAG_RANGE; - break; - - case IPP_TAG_NAME : - if (temp_tag != IPP_TAG_KEYWORD) - return (0); - - (*attr)->value_tag = (ipp_tag_t)(IPP_TAG_NAME | ((*attr)->value_tag & IPP_TAG_CUPS_CONST)); - break; - - case IPP_TAG_NAMELANG : - case IPP_TAG_TEXTLANG : - if (value_tag == IPP_TAG_NAMELANG && (temp_tag != IPP_TAG_NAME && temp_tag != IPP_TAG_KEYWORD)) - return (0); - - if (value_tag == IPP_TAG_TEXTLANG && temp_tag != IPP_TAG_TEXT) - return (0); - - if (ipp->attrs && ipp->attrs->next && ipp->attrs->next->name && - !strcmp(ipp->attrs->next->name, "attributes-natural-language")) - { - /* - * Use the language code from the IPP message... - */ - - (*attr)->values[0].string.language = - _cupsStrAlloc(ipp->attrs->next->values[0].string.text); - } - else - { - /* - * Otherwise, use the language code corresponding to the locale... - */ - - language = cupsLangDefault(); - (*attr)->values[0].string.language = _cupsStrAlloc(ipp_lang_code(language->language, - code, - sizeof(code))); - } - - for (i = (*attr)->num_values - 1, value = (*attr)->values + 1; - i > 0; - i --, value ++) - value->string.language = (*attr)->values[0].string.language; - - if ((int)(*attr)->value_tag & IPP_TAG_CUPS_CONST) - { - /* - * Make copies of all values... - */ - - for (i = (*attr)->num_values, value = (*attr)->values; - i > 0; - i --, value ++) - value->string.text = _cupsStrAlloc(value->string.text); - } - - (*attr)->value_tag = IPP_TAG_NAMELANG; - break; - - case IPP_TAG_KEYWORD : - if (temp_tag == IPP_TAG_NAME || temp_tag == IPP_TAG_NAMELANG) - break; /* Silently "allow" name -> keyword */ - - default : - return (0); - } - - return (1); -} - - -/* - * 'ippSetVersion()' - Set the version number in an IPP message. - * - * The @code ipp@ parameter refers to an IPP message previously created using - * the @link ippNew@, @link ippNewRequest@, or @link ippNewResponse@ functions. - * - * The valid version numbers are currently 1.0, 1.1, 2.0, 2.1, and 2.2. - * - * @since CUPS 1.6/macOS 10.8@ - */ - -int /* O - 1 on success, 0 on failure */ -ippSetVersion(ipp_t *ipp, /* I - IPP message */ - int major, /* I - Major version number (major.minor) */ - int minor) /* I - Minor version number (major.minor) */ -{ - /* - * Range check input... - */ - - if (!ipp || major < 0 || minor < 0) - return (0); - - /* - * Set the version number... - */ - - ipp->request.any.version[0] = (ipp_uchar_t)major; - ipp->request.any.version[1] = (ipp_uchar_t)minor; - - return (1); -} - - -/* - * 'ippTimeToDate()' - Convert from time in seconds to RFC 2579 format. - */ - -const ipp_uchar_t * /* O - RFC-2579 date/time data */ -ippTimeToDate(time_t t) /* I - Time in seconds */ -{ - struct tm *unixdate; /* UNIX unixdate/time info */ - ipp_uchar_t *date = _cupsGlobals()->ipp_date; - /* RFC-2579 date/time data */ - - - /* - * RFC-2579 date/time format is: - * - * Byte(s) Description - * ------- ----------- - * 0-1 Year (0 to 65535) - * 2 Month (1 to 12) - * 3 Day (1 to 31) - * 4 Hours (0 to 23) - * 5 Minutes (0 to 59) - * 6 Seconds (0 to 60, 60 = "leap second") - * 7 Deciseconds (0 to 9) - * 8 +/- UTC - * 9 UTC hours (0 to 11) - * 10 UTC minutes (0 to 59) - */ - - unixdate = gmtime(&t); - unixdate->tm_year += 1900; - - date[0] = (ipp_uchar_t)(unixdate->tm_year >> 8); - date[1] = (ipp_uchar_t)(unixdate->tm_year); - date[2] = (ipp_uchar_t)(unixdate->tm_mon + 1); - date[3] = (ipp_uchar_t)unixdate->tm_mday; - date[4] = (ipp_uchar_t)unixdate->tm_hour; - date[5] = (ipp_uchar_t)unixdate->tm_min; - date[6] = (ipp_uchar_t)unixdate->tm_sec; - date[7] = 0; - date[8] = '+'; - date[9] = 0; - date[10] = 0; - - return (date); -} - - -/* - * 'ippValidateAttribute()' - Validate the contents of an attribute. - * - * This function validates the contents of an attribute based on the name and - * value tag. 1 is returned if the attribute is valid, 0 otherwise. On - * failure, @link cupsLastErrorString@ is set to a human-readable message. - * - * @since CUPS 1.7/macOS 10.9@ - */ - -int /* O - 1 if valid, 0 otherwise */ -ippValidateAttribute( - ipp_attribute_t *attr) /* I - Attribute */ -{ - int i; /* Looping var */ - char scheme[64], /* Scheme from URI */ - userpass[256], /* Username/password from URI */ - hostname[256], /* Hostname from URI */ - resource[1024]; /* Resource from URI */ - int port, /* Port number from URI */ - uri_status; /* URI separation status */ - const char *ptr; /* Pointer into string */ - ipp_attribute_t *colattr; /* Collection attribute */ - regex_t re; /* Regular expression */ - ipp_uchar_t *date; /* Current date value */ - static const char * const uri_status_strings[] = - { /* URI status strings */ - "URI too large", - "Bad arguments to function", - "Bad resource in URI", - "Bad port number in URI", - "Bad hostname/address in URI", - "Bad username in URI", - "Bad scheme in URI", - "Bad/empty URI", - "OK", - "Missing scheme in URI", - "Unknown scheme in URI", - "Missing resource in URI" - }; - - - /* - * Skip separators. - */ - - if (!attr->name) - return (1); - - /* - * Validate the attribute name. - */ - - for (ptr = attr->name; *ptr; ptr ++) - if (!isalnum(*ptr & 255) && *ptr != '-' && *ptr != '.' && *ptr != '_') - break; - - if (*ptr || ptr == attr->name) - { - ipp_set_error(IPP_STATUS_ERROR_BAD_REQUEST, - _("\"%s\": Bad attribute name - invalid character " - "(RFC 8011 section 5.1.4)."), attr->name); - return (0); - } - - if ((ptr - attr->name) > 255) - { - ipp_set_error(IPP_STATUS_ERROR_BAD_REQUEST, - _("\"%s\": Bad attribute name - bad length %d " - "(RFC 8011 section 5.1.4)."), attr->name, - (int)(ptr - attr->name)); - return (0); - } - - switch (attr->value_tag) - { - case IPP_TAG_INTEGER : - break; - - case IPP_TAG_BOOLEAN : - for (i = 0; i < attr->num_values; i ++) - { - if (attr->values[i].boolean != 0 && - attr->values[i].boolean != 1) - { - ipp_set_error(IPP_STATUS_ERROR_BAD_REQUEST, - _("\"%s\": Bad boolen value %d " - "(RFC 8011 section 5.1.21)."), attr->name, - attr->values[i].boolean); - return (0); - } - } - break; - - case IPP_TAG_ENUM : - for (i = 0; i < attr->num_values; i ++) - { - if (attr->values[i].integer < 1) - { - ipp_set_error(IPP_STATUS_ERROR_BAD_REQUEST, - _("\"%s\": Bad enum value %d - out of range " - "(RFC 8011 section 5.1.5)."), attr->name, - attr->values[i].integer); - return (0); - } - } - break; - - case IPP_TAG_STRING : - for (i = 0; i < attr->num_values; i ++) - { - if (attr->values[i].unknown.length > IPP_MAX_OCTETSTRING) - { - ipp_set_error(IPP_STATUS_ERROR_BAD_REQUEST, - _("\"%s\": Bad octetString value - bad length %d " - "(RFC 8011 section 5.1.20)."), attr->name, - attr->values[i].unknown.length); - return (0); - } - } - break; - - case IPP_TAG_DATE : - for (i = 0; i < attr->num_values; i ++) - { - date = attr->values[i].date; - - if (date[2] < 1 || date[2] > 12) - { - ipp_set_error(IPP_STATUS_ERROR_BAD_REQUEST, - _("\"%s\": Bad dateTime month %u " - "(RFC 8011 section 5.1.15)."), attr->name, date[2]); - return (0); - } - - if (date[3] < 1 || date[3] > 31) - { - ipp_set_error(IPP_STATUS_ERROR_BAD_REQUEST, - _("\"%s\": Bad dateTime day %u " - "(RFC 8011 section 5.1.15)."), attr->name, date[3]); - return (0); - } - - if (date[4] > 23) - { - ipp_set_error(IPP_STATUS_ERROR_BAD_REQUEST, - _("\"%s\": Bad dateTime hours %u " - "(RFC 8011 section 5.1.15)."), attr->name, date[4]); - return (0); - } - - if (date[5] > 59) - { - ipp_set_error(IPP_STATUS_ERROR_BAD_REQUEST, - _("\"%s\": Bad dateTime minutes %u " - "(RFC 8011 section 5.1.15)."), attr->name, date[5]); - return (0); - } - - if (date[6] > 60) - { - ipp_set_error(IPP_STATUS_ERROR_BAD_REQUEST, - _("\"%s\": Bad dateTime seconds %u " - "(RFC 8011 section 5.1.15)."), attr->name, date[6]); - return (0); - } - - if (date[7] > 9) - { - ipp_set_error(IPP_STATUS_ERROR_BAD_REQUEST, - _("\"%s\": Bad dateTime deciseconds %u " - "(RFC 8011 section 5.1.15)."), attr->name, date[7]); - return (0); - } - - if (date[8] != '-' && date[8] != '+') - { - ipp_set_error(IPP_STATUS_ERROR_BAD_REQUEST, - _("\"%s\": Bad dateTime UTC sign '%c' " - "(RFC 8011 section 5.1.15)."), attr->name, date[8]); - return (0); - } - - if (date[9] > 11) - { - ipp_set_error(IPP_STATUS_ERROR_BAD_REQUEST, - _("\"%s\": Bad dateTime UTC hours %u " - "(RFC 8011 section 5.1.15)."), attr->name, date[9]); - return (0); - } - - if (date[10] > 59) - { - ipp_set_error(IPP_STATUS_ERROR_BAD_REQUEST, - _("\"%s\": Bad dateTime UTC minutes %u " - "(RFC 8011 section 5.1.15)."), attr->name, date[10]); - return (0); - } - } - break; - - case IPP_TAG_RESOLUTION : - for (i = 0; i < attr->num_values; i ++) - { - if (attr->values[i].resolution.xres <= 0) - { - ipp_set_error(IPP_STATUS_ERROR_BAD_REQUEST, - _("\"%s\": Bad resolution value %dx%d%s - cross " - "feed resolution must be positive " - "(RFC 8011 section 5.1.16)."), attr->name, - attr->values[i].resolution.xres, - attr->values[i].resolution.yres, - attr->values[i].resolution.units == - IPP_RES_PER_INCH ? "dpi" : - attr->values[i].resolution.units == - IPP_RES_PER_CM ? "dpcm" : "unknown"); - return (0); - } - - if (attr->values[i].resolution.yres <= 0) - { - ipp_set_error(IPP_STATUS_ERROR_BAD_REQUEST, - _("\"%s\": Bad resolution value %dx%d%s - feed " - "resolution must be positive " - "(RFC 8011 section 5.1.16)."), attr->name, - attr->values[i].resolution.xres, - attr->values[i].resolution.yres, - attr->values[i].resolution.units == - IPP_RES_PER_INCH ? "dpi" : - attr->values[i].resolution.units == - IPP_RES_PER_CM ? "dpcm" : "unknown"); - return (0); - } - - if (attr->values[i].resolution.units != IPP_RES_PER_INCH && - attr->values[i].resolution.units != IPP_RES_PER_CM) - { - ipp_set_error(IPP_STATUS_ERROR_BAD_REQUEST, - _("\"%s\": Bad resolution value %dx%d%s - bad " - "units value (RFC 8011 section 5.1.16)."), - attr->name, attr->values[i].resolution.xres, - attr->values[i].resolution.yres, - attr->values[i].resolution.units == - IPP_RES_PER_INCH ? "dpi" : - attr->values[i].resolution.units == - IPP_RES_PER_CM ? "dpcm" : "unknown"); - return (0); - } - } - break; - - case IPP_TAG_RANGE : - for (i = 0; i < attr->num_values; i ++) - { - if (attr->values[i].range.lower > attr->values[i].range.upper) - { - ipp_set_error(IPP_STATUS_ERROR_BAD_REQUEST, - _("\"%s\": Bad rangeOfInteger value %d-%d - lower " - "greater than upper (RFC 8011 section 5.1.14)."), - attr->name, attr->values[i].range.lower, - attr->values[i].range.upper); - return (0); - } - } - break; - - case IPP_TAG_BEGIN_COLLECTION : - for (i = 0; i < attr->num_values; i ++) - { - for (colattr = attr->values[i].collection->attrs; - colattr; - colattr = colattr->next) - { - if (!ippValidateAttribute(colattr)) - return (0); - } - } - break; - - case IPP_TAG_TEXT : - case IPP_TAG_TEXTLANG : - for (i = 0; i < attr->num_values; i ++) - { - for (ptr = attr->values[i].string.text; *ptr; ptr ++) - { - if ((*ptr & 0xe0) == 0xc0) - { - ptr ++; - if ((*ptr & 0xc0) != 0x80) - break; - } - else if ((*ptr & 0xf0) == 0xe0) - { - ptr ++; - if ((*ptr & 0xc0) != 0x80) - break; - ptr ++; - if ((*ptr & 0xc0) != 0x80) - break; - } - else if ((*ptr & 0xf8) == 0xf0) - { - ptr ++; - if ((*ptr & 0xc0) != 0x80) - break; - ptr ++; - if ((*ptr & 0xc0) != 0x80) - break; - ptr ++; - if ((*ptr & 0xc0) != 0x80) - break; - } - else if (*ptr & 0x80) - break; - } - - if (*ptr) - { - ipp_set_error(IPP_STATUS_ERROR_BAD_REQUEST, - _("\"%s\": Bad text value \"%s\" - bad UTF-8 " - "sequence (RFC 8011 section 5.1.2)."), attr->name, - attr->values[i].string.text); - return (0); - } - - if ((ptr - attr->values[i].string.text) > (IPP_MAX_TEXT - 1)) - { - ipp_set_error(IPP_STATUS_ERROR_BAD_REQUEST, - _("\"%s\": Bad text value \"%s\" - bad length %d " - "(RFC 8011 section 5.1.2)."), attr->name, - attr->values[i].string.text, - (int)(ptr - attr->values[i].string.text)); - return (0); - } - } - break; - - case IPP_TAG_NAME : - case IPP_TAG_NAMELANG : - for (i = 0; i < attr->num_values; i ++) - { - for (ptr = attr->values[i].string.text; *ptr; ptr ++) - { - if ((*ptr & 0xe0) == 0xc0) - { - ptr ++; - if ((*ptr & 0xc0) != 0x80) - break; - } - else if ((*ptr & 0xf0) == 0xe0) - { - ptr ++; - if ((*ptr & 0xc0) != 0x80) - break; - ptr ++; - if ((*ptr & 0xc0) != 0x80) - break; - } - else if ((*ptr & 0xf8) == 0xf0) - { - ptr ++; - if ((*ptr & 0xc0) != 0x80) - break; - ptr ++; - if ((*ptr & 0xc0) != 0x80) - break; - ptr ++; - if ((*ptr & 0xc0) != 0x80) - break; - } - else if (*ptr & 0x80) - break; - } - - if (*ptr) - { - ipp_set_error(IPP_STATUS_ERROR_BAD_REQUEST, - _("\"%s\": Bad name value \"%s\" - bad UTF-8 " - "sequence (RFC 8011 section 5.1.3)."), attr->name, - attr->values[i].string.text); - return (0); - } - - if ((ptr - attr->values[i].string.text) > (IPP_MAX_NAME - 1)) - { - ipp_set_error(IPP_STATUS_ERROR_BAD_REQUEST, - _("\"%s\": Bad name value \"%s\" - bad length %d " - "(RFC 8011 section 5.1.3)."), attr->name, - attr->values[i].string.text, - (int)(ptr - attr->values[i].string.text)); - return (0); - } - } - break; - - case IPP_TAG_KEYWORD : - for (i = 0; i < attr->num_values; i ++) - { - for (ptr = attr->values[i].string.text; *ptr; ptr ++) - if (!isalnum(*ptr & 255) && *ptr != '-' && *ptr != '.' && - *ptr != '_') - break; - - if (*ptr || ptr == attr->values[i].string.text) - { - ipp_set_error(IPP_STATUS_ERROR_BAD_REQUEST, - _("\"%s\": Bad keyword value \"%s\" - invalid " - "character (RFC 8011 section 5.1.4)."), - attr->name, attr->values[i].string.text); - return (0); - } - - if ((ptr - attr->values[i].string.text) > (IPP_MAX_KEYWORD - 1)) - { - ipp_set_error(IPP_STATUS_ERROR_BAD_REQUEST, - _("\"%s\": Bad keyword value \"%s\" - bad " - "length %d (RFC 8011 section 5.1.4)."), - attr->name, attr->values[i].string.text, - (int)(ptr - attr->values[i].string.text)); - return (0); - } - } - break; - - case IPP_TAG_URI : - for (i = 0; i < attr->num_values; i ++) - { - uri_status = httpSeparateURI(HTTP_URI_CODING_ALL, - attr->values[i].string.text, - scheme, sizeof(scheme), - userpass, sizeof(userpass), - hostname, sizeof(hostname), - &port, resource, sizeof(resource)); - - if (uri_status < HTTP_URI_STATUS_OK) - { - ipp_set_error(IPP_STATUS_ERROR_BAD_REQUEST, - _("\"%s\": Bad URI value \"%s\" - %s " - "(RFC 8011 section 5.1.6)."), attr->name, - attr->values[i].string.text, - uri_status_strings[uri_status - - HTTP_URI_STATUS_OVERFLOW]); - return (0); - } - - if (strlen(attr->values[i].string.text) > (IPP_MAX_URI - 1)) - { - ipp_set_error(IPP_STATUS_ERROR_BAD_REQUEST, - _("\"%s\": Bad URI value \"%s\" - bad length %d " - "(RFC 8011 section 5.1.6)."), attr->name, - attr->values[i].string.text, - (int)strlen(attr->values[i].string.text)); - } - } - break; - - case IPP_TAG_URISCHEME : - for (i = 0; i < attr->num_values; i ++) - { - ptr = attr->values[i].string.text; - if (islower(*ptr & 255)) - { - for (ptr ++; *ptr; ptr ++) - if (!islower(*ptr & 255) && !isdigit(*ptr & 255) && - *ptr != '+' && *ptr != '-' && *ptr != '.') - break; - } - - if (*ptr || ptr == attr->values[i].string.text) - { - ipp_set_error(IPP_STATUS_ERROR_BAD_REQUEST, - _("\"%s\": Bad uriScheme value \"%s\" - bad " - "characters (RFC 8011 section 5.1.7)."), - attr->name, attr->values[i].string.text); - return (0); - } - - if ((ptr - attr->values[i].string.text) > (IPP_MAX_URISCHEME - 1)) - { - ipp_set_error(IPP_STATUS_ERROR_BAD_REQUEST, - _("\"%s\": Bad uriScheme value \"%s\" - bad " - "length %d (RFC 8011 section 5.1.7)."), - attr->name, attr->values[i].string.text, - (int)(ptr - attr->values[i].string.text)); - return (0); - } - } - break; - - case IPP_TAG_CHARSET : - for (i = 0; i < attr->num_values; i ++) - { - for (ptr = attr->values[i].string.text; *ptr; ptr ++) - if (!isprint(*ptr & 255) || isupper(*ptr & 255) || - isspace(*ptr & 255)) - break; - - if (*ptr || ptr == attr->values[i].string.text) - { - ipp_set_error(IPP_STATUS_ERROR_BAD_REQUEST, - _("\"%s\": Bad charset value \"%s\" - bad " - "characters (RFC 8011 section 5.1.8)."), - attr->name, attr->values[i].string.text); - return (0); - } - - if ((ptr - attr->values[i].string.text) > (IPP_MAX_CHARSET - 1)) - { - ipp_set_error(IPP_STATUS_ERROR_BAD_REQUEST, - _("\"%s\": Bad charset value \"%s\" - bad " - "length %d (RFC 8011 section 5.1.8)."), - attr->name, attr->values[i].string.text, - (int)(ptr - attr->values[i].string.text)); - return (0); - } - } - break; - - case IPP_TAG_LANGUAGE : - /* - * The following regular expression is derived from the ABNF for - * language tags in RFC 4646. All I can say is that this is the - * easiest way to check the values... - */ - - if ((i = regcomp(&re, - "^(" - "(([a-z]{2,3}(-[a-z][a-z][a-z]){0,3})|[a-z]{4,8})" - /* language */ - "(-[a-z][a-z][a-z][a-z]){0,1}" /* script */ - "(-([a-z][a-z]|[0-9][0-9][0-9])){0,1}" /* region */ - "(-([a-z]{5,8}|[0-9][0-9][0-9]))*" /* variant */ - "(-[a-wy-z](-[a-z0-9]{2,8})+)*" /* extension */ - "(-x(-[a-z0-9]{1,8})+)*" /* privateuse */ - "|" - "x(-[a-z0-9]{1,8})+" /* privateuse */ - "|" - "[a-z]{1,3}(-[a-z][0-9]{2,8}){1,2}" /* grandfathered */ - ")$", - REG_NOSUB | REG_EXTENDED)) != 0) - { - char temp[256]; /* Temporary error string */ - - regerror(i, &re, temp, sizeof(temp)); - ipp_set_error(IPP_STATUS_ERROR_INTERNAL, - _("Unable to compile naturalLanguage regular " - "expression: %s."), temp); - return (0); - } - - for (i = 0; i < attr->num_values; i ++) - { - if (regexec(&re, attr->values[i].string.text, 0, NULL, 0)) - { - ipp_set_error(IPP_STATUS_ERROR_BAD_REQUEST, - _("\"%s\": Bad naturalLanguage value \"%s\" - bad " - "characters (RFC 8011 section 5.1.9)."), - attr->name, attr->values[i].string.text); - regfree(&re); - return (0); - } - - if (strlen(attr->values[i].string.text) > (IPP_MAX_LANGUAGE - 1)) - { - ipp_set_error(IPP_STATUS_ERROR_BAD_REQUEST, - _("\"%s\": Bad naturalLanguage value \"%s\" - bad " - "length %d (RFC 8011 section 5.1.9)."), - attr->name, attr->values[i].string.text, - (int)strlen(attr->values[i].string.text)); - regfree(&re); - return (0); - } - } - - regfree(&re); - break; - - case IPP_TAG_MIMETYPE : - /* - * The following regular expression is derived from the ABNF for - * MIME media types in RFC 2045 and 4288. All I can say is that this is - * the easiest way to check the values... - */ - - if ((i = regcomp(&re, - "^" - "[-a-zA-Z0-9!#$&.+^_]{1,127}" /* type-name */ - "/" - "[-a-zA-Z0-9!#$&.+^_]{1,127}" /* subtype-name */ - "(;[-a-zA-Z0-9!#$&.+^_]{1,127}=" /* parameter= */ - "([-a-zA-Z0-9!#$&.+^_]{1,127}|\"[^\"]*\"))*" - /* value */ - "$", - REG_NOSUB | REG_EXTENDED)) != 0) - { - char temp[256]; /* Temporary error string */ - - regerror(i, &re, temp, sizeof(temp)); - ipp_set_error(IPP_STATUS_ERROR_BAD_REQUEST, - _("Unable to compile mimeMediaType regular " - "expression: %s."), temp); - return (0); - } - - for (i = 0; i < attr->num_values; i ++) - { - if (regexec(&re, attr->values[i].string.text, 0, NULL, 0)) - { - ipp_set_error(IPP_STATUS_ERROR_BAD_REQUEST, - _("\"%s\": Bad mimeMediaType value \"%s\" - bad " - "characters (RFC 8011 section 5.1.10)."), - attr->name, attr->values[i].string.text); - regfree(&re); - return (0); - } - - if (strlen(attr->values[i].string.text) > (IPP_MAX_MIMETYPE - 1)) - { - ipp_set_error(IPP_STATUS_ERROR_BAD_REQUEST, - _("\"%s\": Bad mimeMediaType value \"%s\" - bad " - "length %d (RFC 8011 section 5.1.10)."), - attr->name, attr->values[i].string.text, - (int)strlen(attr->values[i].string.text)); - regfree(&re); - return (0); - } - } - - regfree(&re); - break; - - default : - break; - } - - return (1); -} - - -/* - * 'ippValidateAttributes()' - Validate all attributes in an IPP message. - * - * This function validates the contents of the IPP message, including each - * attribute. Like @link ippValidateAttribute@, @link cupsLastErrorString@ is - * set to a human-readable message on failure. - * - * @since CUPS 1.7/macOS 10.9@ - */ - -int /* O - 1 if valid, 0 otherwise */ -ippValidateAttributes(ipp_t *ipp) /* I - IPP message */ -{ - ipp_attribute_t *attr; /* Current attribute */ - - - if (!ipp) - return (1); - - for (attr = ipp->attrs; attr; attr = attr->next) - if (!ippValidateAttribute(attr)) - return (0); - - return (1); -} - - -/* - * 'ippWrite()' - Write data for an IPP message to a HTTP connection. - */ - -ipp_state_t /* O - Current state */ -ippWrite(http_t *http, /* I - HTTP connection */ - ipp_t *ipp) /* I - IPP data */ -{ - DEBUG_printf(("ippWrite(http=%p, ipp=%p)", (void *)http, (void *)ipp)); - - if (!http) - return (IPP_STATE_ERROR); - - return (ippWriteIO(http, (ipp_iocb_t)httpWrite2, http->blocking, NULL, ipp)); -} - - -/* - * 'ippWriteFile()' - Write data for an IPP message to a file. - * - * @since CUPS 1.1.19/macOS 10.3@ - */ - -ipp_state_t /* O - Current state */ -ippWriteFile(int fd, /* I - HTTP data */ - ipp_t *ipp) /* I - IPP data */ -{ - DEBUG_printf(("ippWriteFile(fd=%d, ipp=%p)", fd, (void *)ipp)); - - ipp->state = IPP_STATE_IDLE; - - return (ippWriteIO(&fd, (ipp_iocb_t)ipp_write_file, 1, NULL, ipp)); -} - - -/* - * 'ippWriteIO()' - Write data for an IPP message. - * - * @since CUPS 1.2/macOS 10.5@ - */ - -ipp_state_t /* O - Current state */ -ippWriteIO(void *dst, /* I - Destination */ - ipp_iocb_t cb, /* I - Write callback function */ - int blocking, /* I - Use blocking IO? */ - ipp_t *parent, /* I - Parent IPP message */ - ipp_t *ipp) /* I - IPP data */ -{ - int i; /* Looping var */ - int n; /* Length of data */ - unsigned char *buffer, /* Data buffer */ - *bufptr; /* Pointer into buffer */ - ipp_attribute_t *attr; /* Current attribute */ - _ipp_value_t *value; /* Current value */ - - - DEBUG_printf(("ippWriteIO(dst=%p, cb=%p, blocking=%d, parent=%p, ipp=%p)", (void *)dst, (void *)cb, blocking, (void *)parent, (void *)ipp)); - - if (!dst || !ipp) - return (IPP_STATE_ERROR); - - if ((buffer = (unsigned char *)_cupsBufferGet(IPP_BUF_SIZE)) == NULL) - { - DEBUG_puts("1ippWriteIO: Unable to get write buffer"); - return (IPP_STATE_ERROR); - } - - switch (ipp->state) - { - case IPP_STATE_IDLE : - ipp->state ++; /* Avoid common problem... */ - - case IPP_STATE_HEADER : - if (parent == NULL) - { - /* - * Send the request header: - * - * Version = 2 bytes - * Operation/Status Code = 2 bytes - * Request ID = 4 bytes - * Total = 8 bytes - */ - - bufptr = buffer; - - *bufptr++ = ipp->request.any.version[0]; - *bufptr++ = ipp->request.any.version[1]; - *bufptr++ = (ipp_uchar_t)(ipp->request.any.op_status >> 8); - *bufptr++ = (ipp_uchar_t)ipp->request.any.op_status; - *bufptr++ = (ipp_uchar_t)(ipp->request.any.request_id >> 24); - *bufptr++ = (ipp_uchar_t)(ipp->request.any.request_id >> 16); - *bufptr++ = (ipp_uchar_t)(ipp->request.any.request_id >> 8); - *bufptr++ = (ipp_uchar_t)ipp->request.any.request_id; - - DEBUG_printf(("2ippWriteIO: version=%d.%d", buffer[0], buffer[1])); - DEBUG_printf(("2ippWriteIO: op_status=%04x", - ipp->request.any.op_status)); - DEBUG_printf(("2ippWriteIO: request_id=%d", - ipp->request.any.request_id)); - - if ((*cb)(dst, buffer, (size_t)(bufptr - buffer)) < 0) - { - DEBUG_puts("1ippWriteIO: Could not write IPP header..."); - _cupsBufferRelease((char *)buffer); - return (IPP_STATE_ERROR); - } - } - - /* - * Reset the state engine to point to the first attribute - * in the request/response, with no current group. - */ - - ipp->state = IPP_STATE_ATTRIBUTE; - ipp->current = ipp->attrs; - ipp->curtag = IPP_TAG_ZERO; - - DEBUG_printf(("1ippWriteIO: ipp->current=%p", (void *)ipp->current)); - - /* - * If blocking is disabled, stop here... - */ - - if (!blocking) - break; - - case IPP_STATE_ATTRIBUTE : - while (ipp->current != NULL) - { - /* - * Write this attribute... - */ - - bufptr = buffer; - attr = ipp->current; - - ipp->current = ipp->current->next; - - if (!parent) - { - if (ipp->curtag != attr->group_tag) - { - /* - * Send a group tag byte... - */ - - ipp->curtag = attr->group_tag; - - if (attr->group_tag == IPP_TAG_ZERO) - continue; - - DEBUG_printf(("2ippWriteIO: wrote group tag=%x(%s)", - attr->group_tag, ippTagString(attr->group_tag))); - *bufptr++ = (ipp_uchar_t)attr->group_tag; - } - else if (attr->group_tag == IPP_TAG_ZERO) - continue; - } - - DEBUG_printf(("1ippWriteIO: %s (%s%s)", attr->name, - attr->num_values > 1 ? "1setOf " : "", - ippTagString(attr->value_tag))); - - /* - * Write the attribute tag and name. - * - * The attribute name length does not include the trailing nul - * character in the source string. - * - * Collection values (parent != NULL) are written differently... - */ - - if (parent == NULL) - { - /* - * Get the length of the attribute name, and make sure it won't - * overflow the buffer... - */ - - if ((n = (int)strlen(attr->name)) > (IPP_BUF_SIZE - 8)) - { - DEBUG_printf(("1ippWriteIO: Attribute name too long (%d)", n)); - _cupsBufferRelease((char *)buffer); - return (IPP_STATE_ERROR); - } - - /* - * Write the value tag, name length, and name string... - */ - - DEBUG_printf(("2ippWriteIO: writing value tag=%x(%s)", - attr->value_tag, ippTagString(attr->value_tag))); - DEBUG_printf(("2ippWriteIO: writing name=%d,\"%s\"", n, - attr->name)); - - if (attr->value_tag > 0xff) - { - *bufptr++ = IPP_TAG_EXTENSION; - *bufptr++ = (ipp_uchar_t)(attr->value_tag >> 24); - *bufptr++ = (ipp_uchar_t)(attr->value_tag >> 16); - *bufptr++ = (ipp_uchar_t)(attr->value_tag >> 8); - *bufptr++ = (ipp_uchar_t)attr->value_tag; - } - else - *bufptr++ = (ipp_uchar_t)attr->value_tag; - - *bufptr++ = (ipp_uchar_t)(n >> 8); - *bufptr++ = (ipp_uchar_t)n; - memcpy(bufptr, attr->name, (size_t)n); - bufptr += n; - } - else - { - /* - * Get the length of the attribute name, and make sure it won't - * overflow the buffer... - */ - - if ((n = (int)strlen(attr->name)) > (IPP_BUF_SIZE - 12)) - { - DEBUG_printf(("1ippWriteIO: Attribute name too long (%d)", n)); - _cupsBufferRelease((char *)buffer); - return (IPP_STATE_ERROR); - } - - /* - * Write the member name tag, name length, name string, value tag, - * and empty name for the collection member attribute... - */ - - DEBUG_printf(("2ippWriteIO: writing value tag=%x(memberName)", - IPP_TAG_MEMBERNAME)); - DEBUG_printf(("2ippWriteIO: writing name=%d,\"%s\"", n, - attr->name)); - DEBUG_printf(("2ippWriteIO: writing value tag=%x(%s)", - attr->value_tag, ippTagString(attr->value_tag))); - DEBUG_puts("2ippWriteIO: writing name=0,\"\""); - - *bufptr++ = IPP_TAG_MEMBERNAME; - *bufptr++ = 0; - *bufptr++ = 0; - *bufptr++ = (ipp_uchar_t)(n >> 8); - *bufptr++ = (ipp_uchar_t)n; - memcpy(bufptr, attr->name, (size_t)n); - bufptr += n; - - if (attr->value_tag > 0xff) - { - *bufptr++ = IPP_TAG_EXTENSION; - *bufptr++ = (ipp_uchar_t)(attr->value_tag >> 24); - *bufptr++ = (ipp_uchar_t)(attr->value_tag >> 16); - *bufptr++ = (ipp_uchar_t)(attr->value_tag >> 8); - *bufptr++ = (ipp_uchar_t)attr->value_tag; - } - else - *bufptr++ = (ipp_uchar_t)attr->value_tag; - - *bufptr++ = 0; - *bufptr++ = 0; - } - - /* - * Now write the attribute value(s)... - */ - - switch (attr->value_tag & ~IPP_TAG_CUPS_CONST) - { - case IPP_TAG_UNSUPPORTED_VALUE : - case IPP_TAG_DEFAULT : - case IPP_TAG_UNKNOWN : - case IPP_TAG_NOVALUE : - case IPP_TAG_NOTSETTABLE : - case IPP_TAG_DELETEATTR : - case IPP_TAG_ADMINDEFINE : - *bufptr++ = 0; - *bufptr++ = 0; - break; - - case IPP_TAG_INTEGER : - case IPP_TAG_ENUM : - for (i = 0, value = attr->values; - i < attr->num_values; - i ++, value ++) - { - if ((IPP_BUF_SIZE - (bufptr - buffer)) < 9) - { - if ((*cb)(dst, buffer, (size_t)(bufptr - buffer)) < 0) - { - DEBUG_puts("1ippWriteIO: Could not write IPP " - "attribute..."); - _cupsBufferRelease((char *)buffer); - return (IPP_STATE_ERROR); - } - - bufptr = buffer; - } - - if (i) - { - /* - * Arrays and sets are done by sending additional - * values with a zero-length name... - */ - - *bufptr++ = (ipp_uchar_t)attr->value_tag; - *bufptr++ = 0; - *bufptr++ = 0; - } - - /* - * Integers and enumerations are both 4-byte signed - * (twos-complement) values. - * - * Put the 2-byte length and 4-byte value into the buffer... - */ - - *bufptr++ = 0; - *bufptr++ = 4; - *bufptr++ = (ipp_uchar_t)(value->integer >> 24); - *bufptr++ = (ipp_uchar_t)(value->integer >> 16); - *bufptr++ = (ipp_uchar_t)(value->integer >> 8); - *bufptr++ = (ipp_uchar_t)value->integer; - } - break; - - case IPP_TAG_BOOLEAN : - for (i = 0, value = attr->values; - i < attr->num_values; - i ++, value ++) - { - if ((IPP_BUF_SIZE - (bufptr - buffer)) < 6) - { - if ((*cb)(dst, buffer, (size_t)(bufptr - buffer)) < 0) - { - DEBUG_puts("1ippWriteIO: Could not write IPP " - "attribute..."); - _cupsBufferRelease((char *)buffer); - return (IPP_STATE_ERROR); - } - - bufptr = buffer; - } - - if (i) - { - /* - * Arrays and sets are done by sending additional - * values with a zero-length name... - */ - - *bufptr++ = (ipp_uchar_t)attr->value_tag; - *bufptr++ = 0; - *bufptr++ = 0; - } - - /* - * Boolean values are 1-byte; 0 = false, 1 = true. - * - * Put the 2-byte length and 1-byte value into the buffer... - */ - - *bufptr++ = 0; - *bufptr++ = 1; - *bufptr++ = (ipp_uchar_t)value->boolean; - } - break; - - case IPP_TAG_TEXT : - case IPP_TAG_NAME : - case IPP_TAG_KEYWORD : - case IPP_TAG_URI : - case IPP_TAG_URISCHEME : - case IPP_TAG_CHARSET : - case IPP_TAG_LANGUAGE : - case IPP_TAG_MIMETYPE : - for (i = 0, value = attr->values; - i < attr->num_values; - i ++, value ++) - { - if (i) - { - /* - * Arrays and sets are done by sending additional - * values with a zero-length name... - */ - - DEBUG_printf(("2ippWriteIO: writing value tag=%x(%s)", - attr->value_tag, - ippTagString(attr->value_tag))); - DEBUG_printf(("2ippWriteIO: writing name=0,\"\"")); - - if ((IPP_BUF_SIZE - (bufptr - buffer)) < 3) - { - if ((*cb)(dst, buffer, (size_t)(bufptr - buffer)) < 0) - { - DEBUG_puts("1ippWriteIO: Could not write IPP " - "attribute..."); - _cupsBufferRelease((char *)buffer); - return (IPP_STATE_ERROR); - } - - bufptr = buffer; - } - - *bufptr++ = (ipp_uchar_t)attr->value_tag; - *bufptr++ = 0; - *bufptr++ = 0; - } - - if (value->string.text != NULL) - n = (int)strlen(value->string.text); - else - n = 0; - - if (n > (IPP_BUF_SIZE - 2)) - { - DEBUG_printf(("1ippWriteIO: String too long (%d)", n)); - _cupsBufferRelease((char *)buffer); - return (IPP_STATE_ERROR); - } - - DEBUG_printf(("2ippWriteIO: writing string=%d,\"%s\"", n, - value->string.text)); - - if ((int)(IPP_BUF_SIZE - (bufptr - buffer)) < (n + 2)) - { - if ((*cb)(dst, buffer, (size_t)(bufptr - buffer)) < 0) - { - DEBUG_puts("1ippWriteIO: Could not write IPP " - "attribute..."); - _cupsBufferRelease((char *)buffer); - return (IPP_STATE_ERROR); - } - - bufptr = buffer; - } - - /* - * All simple strings consist of the 2-byte length and - * character data without the trailing nul normally found - * in C strings. Also, strings cannot be longer than IPP_MAX_LENGTH - * bytes since the 2-byte length is a signed (twos-complement) - * value. - * - * Put the 2-byte length and string characters in the buffer. - */ - - *bufptr++ = (ipp_uchar_t)(n >> 8); - *bufptr++ = (ipp_uchar_t)n; - - if (n > 0) - { - memcpy(bufptr, value->string.text, (size_t)n); - bufptr += n; - } - } - break; - - case IPP_TAG_DATE : - for (i = 0, value = attr->values; - i < attr->num_values; - i ++, value ++) - { - if ((IPP_BUF_SIZE - (bufptr - buffer)) < 16) - { - if ((*cb)(dst, buffer, (size_t)(bufptr - buffer)) < 0) - { - DEBUG_puts("1ippWriteIO: Could not write IPP " - "attribute..."); - _cupsBufferRelease((char *)buffer); - return (IPP_STATE_ERROR); - } - - bufptr = buffer; - } - - if (i) - { - /* - * Arrays and sets are done by sending additional - * values with a zero-length name... - */ - - *bufptr++ = (ipp_uchar_t)attr->value_tag; - *bufptr++ = 0; - *bufptr++ = 0; - } - - /* - * Date values consist of a 2-byte length and an - * 11-byte date/time structure defined by RFC 1903. - * - * Put the 2-byte length and 11-byte date/time - * structure in the buffer. - */ - - *bufptr++ = 0; - *bufptr++ = 11; - memcpy(bufptr, value->date, 11); - bufptr += 11; - } - break; - - case IPP_TAG_RESOLUTION : - for (i = 0, value = attr->values; - i < attr->num_values; - i ++, value ++) - { - if ((IPP_BUF_SIZE - (bufptr - buffer)) < 14) - { - if ((*cb)(dst, buffer, (size_t)(bufptr - buffer)) < 0) - { - DEBUG_puts("1ippWriteIO: Could not write IPP " - "attribute..."); - _cupsBufferRelease((char *)buffer); - return (IPP_STATE_ERROR); - } - - bufptr = buffer; - } - - if (i) - { - /* - * Arrays and sets are done by sending additional - * values with a zero-length name... - */ - - *bufptr++ = (ipp_uchar_t)attr->value_tag; - *bufptr++ = 0; - *bufptr++ = 0; - } - - /* - * Resolution values consist of a 2-byte length, - * 4-byte horizontal resolution value, 4-byte vertical - * resolution value, and a 1-byte units value. - * - * Put the 2-byte length and resolution value data - * into the buffer. - */ - - *bufptr++ = 0; - *bufptr++ = 9; - *bufptr++ = (ipp_uchar_t)(value->resolution.xres >> 24); - *bufptr++ = (ipp_uchar_t)(value->resolution.xres >> 16); - *bufptr++ = (ipp_uchar_t)(value->resolution.xres >> 8); - *bufptr++ = (ipp_uchar_t)value->resolution.xres; - *bufptr++ = (ipp_uchar_t)(value->resolution.yres >> 24); - *bufptr++ = (ipp_uchar_t)(value->resolution.yres >> 16); - *bufptr++ = (ipp_uchar_t)(value->resolution.yres >> 8); - *bufptr++ = (ipp_uchar_t)value->resolution.yres; - *bufptr++ = (ipp_uchar_t)value->resolution.units; - } - break; - - case IPP_TAG_RANGE : - for (i = 0, value = attr->values; - i < attr->num_values; - i ++, value ++) - { - if ((IPP_BUF_SIZE - (bufptr - buffer)) < 13) - { - if ((*cb)(dst, buffer, (size_t)(bufptr - buffer)) < 0) - { - DEBUG_puts("1ippWriteIO: Could not write IPP " - "attribute..."); - _cupsBufferRelease((char *)buffer); - return (IPP_STATE_ERROR); - } - - bufptr = buffer; - } - - if (i) - { - /* - * Arrays and sets are done by sending additional - * values with a zero-length name... - */ - - *bufptr++ = (ipp_uchar_t)attr->value_tag; - *bufptr++ = 0; - *bufptr++ = 0; - } - - /* - * Range values consist of a 2-byte length, - * 4-byte lower value, and 4-byte upper value. - * - * Put the 2-byte length and range value data - * into the buffer. - */ - - *bufptr++ = 0; - *bufptr++ = 8; - *bufptr++ = (ipp_uchar_t)(value->range.lower >> 24); - *bufptr++ = (ipp_uchar_t)(value->range.lower >> 16); - *bufptr++ = (ipp_uchar_t)(value->range.lower >> 8); - *bufptr++ = (ipp_uchar_t)value->range.lower; - *bufptr++ = (ipp_uchar_t)(value->range.upper >> 24); - *bufptr++ = (ipp_uchar_t)(value->range.upper >> 16); - *bufptr++ = (ipp_uchar_t)(value->range.upper >> 8); - *bufptr++ = (ipp_uchar_t)value->range.upper; - } - break; - - case IPP_TAG_TEXTLANG : - case IPP_TAG_NAMELANG : - for (i = 0, value = attr->values; - i < attr->num_values; - i ++, value ++) - { - if (i) - { - /* - * Arrays and sets are done by sending additional - * values with a zero-length name... - */ - - if ((IPP_BUF_SIZE - (bufptr - buffer)) < 3) - { - if ((*cb)(dst, buffer, (size_t)(bufptr - buffer)) < 0) - { - DEBUG_puts("1ippWriteIO: Could not write IPP " - "attribute..."); - _cupsBufferRelease((char *)buffer); - return (IPP_STATE_ERROR); - } - - bufptr = buffer; - } - - *bufptr++ = (ipp_uchar_t)attr->value_tag; - *bufptr++ = 0; - *bufptr++ = 0; - } - - /* - * textWithLanguage and nameWithLanguage values consist - * of a 2-byte length for both strings and their - * individual lengths, a 2-byte length for the - * character string, the character string without the - * trailing nul, a 2-byte length for the character - * set string, and the character set string without - * the trailing nul. - */ - - n = 4; - - if (value->string.language != NULL) - n += (int)strlen(value->string.language); - - if (value->string.text != NULL) - n += (int)strlen(value->string.text); - - if (n > (IPP_BUF_SIZE - 2)) - { - DEBUG_printf(("1ippWriteIO: text/nameWithLanguage value " - "too long (%d)", n)); - _cupsBufferRelease((char *)buffer); - return (IPP_STATE_ERROR); - } - - if ((int)(IPP_BUF_SIZE - (bufptr - buffer)) < (n + 2)) - { - if ((*cb)(dst, buffer, (size_t)(bufptr - buffer)) < 0) - { - DEBUG_puts("1ippWriteIO: Could not write IPP " - "attribute..."); - _cupsBufferRelease((char *)buffer); - return (IPP_STATE_ERROR); - } - - bufptr = buffer; - } - - /* Length of entire value */ - *bufptr++ = (ipp_uchar_t)(n >> 8); - *bufptr++ = (ipp_uchar_t)n; - - /* Length of language */ - if (value->string.language != NULL) - n = (int)strlen(value->string.language); - else - n = 0; - - *bufptr++ = (ipp_uchar_t)(n >> 8); - *bufptr++ = (ipp_uchar_t)n; - - /* Language */ - if (n > 0) - { - memcpy(bufptr, value->string.language, (size_t)n); - bufptr += n; - } - - /* Length of text */ - if (value->string.text != NULL) - n = (int)strlen(value->string.text); - else - n = 0; - - *bufptr++ = (ipp_uchar_t)(n >> 8); - *bufptr++ = (ipp_uchar_t)n; - - /* Text */ - if (n > 0) - { - memcpy(bufptr, value->string.text, (size_t)n); - bufptr += n; - } - } - break; - - case IPP_TAG_BEGIN_COLLECTION : - for (i = 0, value = attr->values; - i < attr->num_values; - i ++, value ++) - { - /* - * Collections are written with the begin-collection - * tag first with a value of 0 length, followed by the - * attributes in the collection, then the end-collection - * value... - */ - - if ((IPP_BUF_SIZE - (bufptr - buffer)) < 5) - { - if ((*cb)(dst, buffer, (size_t)(bufptr - buffer)) < 0) - { - DEBUG_puts("1ippWriteIO: Could not write IPP " - "attribute..."); - _cupsBufferRelease((char *)buffer); - return (IPP_STATE_ERROR); - } - - bufptr = buffer; - } - - if (i) - { - /* - * Arrays and sets are done by sending additional - * values with a zero-length name... - */ - - *bufptr++ = (ipp_uchar_t)attr->value_tag; - *bufptr++ = 0; - *bufptr++ = 0; - } - - /* - * Write a data length of 0 and flush the buffer... - */ - - *bufptr++ = 0; - *bufptr++ = 0; - - if ((*cb)(dst, buffer, (size_t)(bufptr - buffer)) < 0) - { - DEBUG_puts("1ippWriteIO: Could not write IPP " - "attribute..."); - _cupsBufferRelease((char *)buffer); - return (IPP_STATE_ERROR); - } - - bufptr = buffer; - - /* - * Then write the collection attribute... - */ - - value->collection->state = IPP_STATE_IDLE; - - if (ippWriteIO(dst, cb, 1, ipp, - value->collection) == IPP_STATE_ERROR) - { - DEBUG_puts("1ippWriteIO: Unable to write collection value"); - _cupsBufferRelease((char *)buffer); - return (IPP_STATE_ERROR); - } - } - break; - - default : - for (i = 0, value = attr->values; - i < attr->num_values; - i ++, value ++) - { - if (i) - { - /* - * Arrays and sets are done by sending additional - * values with a zero-length name... - */ - - if ((IPP_BUF_SIZE - (bufptr - buffer)) < 3) - { - if ((*cb)(dst, buffer, (size_t)(bufptr - buffer)) < 0) - { - DEBUG_puts("1ippWriteIO: Could not write IPP " - "attribute..."); - _cupsBufferRelease((char *)buffer); - return (IPP_STATE_ERROR); - } - - bufptr = buffer; - } - - *bufptr++ = (ipp_uchar_t)attr->value_tag; - *bufptr++ = 0; - *bufptr++ = 0; - } - - /* - * An unknown value might some new value that a - * vendor has come up with. It consists of a - * 2-byte length and the bytes in the unknown - * value buffer. - */ - - n = value->unknown.length; - - if (n > (IPP_BUF_SIZE - 2)) - { - DEBUG_printf(("1ippWriteIO: Data length too long (%d)", - n)); - _cupsBufferRelease((char *)buffer); - return (IPP_STATE_ERROR); - } - - if ((int)(IPP_BUF_SIZE - (bufptr - buffer)) < (n + 2)) - { - if ((*cb)(dst, buffer, (size_t)(bufptr - buffer)) < 0) - { - DEBUG_puts("1ippWriteIO: Could not write IPP " - "attribute..."); - _cupsBufferRelease((char *)buffer); - return (IPP_STATE_ERROR); - } - - bufptr = buffer; - } - - /* Length of unknown value */ - *bufptr++ = (ipp_uchar_t)(n >> 8); - *bufptr++ = (ipp_uchar_t)n; - - /* Value */ - if (n > 0) - { - memcpy(bufptr, value->unknown.data, (size_t)n); - bufptr += n; - } - } - break; - } - - /* - * Write the data out... - */ - - if (bufptr > buffer) - { - if ((*cb)(dst, buffer, (size_t)(bufptr - buffer)) < 0) - { - DEBUG_puts("1ippWriteIO: Could not write IPP attribute..."); - _cupsBufferRelease((char *)buffer); - return (IPP_STATE_ERROR); - } - - DEBUG_printf(("2ippWriteIO: wrote %d bytes", - (int)(bufptr - buffer))); - } - - /* - * If blocking is disabled and we aren't at the end of the attribute - * list, stop here... - */ - - if (!blocking && ipp->current) - break; - } - - if (ipp->current == NULL) - { - /* - * Done with all of the attributes; add the end-of-attributes - * tag or end-collection attribute... - */ - - if (parent == NULL) - { - buffer[0] = IPP_TAG_END; - n = 1; - } - else - { - buffer[0] = IPP_TAG_END_COLLECTION; - buffer[1] = 0; /* empty name */ - buffer[2] = 0; - buffer[3] = 0; /* empty value */ - buffer[4] = 0; - n = 5; - } - - if ((*cb)(dst, buffer, (size_t)n) < 0) - { - DEBUG_puts("1ippWriteIO: Could not write IPP end-tag..."); - _cupsBufferRelease((char *)buffer); - return (IPP_STATE_ERROR); - } - - ipp->state = IPP_STATE_DATA; - } - break; - - case IPP_STATE_DATA : - break; - - default : - break; /* anti-compiler-warning-code */ - } - - _cupsBufferRelease((char *)buffer); - - return (ipp->state); -} - - -/* - * 'ipp_add_attr()' - Add a new attribute to the message. - */ - -static ipp_attribute_t * /* O - New attribute */ -ipp_add_attr(ipp_t *ipp, /* I - IPP message */ - const char *name, /* I - Attribute name or NULL */ - ipp_tag_t group_tag, /* I - Group tag or IPP_TAG_ZERO */ - ipp_tag_t value_tag, /* I - Value tag or IPP_TAG_ZERO */ - int num_values) /* I - Number of values */ -{ - int alloc_values; /* Number of values to allocate */ - ipp_attribute_t *attr; /* New attribute */ - - - DEBUG_printf(("4ipp_add_attr(ipp=%p, name=\"%s\", group_tag=0x%x, value_tag=0x%x, num_values=%d)", (void *)ipp, name, group_tag, value_tag, num_values)); - - /* - * Range check input... - */ - - if (!ipp || num_values < 0) - return (NULL); - - /* - * Allocate memory, rounding the allocation up as needed... - */ - - if (num_values <= 1) - alloc_values = 1; - else - alloc_values = (num_values + IPP_MAX_VALUES - 1) & ~(IPP_MAX_VALUES - 1); - - attr = calloc(sizeof(ipp_attribute_t) + - (size_t)(alloc_values - 1) * sizeof(_ipp_value_t), 1); - - if (attr) - { - /* - * Initialize attribute... - */ - - DEBUG_printf(("4debug_alloc: %p %s %s%s (%d values)", (void *)attr, name, num_values > 1 ? "1setOf " : "", ippTagString(value_tag), num_values)); - - if (name) - attr->name = _cupsStrAlloc(name); - - attr->group_tag = group_tag; - attr->value_tag = value_tag; - attr->num_values = num_values; - - /* - * Add it to the end of the linked list... - */ - - if (ipp->last) - ipp->last->next = attr; - else - ipp->attrs = attr; - - ipp->prev = ipp->last; - ipp->last = ipp->current = attr; - } - - DEBUG_printf(("5ipp_add_attr: Returning %p", (void *)attr)); - - return (attr); -} - - -/* - * 'ipp_free_values()' - Free attribute values. - */ - -static void -ipp_free_values(ipp_attribute_t *attr, /* I - Attribute to free values from */ - int element,/* I - First value to free */ - int count) /* I - Number of values to free */ -{ - int i; /* Looping var */ - _ipp_value_t *value; /* Current value */ - - - DEBUG_printf(("4ipp_free_values(attr=%p, element=%d, count=%d)", (void *)attr, element, count)); - - if (!(attr->value_tag & IPP_TAG_CUPS_CONST)) - { - /* - * Free values as needed... - */ - - switch (attr->value_tag) - { - case IPP_TAG_TEXTLANG : - case IPP_TAG_NAMELANG : - if (element == 0 && count == attr->num_values && - attr->values[0].string.language) - { - _cupsStrFree(attr->values[0].string.language); - attr->values[0].string.language = NULL; - } - /* Fall through to other string values */ - - case IPP_TAG_TEXT : - case IPP_TAG_NAME : - case IPP_TAG_RESERVED_STRING : - case IPP_TAG_KEYWORD : - case IPP_TAG_URI : - case IPP_TAG_URISCHEME : - case IPP_TAG_CHARSET : - case IPP_TAG_LANGUAGE : - case IPP_TAG_MIMETYPE : - for (i = count, value = attr->values + element; - i > 0; - i --, value ++) - { - _cupsStrFree(value->string.text); - value->string.text = NULL; - } - break; - - case IPP_TAG_DEFAULT : - case IPP_TAG_UNKNOWN : - case IPP_TAG_NOVALUE : - case IPP_TAG_NOTSETTABLE : - case IPP_TAG_DELETEATTR : - case IPP_TAG_ADMINDEFINE : - case IPP_TAG_INTEGER : - case IPP_TAG_ENUM : - case IPP_TAG_BOOLEAN : - case IPP_TAG_DATE : - case IPP_TAG_RESOLUTION : - case IPP_TAG_RANGE : - break; - - case IPP_TAG_BEGIN_COLLECTION : - for (i = count, value = attr->values + element; - i > 0; - i --, value ++) - { - ippDelete(value->collection); - value->collection = NULL; - } - break; - - case IPP_TAG_STRING : - default : - for (i = count, value = attr->values + element; - i > 0; - i --, value ++) - { - if (value->unknown.data) - { - free(value->unknown.data); - value->unknown.data = NULL; - } - } - break; - } - } - - /* - * If we are not freeing values from the end, move the remaining values up... - */ - - if ((element + count) < attr->num_values) - memmove(attr->values + element, attr->values + element + count, - (size_t)(attr->num_values - count - element) * sizeof(_ipp_value_t)); - - attr->num_values -= count; -} - - -/* - * 'ipp_get_code()' - Convert a C locale/charset name into an IPP language/charset code. - * - * This typically converts strings of the form "ll_CC", "ll-REGION", and "CHARSET_NUMBER" - * to "ll-cc", "ll-region", and "charset-number", respectively. - */ - -static char * /* O - Language code string */ -ipp_get_code(const char *value, /* I - Locale/charset string */ - char *buffer, /* I - String buffer */ - size_t bufsize) /* I - Size of string buffer */ -{ - char *bufptr, /* Pointer into buffer */ - *bufend; /* End of buffer */ - - - /* - * Convert values to lowercase and change _ to - as needed... - */ - - for (bufptr = buffer, bufend = buffer + bufsize - 1; - *value && bufptr < bufend; - value ++) - if (*value == '_') - *bufptr++ = '-'; - else - *bufptr++ = (char)_cups_tolower(*value); - - *bufptr = '\0'; - - /* - * Return the converted string... - */ - - return (buffer); -} - - -/* - * 'ipp_lang_code()' - Convert a C locale name into an IPP language code. - * - * This typically converts strings of the form "ll_CC" and "ll-REGION" to "ll-cc" and - * "ll-region", respectively. It also converts the "C" (POSIX) locale to "en". - */ - -static char * /* O - Language code string */ -ipp_lang_code(const char *locale, /* I - Locale string */ - char *buffer, /* I - String buffer */ - size_t bufsize) /* I - Size of string buffer */ -{ - /* - * Map POSIX ("C") locale to generic English, otherwise convert the locale string as-is. - */ - - if (!_cups_strcasecmp(locale, "c")) - { - strlcpy(buffer, "en", bufsize); - return (buffer); - } - else - return (ipp_get_code(locale, buffer, bufsize)); -} - - -/* - * 'ipp_length()' - Compute the length of an IPP message or collection value. - */ - -static size_t /* O - Size of IPP message */ -ipp_length(ipp_t *ipp, /* I - IPP message or collection */ - int collection) /* I - 1 if a collection, 0 otherwise */ -{ - int i; /* Looping var */ - size_t bytes; /* Number of bytes */ - ipp_attribute_t *attr; /* Current attribute */ - ipp_tag_t group; /* Current group */ - _ipp_value_t *value; /* Current value */ - - - DEBUG_printf(("3ipp_length(ipp=%p, collection=%d)", (void *)ipp, collection)); - - if (!ipp) - { - DEBUG_puts("4ipp_length: Returning 0 bytes"); - return (0); - } - - /* - * Start with 8 bytes for the IPP message header... - */ - - bytes = collection ? 0 : 8; - - /* - * Then add the lengths of each attribute... - */ - - group = IPP_TAG_ZERO; - - for (attr = ipp->attrs; attr != NULL; attr = attr->next) - { - if (attr->group_tag != group && !collection) - { - group = attr->group_tag; - if (group == IPP_TAG_ZERO) - continue; - - bytes ++; /* Group tag */ - } - - if (!attr->name) - continue; - - DEBUG_printf(("5ipp_length: attr->name=\"%s\", attr->num_values=%d, " - "bytes=" CUPS_LLFMT, attr->name, attr->num_values, CUPS_LLCAST bytes)); - - if ((attr->value_tag & ~IPP_TAG_CUPS_CONST) < IPP_TAG_EXTENSION) - bytes += (size_t)attr->num_values;/* Value tag for each value */ - else - bytes += (size_t)(5 * attr->num_values); - /* Value tag for each value */ - bytes += (size_t)(2 * attr->num_values); - /* Name lengths */ - bytes += strlen(attr->name); /* Name */ - bytes += (size_t)(2 * attr->num_values); - /* Value lengths */ - - if (collection) - bytes += 5; /* Add membername overhead */ - - switch (attr->value_tag & ~IPP_TAG_CUPS_CONST) - { - case IPP_TAG_UNSUPPORTED_VALUE : - case IPP_TAG_DEFAULT : - case IPP_TAG_UNKNOWN : - case IPP_TAG_NOVALUE : - case IPP_TAG_NOTSETTABLE : - case IPP_TAG_DELETEATTR : - case IPP_TAG_ADMINDEFINE : - break; - - case IPP_TAG_INTEGER : - case IPP_TAG_ENUM : - bytes += (size_t)(4 * attr->num_values); - break; - - case IPP_TAG_BOOLEAN : - bytes += (size_t)attr->num_values; - break; - - case IPP_TAG_TEXT : - case IPP_TAG_NAME : - case IPP_TAG_KEYWORD : - case IPP_TAG_URI : - case IPP_TAG_URISCHEME : - case IPP_TAG_CHARSET : - case IPP_TAG_LANGUAGE : - case IPP_TAG_MIMETYPE : - for (i = 0, value = attr->values; - i < attr->num_values; - i ++, value ++) - if (value->string.text) - bytes += strlen(value->string.text); - break; - - case IPP_TAG_DATE : - bytes += (size_t)(11 * attr->num_values); - break; - - case IPP_TAG_RESOLUTION : - bytes += (size_t)(9 * attr->num_values); - break; - - case IPP_TAG_RANGE : - bytes += (size_t)(8 * attr->num_values); - break; - - case IPP_TAG_TEXTLANG : - case IPP_TAG_NAMELANG : - bytes += (size_t)(4 * attr->num_values); - /* Charset + text length */ - - for (i = 0, value = attr->values; - i < attr->num_values; - i ++, value ++) - { - if (value->string.language) - bytes += strlen(value->string.language); - - if (value->string.text) - bytes += strlen(value->string.text); - } - break; - - case IPP_TAG_BEGIN_COLLECTION : - for (i = 0, value = attr->values; - i < attr->num_values; - i ++, value ++) - bytes += ipp_length(value->collection, 1); - break; - - default : - for (i = 0, value = attr->values; - i < attr->num_values; - i ++, value ++) - bytes += (size_t)value->unknown.length; - break; - } - } - - /* - * Finally, add 1 byte for the "end of attributes" tag or 5 bytes - * for the "end of collection" tag and return... - */ - - if (collection) - bytes += 5; - else - bytes ++; - - DEBUG_printf(("4ipp_length: Returning " CUPS_LLFMT " bytes", CUPS_LLCAST bytes)); - - return (bytes); -} - - -/* - * 'ipp_read_http()' - Semi-blocking read on a HTTP connection... - */ - -static ssize_t /* O - Number of bytes read */ -ipp_read_http(http_t *http, /* I - Client connection */ - ipp_uchar_t *buffer, /* O - Buffer for data */ - size_t length) /* I - Total length */ -{ - ssize_t tbytes, /* Total bytes read */ - bytes; /* Bytes read this pass */ - - - DEBUG_printf(("7ipp_read_http(http=%p, buffer=%p, length=%d)", (void *)http, (void *)buffer, (int)length)); - - /* - * Loop until all bytes are read... - */ - - for (tbytes = 0, bytes = 0; - tbytes < (int)length; - tbytes += bytes, buffer += bytes) - { - DEBUG_printf(("9ipp_read_http: tbytes=" CUPS_LLFMT ", http->state=%d", CUPS_LLCAST tbytes, http->state)); - - if (http->state == HTTP_STATE_WAITING) - break; - - if (http->used == 0 && !http->blocking) - { - /* - * Wait up to 10 seconds for more data on non-blocking sockets... - */ - - if (!httpWait(http, 10000)) - { - /* - * Signal no data... - */ - - bytes = -1; - break; - } - } - else if (http->used == 0 && http->timeout_value > 0) - { - /* - * Wait up to timeout seconds for more data on blocking sockets... - */ - - if (!httpWait(http, (int)(1000 * http->timeout_value))) - { - /* - * Signal no data... - */ - - bytes = -1; - break; - } - } - - if ((bytes = httpRead2(http, (char *)buffer, length - (size_t)tbytes)) < 0) - { -#ifdef WIN32 - break; -#else - if (errno != EAGAIN && errno != EINTR) - break; - - bytes = 0; -#endif /* WIN32 */ - } - else if (bytes == 0) - break; - } - - /* - * Return the number of bytes read... - */ - - if (tbytes == 0 && bytes < 0) - tbytes = -1; - - DEBUG_printf(("8ipp_read_http: Returning " CUPS_LLFMT " bytes", CUPS_LLCAST tbytes)); - - return (tbytes); -} - - -/* - * 'ipp_read_file()' - Read IPP data from a file. - */ - -static ssize_t /* O - Number of bytes read */ -ipp_read_file(int *fd, /* I - File descriptor */ - ipp_uchar_t *buffer, /* O - Read buffer */ - size_t length) /* I - Number of bytes to read */ -{ -#ifdef WIN32 - return ((ssize_t)read(*fd, buffer, (unsigned)length)); -#else - return (read(*fd, buffer, length)); -#endif /* WIN32 */ -} - - -/* - * 'ipp_set_error()' - Set a formatted, localized error string. - */ - -static void -ipp_set_error(ipp_status_t status, /* I - Status code */ - const char *format, /* I - Printf-style error string */ - ...) /* I - Additional arguments as needed */ -{ - va_list ap; /* Pointer to additional args */ - char buffer[2048]; /* Message buffer */ - cups_lang_t *lang = cupsLangDefault(); - /* Current language */ - - - va_start(ap, format); - vsnprintf(buffer, sizeof(buffer), _cupsLangString(lang, format), ap); - va_end(ap); - - _cupsSetError(status, buffer, 0); -} - - -/* - * 'ipp_set_value()' - Get the value element from an attribute, expanding it as - * needed. - */ - -static _ipp_value_t * /* O - IPP value element or NULL on error */ -ipp_set_value(ipp_t *ipp, /* IO - IPP message */ - ipp_attribute_t **attr, /* IO - IPP attribute */ - int element) /* I - Value number (0-based) */ -{ - ipp_attribute_t *temp, /* New attribute pointer */ - *current, /* Current attribute in list */ - *prev; /* Previous attribute in list */ - int alloc_values; /* Allocated values */ - - - /* - * If we are setting an existing value element, return it... - */ - - temp = *attr; - - if (temp->num_values <= 1) - alloc_values = 1; - else - alloc_values = (temp->num_values + IPP_MAX_VALUES - 1) & - ~(IPP_MAX_VALUES - 1); - - if (element < alloc_values) - { - if (element >= temp->num_values) - temp->num_values = element + 1; - - return (temp->values + element); - } - - /* - * Otherwise re-allocate the attribute - we allocate in groups of IPP_MAX_VALUE - * values when num_values > 1. - */ - - if (alloc_values < IPP_MAX_VALUES) - alloc_values = IPP_MAX_VALUES; - else - alloc_values += IPP_MAX_VALUES; - - DEBUG_printf(("4ipp_set_value: Reallocating for up to %d values.", - alloc_values)); - - /* - * Reallocate memory... - */ - - if ((temp = realloc(temp, sizeof(ipp_attribute_t) + (size_t)(alloc_values - 1) * sizeof(_ipp_value_t))) == NULL) - { - _cupsSetHTTPError(HTTP_STATUS_ERROR); - DEBUG_puts("4ipp_set_value: Unable to resize attribute."); - return (NULL); - } - - /* - * Zero the new memory... - */ - - memset(temp->values + temp->num_values, 0, (size_t)(alloc_values - temp->num_values) * sizeof(_ipp_value_t)); - - if (temp != *attr) - { - /* - * Reset pointers in the list... - */ - - DEBUG_printf(("4debug_free: %p %s", (void *)*attr, temp->name)); - DEBUG_printf(("4debug_alloc: %p %s %s%s (%d)", (void *)temp, temp->name, temp->num_values > 1 ? "1setOf " : "", ippTagString(temp->value_tag), temp->num_values)); - - if (ipp->current == *attr && ipp->prev) - { - /* - * Use current "previous" pointer... - */ - - prev = ipp->prev; - } - else - { - /* - * Find this attribute in the linked list... - */ - - for (prev = NULL, current = ipp->attrs; - current && current != *attr; - prev = current, current = current->next); - - if (!current) - { - /* - * This is a serious error! - */ - - *attr = temp; - _cupsSetError(IPP_STATUS_ERROR_INTERNAL, - _("IPP attribute is not a member of the message."), 1); - DEBUG_puts("4ipp_set_value: Unable to find attribute in message."); - return (NULL); - } - } - - if (prev) - prev->next = temp; - else - ipp->attrs = temp; - - ipp->current = temp; - ipp->prev = prev; - - if (ipp->last == *attr) - ipp->last = temp; - - *attr = temp; - } - - /* - * Return the value element... - */ - - if (element >= temp->num_values) - temp->num_values = element + 1; - - return (temp->values + element); -} - - -/* - * 'ipp_write_file()' - Write IPP data to a file. - */ - -static ssize_t /* O - Number of bytes written */ -ipp_write_file(int *fd, /* I - File descriptor */ - ipp_uchar_t *buffer, /* I - Data to write */ - size_t length) /* I - Number of bytes to write */ -{ -#ifdef WIN32 - return ((ssize_t)write(*fd, buffer, (unsigned)length)); -#else - return (write(*fd, buffer, length)); -#endif /* WIN32 */ -} diff --git a/doc/help/cupspm.html b/doc/help/cupspm.html index 9b48cde3..fbe4f6d8 100644 --- a/doc/help/cupspm.html +++ b/doc/help/cupspm.html @@ -8,7 +8,7 @@ <meta name="creator" content="codedoc v3.1"> <meta name="author" content="Michael R Sweet"> <meta name="copyright" content="Copyright © 2007-2019 by Apple Inc. All Rights Reserved."> - <meta name="version" content="2.3.1"> + <meta name="version" content="2.3.3"> <style type="text/css"><!-- body, p, h1, h2, h3, h4 { font-family: sans-serif; diff --git a/locale/cups.pot b/locale/cups.pot index fd2ddd07..679d1856 100644 --- a/locale/cups.pot +++ b/locale/cups.pot @@ -23,9 +23,9 @@ #, fuzzy msgid "" msgstr "" -"Project-Id-Version: CUPS 2.3.0\n" +"Project-Id-Version: CUPS 2.3.3\n" "Report-Msgid-Bugs-To: https://github.com/apple/cups/issues\n" -"POT-Creation-Date: 2019-08-23 09:13-0400\n" +"POT-Creation-Date: 2019-12-18 20:19-0500\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" @@ -1293,7 +1293,7 @@ msgid "%s is ready and printing" msgstr "" #: filter/rastertoepson.c:999 filter/rastertohp.c:668 -#: filter/rastertolabel.c:1120 +#: filter/rastertolabel.c:1121 #, c-format msgid "%s job-id user title copies options [file]" msgstr "" @@ -1680,12 +1680,12 @@ msgstr "" msgid "%s: Unknown option \"%c\"." msgstr "" -#: tools/ippeveprinter.c:381 tools/ippeveprinter.c:566 tools/ippfind.c:627 +#: tools/ippeveprinter.c:414 tools/ippeveprinter.c:604 tools/ippfind.c:627 #, c-format msgid "%s: Unknown option \"%s\"." msgstr "" -#: tools/ippeveprinter.c:555 tools/ippfind.c:919 tools/ipptool.c:606 +#: tools/ippeveprinter.c:593 tools/ippfind.c:919 tools/ipptool.c:606 #, c-format msgid "%s: Unknown option \"-%c\"." msgstr "" @@ -1776,7 +1776,7 @@ msgstr "" msgid "--false Always false" msgstr "" -#: tools/ippeveprinter.c:7665 +#: tools/ippeveprinter.c:7923 msgid "--help Show program help" msgstr "" @@ -1818,7 +1818,7 @@ msgstr "" msgid "--name regex Match service name to regular expression" msgstr "" -#: tools/ippeveprinter.c:7666 +#: tools/ippeveprinter.c:7924 msgid "--no-web-forms Disable web forms for media and supplies" msgstr "" @@ -1826,6 +1826,10 @@ msgstr "" msgid "--not expression Unary NOT of expression" msgstr "" +#: tools/ippeveprinter.c:7925 +msgid "--pam-service service Use the named PAM service" +msgstr "" + #: tools/ippfind.c:2792 msgid "--path regex Match resource path to regular expression" msgstr "" @@ -1884,7 +1888,7 @@ msgstr "" msgid "--uri regex Match URI to regular expression" msgstr "" -#: tools/ippeveprinter.c:7667 tools/ippfind.c:2770 +#: tools/ippeveprinter.c:7926 tools/ippfind.c:2770 msgid "--version Show program version" msgstr "" @@ -1892,83 +1896,83 @@ msgstr "" msgid "--version Show version" msgstr "" -#: ppdc/sample.c:305 +#: ppdc/sample.c:308 msgid "-1" msgstr "" -#: ppdc/sample.c:296 +#: ppdc/sample.c:299 msgid "-10" msgstr "" -#: ppdc/sample.c:388 +#: ppdc/sample.c:391 msgid "-100" msgstr "" -#: ppdc/sample.c:387 +#: ppdc/sample.c:390 msgid "-105" msgstr "" -#: ppdc/sample.c:295 +#: ppdc/sample.c:298 msgid "-11" msgstr "" -#: ppdc/sample.c:386 +#: ppdc/sample.c:389 msgid "-110" msgstr "" -#: ppdc/sample.c:385 +#: ppdc/sample.c:388 msgid "-115" msgstr "" -#: ppdc/sample.c:294 +#: ppdc/sample.c:297 msgid "-12" msgstr "" -#: ppdc/sample.c:384 +#: ppdc/sample.c:387 msgid "-120" msgstr "" -#: ppdc/sample.c:293 +#: ppdc/sample.c:296 msgid "-13" msgstr "" -#: ppdc/sample.c:292 +#: ppdc/sample.c:295 msgid "-14" msgstr "" -#: ppdc/sample.c:291 +#: ppdc/sample.c:294 msgid "-15" msgstr "" -#: ppdc/sample.c:304 +#: ppdc/sample.c:307 msgid "-2" msgstr "" -#: tools/ippeveprinter.c:7668 +#: tools/ippeveprinter.c:7927 msgid "-2 Set 2-sided printing support (default=1-sided)" msgstr "" -#: ppdc/sample.c:404 +#: ppdc/sample.c:407 msgid "-20" msgstr "" -#: ppdc/sample.c:403 +#: ppdc/sample.c:406 msgid "-25" msgstr "" -#: ppdc/sample.c:303 +#: ppdc/sample.c:306 msgid "-3" msgstr "" -#: ppdc/sample.c:402 +#: ppdc/sample.c:405 msgid "-30" msgstr "" -#: ppdc/sample.c:401 +#: ppdc/sample.c:404 msgid "-35" msgstr "" -#: ppdc/sample.c:302 +#: ppdc/sample.c:305 msgid "-4" msgstr "" @@ -1976,27 +1980,27 @@ msgstr "" msgid "-4 Connect using IPv4" msgstr "" -#: ppdc/sample.c:400 +#: ppdc/sample.c:403 msgid "-40" msgstr "" -#: ppdc/sample.c:399 +#: ppdc/sample.c:402 msgid "-45" msgstr "" -#: ppdc/sample.c:301 +#: ppdc/sample.c:304 msgid "-5" msgstr "" -#: ppdc/sample.c:398 +#: ppdc/sample.c:401 msgid "-50" msgstr "" -#: ppdc/sample.c:397 +#: ppdc/sample.c:400 msgid "-55" msgstr "" -#: ppdc/sample.c:300 +#: ppdc/sample.c:303 msgid "-6" msgstr "" @@ -2004,50 +2008,54 @@ msgstr "" msgid "-6 Connect using IPv6" msgstr "" -#: ppdc/sample.c:396 +#: ppdc/sample.c:399 msgid "-60" msgstr "" -#: ppdc/sample.c:395 +#: ppdc/sample.c:398 msgid "-65" msgstr "" -#: ppdc/sample.c:299 +#: ppdc/sample.c:302 msgid "-7" msgstr "" -#: ppdc/sample.c:394 +#: ppdc/sample.c:397 msgid "-70" msgstr "" -#: ppdc/sample.c:393 +#: ppdc/sample.c:396 msgid "-75" msgstr "" -#: ppdc/sample.c:298 +#: ppdc/sample.c:301 msgid "-8" msgstr "" -#: ppdc/sample.c:392 +#: ppdc/sample.c:395 msgid "-80" msgstr "" -#: ppdc/sample.c:391 +#: ppdc/sample.c:394 msgid "-85" msgstr "" -#: ppdc/sample.c:297 +#: ppdc/sample.c:300 msgid "-9" msgstr "" -#: ppdc/sample.c:390 +#: ppdc/sample.c:393 msgid "-90" msgstr "" -#: ppdc/sample.c:389 +#: ppdc/sample.c:392 msgid "-95" msgstr "" +#: tools/ippeveprinter.c:7928 +msgid "-A Enable authentication" +msgstr "" + #: tools/ipptool.c:4314 msgid "-C Send requests using chunking (default)" msgstr "" @@ -2056,7 +2064,7 @@ msgstr "" msgid "-D description Specify the textual description of the printer" msgstr "" -#: tools/ippeveprinter.c:7669 +#: tools/ippeveprinter.c:7929 msgid "-D device-uri Set the device URI for the printer" msgstr "" @@ -2066,7 +2074,7 @@ msgstr "" #: berkeley/lpq.c:644 berkeley/lpr.c:433 berkeley/lprm.c:234 #: systemv/cancel.c:403 systemv/cupsaccept.c:244 systemv/cupsctl.c:233 -#: systemv/lp.c:752 systemv/lpadmin.c:1624 systemv/lpinfo.c:498 +#: systemv/lp.c:753 systemv/lpadmin.c:1624 systemv/lpinfo.c:498 #: systemv/lpmove.c:217 systemv/lpoptions.c:540 systemv/lpstat.c:2045 msgid "-E Encrypt the connection to the server" msgstr "" @@ -2075,11 +2083,11 @@ msgstr "" msgid "-E Test with encryption using HTTP Upgrade to TLS" msgstr "" -#: scheduler/main.c:2136 +#: scheduler/main.c:2138 msgid "-F Run in the foreground but detach from console." msgstr "" -#: tools/ippeveprinter.c:7670 +#: tools/ippeveprinter.c:7930 msgid "-F output-type/subtype Set the output format for the printer" msgstr "" @@ -2087,23 +2095,23 @@ msgstr "" msgid "-H Show the default server and port" msgstr "" -#: systemv/lp.c:754 +#: systemv/lp.c:755 msgid "-H HH:MM Hold the job until the specified UTC time" msgstr "" -#: systemv/lp.c:755 +#: systemv/lp.c:756 msgid "-H hold Hold the job until released/resumed" msgstr "" -#: systemv/lp.c:756 +#: systemv/lp.c:757 msgid "-H immediate Print the job as soon as possible" msgstr "" -#: systemv/lp.c:757 +#: systemv/lp.c:758 msgid "-H restart Reprint the job" msgstr "" -#: systemv/lp.c:758 +#: systemv/lp.c:759 msgid "-H resume Resume a held job" msgstr "" @@ -2121,7 +2129,7 @@ msgid "" " Ignore specific warnings" msgstr "" -#: tools/ippeveprinter.c:7672 +#: tools/ippeveprinter.c:7932 msgid "-K keypath Set location of server X.509 certificates and keys." msgstr "" @@ -2133,7 +2141,7 @@ msgstr "" msgid "-L location Specify the textual location of the printer" msgstr "" -#: tools/ippeveprinter.c:7674 +#: tools/ippeveprinter.c:7934 msgid "-M manufacturer Set manufacturer name (default=Test)" msgstr "" @@ -2141,7 +2149,7 @@ msgstr "" msgid "-P destination Show status for the specified destination" msgstr "" -#: berkeley/lpr.c:450 berkeley/lprm.c:236 +#: berkeley/lpr.c:448 berkeley/lprm.c:236 msgid "-P destination Specify the destination" msgstr "" @@ -2149,7 +2157,7 @@ msgstr "" msgid "-P filename.plist Produce XML plist to a file and test report to standard output" msgstr "" -#: tools/ippeveprinter.c:7675 +#: tools/ippeveprinter.c:7935 msgid "-P filename.ppd Load printer attributes from PPD file" msgstr "" @@ -2157,7 +2165,7 @@ msgstr "" msgid "-P number[-number] Match port to number or range" msgstr "" -#: systemv/lp.c:774 +#: systemv/lp.c:775 msgid "-P page-list Specify a list of pages to print" msgstr "" @@ -2190,7 +2198,7 @@ msgid "-T title Specify the job title" msgstr "" #: berkeley/lpq.c:648 berkeley/lpr.c:452 berkeley/lprm.c:237 -#: systemv/cancel.c:406 systemv/cupsaccept.c:247 systemv/lp.c:778 +#: systemv/cancel.c:406 systemv/cupsaccept.c:247 systemv/lp.c:779 #: systemv/lpadmin.c:1652 systemv/lpinfo.c:502 systemv/lpmove.c:219 #: systemv/lpoptions.c:545 systemv/lpstat.c:2048 msgid "-U username Specify the username to use for authentication" @@ -2200,7 +2208,7 @@ msgstr "" msgid "-U username Specify username to use for authentication" msgstr "" -#: tools/ippeveprinter.c:7676 tools/ippfind.c:2769 tools/ipptool.c:4321 +#: tools/ippeveprinter.c:7936 tools/ippfind.c:2769 tools/ipptool.c:4321 msgid "-V version Set default IPP version" msgstr "" @@ -2234,7 +2242,7 @@ msgstr "" msgid "-a [destination(s)] Show the accepting state of destinations" msgstr "" -#: tools/ippeveprinter.c:7677 +#: tools/ippeveprinter.c:7937 msgid "-a filename.conf Load printer attributes from conf file" msgstr "" @@ -2254,11 +2262,11 @@ msgstr "" msgid "-c class Add the named destination to a class" msgstr "" -#: tools/ippeveprinter.c:7678 +#: tools/ippeveprinter.c:7938 msgid "-c command Set print command" msgstr "" -#: scheduler/main.c:2134 +#: scheduler/main.c:2136 msgid "-c cupsd.conf Set cupsd.conf file to use." msgstr "" @@ -2274,6 +2282,10 @@ msgstr "" msgid "-d destination Set the named destination as the server default" msgstr "" +#: systemv/lp.c:752 +msgid "-d destination Specify the destination" +msgstr "" + #: tools/ipptool.c:4324 msgid "-d name=value Set named variable to value" msgstr "" @@ -2282,7 +2294,7 @@ msgstr "" msgid "-d regex Match domain to regular expression" msgstr "" -#: tools/ippeveprinter.c:7679 +#: tools/ippeveprinter.c:7939 msgid "-d spool-directory Set spool directory" msgstr "" @@ -2290,7 +2302,7 @@ msgstr "" msgid "-e Show available destinations on the network" msgstr "" -#: scheduler/main.c:2135 +#: scheduler/main.c:2137 msgid "-f Run in the foreground." msgstr "" @@ -2298,11 +2310,11 @@ msgstr "" msgid "-f filename Set default request filename" msgstr "" -#: tools/ippeveprinter.c:7680 +#: tools/ippeveprinter.c:7940 msgid "-f type/subtype[,...] Set supported file types" msgstr "" -#: scheduler/main.c:2137 +#: scheduler/main.c:2139 msgid "-h Show this usage message." msgstr "" @@ -2315,17 +2327,17 @@ msgid "-h regex Match hostname to regular expression" msgstr "" #: berkeley/lpq.c:645 berkeley/lprm.c:235 systemv/cancel.c:404 -#: systemv/cupsaccept.c:245 systemv/cupsctl.c:234 systemv/lp.c:753 +#: systemv/cupsaccept.c:245 systemv/cupsctl.c:234 systemv/lp.c:754 #: systemv/lpadmin.c:1626 systemv/lpinfo.c:499 systemv/lpmove.c:218 #: systemv/lpoptions.c:541 systemv/lpstat.c:2046 msgid "-h server[:port] Connect to the named server and port" msgstr "" -#: tools/ippeveprinter.c:7681 +#: tools/ippeveprinter.c:7941 msgid "-i iconfile.png Set icon file" msgstr "" -#: systemv/lp.c:759 +#: systemv/lp.c:760 msgid "-i id Specify an existing job ID to modify" msgstr "" @@ -2337,7 +2349,7 @@ msgstr "" msgid "-i seconds Repeat the last file with the given time interval" msgstr "" -#: tools/ippeveprinter.c:7682 +#: tools/ippeveprinter.c:7942 msgid "-k Keep job spool files" msgstr "" @@ -2349,7 +2361,7 @@ msgstr "" msgid "-l Produce plain text output" msgstr "" -#: scheduler/main.c:2139 +#: scheduler/main.c:2141 msgid "-l Run cupsd on demand." msgstr "" @@ -2361,11 +2373,11 @@ msgstr "" msgid "-l Show verbose (long) output" msgstr "" -#: tools/ippeveprinter.c:7683 +#: tools/ippeveprinter.c:7943 msgid "-l location Set location of printer" msgstr "" -#: berkeley/lpr.c:435 systemv/lp.c:760 +#: berkeley/lpr.c:435 systemv/lp.c:761 msgid "-m Send an email notification when the job completes" msgstr "" @@ -2377,7 +2389,7 @@ msgstr "" msgid "-m everywhere Specify the printer is compatible with IPP Everywhere" msgstr "" -#: tools/ippeveprinter.c:7684 +#: tools/ippeveprinter.c:7944 msgid "-m model Set model name (default=Printer)" msgstr "" @@ -2389,11 +2401,11 @@ msgstr "" msgid "-n count Repeat the last file the given number of times" msgstr "" -#: tools/ippeveprinter.c:7685 +#: tools/ippeveprinter.c:7945 msgid "-n hostname Set hostname for printer" msgstr "" -#: systemv/lp.c:761 +#: systemv/lp.c:762 msgid "-n num-copies Specify the number of copies to print" msgstr "" @@ -2433,11 +2445,11 @@ msgstr "" msgid "-o job-quota-period=N Specify the per-user quota period in seconds" msgstr "" -#: berkeley/lpr.c:437 systemv/lp.c:763 +#: berkeley/lpr.c:437 systemv/lp.c:764 msgid "-o job-sheets=standard Print a banner page with the job" msgstr "" -#: berkeley/lpr.c:438 systemv/lp.c:764 +#: berkeley/lpr.c:438 systemv/lp.c:765 msgid "-o media=size Specify the media size to use" msgstr "" @@ -2449,21 +2461,21 @@ msgstr "" msgid "-o name[=value] Set default option and value" msgstr "" -#: berkeley/lpr.c:439 systemv/lp.c:765 +#: berkeley/lpr.c:439 systemv/lp.c:766 msgid "-o number-up=N Specify that input pages should be printed N-up (1, 2, 4, 6, 9, and 16 are supported)" msgstr "" -#: berkeley/lpr.c:436 systemv/lp.c:762 +#: berkeley/lpr.c:436 systemv/lp.c:763 msgid "-o option[=value] Specify a printer-specific option" msgstr "" -#: berkeley/lpr.c:440 systemv/lp.c:766 +#: berkeley/lpr.c:440 systemv/lp.c:767 msgid "" "-o orientation-requested=N\n" " Specify portrait (3) or landscape (4) orientation" msgstr "" -#: berkeley/lpr.c:442 systemv/lp.c:768 +#: berkeley/lpr.c:442 systemv/lp.c:769 msgid "-o print-quality=N Specify the print quality - draft (3), normal (4), or best (5)" msgstr "" @@ -2485,17 +2497,17 @@ msgid "" " Specify the printer operation policy" msgstr "" -#: berkeley/lpr.c:443 systemv/lp.c:769 +#: berkeley/lpr.c:443 systemv/lp.c:770 msgid "-o sides=one-sided Specify 1-sided printing" msgstr "" -#: berkeley/lpr.c:444 systemv/lp.c:770 +#: berkeley/lpr.c:444 systemv/lp.c:771 msgid "" "-o sides=two-sided-long-edge\n" " Specify 2-sided portrait printing" msgstr "" -#: berkeley/lpr.c:446 systemv/lp.c:772 +#: berkeley/lpr.c:446 systemv/lp.c:773 msgid "" "-o sides=two-sided-short-edge\n" " Specify 2-sided landscape printing" @@ -2517,7 +2529,7 @@ msgstr "" msgid "-p destination Specify/add the named destination" msgstr "" -#: tools/ippeveprinter.c:7686 +#: tools/ippeveprinter.c:7946 msgid "-p port Set port number for printer" msgstr "" @@ -2529,15 +2541,15 @@ msgstr "" msgid "-q Run silently" msgstr "" -#: berkeley/lpr.c:448 +#: berkeley/lpr.c:449 msgid "-q Specify the job should be held for printing" msgstr "" -#: systemv/lp.c:775 +#: systemv/lp.c:776 msgid "-q priority Specify the priority from low (1) to high (100)" msgstr "" -#: berkeley/lpr.c:449 +#: berkeley/lpr.c:450 msgid "-r Remove the file(s) after submission" msgstr "" @@ -2561,11 +2573,11 @@ msgstr "" msgid "-r reason Specify a reason message that others can see" msgstr "" -#: tools/ippeveprinter.c:7687 +#: tools/ippeveprinter.c:7947 msgid "-r subtype,[subtype] Set DNS-SD service subtype" msgstr "" -#: systemv/lp.c:776 +#: systemv/lp.c:777 msgid "-s Be silent" msgstr "" @@ -2577,11 +2589,11 @@ msgstr "" msgid "-s Show a status summary" msgstr "" -#: scheduler/main.c:2141 +#: scheduler/main.c:2143 msgid "-s cups-files.conf Set cups-files.conf file to use." msgstr "" -#: tools/ippeveprinter.c:7688 +#: tools/ippeveprinter.c:7948 msgid "-s speed[,color-speed] Set speed in pages per minute" msgstr "" @@ -2593,7 +2605,7 @@ msgstr "" msgid "-t Show all status information" msgstr "" -#: scheduler/main.c:2142 +#: scheduler/main.c:2144 msgid "-t Test the configuration file." msgstr "" @@ -2601,7 +2613,7 @@ msgstr "" msgid "-t key True if the TXT record contains the key" msgstr "" -#: systemv/lp.c:777 +#: systemv/lp.c:778 msgid "-t title Specify the job title" msgstr "" @@ -2629,7 +2641,7 @@ msgstr "" msgid "-u regex Match URI to regular expression" msgstr "" -#: systemv/cupstestppd.c:3865 tools/ippeveprinter.c:7689 tools/ipptool.c:4332 +#: systemv/cupstestppd.c:3865 tools/ippeveprinter.c:7949 tools/ipptool.c:4332 msgid "-v Be verbose" msgstr "" @@ -2667,19 +2679,19 @@ msgid "" " Execute program if true" msgstr "" -#: cups/dest.c:1868 +#: cups/dest.c:1867 msgid "/etc/cups/lpoptions file names default destination that does not exist." msgstr "" -#: ppdc/sample.c:306 +#: ppdc/sample.c:309 msgid "0" msgstr "" -#: ppdc/sample.c:307 +#: ppdc/sample.c:310 msgid "1" msgstr "" -#: ppdc/sample.c:379 +#: ppdc/sample.c:382 msgid "1 inch/sec." msgstr "" @@ -2691,7 +2703,7 @@ msgstr "" msgid "1.25x2.25\"" msgstr "" -#: ppdc/sample.c:427 +#: ppdc/sample.c:430 msgid "1.5 inch/sec." msgstr "" @@ -2711,11 +2723,11 @@ msgstr "" msgid "1.50x2.00\"" msgstr "" -#: ppdc/sample.c:316 +#: ppdc/sample.c:319 msgid "10" msgstr "" -#: ppdc/sample.c:438 +#: ppdc/sample.c:441 msgid "10 inches/sec." msgstr "" @@ -2731,39 +2743,39 @@ msgstr "" msgid "10 x 14" msgstr "" -#: ppdc/sample.c:418 +#: ppdc/sample.c:421 msgid "100" msgstr "" -#: ppdc/sample.c:329 +#: ppdc/sample.c:332 msgid "100 mm/sec." msgstr "" -#: ppdc/sample.c:419 +#: ppdc/sample.c:422 msgid "105" msgstr "" -#: ppdc/sample.c:317 +#: ppdc/sample.c:320 msgid "11" msgstr "" -#: ppdc/sample.c:439 +#: ppdc/sample.c:442 msgid "11 inches/sec." msgstr "" -#: ppdc/sample.c:420 +#: ppdc/sample.c:423 msgid "110" msgstr "" -#: ppdc/sample.c:421 +#: ppdc/sample.c:424 msgid "115" msgstr "" -#: ppdc/sample.c:318 +#: ppdc/sample.c:321 msgid "12" msgstr "" -#: ppdc/sample.c:440 +#: ppdc/sample.c:443 msgid "12 inches/sec." msgstr "" @@ -2771,39 +2783,39 @@ msgstr "" msgid "12 x 11" msgstr "" -#: ppdc/sample.c:422 +#: ppdc/sample.c:425 msgid "120" msgstr "" -#: ppdc/sample.c:330 +#: ppdc/sample.c:333 msgid "120 mm/sec." msgstr "" -#: ppdc/sample.c:243 +#: ppdc/sample.c:247 msgid "120x60dpi" msgstr "" -#: ppdc/sample.c:249 +#: ppdc/sample.c:253 msgid "120x72dpi" msgstr "" -#: ppdc/sample.c:319 +#: ppdc/sample.c:322 msgid "13" msgstr "" -#: ppdc/sample.c:232 +#: ppdc/sample.c:233 msgid "136dpi" msgstr "" -#: ppdc/sample.c:320 +#: ppdc/sample.c:323 msgid "14" msgstr "" -#: ppdc/sample.c:321 +#: ppdc/sample.c:324 msgid "15" msgstr "" -#: ppdc/sample.c:323 +#: ppdc/sample.c:326 msgid "15 mm/sec." msgstr "" @@ -2811,43 +2823,43 @@ msgstr "" msgid "15 x 11" msgstr "" -#: ppdc/sample.c:331 +#: ppdc/sample.c:334 msgid "150 mm/sec." msgstr "" -#: ppdc/sample.c:278 +#: ppdc/sample.c:281 msgid "150dpi" msgstr "" -#: ppdc/sample.c:363 +#: ppdc/sample.c:366 msgid "16" msgstr "" -#: ppdc/sample.c:364 +#: ppdc/sample.c:367 msgid "17" msgstr "" -#: ppdc/sample.c:365 +#: ppdc/sample.c:368 msgid "18" msgstr "" -#: ppdc/sample.c:244 +#: ppdc/sample.c:248 msgid "180dpi" msgstr "" -#: ppdc/sample.c:366 +#: ppdc/sample.c:369 msgid "19" msgstr "" -#: ppdc/sample.c:308 +#: ppdc/sample.c:311 msgid "2" msgstr "" -#: ppdc/sample.c:380 +#: ppdc/sample.c:383 msgid "2 inches/sec." msgstr "" -#: cups/ppd-cache.c:3872 ppdc/sample.c:262 +#: cups/ppd-cache.c:3872 ppdc/sample.c:265 msgid "2-Sided Printing" msgstr "" @@ -2891,107 +2903,107 @@ msgstr "" msgid "2.25x1.25\"" msgstr "" -#: ppdc/sample.c:188 +#: ppdc/sample.c:189 msgid "2.25x4.00\"" msgstr "" -#: ppdc/sample.c:189 +#: ppdc/sample.c:190 msgid "2.25x5.50\"" msgstr "" -#: ppdc/sample.c:190 +#: ppdc/sample.c:191 msgid "2.38x5.50\"" msgstr "" -#: ppdc/sample.c:428 +#: ppdc/sample.c:431 msgid "2.5 inches/sec." msgstr "" -#: ppdc/sample.c:191 +#: ppdc/sample.c:192 msgid "2.50x1.00\"" msgstr "" -#: ppdc/sample.c:192 +#: ppdc/sample.c:193 msgid "2.50x2.00\"" msgstr "" -#: ppdc/sample.c:193 +#: ppdc/sample.c:194 msgid "2.75x1.25\"" msgstr "" -#: ppdc/sample.c:194 +#: ppdc/sample.c:195 msgid "2.9 x 1\"" msgstr "" -#: ppdc/sample.c:367 +#: ppdc/sample.c:370 msgid "20" msgstr "" -#: ppdc/sample.c:324 +#: ppdc/sample.c:327 msgid "20 mm/sec." msgstr "" -#: ppdc/sample.c:332 +#: ppdc/sample.c:335 msgid "200 mm/sec." msgstr "" -#: ppdc/sample.c:233 +#: ppdc/sample.c:234 msgid "203dpi" msgstr "" -#: ppdc/sample.c:368 +#: ppdc/sample.c:371 msgid "21" msgstr "" -#: ppdc/sample.c:369 +#: ppdc/sample.c:372 msgid "22" msgstr "" -#: ppdc/sample.c:370 +#: ppdc/sample.c:373 msgid "23" msgstr "" -#: ppdc/sample.c:371 +#: ppdc/sample.c:374 msgid "24" msgstr "" -#: ppdc/sample.c:241 +#: ppdc/sample.c:245 msgid "24-Pin Series" msgstr "" -#: ppdc/sample.c:250 +#: ppdc/sample.c:254 msgid "240x72dpi" msgstr "" -#: ppdc/sample.c:372 +#: ppdc/sample.c:375 msgid "25" msgstr "" -#: ppdc/sample.c:333 +#: ppdc/sample.c:336 msgid "250 mm/sec." msgstr "" -#: ppdc/sample.c:373 +#: ppdc/sample.c:376 msgid "26" msgstr "" -#: ppdc/sample.c:374 +#: ppdc/sample.c:377 msgid "27" msgstr "" -#: ppdc/sample.c:375 +#: ppdc/sample.c:378 msgid "28" msgstr "" -#: ppdc/sample.c:376 +#: ppdc/sample.c:379 msgid "29" msgstr "" -#: ppdc/sample.c:309 +#: ppdc/sample.c:312 msgid "3" msgstr "" -#: ppdc/sample.c:381 +#: ppdc/sample.c:384 msgid "3 inches/sec." msgstr "" @@ -2999,43 +3011,43 @@ msgstr "" msgid "3 x 5" msgstr "" -#: ppdc/sample.c:195 +#: ppdc/sample.c:196 msgid "3.00x1.00\"" msgstr "" -#: ppdc/sample.c:196 +#: ppdc/sample.c:197 msgid "3.00x1.25\"" msgstr "" -#: ppdc/sample.c:197 +#: ppdc/sample.c:198 msgid "3.00x2.00\"" msgstr "" -#: ppdc/sample.c:198 +#: ppdc/sample.c:199 msgid "3.00x3.00\"" msgstr "" -#: ppdc/sample.c:199 +#: ppdc/sample.c:200 msgid "3.00x5.00\"" msgstr "" -#: ppdc/sample.c:200 +#: ppdc/sample.c:201 msgid "3.25x2.00\"" msgstr "" -#: ppdc/sample.c:201 +#: ppdc/sample.c:202 msgid "3.25x5.00\"" msgstr "" -#: ppdc/sample.c:202 +#: ppdc/sample.c:203 msgid "3.25x5.50\"" msgstr "" -#: ppdc/sample.c:203 +#: ppdc/sample.c:204 msgid "3.25x5.83\"" msgstr "" -#: ppdc/sample.c:204 +#: ppdc/sample.c:205 msgid "3.25x7.83\"" msgstr "" @@ -3047,99 +3059,103 @@ msgstr "" msgid "3.5\" Disk" msgstr "" -#: ppdc/sample.c:205 +#: ppdc/sample.c:206 msgid "3.50x1.00\"" msgstr "" -#: ppdc/sample.c:377 +#: ppdc/sample.c:380 msgid "30" msgstr "" -#: ppdc/sample.c:325 +#: ppdc/sample.c:328 msgid "30 mm/sec." msgstr "" -#: ppdc/sample.c:334 +#: ppdc/sample.c:337 msgid "300 mm/sec." msgstr "" -#: ppdc/sample.c:234 +#: ppdc/sample.c:235 msgid "300dpi" msgstr "" -#: ppdc/sample.c:405 +#: ppdc/sample.c:188 +msgid "30859 Paint Can Label" +msgstr "" + +#: ppdc/sample.c:408 msgid "35" msgstr "" -#: ppdc/sample.c:246 +#: ppdc/sample.c:250 msgid "360dpi" msgstr "" -#: ppdc/sample.c:245 +#: ppdc/sample.c:249 msgid "360x180dpi" msgstr "" -#: ppdc/sample.c:310 +#: ppdc/sample.c:313 msgid "4" msgstr "" -#: ppdc/sample.c:382 +#: ppdc/sample.c:385 msgid "4 inches/sec." msgstr "" -#: ppdc/sample.c:206 +#: ppdc/sample.c:207 msgid "4.00x1.00\"" msgstr "" -#: ppdc/sample.c:214 +#: ppdc/sample.c:215 msgid "4.00x13.00\"" msgstr "" -#: ppdc/sample.c:207 +#: ppdc/sample.c:208 msgid "4.00x2.00\"" msgstr "" -#: ppdc/sample.c:208 +#: ppdc/sample.c:209 msgid "4.00x2.50\"" msgstr "" -#: ppdc/sample.c:209 +#: ppdc/sample.c:210 msgid "4.00x3.00\"" msgstr "" -#: ppdc/sample.c:210 +#: ppdc/sample.c:211 msgid "4.00x4.00\"" msgstr "" -#: ppdc/sample.c:211 +#: ppdc/sample.c:212 msgid "4.00x5.00\"" msgstr "" -#: ppdc/sample.c:212 +#: ppdc/sample.c:213 msgid "4.00x6.00\"" msgstr "" -#: ppdc/sample.c:213 +#: ppdc/sample.c:214 msgid "4.00x6.50\"" msgstr "" -#: ppdc/sample.c:406 +#: ppdc/sample.c:409 msgid "40" msgstr "" -#: ppdc/sample.c:326 +#: ppdc/sample.c:329 msgid "40 mm/sec." msgstr "" -#: ppdc/sample.c:407 +#: ppdc/sample.c:410 msgid "45" msgstr "" -#: ppdc/sample.c:311 +#: ppdc/sample.c:314 msgid "5" msgstr "" -#: ppdc/sample.c:432 +#: ppdc/sample.c:435 msgid "5 inches/sec." msgstr "" @@ -3147,79 +3163,79 @@ msgstr "" msgid "5 x 7" msgstr "" -#: ppdc/sample.c:408 +#: ppdc/sample.c:411 msgid "50" msgstr "" -#: ppdc/sample.c:409 +#: ppdc/sample.c:412 msgid "55" msgstr "" -#: ppdc/sample.c:312 +#: ppdc/sample.c:315 msgid "6" msgstr "" -#: ppdc/sample.c:433 +#: ppdc/sample.c:436 msgid "6 inches/sec." msgstr "" -#: ppdc/sample.c:215 +#: ppdc/sample.c:216 msgid "6.00x1.00\"" msgstr "" -#: ppdc/sample.c:216 +#: ppdc/sample.c:217 msgid "6.00x2.00\"" msgstr "" -#: ppdc/sample.c:217 +#: ppdc/sample.c:218 msgid "6.00x3.00\"" msgstr "" -#: ppdc/sample.c:218 +#: ppdc/sample.c:219 msgid "6.00x4.00\"" msgstr "" -#: ppdc/sample.c:219 +#: ppdc/sample.c:220 msgid "6.00x5.00\"" msgstr "" -#: ppdc/sample.c:220 +#: ppdc/sample.c:221 msgid "6.00x6.00\"" msgstr "" -#: ppdc/sample.c:221 +#: ppdc/sample.c:222 msgid "6.00x6.50\"" msgstr "" -#: ppdc/sample.c:410 +#: ppdc/sample.c:413 msgid "60" msgstr "" -#: ppdc/sample.c:327 +#: ppdc/sample.c:330 msgid "60 mm/sec." msgstr "" -#: ppdc/sample.c:253 +#: ppdc/sample.c:257 msgid "600dpi" msgstr "" -#: ppdc/sample.c:242 +#: ppdc/sample.c:246 msgid "60dpi" msgstr "" -#: ppdc/sample.c:248 +#: ppdc/sample.c:252 msgid "60x72dpi" msgstr "" -#: ppdc/sample.c:411 +#: ppdc/sample.c:414 msgid "65" msgstr "" -#: ppdc/sample.c:313 +#: ppdc/sample.c:316 msgid "7" msgstr "" -#: ppdc/sample.c:435 +#: ppdc/sample.c:438 msgid "7 inches/sec." msgstr "" @@ -3227,19 +3243,19 @@ msgstr "" msgid "7 x 9" msgstr "" -#: ppdc/sample.c:412 +#: ppdc/sample.c:415 msgid "70" msgstr "" -#: ppdc/sample.c:413 +#: ppdc/sample.c:416 msgid "75" msgstr "" -#: ppdc/sample.c:314 +#: ppdc/sample.c:317 msgid "8" msgstr "" -#: ppdc/sample.c:436 +#: ppdc/sample.c:439 msgid "8 inches/sec." msgstr "" @@ -3247,51 +3263,51 @@ msgstr "" msgid "8 x 10" msgstr "" -#: ppdc/sample.c:222 +#: ppdc/sample.c:223 msgid "8.00x1.00\"" msgstr "" -#: ppdc/sample.c:223 +#: ppdc/sample.c:224 msgid "8.00x2.00\"" msgstr "" -#: ppdc/sample.c:224 +#: ppdc/sample.c:225 msgid "8.00x3.00\"" msgstr "" -#: ppdc/sample.c:225 +#: ppdc/sample.c:226 msgid "8.00x4.00\"" msgstr "" -#: ppdc/sample.c:226 +#: ppdc/sample.c:227 msgid "8.00x5.00\"" msgstr "" -#: ppdc/sample.c:227 +#: ppdc/sample.c:228 msgid "8.00x6.00\"" msgstr "" -#: ppdc/sample.c:228 +#: ppdc/sample.c:229 msgid "8.00x6.50\"" msgstr "" -#: ppdc/sample.c:414 +#: ppdc/sample.c:417 msgid "80" msgstr "" -#: ppdc/sample.c:328 +#: ppdc/sample.c:331 msgid "80 mm/sec." msgstr "" -#: ppdc/sample.c:415 +#: ppdc/sample.c:418 msgid "85" msgstr "" -#: ppdc/sample.c:315 +#: ppdc/sample.c:318 msgid "9" msgstr "" -#: ppdc/sample.c:437 +#: ppdc/sample.c:440 msgid "9 inches/sec." msgstr "" @@ -3303,15 +3319,15 @@ msgstr "" msgid "9 x 12" msgstr "" -#: ppdc/sample.c:247 +#: ppdc/sample.c:251 msgid "9-Pin Series" msgstr "" -#: ppdc/sample.c:416 +#: ppdc/sample.c:419 msgid "90" msgstr "" -#: ppdc/sample.c:417 +#: ppdc/sample.c:420 msgid "95" msgstr "" @@ -3469,7 +3485,7 @@ msgstr "" msgid "Accept Jobs" msgstr "" -#: cups/http-support.c:1494 +#: cups/http-support.c:1499 msgid "Accepted" msgstr "" @@ -3489,7 +3505,7 @@ msgstr "" msgid "Administration" msgstr "" -#: ppdc/sample.c:424 +#: ppdc/sample.c:427 msgid "Always" msgstr "" @@ -3497,7 +3513,7 @@ msgstr "" msgid "AppSocket/HP JetDirect" msgstr "" -#: ppdc/sample.c:445 +#: ppdc/sample.c:448 msgid "Applicator" msgstr "" @@ -3621,7 +3637,7 @@ msgstr "" msgid "Bad PPD file." msgstr "" -#: cups/http-support.c:1512 +#: cups/http-support.c:1517 msgid "Bad Request" msgstr "" @@ -3637,7 +3653,7 @@ msgstr "" msgid "Bad URI." msgstr "" -#: cups/hash.c:48 cups/http-support.c:1606 +#: cups/hash.c:49 cups/http-support.c:1611 msgid "Bad arguments to function" msgstr "" @@ -3650,7 +3666,7 @@ msgstr "" msgid "Bad custom parameter" msgstr "" -#: cups/http-support.c:1746 scheduler/ipp.c:2365 +#: cups/http-support.c:1751 scheduler/ipp.c:2365 #, c-format msgid "Bad device-uri \"%s\"." msgstr "" @@ -3674,7 +3690,7 @@ msgstr "" msgid "Bad filename buffer" msgstr "" -#: cups/http-support.c:1615 +#: cups/http-support.c:1620 msgid "Bad hostname/address in URI" msgstr "" @@ -3737,7 +3753,7 @@ msgstr "" msgid "Bad page-ranges values %d-%d." msgstr "" -#: cups/http-support.c:1612 +#: cups/http-support.c:1617 msgid "Bad port number in URI" msgstr "" @@ -3765,15 +3781,15 @@ msgstr "" msgid "Bad request version number %d.%d." msgstr "" -#: cups/http-support.c:1609 +#: cups/http-support.c:1614 msgid "Bad resource in URI" msgstr "" -#: cups/http-support.c:1621 +#: cups/http-support.c:1626 msgid "Bad scheme in URI" msgstr "" -#: cups/http-support.c:1618 +#: cups/http-support.c:1623 msgid "Bad username in URI" msgstr "" @@ -3781,7 +3797,7 @@ msgstr "" msgid "Bad value string" msgstr "" -#: cups/http-support.c:1624 +#: cups/http-support.c:1629 msgid "Bad/empty URI" msgstr "" @@ -3789,11 +3805,11 @@ msgstr "" msgid "Banners" msgstr "" -#: ppdc/sample.c:282 +#: ppdc/sample.c:285 msgid "Bond Paper" msgstr "" -#: cups/ppd-cache.c:4152 +#: cups/ppd-cache.c:4277 msgid "Booklet" msgstr "" @@ -3806,11 +3822,11 @@ msgstr "" msgid "Buffer overflow detected, aborting." msgstr "" -#: ppdc/sample.c:277 +#: ppdc/sample.c:280 msgid "CMYK" msgstr "" -#: ppdc/sample.c:358 +#: ppdc/sample.c:361 msgid "CPCL Label Printer" msgstr "" @@ -3818,7 +3834,7 @@ msgstr "" msgid "Cancel Jobs" msgstr "" -#: backend/ipp.c:2287 +#: backend/ipp.c:2295 msgid "Canceling print job." msgstr "" @@ -3830,7 +3846,7 @@ msgstr "" msgid "Cannot share a remote Kerberized printer." msgstr "" -#: ppdc/sample.c:271 +#: ppdc/sample.c:274 msgid "Cassette" msgstr "" @@ -3856,11 +3872,11 @@ msgstr "" msgid "Close-Job doesn't support the job-uri attribute." msgstr "" -#: cups/ppd-cache.c:3790 ppdc/sample.c:276 +#: cups/ppd-cache.c:3790 ppdc/sample.c:279 msgid "Color" msgstr "" -#: cups/ppd-cache.c:3751 ppdc/sample.c:274 +#: cups/ppd-cache.c:3751 ppdc/sample.c:277 msgid "Color Mode" msgstr "" @@ -3875,39 +3891,39 @@ msgstr "" msgid "Community name uses indefinite length" msgstr "" -#: backend/ipp.c:865 backend/lpd.c:929 backend/socket.c:375 +#: backend/ipp.c:864 backend/lpd.c:933 backend/socket.c:375 msgid "Connected to printer." msgstr "" -#: backend/ipp.c:701 backend/lpd.c:753 backend/socket.c:295 +#: backend/ipp.c:700 backend/lpd.c:757 backend/socket.c:295 msgid "Connecting to printer." msgstr "" -#: cups/http-support.c:1482 +#: cups/http-support.c:1487 msgid "Continue" msgstr "" -#: ppdc/sample.c:360 +#: ppdc/sample.c:363 msgid "Continuous" msgstr "" -#: backend/lpd.c:1078 backend/lpd.c:1210 +#: backend/lpd.c:1082 backend/lpd.c:1214 msgid "Control file sent successfully." msgstr "" -#: backend/ipp.c:1396 backend/lpd.c:445 +#: backend/ipp.c:1395 backend/lpd.c:449 msgid "Copying print data." msgstr "" -#: cups/http-support.c:1491 +#: cups/http-support.c:1496 msgid "Created" msgstr "" -#: cups/tls-darwin.c:748 cups/tls-gnutls.c:582 +#: cups/tls-darwin.c:723 cups/tls-gnutls.c:582 msgid "Credentials do not validate against site CA certificate." msgstr "" -#: cups/tls-darwin.c:759 cups/tls-gnutls.c:599 +#: cups/tls-darwin.c:734 cups/tls-gnutls.c:599 msgid "Credentials have expired." msgstr "" @@ -3915,31 +3931,35 @@ msgstr "" msgid "Custom" msgstr "" -#: ppdc/sample.c:354 +#: ppdc/sample.c:357 msgid "CustominCutInterval" msgstr "" -#: ppdc/sample.c:352 +#: ppdc/sample.c:355 msgid "CustominTearInterval" msgstr "" -#: ppdc/sample.c:338 +#: cups/ppd-cache.c:4312 ppdc/sample.c:341 msgid "Cut" msgstr "" -#: ppdc/sample.c:446 +#: ppdc/sample.c:449 msgid "Cutter" msgstr "" -#: ppdc/sample.c:239 +#: ppdc/sample.c:230 +msgid "DYMO" +msgstr "" + +#: ppdc/sample.c:243 msgid "Dark" msgstr "" -#: ppdc/sample.c:235 +#: ppdc/sample.c:239 msgid "Darkness" msgstr "" -#: backend/lpd.c:1163 +#: backend/lpd.c:1167 msgid "Data file sent successfully." msgstr "" @@ -3959,7 +3979,7 @@ msgstr "" msgid "Delete Printer" msgstr "" -#: ppdc/sample.c:273 +#: ppdc/sample.c:276 msgid "DeskJet Series" msgstr "" @@ -3991,7 +4011,7 @@ msgid "" " location = %s" msgstr "" -#: ppdc/sample.c:431 +#: ppdc/sample.c:434 msgid "Direct Thermal Media" msgstr "" @@ -4020,7 +4040,7 @@ msgstr "" msgid "Directory \"%s\" permissions OK (0%o/uid=%d/gid=%d)." msgstr "" -#: ppdc/sample.c:340 +#: ppdc/sample.c:343 msgid "Disabled" msgstr "" @@ -4029,24 +4049,20 @@ msgstr "" msgid "Document #%d does not exist in job #%d." msgstr "" -#: cups/ppd-cache.c:4283 cups/ppd-cache.c:4285 cups/ppd-cache.c:4348 -#: cups/ppd-cache.c:4385 +#: cups/ppd-cache.c:4471 cups/ppd-cache.c:4473 cups/ppd-cache.c:4536 +#: cups/ppd-cache.c:4573 msgid "Draft" msgstr "" -#: ppdc/sample.c:267 +#: ppdc/sample.c:270 msgid "Duplexer" msgstr "" -#: ppdc/sample.c:229 -msgid "Dymo" -msgstr "" - -#: ppdc/sample.c:426 +#: ppdc/sample.c:429 msgid "EPL1 Label Printer" msgstr "" -#: ppdc/sample.c:429 +#: ppdc/sample.c:432 msgid "EPL2 Label Printer" msgstr "" @@ -4161,7 +4177,7 @@ msgstr "" msgid "Envelope DL" msgstr "" -#: ppdc/sample.c:261 +#: ppdc/sample.c:264 msgid "Envelope Feed" msgstr "" @@ -4289,7 +4305,7 @@ msgstr "" msgid "Environment Variables:" msgstr "" -#: ppdc/sample.c:240 +#: ppdc/sample.c:244 msgid "Epson" msgstr "" @@ -4318,43 +4334,43 @@ msgstr "" msgid "European Fanfold Legal" msgstr "" -#: ppdc/sample.c:350 +#: ppdc/sample.c:353 msgid "Every 10 Labels" msgstr "" -#: ppdc/sample.c:342 +#: ppdc/sample.c:345 msgid "Every 2 Labels" msgstr "" -#: ppdc/sample.c:343 +#: ppdc/sample.c:346 msgid "Every 3 Labels" msgstr "" -#: ppdc/sample.c:344 +#: ppdc/sample.c:347 msgid "Every 4 Labels" msgstr "" -#: ppdc/sample.c:345 +#: ppdc/sample.c:348 msgid "Every 5 Labels" msgstr "" -#: ppdc/sample.c:346 +#: ppdc/sample.c:349 msgid "Every 6 Labels" msgstr "" -#: ppdc/sample.c:347 +#: ppdc/sample.c:350 msgid "Every 7 Labels" msgstr "" -#: ppdc/sample.c:348 +#: ppdc/sample.c:351 msgid "Every 8 Labels" msgstr "" -#: ppdc/sample.c:349 +#: ppdc/sample.c:352 msgid "Every 9 Labels" msgstr "" -#: ppdc/sample.c:341 +#: ppdc/sample.c:344 msgid "Every Label" msgstr "" @@ -4362,7 +4378,7 @@ msgstr "" msgid "Executive" msgstr "" -#: cups/http-support.c:1540 +#: cups/http-support.c:1545 msgid "Expectation Failed" msgstr "" @@ -4409,16 +4425,16 @@ msgid "File device URIs have been disabled. To enable, see the FileDevice direct msgstr "" #: filter/rastertoepson.c:1131 filter/rastertohp.c:802 -#: filter/rastertolabel.c:1259 +#: filter/rastertolabel.c:1260 #, c-format msgid "Finished page %d." msgstr "" -#: cups/ppd-cache.c:4171 +#: cups/ppd-cache.c:4359 msgid "Finishing Preset" msgstr "" -#: cups/ppd-cache.c:4061 +#: cups/ppd-cache.c:4134 msgid "Fold" msgstr "" @@ -4426,11 +4442,11 @@ msgstr "" msgid "Folio" msgstr "" -#: cups/http-support.c:1519 +#: cups/http-support.c:1524 msgid "Forbidden" msgstr "" -#: cups/http-support.c:1503 +#: cups/http-support.c:1508 msgid "Found" msgstr "" @@ -4438,7 +4454,7 @@ msgstr "" msgid "General" msgstr "" -#: ppdc/sample.c:251 +#: ppdc/sample.c:255 msgid "Generic" msgstr "" @@ -4446,7 +4462,7 @@ msgstr "" msgid "Get-Response-PDU uses indefinite length" msgstr "" -#: ppdc/sample.c:285 +#: ppdc/sample.c:288 msgid "Glossy Paper" msgstr "" @@ -4457,11 +4473,11 @@ msgstr "" msgid "Got a printer-uri attribute but no job-id." msgstr "" -#: cups/ppd-cache.c:3767 cups/ppd-cache.c:3778 ppdc/sample.c:275 +#: cups/ppd-cache.c:3767 cups/ppd-cache.c:3778 ppdc/sample.c:278 msgid "Grayscale" msgstr "" -#: ppdc/sample.c:272 +#: ppdc/sample.c:275 msgid "HP" msgstr "" @@ -4469,7 +4485,7 @@ msgstr "" msgid "Hanging Folder" msgstr "" -#: cups/hash.c:292 +#: cups/hash.c:289 msgid "Hash buffer too small." msgstr "" @@ -4477,7 +4493,7 @@ msgstr "" msgid "Help file not in index." msgstr "" -#: cups/ppd-cache.c:4290 cups/ppd-cache.c:4359 cups/ppd-cache.c:4390 +#: cups/ppd-cache.c:4478 cups/ppd-cache.c:4547 cups/ppd-cache.c:4578 msgid "High" msgstr "" @@ -4631,23 +4647,23 @@ msgstr "" msgid "Illegal whitespace character" msgstr "" -#: ppdc/sample.c:266 +#: ppdc/sample.c:269 msgid "Installable Options" msgstr "" -#: ppdc/sample.c:269 +#: ppdc/sample.c:272 msgid "Installed" msgstr "" -#: ppdc/sample.c:288 +#: ppdc/sample.c:291 msgid "IntelliBar Label Printer" msgstr "" -#: ppdc/sample.c:287 +#: ppdc/sample.c:290 msgid "Intellitech" msgstr "" -#: cups/http-support.c:1546 +#: cups/http-support.c:1551 msgid "Internal Server Error" msgstr "" @@ -4663,7 +4679,7 @@ msgstr "" msgid "Internet Postage 3-Part" msgstr "" -#: backend/ipp.c:319 +#: backend/ipp.c:318 msgid "Internet Printing Protocol" msgstr "" @@ -4838,19 +4854,19 @@ msgstr "" msgid "Jobs" msgstr "" -#: backend/lpd.c:162 +#: backend/lpd.c:166 msgid "LPD/LPR Host or Printer" msgstr "" -#: cups/dest.c:1856 +#: cups/dest.c:1855 msgid "LPDEST environment variable names default destination that does not exist." msgstr "" -#: ppdc/sample.c:230 +#: ppdc/sample.c:231 msgid "Label Printer" msgstr "" -#: ppdc/sample.c:441 +#: ppdc/sample.c:444 msgid "Label Top" msgstr "" @@ -4863,7 +4879,7 @@ msgstr "" msgid "Large Address" msgstr "" -#: ppdc/sample.c:286 +#: ppdc/sample.c:289 msgid "LaserJet Series PCL 4/5" msgstr "" @@ -4875,7 +4891,7 @@ msgstr "" msgid "Letter Oversize Long Edge" msgstr "" -#: ppdc/sample.c:236 +#: ppdc/sample.c:240 msgid "Light" msgstr "" @@ -4887,7 +4903,7 @@ msgstr "" msgid "List Available Printers" msgstr "" -#: tools/ippeveprinter.c:604 +#: tools/ippeveprinter.c:642 #, c-format msgid "Listening on port %d." msgstr "" @@ -4896,15 +4912,19 @@ msgstr "" msgid "Local printer created." msgstr "" -#: cups/ppd-cache.c:3872 ppdc/sample.c:264 +#: cups/ppd-cache.c:3872 ppdc/sample.c:267 msgid "Long-Edge (Portrait)" msgstr "" -#: cups/http-support.c:1870 +#: cups/http-support.c:1875 msgid "Looking for printer." msgstr "" -#: ppdc/sample.c:260 +#: ppdc/sample.c:237 +msgid "Main Roll" +msgstr "" + +#: ppdc/sample.c:263 msgid "Manual Feed" msgstr "" @@ -4912,19 +4932,19 @@ msgstr "" msgid "Media Size" msgstr "" -#: cups/ppd.c:808 cups/ppd.c:1345 ppdc/sample.c:254 +#: cups/ppd.c:808 cups/ppd.c:1345 ppdc/sample.c:236 msgid "Media Source" msgstr "" -#: ppdc/sample.c:359 +#: ppdc/sample.c:362 msgid "Media Tracking" msgstr "" -#: cups/ppd.c:806 cups/ppd.c:1343 ppdc/sample.c:280 +#: cups/ppd.c:806 cups/ppd.c:1343 ppdc/sample.c:283 msgid "Media Type" msgstr "" -#: ppdc/sample.c:237 +#: ppdc/sample.c:241 msgid "Medium" msgstr "" @@ -4991,11 +5011,11 @@ msgstr "" msgid "Missing required attributes." msgstr "" -#: cups/http-support.c:1636 +#: cups/http-support.c:1641 msgid "Missing resource in URI" msgstr "" -#: cups/http-support.c:1630 +#: cups/http-support.c:1635 msgid "Missing scheme in URI" msgstr "" @@ -5040,7 +5060,7 @@ msgstr "" msgid "Move Job" msgstr "" -#: cups/http-support.c:1500 +#: cups/http-support.c:1505 msgid "Moved Permanently" msgstr "" @@ -5056,15 +5076,15 @@ msgstr "" msgid "Nested classes are not allowed." msgstr "" -#: ppdc/sample.c:425 +#: ppdc/sample.c:428 msgid "Never" msgstr "" -#: cups/tls-darwin.c:690 cups/tls-gnutls.c:524 +#: cups/tls-darwin.c:665 cups/tls-gnutls.c:524 msgid "New credentials are not valid for name." msgstr "" -#: cups/tls-darwin.c:680 cups/tls-gnutls.c:514 +#: cups/tls-darwin.c:655 cups/tls-gnutls.c:514 msgid "New credentials are older than stored credentials." msgstr "" @@ -5072,7 +5092,7 @@ msgstr "" msgid "No" msgstr "" -#: cups/http-support.c:1497 +#: cups/http-support.c:1502 msgid "No Content" msgstr "" @@ -5109,7 +5129,7 @@ msgstr "" msgid "No authentication information provided." msgstr "" -#: cups/tls-darwin.c:630 cups/tls-gnutls.c:461 +#: cups/tls-darwin.c:605 cups/tls-gnutls.c:461 msgid "No common name specified." msgstr "" @@ -5117,7 +5137,7 @@ msgstr "" msgid "No community name" msgstr "" -#: cups/dest.c:1860 cups/dest.c:1872 +#: cups/dest.c:1859 cups/dest.c:1871 msgid "No default destination." msgstr "" @@ -5154,7 +5174,7 @@ msgid "No name OID" msgstr "" #: filter/rastertoepson.c:1161 filter/rastertohp.c:833 -#: filter/rastertolabel.c:1288 +#: filter/rastertolabel.c:1289 msgid "No pages were found." msgstr "" @@ -5190,7 +5210,7 @@ msgstr "" msgid "No request-id" msgstr "" -#: cups/tls-darwin.c:710 cups/tls-gnutls.c:544 +#: cups/tls-darwin.c:685 cups/tls-gnutls.c:544 msgid "No stored credentials, not valid for name." msgstr "" @@ -5210,41 +5230,41 @@ msgstr "" msgid "No version number" msgstr "" -#: ppdc/sample.c:362 +#: ppdc/sample.c:365 msgid "Non-continuous (Mark sensing)" msgstr "" -#: ppdc/sample.c:361 +#: ppdc/sample.c:364 msgid "Non-continuous (Web sensing)" msgstr "" -#: cups/ppd-cache.c:4014 cups/ppd-cache.c:4064 cups/ppd-cache.c:4114 -#: cups/ppd-cache.c:4174 +#: cups/ppd-cache.c:4059 cups/ppd-cache.c:4137 cups/ppd-cache.c:4225 +#: cups/ppd-cache.c:4315 cups/ppd-cache.c:4362 msgid "None" msgstr "" -#: cups/ppd-cache.c:4287 cups/ppd-cache.c:4353 cups/ppd-cache.c:4387 -#: ppdc/sample.c:238 +#: cups/ppd-cache.c:4475 cups/ppd-cache.c:4541 cups/ppd-cache.c:4575 +#: ppdc/sample.c:242 msgid "Normal" msgstr "" -#: cups/http-support.c:1522 +#: cups/http-support.c:1527 msgid "Not Found" msgstr "" -#: cups/http-support.c:1534 +#: cups/http-support.c:1539 msgid "Not Implemented" msgstr "" -#: ppdc/sample.c:268 +#: ppdc/sample.c:271 msgid "Not Installed" msgstr "" -#: cups/http-support.c:1509 +#: cups/http-support.c:1514 msgid "Not Modified" msgstr "" -#: cups/http-support.c:1537 +#: cups/http-support.c:1542 msgid "Not Supported" msgstr "" @@ -5256,15 +5276,15 @@ msgstr "" msgid "Note" msgstr "" -#: cups/http-support.c:1488 cups/http-support.c:1627 cups/ppd.c:283 +#: cups/http-support.c:1493 cups/http-support.c:1632 cups/ppd.c:283 msgid "OK" msgstr "" -#: cups/ppd-cache.c:3872 ppdc/sample.c:263 +#: cups/ppd-cache.c:3872 ppdc/sample.c:266 msgid "Off (1-Sided)" msgstr "" -#: ppdc/sample.c:356 +#: ppdc/sample.c:359 msgid "Oki" msgstr "" @@ -5303,11 +5323,11 @@ msgid "Options Installed" msgstr "" #: berkeley/lpq.c:642 berkeley/lpr.c:431 berkeley/lprm.c:232 -#: scheduler/cupsfilter.c:1476 scheduler/main.c:2133 systemv/cancel.c:401 +#: scheduler/cupsfilter.c:1476 scheduler/main.c:2135 systemv/cancel.c:401 #: systemv/cupsaccept.c:243 systemv/cupsctl.c:232 systemv/cupstestppd.c:3857 #: systemv/lp.c:750 systemv/lpadmin.c:1620 systemv/lpinfo.c:497 #: systemv/lpmove.c:216 systemv/lpoptions.c:538 systemv/lpstat.c:2044 -#: tools/ippeveprinter.c:7664 tools/ippfind.c:2765 tools/ipptool.c:4307 +#: tools/ippeveprinter.c:7922 tools/ippfind.c:2765 tools/ipptool.c:4307 #: ppdc/ppdc.cxx:426 ppdc/ppdhtml.cxx:173 ppdc/ppdi.cxx:119 #: ppdc/ppdmerge.cxx:356 ppdc/ppdpo.cxx:243 msgid "Options:" @@ -5333,7 +5353,7 @@ msgstr "" msgid "Output Mode" msgstr "" -#: ppdc/sample.c:252 +#: ppdc/sample.c:256 msgid "PCL Laser Printer" msgstr "" @@ -5361,7 +5381,7 @@ msgstr "" msgid "PRC32K Oversize Long Edge" msgstr "" -#: cups/dest.c:1858 +#: cups/dest.c:1857 msgid "PRINTER environment variable names default destination that does not exist." msgstr "" @@ -5373,11 +5393,11 @@ msgstr "" msgid "Packet does not start with SEQUENCE" msgstr "" -#: ppdc/sample.c:355 +#: ppdc/sample.c:358 msgid "ParamCustominCutInterval" msgstr "" -#: ppdc/sample.c:353 +#: ppdc/sample.c:356 msgid "ParamCustominTearInterval" msgstr "" @@ -5394,7 +5414,7 @@ msgstr "" msgid "Pause Printer" msgstr "" -#: ppdc/sample.c:443 +#: ppdc/sample.c:446 msgid "Peel-Off" msgstr "" @@ -5406,7 +5426,7 @@ msgstr "" msgid "Photo Labels" msgstr "" -#: ppdc/sample.c:281 +#: ppdc/sample.c:284 msgid "Plain Paper" msgstr "" @@ -5418,7 +5438,7 @@ msgstr "" msgid "Port Monitor" msgstr "" -#: ppdc/sample.c:270 +#: ppdc/sample.c:273 msgid "PostScript Printer" msgstr "" @@ -5438,11 +5458,11 @@ msgstr "" msgid "Postcard Long Edge" msgstr "" -#: backend/ipp.c:973 backend/ipp.c:981 +#: backend/ipp.c:972 backend/ipp.c:980 msgid "Preparing to print." msgstr "" -#: ppdc/sample.c:290 +#: ppdc/sample.c:293 msgid "Print Density" msgstr "" @@ -5450,15 +5470,15 @@ msgstr "" msgid "Print Job:" msgstr "" -#: ppdc/sample.c:335 +#: ppdc/sample.c:338 msgid "Print Mode" msgstr "" -#: cups/ppd-cache.c:4281 cups/ppd-cache.c:4343 cups/ppd-cache.c:4383 +#: cups/ppd-cache.c:4469 cups/ppd-cache.c:4531 cups/ppd-cache.c:4571 msgid "Print Quality" msgstr "" -#: ppdc/sample.c:378 +#: ppdc/sample.c:381 msgid "Print Rate" msgstr "" @@ -5466,7 +5486,7 @@ msgstr "" msgid "Print Self-Test Page" msgstr "" -#: ppdc/sample.c:322 +#: ppdc/sample.c:325 msgid "Print Speed" msgstr "" @@ -5474,11 +5494,11 @@ msgstr "" msgid "Print Test Page" msgstr "" -#: ppdc/sample.c:351 +#: ppdc/sample.c:354 msgid "Print and Cut" msgstr "" -#: ppdc/sample.c:339 +#: ppdc/sample.c:342 msgid "Print and Tear" msgstr "" @@ -5486,15 +5506,15 @@ msgstr "" msgid "Print file sent." msgstr "" -#: backend/ipp.c:2261 +#: backend/ipp.c:2269 msgid "Print job canceled at printer." msgstr "" -#: backend/ipp.c:2253 +#: backend/ipp.c:2261 msgid "Print job too large." msgstr "" -#: backend/ipp.c:1721 +#: backend/ipp.c:1722 msgid "Print job was not accepted." msgstr "" @@ -5507,7 +5527,7 @@ msgstr "" msgid "Printer Added" msgstr "" -#: ppdc/sample.c:255 +#: ppdc/sample.c:258 msgid "Printer Default" msgstr "" @@ -5523,19 +5543,19 @@ msgstr "" msgid "Printer Paused" msgstr "" -#: ppdc/sample.c:289 +#: ppdc/sample.c:292 msgid "Printer Settings" msgstr "" -#: backend/ipp.c:2256 +#: backend/ipp.c:2264 msgid "Printer cannot print supplied content." msgstr "" -#: backend/ipp.c:2259 +#: backend/ipp.c:2267 msgid "Printer cannot print with supplied options." msgstr "" -#: cups/ppd-cache.c:4556 +#: cups/ppd-cache.c:4744 msgid "Printer does not support required IPP attributes or document formats." msgstr "" @@ -5548,12 +5568,12 @@ msgid "Printers" msgstr "" #: filter/rastertoepson.c:1107 filter/rastertohp.c:774 -#: filter/rastertolabel.c:1235 +#: filter/rastertolabel.c:1236 #, c-format msgid "Printing page %d, %u%% complete." msgstr "" -#: cups/ppd-cache.c:4111 +#: cups/ppd-cache.c:4222 msgid "Punch" msgstr "" @@ -5573,25 +5593,25 @@ msgstr "" msgid "Reject Jobs" msgstr "" -#: backend/lpd.c:1074 backend/lpd.c:1206 +#: backend/lpd.c:1078 backend/lpd.c:1210 #, c-format msgid "Remote host did not accept control file (%d)." msgstr "" -#: backend/lpd.c:1159 +#: backend/lpd.c:1163 #, c-format msgid "Remote host did not accept data file (%d)." msgstr "" -#: ppdc/sample.c:423 +#: ppdc/sample.c:426 msgid "Reprint After Error" msgstr "" -#: cups/http-support.c:1525 +#: cups/http-support.c:1530 msgid "Request Entity Too Large" msgstr "" -#: cups/ppd.c:812 cups/ppd.c:1349 ppdc/sample.c:231 +#: cups/ppd.c:812 cups/ppd.c:1349 ppdc/sample.c:232 msgid "Resolution" msgstr "" @@ -5607,7 +5627,7 @@ msgstr "" msgid "Return Address" msgstr "" -#: ppdc/sample.c:444 +#: ppdc/sample.c:447 msgid "Rewind" msgstr "" @@ -5615,11 +5635,15 @@ msgstr "" msgid "SEQUENCE uses indefinite length" msgstr "" -#: cups/http-support.c:1549 +#: cups/http-support.c:1554 msgid "SSL/TLS Negotiation Error" msgstr "" -#: cups/http-support.c:1506 +#: ppdc/sample.c:238 +msgid "Second Roll (DUO/Twin Only)" +msgstr "" + +#: cups/http-support.c:1511 msgid "See Other" msgstr "" @@ -5627,7 +5651,7 @@ msgstr "" msgid "See remote printer." msgstr "" -#: cups/tls-darwin.c:765 cups/tls-gnutls.c:606 +#: cups/tls-darwin.c:740 cups/tls-gnutls.c:606 msgid "Self-signed credentials are blocked." msgstr "" @@ -5651,11 +5675,11 @@ msgstr "" msgid "Server Stopped" msgstr "" -#: cups/tls-darwin.c:1275 cups/tls-gnutls.c:1298 +#: cups/tls-darwin.c:1250 cups/tls-gnutls.c:1299 msgid "Server credentials not set." msgstr "" -#: cups/http-support.c:1543 +#: cups/http-support.c:1548 msgid "Service Unavailable" msgstr "" @@ -5684,24 +5708,24 @@ msgstr "" msgid "Shipping Address" msgstr "" -#: cups/ppd-cache.c:3872 ppdc/sample.c:265 +#: cups/ppd-cache.c:3872 ppdc/sample.c:268 msgid "Short-Edge (Landscape)" msgstr "" -#: ppdc/sample.c:283 +#: ppdc/sample.c:286 msgid "Special Paper" msgstr "" -#: backend/lpd.c:1115 +#: backend/lpd.c:1119 #, c-format msgid "Spooling job, %.0f%% complete." msgstr "" -#: ppdc/sample.c:336 +#: ppdc/sample.c:339 msgid "Standard" msgstr "" -#: cups/ppd-cache.c:4011 +#: cups/ppd-cache.c:4056 msgid "Staple" msgstr "" @@ -5711,7 +5735,7 @@ msgid "Starting Banner" msgstr "" #: filter/rastertoepson.c:1083 filter/rastertohp.c:750 -#: filter/rastertolabel.c:1211 +#: filter/rastertolabel.c:1212 #, c-format msgid "Starting page %d." msgstr "" @@ -5742,7 +5766,7 @@ msgstr "" msgid "Super B/A3" msgstr "" -#: cups/http-support.c:1485 +#: cups/http-support.c:1490 msgid "Switching Protocols" msgstr "" @@ -5758,15 +5782,15 @@ msgstr "" msgid "Tabloid Oversize Long Edge" msgstr "" -#: ppdc/sample.c:337 +#: ppdc/sample.c:340 msgid "Tear" msgstr "" -#: ppdc/sample.c:442 +#: ppdc/sample.c:445 msgid "Tear-Off" msgstr "" -#: ppdc/sample.c:383 +#: ppdc/sample.c:386 msgid "Tear-Off Adjust Position" msgstr "" @@ -5802,7 +5826,7 @@ msgid "The PPD file \"%s\" could not be opened: %s" msgstr "" #: filter/rastertoepson.c:1052 filter/rastertohp.c:721 -#: filter/rastertolabel.c:1175 +#: filter/rastertolabel.c:1176 msgid "The PPD file could not be opened." msgstr "" @@ -5819,16 +5843,16 @@ msgstr "" msgid "The notify-user-data value is too large (%d > 63 octets)." msgstr "" -#: backend/ipp.c:993 +#: backend/ipp.c:992 msgid "The printer configuration is incorrect or the printer no longer exists." msgstr "" -#: backend/lpd.c:678 backend/lpd.c:1067 backend/lpd.c:1149 backend/lpd.c:1199 +#: backend/lpd.c:682 backend/lpd.c:1071 backend/lpd.c:1153 backend/lpd.c:1203 msgid "The printer did not respond." msgstr "" -#: backend/ipp.c:766 backend/ipp.c:956 backend/ipp.c:1070 backend/ipp.c:1523 -#: backend/ipp.c:1693 backend/lpd.c:886 backend/socket.c:354 +#: backend/ipp.c:765 backend/ipp.c:955 backend/ipp.c:1069 backend/ipp.c:1524 +#: backend/ipp.c:1694 backend/lpd.c:890 backend/socket.c:354 #: backend/usb-unix.c:117 backend/usb-unix.c:407 backend/usb-unix.c:490 msgid "The printer is in use." msgstr "" @@ -5837,8 +5861,8 @@ msgstr "" msgid "The printer is not connected." msgstr "" -#: backend/ipp.c:744 backend/ipp.c:777 backend/ipp.c:952 backend/lpd.c:865 -#: backend/lpd.c:906 backend/socket.c:333 backend/socket.c:366 +#: backend/ipp.c:743 backend/ipp.c:776 backend/ipp.c:951 backend/lpd.c:869 +#: backend/lpd.c:910 backend/socket.c:333 backend/socket.c:366 msgid "The printer is not responding." msgstr "" @@ -5854,11 +5878,11 @@ msgstr "" msgid "The printer is offline." msgstr "" -#: backend/ipp.c:760 backend/lpd.c:880 backend/socket.c:348 +#: backend/ipp.c:759 backend/lpd.c:884 backend/socket.c:348 msgid "The printer is unreachable at this time." msgstr "" -#: backend/ipp.c:753 backend/lpd.c:873 backend/socket.c:341 +#: backend/ipp.c:752 backend/lpd.c:877 backend/socket.c:341 msgid "The printer may not exist or is unavailable at this time." msgstr "" @@ -5916,7 +5940,7 @@ msgstr "" msgid "There was an unrecoverable USB error." msgstr "" -#: ppdc/sample.c:430 +#: ppdc/sample.c:433 msgid "Thermal Transfer Media" msgstr "" @@ -5934,40 +5958,40 @@ msgstr "" msgid "Too many printer-state-reasons values (%d > %d)." msgstr "" -#: ppdc/sample.c:284 +#: ppdc/sample.c:287 msgid "Transparency" msgstr "" -#: ppdc/sample.c:279 +#: ppdc/sample.c:282 msgid "Tray" msgstr "" -#: ppdc/sample.c:256 +#: ppdc/sample.c:259 msgid "Tray 1" msgstr "" -#: ppdc/sample.c:257 +#: ppdc/sample.c:260 msgid "Tray 2" msgstr "" -#: ppdc/sample.c:258 +#: ppdc/sample.c:261 msgid "Tray 3" msgstr "" -#: ppdc/sample.c:259 +#: ppdc/sample.c:262 msgid "Tray 4" msgstr "" -#: cups/tls-darwin.c:670 cups/tls-darwin.c:752 cups/tls-gnutls.c:504 +#: cups/tls-darwin.c:645 cups/tls-darwin.c:727 cups/tls-gnutls.c:504 #: cups/tls-gnutls.c:586 msgid "Trust on first use is disabled." msgstr "" -#: cups/http-support.c:1528 +#: cups/http-support.c:1533 msgid "URI Too Long" msgstr "" -#: cups/http-support.c:1603 +#: cups/http-support.c:1608 msgid "URI too large" msgstr "" @@ -6019,7 +6043,7 @@ msgstr "" msgid "Unable to add class" msgstr "" -#: backend/ipp.c:1880 +#: backend/ipp.c:1887 msgid "Unable to add document to print job." msgstr "" @@ -6044,11 +6068,11 @@ msgstr "" msgid "Unable to allocate memory for pages array" msgstr "" -#: tools/ippeveprinter.c:1486 +#: tools/ippeveprinter.c:1628 msgid "Unable to allocate memory for printer" msgstr "" -#: backend/ipp.c:2165 backend/ipp.c:2696 +#: backend/ipp.c:2173 backend/ipp.c:2704 msgid "Unable to cancel print job." msgstr "" @@ -6082,7 +6106,7 @@ msgstr "" msgid "Unable to connect to host." msgstr "" -#: backend/ipp.c:723 backend/ipp.c:1275 backend/lpd.c:846 backend/socket.c:314 +#: backend/ipp.c:722 backend/ipp.c:1274 backend/lpd.c:850 backend/socket.c:314 #: backend/usb-unix.c:103 msgid "Unable to contact printer, queuing on next printer in class." msgstr "" @@ -6096,7 +6120,7 @@ msgstr "" msgid "Unable to copy PPD file." msgstr "" -#: cups/tls-darwin.c:636 cups/tls-gnutls.c:467 +#: cups/tls-darwin.c:611 cups/tls-gnutls.c:467 msgid "Unable to create credentials from array." msgstr "" @@ -6108,11 +6132,11 @@ msgstr "" msgid "Unable to create printer." msgstr "" -#: cups/tls-darwin.c:1566 cups/tls-gnutls.c:1510 +#: cups/tls-darwin.c:1541 cups/tls-gnutls.c:1511 msgid "Unable to create server credentials." msgstr "" -#: tools/ippeveprinter.c:626 +#: tools/ippeveprinter.c:664 #, c-format msgid "Unable to create spool directory \"%s\": %s" msgstr "" @@ -6137,36 +6161,36 @@ msgstr "" msgid "Unable to edit cupsd.conf files larger than 1MB" msgstr "" -#: cups/tls-darwin.c:1793 +#: cups/tls-darwin.c:1768 #, c-format msgid "Unable to establish a secure connection to host (%d)." msgstr "" -#: cups/tls-darwin.c:1754 +#: cups/tls-darwin.c:1729 msgid "Unable to establish a secure connection to host (certificate chain invalid)." msgstr "" -#: cups/tls-darwin.c:1744 +#: cups/tls-darwin.c:1719 msgid "Unable to establish a secure connection to host (certificate not yet valid)." msgstr "" -#: cups/tls-darwin.c:1739 +#: cups/tls-darwin.c:1714 msgid "Unable to establish a secure connection to host (expired certificate)." msgstr "" -#: cups/tls-darwin.c:1749 +#: cups/tls-darwin.c:1724 msgid "Unable to establish a secure connection to host (host name mismatch)." msgstr "" -#: cups/tls-darwin.c:1759 +#: cups/tls-darwin.c:1734 msgid "Unable to establish a secure connection to host (peer dropped connection before responding)." msgstr "" -#: cups/tls-darwin.c:1734 +#: cups/tls-darwin.c:1709 msgid "Unable to establish a secure connection to host (self-signed certificate)." msgstr "" -#: cups/tls-darwin.c:1729 +#: cups/tls-darwin.c:1704 msgid "Unable to establish a secure connection to host (untrusted certificate)." msgstr "" @@ -6174,7 +6198,7 @@ msgstr "" msgid "Unable to establish a secure connection to host." msgstr "" -#: tools/ippeveprinter.c:1461 tools/ippeveprinter.c:1471 +#: tools/ippeveprinter.c:1603 tools/ippeveprinter.c:1613 #, c-format msgid "Unable to execute command \"%s\": %s" msgstr "" @@ -6183,15 +6207,15 @@ msgstr "" msgid "Unable to find destination for job" msgstr "" -#: cups/http-support.c:2094 +#: cups/http-support.c:2099 msgid "Unable to find printer." msgstr "" -#: cups/tls-darwin.c:1579 +#: cups/tls-darwin.c:1554 msgid "Unable to find server credentials." msgstr "" -#: backend/ipp.c:3359 +#: backend/ipp.c:3367 msgid "Unable to get backend exit status." msgstr "" @@ -6219,7 +6243,7 @@ msgstr "" msgid "Unable to get printer status" msgstr "" -#: backend/ipp.c:1017 +#: backend/ipp.c:1016 msgid "Unable to get printer status." msgstr "" @@ -6232,7 +6256,7 @@ msgstr "" msgid "Unable to locate printer \"%s\"." msgstr "" -#: backend/dnssd.c:752 backend/ipp.c:336 backend/lpd.c:181 +#: backend/dnssd.c:752 backend/ipp.c:335 backend/lpd.c:185 #: backend/socket.c:155 msgid "Unable to locate printer." msgstr "" @@ -6274,14 +6298,14 @@ msgstr "" msgid "Unable to open help file." msgstr "" -#: backend/ipp.c:377 backend/ipp.c:1620 backend/ipp.c:1833 backend/lpd.c:469 +#: backend/ipp.c:376 backend/ipp.c:1621 backend/ipp.c:1834 backend/lpd.c:473 #: backend/socket.c:142 backend/usb.c:224 filter/gziptoany.c:65 #: filter/pstops.c:262 msgid "Unable to open print file" msgstr "" #: filter/rastertoepson.c:1012 filter/rastertohp.c:681 -#: filter/rastertolabel.c:1133 +#: filter/rastertolabel.c:1134 msgid "Unable to open raster file" msgstr "" @@ -6294,8 +6318,8 @@ msgstr "" msgid "Unable to read print data." msgstr "" -#: tools/ippeveprinter.c:6613 tools/ippeveprinter.c:6631 -#: tools/ippeveprinter.c:6650 tools/ippeveprinter.c:6664 +#: tools/ippeveprinter.c:6861 tools/ippeveprinter.c:6879 +#: tools/ippeveprinter.c:6898 tools/ippeveprinter.c:6912 #, c-format msgid "Unable to register \"%s.%s\": %d" msgstr "" @@ -6304,7 +6328,7 @@ msgstr "" msgid "Unable to rename job document file." msgstr "" -#: cups/dest.c:3265 +#: cups/dest.c:3252 msgid "Unable to resolve printer-uri." msgstr "" @@ -6328,7 +6352,7 @@ msgstr "" msgid "Unable to set server default" msgstr "" -#: backend/ipp.c:3218 backend/ipp.c:3295 backend/ipp.c:3303 +#: backend/ipp.c:3226 backend/ipp.c:3303 backend/ipp.c:3311 msgid "Unable to start backend process." msgstr "" @@ -6349,7 +6373,7 @@ msgstr "" msgid "Unable to write uncompressed print data: %s" msgstr "" -#: cups/http-support.c:1516 +#: cups/http-support.c:1521 msgid "Unauthorized" msgstr "" @@ -6357,7 +6381,7 @@ msgstr "" msgid "Units" msgstr "" -#: cups/http-support.c:1556 cups/http-support.c:1640 cups/ppd.c:313 +#: cups/http-support.c:1561 cups/http-support.c:1645 cups/ppd.c:313 msgid "Unknown" msgstr "" @@ -6366,27 +6390,27 @@ msgstr "" msgid "Unknown choice \"%s\" for option \"%s\"." msgstr "" -#: tools/ippeveprinter.c:3848 +#: tools/ippeveprinter.c:3996 #, c-format msgid "Unknown directive \"%s\" on line %d of \"%s\" ignored." msgstr "" -#: backend/ipp.c:519 +#: backend/ipp.c:518 #, c-format msgid "Unknown encryption option value: \"%s\"." msgstr "" -#: backend/lpd.c:327 +#: backend/lpd.c:331 #, c-format msgid "Unknown file order: \"%s\"." msgstr "" -#: backend/lpd.c:298 +#: backend/lpd.c:302 #, c-format msgid "Unknown format character: \"%c\"." msgstr "" -#: cups/hash.c:278 +#: cups/hash.c:279 msgid "Unknown hash algorithm." msgstr "" @@ -6394,7 +6418,7 @@ msgstr "" msgid "Unknown media size name." msgstr "" -#: backend/ipp.c:583 +#: backend/ipp.c:582 #, c-format msgid "Unknown option \"%s\" with value \"%s\"." msgstr "" @@ -6404,7 +6428,7 @@ msgstr "" msgid "Unknown option \"%s\"." msgstr "" -#: backend/lpd.c:313 +#: backend/lpd.c:317 #, c-format msgid "Unknown print mode: \"%s\"." msgstr "" @@ -6427,7 +6451,7 @@ msgstr "" msgid "Unknown request version." msgstr "" -#: cups/http-support.c:1633 +#: cups/http-support.c:1638 msgid "Unknown scheme in URI" msgstr "" @@ -6435,7 +6459,7 @@ msgstr "" msgid "Unknown service name." msgstr "" -#: backend/ipp.c:548 +#: backend/ipp.c:547 #, c-format msgid "Unknown version option value: \"%s\"." msgstr "" @@ -6515,7 +6539,7 @@ msgstr "" msgid "Unsupported value type" msgstr "" -#: cups/http-support.c:1531 +#: cups/http-support.c:1536 msgid "Upgrade Required" msgstr "" @@ -6524,7 +6548,7 @@ msgstr "" msgid "Usage: %s [options] destination(s)" msgstr "" -#: backend/dnssd.c:192 backend/ipp.c:325 backend/lpd.c:168 +#: backend/dnssd.c:192 backend/ipp.c:324 backend/lpd.c:172 #: backend/socket.c:119 backend/usb.c:170 filter/commandtops.c:57 #: filter/gziptoany.c:38 filter/pstops.c:223 monitor/bcp.c:48 #: monitor/tbcp.c:47 @@ -6543,7 +6567,7 @@ msgstr "" msgid "Usage: cupsctl [options] [param=value ... paramN=valueN]" msgstr "" -#: scheduler/main.c:2132 +#: scheduler/main.c:2134 msgid "Usage: cupsd [options]" msgstr "" @@ -6557,7 +6581,7 @@ msgid "" " program | cupstestppd [options] -" msgstr "" -#: tools/ippeveprinter.c:7663 +#: tools/ippeveprinter.c:7921 msgid "Usage: ippeveprinter [options] \"name\"" msgstr "" @@ -6650,7 +6674,7 @@ msgstr "" msgid "Usage: snmp [host-or-ip-address]" msgstr "" -#: tools/ippeveprinter.c:631 +#: tools/ippeveprinter.c:669 #, c-format msgid "Using spool directory \"%s\"." msgstr "" @@ -6667,7 +6691,7 @@ msgstr "" msgid "Version uses indefinite length" msgstr "" -#: backend/ipp.c:2000 +#: backend/ipp.c:2009 msgid "Waiting for job to complete." msgstr "" @@ -6683,7 +6707,7 @@ msgstr "" msgid "Warning: This program will be removed in a future version of CUPS." msgstr "" -#: cups/http-support.c:1552 +#: cups/http-support.c:1557 msgid "Web Interface is Disabled" msgstr "" @@ -6704,11 +6728,11 @@ msgstr "" msgid "Your account does not have the necessary privileges." msgstr "" -#: ppdc/sample.c:434 +#: ppdc/sample.c:437 msgid "ZPL Label Printer" msgstr "" -#: ppdc/sample.c:357 +#: ppdc/sample.c:360 msgid "Zebra" msgstr "" @@ -8292,433 +8316,443 @@ msgstr "" msgid "finishing-template.trim-after-pages" msgstr "" -#. TRANSLATORS: Finishings +#. TRANSLATORS: Trim After Every Set #: locale/ipp-strings.c:580 +msgid "finishing-template.trim-after-sets" +msgstr "" + +#. TRANSLATORS: Trim After Every Page +#: locale/ipp-strings.c:582 +msgid "finishing-template.trim-after-sheets" +msgstr "" + +#. TRANSLATORS: Finishings +#: locale/ipp-strings.c:584 msgid "finishings" msgstr "" #. TRANSLATORS: Finishings -#: locale/ipp-strings.c:582 +#: locale/ipp-strings.c:586 msgid "finishings-col" msgstr "" #. TRANSLATORS: Fold -#: locale/ipp-strings.c:584 +#: locale/ipp-strings.c:588 msgid "finishings.10" msgstr "" #. TRANSLATORS: Z Fold -#: locale/ipp-strings.c:586 +#: locale/ipp-strings.c:590 msgid "finishings.100" msgstr "" #. TRANSLATORS: Engineering Z Fold -#: locale/ipp-strings.c:588 +#: locale/ipp-strings.c:592 msgid "finishings.101" msgstr "" #. TRANSLATORS: Trim -#: locale/ipp-strings.c:590 +#: locale/ipp-strings.c:594 msgid "finishings.11" msgstr "" #. TRANSLATORS: Bale -#: locale/ipp-strings.c:592 +#: locale/ipp-strings.c:596 msgid "finishings.12" msgstr "" #. TRANSLATORS: Booklet Maker -#: locale/ipp-strings.c:594 +#: locale/ipp-strings.c:598 msgid "finishings.13" msgstr "" #. TRANSLATORS: Jog Offset -#: locale/ipp-strings.c:596 +#: locale/ipp-strings.c:600 msgid "finishings.14" msgstr "" #. TRANSLATORS: Coat -#: locale/ipp-strings.c:598 +#: locale/ipp-strings.c:602 msgid "finishings.15" msgstr "" #. TRANSLATORS: Laminate -#: locale/ipp-strings.c:600 +#: locale/ipp-strings.c:604 msgid "finishings.16" msgstr "" #. TRANSLATORS: Staple Top Left -#: locale/ipp-strings.c:602 +#: locale/ipp-strings.c:606 msgid "finishings.20" msgstr "" #. TRANSLATORS: Staple Bottom Left -#: locale/ipp-strings.c:604 +#: locale/ipp-strings.c:608 msgid "finishings.21" msgstr "" #. TRANSLATORS: Staple Top Right -#: locale/ipp-strings.c:606 +#: locale/ipp-strings.c:610 msgid "finishings.22" msgstr "" #. TRANSLATORS: Staple Bottom Right -#: locale/ipp-strings.c:608 +#: locale/ipp-strings.c:612 msgid "finishings.23" msgstr "" #. TRANSLATORS: Edge Stitch Left -#: locale/ipp-strings.c:610 +#: locale/ipp-strings.c:614 msgid "finishings.24" msgstr "" #. TRANSLATORS: Edge Stitch Top -#: locale/ipp-strings.c:612 +#: locale/ipp-strings.c:616 msgid "finishings.25" msgstr "" #. TRANSLATORS: Edge Stitch Right -#: locale/ipp-strings.c:614 +#: locale/ipp-strings.c:618 msgid "finishings.26" msgstr "" #. TRANSLATORS: Edge Stitch Bottom -#: locale/ipp-strings.c:616 +#: locale/ipp-strings.c:620 msgid "finishings.27" msgstr "" #. TRANSLATORS: 2 Staples on Left -#: locale/ipp-strings.c:618 +#: locale/ipp-strings.c:622 msgid "finishings.28" msgstr "" #. TRANSLATORS: 2 Staples on Top -#: locale/ipp-strings.c:620 +#: locale/ipp-strings.c:624 msgid "finishings.29" msgstr "" #. TRANSLATORS: None -#: locale/ipp-strings.c:622 +#: locale/ipp-strings.c:626 msgid "finishings.3" msgstr "" #. TRANSLATORS: 2 Staples on Right -#: locale/ipp-strings.c:624 +#: locale/ipp-strings.c:628 msgid "finishings.30" msgstr "" #. TRANSLATORS: 2 Staples on Bottom -#: locale/ipp-strings.c:626 +#: locale/ipp-strings.c:630 msgid "finishings.31" msgstr "" #. TRANSLATORS: 3 Staples on Left -#: locale/ipp-strings.c:628 +#: locale/ipp-strings.c:632 msgid "finishings.32" msgstr "" #. TRANSLATORS: 3 Staples on Top -#: locale/ipp-strings.c:630 +#: locale/ipp-strings.c:634 msgid "finishings.33" msgstr "" #. TRANSLATORS: 3 Staples on Right -#: locale/ipp-strings.c:632 +#: locale/ipp-strings.c:636 msgid "finishings.34" msgstr "" #. TRANSLATORS: 3 Staples on Bottom -#: locale/ipp-strings.c:634 +#: locale/ipp-strings.c:638 msgid "finishings.35" msgstr "" #. TRANSLATORS: Staple -#: locale/ipp-strings.c:636 +#: locale/ipp-strings.c:640 msgid "finishings.4" msgstr "" #. TRANSLATORS: Punch -#: locale/ipp-strings.c:638 +#: locale/ipp-strings.c:642 msgid "finishings.5" msgstr "" #. TRANSLATORS: Bind Left -#: locale/ipp-strings.c:640 +#: locale/ipp-strings.c:644 msgid "finishings.50" msgstr "" #. TRANSLATORS: Bind Top -#: locale/ipp-strings.c:642 +#: locale/ipp-strings.c:646 msgid "finishings.51" msgstr "" #. TRANSLATORS: Bind Right -#: locale/ipp-strings.c:644 +#: locale/ipp-strings.c:648 msgid "finishings.52" msgstr "" #. TRANSLATORS: Bind Bottom -#: locale/ipp-strings.c:646 +#: locale/ipp-strings.c:650 msgid "finishings.53" msgstr "" #. TRANSLATORS: Cover -#: locale/ipp-strings.c:648 +#: locale/ipp-strings.c:652 msgid "finishings.6" msgstr "" #. TRANSLATORS: Trim Pages -#: locale/ipp-strings.c:650 +#: locale/ipp-strings.c:654 msgid "finishings.60" msgstr "" #. TRANSLATORS: Trim Documents -#: locale/ipp-strings.c:652 +#: locale/ipp-strings.c:656 msgid "finishings.61" msgstr "" #. TRANSLATORS: Trim Copies -#: locale/ipp-strings.c:654 +#: locale/ipp-strings.c:658 msgid "finishings.62" msgstr "" #. TRANSLATORS: Trim Job -#: locale/ipp-strings.c:656 +#: locale/ipp-strings.c:660 msgid "finishings.63" msgstr "" #. TRANSLATORS: Bind -#: locale/ipp-strings.c:658 +#: locale/ipp-strings.c:662 msgid "finishings.7" msgstr "" #. TRANSLATORS: Punch Top Left -#: locale/ipp-strings.c:660 +#: locale/ipp-strings.c:664 msgid "finishings.70" msgstr "" #. TRANSLATORS: Punch Bottom Left -#: locale/ipp-strings.c:662 +#: locale/ipp-strings.c:666 msgid "finishings.71" msgstr "" #. TRANSLATORS: Punch Top Right -#: locale/ipp-strings.c:664 +#: locale/ipp-strings.c:668 msgid "finishings.72" msgstr "" #. TRANSLATORS: Punch Bottom Right -#: locale/ipp-strings.c:666 +#: locale/ipp-strings.c:670 msgid "finishings.73" msgstr "" #. TRANSLATORS: 2-hole Punch Left -#: locale/ipp-strings.c:668 +#: locale/ipp-strings.c:672 msgid "finishings.74" msgstr "" #. TRANSLATORS: 2-hole Punch Top -#: locale/ipp-strings.c:670 +#: locale/ipp-strings.c:674 msgid "finishings.75" msgstr "" #. TRANSLATORS: 2-hole Punch Right -#: locale/ipp-strings.c:672 +#: locale/ipp-strings.c:676 msgid "finishings.76" msgstr "" #. TRANSLATORS: 2-hole Punch Bottom -#: locale/ipp-strings.c:674 +#: locale/ipp-strings.c:678 msgid "finishings.77" msgstr "" #. TRANSLATORS: 3-hole Punch Left -#: locale/ipp-strings.c:676 +#: locale/ipp-strings.c:680 msgid "finishings.78" msgstr "" #. TRANSLATORS: 3-hole Punch Top -#: locale/ipp-strings.c:678 +#: locale/ipp-strings.c:682 msgid "finishings.79" msgstr "" #. TRANSLATORS: Saddle Stitch -#: locale/ipp-strings.c:680 +#: locale/ipp-strings.c:684 msgid "finishings.8" msgstr "" #. TRANSLATORS: 3-hole Punch Right -#: locale/ipp-strings.c:682 +#: locale/ipp-strings.c:686 msgid "finishings.80" msgstr "" #. TRANSLATORS: 3-hole Punch Bottom -#: locale/ipp-strings.c:684 +#: locale/ipp-strings.c:688 msgid "finishings.81" msgstr "" #. TRANSLATORS: 4-hole Punch Left -#: locale/ipp-strings.c:686 +#: locale/ipp-strings.c:690 msgid "finishings.82" msgstr "" #. TRANSLATORS: 4-hole Punch Top -#: locale/ipp-strings.c:688 +#: locale/ipp-strings.c:692 msgid "finishings.83" msgstr "" #. TRANSLATORS: 4-hole Punch Right -#: locale/ipp-strings.c:690 +#: locale/ipp-strings.c:694 msgid "finishings.84" msgstr "" #. TRANSLATORS: 4-hole Punch Bottom -#: locale/ipp-strings.c:692 +#: locale/ipp-strings.c:696 msgid "finishings.85" msgstr "" #. TRANSLATORS: Multi-hole Punch Left -#: locale/ipp-strings.c:694 +#: locale/ipp-strings.c:698 msgid "finishings.86" msgstr "" #. TRANSLATORS: Multi-hole Punch Top -#: locale/ipp-strings.c:696 +#: locale/ipp-strings.c:700 msgid "finishings.87" msgstr "" #. TRANSLATORS: Multi-hole Punch Right -#: locale/ipp-strings.c:698 +#: locale/ipp-strings.c:702 msgid "finishings.88" msgstr "" #. TRANSLATORS: Multi-hole Punch Bottom -#: locale/ipp-strings.c:700 +#: locale/ipp-strings.c:704 msgid "finishings.89" msgstr "" #. TRANSLATORS: Edge Stitch -#: locale/ipp-strings.c:702 +#: locale/ipp-strings.c:706 msgid "finishings.9" msgstr "" #. TRANSLATORS: Accordion Fold -#: locale/ipp-strings.c:704 +#: locale/ipp-strings.c:708 msgid "finishings.90" msgstr "" #. TRANSLATORS: Double Gate Fold -#: locale/ipp-strings.c:706 +#: locale/ipp-strings.c:710 msgid "finishings.91" msgstr "" #. TRANSLATORS: Gate Fold -#: locale/ipp-strings.c:708 +#: locale/ipp-strings.c:712 msgid "finishings.92" msgstr "" #. TRANSLATORS: Half Fold -#: locale/ipp-strings.c:710 +#: locale/ipp-strings.c:714 msgid "finishings.93" msgstr "" #. TRANSLATORS: Half Z Fold -#: locale/ipp-strings.c:712 +#: locale/ipp-strings.c:716 msgid "finishings.94" msgstr "" #. TRANSLATORS: Left Gate Fold -#: locale/ipp-strings.c:714 +#: locale/ipp-strings.c:718 msgid "finishings.95" msgstr "" #. TRANSLATORS: Letter Fold -#: locale/ipp-strings.c:716 +#: locale/ipp-strings.c:720 msgid "finishings.96" msgstr "" #. TRANSLATORS: Parallel Fold -#: locale/ipp-strings.c:718 +#: locale/ipp-strings.c:722 msgid "finishings.97" msgstr "" #. TRANSLATORS: Poster Fold -#: locale/ipp-strings.c:720 +#: locale/ipp-strings.c:724 msgid "finishings.98" msgstr "" #. TRANSLATORS: Right Gate Fold -#: locale/ipp-strings.c:722 +#: locale/ipp-strings.c:726 msgid "finishings.99" msgstr "" #. TRANSLATORS: Fold -#: locale/ipp-strings.c:724 +#: locale/ipp-strings.c:728 msgid "folding" msgstr "" #. TRANSLATORS: Fold Direction -#: locale/ipp-strings.c:726 +#: locale/ipp-strings.c:730 msgid "folding-direction" msgstr "" #. TRANSLATORS: Inward -#: locale/ipp-strings.c:728 +#: locale/ipp-strings.c:732 msgid "folding-direction.inward" msgstr "" #. TRANSLATORS: Outward -#: locale/ipp-strings.c:730 +#: locale/ipp-strings.c:734 msgid "folding-direction.outward" msgstr "" #. TRANSLATORS: Fold Position -#: locale/ipp-strings.c:732 +#: locale/ipp-strings.c:736 msgid "folding-offset" msgstr "" #. TRANSLATORS: Fold Edge -#: locale/ipp-strings.c:734 +#: locale/ipp-strings.c:738 msgid "folding-reference-edge" msgstr "" #. TRANSLATORS: Bottom -#: locale/ipp-strings.c:736 +#: locale/ipp-strings.c:740 msgid "folding-reference-edge.bottom" msgstr "" #. TRANSLATORS: Left -#: locale/ipp-strings.c:738 +#: locale/ipp-strings.c:742 msgid "folding-reference-edge.left" msgstr "" #. TRANSLATORS: Right -#: locale/ipp-strings.c:740 +#: locale/ipp-strings.c:744 msgid "folding-reference-edge.right" msgstr "" #. TRANSLATORS: Top -#: locale/ipp-strings.c:742 +#: locale/ipp-strings.c:746 msgid "folding-reference-edge.top" msgstr "" #. TRANSLATORS: Font Name -#: locale/ipp-strings.c:744 +#: locale/ipp-strings.c:748 msgid "font-name-requested" msgstr "" #. TRANSLATORS: Font Size -#: locale/ipp-strings.c:746 +#: locale/ipp-strings.c:750 msgid "font-size-requested" msgstr "" #. TRANSLATORS: Force Front Side -#: locale/ipp-strings.c:748 +#: locale/ipp-strings.c:752 msgid "force-front-side" msgstr "" #. TRANSLATORS: From Name -#: locale/ipp-strings.c:750 +#: locale/ipp-strings.c:754 msgid "from-name" msgstr "" @@ -8735,36 +8769,36 @@ msgid "idle" msgstr "" #. TRANSLATORS: Imposition Template -#: locale/ipp-strings.c:752 +#: locale/ipp-strings.c:756 msgid "imposition-template" msgstr "" #. TRANSLATORS: None -#: locale/ipp-strings.c:754 +#: locale/ipp-strings.c:758 msgid "imposition-template.none" msgstr "" #. TRANSLATORS: Signature -#: locale/ipp-strings.c:756 +#: locale/ipp-strings.c:760 msgid "imposition-template.signature" msgstr "" #. TRANSLATORS: Insert Page Number -#: locale/ipp-strings.c:758 +#: locale/ipp-strings.c:762 msgid "insert-after-page-number" msgstr "" #. TRANSLATORS: Insert Count -#: locale/ipp-strings.c:760 +#: locale/ipp-strings.c:764 msgid "insert-count" msgstr "" #. TRANSLATORS: Insert Sheet -#: locale/ipp-strings.c:762 +#: locale/ipp-strings.c:766 msgid "insert-sheet" msgstr "" -#: tools/ippeveprinter.c:4702 +#: tools/ippeveprinter.c:4850 #, c-format msgid "ippeveprinter: Unable to open \"%s\": %s on line %d." msgstr "" @@ -8920,267 +8954,267 @@ msgid "ipptool: URI required before test file." msgstr "" #. TRANSLATORS: Job Account ID -#: locale/ipp-strings.c:764 +#: locale/ipp-strings.c:768 msgid "job-account-id" msgstr "" #. TRANSLATORS: Job Account Type -#: locale/ipp-strings.c:766 +#: locale/ipp-strings.c:770 msgid "job-account-type" msgstr "" #. TRANSLATORS: General -#: locale/ipp-strings.c:768 +#: locale/ipp-strings.c:772 msgid "job-account-type.general" msgstr "" #. TRANSLATORS: Group -#: locale/ipp-strings.c:770 +#: locale/ipp-strings.c:774 msgid "job-account-type.group" msgstr "" #. TRANSLATORS: None -#: locale/ipp-strings.c:772 +#: locale/ipp-strings.c:776 msgid "job-account-type.none" msgstr "" #. TRANSLATORS: Job Accounting Output Bin -#: locale/ipp-strings.c:774 +#: locale/ipp-strings.c:778 msgid "job-accounting-output-bin" msgstr "" #. TRANSLATORS: Job Accounting Sheets -#: locale/ipp-strings.c:776 +#: locale/ipp-strings.c:780 msgid "job-accounting-sheets" msgstr "" #. TRANSLATORS: Type of Job Accounting Sheets -#: locale/ipp-strings.c:778 +#: locale/ipp-strings.c:782 msgid "job-accounting-sheets-type" msgstr "" #. TRANSLATORS: None -#: locale/ipp-strings.c:780 +#: locale/ipp-strings.c:784 msgid "job-accounting-sheets-type.none" msgstr "" #. TRANSLATORS: Standard -#: locale/ipp-strings.c:782 +#: locale/ipp-strings.c:786 msgid "job-accounting-sheets-type.standard" msgstr "" #. TRANSLATORS: Job Accounting User ID -#: locale/ipp-strings.c:784 +#: locale/ipp-strings.c:788 msgid "job-accounting-user-id" msgstr "" #. TRANSLATORS: Job Cancel After -#: locale/ipp-strings.c:786 +#: locale/ipp-strings.c:790 msgid "job-cancel-after" msgstr "" #. TRANSLATORS: Copies -#: locale/ipp-strings.c:788 +#: locale/ipp-strings.c:792 msgid "job-copies" msgstr "" #. TRANSLATORS: Back Cover -#: locale/ipp-strings.c:790 +#: locale/ipp-strings.c:794 msgid "job-cover-back" msgstr "" #. TRANSLATORS: Front Cover -#: locale/ipp-strings.c:792 +#: locale/ipp-strings.c:796 msgid "job-cover-front" msgstr "" #. TRANSLATORS: Delay Output Until -#: locale/ipp-strings.c:794 +#: locale/ipp-strings.c:798 msgid "job-delay-output-until" msgstr "" #. TRANSLATORS: Delay Output Until -#: locale/ipp-strings.c:796 +#: locale/ipp-strings.c:800 msgid "job-delay-output-until-time" msgstr "" #. TRANSLATORS: Daytime -#: locale/ipp-strings.c:798 +#: locale/ipp-strings.c:802 msgid "job-delay-output-until.day-time" msgstr "" #. TRANSLATORS: Evening -#: locale/ipp-strings.c:800 +#: locale/ipp-strings.c:804 msgid "job-delay-output-until.evening" msgstr "" #. TRANSLATORS: Released -#: locale/ipp-strings.c:802 +#: locale/ipp-strings.c:806 msgid "job-delay-output-until.indefinite" msgstr "" #. TRANSLATORS: Night -#: locale/ipp-strings.c:804 +#: locale/ipp-strings.c:808 msgid "job-delay-output-until.night" msgstr "" #. TRANSLATORS: No Delay -#: locale/ipp-strings.c:806 +#: locale/ipp-strings.c:810 msgid "job-delay-output-until.no-delay-output" msgstr "" #. TRANSLATORS: Second Shift -#: locale/ipp-strings.c:808 +#: locale/ipp-strings.c:812 msgid "job-delay-output-until.second-shift" msgstr "" #. TRANSLATORS: Third Shift -#: locale/ipp-strings.c:810 +#: locale/ipp-strings.c:814 msgid "job-delay-output-until.third-shift" msgstr "" #. TRANSLATORS: Weekend -#: locale/ipp-strings.c:812 +#: locale/ipp-strings.c:816 msgid "job-delay-output-until.weekend" msgstr "" #. TRANSLATORS: On Error -#: locale/ipp-strings.c:814 +#: locale/ipp-strings.c:818 msgid "job-error-action" msgstr "" #. TRANSLATORS: Abort Job -#: locale/ipp-strings.c:816 +#: locale/ipp-strings.c:820 msgid "job-error-action.abort-job" msgstr "" #. TRANSLATORS: Cancel Job -#: locale/ipp-strings.c:818 +#: locale/ipp-strings.c:822 msgid "job-error-action.cancel-job" msgstr "" #. TRANSLATORS: Continue Job -#: locale/ipp-strings.c:820 +#: locale/ipp-strings.c:824 msgid "job-error-action.continue-job" msgstr "" #. TRANSLATORS: Suspend Job -#: locale/ipp-strings.c:822 +#: locale/ipp-strings.c:826 msgid "job-error-action.suspend-job" msgstr "" #. TRANSLATORS: Print Error Sheet -#: locale/ipp-strings.c:824 +#: locale/ipp-strings.c:828 msgid "job-error-sheet" msgstr "" #. TRANSLATORS: Type of Error Sheet -#: locale/ipp-strings.c:826 +#: locale/ipp-strings.c:830 msgid "job-error-sheet-type" msgstr "" #. TRANSLATORS: None -#: locale/ipp-strings.c:828 +#: locale/ipp-strings.c:832 msgid "job-error-sheet-type.none" msgstr "" #. TRANSLATORS: Standard -#: locale/ipp-strings.c:830 +#: locale/ipp-strings.c:834 msgid "job-error-sheet-type.standard" msgstr "" #. TRANSLATORS: Print Error Sheet -#: locale/ipp-strings.c:832 +#: locale/ipp-strings.c:836 msgid "job-error-sheet-when" msgstr "" #. TRANSLATORS: Always -#: locale/ipp-strings.c:834 +#: locale/ipp-strings.c:838 msgid "job-error-sheet-when.always" msgstr "" #. TRANSLATORS: On Error -#: locale/ipp-strings.c:836 +#: locale/ipp-strings.c:840 msgid "job-error-sheet-when.on-error" msgstr "" #. TRANSLATORS: Job Finishings -#: locale/ipp-strings.c:838 +#: locale/ipp-strings.c:842 msgid "job-finishings" msgstr "" #. TRANSLATORS: Hold Until -#: locale/ipp-strings.c:840 +#: locale/ipp-strings.c:844 msgid "job-hold-until" msgstr "" #. TRANSLATORS: Hold Until -#: locale/ipp-strings.c:842 +#: locale/ipp-strings.c:846 msgid "job-hold-until-time" msgstr "" #. TRANSLATORS: Daytime -#: locale/ipp-strings.c:844 +#: locale/ipp-strings.c:848 msgid "job-hold-until.day-time" msgstr "" #. TRANSLATORS: Evening -#: locale/ipp-strings.c:846 +#: locale/ipp-strings.c:850 msgid "job-hold-until.evening" msgstr "" #. TRANSLATORS: Released -#: locale/ipp-strings.c:848 +#: locale/ipp-strings.c:852 msgid "job-hold-until.indefinite" msgstr "" #. TRANSLATORS: Night -#: locale/ipp-strings.c:850 +#: locale/ipp-strings.c:854 msgid "job-hold-until.night" msgstr "" #. TRANSLATORS: No Hold -#: locale/ipp-strings.c:852 +#: locale/ipp-strings.c:856 msgid "job-hold-until.no-hold" msgstr "" #. TRANSLATORS: Second Shift -#: locale/ipp-strings.c:854 +#: locale/ipp-strings.c:858 msgid "job-hold-until.second-shift" msgstr "" #. TRANSLATORS: Third Shift -#: locale/ipp-strings.c:856 +#: locale/ipp-strings.c:860 msgid "job-hold-until.third-shift" msgstr "" #. TRANSLATORS: Weekend -#: locale/ipp-strings.c:858 +#: locale/ipp-strings.c:862 msgid "job-hold-until.weekend" msgstr "" #. TRANSLATORS: Job Mandatory Attributes -#: locale/ipp-strings.c:860 +#: locale/ipp-strings.c:864 msgid "job-mandatory-attributes" msgstr "" #. TRANSLATORS: Title -#: locale/ipp-strings.c:862 +#: locale/ipp-strings.c:866 msgid "job-name" msgstr "" #. TRANSLATORS: Job Pages -#: locale/ipp-strings.c:864 +#: locale/ipp-strings.c:868 msgid "job-pages" msgstr "" #. TRANSLATORS: Job Pages -#: locale/ipp-strings.c:866 +#: locale/ipp-strings.c:870 msgid "job-pages-col" msgstr "" #. TRANSLATORS: Job Phone Number -#: locale/ipp-strings.c:868 +#: locale/ipp-strings.c:872 msgid "job-phone-number" msgstr "" @@ -9189,627 +9223,627 @@ msgid "job-printer-uri attribute missing." msgstr "" #. TRANSLATORS: Job Priority -#: locale/ipp-strings.c:870 +#: locale/ipp-strings.c:874 msgid "job-priority" msgstr "" #. TRANSLATORS: Job Privacy Attributes -#: locale/ipp-strings.c:872 +#: locale/ipp-strings.c:876 msgid "job-privacy-attributes" msgstr "" #. TRANSLATORS: All -#: locale/ipp-strings.c:874 +#: locale/ipp-strings.c:878 msgid "job-privacy-attributes.all" msgstr "" #. TRANSLATORS: Default -#: locale/ipp-strings.c:876 +#: locale/ipp-strings.c:880 msgid "job-privacy-attributes.default" msgstr "" #. TRANSLATORS: Job Description -#: locale/ipp-strings.c:878 +#: locale/ipp-strings.c:882 msgid "job-privacy-attributes.job-description" msgstr "" #. TRANSLATORS: Job Template -#: locale/ipp-strings.c:880 +#: locale/ipp-strings.c:884 msgid "job-privacy-attributes.job-template" msgstr "" #. TRANSLATORS: None -#: locale/ipp-strings.c:882 +#: locale/ipp-strings.c:886 msgid "job-privacy-attributes.none" msgstr "" #. TRANSLATORS: Job Privacy Scope -#: locale/ipp-strings.c:884 +#: locale/ipp-strings.c:888 msgid "job-privacy-scope" msgstr "" #. TRANSLATORS: All -#: locale/ipp-strings.c:886 +#: locale/ipp-strings.c:890 msgid "job-privacy-scope.all" msgstr "" #. TRANSLATORS: Default -#: locale/ipp-strings.c:888 +#: locale/ipp-strings.c:892 msgid "job-privacy-scope.default" msgstr "" #. TRANSLATORS: None -#: locale/ipp-strings.c:890 +#: locale/ipp-strings.c:894 msgid "job-privacy-scope.none" msgstr "" #. TRANSLATORS: Owner -#: locale/ipp-strings.c:892 +#: locale/ipp-strings.c:896 msgid "job-privacy-scope.owner" msgstr "" #. TRANSLATORS: Job Recipient Name -#: locale/ipp-strings.c:894 +#: locale/ipp-strings.c:898 msgid "job-recipient-name" msgstr "" #. TRANSLATORS: Job Retain Until -#: locale/ipp-strings.c:896 +#: locale/ipp-strings.c:900 msgid "job-retain-until" msgstr "" #. TRANSLATORS: Job Retain Until Interval -#: locale/ipp-strings.c:898 +#: locale/ipp-strings.c:902 msgid "job-retain-until-interval" msgstr "" #. TRANSLATORS: Job Retain Until Time -#: locale/ipp-strings.c:900 +#: locale/ipp-strings.c:904 msgid "job-retain-until-time" msgstr "" #. TRANSLATORS: End Of Day -#: locale/ipp-strings.c:902 +#: locale/ipp-strings.c:906 msgid "job-retain-until.end-of-day" msgstr "" #. TRANSLATORS: End Of Month -#: locale/ipp-strings.c:904 +#: locale/ipp-strings.c:908 msgid "job-retain-until.end-of-month" msgstr "" #. TRANSLATORS: End Of Week -#: locale/ipp-strings.c:906 +#: locale/ipp-strings.c:910 msgid "job-retain-until.end-of-week" msgstr "" #. TRANSLATORS: Indefinite -#: locale/ipp-strings.c:908 +#: locale/ipp-strings.c:912 msgid "job-retain-until.indefinite" msgstr "" #. TRANSLATORS: None -#: locale/ipp-strings.c:910 +#: locale/ipp-strings.c:914 msgid "job-retain-until.none" msgstr "" #. TRANSLATORS: Job Save Disposition -#: locale/ipp-strings.c:912 +#: locale/ipp-strings.c:916 msgid "job-save-disposition" msgstr "" #. TRANSLATORS: Job Sheet Message -#: locale/ipp-strings.c:914 +#: locale/ipp-strings.c:918 msgid "job-sheet-message" msgstr "" #. TRANSLATORS: Banner Page -#: locale/ipp-strings.c:916 +#: locale/ipp-strings.c:920 msgid "job-sheets" msgstr "" #. TRANSLATORS: Banner Page -#: locale/ipp-strings.c:918 +#: locale/ipp-strings.c:922 msgid "job-sheets-col" msgstr "" #. TRANSLATORS: First Page in Document -#: locale/ipp-strings.c:920 +#: locale/ipp-strings.c:924 msgid "job-sheets.first-print-stream-page" msgstr "" #. TRANSLATORS: Start and End Sheets -#: locale/ipp-strings.c:922 +#: locale/ipp-strings.c:926 msgid "job-sheets.job-both-sheet" msgstr "" #. TRANSLATORS: End Sheet -#: locale/ipp-strings.c:924 +#: locale/ipp-strings.c:928 msgid "job-sheets.job-end-sheet" msgstr "" #. TRANSLATORS: Start Sheet -#: locale/ipp-strings.c:926 +#: locale/ipp-strings.c:930 msgid "job-sheets.job-start-sheet" msgstr "" #. TRANSLATORS: None -#: locale/ipp-strings.c:928 +#: locale/ipp-strings.c:932 msgid "job-sheets.none" msgstr "" #. TRANSLATORS: Standard -#: locale/ipp-strings.c:930 +#: locale/ipp-strings.c:934 msgid "job-sheets.standard" msgstr "" #. TRANSLATORS: Job State -#: locale/ipp-strings.c:932 +#: locale/ipp-strings.c:936 msgid "job-state" msgstr "" #. TRANSLATORS: Job State Message -#: locale/ipp-strings.c:934 +#: locale/ipp-strings.c:938 msgid "job-state-message" msgstr "" #. TRANSLATORS: Detailed Job State -#: locale/ipp-strings.c:936 +#: locale/ipp-strings.c:940 msgid "job-state-reasons" msgstr "" #. TRANSLATORS: Stopping -#: locale/ipp-strings.c:938 +#: locale/ipp-strings.c:942 msgid "job-state-reasons.aborted-by-system" msgstr "" #. TRANSLATORS: Account Authorization Failed -#: locale/ipp-strings.c:940 +#: locale/ipp-strings.c:944 msgid "job-state-reasons.account-authorization-failed" msgstr "" #. TRANSLATORS: Account Closed -#: locale/ipp-strings.c:942 +#: locale/ipp-strings.c:946 msgid "job-state-reasons.account-closed" msgstr "" #. TRANSLATORS: Account Info Needed -#: locale/ipp-strings.c:944 +#: locale/ipp-strings.c:948 msgid "job-state-reasons.account-info-needed" msgstr "" #. TRANSLATORS: Account Limit Reached -#: locale/ipp-strings.c:946 +#: locale/ipp-strings.c:950 msgid "job-state-reasons.account-limit-reached" msgstr "" #. TRANSLATORS: Decompression error -#: locale/ipp-strings.c:948 +#: locale/ipp-strings.c:952 msgid "job-state-reasons.compression-error" msgstr "" #. TRANSLATORS: Conflicting Attributes -#: locale/ipp-strings.c:950 +#: locale/ipp-strings.c:954 msgid "job-state-reasons.conflicting-attributes" msgstr "" #. TRANSLATORS: Connected To Destination -#: locale/ipp-strings.c:952 +#: locale/ipp-strings.c:956 msgid "job-state-reasons.connected-to-destination" msgstr "" #. TRANSLATORS: Connecting To Destination -#: locale/ipp-strings.c:954 +#: locale/ipp-strings.c:958 msgid "job-state-reasons.connecting-to-destination" msgstr "" #. TRANSLATORS: Destination Uri Failed -#: locale/ipp-strings.c:956 +#: locale/ipp-strings.c:960 msgid "job-state-reasons.destination-uri-failed" msgstr "" #. TRANSLATORS: Digital Signature Did Not Verify -#: locale/ipp-strings.c:958 +#: locale/ipp-strings.c:962 msgid "job-state-reasons.digital-signature-did-not-verify" msgstr "" #. TRANSLATORS: Digital Signature Type Not Supported -#: locale/ipp-strings.c:960 +#: locale/ipp-strings.c:964 msgid "job-state-reasons.digital-signature-type-not-supported" msgstr "" #. TRANSLATORS: Document Access Error -#: locale/ipp-strings.c:962 +#: locale/ipp-strings.c:966 msgid "job-state-reasons.document-access-error" msgstr "" #. TRANSLATORS: Document Format Error -#: locale/ipp-strings.c:964 +#: locale/ipp-strings.c:968 msgid "job-state-reasons.document-format-error" msgstr "" #. TRANSLATORS: Document Password Error -#: locale/ipp-strings.c:966 +#: locale/ipp-strings.c:970 msgid "job-state-reasons.document-password-error" msgstr "" #. TRANSLATORS: Document Permission Error -#: locale/ipp-strings.c:968 +#: locale/ipp-strings.c:972 msgid "job-state-reasons.document-permission-error" msgstr "" #. TRANSLATORS: Document Security Error -#: locale/ipp-strings.c:970 +#: locale/ipp-strings.c:974 msgid "job-state-reasons.document-security-error" msgstr "" #. TRANSLATORS: Document Unprintable Error -#: locale/ipp-strings.c:972 +#: locale/ipp-strings.c:976 msgid "job-state-reasons.document-unprintable-error" msgstr "" #. TRANSLATORS: Errors Detected -#: locale/ipp-strings.c:974 +#: locale/ipp-strings.c:978 msgid "job-state-reasons.errors-detected" msgstr "" #. TRANSLATORS: Canceled at printer -#: locale/ipp-strings.c:976 +#: locale/ipp-strings.c:980 msgid "job-state-reasons.job-canceled-at-device" msgstr "" #. TRANSLATORS: Canceled by operator -#: locale/ipp-strings.c:978 +#: locale/ipp-strings.c:982 msgid "job-state-reasons.job-canceled-by-operator" msgstr "" #. TRANSLATORS: Canceled by user -#: locale/ipp-strings.c:980 +#: locale/ipp-strings.c:984 msgid "job-state-reasons.job-canceled-by-user" msgstr "" #. TRANSLATORS: -#: locale/ipp-strings.c:982 +#: locale/ipp-strings.c:986 msgid "job-state-reasons.job-completed-successfully" msgstr "" #. TRANSLATORS: Completed with errors -#: locale/ipp-strings.c:984 +#: locale/ipp-strings.c:988 msgid "job-state-reasons.job-completed-with-errors" msgstr "" #. TRANSLATORS: Completed with warnings -#: locale/ipp-strings.c:986 +#: locale/ipp-strings.c:990 msgid "job-state-reasons.job-completed-with-warnings" msgstr "" #. TRANSLATORS: Insufficient data -#: locale/ipp-strings.c:988 +#: locale/ipp-strings.c:992 msgid "job-state-reasons.job-data-insufficient" msgstr "" #. TRANSLATORS: Job Delay Output Until Specified -#: locale/ipp-strings.c:990 +#: locale/ipp-strings.c:994 msgid "job-state-reasons.job-delay-output-until-specified" msgstr "" #. TRANSLATORS: Job Digital Signature Wait -#: locale/ipp-strings.c:992 +#: locale/ipp-strings.c:996 msgid "job-state-reasons.job-digital-signature-wait" msgstr "" #. TRANSLATORS: Job Fetchable -#: locale/ipp-strings.c:994 +#: locale/ipp-strings.c:998 msgid "job-state-reasons.job-fetchable" msgstr "" #. TRANSLATORS: Job Held For Review -#: locale/ipp-strings.c:996 +#: locale/ipp-strings.c:1000 msgid "job-state-reasons.job-held-for-review" msgstr "" #. TRANSLATORS: Job held -#: locale/ipp-strings.c:998 +#: locale/ipp-strings.c:1002 msgid "job-state-reasons.job-hold-until-specified" msgstr "" #. TRANSLATORS: Incoming -#: locale/ipp-strings.c:1000 +#: locale/ipp-strings.c:1004 msgid "job-state-reasons.job-incoming" msgstr "" #. TRANSLATORS: Interpreting -#: locale/ipp-strings.c:1002 +#: locale/ipp-strings.c:1006 msgid "job-state-reasons.job-interpreting" msgstr "" #. TRANSLATORS: Outgoing -#: locale/ipp-strings.c:1004 +#: locale/ipp-strings.c:1008 msgid "job-state-reasons.job-outgoing" msgstr "" #. TRANSLATORS: Job Password Wait -#: locale/ipp-strings.c:1006 +#: locale/ipp-strings.c:1010 msgid "job-state-reasons.job-password-wait" msgstr "" #. TRANSLATORS: Job Printed Successfully -#: locale/ipp-strings.c:1008 +#: locale/ipp-strings.c:1012 msgid "job-state-reasons.job-printed-successfully" msgstr "" #. TRANSLATORS: Job Printed With Errors -#: locale/ipp-strings.c:1010 +#: locale/ipp-strings.c:1014 msgid "job-state-reasons.job-printed-with-errors" msgstr "" #. TRANSLATORS: Job Printed With Warnings -#: locale/ipp-strings.c:1012 +#: locale/ipp-strings.c:1016 msgid "job-state-reasons.job-printed-with-warnings" msgstr "" #. TRANSLATORS: Printing -#: locale/ipp-strings.c:1014 +#: locale/ipp-strings.c:1018 msgid "job-state-reasons.job-printing" msgstr "" #. TRANSLATORS: Preparing to print -#: locale/ipp-strings.c:1016 +#: locale/ipp-strings.c:1020 msgid "job-state-reasons.job-queued" msgstr "" #. TRANSLATORS: Processing document -#: locale/ipp-strings.c:1018 +#: locale/ipp-strings.c:1022 msgid "job-state-reasons.job-queued-for-marker" msgstr "" #. TRANSLATORS: Job Release Wait -#: locale/ipp-strings.c:1020 +#: locale/ipp-strings.c:1024 msgid "job-state-reasons.job-release-wait" msgstr "" #. TRANSLATORS: Restartable -#: locale/ipp-strings.c:1022 +#: locale/ipp-strings.c:1026 msgid "job-state-reasons.job-restartable" msgstr "" #. TRANSLATORS: Job Resuming -#: locale/ipp-strings.c:1024 +#: locale/ipp-strings.c:1028 msgid "job-state-reasons.job-resuming" msgstr "" #. TRANSLATORS: Job Saved Successfully -#: locale/ipp-strings.c:1026 +#: locale/ipp-strings.c:1030 msgid "job-state-reasons.job-saved-successfully" msgstr "" #. TRANSLATORS: Job Saved With Errors -#: locale/ipp-strings.c:1028 +#: locale/ipp-strings.c:1032 msgid "job-state-reasons.job-saved-with-errors" msgstr "" #. TRANSLATORS: Job Saved With Warnings -#: locale/ipp-strings.c:1030 +#: locale/ipp-strings.c:1034 msgid "job-state-reasons.job-saved-with-warnings" msgstr "" #. TRANSLATORS: Job Saving -#: locale/ipp-strings.c:1032 +#: locale/ipp-strings.c:1036 msgid "job-state-reasons.job-saving" msgstr "" #. TRANSLATORS: Job Spooling -#: locale/ipp-strings.c:1034 +#: locale/ipp-strings.c:1038 msgid "job-state-reasons.job-spooling" msgstr "" #. TRANSLATORS: Job Streaming -#: locale/ipp-strings.c:1036 +#: locale/ipp-strings.c:1040 msgid "job-state-reasons.job-streaming" msgstr "" #. TRANSLATORS: Suspended -#: locale/ipp-strings.c:1038 +#: locale/ipp-strings.c:1042 msgid "job-state-reasons.job-suspended" msgstr "" #. TRANSLATORS: Job Suspended By Operator -#: locale/ipp-strings.c:1040 +#: locale/ipp-strings.c:1044 msgid "job-state-reasons.job-suspended-by-operator" msgstr "" #. TRANSLATORS: Job Suspended By System -#: locale/ipp-strings.c:1042 +#: locale/ipp-strings.c:1046 msgid "job-state-reasons.job-suspended-by-system" msgstr "" #. TRANSLATORS: Job Suspended By User -#: locale/ipp-strings.c:1044 +#: locale/ipp-strings.c:1048 msgid "job-state-reasons.job-suspended-by-user" msgstr "" #. TRANSLATORS: Job Suspending -#: locale/ipp-strings.c:1046 +#: locale/ipp-strings.c:1050 msgid "job-state-reasons.job-suspending" msgstr "" #. TRANSLATORS: Job Transferring -#: locale/ipp-strings.c:1048 +#: locale/ipp-strings.c:1052 msgid "job-state-reasons.job-transferring" msgstr "" #. TRANSLATORS: Transforming -#: locale/ipp-strings.c:1050 +#: locale/ipp-strings.c:1054 msgid "job-state-reasons.job-transforming" msgstr "" #. TRANSLATORS: None -#: locale/ipp-strings.c:1052 +#: locale/ipp-strings.c:1056 msgid "job-state-reasons.none" msgstr "" #. TRANSLATORS: Printer offline -#: locale/ipp-strings.c:1054 +#: locale/ipp-strings.c:1058 msgid "job-state-reasons.printer-stopped" msgstr "" #. TRANSLATORS: Printer partially stopped -#: locale/ipp-strings.c:1056 +#: locale/ipp-strings.c:1060 msgid "job-state-reasons.printer-stopped-partly" msgstr "" #. TRANSLATORS: Stopping -#: locale/ipp-strings.c:1058 +#: locale/ipp-strings.c:1062 msgid "job-state-reasons.processing-to-stop-point" msgstr "" #. TRANSLATORS: Ready -#: locale/ipp-strings.c:1060 +#: locale/ipp-strings.c:1064 msgid "job-state-reasons.queued-in-device" msgstr "" #. TRANSLATORS: Resources Are Not Ready -#: locale/ipp-strings.c:1062 +#: locale/ipp-strings.c:1066 msgid "job-state-reasons.resources-are-not-ready" msgstr "" #. TRANSLATORS: Resources Are Not Supported -#: locale/ipp-strings.c:1064 +#: locale/ipp-strings.c:1068 msgid "job-state-reasons.resources-are-not-supported" msgstr "" #. TRANSLATORS: Service offline -#: locale/ipp-strings.c:1066 +#: locale/ipp-strings.c:1070 msgid "job-state-reasons.service-off-line" msgstr "" #. TRANSLATORS: Submission Interrupted -#: locale/ipp-strings.c:1068 +#: locale/ipp-strings.c:1072 msgid "job-state-reasons.submission-interrupted" msgstr "" #. TRANSLATORS: Unsupported Attributes Or Values -#: locale/ipp-strings.c:1070 +#: locale/ipp-strings.c:1074 msgid "job-state-reasons.unsupported-attributes-or-values" msgstr "" #. TRANSLATORS: Unsupported Compression -#: locale/ipp-strings.c:1072 +#: locale/ipp-strings.c:1076 msgid "job-state-reasons.unsupported-compression" msgstr "" #. TRANSLATORS: Unsupported Document Format -#: locale/ipp-strings.c:1074 +#: locale/ipp-strings.c:1078 msgid "job-state-reasons.unsupported-document-format" msgstr "" #. TRANSLATORS: Waiting For User Action -#: locale/ipp-strings.c:1076 +#: locale/ipp-strings.c:1080 msgid "job-state-reasons.waiting-for-user-action" msgstr "" #. TRANSLATORS: Warnings Detected -#: locale/ipp-strings.c:1078 +#: locale/ipp-strings.c:1082 msgid "job-state-reasons.warnings-detected" msgstr "" #. TRANSLATORS: Pending -#: locale/ipp-strings.c:1080 +#: locale/ipp-strings.c:1084 msgid "job-state.3" msgstr "" #. TRANSLATORS: Held -#: locale/ipp-strings.c:1082 +#: locale/ipp-strings.c:1086 msgid "job-state.4" msgstr "" #. TRANSLATORS: Processing -#: locale/ipp-strings.c:1084 +#: locale/ipp-strings.c:1088 msgid "job-state.5" msgstr "" #. TRANSLATORS: Stopped -#: locale/ipp-strings.c:1086 +#: locale/ipp-strings.c:1090 msgid "job-state.6" msgstr "" #. TRANSLATORS: Canceled -#: locale/ipp-strings.c:1088 +#: locale/ipp-strings.c:1092 msgid "job-state.7" msgstr "" #. TRANSLATORS: Aborted -#: locale/ipp-strings.c:1090 +#: locale/ipp-strings.c:1094 msgid "job-state.8" msgstr "" #. TRANSLATORS: Completed -#: locale/ipp-strings.c:1092 +#: locale/ipp-strings.c:1096 msgid "job-state.9" msgstr "" #. TRANSLATORS: Laminate Pages -#: locale/ipp-strings.c:1094 +#: locale/ipp-strings.c:1098 msgid "laminating" msgstr "" #. TRANSLATORS: Laminate -#: locale/ipp-strings.c:1096 +#: locale/ipp-strings.c:1100 msgid "laminating-sides" msgstr "" #. TRANSLATORS: Back Only -#: locale/ipp-strings.c:1098 +#: locale/ipp-strings.c:1102 msgid "laminating-sides.back" msgstr "" #. TRANSLATORS: Front and Back -#: locale/ipp-strings.c:1100 +#: locale/ipp-strings.c:1104 msgid "laminating-sides.both" msgstr "" #. TRANSLATORS: Front Only -#: locale/ipp-strings.c:1102 +#: locale/ipp-strings.c:1106 msgid "laminating-sides.front" msgstr "" #. TRANSLATORS: Type of Lamination -#: locale/ipp-strings.c:1104 +#: locale/ipp-strings.c:1108 msgid "laminating-type" msgstr "" #. TRANSLATORS: Archival -#: locale/ipp-strings.c:1106 +#: locale/ipp-strings.c:1110 msgid "laminating-type.archival" msgstr "" #. TRANSLATORS: Glossy -#: locale/ipp-strings.c:1108 +#: locale/ipp-strings.c:1112 msgid "laminating-type.glossy" msgstr "" #. TRANSLATORS: High Gloss -#: locale/ipp-strings.c:1110 +#: locale/ipp-strings.c:1114 msgid "laminating-type.high-gloss" msgstr "" #. TRANSLATORS: Matte -#: locale/ipp-strings.c:1112 +#: locale/ipp-strings.c:1116 msgid "laminating-type.matte" msgstr "" #. TRANSLATORS: Semi-gloss -#: locale/ipp-strings.c:1114 +#: locale/ipp-strings.c:1118 msgid "laminating-type.semi-gloss" msgstr "" #. TRANSLATORS: Translucent -#: locale/ipp-strings.c:1116 +#: locale/ipp-strings.c:1120 msgid "laminating-type.translucent" msgstr "" #. TRANSLATORS: Logo -#: locale/ipp-strings.c:1118 +#: locale/ipp-strings.c:1122 msgid "logo" msgstr "" @@ -10051,2752 +10085,2837 @@ msgid "lpstat: error - %s environment variable names non-existent destination \" msgstr "" #. TRANSLATORS: Amount of Material -#: locale/ipp-strings.c:1120 +#: locale/ipp-strings.c:1124 msgid "material-amount" msgstr "" #. TRANSLATORS: Amount Units -#: locale/ipp-strings.c:1122 +#: locale/ipp-strings.c:1126 msgid "material-amount-units" msgstr "" #. TRANSLATORS: Grams -#: locale/ipp-strings.c:1124 +#: locale/ipp-strings.c:1128 msgid "material-amount-units.g" msgstr "" #. TRANSLATORS: Kilograms -#: locale/ipp-strings.c:1126 +#: locale/ipp-strings.c:1130 msgid "material-amount-units.kg" msgstr "" #. TRANSLATORS: Liters -#: locale/ipp-strings.c:1128 +#: locale/ipp-strings.c:1132 msgid "material-amount-units.l" msgstr "" #. TRANSLATORS: Meters -#: locale/ipp-strings.c:1130 +#: locale/ipp-strings.c:1134 msgid "material-amount-units.m" msgstr "" #. TRANSLATORS: Milliliters -#: locale/ipp-strings.c:1132 +#: locale/ipp-strings.c:1136 msgid "material-amount-units.ml" msgstr "" #. TRANSLATORS: Millimeters -#: locale/ipp-strings.c:1134 +#: locale/ipp-strings.c:1138 msgid "material-amount-units.mm" msgstr "" #. TRANSLATORS: Material Color -#: locale/ipp-strings.c:1136 +#: locale/ipp-strings.c:1140 msgid "material-color" msgstr "" #. TRANSLATORS: Material Diameter -#: locale/ipp-strings.c:1138 +#: locale/ipp-strings.c:1142 msgid "material-diameter" msgstr "" #. TRANSLATORS: Material Diameter Tolerance -#: locale/ipp-strings.c:1140 +#: locale/ipp-strings.c:1144 msgid "material-diameter-tolerance" msgstr "" #. TRANSLATORS: Material Fill Density -#: locale/ipp-strings.c:1142 +#: locale/ipp-strings.c:1146 msgid "material-fill-density" msgstr "" #. TRANSLATORS: Material Name -#: locale/ipp-strings.c:1144 +#: locale/ipp-strings.c:1148 msgid "material-name" msgstr "" #. TRANSLATORS: Material Nozzle Diameter -#: locale/ipp-strings.c:1146 +#: locale/ipp-strings.c:1150 msgid "material-nozzle-diameter" msgstr "" #. TRANSLATORS: Use Material For -#: locale/ipp-strings.c:1148 +#: locale/ipp-strings.c:1152 msgid "material-purpose" msgstr "" #. TRANSLATORS: Everything -#: locale/ipp-strings.c:1150 +#: locale/ipp-strings.c:1154 msgid "material-purpose.all" msgstr "" #. TRANSLATORS: Base -#: locale/ipp-strings.c:1152 +#: locale/ipp-strings.c:1156 msgid "material-purpose.base" msgstr "" #. TRANSLATORS: In-fill -#: locale/ipp-strings.c:1154 +#: locale/ipp-strings.c:1158 msgid "material-purpose.in-fill" msgstr "" #. TRANSLATORS: Shell -#: locale/ipp-strings.c:1156 +#: locale/ipp-strings.c:1160 msgid "material-purpose.shell" msgstr "" #. TRANSLATORS: Supports -#: locale/ipp-strings.c:1158 +#: locale/ipp-strings.c:1162 msgid "material-purpose.support" msgstr "" #. TRANSLATORS: Feed Rate -#: locale/ipp-strings.c:1160 +#: locale/ipp-strings.c:1164 msgid "material-rate" msgstr "" #. TRANSLATORS: Feed Rate Units -#: locale/ipp-strings.c:1162 +#: locale/ipp-strings.c:1166 msgid "material-rate-units" msgstr "" #. TRANSLATORS: Milligrams per second -#: locale/ipp-strings.c:1164 +#: locale/ipp-strings.c:1168 msgid "material-rate-units.mg_second" msgstr "" #. TRANSLATORS: Milliliters per second -#: locale/ipp-strings.c:1166 +#: locale/ipp-strings.c:1170 msgid "material-rate-units.ml_second" msgstr "" #. TRANSLATORS: Millimeters per second -#: locale/ipp-strings.c:1168 +#: locale/ipp-strings.c:1172 msgid "material-rate-units.mm_second" msgstr "" #. TRANSLATORS: Material Retraction -#: locale/ipp-strings.c:1170 +#: locale/ipp-strings.c:1174 msgid "material-retraction" msgstr "" #. TRANSLATORS: Material Shell Thickness -#: locale/ipp-strings.c:1172 +#: locale/ipp-strings.c:1176 msgid "material-shell-thickness" msgstr "" #. TRANSLATORS: Material Temperature -#: locale/ipp-strings.c:1174 +#: locale/ipp-strings.c:1178 msgid "material-temperature" msgstr "" #. TRANSLATORS: Material Type -#: locale/ipp-strings.c:1176 +#: locale/ipp-strings.c:1180 msgid "material-type" msgstr "" #. TRANSLATORS: ABS -#: locale/ipp-strings.c:1178 +#: locale/ipp-strings.c:1182 msgid "material-type.abs" msgstr "" #. TRANSLATORS: Carbon Fiber ABS -#: locale/ipp-strings.c:1180 +#: locale/ipp-strings.c:1184 msgid "material-type.abs-carbon-fiber" msgstr "" #. TRANSLATORS: Carbon Nanotube ABS -#: locale/ipp-strings.c:1182 +#: locale/ipp-strings.c:1186 msgid "material-type.abs-carbon-nanotube" msgstr "" #. TRANSLATORS: Chocolate -#: locale/ipp-strings.c:1184 +#: locale/ipp-strings.c:1188 msgid "material-type.chocolate" msgstr "" #. TRANSLATORS: Gold -#: locale/ipp-strings.c:1186 +#: locale/ipp-strings.c:1190 msgid "material-type.gold" msgstr "" #. TRANSLATORS: Nylon -#: locale/ipp-strings.c:1188 +#: locale/ipp-strings.c:1192 msgid "material-type.nylon" msgstr "" #. TRANSLATORS: Pet -#: locale/ipp-strings.c:1190 +#: locale/ipp-strings.c:1194 msgid "material-type.pet" msgstr "" #. TRANSLATORS: Photopolymer -#: locale/ipp-strings.c:1192 +#: locale/ipp-strings.c:1196 msgid "material-type.photopolymer" msgstr "" #. TRANSLATORS: PLA -#: locale/ipp-strings.c:1194 +#: locale/ipp-strings.c:1198 msgid "material-type.pla" msgstr "" #. TRANSLATORS: Conductive PLA -#: locale/ipp-strings.c:1196 +#: locale/ipp-strings.c:1200 msgid "material-type.pla-conductive" msgstr "" #. TRANSLATORS: Pla Dissolvable -#: locale/ipp-strings.c:1198 +#: locale/ipp-strings.c:1202 msgid "material-type.pla-dissolvable" msgstr "" #. TRANSLATORS: Flexible PLA -#: locale/ipp-strings.c:1200 +#: locale/ipp-strings.c:1204 msgid "material-type.pla-flexible" msgstr "" #. TRANSLATORS: Magnetic PLA -#: locale/ipp-strings.c:1202 +#: locale/ipp-strings.c:1206 msgid "material-type.pla-magnetic" msgstr "" #. TRANSLATORS: Steel PLA -#: locale/ipp-strings.c:1204 +#: locale/ipp-strings.c:1208 msgid "material-type.pla-steel" msgstr "" #. TRANSLATORS: Stone PLA -#: locale/ipp-strings.c:1206 +#: locale/ipp-strings.c:1210 msgid "material-type.pla-stone" msgstr "" #. TRANSLATORS: Wood PLA -#: locale/ipp-strings.c:1208 +#: locale/ipp-strings.c:1212 msgid "material-type.pla-wood" msgstr "" #. TRANSLATORS: Polycarbonate -#: locale/ipp-strings.c:1210 +#: locale/ipp-strings.c:1214 msgid "material-type.polycarbonate" msgstr "" #. TRANSLATORS: Dissolvable PVA -#: locale/ipp-strings.c:1212 +#: locale/ipp-strings.c:1216 msgid "material-type.pva-dissolvable" msgstr "" #. TRANSLATORS: Silver -#: locale/ipp-strings.c:1214 +#: locale/ipp-strings.c:1218 msgid "material-type.silver" msgstr "" #. TRANSLATORS: Titanium -#: locale/ipp-strings.c:1216 +#: locale/ipp-strings.c:1220 msgid "material-type.titanium" msgstr "" #. TRANSLATORS: Wax -#: locale/ipp-strings.c:1218 +#: locale/ipp-strings.c:1222 msgid "material-type.wax" msgstr "" #. TRANSLATORS: Materials -#: locale/ipp-strings.c:1220 +#: locale/ipp-strings.c:1224 msgid "materials-col" msgstr "" #. TRANSLATORS: Media -#: locale/ipp-strings.c:1222 +#: locale/ipp-strings.c:1226 msgid "media" msgstr "" #. TRANSLATORS: Back Coating of Media -#: locale/ipp-strings.c:1224 +#: locale/ipp-strings.c:1228 msgid "media-back-coating" msgstr "" #. TRANSLATORS: Glossy -#: locale/ipp-strings.c:1226 +#: locale/ipp-strings.c:1230 msgid "media-back-coating.glossy" msgstr "" #. TRANSLATORS: High Gloss -#: locale/ipp-strings.c:1228 +#: locale/ipp-strings.c:1232 msgid "media-back-coating.high-gloss" msgstr "" #. TRANSLATORS: Matte -#: locale/ipp-strings.c:1230 +#: locale/ipp-strings.c:1234 msgid "media-back-coating.matte" msgstr "" #. TRANSLATORS: None -#: locale/ipp-strings.c:1232 +#: locale/ipp-strings.c:1236 msgid "media-back-coating.none" msgstr "" #. TRANSLATORS: Satin -#: locale/ipp-strings.c:1234 +#: locale/ipp-strings.c:1238 msgid "media-back-coating.satin" msgstr "" #. TRANSLATORS: Semi-gloss -#: locale/ipp-strings.c:1236 +#: locale/ipp-strings.c:1240 msgid "media-back-coating.semi-gloss" msgstr "" #. TRANSLATORS: Media Bottom Margin -#: locale/ipp-strings.c:1238 +#: locale/ipp-strings.c:1242 msgid "media-bottom-margin" msgstr "" #. TRANSLATORS: Media -#: locale/ipp-strings.c:1240 +#: locale/ipp-strings.c:1244 msgid "media-col" msgstr "" #. TRANSLATORS: Media Color -#: locale/ipp-strings.c:1242 +#: locale/ipp-strings.c:1246 msgid "media-color" msgstr "" #. TRANSLATORS: Black -#: locale/ipp-strings.c:1244 +#: locale/ipp-strings.c:1248 msgid "media-color.black" msgstr "" #. TRANSLATORS: Blue -#: locale/ipp-strings.c:1246 +#: locale/ipp-strings.c:1250 msgid "media-color.blue" msgstr "" #. TRANSLATORS: Brown -#: locale/ipp-strings.c:1248 +#: locale/ipp-strings.c:1252 msgid "media-color.brown" msgstr "" #. TRANSLATORS: Buff -#: locale/ipp-strings.c:1250 +#: locale/ipp-strings.c:1254 msgid "media-color.buff" msgstr "" #. TRANSLATORS: Clear Black -#: locale/ipp-strings.c:1252 +#: locale/ipp-strings.c:1256 msgid "media-color.clear-black" msgstr "" #. TRANSLATORS: Clear Blue -#: locale/ipp-strings.c:1254 +#: locale/ipp-strings.c:1258 msgid "media-color.clear-blue" msgstr "" #. TRANSLATORS: Clear Brown -#: locale/ipp-strings.c:1256 +#: locale/ipp-strings.c:1260 msgid "media-color.clear-brown" msgstr "" #. TRANSLATORS: Clear Buff -#: locale/ipp-strings.c:1258 +#: locale/ipp-strings.c:1262 msgid "media-color.clear-buff" msgstr "" #. TRANSLATORS: Clear Cyan -#: locale/ipp-strings.c:1260 +#: locale/ipp-strings.c:1264 msgid "media-color.clear-cyan" msgstr "" #. TRANSLATORS: Clear Gold -#: locale/ipp-strings.c:1262 +#: locale/ipp-strings.c:1266 msgid "media-color.clear-gold" msgstr "" #. TRANSLATORS: Clear Goldenrod -#: locale/ipp-strings.c:1264 +#: locale/ipp-strings.c:1268 msgid "media-color.clear-goldenrod" msgstr "" #. TRANSLATORS: Clear Gray -#: locale/ipp-strings.c:1266 +#: locale/ipp-strings.c:1270 msgid "media-color.clear-gray" msgstr "" #. TRANSLATORS: Clear Green -#: locale/ipp-strings.c:1268 +#: locale/ipp-strings.c:1272 msgid "media-color.clear-green" msgstr "" #. TRANSLATORS: Clear Ivory -#: locale/ipp-strings.c:1270 +#: locale/ipp-strings.c:1274 msgid "media-color.clear-ivory" msgstr "" #. TRANSLATORS: Clear Magenta -#: locale/ipp-strings.c:1272 +#: locale/ipp-strings.c:1276 msgid "media-color.clear-magenta" msgstr "" #. TRANSLATORS: Clear Multi Color -#: locale/ipp-strings.c:1274 +#: locale/ipp-strings.c:1278 msgid "media-color.clear-multi-color" msgstr "" #. TRANSLATORS: Clear Mustard -#: locale/ipp-strings.c:1276 +#: locale/ipp-strings.c:1280 msgid "media-color.clear-mustard" msgstr "" #. TRANSLATORS: Clear Orange -#: locale/ipp-strings.c:1278 +#: locale/ipp-strings.c:1282 msgid "media-color.clear-orange" msgstr "" #. TRANSLATORS: Clear Pink -#: locale/ipp-strings.c:1280 +#: locale/ipp-strings.c:1284 msgid "media-color.clear-pink" msgstr "" #. TRANSLATORS: Clear Red -#: locale/ipp-strings.c:1282 +#: locale/ipp-strings.c:1286 msgid "media-color.clear-red" msgstr "" #. TRANSLATORS: Clear Silver -#: locale/ipp-strings.c:1284 +#: locale/ipp-strings.c:1288 msgid "media-color.clear-silver" msgstr "" #. TRANSLATORS: Clear Turquoise -#: locale/ipp-strings.c:1286 +#: locale/ipp-strings.c:1290 msgid "media-color.clear-turquoise" msgstr "" #. TRANSLATORS: Clear Violet -#: locale/ipp-strings.c:1288 +#: locale/ipp-strings.c:1292 msgid "media-color.clear-violet" msgstr "" #. TRANSLATORS: Clear White -#: locale/ipp-strings.c:1290 +#: locale/ipp-strings.c:1294 msgid "media-color.clear-white" msgstr "" #. TRANSLATORS: Clear Yellow -#: locale/ipp-strings.c:1292 +#: locale/ipp-strings.c:1296 msgid "media-color.clear-yellow" msgstr "" #. TRANSLATORS: Cyan -#: locale/ipp-strings.c:1294 +#: locale/ipp-strings.c:1298 msgid "media-color.cyan" msgstr "" #. TRANSLATORS: Dark Blue -#: locale/ipp-strings.c:1296 +#: locale/ipp-strings.c:1300 msgid "media-color.dark-blue" msgstr "" #. TRANSLATORS: Dark Brown -#: locale/ipp-strings.c:1298 +#: locale/ipp-strings.c:1302 msgid "media-color.dark-brown" msgstr "" #. TRANSLATORS: Dark Buff -#: locale/ipp-strings.c:1300 +#: locale/ipp-strings.c:1304 msgid "media-color.dark-buff" msgstr "" #. TRANSLATORS: Dark Cyan -#: locale/ipp-strings.c:1302 +#: locale/ipp-strings.c:1306 msgid "media-color.dark-cyan" msgstr "" #. TRANSLATORS: Dark Gold -#: locale/ipp-strings.c:1304 +#: locale/ipp-strings.c:1308 msgid "media-color.dark-gold" msgstr "" #. TRANSLATORS: Dark Goldenrod -#: locale/ipp-strings.c:1306 +#: locale/ipp-strings.c:1310 msgid "media-color.dark-goldenrod" msgstr "" #. TRANSLATORS: Dark Gray -#: locale/ipp-strings.c:1308 +#: locale/ipp-strings.c:1312 msgid "media-color.dark-gray" msgstr "" #. TRANSLATORS: Dark Green -#: locale/ipp-strings.c:1310 +#: locale/ipp-strings.c:1314 msgid "media-color.dark-green" msgstr "" #. TRANSLATORS: Dark Ivory -#: locale/ipp-strings.c:1312 +#: locale/ipp-strings.c:1316 msgid "media-color.dark-ivory" msgstr "" #. TRANSLATORS: Dark Magenta -#: locale/ipp-strings.c:1314 +#: locale/ipp-strings.c:1318 msgid "media-color.dark-magenta" msgstr "" #. TRANSLATORS: Dark Mustard -#: locale/ipp-strings.c:1316 +#: locale/ipp-strings.c:1320 msgid "media-color.dark-mustard" msgstr "" #. TRANSLATORS: Dark Orange -#: locale/ipp-strings.c:1318 +#: locale/ipp-strings.c:1322 msgid "media-color.dark-orange" msgstr "" #. TRANSLATORS: Dark Pink -#: locale/ipp-strings.c:1320 +#: locale/ipp-strings.c:1324 msgid "media-color.dark-pink" msgstr "" #. TRANSLATORS: Dark Red -#: locale/ipp-strings.c:1322 +#: locale/ipp-strings.c:1326 msgid "media-color.dark-red" msgstr "" #. TRANSLATORS: Dark Silver -#: locale/ipp-strings.c:1324 +#: locale/ipp-strings.c:1328 msgid "media-color.dark-silver" msgstr "" #. TRANSLATORS: Dark Turquoise -#: locale/ipp-strings.c:1326 +#: locale/ipp-strings.c:1330 msgid "media-color.dark-turquoise" msgstr "" #. TRANSLATORS: Dark Violet -#: locale/ipp-strings.c:1328 +#: locale/ipp-strings.c:1332 msgid "media-color.dark-violet" msgstr "" #. TRANSLATORS: Dark Yellow -#: locale/ipp-strings.c:1330 +#: locale/ipp-strings.c:1334 msgid "media-color.dark-yellow" msgstr "" #. TRANSLATORS: Gold -#: locale/ipp-strings.c:1332 +#: locale/ipp-strings.c:1336 msgid "media-color.gold" msgstr "" #. TRANSLATORS: Goldenrod -#: locale/ipp-strings.c:1334 +#: locale/ipp-strings.c:1338 msgid "media-color.goldenrod" msgstr "" #. TRANSLATORS: Gray -#: locale/ipp-strings.c:1336 +#: locale/ipp-strings.c:1340 msgid "media-color.gray" msgstr "" #. TRANSLATORS: Green -#: locale/ipp-strings.c:1338 +#: locale/ipp-strings.c:1342 msgid "media-color.green" msgstr "" #. TRANSLATORS: Ivory -#: locale/ipp-strings.c:1340 +#: locale/ipp-strings.c:1344 msgid "media-color.ivory" msgstr "" #. TRANSLATORS: Light Black -#: locale/ipp-strings.c:1342 +#: locale/ipp-strings.c:1346 msgid "media-color.light-black" msgstr "" #. TRANSLATORS: Light Blue -#: locale/ipp-strings.c:1344 +#: locale/ipp-strings.c:1348 msgid "media-color.light-blue" msgstr "" #. TRANSLATORS: Light Brown -#: locale/ipp-strings.c:1346 +#: locale/ipp-strings.c:1350 msgid "media-color.light-brown" msgstr "" #. TRANSLATORS: Light Buff -#: locale/ipp-strings.c:1348 +#: locale/ipp-strings.c:1352 msgid "media-color.light-buff" msgstr "" #. TRANSLATORS: Light Cyan -#: locale/ipp-strings.c:1350 +#: locale/ipp-strings.c:1354 msgid "media-color.light-cyan" msgstr "" #. TRANSLATORS: Light Gold -#: locale/ipp-strings.c:1352 +#: locale/ipp-strings.c:1356 msgid "media-color.light-gold" msgstr "" #. TRANSLATORS: Light Goldenrod -#: locale/ipp-strings.c:1354 +#: locale/ipp-strings.c:1358 msgid "media-color.light-goldenrod" msgstr "" #. TRANSLATORS: Light Gray -#: locale/ipp-strings.c:1356 +#: locale/ipp-strings.c:1360 msgid "media-color.light-gray" msgstr "" #. TRANSLATORS: Light Green -#: locale/ipp-strings.c:1358 +#: locale/ipp-strings.c:1362 msgid "media-color.light-green" msgstr "" #. TRANSLATORS: Light Ivory -#: locale/ipp-strings.c:1360 +#: locale/ipp-strings.c:1364 msgid "media-color.light-ivory" msgstr "" #. TRANSLATORS: Light Magenta -#: locale/ipp-strings.c:1362 +#: locale/ipp-strings.c:1366 msgid "media-color.light-magenta" msgstr "" #. TRANSLATORS: Light Mustard -#: locale/ipp-strings.c:1364 +#: locale/ipp-strings.c:1368 msgid "media-color.light-mustard" msgstr "" #. TRANSLATORS: Light Orange -#: locale/ipp-strings.c:1366 +#: locale/ipp-strings.c:1370 msgid "media-color.light-orange" msgstr "" #. TRANSLATORS: Light Pink -#: locale/ipp-strings.c:1368 +#: locale/ipp-strings.c:1372 msgid "media-color.light-pink" msgstr "" #. TRANSLATORS: Light Red -#: locale/ipp-strings.c:1370 +#: locale/ipp-strings.c:1374 msgid "media-color.light-red" msgstr "" #. TRANSLATORS: Light Silver -#: locale/ipp-strings.c:1372 +#: locale/ipp-strings.c:1376 msgid "media-color.light-silver" msgstr "" #. TRANSLATORS: Light Turquoise -#: locale/ipp-strings.c:1374 +#: locale/ipp-strings.c:1378 msgid "media-color.light-turquoise" msgstr "" #. TRANSLATORS: Light Violet -#: locale/ipp-strings.c:1376 +#: locale/ipp-strings.c:1380 msgid "media-color.light-violet" msgstr "" #. TRANSLATORS: Light Yellow -#: locale/ipp-strings.c:1378 +#: locale/ipp-strings.c:1382 msgid "media-color.light-yellow" msgstr "" #. TRANSLATORS: Magenta -#: locale/ipp-strings.c:1380 +#: locale/ipp-strings.c:1384 msgid "media-color.magenta" msgstr "" #. TRANSLATORS: Multi-color -#: locale/ipp-strings.c:1382 +#: locale/ipp-strings.c:1386 msgid "media-color.multi-color" msgstr "" #. TRANSLATORS: Mustard -#: locale/ipp-strings.c:1384 +#: locale/ipp-strings.c:1388 msgid "media-color.mustard" msgstr "" #. TRANSLATORS: No Color -#: locale/ipp-strings.c:1386 +#: locale/ipp-strings.c:1390 msgid "media-color.no-color" msgstr "" #. TRANSLATORS: Orange -#: locale/ipp-strings.c:1388 +#: locale/ipp-strings.c:1392 msgid "media-color.orange" msgstr "" #. TRANSLATORS: Pink -#: locale/ipp-strings.c:1390 +#: locale/ipp-strings.c:1394 msgid "media-color.pink" msgstr "" #. TRANSLATORS: Red -#: locale/ipp-strings.c:1392 +#: locale/ipp-strings.c:1396 msgid "media-color.red" msgstr "" #. TRANSLATORS: Silver -#: locale/ipp-strings.c:1394 +#: locale/ipp-strings.c:1398 msgid "media-color.silver" msgstr "" #. TRANSLATORS: Turquoise -#: locale/ipp-strings.c:1396 +#: locale/ipp-strings.c:1400 msgid "media-color.turquoise" msgstr "" #. TRANSLATORS: Violet -#: locale/ipp-strings.c:1398 +#: locale/ipp-strings.c:1402 msgid "media-color.violet" msgstr "" #. TRANSLATORS: White -#: locale/ipp-strings.c:1400 +#: locale/ipp-strings.c:1404 msgid "media-color.white" msgstr "" #. TRANSLATORS: Yellow -#: locale/ipp-strings.c:1402 +#: locale/ipp-strings.c:1406 msgid "media-color.yellow" msgstr "" #. TRANSLATORS: Front Coating of Media -#: locale/ipp-strings.c:1404 +#: locale/ipp-strings.c:1408 msgid "media-front-coating" msgstr "" #. TRANSLATORS: Media Grain -#: locale/ipp-strings.c:1406 +#: locale/ipp-strings.c:1410 msgid "media-grain" msgstr "" #. TRANSLATORS: Cross-Feed Direction -#: locale/ipp-strings.c:1408 +#: locale/ipp-strings.c:1412 msgid "media-grain.x-direction" msgstr "" #. TRANSLATORS: Feed Direction -#: locale/ipp-strings.c:1410 +#: locale/ipp-strings.c:1414 msgid "media-grain.y-direction" msgstr "" #. TRANSLATORS: Media Hole Count -#: locale/ipp-strings.c:1412 +#: locale/ipp-strings.c:1416 msgid "media-hole-count" msgstr "" #. TRANSLATORS: Media Info -#: locale/ipp-strings.c:1414 +#: locale/ipp-strings.c:1418 msgid "media-info" msgstr "" #. TRANSLATORS: Force Media -#: locale/ipp-strings.c:1416 +#: locale/ipp-strings.c:1420 msgid "media-input-tray-check" msgstr "" #. TRANSLATORS: Media Left Margin -#: locale/ipp-strings.c:1418 +#: locale/ipp-strings.c:1422 msgid "media-left-margin" msgstr "" #. TRANSLATORS: Pre-printed Media -#: locale/ipp-strings.c:1420 +#: locale/ipp-strings.c:1424 msgid "media-pre-printed" msgstr "" #. TRANSLATORS: Blank -#: locale/ipp-strings.c:1422 +#: locale/ipp-strings.c:1426 msgid "media-pre-printed.blank" msgstr "" #. TRANSLATORS: Letterhead -#: locale/ipp-strings.c:1424 +#: locale/ipp-strings.c:1428 msgid "media-pre-printed.letter-head" msgstr "" #. TRANSLATORS: Pre-printed -#: locale/ipp-strings.c:1426 +#: locale/ipp-strings.c:1430 msgid "media-pre-printed.pre-printed" msgstr "" #. TRANSLATORS: Recycled Media -#: locale/ipp-strings.c:1428 +#: locale/ipp-strings.c:1432 msgid "media-recycled" msgstr "" #. TRANSLATORS: None -#: locale/ipp-strings.c:1430 +#: locale/ipp-strings.c:1434 msgid "media-recycled.none" msgstr "" #. TRANSLATORS: Standard -#: locale/ipp-strings.c:1432 +#: locale/ipp-strings.c:1436 msgid "media-recycled.standard" msgstr "" #. TRANSLATORS: Media Right Margin -#: locale/ipp-strings.c:1434 +#: locale/ipp-strings.c:1438 msgid "media-right-margin" msgstr "" #. TRANSLATORS: Media Dimensions -#: locale/ipp-strings.c:1436 +#: locale/ipp-strings.c:1440 msgid "media-size" msgstr "" #. TRANSLATORS: Media Name -#: locale/ipp-strings.c:1438 +#: locale/ipp-strings.c:1442 msgid "media-size-name" msgstr "" #. TRANSLATORS: Media Source -#: locale/ipp-strings.c:1440 +#: locale/ipp-strings.c:1444 msgid "media-source" msgstr "" #. TRANSLATORS: Alternate -#: locale/ipp-strings.c:1442 +#: locale/ipp-strings.c:1446 msgid "media-source.alternate" msgstr "" #. TRANSLATORS: Alternate Roll -#: locale/ipp-strings.c:1444 +#: locale/ipp-strings.c:1448 msgid "media-source.alternate-roll" msgstr "" #. TRANSLATORS: Automatic -#: locale/ipp-strings.c:1446 +#: locale/ipp-strings.c:1450 msgid "media-source.auto" msgstr "" #. TRANSLATORS: Bottom -#: locale/ipp-strings.c:1448 +#: locale/ipp-strings.c:1452 msgid "media-source.bottom" msgstr "" #. TRANSLATORS: By-pass Tray -#: locale/ipp-strings.c:1450 +#: locale/ipp-strings.c:1454 msgid "media-source.by-pass-tray" msgstr "" #. TRANSLATORS: Center -#: locale/ipp-strings.c:1452 +#: locale/ipp-strings.c:1456 msgid "media-source.center" msgstr "" #. TRANSLATORS: Disc -#: locale/ipp-strings.c:1454 +#: locale/ipp-strings.c:1458 msgid "media-source.disc" msgstr "" #. TRANSLATORS: Envelope -#: locale/ipp-strings.c:1456 +#: locale/ipp-strings.c:1460 msgid "media-source.envelope" msgstr "" #. TRANSLATORS: Hagaki -#: locale/ipp-strings.c:1458 +#: locale/ipp-strings.c:1462 msgid "media-source.hagaki" msgstr "" #. TRANSLATORS: Large Capacity -#: locale/ipp-strings.c:1460 +#: locale/ipp-strings.c:1464 msgid "media-source.large-capacity" msgstr "" #. TRANSLATORS: Left -#: locale/ipp-strings.c:1462 +#: locale/ipp-strings.c:1466 msgid "media-source.left" msgstr "" #. TRANSLATORS: Main -#: locale/ipp-strings.c:1464 +#: locale/ipp-strings.c:1468 msgid "media-source.main" msgstr "" #. TRANSLATORS: Main Roll -#: locale/ipp-strings.c:1466 +#: locale/ipp-strings.c:1470 msgid "media-source.main-roll" msgstr "" #. TRANSLATORS: Manual -#: locale/ipp-strings.c:1468 +#: locale/ipp-strings.c:1472 msgid "media-source.manual" msgstr "" #. TRANSLATORS: Middle -#: locale/ipp-strings.c:1470 +#: locale/ipp-strings.c:1474 msgid "media-source.middle" msgstr "" #. TRANSLATORS: Photo -#: locale/ipp-strings.c:1472 +#: locale/ipp-strings.c:1476 msgid "media-source.photo" msgstr "" #. TRANSLATORS: Rear -#: locale/ipp-strings.c:1474 +#: locale/ipp-strings.c:1478 msgid "media-source.rear" msgstr "" #. TRANSLATORS: Right -#: locale/ipp-strings.c:1476 +#: locale/ipp-strings.c:1480 msgid "media-source.right" msgstr "" #. TRANSLATORS: Roll 1 -#: locale/ipp-strings.c:1478 +#: locale/ipp-strings.c:1482 msgid "media-source.roll-1" msgstr "" #. TRANSLATORS: Roll 10 -#: locale/ipp-strings.c:1480 +#: locale/ipp-strings.c:1484 msgid "media-source.roll-10" msgstr "" #. TRANSLATORS: Roll 2 -#: locale/ipp-strings.c:1482 +#: locale/ipp-strings.c:1486 msgid "media-source.roll-2" msgstr "" #. TRANSLATORS: Roll 3 -#: locale/ipp-strings.c:1484 +#: locale/ipp-strings.c:1488 msgid "media-source.roll-3" msgstr "" #. TRANSLATORS: Roll 4 -#: locale/ipp-strings.c:1486 +#: locale/ipp-strings.c:1490 msgid "media-source.roll-4" msgstr "" #. TRANSLATORS: Roll 5 -#: locale/ipp-strings.c:1488 +#: locale/ipp-strings.c:1492 msgid "media-source.roll-5" msgstr "" #. TRANSLATORS: Roll 6 -#: locale/ipp-strings.c:1490 +#: locale/ipp-strings.c:1494 msgid "media-source.roll-6" msgstr "" #. TRANSLATORS: Roll 7 -#: locale/ipp-strings.c:1492 +#: locale/ipp-strings.c:1496 msgid "media-source.roll-7" msgstr "" #. TRANSLATORS: Roll 8 -#: locale/ipp-strings.c:1494 +#: locale/ipp-strings.c:1498 msgid "media-source.roll-8" msgstr "" #. TRANSLATORS: Roll 9 -#: locale/ipp-strings.c:1496 +#: locale/ipp-strings.c:1500 msgid "media-source.roll-9" msgstr "" #. TRANSLATORS: Side -#: locale/ipp-strings.c:1498 +#: locale/ipp-strings.c:1502 msgid "media-source.side" msgstr "" #. TRANSLATORS: Top -#: locale/ipp-strings.c:1500 +#: locale/ipp-strings.c:1504 msgid "media-source.top" msgstr "" #. TRANSLATORS: Tray 1 -#: locale/ipp-strings.c:1502 +#: locale/ipp-strings.c:1506 msgid "media-source.tray-1" msgstr "" #. TRANSLATORS: Tray 10 -#: locale/ipp-strings.c:1504 +#: locale/ipp-strings.c:1508 msgid "media-source.tray-10" msgstr "" #. TRANSLATORS: Tray 11 -#: locale/ipp-strings.c:1506 +#: locale/ipp-strings.c:1510 msgid "media-source.tray-11" msgstr "" #. TRANSLATORS: Tray 12 -#: locale/ipp-strings.c:1508 +#: locale/ipp-strings.c:1512 msgid "media-source.tray-12" msgstr "" #. TRANSLATORS: Tray 13 -#: locale/ipp-strings.c:1510 +#: locale/ipp-strings.c:1514 msgid "media-source.tray-13" msgstr "" #. TRANSLATORS: Tray 14 -#: locale/ipp-strings.c:1512 +#: locale/ipp-strings.c:1516 msgid "media-source.tray-14" msgstr "" #. TRANSLATORS: Tray 15 -#: locale/ipp-strings.c:1514 +#: locale/ipp-strings.c:1518 msgid "media-source.tray-15" msgstr "" #. TRANSLATORS: Tray 16 -#: locale/ipp-strings.c:1516 +#: locale/ipp-strings.c:1520 msgid "media-source.tray-16" msgstr "" #. TRANSLATORS: Tray 17 -#: locale/ipp-strings.c:1518 +#: locale/ipp-strings.c:1522 msgid "media-source.tray-17" msgstr "" #. TRANSLATORS: Tray 18 -#: locale/ipp-strings.c:1520 +#: locale/ipp-strings.c:1524 msgid "media-source.tray-18" msgstr "" #. TRANSLATORS: Tray 19 -#: locale/ipp-strings.c:1522 +#: locale/ipp-strings.c:1526 msgid "media-source.tray-19" msgstr "" #. TRANSLATORS: Tray 2 -#: locale/ipp-strings.c:1524 +#: locale/ipp-strings.c:1528 msgid "media-source.tray-2" msgstr "" #. TRANSLATORS: Tray 20 -#: locale/ipp-strings.c:1526 +#: locale/ipp-strings.c:1530 msgid "media-source.tray-20" msgstr "" #. TRANSLATORS: Tray 3 -#: locale/ipp-strings.c:1528 +#: locale/ipp-strings.c:1532 msgid "media-source.tray-3" msgstr "" #. TRANSLATORS: Tray 4 -#: locale/ipp-strings.c:1530 +#: locale/ipp-strings.c:1534 msgid "media-source.tray-4" msgstr "" #. TRANSLATORS: Tray 5 -#: locale/ipp-strings.c:1532 +#: locale/ipp-strings.c:1536 msgid "media-source.tray-5" msgstr "" #. TRANSLATORS: Tray 6 -#: locale/ipp-strings.c:1534 +#: locale/ipp-strings.c:1538 msgid "media-source.tray-6" msgstr "" #. TRANSLATORS: Tray 7 -#: locale/ipp-strings.c:1536 +#: locale/ipp-strings.c:1540 msgid "media-source.tray-7" msgstr "" #. TRANSLATORS: Tray 8 -#: locale/ipp-strings.c:1538 +#: locale/ipp-strings.c:1542 msgid "media-source.tray-8" msgstr "" #. TRANSLATORS: Tray 9 -#: locale/ipp-strings.c:1540 +#: locale/ipp-strings.c:1544 msgid "media-source.tray-9" msgstr "" #. TRANSLATORS: Media Thickness -#: locale/ipp-strings.c:1542 +#: locale/ipp-strings.c:1546 msgid "media-thickness" msgstr "" #. TRANSLATORS: Media Tooth (Texture) -#: locale/ipp-strings.c:1544 +#: locale/ipp-strings.c:1548 msgid "media-tooth" msgstr "" #. TRANSLATORS: Antique -#: locale/ipp-strings.c:1546 +#: locale/ipp-strings.c:1550 msgid "media-tooth.antique" msgstr "" #. TRANSLATORS: Extra Smooth -#: locale/ipp-strings.c:1548 +#: locale/ipp-strings.c:1552 msgid "media-tooth.calendared" msgstr "" #. TRANSLATORS: Coarse -#: locale/ipp-strings.c:1550 +#: locale/ipp-strings.c:1554 msgid "media-tooth.coarse" msgstr "" #. TRANSLATORS: Fine -#: locale/ipp-strings.c:1552 +#: locale/ipp-strings.c:1556 msgid "media-tooth.fine" msgstr "" #. TRANSLATORS: Linen -#: locale/ipp-strings.c:1554 +#: locale/ipp-strings.c:1558 msgid "media-tooth.linen" msgstr "" #. TRANSLATORS: Medium -#: locale/ipp-strings.c:1556 +#: locale/ipp-strings.c:1560 msgid "media-tooth.medium" msgstr "" #. TRANSLATORS: Smooth -#: locale/ipp-strings.c:1558 +#: locale/ipp-strings.c:1562 msgid "media-tooth.smooth" msgstr "" #. TRANSLATORS: Stipple -#: locale/ipp-strings.c:1560 +#: locale/ipp-strings.c:1564 msgid "media-tooth.stipple" msgstr "" #. TRANSLATORS: Rough -#: locale/ipp-strings.c:1562 +#: locale/ipp-strings.c:1566 msgid "media-tooth.uncalendared" msgstr "" #. TRANSLATORS: Vellum -#: locale/ipp-strings.c:1564 +#: locale/ipp-strings.c:1568 msgid "media-tooth.vellum" msgstr "" #. TRANSLATORS: Media Top Margin -#: locale/ipp-strings.c:1566 +#: locale/ipp-strings.c:1570 msgid "media-top-margin" msgstr "" #. TRANSLATORS: Media Type -#: locale/ipp-strings.c:1568 +#: locale/ipp-strings.c:1572 msgid "media-type" msgstr "" #. TRANSLATORS: Aluminum -#: locale/ipp-strings.c:1570 +#: locale/ipp-strings.c:1574 msgid "media-type.aluminum" msgstr "" #. TRANSLATORS: Automatic -#: locale/ipp-strings.c:1572 +#: locale/ipp-strings.c:1576 msgid "media-type.auto" msgstr "" #. TRANSLATORS: Back Print Film -#: locale/ipp-strings.c:1574 +#: locale/ipp-strings.c:1578 msgid "media-type.back-print-film" msgstr "" #. TRANSLATORS: Cardboard -#: locale/ipp-strings.c:1576 +#: locale/ipp-strings.c:1580 msgid "media-type.cardboard" msgstr "" #. TRANSLATORS: Cardstock -#: locale/ipp-strings.c:1578 +#: locale/ipp-strings.c:1582 msgid "media-type.cardstock" msgstr "" #. TRANSLATORS: CD -#: locale/ipp-strings.c:1580 +#: locale/ipp-strings.c:1584 msgid "media-type.cd" msgstr "" +#. TRANSLATORS: Photo Advanced Paper +#: locale/ipp-strings.c:1586 +msgid "media-type.com.hp.advanced-photo" +msgstr "" + +#. TRANSLATORS: Brochure Glossy Paper +#: locale/ipp-strings.c:1588 +msgid "media-type.com.hp.brochure-glossy" +msgstr "" + +#. TRANSLATORS: Brochure Matte Paper +#: locale/ipp-strings.c:1590 +msgid "media-type.com.hp.brochure-matte" +msgstr "" + +#. TRANSLATORS: Matte Coverstock +#: locale/ipp-strings.c:1592 +msgid "media-type.com.hp.cover-matte" +msgstr "" + +#. TRANSLATORS: EcoSMART Lite Paper +#: locale/ipp-strings.c:1594 +msgid "media-type.com.hp.ecosmart-lite" +msgstr "" + +#. TRANSLATORS: Everyday Glossy Paper +#: locale/ipp-strings.c:1596 +msgid "media-type.com.hp.everyday-glossy" +msgstr "" + +#. TRANSLATORS: Everyday Matte Paper +#: locale/ipp-strings.c:1598 +msgid "media-type.com.hp.everyday-matte" +msgstr "" + +#. TRANSLATORS: Extra Heavyweight Paper +#: locale/ipp-strings.c:1600 +msgid "media-type.com.hp.extra-heavy" +msgstr "" + +#. TRANSLATORS: Intermediate Paper +#: locale/ipp-strings.c:1602 +msgid "media-type.com.hp.intermediate" +msgstr "" + +#. TRANSLATORS: Mid-Weight Paper +#: locale/ipp-strings.c:1604 +msgid "media-type.com.hp.mid-weight" +msgstr "" + +#. TRANSLATORS: Inkjet Premium Paper +#: locale/ipp-strings.c:1606 +msgid "media-type.com.hp.premium-inkjet" +msgstr "" + +#. TRANSLATORS: Photo Premium Paper +#: locale/ipp-strings.c:1608 +msgid "media-type.com.hp.premium-photo" +msgstr "" + +#. TRANSLATORS: Premium Matte Presentation Paper +#: locale/ipp-strings.c:1610 +msgid "media-type.com.hp.premium-presentation-matte" +msgstr "" + #. TRANSLATORS: Continuous -#: locale/ipp-strings.c:1582 +#: locale/ipp-strings.c:1612 msgid "media-type.continuous" msgstr "" #. TRANSLATORS: Continuous Long -#: locale/ipp-strings.c:1584 +#: locale/ipp-strings.c:1614 msgid "media-type.continuous-long" msgstr "" #. TRANSLATORS: Continuous Short -#: locale/ipp-strings.c:1586 +#: locale/ipp-strings.c:1616 msgid "media-type.continuous-short" msgstr "" #. TRANSLATORS: Corrugated Board -#: locale/ipp-strings.c:1588 +#: locale/ipp-strings.c:1618 msgid "media-type.corrugated-board" msgstr "" #. TRANSLATORS: Optical Disc -#: locale/ipp-strings.c:1590 +#: locale/ipp-strings.c:1620 msgid "media-type.disc" msgstr "" #. TRANSLATORS: Glossy Optical Disc -#: locale/ipp-strings.c:1592 +#: locale/ipp-strings.c:1622 msgid "media-type.disc-glossy" msgstr "" #. TRANSLATORS: High Gloss Optical Disc -#: locale/ipp-strings.c:1594 +#: locale/ipp-strings.c:1624 msgid "media-type.disc-high-gloss" msgstr "" #. TRANSLATORS: Matte Optical Disc -#: locale/ipp-strings.c:1596 +#: locale/ipp-strings.c:1626 msgid "media-type.disc-matte" msgstr "" #. TRANSLATORS: Satin Optical Disc -#: locale/ipp-strings.c:1598 +#: locale/ipp-strings.c:1628 msgid "media-type.disc-satin" msgstr "" #. TRANSLATORS: Semi-Gloss Optical Disc -#: locale/ipp-strings.c:1600 +#: locale/ipp-strings.c:1630 msgid "media-type.disc-semi-gloss" msgstr "" #. TRANSLATORS: Double Wall -#: locale/ipp-strings.c:1602 +#: locale/ipp-strings.c:1632 msgid "media-type.double-wall" msgstr "" #. TRANSLATORS: Dry Film -#: locale/ipp-strings.c:1604 +#: locale/ipp-strings.c:1634 msgid "media-type.dry-film" msgstr "" #. TRANSLATORS: DVD -#: locale/ipp-strings.c:1606 +#: locale/ipp-strings.c:1636 msgid "media-type.dvd" msgstr "" #. TRANSLATORS: Embossing Foil -#: locale/ipp-strings.c:1608 +#: locale/ipp-strings.c:1638 msgid "media-type.embossing-foil" msgstr "" #. TRANSLATORS: End Board -#: locale/ipp-strings.c:1610 +#: locale/ipp-strings.c:1640 msgid "media-type.end-board" msgstr "" #. TRANSLATORS: Envelope -#: locale/ipp-strings.c:1612 +#: locale/ipp-strings.c:1642 msgid "media-type.envelope" msgstr "" #. TRANSLATORS: Archival Envelope -#: locale/ipp-strings.c:1614 +#: locale/ipp-strings.c:1644 msgid "media-type.envelope-archival" msgstr "" #. TRANSLATORS: Bond Envelope -#: locale/ipp-strings.c:1616 +#: locale/ipp-strings.c:1646 msgid "media-type.envelope-bond" msgstr "" #. TRANSLATORS: Coated Envelope -#: locale/ipp-strings.c:1618 +#: locale/ipp-strings.c:1648 msgid "media-type.envelope-coated" msgstr "" #. TRANSLATORS: Cotton Envelope -#: locale/ipp-strings.c:1620 +#: locale/ipp-strings.c:1650 msgid "media-type.envelope-cotton" msgstr "" #. TRANSLATORS: Fine Envelope -#: locale/ipp-strings.c:1622 +#: locale/ipp-strings.c:1652 msgid "media-type.envelope-fine" msgstr "" #. TRANSLATORS: Heavyweight Envelope -#: locale/ipp-strings.c:1624 +#: locale/ipp-strings.c:1654 msgid "media-type.envelope-heavyweight" msgstr "" #. TRANSLATORS: Inkjet Envelope -#: locale/ipp-strings.c:1626 +#: locale/ipp-strings.c:1656 msgid "media-type.envelope-inkjet" msgstr "" #. TRANSLATORS: Lightweight Envelope -#: locale/ipp-strings.c:1628 +#: locale/ipp-strings.c:1658 msgid "media-type.envelope-lightweight" msgstr "" #. TRANSLATORS: Plain Envelope -#: locale/ipp-strings.c:1630 +#: locale/ipp-strings.c:1660 msgid "media-type.envelope-plain" msgstr "" #. TRANSLATORS: Preprinted Envelope -#: locale/ipp-strings.c:1632 +#: locale/ipp-strings.c:1662 msgid "media-type.envelope-preprinted" msgstr "" #. TRANSLATORS: Windowed Envelope -#: locale/ipp-strings.c:1634 +#: locale/ipp-strings.c:1664 msgid "media-type.envelope-window" msgstr "" #. TRANSLATORS: Fabric -#: locale/ipp-strings.c:1636 +#: locale/ipp-strings.c:1666 msgid "media-type.fabric" msgstr "" #. TRANSLATORS: Archival Fabric -#: locale/ipp-strings.c:1638 +#: locale/ipp-strings.c:1668 msgid "media-type.fabric-archival" msgstr "" #. TRANSLATORS: Glossy Fabric -#: locale/ipp-strings.c:1640 +#: locale/ipp-strings.c:1670 msgid "media-type.fabric-glossy" msgstr "" #. TRANSLATORS: High Gloss Fabric -#: locale/ipp-strings.c:1642 +#: locale/ipp-strings.c:1672 msgid "media-type.fabric-high-gloss" msgstr "" #. TRANSLATORS: Matte Fabric -#: locale/ipp-strings.c:1644 +#: locale/ipp-strings.c:1674 msgid "media-type.fabric-matte" msgstr "" #. TRANSLATORS: Semi-Gloss Fabric -#: locale/ipp-strings.c:1646 +#: locale/ipp-strings.c:1676 msgid "media-type.fabric-semi-gloss" msgstr "" #. TRANSLATORS: Waterproof Fabric -#: locale/ipp-strings.c:1648 +#: locale/ipp-strings.c:1678 msgid "media-type.fabric-waterproof" msgstr "" #. TRANSLATORS: Film -#: locale/ipp-strings.c:1650 +#: locale/ipp-strings.c:1680 msgid "media-type.film" msgstr "" #. TRANSLATORS: Flexo Base -#: locale/ipp-strings.c:1652 +#: locale/ipp-strings.c:1682 msgid "media-type.flexo-base" msgstr "" #. TRANSLATORS: Flexo Photo Polymer -#: locale/ipp-strings.c:1654 +#: locale/ipp-strings.c:1684 msgid "media-type.flexo-photo-polymer" msgstr "" #. TRANSLATORS: Flute -#: locale/ipp-strings.c:1656 +#: locale/ipp-strings.c:1686 msgid "media-type.flute" msgstr "" #. TRANSLATORS: Foil -#: locale/ipp-strings.c:1658 +#: locale/ipp-strings.c:1688 msgid "media-type.foil" msgstr "" #. TRANSLATORS: Full Cut Tabs -#: locale/ipp-strings.c:1660 +#: locale/ipp-strings.c:1690 msgid "media-type.full-cut-tabs" msgstr "" #. TRANSLATORS: Glass -#: locale/ipp-strings.c:1662 +#: locale/ipp-strings.c:1692 msgid "media-type.glass" msgstr "" #. TRANSLATORS: Glass Colored -#: locale/ipp-strings.c:1664 +#: locale/ipp-strings.c:1694 msgid "media-type.glass-colored" msgstr "" #. TRANSLATORS: Glass Opaque -#: locale/ipp-strings.c:1666 +#: locale/ipp-strings.c:1696 msgid "media-type.glass-opaque" msgstr "" #. TRANSLATORS: Glass Surfaced -#: locale/ipp-strings.c:1668 +#: locale/ipp-strings.c:1698 msgid "media-type.glass-surfaced" msgstr "" #. TRANSLATORS: Glass Textured -#: locale/ipp-strings.c:1670 +#: locale/ipp-strings.c:1700 msgid "media-type.glass-textured" msgstr "" #. TRANSLATORS: Gravure Cylinder -#: locale/ipp-strings.c:1672 +#: locale/ipp-strings.c:1702 msgid "media-type.gravure-cylinder" msgstr "" #. TRANSLATORS: Image Setter Paper -#: locale/ipp-strings.c:1674 +#: locale/ipp-strings.c:1704 msgid "media-type.image-setter-paper" msgstr "" #. TRANSLATORS: Imaging Cylinder -#: locale/ipp-strings.c:1676 +#: locale/ipp-strings.c:1706 msgid "media-type.imaging-cylinder" msgstr "" +#. TRANSLATORS: Photo Paper Plus Glossy II +#: locale/ipp-strings.c:1708 +msgid "media-type.jp.co.canon-photo-paper-plus-glossy-ii" +msgstr "" + +#. TRANSLATORS: Photo Paper Pro Platinum +#: locale/ipp-strings.c:1710 +msgid "media-type.jp.co.canon-photo-paper-pro-platinum" +msgstr "" + +#. TRANSLATORS: Photo Paper Plus Glossy II +#: locale/ipp-strings.c:1712 +msgid "media-type.jp.co.canon_photo-paper-plus-glossy-ii" +msgstr "" + +#. TRANSLATORS: Photo Paper Pro Platinum +#: locale/ipp-strings.c:1714 +msgid "media-type.jp.co.canon_photo-paper-pro-platinum" +msgstr "" + #. TRANSLATORS: Labels -#: locale/ipp-strings.c:1678 +#: locale/ipp-strings.c:1716 msgid "media-type.labels" msgstr "" #. TRANSLATORS: Colored Labels -#: locale/ipp-strings.c:1680 +#: locale/ipp-strings.c:1718 msgid "media-type.labels-colored" msgstr "" #. TRANSLATORS: Glossy Labels -#: locale/ipp-strings.c:1682 +#: locale/ipp-strings.c:1720 msgid "media-type.labels-glossy" msgstr "" #. TRANSLATORS: High Gloss Labels -#: locale/ipp-strings.c:1684 +#: locale/ipp-strings.c:1722 msgid "media-type.labels-high-gloss" msgstr "" #. TRANSLATORS: Inkjet Labels -#: locale/ipp-strings.c:1686 +#: locale/ipp-strings.c:1724 msgid "media-type.labels-inkjet" msgstr "" #. TRANSLATORS: Matte Labels -#: locale/ipp-strings.c:1688 +#: locale/ipp-strings.c:1726 msgid "media-type.labels-matte" msgstr "" #. TRANSLATORS: Permanent Labels -#: locale/ipp-strings.c:1690 +#: locale/ipp-strings.c:1728 msgid "media-type.labels-permanent" msgstr "" #. TRANSLATORS: Satin Labels -#: locale/ipp-strings.c:1692 +#: locale/ipp-strings.c:1730 msgid "media-type.labels-satin" msgstr "" #. TRANSLATORS: Security Labels -#: locale/ipp-strings.c:1694 +#: locale/ipp-strings.c:1732 msgid "media-type.labels-security" msgstr "" #. TRANSLATORS: Semi-Gloss Labels -#: locale/ipp-strings.c:1696 +#: locale/ipp-strings.c:1734 msgid "media-type.labels-semi-gloss" msgstr "" #. TRANSLATORS: Laminating Foil -#: locale/ipp-strings.c:1698 +#: locale/ipp-strings.c:1736 msgid "media-type.laminating-foil" msgstr "" #. TRANSLATORS: Letterhead -#: locale/ipp-strings.c:1700 +#: locale/ipp-strings.c:1738 msgid "media-type.letterhead" msgstr "" #. TRANSLATORS: Metal -#: locale/ipp-strings.c:1702 +#: locale/ipp-strings.c:1740 msgid "media-type.metal" msgstr "" #. TRANSLATORS: Metal Glossy -#: locale/ipp-strings.c:1704 +#: locale/ipp-strings.c:1742 msgid "media-type.metal-glossy" msgstr "" #. TRANSLATORS: Metal High Gloss -#: locale/ipp-strings.c:1706 +#: locale/ipp-strings.c:1744 msgid "media-type.metal-high-gloss" msgstr "" #. TRANSLATORS: Metal Matte -#: locale/ipp-strings.c:1708 +#: locale/ipp-strings.c:1746 msgid "media-type.metal-matte" msgstr "" #. TRANSLATORS: Metal Satin -#: locale/ipp-strings.c:1710 +#: locale/ipp-strings.c:1748 msgid "media-type.metal-satin" msgstr "" #. TRANSLATORS: Metal Semi Gloss -#: locale/ipp-strings.c:1712 +#: locale/ipp-strings.c:1750 msgid "media-type.metal-semi-gloss" msgstr "" #. TRANSLATORS: Mounting Tape -#: locale/ipp-strings.c:1714 +#: locale/ipp-strings.c:1752 msgid "media-type.mounting-tape" msgstr "" #. TRANSLATORS: Multi Layer -#: locale/ipp-strings.c:1716 +#: locale/ipp-strings.c:1754 msgid "media-type.multi-layer" msgstr "" #. TRANSLATORS: Multi Part Form -#: locale/ipp-strings.c:1718 +#: locale/ipp-strings.c:1756 msgid "media-type.multi-part-form" msgstr "" #. TRANSLATORS: Other -#: locale/ipp-strings.c:1720 +#: locale/ipp-strings.c:1758 msgid "media-type.other" msgstr "" #. TRANSLATORS: Paper -#: locale/ipp-strings.c:1722 +#: locale/ipp-strings.c:1760 msgid "media-type.paper" msgstr "" #. TRANSLATORS: Photo Paper -#: locale/ipp-strings.c:1724 +#: locale/ipp-strings.c:1762 msgid "media-type.photographic" msgstr "" #. TRANSLATORS: Photographic Archival -#: locale/ipp-strings.c:1726 +#: locale/ipp-strings.c:1764 msgid "media-type.photographic-archival" msgstr "" #. TRANSLATORS: Photo Film -#: locale/ipp-strings.c:1728 +#: locale/ipp-strings.c:1766 msgid "media-type.photographic-film" msgstr "" #. TRANSLATORS: Glossy Photo Paper -#: locale/ipp-strings.c:1730 +#: locale/ipp-strings.c:1768 msgid "media-type.photographic-glossy" msgstr "" #. TRANSLATORS: High Gloss Photo Paper -#: locale/ipp-strings.c:1732 +#: locale/ipp-strings.c:1770 msgid "media-type.photographic-high-gloss" msgstr "" #. TRANSLATORS: Matte Photo Paper -#: locale/ipp-strings.c:1734 +#: locale/ipp-strings.c:1772 msgid "media-type.photographic-matte" msgstr "" #. TRANSLATORS: Satin Photo Paper -#: locale/ipp-strings.c:1736 +#: locale/ipp-strings.c:1774 msgid "media-type.photographic-satin" msgstr "" #. TRANSLATORS: Semi-Gloss Photo Paper -#: locale/ipp-strings.c:1738 +#: locale/ipp-strings.c:1776 msgid "media-type.photographic-semi-gloss" msgstr "" #. TRANSLATORS: Plastic -#: locale/ipp-strings.c:1740 +#: locale/ipp-strings.c:1778 msgid "media-type.plastic" msgstr "" #. TRANSLATORS: Plastic Archival -#: locale/ipp-strings.c:1742 +#: locale/ipp-strings.c:1780 msgid "media-type.plastic-archival" msgstr "" #. TRANSLATORS: Plastic Colored -#: locale/ipp-strings.c:1744 +#: locale/ipp-strings.c:1782 msgid "media-type.plastic-colored" msgstr "" #. TRANSLATORS: Plastic Glossy -#: locale/ipp-strings.c:1746 +#: locale/ipp-strings.c:1784 msgid "media-type.plastic-glossy" msgstr "" #. TRANSLATORS: Plastic High Gloss -#: locale/ipp-strings.c:1748 +#: locale/ipp-strings.c:1786 msgid "media-type.plastic-high-gloss" msgstr "" #. TRANSLATORS: Plastic Matte -#: locale/ipp-strings.c:1750 +#: locale/ipp-strings.c:1788 msgid "media-type.plastic-matte" msgstr "" #. TRANSLATORS: Plastic Satin -#: locale/ipp-strings.c:1752 +#: locale/ipp-strings.c:1790 msgid "media-type.plastic-satin" msgstr "" #. TRANSLATORS: Plastic Semi Gloss -#: locale/ipp-strings.c:1754 +#: locale/ipp-strings.c:1792 msgid "media-type.plastic-semi-gloss" msgstr "" #. TRANSLATORS: Plate -#: locale/ipp-strings.c:1756 +#: locale/ipp-strings.c:1794 msgid "media-type.plate" msgstr "" #. TRANSLATORS: Polyester -#: locale/ipp-strings.c:1758 +#: locale/ipp-strings.c:1796 msgid "media-type.polyester" msgstr "" #. TRANSLATORS: Pre Cut Tabs -#: locale/ipp-strings.c:1760 +#: locale/ipp-strings.c:1798 msgid "media-type.pre-cut-tabs" msgstr "" #. TRANSLATORS: Roll -#: locale/ipp-strings.c:1762 +#: locale/ipp-strings.c:1800 msgid "media-type.roll" msgstr "" #. TRANSLATORS: Screen -#: locale/ipp-strings.c:1764 +#: locale/ipp-strings.c:1802 msgid "media-type.screen" msgstr "" #. TRANSLATORS: Screen Paged -#: locale/ipp-strings.c:1766 +#: locale/ipp-strings.c:1804 msgid "media-type.screen-paged" msgstr "" #. TRANSLATORS: Self Adhesive -#: locale/ipp-strings.c:1768 +#: locale/ipp-strings.c:1806 msgid "media-type.self-adhesive" msgstr "" #. TRANSLATORS: Self Adhesive Film -#: locale/ipp-strings.c:1770 +#: locale/ipp-strings.c:1808 msgid "media-type.self-adhesive-film" msgstr "" #. TRANSLATORS: Shrink Foil -#: locale/ipp-strings.c:1772 +#: locale/ipp-strings.c:1810 msgid "media-type.shrink-foil" msgstr "" #. TRANSLATORS: Single Face -#: locale/ipp-strings.c:1774 +#: locale/ipp-strings.c:1812 msgid "media-type.single-face" msgstr "" #. TRANSLATORS: Single Wall -#: locale/ipp-strings.c:1776 +#: locale/ipp-strings.c:1814 msgid "media-type.single-wall" msgstr "" #. TRANSLATORS: Sleeve -#: locale/ipp-strings.c:1778 +#: locale/ipp-strings.c:1816 msgid "media-type.sleeve" msgstr "" #. TRANSLATORS: Stationery -#: locale/ipp-strings.c:1780 +#: locale/ipp-strings.c:1818 msgid "media-type.stationery" msgstr "" #. TRANSLATORS: Stationery Archival -#: locale/ipp-strings.c:1782 +#: locale/ipp-strings.c:1820 msgid "media-type.stationery-archival" msgstr "" #. TRANSLATORS: Coated Paper -#: locale/ipp-strings.c:1784 +#: locale/ipp-strings.c:1822 msgid "media-type.stationery-coated" msgstr "" #. TRANSLATORS: Stationery Cotton -#: locale/ipp-strings.c:1786 +#: locale/ipp-strings.c:1824 msgid "media-type.stationery-cotton" msgstr "" #. TRANSLATORS: Vellum Paper -#: locale/ipp-strings.c:1788 +#: locale/ipp-strings.c:1826 msgid "media-type.stationery-fine" msgstr "" #. TRANSLATORS: Heavyweight Paper -#: locale/ipp-strings.c:1790 +#: locale/ipp-strings.c:1828 msgid "media-type.stationery-heavyweight" msgstr "" #. TRANSLATORS: Stationery Heavyweight Coated -#: locale/ipp-strings.c:1792 +#: locale/ipp-strings.c:1830 msgid "media-type.stationery-heavyweight-coated" msgstr "" #. TRANSLATORS: Stationery Inkjet Paper -#: locale/ipp-strings.c:1794 +#: locale/ipp-strings.c:1832 msgid "media-type.stationery-inkjet" msgstr "" #. TRANSLATORS: Letterhead -#: locale/ipp-strings.c:1796 +#: locale/ipp-strings.c:1834 msgid "media-type.stationery-letterhead" msgstr "" #. TRANSLATORS: Lightweight Paper -#: locale/ipp-strings.c:1798 +#: locale/ipp-strings.c:1836 msgid "media-type.stationery-lightweight" msgstr "" #. TRANSLATORS: Preprinted Paper -#: locale/ipp-strings.c:1800 +#: locale/ipp-strings.c:1838 msgid "media-type.stationery-preprinted" msgstr "" #. TRANSLATORS: Punched Paper -#: locale/ipp-strings.c:1802 +#: locale/ipp-strings.c:1840 msgid "media-type.stationery-prepunched" msgstr "" #. TRANSLATORS: Tab Stock -#: locale/ipp-strings.c:1804 +#: locale/ipp-strings.c:1842 msgid "media-type.tab-stock" msgstr "" #. TRANSLATORS: Tractor -#: locale/ipp-strings.c:1806 +#: locale/ipp-strings.c:1844 msgid "media-type.tractor" msgstr "" #. TRANSLATORS: Transfer -#: locale/ipp-strings.c:1808 +#: locale/ipp-strings.c:1846 msgid "media-type.transfer" msgstr "" #. TRANSLATORS: Transparency -#: locale/ipp-strings.c:1810 +#: locale/ipp-strings.c:1848 msgid "media-type.transparency" msgstr "" #. TRANSLATORS: Triple Wall -#: locale/ipp-strings.c:1812 +#: locale/ipp-strings.c:1850 msgid "media-type.triple-wall" msgstr "" #. TRANSLATORS: Wet Film -#: locale/ipp-strings.c:1814 +#: locale/ipp-strings.c:1852 msgid "media-type.wet-film" msgstr "" #. TRANSLATORS: Media Weight (grams per m²) -#: locale/ipp-strings.c:1816 +#: locale/ipp-strings.c:1854 msgid "media-weight-metric" msgstr "" #. TRANSLATORS: 28 x 40″ -#: locale/ipp-strings.c:1818 +#: locale/ipp-strings.c:1856 msgid "media.asme_f_28x40in" msgstr "" #. TRANSLATORS: A4 or US Letter -#: locale/ipp-strings.c:1820 +#: locale/ipp-strings.c:1858 msgid "media.choice_iso_a4_210x297mm_na_letter_8.5x11in" msgstr "" #. TRANSLATORS: 2a0 -#: locale/ipp-strings.c:1822 +#: locale/ipp-strings.c:1860 msgid "media.iso_2a0_1189x1682mm" msgstr "" #. TRANSLATORS: A0 -#: locale/ipp-strings.c:1824 +#: locale/ipp-strings.c:1862 msgid "media.iso_a0_841x1189mm" msgstr "" #. TRANSLATORS: A0x3 -#: locale/ipp-strings.c:1826 +#: locale/ipp-strings.c:1864 msgid "media.iso_a0x3_1189x2523mm" msgstr "" #. TRANSLATORS: A10 -#: locale/ipp-strings.c:1828 +#: locale/ipp-strings.c:1866 msgid "media.iso_a10_26x37mm" msgstr "" #. TRANSLATORS: A1 -#: locale/ipp-strings.c:1830 +#: locale/ipp-strings.c:1868 msgid "media.iso_a1_594x841mm" msgstr "" #. TRANSLATORS: A1x3 -#: locale/ipp-strings.c:1832 +#: locale/ipp-strings.c:1870 msgid "media.iso_a1x3_841x1783mm" msgstr "" #. TRANSLATORS: A1x4 -#: locale/ipp-strings.c:1834 +#: locale/ipp-strings.c:1872 msgid "media.iso_a1x4_841x2378mm" msgstr "" #. TRANSLATORS: A2 -#: locale/ipp-strings.c:1836 +#: locale/ipp-strings.c:1874 msgid "media.iso_a2_420x594mm" msgstr "" #. TRANSLATORS: A2x3 -#: locale/ipp-strings.c:1838 +#: locale/ipp-strings.c:1876 msgid "media.iso_a2x3_594x1261mm" msgstr "" #. TRANSLATORS: A2x4 -#: locale/ipp-strings.c:1840 +#: locale/ipp-strings.c:1878 msgid "media.iso_a2x4_594x1682mm" msgstr "" #. TRANSLATORS: A2x5 -#: locale/ipp-strings.c:1842 +#: locale/ipp-strings.c:1880 msgid "media.iso_a2x5_594x2102mm" msgstr "" #. TRANSLATORS: A3 (Extra) -#: locale/ipp-strings.c:1844 +#: locale/ipp-strings.c:1882 msgid "media.iso_a3-extra_322x445mm" msgstr "" #. TRANSLATORS: A3 -#: locale/ipp-strings.c:1846 +#: locale/ipp-strings.c:1884 msgid "media.iso_a3_297x420mm" msgstr "" #. TRANSLATORS: A3x3 -#: locale/ipp-strings.c:1848 +#: locale/ipp-strings.c:1886 msgid "media.iso_a3x3_420x891mm" msgstr "" #. TRANSLATORS: A3x4 -#: locale/ipp-strings.c:1850 +#: locale/ipp-strings.c:1888 msgid "media.iso_a3x4_420x1189mm" msgstr "" #. TRANSLATORS: A3x5 -#: locale/ipp-strings.c:1852 +#: locale/ipp-strings.c:1890 msgid "media.iso_a3x5_420x1486mm" msgstr "" #. TRANSLATORS: A3x6 -#: locale/ipp-strings.c:1854 +#: locale/ipp-strings.c:1892 msgid "media.iso_a3x6_420x1783mm" msgstr "" #. TRANSLATORS: A3x7 -#: locale/ipp-strings.c:1856 +#: locale/ipp-strings.c:1894 msgid "media.iso_a3x7_420x2080mm" msgstr "" #. TRANSLATORS: A4 (Extra) -#: locale/ipp-strings.c:1858 +#: locale/ipp-strings.c:1896 msgid "media.iso_a4-extra_235.5x322.3mm" msgstr "" #. TRANSLATORS: A4 (Tab) -#: locale/ipp-strings.c:1860 +#: locale/ipp-strings.c:1898 msgid "media.iso_a4-tab_225x297mm" msgstr "" #. TRANSLATORS: A4 -#: locale/ipp-strings.c:1862 +#: locale/ipp-strings.c:1900 msgid "media.iso_a4_210x297mm" msgstr "" #. TRANSLATORS: A4x3 -#: locale/ipp-strings.c:1864 +#: locale/ipp-strings.c:1902 msgid "media.iso_a4x3_297x630mm" msgstr "" #. TRANSLATORS: A4x4 -#: locale/ipp-strings.c:1866 +#: locale/ipp-strings.c:1904 msgid "media.iso_a4x4_297x841mm" msgstr "" #. TRANSLATORS: A4x5 -#: locale/ipp-strings.c:1868 +#: locale/ipp-strings.c:1906 msgid "media.iso_a4x5_297x1051mm" msgstr "" #. TRANSLATORS: A4x6 -#: locale/ipp-strings.c:1870 +#: locale/ipp-strings.c:1908 msgid "media.iso_a4x6_297x1261mm" msgstr "" #. TRANSLATORS: A4x7 -#: locale/ipp-strings.c:1872 +#: locale/ipp-strings.c:1910 msgid "media.iso_a4x7_297x1471mm" msgstr "" #. TRANSLATORS: A4x8 -#: locale/ipp-strings.c:1874 +#: locale/ipp-strings.c:1912 msgid "media.iso_a4x8_297x1682mm" msgstr "" #. TRANSLATORS: A4x9 -#: locale/ipp-strings.c:1876 +#: locale/ipp-strings.c:1914 msgid "media.iso_a4x9_297x1892mm" msgstr "" #. TRANSLATORS: A5 (Extra) -#: locale/ipp-strings.c:1878 +#: locale/ipp-strings.c:1916 msgid "media.iso_a5-extra_174x235mm" msgstr "" #. TRANSLATORS: A5 -#: locale/ipp-strings.c:1880 +#: locale/ipp-strings.c:1918 msgid "media.iso_a5_148x210mm" msgstr "" #. TRANSLATORS: A6 -#: locale/ipp-strings.c:1882 +#: locale/ipp-strings.c:1920 msgid "media.iso_a6_105x148mm" msgstr "" #. TRANSLATORS: A7 -#: locale/ipp-strings.c:1884 +#: locale/ipp-strings.c:1922 msgid "media.iso_a7_74x105mm" msgstr "" #. TRANSLATORS: A8 -#: locale/ipp-strings.c:1886 +#: locale/ipp-strings.c:1924 msgid "media.iso_a8_52x74mm" msgstr "" #. TRANSLATORS: A9 -#: locale/ipp-strings.c:1888 +#: locale/ipp-strings.c:1926 msgid "media.iso_a9_37x52mm" msgstr "" #. TRANSLATORS: B0 -#: locale/ipp-strings.c:1890 +#: locale/ipp-strings.c:1928 msgid "media.iso_b0_1000x1414mm" msgstr "" #. TRANSLATORS: B10 -#: locale/ipp-strings.c:1892 +#: locale/ipp-strings.c:1930 msgid "media.iso_b10_31x44mm" msgstr "" #. TRANSLATORS: B1 -#: locale/ipp-strings.c:1894 +#: locale/ipp-strings.c:1932 msgid "media.iso_b1_707x1000mm" msgstr "" #. TRANSLATORS: B2 -#: locale/ipp-strings.c:1896 +#: locale/ipp-strings.c:1934 msgid "media.iso_b2_500x707mm" msgstr "" #. TRANSLATORS: B3 -#: locale/ipp-strings.c:1898 +#: locale/ipp-strings.c:1936 msgid "media.iso_b3_353x500mm" msgstr "" #. TRANSLATORS: B4 -#: locale/ipp-strings.c:1900 +#: locale/ipp-strings.c:1938 msgid "media.iso_b4_250x353mm" msgstr "" #. TRANSLATORS: B5 (Extra) -#: locale/ipp-strings.c:1902 +#: locale/ipp-strings.c:1940 msgid "media.iso_b5-extra_201x276mm" msgstr "" #. TRANSLATORS: Envelope B5 -#: locale/ipp-strings.c:1904 +#: locale/ipp-strings.c:1942 msgid "media.iso_b5_176x250mm" msgstr "" #. TRANSLATORS: B6 -#: locale/ipp-strings.c:1906 +#: locale/ipp-strings.c:1944 msgid "media.iso_b6_125x176mm" msgstr "" #. TRANSLATORS: Envelope B6/C4 -#: locale/ipp-strings.c:1908 +#: locale/ipp-strings.c:1946 msgid "media.iso_b6c4_125x324mm" msgstr "" #. TRANSLATORS: B7 -#: locale/ipp-strings.c:1910 +#: locale/ipp-strings.c:1948 msgid "media.iso_b7_88x125mm" msgstr "" #. TRANSLATORS: B8 -#: locale/ipp-strings.c:1912 +#: locale/ipp-strings.c:1950 msgid "media.iso_b8_62x88mm" msgstr "" #. TRANSLATORS: B9 -#: locale/ipp-strings.c:1914 +#: locale/ipp-strings.c:1952 msgid "media.iso_b9_44x62mm" msgstr "" #. TRANSLATORS: CEnvelope 0 -#: locale/ipp-strings.c:1916 +#: locale/ipp-strings.c:1954 msgid "media.iso_c0_917x1297mm" msgstr "" #. TRANSLATORS: CEnvelope 10 -#: locale/ipp-strings.c:1918 +#: locale/ipp-strings.c:1956 msgid "media.iso_c10_28x40mm" msgstr "" #. TRANSLATORS: CEnvelope 1 -#: locale/ipp-strings.c:1920 +#: locale/ipp-strings.c:1958 msgid "media.iso_c1_648x917mm" msgstr "" #. TRANSLATORS: CEnvelope 2 -#: locale/ipp-strings.c:1922 +#: locale/ipp-strings.c:1960 msgid "media.iso_c2_458x648mm" msgstr "" #. TRANSLATORS: CEnvelope 3 -#: locale/ipp-strings.c:1924 +#: locale/ipp-strings.c:1962 msgid "media.iso_c3_324x458mm" msgstr "" #. TRANSLATORS: CEnvelope 4 -#: locale/ipp-strings.c:1926 +#: locale/ipp-strings.c:1964 msgid "media.iso_c4_229x324mm" msgstr "" #. TRANSLATORS: CEnvelope 5 -#: locale/ipp-strings.c:1928 +#: locale/ipp-strings.c:1966 msgid "media.iso_c5_162x229mm" msgstr "" #. TRANSLATORS: CEnvelope 6 -#: locale/ipp-strings.c:1930 +#: locale/ipp-strings.c:1968 msgid "media.iso_c6_114x162mm" msgstr "" #. TRANSLATORS: CEnvelope 6c5 -#: locale/ipp-strings.c:1932 +#: locale/ipp-strings.c:1970 msgid "media.iso_c6c5_114x229mm" msgstr "" #. TRANSLATORS: CEnvelope 7 -#: locale/ipp-strings.c:1934 +#: locale/ipp-strings.c:1972 msgid "media.iso_c7_81x114mm" msgstr "" #. TRANSLATORS: CEnvelope 7c6 -#: locale/ipp-strings.c:1936 +#: locale/ipp-strings.c:1974 msgid "media.iso_c7c6_81x162mm" msgstr "" #. TRANSLATORS: CEnvelope 8 -#: locale/ipp-strings.c:1938 +#: locale/ipp-strings.c:1976 msgid "media.iso_c8_57x81mm" msgstr "" #. TRANSLATORS: CEnvelope 9 -#: locale/ipp-strings.c:1940 +#: locale/ipp-strings.c:1978 msgid "media.iso_c9_40x57mm" msgstr "" #. TRANSLATORS: Envelope DL -#: locale/ipp-strings.c:1942 +#: locale/ipp-strings.c:1980 msgid "media.iso_dl_110x220mm" msgstr "" #. TRANSLATORS: Id-1 -#: locale/ipp-strings.c:1944 +#: locale/ipp-strings.c:1982 msgid "media.iso_id-1_53.98x85.6mm" msgstr "" #. TRANSLATORS: Id-3 -#: locale/ipp-strings.c:1946 +#: locale/ipp-strings.c:1984 msgid "media.iso_id-3_88x125mm" msgstr "" #. TRANSLATORS: ISO RA0 -#: locale/ipp-strings.c:1948 +#: locale/ipp-strings.c:1986 msgid "media.iso_ra0_860x1220mm" msgstr "" #. TRANSLATORS: ISO RA1 -#: locale/ipp-strings.c:1950 +#: locale/ipp-strings.c:1988 msgid "media.iso_ra1_610x860mm" msgstr "" #. TRANSLATORS: ISO RA2 -#: locale/ipp-strings.c:1952 +#: locale/ipp-strings.c:1990 msgid "media.iso_ra2_430x610mm" msgstr "" #. TRANSLATORS: ISO RA3 -#: locale/ipp-strings.c:1954 +#: locale/ipp-strings.c:1992 msgid "media.iso_ra3_305x430mm" msgstr "" #. TRANSLATORS: ISO RA4 -#: locale/ipp-strings.c:1956 +#: locale/ipp-strings.c:1994 msgid "media.iso_ra4_215x305mm" msgstr "" #. TRANSLATORS: ISO SRA0 -#: locale/ipp-strings.c:1958 +#: locale/ipp-strings.c:1996 msgid "media.iso_sra0_900x1280mm" msgstr "" #. TRANSLATORS: ISO SRA1 -#: locale/ipp-strings.c:1960 +#: locale/ipp-strings.c:1998 msgid "media.iso_sra1_640x900mm" msgstr "" #. TRANSLATORS: ISO SRA2 -#: locale/ipp-strings.c:1962 +#: locale/ipp-strings.c:2000 msgid "media.iso_sra2_450x640mm" msgstr "" #. TRANSLATORS: ISO SRA3 -#: locale/ipp-strings.c:1964 +#: locale/ipp-strings.c:2002 msgid "media.iso_sra3_320x450mm" msgstr "" #. TRANSLATORS: ISO SRA4 -#: locale/ipp-strings.c:1966 +#: locale/ipp-strings.c:2004 msgid "media.iso_sra4_225x320mm" msgstr "" #. TRANSLATORS: JIS B0 -#: locale/ipp-strings.c:1968 +#: locale/ipp-strings.c:2006 msgid "media.jis_b0_1030x1456mm" msgstr "" #. TRANSLATORS: JIS B10 -#: locale/ipp-strings.c:1970 +#: locale/ipp-strings.c:2008 msgid "media.jis_b10_32x45mm" msgstr "" #. TRANSLATORS: JIS B1 -#: locale/ipp-strings.c:1972 +#: locale/ipp-strings.c:2010 msgid "media.jis_b1_728x1030mm" msgstr "" #. TRANSLATORS: JIS B2 -#: locale/ipp-strings.c:1974 +#: locale/ipp-strings.c:2012 msgid "media.jis_b2_515x728mm" msgstr "" #. TRANSLATORS: JIS B3 -#: locale/ipp-strings.c:1976 +#: locale/ipp-strings.c:2014 msgid "media.jis_b3_364x515mm" msgstr "" #. TRANSLATORS: JIS B4 -#: locale/ipp-strings.c:1978 +#: locale/ipp-strings.c:2016 msgid "media.jis_b4_257x364mm" msgstr "" #. TRANSLATORS: JIS B5 -#: locale/ipp-strings.c:1980 +#: locale/ipp-strings.c:2018 msgid "media.jis_b5_182x257mm" msgstr "" #. TRANSLATORS: JIS B6 -#: locale/ipp-strings.c:1982 +#: locale/ipp-strings.c:2020 msgid "media.jis_b6_128x182mm" msgstr "" #. TRANSLATORS: JIS B7 -#: locale/ipp-strings.c:1984 +#: locale/ipp-strings.c:2022 msgid "media.jis_b7_91x128mm" msgstr "" #. TRANSLATORS: JIS B8 -#: locale/ipp-strings.c:1986 +#: locale/ipp-strings.c:2024 msgid "media.jis_b8_64x91mm" msgstr "" #. TRANSLATORS: JIS B9 -#: locale/ipp-strings.c:1988 +#: locale/ipp-strings.c:2026 msgid "media.jis_b9_45x64mm" msgstr "" #. TRANSLATORS: JIS Executive -#: locale/ipp-strings.c:1990 +#: locale/ipp-strings.c:2028 msgid "media.jis_exec_216x330mm" msgstr "" #. TRANSLATORS: Envelope Chou 2 -#: locale/ipp-strings.c:1992 +#: locale/ipp-strings.c:2030 msgid "media.jpn_chou2_111.1x146mm" msgstr "" #. TRANSLATORS: Envelope Chou 3 -#: locale/ipp-strings.c:1994 +#: locale/ipp-strings.c:2032 msgid "media.jpn_chou3_120x235mm" msgstr "" #. TRANSLATORS: Envelope Chou 40 -#: locale/ipp-strings.c:1996 +#: locale/ipp-strings.c:2034 msgid "media.jpn_chou40_90x225mm" msgstr "" #. TRANSLATORS: Envelope Chou 4 -#: locale/ipp-strings.c:1998 +#: locale/ipp-strings.c:2036 msgid "media.jpn_chou4_90x205mm" msgstr "" #. TRANSLATORS: Hagaki -#: locale/ipp-strings.c:2000 +#: locale/ipp-strings.c:2038 msgid "media.jpn_hagaki_100x148mm" msgstr "" #. TRANSLATORS: Envelope Kahu -#: locale/ipp-strings.c:2002 +#: locale/ipp-strings.c:2040 msgid "media.jpn_kahu_240x322.1mm" msgstr "" #. TRANSLATORS: 270 x 382mm -#: locale/ipp-strings.c:2004 +#: locale/ipp-strings.c:2042 msgid "media.jpn_kaku1_270x382mm" msgstr "" #. TRANSLATORS: Envelope Kahu 2 -#: locale/ipp-strings.c:2006 +#: locale/ipp-strings.c:2044 msgid "media.jpn_kaku2_240x332mm" msgstr "" #. TRANSLATORS: 216 x 277mm -#: locale/ipp-strings.c:2008 +#: locale/ipp-strings.c:2046 msgid "media.jpn_kaku3_216x277mm" msgstr "" #. TRANSLATORS: 197 x 267mm -#: locale/ipp-strings.c:2010 +#: locale/ipp-strings.c:2048 msgid "media.jpn_kaku4_197x267mm" msgstr "" #. TRANSLATORS: 190 x 240mm -#: locale/ipp-strings.c:2012 +#: locale/ipp-strings.c:2050 msgid "media.jpn_kaku5_190x240mm" msgstr "" #. TRANSLATORS: 142 x 205mm -#: locale/ipp-strings.c:2014 +#: locale/ipp-strings.c:2052 msgid "media.jpn_kaku7_142x205mm" msgstr "" #. TRANSLATORS: 119 x 197mm -#: locale/ipp-strings.c:2016 +#: locale/ipp-strings.c:2054 msgid "media.jpn_kaku8_119x197mm" msgstr "" #. TRANSLATORS: Oufuku Reply Postcard -#: locale/ipp-strings.c:2018 +#: locale/ipp-strings.c:2056 msgid "media.jpn_oufuku_148x200mm" msgstr "" #. TRANSLATORS: Envelope You 4 -#: locale/ipp-strings.c:2020 +#: locale/ipp-strings.c:2058 msgid "media.jpn_you4_105x235mm" msgstr "" #. TRANSLATORS: 10 x 11″ -#: locale/ipp-strings.c:2022 +#: locale/ipp-strings.c:2060 msgid "media.na_10x11_10x11in" msgstr "" #. TRANSLATORS: 10 x 13″ -#: locale/ipp-strings.c:2024 +#: locale/ipp-strings.c:2062 msgid "media.na_10x13_10x13in" msgstr "" #. TRANSLATORS: 10 x 14″ -#: locale/ipp-strings.c:2026 +#: locale/ipp-strings.c:2064 msgid "media.na_10x14_10x14in" msgstr "" #. TRANSLATORS: 10 x 15″ -#: locale/ipp-strings.c:2028 +#: locale/ipp-strings.c:2066 msgid "media.na_10x15_10x15in" msgstr "" #. TRANSLATORS: 11 x 12″ -#: locale/ipp-strings.c:2030 +#: locale/ipp-strings.c:2068 msgid "media.na_11x12_11x12in" msgstr "" #. TRANSLATORS: 11 x 15″ -#: locale/ipp-strings.c:2032 +#: locale/ipp-strings.c:2070 msgid "media.na_11x15_11x15in" msgstr "" #. TRANSLATORS: 12 x 19″ -#: locale/ipp-strings.c:2034 +#: locale/ipp-strings.c:2072 msgid "media.na_12x19_12x19in" msgstr "" #. TRANSLATORS: 5 x 7″ -#: locale/ipp-strings.c:2036 +#: locale/ipp-strings.c:2074 msgid "media.na_5x7_5x7in" msgstr "" #. TRANSLATORS: 6 x 9″ -#: locale/ipp-strings.c:2038 +#: locale/ipp-strings.c:2076 msgid "media.na_6x9_6x9in" msgstr "" #. TRANSLATORS: 7 x 9″ -#: locale/ipp-strings.c:2040 +#: locale/ipp-strings.c:2078 msgid "media.na_7x9_7x9in" msgstr "" #. TRANSLATORS: 9 x 11″ -#: locale/ipp-strings.c:2042 +#: locale/ipp-strings.c:2080 msgid "media.na_9x11_9x11in" msgstr "" #. TRANSLATORS: Envelope A2 -#: locale/ipp-strings.c:2044 +#: locale/ipp-strings.c:2082 msgid "media.na_a2_4.375x5.75in" msgstr "" #. TRANSLATORS: 9 x 12″ -#: locale/ipp-strings.c:2046 +#: locale/ipp-strings.c:2084 msgid "media.na_arch-a_9x12in" msgstr "" #. TRANSLATORS: 12 x 18″ -#: locale/ipp-strings.c:2048 +#: locale/ipp-strings.c:2086 msgid "media.na_arch-b_12x18in" msgstr "" #. TRANSLATORS: 18 x 24″ -#: locale/ipp-strings.c:2050 +#: locale/ipp-strings.c:2088 msgid "media.na_arch-c_18x24in" msgstr "" #. TRANSLATORS: 24 x 36″ -#: locale/ipp-strings.c:2052 +#: locale/ipp-strings.c:2090 msgid "media.na_arch-d_24x36in" msgstr "" #. TRANSLATORS: 26 x 38″ -#: locale/ipp-strings.c:2054 +#: locale/ipp-strings.c:2092 msgid "media.na_arch-e2_26x38in" msgstr "" #. TRANSLATORS: 27 x 39″ -#: locale/ipp-strings.c:2056 +#: locale/ipp-strings.c:2094 msgid "media.na_arch-e3_27x39in" msgstr "" #. TRANSLATORS: 36 x 48″ -#: locale/ipp-strings.c:2058 +#: locale/ipp-strings.c:2096 msgid "media.na_arch-e_36x48in" msgstr "" #. TRANSLATORS: 12 x 19.17″ -#: locale/ipp-strings.c:2060 +#: locale/ipp-strings.c:2098 msgid "media.na_b-plus_12x19.17in" msgstr "" #. TRANSLATORS: Envelope C5 -#: locale/ipp-strings.c:2062 +#: locale/ipp-strings.c:2100 msgid "media.na_c5_6.5x9.5in" msgstr "" #. TRANSLATORS: 17 x 22″ -#: locale/ipp-strings.c:2064 +#: locale/ipp-strings.c:2102 msgid "media.na_c_17x22in" msgstr "" #. TRANSLATORS: 22 x 34″ -#: locale/ipp-strings.c:2066 +#: locale/ipp-strings.c:2104 msgid "media.na_d_22x34in" msgstr "" #. TRANSLATORS: 34 x 44″ -#: locale/ipp-strings.c:2068 +#: locale/ipp-strings.c:2106 msgid "media.na_e_34x44in" msgstr "" #. TRANSLATORS: 11 x 14″ -#: locale/ipp-strings.c:2070 +#: locale/ipp-strings.c:2108 msgid "media.na_edp_11x14in" msgstr "" #. TRANSLATORS: 12 x 14″ -#: locale/ipp-strings.c:2072 +#: locale/ipp-strings.c:2110 msgid "media.na_eur-edp_12x14in" msgstr "" #. TRANSLATORS: Executive -#: locale/ipp-strings.c:2074 +#: locale/ipp-strings.c:2112 msgid "media.na_executive_7.25x10.5in" msgstr "" #. TRANSLATORS: 44 x 68″ -#: locale/ipp-strings.c:2076 +#: locale/ipp-strings.c:2114 msgid "media.na_f_44x68in" msgstr "" #. TRANSLATORS: European Fanfold -#: locale/ipp-strings.c:2078 +#: locale/ipp-strings.c:2116 msgid "media.na_fanfold-eur_8.5x12in" msgstr "" #. TRANSLATORS: US Fanfold -#: locale/ipp-strings.c:2080 +#: locale/ipp-strings.c:2118 msgid "media.na_fanfold-us_11x14.875in" msgstr "" #. TRANSLATORS: Foolscap -#: locale/ipp-strings.c:2082 +#: locale/ipp-strings.c:2120 msgid "media.na_foolscap_8.5x13in" msgstr "" #. TRANSLATORS: 8 x 13″ -#: locale/ipp-strings.c:2084 +#: locale/ipp-strings.c:2122 msgid "media.na_govt-legal_8x13in" msgstr "" #. TRANSLATORS: 8 x 10″ -#: locale/ipp-strings.c:2086 +#: locale/ipp-strings.c:2124 msgid "media.na_govt-letter_8x10in" msgstr "" #. TRANSLATORS: 3 x 5″ -#: locale/ipp-strings.c:2088 +#: locale/ipp-strings.c:2126 msgid "media.na_index-3x5_3x5in" msgstr "" #. TRANSLATORS: 6 x 8″ -#: locale/ipp-strings.c:2090 +#: locale/ipp-strings.c:2128 msgid "media.na_index-4x6-ext_6x8in" msgstr "" #. TRANSLATORS: 4 x 6″ -#: locale/ipp-strings.c:2092 +#: locale/ipp-strings.c:2130 msgid "media.na_index-4x6_4x6in" msgstr "" #. TRANSLATORS: 5 x 8″ -#: locale/ipp-strings.c:2094 +#: locale/ipp-strings.c:2132 msgid "media.na_index-5x8_5x8in" msgstr "" #. TRANSLATORS: Statement -#: locale/ipp-strings.c:2096 +#: locale/ipp-strings.c:2134 msgid "media.na_invoice_5.5x8.5in" msgstr "" #. TRANSLATORS: 11 x 17″ -#: locale/ipp-strings.c:2098 +#: locale/ipp-strings.c:2136 msgid "media.na_ledger_11x17in" msgstr "" #. TRANSLATORS: US Legal (Extra) -#: locale/ipp-strings.c:2100 +#: locale/ipp-strings.c:2138 msgid "media.na_legal-extra_9.5x15in" msgstr "" #. TRANSLATORS: US Legal -#: locale/ipp-strings.c:2102 +#: locale/ipp-strings.c:2140 msgid "media.na_legal_8.5x14in" msgstr "" #. TRANSLATORS: US Letter (Extra) -#: locale/ipp-strings.c:2104 +#: locale/ipp-strings.c:2142 msgid "media.na_letter-extra_9.5x12in" msgstr "" #. TRANSLATORS: US Letter (Plus) -#: locale/ipp-strings.c:2106 +#: locale/ipp-strings.c:2144 msgid "media.na_letter-plus_8.5x12.69in" msgstr "" #. TRANSLATORS: US Letter -#: locale/ipp-strings.c:2108 +#: locale/ipp-strings.c:2146 msgid "media.na_letter_8.5x11in" msgstr "" #. TRANSLATORS: Envelope Monarch -#: locale/ipp-strings.c:2110 +#: locale/ipp-strings.c:2148 msgid "media.na_monarch_3.875x7.5in" msgstr "" #. TRANSLATORS: Envelope #10 -#: locale/ipp-strings.c:2112 +#: locale/ipp-strings.c:2150 msgid "media.na_number-10_4.125x9.5in" msgstr "" #. TRANSLATORS: Envelope #11 -#: locale/ipp-strings.c:2114 +#: locale/ipp-strings.c:2152 msgid "media.na_number-11_4.5x10.375in" msgstr "" #. TRANSLATORS: Envelope #12 -#: locale/ipp-strings.c:2116 +#: locale/ipp-strings.c:2154 msgid "media.na_number-12_4.75x11in" msgstr "" #. TRANSLATORS: Envelope #14 -#: locale/ipp-strings.c:2118 +#: locale/ipp-strings.c:2156 msgid "media.na_number-14_5x11.5in" msgstr "" #. TRANSLATORS: Envelope #9 -#: locale/ipp-strings.c:2120 +#: locale/ipp-strings.c:2158 msgid "media.na_number-9_3.875x8.875in" msgstr "" #. TRANSLATORS: 8.5 x 13.4″ -#: locale/ipp-strings.c:2122 +#: locale/ipp-strings.c:2160 msgid "media.na_oficio_8.5x13.4in" msgstr "" #. TRANSLATORS: Envelope Personal -#: locale/ipp-strings.c:2124 +#: locale/ipp-strings.c:2162 msgid "media.na_personal_3.625x6.5in" msgstr "" #. TRANSLATORS: Quarto -#: locale/ipp-strings.c:2126 +#: locale/ipp-strings.c:2164 msgid "media.na_quarto_8.5x10.83in" msgstr "" #. TRANSLATORS: 8.94 x 14″ -#: locale/ipp-strings.c:2128 +#: locale/ipp-strings.c:2166 msgid "media.na_super-a_8.94x14in" msgstr "" #. TRANSLATORS: 13 x 19″ -#: locale/ipp-strings.c:2130 +#: locale/ipp-strings.c:2168 msgid "media.na_super-b_13x19in" msgstr "" #. TRANSLATORS: 30 x 42″ -#: locale/ipp-strings.c:2132 +#: locale/ipp-strings.c:2170 msgid "media.na_wide-format_30x42in" msgstr "" #. TRANSLATORS: 12 x 16″ -#: locale/ipp-strings.c:2134 +#: locale/ipp-strings.c:2172 msgid "media.oe_12x16_12x16in" msgstr "" #. TRANSLATORS: 14 x 17″ -#: locale/ipp-strings.c:2136 +#: locale/ipp-strings.c:2174 msgid "media.oe_14x17_14x17in" msgstr "" #. TRANSLATORS: 18 x 22″ -#: locale/ipp-strings.c:2138 +#: locale/ipp-strings.c:2176 msgid "media.oe_18x22_18x22in" msgstr "" #. TRANSLATORS: 17 x 24″ -#: locale/ipp-strings.c:2140 +#: locale/ipp-strings.c:2178 msgid "media.oe_a2plus_17x24in" msgstr "" #. TRANSLATORS: 2 x 3.5″ -#: locale/ipp-strings.c:2142 +#: locale/ipp-strings.c:2180 msgid "media.oe_business-card_2x3.5in" msgstr "" #. TRANSLATORS: 10 x 12″ -#: locale/ipp-strings.c:2144 +#: locale/ipp-strings.c:2182 msgid "media.oe_photo-10r_10x12in" msgstr "" #. TRANSLATORS: 20 x 24″ -#: locale/ipp-strings.c:2146 +#: locale/ipp-strings.c:2184 msgid "media.oe_photo-20r_20x24in" msgstr "" #. TRANSLATORS: 3.5 x 5″ -#: locale/ipp-strings.c:2148 +#: locale/ipp-strings.c:2186 msgid "media.oe_photo-l_3.5x5in" msgstr "" #. TRANSLATORS: 10 x 15″ -#: locale/ipp-strings.c:2150 +#: locale/ipp-strings.c:2188 msgid "media.oe_photo-s10r_10x15in" msgstr "" #. TRANSLATORS: 4 x 4″ -#: locale/ipp-strings.c:2152 +#: locale/ipp-strings.c:2190 msgid "media.oe_square-photo_4x4in" msgstr "" #. TRANSLATORS: 5 x 5″ -#: locale/ipp-strings.c:2154 +#: locale/ipp-strings.c:2192 msgid "media.oe_square-photo_5x5in" msgstr "" #. TRANSLATORS: 184 x 260mm -#: locale/ipp-strings.c:2156 +#: locale/ipp-strings.c:2194 msgid "media.om_16k_184x260mm" msgstr "" #. TRANSLATORS: 195 x 270mm -#: locale/ipp-strings.c:2158 +#: locale/ipp-strings.c:2196 msgid "media.om_16k_195x270mm" msgstr "" #. TRANSLATORS: 55 x 85mm -#: locale/ipp-strings.c:2160 +#: locale/ipp-strings.c:2198 msgid "media.om_business-card_55x85mm" msgstr "" #. TRANSLATORS: 55 x 91mm -#: locale/ipp-strings.c:2162 +#: locale/ipp-strings.c:2200 msgid "media.om_business-card_55x91mm" msgstr "" #. TRANSLATORS: 54 x 86mm -#: locale/ipp-strings.c:2164 +#: locale/ipp-strings.c:2202 msgid "media.om_card_54x86mm" msgstr "" #. TRANSLATORS: 275 x 395mm -#: locale/ipp-strings.c:2166 +#: locale/ipp-strings.c:2204 msgid "media.om_dai-pa-kai_275x395mm" msgstr "" #. TRANSLATORS: 89 x 119mm -#: locale/ipp-strings.c:2168 +#: locale/ipp-strings.c:2206 msgid "media.om_dsc-photo_89x119mm" msgstr "" #. TRANSLATORS: Folio -#: locale/ipp-strings.c:2170 +#: locale/ipp-strings.c:2208 msgid "media.om_folio-sp_215x315mm" msgstr "" #. TRANSLATORS: Folio (Special) -#: locale/ipp-strings.c:2172 +#: locale/ipp-strings.c:2210 msgid "media.om_folio_210x330mm" msgstr "" #. TRANSLATORS: Envelope Invitation -#: locale/ipp-strings.c:2174 +#: locale/ipp-strings.c:2212 msgid "media.om_invite_220x220mm" msgstr "" #. TRANSLATORS: Envelope Italian -#: locale/ipp-strings.c:2176 +#: locale/ipp-strings.c:2214 msgid "media.om_italian_110x230mm" msgstr "" #. TRANSLATORS: 198 x 275mm -#: locale/ipp-strings.c:2178 +#: locale/ipp-strings.c:2216 msgid "media.om_juuro-ku-kai_198x275mm" msgstr "" #. TRANSLATORS: 200 x 300 -#: locale/ipp-strings.c:2180 +#: locale/ipp-strings.c:2218 msgid "media.om_large-photo_200x300" msgstr "" #. TRANSLATORS: 130 x 180mm -#: locale/ipp-strings.c:2182 +#: locale/ipp-strings.c:2220 msgid "media.om_medium-photo_130x180mm" msgstr "" #. TRANSLATORS: 267 x 389mm -#: locale/ipp-strings.c:2184 +#: locale/ipp-strings.c:2222 msgid "media.om_pa-kai_267x389mm" msgstr "" #. TRANSLATORS: Envelope Postfix -#: locale/ipp-strings.c:2186 +#: locale/ipp-strings.c:2224 msgid "media.om_postfix_114x229mm" msgstr "" #. TRANSLATORS: 100 x 150mm -#: locale/ipp-strings.c:2188 +#: locale/ipp-strings.c:2226 msgid "media.om_small-photo_100x150mm" msgstr "" #. TRANSLATORS: 89 x 89mm -#: locale/ipp-strings.c:2190 +#: locale/ipp-strings.c:2228 msgid "media.om_square-photo_89x89mm" msgstr "" #. TRANSLATORS: 100 x 200mm -#: locale/ipp-strings.c:2192 +#: locale/ipp-strings.c:2230 msgid "media.om_wide-photo_100x200mm" msgstr "" #. TRANSLATORS: Envelope Chinese #10 -#: locale/ipp-strings.c:2194 +#: locale/ipp-strings.c:2232 msgid "media.prc_10_324x458mm" msgstr "" #. TRANSLATORS: Chinese 16k -#: locale/ipp-strings.c:2196 +#: locale/ipp-strings.c:2234 msgid "media.prc_16k_146x215mm" msgstr "" #. TRANSLATORS: Envelope Chinese #1 -#: locale/ipp-strings.c:2198 +#: locale/ipp-strings.c:2236 msgid "media.prc_1_102x165mm" msgstr "" #. TRANSLATORS: Envelope Chinese #2 -#: locale/ipp-strings.c:2200 +#: locale/ipp-strings.c:2238 msgid "media.prc_2_102x176mm" msgstr "" #. TRANSLATORS: Chinese 32k -#: locale/ipp-strings.c:2202 +#: locale/ipp-strings.c:2240 msgid "media.prc_32k_97x151mm" msgstr "" #. TRANSLATORS: Envelope Chinese #3 -#: locale/ipp-strings.c:2204 +#: locale/ipp-strings.c:2242 msgid "media.prc_3_125x176mm" msgstr "" #. TRANSLATORS: Envelope Chinese #4 -#: locale/ipp-strings.c:2206 +#: locale/ipp-strings.c:2244 msgid "media.prc_4_110x208mm" msgstr "" #. TRANSLATORS: Envelope Chinese #5 -#: locale/ipp-strings.c:2208 +#: locale/ipp-strings.c:2246 msgid "media.prc_5_110x220mm" msgstr "" #. TRANSLATORS: Envelope Chinese #6 -#: locale/ipp-strings.c:2210 +#: locale/ipp-strings.c:2248 msgid "media.prc_6_120x320mm" msgstr "" #. TRANSLATORS: Envelope Chinese #7 -#: locale/ipp-strings.c:2212 +#: locale/ipp-strings.c:2250 msgid "media.prc_7_160x230mm" msgstr "" #. TRANSLATORS: Envelope Chinese #8 -#: locale/ipp-strings.c:2214 +#: locale/ipp-strings.c:2252 msgid "media.prc_8_120x309mm" msgstr "" #. TRANSLATORS: ROC 16k -#: locale/ipp-strings.c:2216 +#: locale/ipp-strings.c:2254 msgid "media.roc_16k_7.75x10.75in" msgstr "" #. TRANSLATORS: ROC 8k -#: locale/ipp-strings.c:2218 +#: locale/ipp-strings.c:2256 msgid "media.roc_8k_10.75x15.5in" msgstr "" @@ -12806,82 +12925,82 @@ msgid "members of class %s:" msgstr "" #. TRANSLATORS: Multiple Document Handling -#: locale/ipp-strings.c:2220 +#: locale/ipp-strings.c:2258 msgid "multiple-document-handling" msgstr "" #. TRANSLATORS: Separate Documents Collated Copies -#: locale/ipp-strings.c:2222 +#: locale/ipp-strings.c:2260 msgid "multiple-document-handling.separate-documents-collated-copies" msgstr "" #. TRANSLATORS: Separate Documents Uncollated Copies -#: locale/ipp-strings.c:2224 +#: locale/ipp-strings.c:2262 msgid "multiple-document-handling.separate-documents-uncollated-copies" msgstr "" #. TRANSLATORS: Single Document -#: locale/ipp-strings.c:2226 +#: locale/ipp-strings.c:2264 msgid "multiple-document-handling.single-document" msgstr "" #. TRANSLATORS: Single Document New Sheet -#: locale/ipp-strings.c:2228 +#: locale/ipp-strings.c:2266 msgid "multiple-document-handling.single-document-new-sheet" msgstr "" #. TRANSLATORS: Multiple Object Handling -#: locale/ipp-strings.c:2230 +#: locale/ipp-strings.c:2268 msgid "multiple-object-handling" msgstr "" #. TRANSLATORS: Multiple Object Handling Actual -#: locale/ipp-strings.c:2232 +#: locale/ipp-strings.c:2270 msgid "multiple-object-handling-actual" msgstr "" #. TRANSLATORS: Automatic -#: locale/ipp-strings.c:2234 +#: locale/ipp-strings.c:2272 msgid "multiple-object-handling.auto" msgstr "" #. TRANSLATORS: Best Fit -#: locale/ipp-strings.c:2236 +#: locale/ipp-strings.c:2274 msgid "multiple-object-handling.best-fit" msgstr "" #. TRANSLATORS: Best Quality -#: locale/ipp-strings.c:2238 +#: locale/ipp-strings.c:2276 msgid "multiple-object-handling.best-quality" msgstr "" #. TRANSLATORS: Best Speed -#: locale/ipp-strings.c:2240 +#: locale/ipp-strings.c:2278 msgid "multiple-object-handling.best-speed" msgstr "" #. TRANSLATORS: One At A Time -#: locale/ipp-strings.c:2242 +#: locale/ipp-strings.c:2280 msgid "multiple-object-handling.one-at-a-time" msgstr "" #. TRANSLATORS: On Timeout -#: locale/ipp-strings.c:2244 +#: locale/ipp-strings.c:2282 msgid "multiple-operation-time-out-action" msgstr "" #. TRANSLATORS: Abort Job -#: locale/ipp-strings.c:2246 +#: locale/ipp-strings.c:2284 msgid "multiple-operation-time-out-action.abort-job" msgstr "" #. TRANSLATORS: Hold Job -#: locale/ipp-strings.c:2248 +#: locale/ipp-strings.c:2286 msgid "multiple-operation-time-out-action.hold-job" msgstr "" #. TRANSLATORS: Process Job -#: locale/ipp-strings.c:2250 +#: locale/ipp-strings.c:2288 msgid "multiple-operation-time-out-action.process-job" msgstr "" @@ -12894,22 +13013,22 @@ msgid "no system default destination" msgstr "" #. TRANSLATORS: Noise Removal -#: locale/ipp-strings.c:2252 +#: locale/ipp-strings.c:2290 msgid "noise-removal" msgstr "" #. TRANSLATORS: Notify Attributes -#: locale/ipp-strings.c:2254 +#: locale/ipp-strings.c:2292 msgid "notify-attributes" msgstr "" #. TRANSLATORS: Notify Charset -#: locale/ipp-strings.c:2256 +#: locale/ipp-strings.c:2294 msgid "notify-charset" msgstr "" #. TRANSLATORS: Notify Events -#: locale/ipp-strings.c:2258 +#: locale/ipp-strings.c:2296 msgid "notify-events" msgstr "" @@ -12918,137 +13037,137 @@ msgid "notify-events not specified." msgstr "" #. TRANSLATORS: Document Completed -#: locale/ipp-strings.c:2260 +#: locale/ipp-strings.c:2298 msgid "notify-events.document-completed" msgstr "" #. TRANSLATORS: Document Config Changed -#: locale/ipp-strings.c:2262 +#: locale/ipp-strings.c:2300 msgid "notify-events.document-config-changed" msgstr "" #. TRANSLATORS: Document Created -#: locale/ipp-strings.c:2264 +#: locale/ipp-strings.c:2302 msgid "notify-events.document-created" msgstr "" #. TRANSLATORS: Document Fetchable -#: locale/ipp-strings.c:2266 +#: locale/ipp-strings.c:2304 msgid "notify-events.document-fetchable" msgstr "" #. TRANSLATORS: Document State Changed -#: locale/ipp-strings.c:2268 +#: locale/ipp-strings.c:2306 msgid "notify-events.document-state-changed" msgstr "" #. TRANSLATORS: Document Stopped -#: locale/ipp-strings.c:2270 +#: locale/ipp-strings.c:2308 msgid "notify-events.document-stopped" msgstr "" #. TRANSLATORS: Job Completed -#: locale/ipp-strings.c:2272 +#: locale/ipp-strings.c:2310 msgid "notify-events.job-completed" msgstr "" #. TRANSLATORS: Job Config Changed -#: locale/ipp-strings.c:2274 +#: locale/ipp-strings.c:2312 msgid "notify-events.job-config-changed" msgstr "" #. TRANSLATORS: Job Created -#: locale/ipp-strings.c:2276 +#: locale/ipp-strings.c:2314 msgid "notify-events.job-created" msgstr "" #. TRANSLATORS: Job Fetchable -#: locale/ipp-strings.c:2278 +#: locale/ipp-strings.c:2316 msgid "notify-events.job-fetchable" msgstr "" #. TRANSLATORS: Job Progress -#: locale/ipp-strings.c:2280 +#: locale/ipp-strings.c:2318 msgid "notify-events.job-progress" msgstr "" #. TRANSLATORS: Job State Changed -#: locale/ipp-strings.c:2282 +#: locale/ipp-strings.c:2320 msgid "notify-events.job-state-changed" msgstr "" #. TRANSLATORS: Job Stopped -#: locale/ipp-strings.c:2284 +#: locale/ipp-strings.c:2322 msgid "notify-events.job-stopped" msgstr "" #. TRANSLATORS: None -#: locale/ipp-strings.c:2286 +#: locale/ipp-strings.c:2324 msgid "notify-events.none" msgstr "" #. TRANSLATORS: Printer Config Changed -#: locale/ipp-strings.c:2288 +#: locale/ipp-strings.c:2326 msgid "notify-events.printer-config-changed" msgstr "" #. TRANSLATORS: Printer Finishings Changed -#: locale/ipp-strings.c:2290 +#: locale/ipp-strings.c:2328 msgid "notify-events.printer-finishings-changed" msgstr "" #. TRANSLATORS: Printer Media Changed -#: locale/ipp-strings.c:2292 +#: locale/ipp-strings.c:2330 msgid "notify-events.printer-media-changed" msgstr "" #. TRANSLATORS: Printer Queue Order Changed -#: locale/ipp-strings.c:2294 +#: locale/ipp-strings.c:2332 msgid "notify-events.printer-queue-order-changed" msgstr "" #. TRANSLATORS: Printer Restarted -#: locale/ipp-strings.c:2296 +#: locale/ipp-strings.c:2334 msgid "notify-events.printer-restarted" msgstr "" #. TRANSLATORS: Printer Shutdown -#: locale/ipp-strings.c:2298 +#: locale/ipp-strings.c:2336 msgid "notify-events.printer-shutdown" msgstr "" #. TRANSLATORS: Printer State Changed -#: locale/ipp-strings.c:2300 +#: locale/ipp-strings.c:2338 msgid "notify-events.printer-state-changed" msgstr "" #. TRANSLATORS: Printer Stopped -#: locale/ipp-strings.c:2302 +#: locale/ipp-strings.c:2340 msgid "notify-events.printer-stopped" msgstr "" #. TRANSLATORS: Notify Get Interval -#: locale/ipp-strings.c:2304 +#: locale/ipp-strings.c:2342 msgid "notify-get-interval" msgstr "" #. TRANSLATORS: Notify Lease Duration -#: locale/ipp-strings.c:2306 +#: locale/ipp-strings.c:2344 msgid "notify-lease-duration" msgstr "" #. TRANSLATORS: Notify Natural Language -#: locale/ipp-strings.c:2308 +#: locale/ipp-strings.c:2346 msgid "notify-natural-language" msgstr "" #. TRANSLATORS: Notify Pull Method -#: locale/ipp-strings.c:2310 +#: locale/ipp-strings.c:2348 msgid "notify-pull-method" msgstr "" #. TRANSLATORS: Notify Recipient -#: locale/ipp-strings.c:2312 +#: locale/ipp-strings.c:2350 msgid "notify-recipient-uri" msgstr "" @@ -13063,397 +13182,397 @@ msgid "notify-recipient-uri URI \"%s\" uses unknown scheme." msgstr "" #. TRANSLATORS: Notify Sequence Numbers -#: locale/ipp-strings.c:2314 +#: locale/ipp-strings.c:2352 msgid "notify-sequence-numbers" msgstr "" #. TRANSLATORS: Notify Subscription Ids -#: locale/ipp-strings.c:2316 +#: locale/ipp-strings.c:2354 msgid "notify-subscription-ids" msgstr "" #. TRANSLATORS: Notify Time Interval -#: locale/ipp-strings.c:2318 +#: locale/ipp-strings.c:2356 msgid "notify-time-interval" msgstr "" #. TRANSLATORS: Notify User Data -#: locale/ipp-strings.c:2320 +#: locale/ipp-strings.c:2358 msgid "notify-user-data" msgstr "" #. TRANSLATORS: Notify Wait -#: locale/ipp-strings.c:2322 +#: locale/ipp-strings.c:2360 msgid "notify-wait" msgstr "" #. TRANSLATORS: Number Of Retries -#: locale/ipp-strings.c:2324 +#: locale/ipp-strings.c:2362 msgid "number-of-retries" msgstr "" #. TRANSLATORS: Number-Up -#: locale/ipp-strings.c:2326 +#: locale/ipp-strings.c:2364 msgid "number-up" msgstr "" #. TRANSLATORS: Object Offset -#: locale/ipp-strings.c:2328 +#: locale/ipp-strings.c:2366 msgid "object-offset" msgstr "" #. TRANSLATORS: Object Size -#: locale/ipp-strings.c:2330 +#: locale/ipp-strings.c:2368 msgid "object-size" msgstr "" #. TRANSLATORS: Organization Name -#: locale/ipp-strings.c:2332 +#: locale/ipp-strings.c:2370 msgid "organization-name" msgstr "" #. TRANSLATORS: Orientation -#: locale/ipp-strings.c:2334 +#: locale/ipp-strings.c:2372 msgid "orientation-requested" msgstr "" #. TRANSLATORS: Portrait -#: locale/ipp-strings.c:2336 +#: locale/ipp-strings.c:2374 msgid "orientation-requested.3" msgstr "" #. TRANSLATORS: Landscape -#: locale/ipp-strings.c:2338 +#: locale/ipp-strings.c:2376 msgid "orientation-requested.4" msgstr "" #. TRANSLATORS: Reverse Landscape -#: locale/ipp-strings.c:2340 +#: locale/ipp-strings.c:2378 msgid "orientation-requested.5" msgstr "" #. TRANSLATORS: Reverse Portrait -#: locale/ipp-strings.c:2342 +#: locale/ipp-strings.c:2380 msgid "orientation-requested.6" msgstr "" #. TRANSLATORS: None -#: locale/ipp-strings.c:2344 +#: locale/ipp-strings.c:2382 msgid "orientation-requested.7" msgstr "" #. TRANSLATORS: Scanned Image Options -#: locale/ipp-strings.c:2346 +#: locale/ipp-strings.c:2384 msgid "output-attributes" msgstr "" #. TRANSLATORS: Output Tray -#: locale/ipp-strings.c:2348 +#: locale/ipp-strings.c:2386 msgid "output-bin" msgstr "" #. TRANSLATORS: Automatic -#: locale/ipp-strings.c:2350 +#: locale/ipp-strings.c:2388 msgid "output-bin.auto" msgstr "" #. TRANSLATORS: Bottom -#: locale/ipp-strings.c:2352 +#: locale/ipp-strings.c:2390 msgid "output-bin.bottom" msgstr "" #. TRANSLATORS: Center -#: locale/ipp-strings.c:2354 +#: locale/ipp-strings.c:2392 msgid "output-bin.center" msgstr "" #. TRANSLATORS: Face Down -#: locale/ipp-strings.c:2356 +#: locale/ipp-strings.c:2394 msgid "output-bin.face-down" msgstr "" #. TRANSLATORS: Face Up -#: locale/ipp-strings.c:2358 +#: locale/ipp-strings.c:2396 msgid "output-bin.face-up" msgstr "" #. TRANSLATORS: Large Capacity -#: locale/ipp-strings.c:2360 +#: locale/ipp-strings.c:2398 msgid "output-bin.large-capacity" msgstr "" #. TRANSLATORS: Left -#: locale/ipp-strings.c:2362 +#: locale/ipp-strings.c:2400 msgid "output-bin.left" msgstr "" #. TRANSLATORS: Mailbox 1 -#: locale/ipp-strings.c:2364 +#: locale/ipp-strings.c:2402 msgid "output-bin.mailbox-1" msgstr "" #. TRANSLATORS: Mailbox 10 -#: locale/ipp-strings.c:2366 +#: locale/ipp-strings.c:2404 msgid "output-bin.mailbox-10" msgstr "" #. TRANSLATORS: Mailbox 2 -#: locale/ipp-strings.c:2368 +#: locale/ipp-strings.c:2406 msgid "output-bin.mailbox-2" msgstr "" #. TRANSLATORS: Mailbox 3 -#: locale/ipp-strings.c:2370 +#: locale/ipp-strings.c:2408 msgid "output-bin.mailbox-3" msgstr "" #. TRANSLATORS: Mailbox 4 -#: locale/ipp-strings.c:2372 +#: locale/ipp-strings.c:2410 msgid "output-bin.mailbox-4" msgstr "" #. TRANSLATORS: Mailbox 5 -#: locale/ipp-strings.c:2374 +#: locale/ipp-strings.c:2412 msgid "output-bin.mailbox-5" msgstr "" #. TRANSLATORS: Mailbox 6 -#: locale/ipp-strings.c:2376 +#: locale/ipp-strings.c:2414 msgid "output-bin.mailbox-6" msgstr "" #. TRANSLATORS: Mailbox 7 -#: locale/ipp-strings.c:2378 +#: locale/ipp-strings.c:2416 msgid "output-bin.mailbox-7" msgstr "" #. TRANSLATORS: Mailbox 8 -#: locale/ipp-strings.c:2380 +#: locale/ipp-strings.c:2418 msgid "output-bin.mailbox-8" msgstr "" #. TRANSLATORS: Mailbox 9 -#: locale/ipp-strings.c:2382 +#: locale/ipp-strings.c:2420 msgid "output-bin.mailbox-9" msgstr "" #. TRANSLATORS: Middle -#: locale/ipp-strings.c:2384 +#: locale/ipp-strings.c:2422 msgid "output-bin.middle" msgstr "" #. TRANSLATORS: My Mailbox -#: locale/ipp-strings.c:2386 +#: locale/ipp-strings.c:2424 msgid "output-bin.my-mailbox" msgstr "" #. TRANSLATORS: Rear -#: locale/ipp-strings.c:2388 +#: locale/ipp-strings.c:2426 msgid "output-bin.rear" msgstr "" #. TRANSLATORS: Right -#: locale/ipp-strings.c:2390 +#: locale/ipp-strings.c:2428 msgid "output-bin.right" msgstr "" #. TRANSLATORS: Side -#: locale/ipp-strings.c:2392 +#: locale/ipp-strings.c:2430 msgid "output-bin.side" msgstr "" #. TRANSLATORS: Stacker 1 -#: locale/ipp-strings.c:2394 +#: locale/ipp-strings.c:2432 msgid "output-bin.stacker-1" msgstr "" #. TRANSLATORS: Stacker 10 -#: locale/ipp-strings.c:2396 +#: locale/ipp-strings.c:2434 msgid "output-bin.stacker-10" msgstr "" #. TRANSLATORS: Stacker 2 -#: locale/ipp-strings.c:2398 +#: locale/ipp-strings.c:2436 msgid "output-bin.stacker-2" msgstr "" #. TRANSLATORS: Stacker 3 -#: locale/ipp-strings.c:2400 +#: locale/ipp-strings.c:2438 msgid "output-bin.stacker-3" msgstr "" #. TRANSLATORS: Stacker 4 -#: locale/ipp-strings.c:2402 +#: locale/ipp-strings.c:2440 msgid "output-bin.stacker-4" msgstr "" #. TRANSLATORS: Stacker 5 -#: locale/ipp-strings.c:2404 +#: locale/ipp-strings.c:2442 msgid "output-bin.stacker-5" msgstr "" #. TRANSLATORS: Stacker 6 -#: locale/ipp-strings.c:2406 +#: locale/ipp-strings.c:2444 msgid "output-bin.stacker-6" msgstr "" #. TRANSLATORS: Stacker 7 -#: locale/ipp-strings.c:2408 +#: locale/ipp-strings.c:2446 msgid "output-bin.stacker-7" msgstr "" #. TRANSLATORS: Stacker 8 -#: locale/ipp-strings.c:2410 +#: locale/ipp-strings.c:2448 msgid "output-bin.stacker-8" msgstr "" #. TRANSLATORS: Stacker 9 -#: locale/ipp-strings.c:2412 +#: locale/ipp-strings.c:2450 msgid "output-bin.stacker-9" msgstr "" #. TRANSLATORS: Top -#: locale/ipp-strings.c:2414 +#: locale/ipp-strings.c:2452 msgid "output-bin.top" msgstr "" #. TRANSLATORS: Tray 1 -#: locale/ipp-strings.c:2416 +#: locale/ipp-strings.c:2454 msgid "output-bin.tray-1" msgstr "" #. TRANSLATORS: Tray 10 -#: locale/ipp-strings.c:2418 +#: locale/ipp-strings.c:2456 msgid "output-bin.tray-10" msgstr "" #. TRANSLATORS: Tray 2 -#: locale/ipp-strings.c:2420 +#: locale/ipp-strings.c:2458 msgid "output-bin.tray-2" msgstr "" #. TRANSLATORS: Tray 3 -#: locale/ipp-strings.c:2422 +#: locale/ipp-strings.c:2460 msgid "output-bin.tray-3" msgstr "" #. TRANSLATORS: Tray 4 -#: locale/ipp-strings.c:2424 +#: locale/ipp-strings.c:2462 msgid "output-bin.tray-4" msgstr "" #. TRANSLATORS: Tray 5 -#: locale/ipp-strings.c:2426 +#: locale/ipp-strings.c:2464 msgid "output-bin.tray-5" msgstr "" #. TRANSLATORS: Tray 6 -#: locale/ipp-strings.c:2428 +#: locale/ipp-strings.c:2466 msgid "output-bin.tray-6" msgstr "" #. TRANSLATORS: Tray 7 -#: locale/ipp-strings.c:2430 +#: locale/ipp-strings.c:2468 msgid "output-bin.tray-7" msgstr "" #. TRANSLATORS: Tray 8 -#: locale/ipp-strings.c:2432 +#: locale/ipp-strings.c:2470 msgid "output-bin.tray-8" msgstr "" #. TRANSLATORS: Tray 9 -#: locale/ipp-strings.c:2434 +#: locale/ipp-strings.c:2472 msgid "output-bin.tray-9" msgstr "" #. TRANSLATORS: Scanned Image Quality -#: locale/ipp-strings.c:2436 +#: locale/ipp-strings.c:2474 msgid "output-compression-quality-factor" msgstr "" #. TRANSLATORS: Page Delivery -#: locale/ipp-strings.c:2438 +#: locale/ipp-strings.c:2476 msgid "page-delivery" msgstr "" #. TRANSLATORS: Reverse Order Face-down -#: locale/ipp-strings.c:2440 +#: locale/ipp-strings.c:2478 msgid "page-delivery.reverse-order-face-down" msgstr "" #. TRANSLATORS: Reverse Order Face-up -#: locale/ipp-strings.c:2442 +#: locale/ipp-strings.c:2480 msgid "page-delivery.reverse-order-face-up" msgstr "" #. TRANSLATORS: Same Order Face-down -#: locale/ipp-strings.c:2444 +#: locale/ipp-strings.c:2482 msgid "page-delivery.same-order-face-down" msgstr "" #. TRANSLATORS: Same Order Face-up -#: locale/ipp-strings.c:2446 +#: locale/ipp-strings.c:2484 msgid "page-delivery.same-order-face-up" msgstr "" #. TRANSLATORS: System Specified -#: locale/ipp-strings.c:2448 +#: locale/ipp-strings.c:2486 msgid "page-delivery.system-specified" msgstr "" #. TRANSLATORS: Page Order Received -#: locale/ipp-strings.c:2450 +#: locale/ipp-strings.c:2488 msgid "page-order-received" msgstr "" #. TRANSLATORS: 1 To N -#: locale/ipp-strings.c:2452 +#: locale/ipp-strings.c:2490 msgid "page-order-received.1-to-n-order" msgstr "" #. TRANSLATORS: N To 1 -#: locale/ipp-strings.c:2454 +#: locale/ipp-strings.c:2492 msgid "page-order-received.n-to-1-order" msgstr "" #. TRANSLATORS: Page Ranges -#: locale/ipp-strings.c:2456 +#: locale/ipp-strings.c:2494 msgid "page-ranges" msgstr "" #. TRANSLATORS: Pages -#: locale/ipp-strings.c:2458 +#: locale/ipp-strings.c:2496 msgid "pages" msgstr "" #. TRANSLATORS: Pages Per Subset -#: locale/ipp-strings.c:2460 +#: locale/ipp-strings.c:2498 msgid "pages-per-subset" msgstr "" #. TRANSLATORS: Pclm Raster Back Side -#: locale/ipp-strings.c:2462 +#: locale/ipp-strings.c:2500 msgid "pclm-raster-back-side" msgstr "" #. TRANSLATORS: Flipped -#: locale/ipp-strings.c:2464 +#: locale/ipp-strings.c:2502 msgid "pclm-raster-back-side.flipped" msgstr "" #. TRANSLATORS: Normal -#: locale/ipp-strings.c:2466 +#: locale/ipp-strings.c:2504 msgid "pclm-raster-back-side.normal" msgstr "" #. TRANSLATORS: Rotated -#: locale/ipp-strings.c:2468 +#: locale/ipp-strings.c:2506 msgid "pclm-raster-back-side.rotated" msgstr "" #. TRANSLATORS: Pclm Source Resolution -#: locale/ipp-strings.c:2470 +#: locale/ipp-strings.c:2508 msgid "pclm-source-resolution" msgstr "" @@ -13462,27 +13581,27 @@ msgid "pending" msgstr "" #. TRANSLATORS: Platform Shape -#: locale/ipp-strings.c:2472 +#: locale/ipp-strings.c:2510 msgid "platform-shape" msgstr "" #. TRANSLATORS: Round -#: locale/ipp-strings.c:2474 +#: locale/ipp-strings.c:2512 msgid "platform-shape.ellipse" msgstr "" #. TRANSLATORS: Rectangle -#: locale/ipp-strings.c:2476 +#: locale/ipp-strings.c:2514 msgid "platform-shape.rectangle" msgstr "" #. TRANSLATORS: Platform Temperature -#: locale/ipp-strings.c:2478 +#: locale/ipp-strings.c:2516 msgid "platform-temperature" msgstr "" #. TRANSLATORS: Post-dial String -#: locale/ipp-strings.c:2480 +#: locale/ipp-strings.c:2518 msgid "post-dial-string" msgstr "" @@ -13960,297 +14079,297 @@ msgid "ppdmerge: Unable to backup %s to %s - %s" msgstr "" #. TRANSLATORS: Pre-dial String -#: locale/ipp-strings.c:2482 +#: locale/ipp-strings.c:2520 msgid "pre-dial-string" msgstr "" #. TRANSLATORS: Number-Up Layout -#: locale/ipp-strings.c:2484 +#: locale/ipp-strings.c:2522 msgid "presentation-direction-number-up" msgstr "" #. TRANSLATORS: Top-bottom, Right-left -#: locale/ipp-strings.c:2486 +#: locale/ipp-strings.c:2524 msgid "presentation-direction-number-up.tobottom-toleft" msgstr "" #. TRANSLATORS: Top-bottom, Left-right -#: locale/ipp-strings.c:2488 +#: locale/ipp-strings.c:2526 msgid "presentation-direction-number-up.tobottom-toright" msgstr "" #. TRANSLATORS: Right-left, Top-bottom -#: locale/ipp-strings.c:2490 +#: locale/ipp-strings.c:2528 msgid "presentation-direction-number-up.toleft-tobottom" msgstr "" #. TRANSLATORS: Right-left, Bottom-top -#: locale/ipp-strings.c:2492 +#: locale/ipp-strings.c:2530 msgid "presentation-direction-number-up.toleft-totop" msgstr "" #. TRANSLATORS: Left-right, Top-bottom -#: locale/ipp-strings.c:2494 +#: locale/ipp-strings.c:2532 msgid "presentation-direction-number-up.toright-tobottom" msgstr "" #. TRANSLATORS: Left-right, Bottom-top -#: locale/ipp-strings.c:2496 +#: locale/ipp-strings.c:2534 msgid "presentation-direction-number-up.toright-totop" msgstr "" #. TRANSLATORS: Bottom-top, Right-left -#: locale/ipp-strings.c:2498 +#: locale/ipp-strings.c:2536 msgid "presentation-direction-number-up.totop-toleft" msgstr "" #. TRANSLATORS: Bottom-top, Left-right -#: locale/ipp-strings.c:2500 +#: locale/ipp-strings.c:2538 msgid "presentation-direction-number-up.totop-toright" msgstr "" #. TRANSLATORS: Print Accuracy -#: locale/ipp-strings.c:2502 +#: locale/ipp-strings.c:2540 msgid "print-accuracy" msgstr "" #. TRANSLATORS: Print Base -#: locale/ipp-strings.c:2504 +#: locale/ipp-strings.c:2542 msgid "print-base" msgstr "" #. TRANSLATORS: Print Base Actual -#: locale/ipp-strings.c:2506 +#: locale/ipp-strings.c:2544 msgid "print-base-actual" msgstr "" #. TRANSLATORS: Brim -#: locale/ipp-strings.c:2508 +#: locale/ipp-strings.c:2546 msgid "print-base.brim" msgstr "" #. TRANSLATORS: None -#: locale/ipp-strings.c:2510 +#: locale/ipp-strings.c:2548 msgid "print-base.none" msgstr "" #. TRANSLATORS: Raft -#: locale/ipp-strings.c:2512 +#: locale/ipp-strings.c:2550 msgid "print-base.raft" msgstr "" #. TRANSLATORS: Skirt -#: locale/ipp-strings.c:2514 +#: locale/ipp-strings.c:2552 msgid "print-base.skirt" msgstr "" #. TRANSLATORS: Standard -#: locale/ipp-strings.c:2516 +#: locale/ipp-strings.c:2554 msgid "print-base.standard" msgstr "" #. TRANSLATORS: Print Color Mode -#: locale/ipp-strings.c:2518 +#: locale/ipp-strings.c:2556 msgid "print-color-mode" msgstr "" #. TRANSLATORS: Automatic -#: locale/ipp-strings.c:2520 +#: locale/ipp-strings.c:2558 msgid "print-color-mode.auto" msgstr "" #. TRANSLATORS: Auto Monochrome -#: locale/ipp-strings.c:2522 +#: locale/ipp-strings.c:2560 msgid "print-color-mode.auto-monochrome" msgstr "" #. TRANSLATORS: Text -#: locale/ipp-strings.c:2524 +#: locale/ipp-strings.c:2562 msgid "print-color-mode.bi-level" msgstr "" #. TRANSLATORS: Color -#: locale/ipp-strings.c:2526 +#: locale/ipp-strings.c:2564 msgid "print-color-mode.color" msgstr "" #. TRANSLATORS: Highlight -#: locale/ipp-strings.c:2528 +#: locale/ipp-strings.c:2566 msgid "print-color-mode.highlight" msgstr "" #. TRANSLATORS: Monochrome -#: locale/ipp-strings.c:2530 +#: locale/ipp-strings.c:2568 msgid "print-color-mode.monochrome" msgstr "" #. TRANSLATORS: Process Text -#: locale/ipp-strings.c:2532 +#: locale/ipp-strings.c:2570 msgid "print-color-mode.process-bi-level" msgstr "" #. TRANSLATORS: Process Monochrome -#: locale/ipp-strings.c:2534 +#: locale/ipp-strings.c:2572 msgid "print-color-mode.process-monochrome" msgstr "" #. TRANSLATORS: Print Optimization -#: locale/ipp-strings.c:2536 +#: locale/ipp-strings.c:2574 msgid "print-content-optimize" msgstr "" #. TRANSLATORS: Print Content Optimize Actual -#: locale/ipp-strings.c:2538 +#: locale/ipp-strings.c:2576 msgid "print-content-optimize-actual" msgstr "" #. TRANSLATORS: Automatic -#: locale/ipp-strings.c:2540 +#: locale/ipp-strings.c:2578 msgid "print-content-optimize.auto" msgstr "" #. TRANSLATORS: Graphics -#: locale/ipp-strings.c:2542 +#: locale/ipp-strings.c:2580 msgid "print-content-optimize.graphic" msgstr "" #. TRANSLATORS: Graphics -#: locale/ipp-strings.c:2544 +#: locale/ipp-strings.c:2582 msgid "print-content-optimize.graphics" msgstr "" #. TRANSLATORS: Photo -#: locale/ipp-strings.c:2546 +#: locale/ipp-strings.c:2584 msgid "print-content-optimize.photo" msgstr "" #. TRANSLATORS: Text -#: locale/ipp-strings.c:2548 +#: locale/ipp-strings.c:2586 msgid "print-content-optimize.text" msgstr "" #. TRANSLATORS: Text and Graphics -#: locale/ipp-strings.c:2550 +#: locale/ipp-strings.c:2588 msgid "print-content-optimize.text-and-graphic" msgstr "" #. TRANSLATORS: Text And Graphics -#: locale/ipp-strings.c:2552 +#: locale/ipp-strings.c:2590 msgid "print-content-optimize.text-and-graphics" msgstr "" #. TRANSLATORS: Print Objects -#: locale/ipp-strings.c:2554 +#: locale/ipp-strings.c:2592 msgid "print-objects" msgstr "" #. TRANSLATORS: Print Quality -#: locale/ipp-strings.c:2556 +#: locale/ipp-strings.c:2594 msgid "print-quality" msgstr "" #. TRANSLATORS: Draft -#: locale/ipp-strings.c:2558 +#: locale/ipp-strings.c:2596 msgid "print-quality.3" msgstr "" #. TRANSLATORS: Normal -#: locale/ipp-strings.c:2560 +#: locale/ipp-strings.c:2598 msgid "print-quality.4" msgstr "" #. TRANSLATORS: High -#: locale/ipp-strings.c:2562 +#: locale/ipp-strings.c:2600 msgid "print-quality.5" msgstr "" #. TRANSLATORS: Print Rendering Intent -#: locale/ipp-strings.c:2564 +#: locale/ipp-strings.c:2602 msgid "print-rendering-intent" msgstr "" #. TRANSLATORS: Absolute -#: locale/ipp-strings.c:2566 +#: locale/ipp-strings.c:2604 msgid "print-rendering-intent.absolute" msgstr "" #. TRANSLATORS: Automatic -#: locale/ipp-strings.c:2568 +#: locale/ipp-strings.c:2606 msgid "print-rendering-intent.auto" msgstr "" #. TRANSLATORS: Perceptual -#: locale/ipp-strings.c:2570 +#: locale/ipp-strings.c:2608 msgid "print-rendering-intent.perceptual" msgstr "" #. TRANSLATORS: Relative -#: locale/ipp-strings.c:2572 +#: locale/ipp-strings.c:2610 msgid "print-rendering-intent.relative" msgstr "" #. TRANSLATORS: Relative w/Black Point Compensation -#: locale/ipp-strings.c:2574 +#: locale/ipp-strings.c:2612 msgid "print-rendering-intent.relative-bpc" msgstr "" #. TRANSLATORS: Saturation -#: locale/ipp-strings.c:2576 +#: locale/ipp-strings.c:2614 msgid "print-rendering-intent.saturation" msgstr "" #. TRANSLATORS: Print Scaling -#: locale/ipp-strings.c:2578 +#: locale/ipp-strings.c:2616 msgid "print-scaling" msgstr "" #. TRANSLATORS: Automatic -#: locale/ipp-strings.c:2580 +#: locale/ipp-strings.c:2618 msgid "print-scaling.auto" msgstr "" #. TRANSLATORS: Auto-fit -#: locale/ipp-strings.c:2582 +#: locale/ipp-strings.c:2620 msgid "print-scaling.auto-fit" msgstr "" #. TRANSLATORS: Fill -#: locale/ipp-strings.c:2584 +#: locale/ipp-strings.c:2622 msgid "print-scaling.fill" msgstr "" #. TRANSLATORS: Fit -#: locale/ipp-strings.c:2586 +#: locale/ipp-strings.c:2624 msgid "print-scaling.fit" msgstr "" #. TRANSLATORS: None -#: locale/ipp-strings.c:2588 +#: locale/ipp-strings.c:2626 msgid "print-scaling.none" msgstr "" #. TRANSLATORS: Print Supports -#: locale/ipp-strings.c:2590 +#: locale/ipp-strings.c:2628 msgid "print-supports" msgstr "" #. TRANSLATORS: Print Supports Actual -#: locale/ipp-strings.c:2592 +#: locale/ipp-strings.c:2630 msgid "print-supports-actual" msgstr "" #. TRANSLATORS: With Specified Material -#: locale/ipp-strings.c:2594 +#: locale/ipp-strings.c:2632 msgid "print-supports.material" msgstr "" #. TRANSLATORS: None -#: locale/ipp-strings.c:2596 +#: locale/ipp-strings.c:2634 msgid "print-supports.none" msgstr "" #. TRANSLATORS: Standard -#: locale/ipp-strings.c:2598 +#: locale/ipp-strings.c:2636 msgid "print-supports.standard" msgstr "" @@ -14290,4067 +14409,4067 @@ msgid "printer %s/%s now printing %s-%d. enabled since %s" msgstr "" #. TRANSLATORS: Printer Kind -#: locale/ipp-strings.c:2600 +#: locale/ipp-strings.c:2638 msgid "printer-kind" msgstr "" #. TRANSLATORS: Disc -#: locale/ipp-strings.c:2602 +#: locale/ipp-strings.c:2640 msgid "printer-kind.disc" msgstr "" #. TRANSLATORS: Document -#: locale/ipp-strings.c:2604 +#: locale/ipp-strings.c:2642 msgid "printer-kind.document" msgstr "" #. TRANSLATORS: Envelope -#: locale/ipp-strings.c:2606 +#: locale/ipp-strings.c:2644 msgid "printer-kind.envelope" msgstr "" #. TRANSLATORS: Label -#: locale/ipp-strings.c:2608 +#: locale/ipp-strings.c:2646 msgid "printer-kind.label" msgstr "" #. TRANSLATORS: Large Format -#: locale/ipp-strings.c:2610 +#: locale/ipp-strings.c:2648 msgid "printer-kind.large-format" msgstr "" #. TRANSLATORS: Photo -#: locale/ipp-strings.c:2612 +#: locale/ipp-strings.c:2650 msgid "printer-kind.photo" msgstr "" #. TRANSLATORS: Postcard -#: locale/ipp-strings.c:2614 +#: locale/ipp-strings.c:2652 msgid "printer-kind.postcard" msgstr "" #. TRANSLATORS: Receipt -#: locale/ipp-strings.c:2616 +#: locale/ipp-strings.c:2654 msgid "printer-kind.receipt" msgstr "" #. TRANSLATORS: Roll -#: locale/ipp-strings.c:2618 +#: locale/ipp-strings.c:2656 msgid "printer-kind.roll" msgstr "" #. TRANSLATORS: Message From Operator -#: locale/ipp-strings.c:2620 +#: locale/ipp-strings.c:2658 msgid "printer-message-from-operator" msgstr "" #. TRANSLATORS: Print Resolution -#: locale/ipp-strings.c:2622 +#: locale/ipp-strings.c:2660 msgid "printer-resolution" msgstr "" #. TRANSLATORS: Printer State -#: locale/ipp-strings.c:2624 +#: locale/ipp-strings.c:2662 msgid "printer-state" msgstr "" #. TRANSLATORS: Detailed Printer State -#: locale/ipp-strings.c:2626 +#: locale/ipp-strings.c:2664 msgid "printer-state-reasons" msgstr "" #. TRANSLATORS: Old Alerts Have Been Removed -#: locale/ipp-strings.c:2628 +#: locale/ipp-strings.c:2666 msgid "printer-state-reasons.alert-removal-of-binary-change-entry" msgstr "" #. TRANSLATORS: Bander Added -#: locale/ipp-strings.c:2630 +#: locale/ipp-strings.c:2668 msgid "printer-state-reasons.bander-added" msgstr "" #. TRANSLATORS: Bander Almost Empty -#: locale/ipp-strings.c:2632 +#: locale/ipp-strings.c:2670 msgid "printer-state-reasons.bander-almost-empty" msgstr "" #. TRANSLATORS: Bander Almost Full -#: locale/ipp-strings.c:2634 +#: locale/ipp-strings.c:2672 msgid "printer-state-reasons.bander-almost-full" msgstr "" #. TRANSLATORS: Bander At Limit -#: locale/ipp-strings.c:2636 +#: locale/ipp-strings.c:2674 msgid "printer-state-reasons.bander-at-limit" msgstr "" #. TRANSLATORS: Bander Closed -#: locale/ipp-strings.c:2638 +#: locale/ipp-strings.c:2676 msgid "printer-state-reasons.bander-closed" msgstr "" #. TRANSLATORS: Bander Configuration Change -#: locale/ipp-strings.c:2640 +#: locale/ipp-strings.c:2678 msgid "printer-state-reasons.bander-configuration-change" msgstr "" #. TRANSLATORS: Bander Cover Closed -#: locale/ipp-strings.c:2642 +#: locale/ipp-strings.c:2680 msgid "printer-state-reasons.bander-cover-closed" msgstr "" #. TRANSLATORS: Bander Cover Open -#: locale/ipp-strings.c:2644 +#: locale/ipp-strings.c:2682 msgid "printer-state-reasons.bander-cover-open" msgstr "" #. TRANSLATORS: Bander Empty -#: locale/ipp-strings.c:2646 +#: locale/ipp-strings.c:2684 msgid "printer-state-reasons.bander-empty" msgstr "" #. TRANSLATORS: Bander Full -#: locale/ipp-strings.c:2648 +#: locale/ipp-strings.c:2686 msgid "printer-state-reasons.bander-full" msgstr "" #. TRANSLATORS: Bander Interlock Closed -#: locale/ipp-strings.c:2650 +#: locale/ipp-strings.c:2688 msgid "printer-state-reasons.bander-interlock-closed" msgstr "" #. TRANSLATORS: Bander Interlock Open -#: locale/ipp-strings.c:2652 +#: locale/ipp-strings.c:2690 msgid "printer-state-reasons.bander-interlock-open" msgstr "" #. TRANSLATORS: Bander Jam -#: locale/ipp-strings.c:2654 +#: locale/ipp-strings.c:2692 msgid "printer-state-reasons.bander-jam" msgstr "" #. TRANSLATORS: Bander Life Almost Over -#: locale/ipp-strings.c:2656 +#: locale/ipp-strings.c:2694 msgid "printer-state-reasons.bander-life-almost-over" msgstr "" #. TRANSLATORS: Bander Life Over -#: locale/ipp-strings.c:2658 +#: locale/ipp-strings.c:2696 msgid "printer-state-reasons.bander-life-over" msgstr "" #. TRANSLATORS: Bander Memory Exhausted -#: locale/ipp-strings.c:2660 +#: locale/ipp-strings.c:2698 msgid "printer-state-reasons.bander-memory-exhausted" msgstr "" #. TRANSLATORS: Bander Missing -#: locale/ipp-strings.c:2662 +#: locale/ipp-strings.c:2700 msgid "printer-state-reasons.bander-missing" msgstr "" #. TRANSLATORS: Bander Motor Failure -#: locale/ipp-strings.c:2664 +#: locale/ipp-strings.c:2702 msgid "printer-state-reasons.bander-motor-failure" msgstr "" #. TRANSLATORS: Bander Near Limit -#: locale/ipp-strings.c:2666 +#: locale/ipp-strings.c:2704 msgid "printer-state-reasons.bander-near-limit" msgstr "" #. TRANSLATORS: Bander Offline -#: locale/ipp-strings.c:2668 +#: locale/ipp-strings.c:2706 msgid "printer-state-reasons.bander-offline" msgstr "" #. TRANSLATORS: Bander Opened -#: locale/ipp-strings.c:2670 +#: locale/ipp-strings.c:2708 msgid "printer-state-reasons.bander-opened" msgstr "" #. TRANSLATORS: Bander Over Temperature -#: locale/ipp-strings.c:2672 +#: locale/ipp-strings.c:2710 msgid "printer-state-reasons.bander-over-temperature" msgstr "" #. TRANSLATORS: Bander Power Saver -#: locale/ipp-strings.c:2674 +#: locale/ipp-strings.c:2712 msgid "printer-state-reasons.bander-power-saver" msgstr "" #. TRANSLATORS: Bander Recoverable Failure -#: locale/ipp-strings.c:2676 +#: locale/ipp-strings.c:2714 msgid "printer-state-reasons.bander-recoverable-failure" msgstr "" #. TRANSLATORS: Bander Recoverable Storage -#: locale/ipp-strings.c:2678 +#: locale/ipp-strings.c:2716 msgid "printer-state-reasons.bander-recoverable-storage" msgstr "" #. TRANSLATORS: Bander Removed -#: locale/ipp-strings.c:2680 +#: locale/ipp-strings.c:2718 msgid "printer-state-reasons.bander-removed" msgstr "" #. TRANSLATORS: Bander Resource Added -#: locale/ipp-strings.c:2682 +#: locale/ipp-strings.c:2720 msgid "printer-state-reasons.bander-resource-added" msgstr "" #. TRANSLATORS: Bander Resource Removed -#: locale/ipp-strings.c:2684 +#: locale/ipp-strings.c:2722 msgid "printer-state-reasons.bander-resource-removed" msgstr "" #. TRANSLATORS: Bander Thermistor Failure -#: locale/ipp-strings.c:2686 +#: locale/ipp-strings.c:2724 msgid "printer-state-reasons.bander-thermistor-failure" msgstr "" #. TRANSLATORS: Bander Timing Failure -#: locale/ipp-strings.c:2688 +#: locale/ipp-strings.c:2726 msgid "printer-state-reasons.bander-timing-failure" msgstr "" #. TRANSLATORS: Bander Turned Off -#: locale/ipp-strings.c:2690 +#: locale/ipp-strings.c:2728 msgid "printer-state-reasons.bander-turned-off" msgstr "" #. TRANSLATORS: Bander Turned On -#: locale/ipp-strings.c:2692 +#: locale/ipp-strings.c:2730 msgid "printer-state-reasons.bander-turned-on" msgstr "" #. TRANSLATORS: Bander Under Temperature -#: locale/ipp-strings.c:2694 +#: locale/ipp-strings.c:2732 msgid "printer-state-reasons.bander-under-temperature" msgstr "" #. TRANSLATORS: Bander Unrecoverable Failure -#: locale/ipp-strings.c:2696 +#: locale/ipp-strings.c:2734 msgid "printer-state-reasons.bander-unrecoverable-failure" msgstr "" #. TRANSLATORS: Bander Unrecoverable Storage Error -#: locale/ipp-strings.c:2698 +#: locale/ipp-strings.c:2736 msgid "printer-state-reasons.bander-unrecoverable-storage-error" msgstr "" #. TRANSLATORS: Bander Warming Up -#: locale/ipp-strings.c:2700 +#: locale/ipp-strings.c:2738 msgid "printer-state-reasons.bander-warming-up" msgstr "" #. TRANSLATORS: Binder Added -#: locale/ipp-strings.c:2702 +#: locale/ipp-strings.c:2740 msgid "printer-state-reasons.binder-added" msgstr "" #. TRANSLATORS: Binder Almost Empty -#: locale/ipp-strings.c:2704 +#: locale/ipp-strings.c:2742 msgid "printer-state-reasons.binder-almost-empty" msgstr "" #. TRANSLATORS: Binder Almost Full -#: locale/ipp-strings.c:2706 +#: locale/ipp-strings.c:2744 msgid "printer-state-reasons.binder-almost-full" msgstr "" #. TRANSLATORS: Binder At Limit -#: locale/ipp-strings.c:2708 +#: locale/ipp-strings.c:2746 msgid "printer-state-reasons.binder-at-limit" msgstr "" #. TRANSLATORS: Binder Closed -#: locale/ipp-strings.c:2710 +#: locale/ipp-strings.c:2748 msgid "printer-state-reasons.binder-closed" msgstr "" #. TRANSLATORS: Binder Configuration Change -#: locale/ipp-strings.c:2712 +#: locale/ipp-strings.c:2750 msgid "printer-state-reasons.binder-configuration-change" msgstr "" #. TRANSLATORS: Binder Cover Closed -#: locale/ipp-strings.c:2714 +#: locale/ipp-strings.c:2752 msgid "printer-state-reasons.binder-cover-closed" msgstr "" #. TRANSLATORS: Binder Cover Open -#: locale/ipp-strings.c:2716 +#: locale/ipp-strings.c:2754 msgid "printer-state-reasons.binder-cover-open" msgstr "" #. TRANSLATORS: Binder Empty -#: locale/ipp-strings.c:2718 +#: locale/ipp-strings.c:2756 msgid "printer-state-reasons.binder-empty" msgstr "" #. TRANSLATORS: Binder Full -#: locale/ipp-strings.c:2720 +#: locale/ipp-strings.c:2758 msgid "printer-state-reasons.binder-full" msgstr "" #. TRANSLATORS: Binder Interlock Closed -#: locale/ipp-strings.c:2722 +#: locale/ipp-strings.c:2760 msgid "printer-state-reasons.binder-interlock-closed" msgstr "" #. TRANSLATORS: Binder Interlock Open -#: locale/ipp-strings.c:2724 +#: locale/ipp-strings.c:2762 msgid "printer-state-reasons.binder-interlock-open" msgstr "" #. TRANSLATORS: Binder Jam -#: locale/ipp-strings.c:2726 +#: locale/ipp-strings.c:2764 msgid "printer-state-reasons.binder-jam" msgstr "" #. TRANSLATORS: Binder Life Almost Over -#: locale/ipp-strings.c:2728 +#: locale/ipp-strings.c:2766 msgid "printer-state-reasons.binder-life-almost-over" msgstr "" #. TRANSLATORS: Binder Life Over -#: locale/ipp-strings.c:2730 +#: locale/ipp-strings.c:2768 msgid "printer-state-reasons.binder-life-over" msgstr "" #. TRANSLATORS: Binder Memory Exhausted -#: locale/ipp-strings.c:2732 +#: locale/ipp-strings.c:2770 msgid "printer-state-reasons.binder-memory-exhausted" msgstr "" #. TRANSLATORS: Binder Missing -#: locale/ipp-strings.c:2734 +#: locale/ipp-strings.c:2772 msgid "printer-state-reasons.binder-missing" msgstr "" #. TRANSLATORS: Binder Motor Failure -#: locale/ipp-strings.c:2736 +#: locale/ipp-strings.c:2774 msgid "printer-state-reasons.binder-motor-failure" msgstr "" #. TRANSLATORS: Binder Near Limit -#: locale/ipp-strings.c:2738 +#: locale/ipp-strings.c:2776 msgid "printer-state-reasons.binder-near-limit" msgstr "" #. TRANSLATORS: Binder Offline -#: locale/ipp-strings.c:2740 +#: locale/ipp-strings.c:2778 msgid "printer-state-reasons.binder-offline" msgstr "" #. TRANSLATORS: Binder Opened -#: locale/ipp-strings.c:2742 +#: locale/ipp-strings.c:2780 msgid "printer-state-reasons.binder-opened" msgstr "" #. TRANSLATORS: Binder Over Temperature -#: locale/ipp-strings.c:2744 +#: locale/ipp-strings.c:2782 msgid "printer-state-reasons.binder-over-temperature" msgstr "" #. TRANSLATORS: Binder Power Saver -#: locale/ipp-strings.c:2746 +#: locale/ipp-strings.c:2784 msgid "printer-state-reasons.binder-power-saver" msgstr "" #. TRANSLATORS: Binder Recoverable Failure -#: locale/ipp-strings.c:2748 +#: locale/ipp-strings.c:2786 msgid "printer-state-reasons.binder-recoverable-failure" msgstr "" #. TRANSLATORS: Binder Recoverable Storage -#: locale/ipp-strings.c:2750 +#: locale/ipp-strings.c:2788 msgid "printer-state-reasons.binder-recoverable-storage" msgstr "" #. TRANSLATORS: Binder Removed -#: locale/ipp-strings.c:2752 +#: locale/ipp-strings.c:2790 msgid "printer-state-reasons.binder-removed" msgstr "" #. TRANSLATORS: Binder Resource Added -#: locale/ipp-strings.c:2754 +#: locale/ipp-strings.c:2792 msgid "printer-state-reasons.binder-resource-added" msgstr "" #. TRANSLATORS: Binder Resource Removed -#: locale/ipp-strings.c:2756 +#: locale/ipp-strings.c:2794 msgid "printer-state-reasons.binder-resource-removed" msgstr "" #. TRANSLATORS: Binder Thermistor Failure -#: locale/ipp-strings.c:2758 +#: locale/ipp-strings.c:2796 msgid "printer-state-reasons.binder-thermistor-failure" msgstr "" #. TRANSLATORS: Binder Timing Failure -#: locale/ipp-strings.c:2760 +#: locale/ipp-strings.c:2798 msgid "printer-state-reasons.binder-timing-failure" msgstr "" #. TRANSLATORS: Binder Turned Off -#: locale/ipp-strings.c:2762 +#: locale/ipp-strings.c:2800 msgid "printer-state-reasons.binder-turned-off" msgstr "" #. TRANSLATORS: Binder Turned On -#: locale/ipp-strings.c:2764 +#: locale/ipp-strings.c:2802 msgid "printer-state-reasons.binder-turned-on" msgstr "" #. TRANSLATORS: Binder Under Temperature -#: locale/ipp-strings.c:2766 +#: locale/ipp-strings.c:2804 msgid "printer-state-reasons.binder-under-temperature" msgstr "" #. TRANSLATORS: Binder Unrecoverable Failure -#: locale/ipp-strings.c:2768 +#: locale/ipp-strings.c:2806 msgid "printer-state-reasons.binder-unrecoverable-failure" msgstr "" #. TRANSLATORS: Binder Unrecoverable Storage Error -#: locale/ipp-strings.c:2770 +#: locale/ipp-strings.c:2808 msgid "printer-state-reasons.binder-unrecoverable-storage-error" msgstr "" #. TRANSLATORS: Binder Warming Up -#: locale/ipp-strings.c:2772 +#: locale/ipp-strings.c:2810 msgid "printer-state-reasons.binder-warming-up" msgstr "" #. TRANSLATORS: Camera Failure -#: locale/ipp-strings.c:2774 +#: locale/ipp-strings.c:2812 msgid "printer-state-reasons.camera-failure" msgstr "" #. TRANSLATORS: Chamber Cooling -#: locale/ipp-strings.c:2776 +#: locale/ipp-strings.c:2814 msgid "printer-state-reasons.chamber-cooling" msgstr "" #. TRANSLATORS: Chamber Failure -#: locale/ipp-strings.c:2778 +#: locale/ipp-strings.c:2816 msgid "printer-state-reasons.chamber-failure" msgstr "" #. TRANSLATORS: Chamber Heating -#: locale/ipp-strings.c:2780 +#: locale/ipp-strings.c:2818 msgid "printer-state-reasons.chamber-heating" msgstr "" #. TRANSLATORS: Chamber Temperature High -#: locale/ipp-strings.c:2782 +#: locale/ipp-strings.c:2820 msgid "printer-state-reasons.chamber-temperature-high" msgstr "" #. TRANSLATORS: Chamber Temperature Low -#: locale/ipp-strings.c:2784 +#: locale/ipp-strings.c:2822 msgid "printer-state-reasons.chamber-temperature-low" msgstr "" #. TRANSLATORS: Cleaner Life Almost Over -#: locale/ipp-strings.c:2786 +#: locale/ipp-strings.c:2824 msgid "printer-state-reasons.cleaner-life-almost-over" msgstr "" #. TRANSLATORS: Cleaner Life Over -#: locale/ipp-strings.c:2788 +#: locale/ipp-strings.c:2826 msgid "printer-state-reasons.cleaner-life-over" msgstr "" #. TRANSLATORS: Configuration Change -#: locale/ipp-strings.c:2790 +#: locale/ipp-strings.c:2828 msgid "printer-state-reasons.configuration-change" msgstr "" #. TRANSLATORS: Connecting To Device -#: locale/ipp-strings.c:2792 +#: locale/ipp-strings.c:2830 msgid "printer-state-reasons.connecting-to-device" msgstr "" #. TRANSLATORS: Cover Open -#: locale/ipp-strings.c:2794 +#: locale/ipp-strings.c:2832 msgid "printer-state-reasons.cover-open" msgstr "" #. TRANSLATORS: Deactivated -#: locale/ipp-strings.c:2796 +#: locale/ipp-strings.c:2834 msgid "printer-state-reasons.deactivated" msgstr "" #. TRANSLATORS: Developer Empty -#: locale/ipp-strings.c:2798 +#: locale/ipp-strings.c:2836 msgid "printer-state-reasons.developer-empty" msgstr "" #. TRANSLATORS: Developer Low -#: locale/ipp-strings.c:2800 +#: locale/ipp-strings.c:2838 msgid "printer-state-reasons.developer-low" msgstr "" #. TRANSLATORS: Die Cutter Added -#: locale/ipp-strings.c:2802 +#: locale/ipp-strings.c:2840 msgid "printer-state-reasons.die-cutter-added" msgstr "" #. TRANSLATORS: Die Cutter Almost Empty -#: locale/ipp-strings.c:2804 +#: locale/ipp-strings.c:2842 msgid "printer-state-reasons.die-cutter-almost-empty" msgstr "" #. TRANSLATORS: Die Cutter Almost Full -#: locale/ipp-strings.c:2806 +#: locale/ipp-strings.c:2844 msgid "printer-state-reasons.die-cutter-almost-full" msgstr "" #. TRANSLATORS: Die Cutter At Limit -#: locale/ipp-strings.c:2808 +#: locale/ipp-strings.c:2846 msgid "printer-state-reasons.die-cutter-at-limit" msgstr "" #. TRANSLATORS: Die Cutter Closed -#: locale/ipp-strings.c:2810 +#: locale/ipp-strings.c:2848 msgid "printer-state-reasons.die-cutter-closed" msgstr "" #. TRANSLATORS: Die Cutter Configuration Change -#: locale/ipp-strings.c:2812 +#: locale/ipp-strings.c:2850 msgid "printer-state-reasons.die-cutter-configuration-change" msgstr "" #. TRANSLATORS: Die Cutter Cover Closed -#: locale/ipp-strings.c:2814 +#: locale/ipp-strings.c:2852 msgid "printer-state-reasons.die-cutter-cover-closed" msgstr "" #. TRANSLATORS: Die Cutter Cover Open -#: locale/ipp-strings.c:2816 +#: locale/ipp-strings.c:2854 msgid "printer-state-reasons.die-cutter-cover-open" msgstr "" #. TRANSLATORS: Die Cutter Empty -#: locale/ipp-strings.c:2818 +#: locale/ipp-strings.c:2856 msgid "printer-state-reasons.die-cutter-empty" msgstr "" #. TRANSLATORS: Die Cutter Full -#: locale/ipp-strings.c:2820 +#: locale/ipp-strings.c:2858 msgid "printer-state-reasons.die-cutter-full" msgstr "" #. TRANSLATORS: Die Cutter Interlock Closed -#: locale/ipp-strings.c:2822 +#: locale/ipp-strings.c:2860 msgid "printer-state-reasons.die-cutter-interlock-closed" msgstr "" #. TRANSLATORS: Die Cutter Interlock Open -#: locale/ipp-strings.c:2824 +#: locale/ipp-strings.c:2862 msgid "printer-state-reasons.die-cutter-interlock-open" msgstr "" #. TRANSLATORS: Die Cutter Jam -#: locale/ipp-strings.c:2826 +#: locale/ipp-strings.c:2864 msgid "printer-state-reasons.die-cutter-jam" msgstr "" #. TRANSLATORS: Die Cutter Life Almost Over -#: locale/ipp-strings.c:2828 +#: locale/ipp-strings.c:2866 msgid "printer-state-reasons.die-cutter-life-almost-over" msgstr "" #. TRANSLATORS: Die Cutter Life Over -#: locale/ipp-strings.c:2830 +#: locale/ipp-strings.c:2868 msgid "printer-state-reasons.die-cutter-life-over" msgstr "" #. TRANSLATORS: Die Cutter Memory Exhausted -#: locale/ipp-strings.c:2832 +#: locale/ipp-strings.c:2870 msgid "printer-state-reasons.die-cutter-memory-exhausted" msgstr "" #. TRANSLATORS: Die Cutter Missing -#: locale/ipp-strings.c:2834 +#: locale/ipp-strings.c:2872 msgid "printer-state-reasons.die-cutter-missing" msgstr "" #. TRANSLATORS: Die Cutter Motor Failure -#: locale/ipp-strings.c:2836 +#: locale/ipp-strings.c:2874 msgid "printer-state-reasons.die-cutter-motor-failure" msgstr "" #. TRANSLATORS: Die Cutter Near Limit -#: locale/ipp-strings.c:2838 +#: locale/ipp-strings.c:2876 msgid "printer-state-reasons.die-cutter-near-limit" msgstr "" #. TRANSLATORS: Die Cutter Offline -#: locale/ipp-strings.c:2840 +#: locale/ipp-strings.c:2878 msgid "printer-state-reasons.die-cutter-offline" msgstr "" #. TRANSLATORS: Die Cutter Opened -#: locale/ipp-strings.c:2842 +#: locale/ipp-strings.c:2880 msgid "printer-state-reasons.die-cutter-opened" msgstr "" #. TRANSLATORS: Die Cutter Over Temperature -#: locale/ipp-strings.c:2844 +#: locale/ipp-strings.c:2882 msgid "printer-state-reasons.die-cutter-over-temperature" msgstr "" #. TRANSLATORS: Die Cutter Power Saver -#: locale/ipp-strings.c:2846 +#: locale/ipp-strings.c:2884 msgid "printer-state-reasons.die-cutter-power-saver" msgstr "" #. TRANSLATORS: Die Cutter Recoverable Failure -#: locale/ipp-strings.c:2848 +#: locale/ipp-strings.c:2886 msgid "printer-state-reasons.die-cutter-recoverable-failure" msgstr "" #. TRANSLATORS: Die Cutter Recoverable Storage -#: locale/ipp-strings.c:2850 +#: locale/ipp-strings.c:2888 msgid "printer-state-reasons.die-cutter-recoverable-storage" msgstr "" #. TRANSLATORS: Die Cutter Removed -#: locale/ipp-strings.c:2852 +#: locale/ipp-strings.c:2890 msgid "printer-state-reasons.die-cutter-removed" msgstr "" #. TRANSLATORS: Die Cutter Resource Added -#: locale/ipp-strings.c:2854 +#: locale/ipp-strings.c:2892 msgid "printer-state-reasons.die-cutter-resource-added" msgstr "" #. TRANSLATORS: Die Cutter Resource Removed -#: locale/ipp-strings.c:2856 +#: locale/ipp-strings.c:2894 msgid "printer-state-reasons.die-cutter-resource-removed" msgstr "" #. TRANSLATORS: Die Cutter Thermistor Failure -#: locale/ipp-strings.c:2858 +#: locale/ipp-strings.c:2896 msgid "printer-state-reasons.die-cutter-thermistor-failure" msgstr "" #. TRANSLATORS: Die Cutter Timing Failure -#: locale/ipp-strings.c:2860 +#: locale/ipp-strings.c:2898 msgid "printer-state-reasons.die-cutter-timing-failure" msgstr "" #. TRANSLATORS: Die Cutter Turned Off -#: locale/ipp-strings.c:2862 +#: locale/ipp-strings.c:2900 msgid "printer-state-reasons.die-cutter-turned-off" msgstr "" #. TRANSLATORS: Die Cutter Turned On -#: locale/ipp-strings.c:2864 +#: locale/ipp-strings.c:2902 msgid "printer-state-reasons.die-cutter-turned-on" msgstr "" #. TRANSLATORS: Die Cutter Under Temperature -#: locale/ipp-strings.c:2866 +#: locale/ipp-strings.c:2904 msgid "printer-state-reasons.die-cutter-under-temperature" msgstr "" #. TRANSLATORS: Die Cutter Unrecoverable Failure -#: locale/ipp-strings.c:2868 +#: locale/ipp-strings.c:2906 msgid "printer-state-reasons.die-cutter-unrecoverable-failure" msgstr "" #. TRANSLATORS: Die Cutter Unrecoverable Storage Error -#: locale/ipp-strings.c:2870 +#: locale/ipp-strings.c:2908 msgid "printer-state-reasons.die-cutter-unrecoverable-storage-error" msgstr "" #. TRANSLATORS: Die Cutter Warming Up -#: locale/ipp-strings.c:2872 +#: locale/ipp-strings.c:2910 msgid "printer-state-reasons.die-cutter-warming-up" msgstr "" #. TRANSLATORS: Door Open -#: locale/ipp-strings.c:2874 +#: locale/ipp-strings.c:2912 msgid "printer-state-reasons.door-open" msgstr "" #. TRANSLATORS: Extruder Cooling -#: locale/ipp-strings.c:2876 +#: locale/ipp-strings.c:2914 msgid "printer-state-reasons.extruder-cooling" msgstr "" #. TRANSLATORS: Extruder Failure -#: locale/ipp-strings.c:2878 +#: locale/ipp-strings.c:2916 msgid "printer-state-reasons.extruder-failure" msgstr "" #. TRANSLATORS: Extruder Heating -#: locale/ipp-strings.c:2880 +#: locale/ipp-strings.c:2918 msgid "printer-state-reasons.extruder-heating" msgstr "" #. TRANSLATORS: Extruder Jam -#: locale/ipp-strings.c:2882 +#: locale/ipp-strings.c:2920 msgid "printer-state-reasons.extruder-jam" msgstr "" #. TRANSLATORS: Extruder Temperature High -#: locale/ipp-strings.c:2884 +#: locale/ipp-strings.c:2922 msgid "printer-state-reasons.extruder-temperature-high" msgstr "" #. TRANSLATORS: Extruder Temperature Low -#: locale/ipp-strings.c:2886 +#: locale/ipp-strings.c:2924 msgid "printer-state-reasons.extruder-temperature-low" msgstr "" #. TRANSLATORS: Fan Failure -#: locale/ipp-strings.c:2888 +#: locale/ipp-strings.c:2926 msgid "printer-state-reasons.fan-failure" msgstr "" #. TRANSLATORS: Fax Modem Life Almost Over -#: locale/ipp-strings.c:2890 +#: locale/ipp-strings.c:2928 msgid "printer-state-reasons.fax-modem-life-almost-over" msgstr "" #. TRANSLATORS: Fax Modem Life Over -#: locale/ipp-strings.c:2892 +#: locale/ipp-strings.c:2930 msgid "printer-state-reasons.fax-modem-life-over" msgstr "" #. TRANSLATORS: Fax Modem Missing -#: locale/ipp-strings.c:2894 +#: locale/ipp-strings.c:2932 msgid "printer-state-reasons.fax-modem-missing" msgstr "" #. TRANSLATORS: Fax Modem Turned Off -#: locale/ipp-strings.c:2896 +#: locale/ipp-strings.c:2934 msgid "printer-state-reasons.fax-modem-turned-off" msgstr "" #. TRANSLATORS: Fax Modem Turned On -#: locale/ipp-strings.c:2898 +#: locale/ipp-strings.c:2936 msgid "printer-state-reasons.fax-modem-turned-on" msgstr "" #. TRANSLATORS: Folder Added -#: locale/ipp-strings.c:2900 +#: locale/ipp-strings.c:2938 msgid "printer-state-reasons.folder-added" msgstr "" #. TRANSLATORS: Folder Almost Empty -#: locale/ipp-strings.c:2902 +#: locale/ipp-strings.c:2940 msgid "printer-state-reasons.folder-almost-empty" msgstr "" #. TRANSLATORS: Folder Almost Full -#: locale/ipp-strings.c:2904 +#: locale/ipp-strings.c:2942 msgid "printer-state-reasons.folder-almost-full" msgstr "" #. TRANSLATORS: Folder At Limit -#: locale/ipp-strings.c:2906 +#: locale/ipp-strings.c:2944 msgid "printer-state-reasons.folder-at-limit" msgstr "" #. TRANSLATORS: Folder Closed -#: locale/ipp-strings.c:2908 +#: locale/ipp-strings.c:2946 msgid "printer-state-reasons.folder-closed" msgstr "" #. TRANSLATORS: Folder Configuration Change -#: locale/ipp-strings.c:2910 +#: locale/ipp-strings.c:2948 msgid "printer-state-reasons.folder-configuration-change" msgstr "" #. TRANSLATORS: Folder Cover Closed -#: locale/ipp-strings.c:2912 +#: locale/ipp-strings.c:2950 msgid "printer-state-reasons.folder-cover-closed" msgstr "" #. TRANSLATORS: Folder Cover Open -#: locale/ipp-strings.c:2914 +#: locale/ipp-strings.c:2952 msgid "printer-state-reasons.folder-cover-open" msgstr "" #. TRANSLATORS: Folder Empty -#: locale/ipp-strings.c:2916 +#: locale/ipp-strings.c:2954 msgid "printer-state-reasons.folder-empty" msgstr "" #. TRANSLATORS: Folder Full -#: locale/ipp-strings.c:2918 +#: locale/ipp-strings.c:2956 msgid "printer-state-reasons.folder-full" msgstr "" #. TRANSLATORS: Folder Interlock Closed -#: locale/ipp-strings.c:2920 +#: locale/ipp-strings.c:2958 msgid "printer-state-reasons.folder-interlock-closed" msgstr "" #. TRANSLATORS: Folder Interlock Open -#: locale/ipp-strings.c:2922 +#: locale/ipp-strings.c:2960 msgid "printer-state-reasons.folder-interlock-open" msgstr "" #. TRANSLATORS: Folder Jam -#: locale/ipp-strings.c:2924 +#: locale/ipp-strings.c:2962 msgid "printer-state-reasons.folder-jam" msgstr "" #. TRANSLATORS: Folder Life Almost Over -#: locale/ipp-strings.c:2926 +#: locale/ipp-strings.c:2964 msgid "printer-state-reasons.folder-life-almost-over" msgstr "" #. TRANSLATORS: Folder Life Over -#: locale/ipp-strings.c:2928 +#: locale/ipp-strings.c:2966 msgid "printer-state-reasons.folder-life-over" msgstr "" #. TRANSLATORS: Folder Memory Exhausted -#: locale/ipp-strings.c:2930 +#: locale/ipp-strings.c:2968 msgid "printer-state-reasons.folder-memory-exhausted" msgstr "" #. TRANSLATORS: Folder Missing -#: locale/ipp-strings.c:2932 +#: locale/ipp-strings.c:2970 msgid "printer-state-reasons.folder-missing" msgstr "" #. TRANSLATORS: Folder Motor Failure -#: locale/ipp-strings.c:2934 +#: locale/ipp-strings.c:2972 msgid "printer-state-reasons.folder-motor-failure" msgstr "" #. TRANSLATORS: Folder Near Limit -#: locale/ipp-strings.c:2936 +#: locale/ipp-strings.c:2974 msgid "printer-state-reasons.folder-near-limit" msgstr "" #. TRANSLATORS: Folder Offline -#: locale/ipp-strings.c:2938 +#: locale/ipp-strings.c:2976 msgid "printer-state-reasons.folder-offline" msgstr "" #. TRANSLATORS: Folder Opened -#: locale/ipp-strings.c:2940 +#: locale/ipp-strings.c:2978 msgid "printer-state-reasons.folder-opened" msgstr "" #. TRANSLATORS: Folder Over Temperature -#: locale/ipp-strings.c:2942 +#: locale/ipp-strings.c:2980 msgid "printer-state-reasons.folder-over-temperature" msgstr "" #. TRANSLATORS: Folder Power Saver -#: locale/ipp-strings.c:2944 +#: locale/ipp-strings.c:2982 msgid "printer-state-reasons.folder-power-saver" msgstr "" #. TRANSLATORS: Folder Recoverable Failure -#: locale/ipp-strings.c:2946 +#: locale/ipp-strings.c:2984 msgid "printer-state-reasons.folder-recoverable-failure" msgstr "" #. TRANSLATORS: Folder Recoverable Storage -#: locale/ipp-strings.c:2948 +#: locale/ipp-strings.c:2986 msgid "printer-state-reasons.folder-recoverable-storage" msgstr "" #. TRANSLATORS: Folder Removed -#: locale/ipp-strings.c:2950 +#: locale/ipp-strings.c:2988 msgid "printer-state-reasons.folder-removed" msgstr "" #. TRANSLATORS: Folder Resource Added -#: locale/ipp-strings.c:2952 +#: locale/ipp-strings.c:2990 msgid "printer-state-reasons.folder-resource-added" msgstr "" #. TRANSLATORS: Folder Resource Removed -#: locale/ipp-strings.c:2954 +#: locale/ipp-strings.c:2992 msgid "printer-state-reasons.folder-resource-removed" msgstr "" #. TRANSLATORS: Folder Thermistor Failure -#: locale/ipp-strings.c:2956 +#: locale/ipp-strings.c:2994 msgid "printer-state-reasons.folder-thermistor-failure" msgstr "" #. TRANSLATORS: Folder Timing Failure -#: locale/ipp-strings.c:2958 +#: locale/ipp-strings.c:2996 msgid "printer-state-reasons.folder-timing-failure" msgstr "" #. TRANSLATORS: Folder Turned Off -#: locale/ipp-strings.c:2960 +#: locale/ipp-strings.c:2998 msgid "printer-state-reasons.folder-turned-off" msgstr "" #. TRANSLATORS: Folder Turned On -#: locale/ipp-strings.c:2962 +#: locale/ipp-strings.c:3000 msgid "printer-state-reasons.folder-turned-on" msgstr "" #. TRANSLATORS: Folder Under Temperature -#: locale/ipp-strings.c:2964 +#: locale/ipp-strings.c:3002 msgid "printer-state-reasons.folder-under-temperature" msgstr "" #. TRANSLATORS: Folder Unrecoverable Failure -#: locale/ipp-strings.c:2966 +#: locale/ipp-strings.c:3004 msgid "printer-state-reasons.folder-unrecoverable-failure" msgstr "" #. TRANSLATORS: Folder Unrecoverable Storage Error -#: locale/ipp-strings.c:2968 +#: locale/ipp-strings.c:3006 msgid "printer-state-reasons.folder-unrecoverable-storage-error" msgstr "" #. TRANSLATORS: Folder Warming Up -#: locale/ipp-strings.c:2970 +#: locale/ipp-strings.c:3008 msgid "printer-state-reasons.folder-warming-up" msgstr "" #. TRANSLATORS: Fuser temperature high -#: locale/ipp-strings.c:2972 +#: locale/ipp-strings.c:3010 msgid "printer-state-reasons.fuser-over-temp" msgstr "" #. TRANSLATORS: Fuser temperature low -#: locale/ipp-strings.c:2974 +#: locale/ipp-strings.c:3012 msgid "printer-state-reasons.fuser-under-temp" msgstr "" #. TRANSLATORS: Hold New Jobs -#: locale/ipp-strings.c:2976 +#: locale/ipp-strings.c:3014 msgid "printer-state-reasons.hold-new-jobs" msgstr "" #. TRANSLATORS: Identify Printer -#: locale/ipp-strings.c:2978 +#: locale/ipp-strings.c:3016 msgid "printer-state-reasons.identify-printer-requested" msgstr "" #. TRANSLATORS: Imprinter Added -#: locale/ipp-strings.c:2980 +#: locale/ipp-strings.c:3018 msgid "printer-state-reasons.imprinter-added" msgstr "" #. TRANSLATORS: Imprinter Almost Empty -#: locale/ipp-strings.c:2982 +#: locale/ipp-strings.c:3020 msgid "printer-state-reasons.imprinter-almost-empty" msgstr "" #. TRANSLATORS: Imprinter Almost Full -#: locale/ipp-strings.c:2984 +#: locale/ipp-strings.c:3022 msgid "printer-state-reasons.imprinter-almost-full" msgstr "" #. TRANSLATORS: Imprinter At Limit -#: locale/ipp-strings.c:2986 +#: locale/ipp-strings.c:3024 msgid "printer-state-reasons.imprinter-at-limit" msgstr "" #. TRANSLATORS: Imprinter Closed -#: locale/ipp-strings.c:2988 +#: locale/ipp-strings.c:3026 msgid "printer-state-reasons.imprinter-closed" msgstr "" #. TRANSLATORS: Imprinter Configuration Change -#: locale/ipp-strings.c:2990 +#: locale/ipp-strings.c:3028 msgid "printer-state-reasons.imprinter-configuration-change" msgstr "" #. TRANSLATORS: Imprinter Cover Closed -#: locale/ipp-strings.c:2992 +#: locale/ipp-strings.c:3030 msgid "printer-state-reasons.imprinter-cover-closed" msgstr "" #. TRANSLATORS: Imprinter Cover Open -#: locale/ipp-strings.c:2994 +#: locale/ipp-strings.c:3032 msgid "printer-state-reasons.imprinter-cover-open" msgstr "" #. TRANSLATORS: Imprinter Empty -#: locale/ipp-strings.c:2996 +#: locale/ipp-strings.c:3034 msgid "printer-state-reasons.imprinter-empty" msgstr "" #. TRANSLATORS: Imprinter Full -#: locale/ipp-strings.c:2998 +#: locale/ipp-strings.c:3036 msgid "printer-state-reasons.imprinter-full" msgstr "" #. TRANSLATORS: Imprinter Interlock Closed -#: locale/ipp-strings.c:3000 +#: locale/ipp-strings.c:3038 msgid "printer-state-reasons.imprinter-interlock-closed" msgstr "" #. TRANSLATORS: Imprinter Interlock Open -#: locale/ipp-strings.c:3002 +#: locale/ipp-strings.c:3040 msgid "printer-state-reasons.imprinter-interlock-open" msgstr "" #. TRANSLATORS: Imprinter Jam -#: locale/ipp-strings.c:3004 +#: locale/ipp-strings.c:3042 msgid "printer-state-reasons.imprinter-jam" msgstr "" #. TRANSLATORS: Imprinter Life Almost Over -#: locale/ipp-strings.c:3006 +#: locale/ipp-strings.c:3044 msgid "printer-state-reasons.imprinter-life-almost-over" msgstr "" #. TRANSLATORS: Imprinter Life Over -#: locale/ipp-strings.c:3008 +#: locale/ipp-strings.c:3046 msgid "printer-state-reasons.imprinter-life-over" msgstr "" #. TRANSLATORS: Imprinter Memory Exhausted -#: locale/ipp-strings.c:3010 +#: locale/ipp-strings.c:3048 msgid "printer-state-reasons.imprinter-memory-exhausted" msgstr "" #. TRANSLATORS: Imprinter Missing -#: locale/ipp-strings.c:3012 +#: locale/ipp-strings.c:3050 msgid "printer-state-reasons.imprinter-missing" msgstr "" #. TRANSLATORS: Imprinter Motor Failure -#: locale/ipp-strings.c:3014 +#: locale/ipp-strings.c:3052 msgid "printer-state-reasons.imprinter-motor-failure" msgstr "" #. TRANSLATORS: Imprinter Near Limit -#: locale/ipp-strings.c:3016 +#: locale/ipp-strings.c:3054 msgid "printer-state-reasons.imprinter-near-limit" msgstr "" #. TRANSLATORS: Imprinter Offline -#: locale/ipp-strings.c:3018 +#: locale/ipp-strings.c:3056 msgid "printer-state-reasons.imprinter-offline" msgstr "" #. TRANSLATORS: Imprinter Opened -#: locale/ipp-strings.c:3020 +#: locale/ipp-strings.c:3058 msgid "printer-state-reasons.imprinter-opened" msgstr "" #. TRANSLATORS: Imprinter Over Temperature -#: locale/ipp-strings.c:3022 +#: locale/ipp-strings.c:3060 msgid "printer-state-reasons.imprinter-over-temperature" msgstr "" #. TRANSLATORS: Imprinter Power Saver -#: locale/ipp-strings.c:3024 +#: locale/ipp-strings.c:3062 msgid "printer-state-reasons.imprinter-power-saver" msgstr "" #. TRANSLATORS: Imprinter Recoverable Failure -#: locale/ipp-strings.c:3026 +#: locale/ipp-strings.c:3064 msgid "printer-state-reasons.imprinter-recoverable-failure" msgstr "" #. TRANSLATORS: Imprinter Recoverable Storage -#: locale/ipp-strings.c:3028 +#: locale/ipp-strings.c:3066 msgid "printer-state-reasons.imprinter-recoverable-storage" msgstr "" #. TRANSLATORS: Imprinter Removed -#: locale/ipp-strings.c:3030 +#: locale/ipp-strings.c:3068 msgid "printer-state-reasons.imprinter-removed" msgstr "" #. TRANSLATORS: Imprinter Resource Added -#: locale/ipp-strings.c:3032 +#: locale/ipp-strings.c:3070 msgid "printer-state-reasons.imprinter-resource-added" msgstr "" #. TRANSLATORS: Imprinter Resource Removed -#: locale/ipp-strings.c:3034 +#: locale/ipp-strings.c:3072 msgid "printer-state-reasons.imprinter-resource-removed" msgstr "" #. TRANSLATORS: Imprinter Thermistor Failure -#: locale/ipp-strings.c:3036 +#: locale/ipp-strings.c:3074 msgid "printer-state-reasons.imprinter-thermistor-failure" msgstr "" #. TRANSLATORS: Imprinter Timing Failure -#: locale/ipp-strings.c:3038 +#: locale/ipp-strings.c:3076 msgid "printer-state-reasons.imprinter-timing-failure" msgstr "" #. TRANSLATORS: Imprinter Turned Off -#: locale/ipp-strings.c:3040 +#: locale/ipp-strings.c:3078 msgid "printer-state-reasons.imprinter-turned-off" msgstr "" #. TRANSLATORS: Imprinter Turned On -#: locale/ipp-strings.c:3042 +#: locale/ipp-strings.c:3080 msgid "printer-state-reasons.imprinter-turned-on" msgstr "" #. TRANSLATORS: Imprinter Under Temperature -#: locale/ipp-strings.c:3044 +#: locale/ipp-strings.c:3082 msgid "printer-state-reasons.imprinter-under-temperature" msgstr "" #. TRANSLATORS: Imprinter Unrecoverable Failure -#: locale/ipp-strings.c:3046 +#: locale/ipp-strings.c:3084 msgid "printer-state-reasons.imprinter-unrecoverable-failure" msgstr "" #. TRANSLATORS: Imprinter Unrecoverable Storage Error -#: locale/ipp-strings.c:3048 +#: locale/ipp-strings.c:3086 msgid "printer-state-reasons.imprinter-unrecoverable-storage-error" msgstr "" #. TRANSLATORS: Imprinter Warming Up -#: locale/ipp-strings.c:3050 +#: locale/ipp-strings.c:3088 msgid "printer-state-reasons.imprinter-warming-up" msgstr "" #. TRANSLATORS: Input Cannot Feed Size Selected -#: locale/ipp-strings.c:3052 +#: locale/ipp-strings.c:3090 msgid "printer-state-reasons.input-cannot-feed-size-selected" msgstr "" #. TRANSLATORS: Input Manual Input Request -#: locale/ipp-strings.c:3054 +#: locale/ipp-strings.c:3092 msgid "printer-state-reasons.input-manual-input-request" msgstr "" #. TRANSLATORS: Input Media Color Change -#: locale/ipp-strings.c:3056 +#: locale/ipp-strings.c:3094 msgid "printer-state-reasons.input-media-color-change" msgstr "" #. TRANSLATORS: Input Media Form Parts Change -#: locale/ipp-strings.c:3058 +#: locale/ipp-strings.c:3096 msgid "printer-state-reasons.input-media-form-parts-change" msgstr "" #. TRANSLATORS: Input Media Size Change -#: locale/ipp-strings.c:3060 +#: locale/ipp-strings.c:3098 msgid "printer-state-reasons.input-media-size-change" msgstr "" #. TRANSLATORS: Input Media Tray Failure -#: locale/ipp-strings.c:3062 +#: locale/ipp-strings.c:3100 msgid "printer-state-reasons.input-media-tray-failure" msgstr "" #. TRANSLATORS: Input Media Tray Feed Error -#: locale/ipp-strings.c:3064 +#: locale/ipp-strings.c:3102 msgid "printer-state-reasons.input-media-tray-feed-error" msgstr "" #. TRANSLATORS: Input Media Tray Jam -#: locale/ipp-strings.c:3066 +#: locale/ipp-strings.c:3104 msgid "printer-state-reasons.input-media-tray-jam" msgstr "" #. TRANSLATORS: Input Media Type Change -#: locale/ipp-strings.c:3068 +#: locale/ipp-strings.c:3106 msgid "printer-state-reasons.input-media-type-change" msgstr "" #. TRANSLATORS: Input Media Weight Change -#: locale/ipp-strings.c:3070 +#: locale/ipp-strings.c:3108 msgid "printer-state-reasons.input-media-weight-change" msgstr "" #. TRANSLATORS: Input Pick Roller Failure -#: locale/ipp-strings.c:3072 +#: locale/ipp-strings.c:3110 msgid "printer-state-reasons.input-pick-roller-failure" msgstr "" #. TRANSLATORS: Input Pick Roller Life Over -#: locale/ipp-strings.c:3074 +#: locale/ipp-strings.c:3112 msgid "printer-state-reasons.input-pick-roller-life-over" msgstr "" #. TRANSLATORS: Input Pick Roller Life Warn -#: locale/ipp-strings.c:3076 +#: locale/ipp-strings.c:3114 msgid "printer-state-reasons.input-pick-roller-life-warn" msgstr "" #. TRANSLATORS: Input Pick Roller Missing -#: locale/ipp-strings.c:3078 +#: locale/ipp-strings.c:3116 msgid "printer-state-reasons.input-pick-roller-missing" msgstr "" #. TRANSLATORS: Input Tray Elevation Failure -#: locale/ipp-strings.c:3080 +#: locale/ipp-strings.c:3118 msgid "printer-state-reasons.input-tray-elevation-failure" msgstr "" #. TRANSLATORS: Paper tray is missing -#: locale/ipp-strings.c:3082 +#: locale/ipp-strings.c:3120 msgid "printer-state-reasons.input-tray-missing" msgstr "" #. TRANSLATORS: Input Tray Position Failure -#: locale/ipp-strings.c:3084 +#: locale/ipp-strings.c:3122 msgid "printer-state-reasons.input-tray-position-failure" msgstr "" #. TRANSLATORS: Inserter Added -#: locale/ipp-strings.c:3086 +#: locale/ipp-strings.c:3124 msgid "printer-state-reasons.inserter-added" msgstr "" #. TRANSLATORS: Inserter Almost Empty -#: locale/ipp-strings.c:3088 +#: locale/ipp-strings.c:3126 msgid "printer-state-reasons.inserter-almost-empty" msgstr "" #. TRANSLATORS: Inserter Almost Full -#: locale/ipp-strings.c:3090 +#: locale/ipp-strings.c:3128 msgid "printer-state-reasons.inserter-almost-full" msgstr "" #. TRANSLATORS: Inserter At Limit -#: locale/ipp-strings.c:3092 +#: locale/ipp-strings.c:3130 msgid "printer-state-reasons.inserter-at-limit" msgstr "" #. TRANSLATORS: Inserter Closed -#: locale/ipp-strings.c:3094 +#: locale/ipp-strings.c:3132 msgid "printer-state-reasons.inserter-closed" msgstr "" #. TRANSLATORS: Inserter Configuration Change -#: locale/ipp-strings.c:3096 +#: locale/ipp-strings.c:3134 msgid "printer-state-reasons.inserter-configuration-change" msgstr "" #. TRANSLATORS: Inserter Cover Closed -#: locale/ipp-strings.c:3098 +#: locale/ipp-strings.c:3136 msgid "printer-state-reasons.inserter-cover-closed" msgstr "" #. TRANSLATORS: Inserter Cover Open -#: locale/ipp-strings.c:3100 +#: locale/ipp-strings.c:3138 msgid "printer-state-reasons.inserter-cover-open" msgstr "" #. TRANSLATORS: Inserter Empty -#: locale/ipp-strings.c:3102 +#: locale/ipp-strings.c:3140 msgid "printer-state-reasons.inserter-empty" msgstr "" #. TRANSLATORS: Inserter Full -#: locale/ipp-strings.c:3104 +#: locale/ipp-strings.c:3142 msgid "printer-state-reasons.inserter-full" msgstr "" #. TRANSLATORS: Inserter Interlock Closed -#: locale/ipp-strings.c:3106 +#: locale/ipp-strings.c:3144 msgid "printer-state-reasons.inserter-interlock-closed" msgstr "" #. TRANSLATORS: Inserter Interlock Open -#: locale/ipp-strings.c:3108 +#: locale/ipp-strings.c:3146 msgid "printer-state-reasons.inserter-interlock-open" msgstr "" #. TRANSLATORS: Inserter Jam -#: locale/ipp-strings.c:3110 +#: locale/ipp-strings.c:3148 msgid "printer-state-reasons.inserter-jam" msgstr "" #. TRANSLATORS: Inserter Life Almost Over -#: locale/ipp-strings.c:3112 +#: locale/ipp-strings.c:3150 msgid "printer-state-reasons.inserter-life-almost-over" msgstr "" #. TRANSLATORS: Inserter Life Over -#: locale/ipp-strings.c:3114 +#: locale/ipp-strings.c:3152 msgid "printer-state-reasons.inserter-life-over" msgstr "" #. TRANSLATORS: Inserter Memory Exhausted -#: locale/ipp-strings.c:3116 +#: locale/ipp-strings.c:3154 msgid "printer-state-reasons.inserter-memory-exhausted" msgstr "" #. TRANSLATORS: Inserter Missing -#: locale/ipp-strings.c:3118 +#: locale/ipp-strings.c:3156 msgid "printer-state-reasons.inserter-missing" msgstr "" #. TRANSLATORS: Inserter Motor Failure -#: locale/ipp-strings.c:3120 +#: locale/ipp-strings.c:3158 msgid "printer-state-reasons.inserter-motor-failure" msgstr "" #. TRANSLATORS: Inserter Near Limit -#: locale/ipp-strings.c:3122 +#: locale/ipp-strings.c:3160 msgid "printer-state-reasons.inserter-near-limit" msgstr "" #. TRANSLATORS: Inserter Offline -#: locale/ipp-strings.c:3124 +#: locale/ipp-strings.c:3162 msgid "printer-state-reasons.inserter-offline" msgstr "" #. TRANSLATORS: Inserter Opened -#: locale/ipp-strings.c:3126 +#: locale/ipp-strings.c:3164 msgid "printer-state-reasons.inserter-opened" msgstr "" #. TRANSLATORS: Inserter Over Temperature -#: locale/ipp-strings.c:3128 +#: locale/ipp-strings.c:3166 msgid "printer-state-reasons.inserter-over-temperature" msgstr "" #. TRANSLATORS: Inserter Power Saver -#: locale/ipp-strings.c:3130 +#: locale/ipp-strings.c:3168 msgid "printer-state-reasons.inserter-power-saver" msgstr "" #. TRANSLATORS: Inserter Recoverable Failure -#: locale/ipp-strings.c:3132 +#: locale/ipp-strings.c:3170 msgid "printer-state-reasons.inserter-recoverable-failure" msgstr "" #. TRANSLATORS: Inserter Recoverable Storage -#: locale/ipp-strings.c:3134 +#: locale/ipp-strings.c:3172 msgid "printer-state-reasons.inserter-recoverable-storage" msgstr "" #. TRANSLATORS: Inserter Removed -#: locale/ipp-strings.c:3136 +#: locale/ipp-strings.c:3174 msgid "printer-state-reasons.inserter-removed" msgstr "" #. TRANSLATORS: Inserter Resource Added -#: locale/ipp-strings.c:3138 +#: locale/ipp-strings.c:3176 msgid "printer-state-reasons.inserter-resource-added" msgstr "" #. TRANSLATORS: Inserter Resource Removed -#: locale/ipp-strings.c:3140 +#: locale/ipp-strings.c:3178 msgid "printer-state-reasons.inserter-resource-removed" msgstr "" #. TRANSLATORS: Inserter Thermistor Failure -#: locale/ipp-strings.c:3142 +#: locale/ipp-strings.c:3180 msgid "printer-state-reasons.inserter-thermistor-failure" msgstr "" #. TRANSLATORS: Inserter Timing Failure -#: locale/ipp-strings.c:3144 +#: locale/ipp-strings.c:3182 msgid "printer-state-reasons.inserter-timing-failure" msgstr "" #. TRANSLATORS: Inserter Turned Off -#: locale/ipp-strings.c:3146 +#: locale/ipp-strings.c:3184 msgid "printer-state-reasons.inserter-turned-off" msgstr "" #. TRANSLATORS: Inserter Turned On -#: locale/ipp-strings.c:3148 +#: locale/ipp-strings.c:3186 msgid "printer-state-reasons.inserter-turned-on" msgstr "" #. TRANSLATORS: Inserter Under Temperature -#: locale/ipp-strings.c:3150 +#: locale/ipp-strings.c:3188 msgid "printer-state-reasons.inserter-under-temperature" msgstr "" #. TRANSLATORS: Inserter Unrecoverable Failure -#: locale/ipp-strings.c:3152 +#: locale/ipp-strings.c:3190 msgid "printer-state-reasons.inserter-unrecoverable-failure" msgstr "" #. TRANSLATORS: Inserter Unrecoverable Storage Error -#: locale/ipp-strings.c:3154 +#: locale/ipp-strings.c:3192 msgid "printer-state-reasons.inserter-unrecoverable-storage-error" msgstr "" #. TRANSLATORS: Inserter Warming Up -#: locale/ipp-strings.c:3156 +#: locale/ipp-strings.c:3194 msgid "printer-state-reasons.inserter-warming-up" msgstr "" #. TRANSLATORS: Interlock Closed -#: locale/ipp-strings.c:3158 +#: locale/ipp-strings.c:3196 msgid "printer-state-reasons.interlock-closed" msgstr "" #. TRANSLATORS: Interlock Open -#: locale/ipp-strings.c:3160 +#: locale/ipp-strings.c:3198 msgid "printer-state-reasons.interlock-open" msgstr "" #. TRANSLATORS: Interpreter Cartridge Added -#: locale/ipp-strings.c:3162 +#: locale/ipp-strings.c:3200 msgid "printer-state-reasons.interpreter-cartridge-added" msgstr "" #. TRANSLATORS: Interpreter Cartridge Removed -#: locale/ipp-strings.c:3164 +#: locale/ipp-strings.c:3202 msgid "printer-state-reasons.interpreter-cartridge-deleted" msgstr "" #. TRANSLATORS: Interpreter Complex Page Encountered -#: locale/ipp-strings.c:3166 +#: locale/ipp-strings.c:3204 msgid "printer-state-reasons.interpreter-complex-page-encountered" msgstr "" #. TRANSLATORS: Interpreter Memory Decrease -#: locale/ipp-strings.c:3168 +#: locale/ipp-strings.c:3206 msgid "printer-state-reasons.interpreter-memory-decrease" msgstr "" #. TRANSLATORS: Interpreter Memory Increase -#: locale/ipp-strings.c:3170 +#: locale/ipp-strings.c:3208 msgid "printer-state-reasons.interpreter-memory-increase" msgstr "" #. TRANSLATORS: Interpreter Resource Added -#: locale/ipp-strings.c:3172 +#: locale/ipp-strings.c:3210 msgid "printer-state-reasons.interpreter-resource-added" msgstr "" #. TRANSLATORS: Interpreter Resource Deleted -#: locale/ipp-strings.c:3174 +#: locale/ipp-strings.c:3212 msgid "printer-state-reasons.interpreter-resource-deleted" msgstr "" #. TRANSLATORS: Printer resource unavailable -#: locale/ipp-strings.c:3176 +#: locale/ipp-strings.c:3214 msgid "printer-state-reasons.interpreter-resource-unavailable" msgstr "" #. TRANSLATORS: Lamp At End of Life -#: locale/ipp-strings.c:3178 +#: locale/ipp-strings.c:3216 msgid "printer-state-reasons.lamp-at-eol" msgstr "" #. TRANSLATORS: Lamp Failure -#: locale/ipp-strings.c:3180 +#: locale/ipp-strings.c:3218 msgid "printer-state-reasons.lamp-failure" msgstr "" #. TRANSLATORS: Lamp Near End of Life -#: locale/ipp-strings.c:3182 +#: locale/ipp-strings.c:3220 msgid "printer-state-reasons.lamp-near-eol" msgstr "" #. TRANSLATORS: Laser At End of Life -#: locale/ipp-strings.c:3184 +#: locale/ipp-strings.c:3222 msgid "printer-state-reasons.laser-at-eol" msgstr "" #. TRANSLATORS: Laser Failure -#: locale/ipp-strings.c:3186 +#: locale/ipp-strings.c:3224 msgid "printer-state-reasons.laser-failure" msgstr "" #. TRANSLATORS: Laser Near End of Life -#: locale/ipp-strings.c:3188 +#: locale/ipp-strings.c:3226 msgid "printer-state-reasons.laser-near-eol" msgstr "" #. TRANSLATORS: Envelope Maker Added -#: locale/ipp-strings.c:3190 +#: locale/ipp-strings.c:3228 msgid "printer-state-reasons.make-envelope-added" msgstr "" #. TRANSLATORS: Envelope Maker Almost Empty -#: locale/ipp-strings.c:3192 +#: locale/ipp-strings.c:3230 msgid "printer-state-reasons.make-envelope-almost-empty" msgstr "" #. TRANSLATORS: Envelope Maker Almost Full -#: locale/ipp-strings.c:3194 +#: locale/ipp-strings.c:3232 msgid "printer-state-reasons.make-envelope-almost-full" msgstr "" #. TRANSLATORS: Envelope Maker At Limit -#: locale/ipp-strings.c:3196 +#: locale/ipp-strings.c:3234 msgid "printer-state-reasons.make-envelope-at-limit" msgstr "" #. TRANSLATORS: Envelope Maker Closed -#: locale/ipp-strings.c:3198 +#: locale/ipp-strings.c:3236 msgid "printer-state-reasons.make-envelope-closed" msgstr "" #. TRANSLATORS: Envelope Maker Configuration Change -#: locale/ipp-strings.c:3200 +#: locale/ipp-strings.c:3238 msgid "printer-state-reasons.make-envelope-configuration-change" msgstr "" #. TRANSLATORS: Envelope Maker Cover Closed -#: locale/ipp-strings.c:3202 +#: locale/ipp-strings.c:3240 msgid "printer-state-reasons.make-envelope-cover-closed" msgstr "" #. TRANSLATORS: Envelope Maker Cover Open -#: locale/ipp-strings.c:3204 +#: locale/ipp-strings.c:3242 msgid "printer-state-reasons.make-envelope-cover-open" msgstr "" #. TRANSLATORS: Envelope Maker Empty -#: locale/ipp-strings.c:3206 +#: locale/ipp-strings.c:3244 msgid "printer-state-reasons.make-envelope-empty" msgstr "" #. TRANSLATORS: Envelope Maker Full -#: locale/ipp-strings.c:3208 +#: locale/ipp-strings.c:3246 msgid "printer-state-reasons.make-envelope-full" msgstr "" #. TRANSLATORS: Envelope Maker Interlock Closed -#: locale/ipp-strings.c:3210 +#: locale/ipp-strings.c:3248 msgid "printer-state-reasons.make-envelope-interlock-closed" msgstr "" #. TRANSLATORS: Envelope Maker Interlock Open -#: locale/ipp-strings.c:3212 +#: locale/ipp-strings.c:3250 msgid "printer-state-reasons.make-envelope-interlock-open" msgstr "" #. TRANSLATORS: Envelope Maker Jam -#: locale/ipp-strings.c:3214 +#: locale/ipp-strings.c:3252 msgid "printer-state-reasons.make-envelope-jam" msgstr "" #. TRANSLATORS: Envelope Maker Life Almost Over -#: locale/ipp-strings.c:3216 +#: locale/ipp-strings.c:3254 msgid "printer-state-reasons.make-envelope-life-almost-over" msgstr "" #. TRANSLATORS: Envelope Maker Life Over -#: locale/ipp-strings.c:3218 +#: locale/ipp-strings.c:3256 msgid "printer-state-reasons.make-envelope-life-over" msgstr "" #. TRANSLATORS: Envelope Maker Memory Exhausted -#: locale/ipp-strings.c:3220 +#: locale/ipp-strings.c:3258 msgid "printer-state-reasons.make-envelope-memory-exhausted" msgstr "" #. TRANSLATORS: Envelope Maker Missing -#: locale/ipp-strings.c:3222 +#: locale/ipp-strings.c:3260 msgid "printer-state-reasons.make-envelope-missing" msgstr "" #. TRANSLATORS: Envelope Maker Motor Failure -#: locale/ipp-strings.c:3224 +#: locale/ipp-strings.c:3262 msgid "printer-state-reasons.make-envelope-motor-failure" msgstr "" #. TRANSLATORS: Envelope Maker Near Limit -#: locale/ipp-strings.c:3226 +#: locale/ipp-strings.c:3264 msgid "printer-state-reasons.make-envelope-near-limit" msgstr "" #. TRANSLATORS: Envelope Maker Offline -#: locale/ipp-strings.c:3228 +#: locale/ipp-strings.c:3266 msgid "printer-state-reasons.make-envelope-offline" msgstr "" #. TRANSLATORS: Envelope Maker Opened -#: locale/ipp-strings.c:3230 +#: locale/ipp-strings.c:3268 msgid "printer-state-reasons.make-envelope-opened" msgstr "" #. TRANSLATORS: Envelope Maker Over Temperature -#: locale/ipp-strings.c:3232 +#: locale/ipp-strings.c:3270 msgid "printer-state-reasons.make-envelope-over-temperature" msgstr "" #. TRANSLATORS: Envelope Maker Power Saver -#: locale/ipp-strings.c:3234 +#: locale/ipp-strings.c:3272 msgid "printer-state-reasons.make-envelope-power-saver" msgstr "" #. TRANSLATORS: Envelope Maker Recoverable Failure -#: locale/ipp-strings.c:3236 +#: locale/ipp-strings.c:3274 msgid "printer-state-reasons.make-envelope-recoverable-failure" msgstr "" #. TRANSLATORS: Envelope Maker Recoverable Storage -#: locale/ipp-strings.c:3238 +#: locale/ipp-strings.c:3276 msgid "printer-state-reasons.make-envelope-recoverable-storage" msgstr "" #. TRANSLATORS: Envelope Maker Removed -#: locale/ipp-strings.c:3240 +#: locale/ipp-strings.c:3278 msgid "printer-state-reasons.make-envelope-removed" msgstr "" #. TRANSLATORS: Envelope Maker Resource Added -#: locale/ipp-strings.c:3242 +#: locale/ipp-strings.c:3280 msgid "printer-state-reasons.make-envelope-resource-added" msgstr "" #. TRANSLATORS: Envelope Maker Resource Removed -#: locale/ipp-strings.c:3244 +#: locale/ipp-strings.c:3282 msgid "printer-state-reasons.make-envelope-resource-removed" msgstr "" #. TRANSLATORS: Envelope Maker Thermistor Failure -#: locale/ipp-strings.c:3246 +#: locale/ipp-strings.c:3284 msgid "printer-state-reasons.make-envelope-thermistor-failure" msgstr "" #. TRANSLATORS: Envelope Maker Timing Failure -#: locale/ipp-strings.c:3248 +#: locale/ipp-strings.c:3286 msgid "printer-state-reasons.make-envelope-timing-failure" msgstr "" #. TRANSLATORS: Envelope Maker Turned Off -#: locale/ipp-strings.c:3250 +#: locale/ipp-strings.c:3288 msgid "printer-state-reasons.make-envelope-turned-off" msgstr "" #. TRANSLATORS: Envelope Maker Turned On -#: locale/ipp-strings.c:3252 +#: locale/ipp-strings.c:3290 msgid "printer-state-reasons.make-envelope-turned-on" msgstr "" #. TRANSLATORS: Envelope Maker Under Temperature -#: locale/ipp-strings.c:3254 +#: locale/ipp-strings.c:3292 msgid "printer-state-reasons.make-envelope-under-temperature" msgstr "" #. TRANSLATORS: Envelope Maker Unrecoverable Failure -#: locale/ipp-strings.c:3256 +#: locale/ipp-strings.c:3294 msgid "printer-state-reasons.make-envelope-unrecoverable-failure" msgstr "" #. TRANSLATORS: Envelope Maker Unrecoverable Storage Error -#: locale/ipp-strings.c:3258 +#: locale/ipp-strings.c:3296 msgid "printer-state-reasons.make-envelope-unrecoverable-storage-error" msgstr "" #. TRANSLATORS: Envelope Maker Warming Up -#: locale/ipp-strings.c:3260 +#: locale/ipp-strings.c:3298 msgid "printer-state-reasons.make-envelope-warming-up" msgstr "" #. TRANSLATORS: Marker Adjusting Print Quality -#: locale/ipp-strings.c:3262 +#: locale/ipp-strings.c:3300 msgid "printer-state-reasons.marker-adjusting-print-quality" msgstr "" #. TRANSLATORS: Marker Cleaner Missing -#: locale/ipp-strings.c:3264 +#: locale/ipp-strings.c:3302 msgid "printer-state-reasons.marker-cleaner-missing" msgstr "" #. TRANSLATORS: Marker Developer Almost Empty -#: locale/ipp-strings.c:3266 +#: locale/ipp-strings.c:3304 msgid "printer-state-reasons.marker-developer-almost-empty" msgstr "" #. TRANSLATORS: Marker Developer Empty -#: locale/ipp-strings.c:3268 +#: locale/ipp-strings.c:3306 msgid "printer-state-reasons.marker-developer-empty" msgstr "" #. TRANSLATORS: Marker Developer Missing -#: locale/ipp-strings.c:3270 +#: locale/ipp-strings.c:3308 msgid "printer-state-reasons.marker-developer-missing" msgstr "" #. TRANSLATORS: Marker Fuser Missing -#: locale/ipp-strings.c:3272 +#: locale/ipp-strings.c:3310 msgid "printer-state-reasons.marker-fuser-missing" msgstr "" #. TRANSLATORS: Marker Fuser Thermistor Failure -#: locale/ipp-strings.c:3274 +#: locale/ipp-strings.c:3312 msgid "printer-state-reasons.marker-fuser-thermistor-failure" msgstr "" #. TRANSLATORS: Marker Fuser Timing Failure -#: locale/ipp-strings.c:3276 +#: locale/ipp-strings.c:3314 msgid "printer-state-reasons.marker-fuser-timing-failure" msgstr "" #. TRANSLATORS: Marker Ink Almost Empty -#: locale/ipp-strings.c:3278 +#: locale/ipp-strings.c:3316 msgid "printer-state-reasons.marker-ink-almost-empty" msgstr "" #. TRANSLATORS: Marker Ink Empty -#: locale/ipp-strings.c:3280 +#: locale/ipp-strings.c:3318 msgid "printer-state-reasons.marker-ink-empty" msgstr "" #. TRANSLATORS: Marker Ink Missing -#: locale/ipp-strings.c:3282 +#: locale/ipp-strings.c:3320 msgid "printer-state-reasons.marker-ink-missing" msgstr "" #. TRANSLATORS: Marker Opc Missing -#: locale/ipp-strings.c:3284 +#: locale/ipp-strings.c:3322 msgid "printer-state-reasons.marker-opc-missing" msgstr "" #. TRANSLATORS: Marker Print Ribbon Almost Empty -#: locale/ipp-strings.c:3286 +#: locale/ipp-strings.c:3324 msgid "printer-state-reasons.marker-print-ribbon-almost-empty" msgstr "" #. TRANSLATORS: Marker Print Ribbon Empty -#: locale/ipp-strings.c:3288 +#: locale/ipp-strings.c:3326 msgid "printer-state-reasons.marker-print-ribbon-empty" msgstr "" #. TRANSLATORS: Marker Print Ribbon Missing -#: locale/ipp-strings.c:3290 +#: locale/ipp-strings.c:3328 msgid "printer-state-reasons.marker-print-ribbon-missing" msgstr "" #. TRANSLATORS: Marker Supply Almost Empty -#: locale/ipp-strings.c:3292 +#: locale/ipp-strings.c:3330 msgid "printer-state-reasons.marker-supply-almost-empty" msgstr "" #. TRANSLATORS: Ink/toner empty -#: locale/ipp-strings.c:3294 +#: locale/ipp-strings.c:3332 msgid "printer-state-reasons.marker-supply-empty" msgstr "" #. TRANSLATORS: Ink/toner low -#: locale/ipp-strings.c:3296 +#: locale/ipp-strings.c:3334 msgid "printer-state-reasons.marker-supply-low" msgstr "" #. TRANSLATORS: Marker Supply Missing -#: locale/ipp-strings.c:3298 +#: locale/ipp-strings.c:3336 msgid "printer-state-reasons.marker-supply-missing" msgstr "" #. TRANSLATORS: Marker Toner Cartridge Missing -#: locale/ipp-strings.c:3300 +#: locale/ipp-strings.c:3338 msgid "printer-state-reasons.marker-toner-cartridge-missing" msgstr "" #. TRANSLATORS: Marker Toner Missing -#: locale/ipp-strings.c:3302 +#: locale/ipp-strings.c:3340 msgid "printer-state-reasons.marker-toner-missing" msgstr "" #. TRANSLATORS: Ink/toner waste bin almost full -#: locale/ipp-strings.c:3304 +#: locale/ipp-strings.c:3342 msgid "printer-state-reasons.marker-waste-almost-full" msgstr "" #. TRANSLATORS: Ink/toner waste bin full -#: locale/ipp-strings.c:3306 +#: locale/ipp-strings.c:3344 msgid "printer-state-reasons.marker-waste-full" msgstr "" #. TRANSLATORS: Marker Waste Ink Receptacle Almost Full -#: locale/ipp-strings.c:3308 +#: locale/ipp-strings.c:3346 msgid "printer-state-reasons.marker-waste-ink-receptacle-almost-full" msgstr "" #. TRANSLATORS: Marker Waste Ink Receptacle Full -#: locale/ipp-strings.c:3310 +#: locale/ipp-strings.c:3348 msgid "printer-state-reasons.marker-waste-ink-receptacle-full" msgstr "" #. TRANSLATORS: Marker Waste Ink Receptacle Missing -#: locale/ipp-strings.c:3312 +#: locale/ipp-strings.c:3350 msgid "printer-state-reasons.marker-waste-ink-receptacle-missing" msgstr "" #. TRANSLATORS: Marker Waste Missing -#: locale/ipp-strings.c:3314 +#: locale/ipp-strings.c:3352 msgid "printer-state-reasons.marker-waste-missing" msgstr "" #. TRANSLATORS: Marker Waste Toner Receptacle Almost Full -#: locale/ipp-strings.c:3316 +#: locale/ipp-strings.c:3354 msgid "printer-state-reasons.marker-waste-toner-receptacle-almost-full" msgstr "" #. TRANSLATORS: Marker Waste Toner Receptacle Full -#: locale/ipp-strings.c:3318 +#: locale/ipp-strings.c:3356 msgid "printer-state-reasons.marker-waste-toner-receptacle-full" msgstr "" #. TRANSLATORS: Marker Waste Toner Receptacle Missing -#: locale/ipp-strings.c:3320 +#: locale/ipp-strings.c:3358 msgid "printer-state-reasons.marker-waste-toner-receptacle-missing" msgstr "" #. TRANSLATORS: Material Empty -#: locale/ipp-strings.c:3322 +#: locale/ipp-strings.c:3360 msgid "printer-state-reasons.material-empty" msgstr "" #. TRANSLATORS: Material Low -#: locale/ipp-strings.c:3324 +#: locale/ipp-strings.c:3362 msgid "printer-state-reasons.material-low" msgstr "" #. TRANSLATORS: Material Needed -#: locale/ipp-strings.c:3326 +#: locale/ipp-strings.c:3364 msgid "printer-state-reasons.material-needed" msgstr "" #. TRANSLATORS: Media Drying -#: locale/ipp-strings.c:3328 +#: locale/ipp-strings.c:3366 msgid "printer-state-reasons.media-drying" msgstr "" #. TRANSLATORS: Paper tray is empty -#: locale/ipp-strings.c:3330 +#: locale/ipp-strings.c:3368 msgid "printer-state-reasons.media-empty" msgstr "" #. TRANSLATORS: Paper jam -#: locale/ipp-strings.c:3332 +#: locale/ipp-strings.c:3370 msgid "printer-state-reasons.media-jam" msgstr "" #. TRANSLATORS: Paper tray is almost empty -#: locale/ipp-strings.c:3334 +#: locale/ipp-strings.c:3372 msgid "printer-state-reasons.media-low" msgstr "" #. TRANSLATORS: Load paper -#: locale/ipp-strings.c:3336 +#: locale/ipp-strings.c:3374 msgid "printer-state-reasons.media-needed" msgstr "" #. TRANSLATORS: Media Path Cannot Do 2-Sided Printing -#: locale/ipp-strings.c:3338 +#: locale/ipp-strings.c:3376 msgid "printer-state-reasons.media-path-cannot-duplex-media-selected" msgstr "" #. TRANSLATORS: Media Path Failure -#: locale/ipp-strings.c:3340 +#: locale/ipp-strings.c:3378 msgid "printer-state-reasons.media-path-failure" msgstr "" #. TRANSLATORS: Media Path Input Empty -#: locale/ipp-strings.c:3342 +#: locale/ipp-strings.c:3380 msgid "printer-state-reasons.media-path-input-empty" msgstr "" #. TRANSLATORS: Media Path Input Feed Error -#: locale/ipp-strings.c:3344 +#: locale/ipp-strings.c:3382 msgid "printer-state-reasons.media-path-input-feed-error" msgstr "" #. TRANSLATORS: Media Path Input Jam -#: locale/ipp-strings.c:3346 +#: locale/ipp-strings.c:3384 msgid "printer-state-reasons.media-path-input-jam" msgstr "" #. TRANSLATORS: Media Path Input Request -#: locale/ipp-strings.c:3348 +#: locale/ipp-strings.c:3386 msgid "printer-state-reasons.media-path-input-request" msgstr "" #. TRANSLATORS: Media Path Jam -#: locale/ipp-strings.c:3350 +#: locale/ipp-strings.c:3388 msgid "printer-state-reasons.media-path-jam" msgstr "" #. TRANSLATORS: Media Path Media Tray Almost Full -#: locale/ipp-strings.c:3352 +#: locale/ipp-strings.c:3390 msgid "printer-state-reasons.media-path-media-tray-almost-full" msgstr "" #. TRANSLATORS: Media Path Media Tray Full -#: locale/ipp-strings.c:3354 +#: locale/ipp-strings.c:3392 msgid "printer-state-reasons.media-path-media-tray-full" msgstr "" #. TRANSLATORS: Media Path Media Tray Missing -#: locale/ipp-strings.c:3356 +#: locale/ipp-strings.c:3394 msgid "printer-state-reasons.media-path-media-tray-missing" msgstr "" #. TRANSLATORS: Media Path Output Feed Error -#: locale/ipp-strings.c:3358 +#: locale/ipp-strings.c:3396 msgid "printer-state-reasons.media-path-output-feed-error" msgstr "" #. TRANSLATORS: Media Path Output Full -#: locale/ipp-strings.c:3360 +#: locale/ipp-strings.c:3398 msgid "printer-state-reasons.media-path-output-full" msgstr "" #. TRANSLATORS: Media Path Output Jam -#: locale/ipp-strings.c:3362 +#: locale/ipp-strings.c:3400 msgid "printer-state-reasons.media-path-output-jam" msgstr "" #. TRANSLATORS: Media Path Pick Roller Failure -#: locale/ipp-strings.c:3364 +#: locale/ipp-strings.c:3402 msgid "printer-state-reasons.media-path-pick-roller-failure" msgstr "" #. TRANSLATORS: Media Path Pick Roller Life Over -#: locale/ipp-strings.c:3366 +#: locale/ipp-strings.c:3404 msgid "printer-state-reasons.media-path-pick-roller-life-over" msgstr "" #. TRANSLATORS: Media Path Pick Roller Life Warn -#: locale/ipp-strings.c:3368 +#: locale/ipp-strings.c:3406 msgid "printer-state-reasons.media-path-pick-roller-life-warn" msgstr "" #. TRANSLATORS: Media Path Pick Roller Missing -#: locale/ipp-strings.c:3370 +#: locale/ipp-strings.c:3408 msgid "printer-state-reasons.media-path-pick-roller-missing" msgstr "" #. TRANSLATORS: Motor Failure -#: locale/ipp-strings.c:3372 +#: locale/ipp-strings.c:3410 msgid "printer-state-reasons.motor-failure" msgstr "" #. TRANSLATORS: Printer going offline -#: locale/ipp-strings.c:3374 +#: locale/ipp-strings.c:3412 msgid "printer-state-reasons.moving-to-paused" msgstr "" #. TRANSLATORS: None -#: locale/ipp-strings.c:3376 +#: locale/ipp-strings.c:3414 msgid "printer-state-reasons.none" msgstr "" #. TRANSLATORS: Optical Photoconductor Life Over -#: locale/ipp-strings.c:3378 +#: locale/ipp-strings.c:3416 msgid "printer-state-reasons.opc-life-over" msgstr "" #. TRANSLATORS: OPC almost at end-of-life -#: locale/ipp-strings.c:3380 +#: locale/ipp-strings.c:3418 msgid "printer-state-reasons.opc-near-eol" msgstr "" #. TRANSLATORS: Check the printer for errors -#: locale/ipp-strings.c:3382 +#: locale/ipp-strings.c:3420 msgid "printer-state-reasons.other" msgstr "" #. TRANSLATORS: Output bin is almost full -#: locale/ipp-strings.c:3384 +#: locale/ipp-strings.c:3422 msgid "printer-state-reasons.output-area-almost-full" msgstr "" #. TRANSLATORS: Output bin is full -#: locale/ipp-strings.c:3386 +#: locale/ipp-strings.c:3424 msgid "printer-state-reasons.output-area-full" msgstr "" #. TRANSLATORS: Output Mailbox Select Failure -#: locale/ipp-strings.c:3388 +#: locale/ipp-strings.c:3426 msgid "printer-state-reasons.output-mailbox-select-failure" msgstr "" #. TRANSLATORS: Output Media Tray Failure -#: locale/ipp-strings.c:3390 +#: locale/ipp-strings.c:3428 msgid "printer-state-reasons.output-media-tray-failure" msgstr "" #. TRANSLATORS: Output Media Tray Feed Error -#: locale/ipp-strings.c:3392 +#: locale/ipp-strings.c:3430 msgid "printer-state-reasons.output-media-tray-feed-error" msgstr "" #. TRANSLATORS: Output Media Tray Jam -#: locale/ipp-strings.c:3394 +#: locale/ipp-strings.c:3432 msgid "printer-state-reasons.output-media-tray-jam" msgstr "" #. TRANSLATORS: Output tray is missing -#: locale/ipp-strings.c:3396 +#: locale/ipp-strings.c:3434 msgid "printer-state-reasons.output-tray-missing" msgstr "" #. TRANSLATORS: Paused -#: locale/ipp-strings.c:3398 +#: locale/ipp-strings.c:3436 msgid "printer-state-reasons.paused" msgstr "" #. TRANSLATORS: Perforater Added -#: locale/ipp-strings.c:3400 +#: locale/ipp-strings.c:3438 msgid "printer-state-reasons.perforater-added" msgstr "" #. TRANSLATORS: Perforater Almost Empty -#: locale/ipp-strings.c:3402 +#: locale/ipp-strings.c:3440 msgid "printer-state-reasons.perforater-almost-empty" msgstr "" #. TRANSLATORS: Perforater Almost Full -#: locale/ipp-strings.c:3404 +#: locale/ipp-strings.c:3442 msgid "printer-state-reasons.perforater-almost-full" msgstr "" #. TRANSLATORS: Perforater At Limit -#: locale/ipp-strings.c:3406 +#: locale/ipp-strings.c:3444 msgid "printer-state-reasons.perforater-at-limit" msgstr "" #. TRANSLATORS: Perforater Closed -#: locale/ipp-strings.c:3408 +#: locale/ipp-strings.c:3446 msgid "printer-state-reasons.perforater-closed" msgstr "" #. TRANSLATORS: Perforater Configuration Change -#: locale/ipp-strings.c:3410 +#: locale/ipp-strings.c:3448 msgid "printer-state-reasons.perforater-configuration-change" msgstr "" #. TRANSLATORS: Perforater Cover Closed -#: locale/ipp-strings.c:3412 +#: locale/ipp-strings.c:3450 msgid "printer-state-reasons.perforater-cover-closed" msgstr "" #. TRANSLATORS: Perforater Cover Open -#: locale/ipp-strings.c:3414 +#: locale/ipp-strings.c:3452 msgid "printer-state-reasons.perforater-cover-open" msgstr "" #. TRANSLATORS: Perforater Empty -#: locale/ipp-strings.c:3416 +#: locale/ipp-strings.c:3454 msgid "printer-state-reasons.perforater-empty" msgstr "" #. TRANSLATORS: Perforater Full -#: locale/ipp-strings.c:3418 +#: locale/ipp-strings.c:3456 msgid "printer-state-reasons.perforater-full" msgstr "" #. TRANSLATORS: Perforater Interlock Closed -#: locale/ipp-strings.c:3420 +#: locale/ipp-strings.c:3458 msgid "printer-state-reasons.perforater-interlock-closed" msgstr "" #. TRANSLATORS: Perforater Interlock Open -#: locale/ipp-strings.c:3422 +#: locale/ipp-strings.c:3460 msgid "printer-state-reasons.perforater-interlock-open" msgstr "" #. TRANSLATORS: Perforater Jam -#: locale/ipp-strings.c:3424 +#: locale/ipp-strings.c:3462 msgid "printer-state-reasons.perforater-jam" msgstr "" #. TRANSLATORS: Perforater Life Almost Over -#: locale/ipp-strings.c:3426 +#: locale/ipp-strings.c:3464 msgid "printer-state-reasons.perforater-life-almost-over" msgstr "" #. TRANSLATORS: Perforater Life Over -#: locale/ipp-strings.c:3428 +#: locale/ipp-strings.c:3466 msgid "printer-state-reasons.perforater-life-over" msgstr "" #. TRANSLATORS: Perforater Memory Exhausted -#: locale/ipp-strings.c:3430 +#: locale/ipp-strings.c:3468 msgid "printer-state-reasons.perforater-memory-exhausted" msgstr "" #. TRANSLATORS: Perforater Missing -#: locale/ipp-strings.c:3432 +#: locale/ipp-strings.c:3470 msgid "printer-state-reasons.perforater-missing" msgstr "" #. TRANSLATORS: Perforater Motor Failure -#: locale/ipp-strings.c:3434 +#: locale/ipp-strings.c:3472 msgid "printer-state-reasons.perforater-motor-failure" msgstr "" #. TRANSLATORS: Perforater Near Limit -#: locale/ipp-strings.c:3436 +#: locale/ipp-strings.c:3474 msgid "printer-state-reasons.perforater-near-limit" msgstr "" #. TRANSLATORS: Perforater Offline -#: locale/ipp-strings.c:3438 +#: locale/ipp-strings.c:3476 msgid "printer-state-reasons.perforater-offline" msgstr "" #. TRANSLATORS: Perforater Opened -#: locale/ipp-strings.c:3440 +#: locale/ipp-strings.c:3478 msgid "printer-state-reasons.perforater-opened" msgstr "" #. TRANSLATORS: Perforater Over Temperature -#: locale/ipp-strings.c:3442 +#: locale/ipp-strings.c:3480 msgid "printer-state-reasons.perforater-over-temperature" msgstr "" #. TRANSLATORS: Perforater Power Saver -#: locale/ipp-strings.c:3444 +#: locale/ipp-strings.c:3482 msgid "printer-state-reasons.perforater-power-saver" msgstr "" #. TRANSLATORS: Perforater Recoverable Failure -#: locale/ipp-strings.c:3446 +#: locale/ipp-strings.c:3484 msgid "printer-state-reasons.perforater-recoverable-failure" msgstr "" #. TRANSLATORS: Perforater Recoverable Storage -#: locale/ipp-strings.c:3448 +#: locale/ipp-strings.c:3486 msgid "printer-state-reasons.perforater-recoverable-storage" msgstr "" #. TRANSLATORS: Perforater Removed -#: locale/ipp-strings.c:3450 +#: locale/ipp-strings.c:3488 msgid "printer-state-reasons.perforater-removed" msgstr "" #. TRANSLATORS: Perforater Resource Added -#: locale/ipp-strings.c:3452 +#: locale/ipp-strings.c:3490 msgid "printer-state-reasons.perforater-resource-added" msgstr "" #. TRANSLATORS: Perforater Resource Removed -#: locale/ipp-strings.c:3454 +#: locale/ipp-strings.c:3492 msgid "printer-state-reasons.perforater-resource-removed" msgstr "" #. TRANSLATORS: Perforater Thermistor Failure -#: locale/ipp-strings.c:3456 +#: locale/ipp-strings.c:3494 msgid "printer-state-reasons.perforater-thermistor-failure" msgstr "" #. TRANSLATORS: Perforater Timing Failure -#: locale/ipp-strings.c:3458 +#: locale/ipp-strings.c:3496 msgid "printer-state-reasons.perforater-timing-failure" msgstr "" #. TRANSLATORS: Perforater Turned Off -#: locale/ipp-strings.c:3460 +#: locale/ipp-strings.c:3498 msgid "printer-state-reasons.perforater-turned-off" msgstr "" #. TRANSLATORS: Perforater Turned On -#: locale/ipp-strings.c:3462 +#: locale/ipp-strings.c:3500 msgid "printer-state-reasons.perforater-turned-on" msgstr "" #. TRANSLATORS: Perforater Under Temperature -#: locale/ipp-strings.c:3464 +#: locale/ipp-strings.c:3502 msgid "printer-state-reasons.perforater-under-temperature" msgstr "" #. TRANSLATORS: Perforater Unrecoverable Failure -#: locale/ipp-strings.c:3466 +#: locale/ipp-strings.c:3504 msgid "printer-state-reasons.perforater-unrecoverable-failure" msgstr "" #. TRANSLATORS: Perforater Unrecoverable Storage Error -#: locale/ipp-strings.c:3468 +#: locale/ipp-strings.c:3506 msgid "printer-state-reasons.perforater-unrecoverable-storage-error" msgstr "" #. TRANSLATORS: Perforater Warming Up -#: locale/ipp-strings.c:3470 +#: locale/ipp-strings.c:3508 msgid "printer-state-reasons.perforater-warming-up" msgstr "" #. TRANSLATORS: Platform Cooling -#: locale/ipp-strings.c:3472 +#: locale/ipp-strings.c:3510 msgid "printer-state-reasons.platform-cooling" msgstr "" #. TRANSLATORS: Platform Failure -#: locale/ipp-strings.c:3474 +#: locale/ipp-strings.c:3512 msgid "printer-state-reasons.platform-failure" msgstr "" #. TRANSLATORS: Platform Heating -#: locale/ipp-strings.c:3476 +#: locale/ipp-strings.c:3514 msgid "printer-state-reasons.platform-heating" msgstr "" #. TRANSLATORS: Platform Temperature High -#: locale/ipp-strings.c:3478 +#: locale/ipp-strings.c:3516 msgid "printer-state-reasons.platform-temperature-high" msgstr "" #. TRANSLATORS: Platform Temperature Low -#: locale/ipp-strings.c:3480 +#: locale/ipp-strings.c:3518 msgid "printer-state-reasons.platform-temperature-low" msgstr "" #. TRANSLATORS: Power Down -#: locale/ipp-strings.c:3482 +#: locale/ipp-strings.c:3520 msgid "printer-state-reasons.power-down" msgstr "" #. TRANSLATORS: Power Up -#: locale/ipp-strings.c:3484 +#: locale/ipp-strings.c:3522 msgid "printer-state-reasons.power-up" msgstr "" #. TRANSLATORS: Printer Reset Manually -#: locale/ipp-strings.c:3486 +#: locale/ipp-strings.c:3524 msgid "printer-state-reasons.printer-manual-reset" msgstr "" #. TRANSLATORS: Printer Reset Remotely -#: locale/ipp-strings.c:3488 +#: locale/ipp-strings.c:3526 msgid "printer-state-reasons.printer-nms-reset" msgstr "" #. TRANSLATORS: Printer Ready To Print -#: locale/ipp-strings.c:3490 +#: locale/ipp-strings.c:3528 msgid "printer-state-reasons.printer-ready-to-print" msgstr "" #. TRANSLATORS: Puncher Added -#: locale/ipp-strings.c:3492 +#: locale/ipp-strings.c:3530 msgid "printer-state-reasons.puncher-added" msgstr "" #. TRANSLATORS: Puncher Almost Empty -#: locale/ipp-strings.c:3494 +#: locale/ipp-strings.c:3532 msgid "printer-state-reasons.puncher-almost-empty" msgstr "" #. TRANSLATORS: Puncher Almost Full -#: locale/ipp-strings.c:3496 +#: locale/ipp-strings.c:3534 msgid "printer-state-reasons.puncher-almost-full" msgstr "" #. TRANSLATORS: Puncher At Limit -#: locale/ipp-strings.c:3498 +#: locale/ipp-strings.c:3536 msgid "printer-state-reasons.puncher-at-limit" msgstr "" #. TRANSLATORS: Puncher Closed -#: locale/ipp-strings.c:3500 +#: locale/ipp-strings.c:3538 msgid "printer-state-reasons.puncher-closed" msgstr "" #. TRANSLATORS: Puncher Configuration Change -#: locale/ipp-strings.c:3502 +#: locale/ipp-strings.c:3540 msgid "printer-state-reasons.puncher-configuration-change" msgstr "" #. TRANSLATORS: Puncher Cover Closed -#: locale/ipp-strings.c:3504 +#: locale/ipp-strings.c:3542 msgid "printer-state-reasons.puncher-cover-closed" msgstr "" #. TRANSLATORS: Puncher Cover Open -#: locale/ipp-strings.c:3506 +#: locale/ipp-strings.c:3544 msgid "printer-state-reasons.puncher-cover-open" msgstr "" #. TRANSLATORS: Puncher Empty -#: locale/ipp-strings.c:3508 +#: locale/ipp-strings.c:3546 msgid "printer-state-reasons.puncher-empty" msgstr "" #. TRANSLATORS: Puncher Full -#: locale/ipp-strings.c:3510 +#: locale/ipp-strings.c:3548 msgid "printer-state-reasons.puncher-full" msgstr "" #. TRANSLATORS: Puncher Interlock Closed -#: locale/ipp-strings.c:3512 +#: locale/ipp-strings.c:3550 msgid "printer-state-reasons.puncher-interlock-closed" msgstr "" #. TRANSLATORS: Puncher Interlock Open -#: locale/ipp-strings.c:3514 +#: locale/ipp-strings.c:3552 msgid "printer-state-reasons.puncher-interlock-open" msgstr "" #. TRANSLATORS: Puncher Jam -#: locale/ipp-strings.c:3516 +#: locale/ipp-strings.c:3554 msgid "printer-state-reasons.puncher-jam" msgstr "" #. TRANSLATORS: Puncher Life Almost Over -#: locale/ipp-strings.c:3518 +#: locale/ipp-strings.c:3556 msgid "printer-state-reasons.puncher-life-almost-over" msgstr "" #. TRANSLATORS: Puncher Life Over -#: locale/ipp-strings.c:3520 +#: locale/ipp-strings.c:3558 msgid "printer-state-reasons.puncher-life-over" msgstr "" #. TRANSLATORS: Puncher Memory Exhausted -#: locale/ipp-strings.c:3522 +#: locale/ipp-strings.c:3560 msgid "printer-state-reasons.puncher-memory-exhausted" msgstr "" #. TRANSLATORS: Puncher Missing -#: locale/ipp-strings.c:3524 +#: locale/ipp-strings.c:3562 msgid "printer-state-reasons.puncher-missing" msgstr "" #. TRANSLATORS: Puncher Motor Failure -#: locale/ipp-strings.c:3526 +#: locale/ipp-strings.c:3564 msgid "printer-state-reasons.puncher-motor-failure" msgstr "" #. TRANSLATORS: Puncher Near Limit -#: locale/ipp-strings.c:3528 +#: locale/ipp-strings.c:3566 msgid "printer-state-reasons.puncher-near-limit" msgstr "" #. TRANSLATORS: Puncher Offline -#: locale/ipp-strings.c:3530 +#: locale/ipp-strings.c:3568 msgid "printer-state-reasons.puncher-offline" msgstr "" #. TRANSLATORS: Puncher Opened -#: locale/ipp-strings.c:3532 +#: locale/ipp-strings.c:3570 msgid "printer-state-reasons.puncher-opened" msgstr "" #. TRANSLATORS: Puncher Over Temperature -#: locale/ipp-strings.c:3534 +#: locale/ipp-strings.c:3572 msgid "printer-state-reasons.puncher-over-temperature" msgstr "" #. TRANSLATORS: Puncher Power Saver -#: locale/ipp-strings.c:3536 +#: locale/ipp-strings.c:3574 msgid "printer-state-reasons.puncher-power-saver" msgstr "" #. TRANSLATORS: Puncher Recoverable Failure -#: locale/ipp-strings.c:3538 +#: locale/ipp-strings.c:3576 msgid "printer-state-reasons.puncher-recoverable-failure" msgstr "" #. TRANSLATORS: Puncher Recoverable Storage -#: locale/ipp-strings.c:3540 +#: locale/ipp-strings.c:3578 msgid "printer-state-reasons.puncher-recoverable-storage" msgstr "" #. TRANSLATORS: Puncher Removed -#: locale/ipp-strings.c:3542 +#: locale/ipp-strings.c:3580 msgid "printer-state-reasons.puncher-removed" msgstr "" #. TRANSLATORS: Puncher Resource Added -#: locale/ipp-strings.c:3544 +#: locale/ipp-strings.c:3582 msgid "printer-state-reasons.puncher-resource-added" msgstr "" #. TRANSLATORS: Puncher Resource Removed -#: locale/ipp-strings.c:3546 +#: locale/ipp-strings.c:3584 msgid "printer-state-reasons.puncher-resource-removed" msgstr "" #. TRANSLATORS: Puncher Thermistor Failure -#: locale/ipp-strings.c:3548 +#: locale/ipp-strings.c:3586 msgid "printer-state-reasons.puncher-thermistor-failure" msgstr "" #. TRANSLATORS: Puncher Timing Failure -#: locale/ipp-strings.c:3550 +#: locale/ipp-strings.c:3588 msgid "printer-state-reasons.puncher-timing-failure" msgstr "" #. TRANSLATORS: Puncher Turned Off -#: locale/ipp-strings.c:3552 +#: locale/ipp-strings.c:3590 msgid "printer-state-reasons.puncher-turned-off" msgstr "" #. TRANSLATORS: Puncher Turned On -#: locale/ipp-strings.c:3554 +#: locale/ipp-strings.c:3592 msgid "printer-state-reasons.puncher-turned-on" msgstr "" #. TRANSLATORS: Puncher Under Temperature -#: locale/ipp-strings.c:3556 +#: locale/ipp-strings.c:3594 msgid "printer-state-reasons.puncher-under-temperature" msgstr "" #. TRANSLATORS: Puncher Unrecoverable Failure -#: locale/ipp-strings.c:3558 +#: locale/ipp-strings.c:3596 msgid "printer-state-reasons.puncher-unrecoverable-failure" msgstr "" #. TRANSLATORS: Puncher Unrecoverable Storage Error -#: locale/ipp-strings.c:3560 +#: locale/ipp-strings.c:3598 msgid "printer-state-reasons.puncher-unrecoverable-storage-error" msgstr "" #. TRANSLATORS: Puncher Warming Up -#: locale/ipp-strings.c:3562 +#: locale/ipp-strings.c:3600 msgid "printer-state-reasons.puncher-warming-up" msgstr "" #. TRANSLATORS: Separation Cutter Added -#: locale/ipp-strings.c:3564 +#: locale/ipp-strings.c:3602 msgid "printer-state-reasons.separation-cutter-added" msgstr "" #. TRANSLATORS: Separation Cutter Almost Empty -#: locale/ipp-strings.c:3566 +#: locale/ipp-strings.c:3604 msgid "printer-state-reasons.separation-cutter-almost-empty" msgstr "" #. TRANSLATORS: Separation Cutter Almost Full -#: locale/ipp-strings.c:3568 +#: locale/ipp-strings.c:3606 msgid "printer-state-reasons.separation-cutter-almost-full" msgstr "" #. TRANSLATORS: Separation Cutter At Limit -#: locale/ipp-strings.c:3570 +#: locale/ipp-strings.c:3608 msgid "printer-state-reasons.separation-cutter-at-limit" msgstr "" #. TRANSLATORS: Separation Cutter Closed -#: locale/ipp-strings.c:3572 +#: locale/ipp-strings.c:3610 msgid "printer-state-reasons.separation-cutter-closed" msgstr "" #. TRANSLATORS: Separation Cutter Configuration Change -#: locale/ipp-strings.c:3574 +#: locale/ipp-strings.c:3612 msgid "printer-state-reasons.separation-cutter-configuration-change" msgstr "" #. TRANSLATORS: Separation Cutter Cover Closed -#: locale/ipp-strings.c:3576 +#: locale/ipp-strings.c:3614 msgid "printer-state-reasons.separation-cutter-cover-closed" msgstr "" #. TRANSLATORS: Separation Cutter Cover Open -#: locale/ipp-strings.c:3578 +#: locale/ipp-strings.c:3616 msgid "printer-state-reasons.separation-cutter-cover-open" msgstr "" #. TRANSLATORS: Separation Cutter Empty -#: locale/ipp-strings.c:3580 +#: locale/ipp-strings.c:3618 msgid "printer-state-reasons.separation-cutter-empty" msgstr "" #. TRANSLATORS: Separation Cutter Full -#: locale/ipp-strings.c:3582 +#: locale/ipp-strings.c:3620 msgid "printer-state-reasons.separation-cutter-full" msgstr "" #. TRANSLATORS: Separation Cutter Interlock Closed -#: locale/ipp-strings.c:3584 +#: locale/ipp-strings.c:3622 msgid "printer-state-reasons.separation-cutter-interlock-closed" msgstr "" #. TRANSLATORS: Separation Cutter Interlock Open -#: locale/ipp-strings.c:3586 +#: locale/ipp-strings.c:3624 msgid "printer-state-reasons.separation-cutter-interlock-open" msgstr "" #. TRANSLATORS: Separation Cutter Jam -#: locale/ipp-strings.c:3588 +#: locale/ipp-strings.c:3626 msgid "printer-state-reasons.separation-cutter-jam" msgstr "" #. TRANSLATORS: Separation Cutter Life Almost Over -#: locale/ipp-strings.c:3590 +#: locale/ipp-strings.c:3628 msgid "printer-state-reasons.separation-cutter-life-almost-over" msgstr "" #. TRANSLATORS: Separation Cutter Life Over -#: locale/ipp-strings.c:3592 +#: locale/ipp-strings.c:3630 msgid "printer-state-reasons.separation-cutter-life-over" msgstr "" #. TRANSLATORS: Separation Cutter Memory Exhausted -#: locale/ipp-strings.c:3594 +#: locale/ipp-strings.c:3632 msgid "printer-state-reasons.separation-cutter-memory-exhausted" msgstr "" #. TRANSLATORS: Separation Cutter Missing -#: locale/ipp-strings.c:3596 +#: locale/ipp-strings.c:3634 msgid "printer-state-reasons.separation-cutter-missing" msgstr "" #. TRANSLATORS: Separation Cutter Motor Failure -#: locale/ipp-strings.c:3598 +#: locale/ipp-strings.c:3636 msgid "printer-state-reasons.separation-cutter-motor-failure" msgstr "" #. TRANSLATORS: Separation Cutter Near Limit -#: locale/ipp-strings.c:3600 +#: locale/ipp-strings.c:3638 msgid "printer-state-reasons.separation-cutter-near-limit" msgstr "" #. TRANSLATORS: Separation Cutter Offline -#: locale/ipp-strings.c:3602 +#: locale/ipp-strings.c:3640 msgid "printer-state-reasons.separation-cutter-offline" msgstr "" #. TRANSLATORS: Separation Cutter Opened -#: locale/ipp-strings.c:3604 +#: locale/ipp-strings.c:3642 msgid "printer-state-reasons.separation-cutter-opened" msgstr "" #. TRANSLATORS: Separation Cutter Over Temperature -#: locale/ipp-strings.c:3606 +#: locale/ipp-strings.c:3644 msgid "printer-state-reasons.separation-cutter-over-temperature" msgstr "" #. TRANSLATORS: Separation Cutter Power Saver -#: locale/ipp-strings.c:3608 +#: locale/ipp-strings.c:3646 msgid "printer-state-reasons.separation-cutter-power-saver" msgstr "" #. TRANSLATORS: Separation Cutter Recoverable Failure -#: locale/ipp-strings.c:3610 +#: locale/ipp-strings.c:3648 msgid "printer-state-reasons.separation-cutter-recoverable-failure" msgstr "" #. TRANSLATORS: Separation Cutter Recoverable Storage -#: locale/ipp-strings.c:3612 +#: locale/ipp-strings.c:3650 msgid "printer-state-reasons.separation-cutter-recoverable-storage" msgstr "" #. TRANSLATORS: Separation Cutter Removed -#: locale/ipp-strings.c:3614 +#: locale/ipp-strings.c:3652 msgid "printer-state-reasons.separation-cutter-removed" msgstr "" #. TRANSLATORS: Separation Cutter Resource Added -#: locale/ipp-strings.c:3616 +#: locale/ipp-strings.c:3654 msgid "printer-state-reasons.separation-cutter-resource-added" msgstr "" #. TRANSLATORS: Separation Cutter Resource Removed -#: locale/ipp-strings.c:3618 +#: locale/ipp-strings.c:3656 msgid "printer-state-reasons.separation-cutter-resource-removed" msgstr "" #. TRANSLATORS: Separation Cutter Thermistor Failure -#: locale/ipp-strings.c:3620 +#: locale/ipp-strings.c:3658 msgid "printer-state-reasons.separation-cutter-thermistor-failure" msgstr "" #. TRANSLATORS: Separation Cutter Timing Failure -#: locale/ipp-strings.c:3622 +#: locale/ipp-strings.c:3660 msgid "printer-state-reasons.separation-cutter-timing-failure" msgstr "" #. TRANSLATORS: Separation Cutter Turned Off -#: locale/ipp-strings.c:3624 +#: locale/ipp-strings.c:3662 msgid "printer-state-reasons.separation-cutter-turned-off" msgstr "" #. TRANSLATORS: Separation Cutter Turned On -#: locale/ipp-strings.c:3626 +#: locale/ipp-strings.c:3664 msgid "printer-state-reasons.separation-cutter-turned-on" msgstr "" #. TRANSLATORS: Separation Cutter Under Temperature -#: locale/ipp-strings.c:3628 +#: locale/ipp-strings.c:3666 msgid "printer-state-reasons.separation-cutter-under-temperature" msgstr "" #. TRANSLATORS: Separation Cutter Unrecoverable Failure -#: locale/ipp-strings.c:3630 +#: locale/ipp-strings.c:3668 msgid "printer-state-reasons.separation-cutter-unrecoverable-failure" msgstr "" #. TRANSLATORS: Separation Cutter Unrecoverable Storage Error -#: locale/ipp-strings.c:3632 +#: locale/ipp-strings.c:3670 msgid "printer-state-reasons.separation-cutter-unrecoverable-storage-error" msgstr "" #. TRANSLATORS: Separation Cutter Warming Up -#: locale/ipp-strings.c:3634 +#: locale/ipp-strings.c:3672 msgid "printer-state-reasons.separation-cutter-warming-up" msgstr "" #. TRANSLATORS: Sheet Rotator Added -#: locale/ipp-strings.c:3636 +#: locale/ipp-strings.c:3674 msgid "printer-state-reasons.sheet-rotator-added" msgstr "" #. TRANSLATORS: Sheet Rotator Almost Empty -#: locale/ipp-strings.c:3638 +#: locale/ipp-strings.c:3676 msgid "printer-state-reasons.sheet-rotator-almost-empty" msgstr "" #. TRANSLATORS: Sheet Rotator Almost Full -#: locale/ipp-strings.c:3640 +#: locale/ipp-strings.c:3678 msgid "printer-state-reasons.sheet-rotator-almost-full" msgstr "" #. TRANSLATORS: Sheet Rotator At Limit -#: locale/ipp-strings.c:3642 +#: locale/ipp-strings.c:3680 msgid "printer-state-reasons.sheet-rotator-at-limit" msgstr "" #. TRANSLATORS: Sheet Rotator Closed -#: locale/ipp-strings.c:3644 +#: locale/ipp-strings.c:3682 msgid "printer-state-reasons.sheet-rotator-closed" msgstr "" #. TRANSLATORS: Sheet Rotator Configuration Change -#: locale/ipp-strings.c:3646 +#: locale/ipp-strings.c:3684 msgid "printer-state-reasons.sheet-rotator-configuration-change" msgstr "" #. TRANSLATORS: Sheet Rotator Cover Closed -#: locale/ipp-strings.c:3648 +#: locale/ipp-strings.c:3686 msgid "printer-state-reasons.sheet-rotator-cover-closed" msgstr "" #. TRANSLATORS: Sheet Rotator Cover Open -#: locale/ipp-strings.c:3650 +#: locale/ipp-strings.c:3688 msgid "printer-state-reasons.sheet-rotator-cover-open" msgstr "" #. TRANSLATORS: Sheet Rotator Empty -#: locale/ipp-strings.c:3652 +#: locale/ipp-strings.c:3690 msgid "printer-state-reasons.sheet-rotator-empty" msgstr "" #. TRANSLATORS: Sheet Rotator Full -#: locale/ipp-strings.c:3654 +#: locale/ipp-strings.c:3692 msgid "printer-state-reasons.sheet-rotator-full" msgstr "" #. TRANSLATORS: Sheet Rotator Interlock Closed -#: locale/ipp-strings.c:3656 +#: locale/ipp-strings.c:3694 msgid "printer-state-reasons.sheet-rotator-interlock-closed" msgstr "" #. TRANSLATORS: Sheet Rotator Interlock Open -#: locale/ipp-strings.c:3658 +#: locale/ipp-strings.c:3696 msgid "printer-state-reasons.sheet-rotator-interlock-open" msgstr "" #. TRANSLATORS: Sheet Rotator Jam -#: locale/ipp-strings.c:3660 +#: locale/ipp-strings.c:3698 msgid "printer-state-reasons.sheet-rotator-jam" msgstr "" #. TRANSLATORS: Sheet Rotator Life Almost Over -#: locale/ipp-strings.c:3662 +#: locale/ipp-strings.c:3700 msgid "printer-state-reasons.sheet-rotator-life-almost-over" msgstr "" #. TRANSLATORS: Sheet Rotator Life Over -#: locale/ipp-strings.c:3664 +#: locale/ipp-strings.c:3702 msgid "printer-state-reasons.sheet-rotator-life-over" msgstr "" #. TRANSLATORS: Sheet Rotator Memory Exhausted -#: locale/ipp-strings.c:3666 +#: locale/ipp-strings.c:3704 msgid "printer-state-reasons.sheet-rotator-memory-exhausted" msgstr "" #. TRANSLATORS: Sheet Rotator Missing -#: locale/ipp-strings.c:3668 +#: locale/ipp-strings.c:3706 msgid "printer-state-reasons.sheet-rotator-missing" msgstr "" #. TRANSLATORS: Sheet Rotator Motor Failure -#: locale/ipp-strings.c:3670 +#: locale/ipp-strings.c:3708 msgid "printer-state-reasons.sheet-rotator-motor-failure" msgstr "" #. TRANSLATORS: Sheet Rotator Near Limit -#: locale/ipp-strings.c:3672 +#: locale/ipp-strings.c:3710 msgid "printer-state-reasons.sheet-rotator-near-limit" msgstr "" #. TRANSLATORS: Sheet Rotator Offline -#: locale/ipp-strings.c:3674 +#: locale/ipp-strings.c:3712 msgid "printer-state-reasons.sheet-rotator-offline" msgstr "" #. TRANSLATORS: Sheet Rotator Opened -#: locale/ipp-strings.c:3676 +#: locale/ipp-strings.c:3714 msgid "printer-state-reasons.sheet-rotator-opened" msgstr "" #. TRANSLATORS: Sheet Rotator Over Temperature -#: locale/ipp-strings.c:3678 +#: locale/ipp-strings.c:3716 msgid "printer-state-reasons.sheet-rotator-over-temperature" msgstr "" #. TRANSLATORS: Sheet Rotator Power Saver -#: locale/ipp-strings.c:3680 +#: locale/ipp-strings.c:3718 msgid "printer-state-reasons.sheet-rotator-power-saver" msgstr "" #. TRANSLATORS: Sheet Rotator Recoverable Failure -#: locale/ipp-strings.c:3682 +#: locale/ipp-strings.c:3720 msgid "printer-state-reasons.sheet-rotator-recoverable-failure" msgstr "" #. TRANSLATORS: Sheet Rotator Recoverable Storage -#: locale/ipp-strings.c:3684 +#: locale/ipp-strings.c:3722 msgid "printer-state-reasons.sheet-rotator-recoverable-storage" msgstr "" #. TRANSLATORS: Sheet Rotator Removed -#: locale/ipp-strings.c:3686 +#: locale/ipp-strings.c:3724 msgid "printer-state-reasons.sheet-rotator-removed" msgstr "" #. TRANSLATORS: Sheet Rotator Resource Added -#: locale/ipp-strings.c:3688 +#: locale/ipp-strings.c:3726 msgid "printer-state-reasons.sheet-rotator-resource-added" msgstr "" #. TRANSLATORS: Sheet Rotator Resource Removed -#: locale/ipp-strings.c:3690 +#: locale/ipp-strings.c:3728 msgid "printer-state-reasons.sheet-rotator-resource-removed" msgstr "" #. TRANSLATORS: Sheet Rotator Thermistor Failure -#: locale/ipp-strings.c:3692 +#: locale/ipp-strings.c:3730 msgid "printer-state-reasons.sheet-rotator-thermistor-failure" msgstr "" #. TRANSLATORS: Sheet Rotator Timing Failure -#: locale/ipp-strings.c:3694 +#: locale/ipp-strings.c:3732 msgid "printer-state-reasons.sheet-rotator-timing-failure" msgstr "" #. TRANSLATORS: Sheet Rotator Turned Off -#: locale/ipp-strings.c:3696 +#: locale/ipp-strings.c:3734 msgid "printer-state-reasons.sheet-rotator-turned-off" msgstr "" #. TRANSLATORS: Sheet Rotator Turned On -#: locale/ipp-strings.c:3698 +#: locale/ipp-strings.c:3736 msgid "printer-state-reasons.sheet-rotator-turned-on" msgstr "" #. TRANSLATORS: Sheet Rotator Under Temperature -#: locale/ipp-strings.c:3700 +#: locale/ipp-strings.c:3738 msgid "printer-state-reasons.sheet-rotator-under-temperature" msgstr "" #. TRANSLATORS: Sheet Rotator Unrecoverable Failure -#: locale/ipp-strings.c:3702 +#: locale/ipp-strings.c:3740 msgid "printer-state-reasons.sheet-rotator-unrecoverable-failure" msgstr "" #. TRANSLATORS: Sheet Rotator Unrecoverable Storage Error -#: locale/ipp-strings.c:3704 +#: locale/ipp-strings.c:3742 msgid "printer-state-reasons.sheet-rotator-unrecoverable-storage-error" msgstr "" #. TRANSLATORS: Sheet Rotator Warming Up -#: locale/ipp-strings.c:3706 +#: locale/ipp-strings.c:3744 msgid "printer-state-reasons.sheet-rotator-warming-up" msgstr "" #. TRANSLATORS: Printer offline -#: locale/ipp-strings.c:3708 +#: locale/ipp-strings.c:3746 msgid "printer-state-reasons.shutdown" msgstr "" #. TRANSLATORS: Slitter Added -#: locale/ipp-strings.c:3710 +#: locale/ipp-strings.c:3748 msgid "printer-state-reasons.slitter-added" msgstr "" #. TRANSLATORS: Slitter Almost Empty -#: locale/ipp-strings.c:3712 +#: locale/ipp-strings.c:3750 msgid "printer-state-reasons.slitter-almost-empty" msgstr "" #. TRANSLATORS: Slitter Almost Full -#: locale/ipp-strings.c:3714 +#: locale/ipp-strings.c:3752 msgid "printer-state-reasons.slitter-almost-full" msgstr "" #. TRANSLATORS: Slitter At Limit -#: locale/ipp-strings.c:3716 +#: locale/ipp-strings.c:3754 msgid "printer-state-reasons.slitter-at-limit" msgstr "" #. TRANSLATORS: Slitter Closed -#: locale/ipp-strings.c:3718 +#: locale/ipp-strings.c:3756 msgid "printer-state-reasons.slitter-closed" msgstr "" #. TRANSLATORS: Slitter Configuration Change -#: locale/ipp-strings.c:3720 +#: locale/ipp-strings.c:3758 msgid "printer-state-reasons.slitter-configuration-change" msgstr "" #. TRANSLATORS: Slitter Cover Closed -#: locale/ipp-strings.c:3722 +#: locale/ipp-strings.c:3760 msgid "printer-state-reasons.slitter-cover-closed" msgstr "" #. TRANSLATORS: Slitter Cover Open -#: locale/ipp-strings.c:3724 +#: locale/ipp-strings.c:3762 msgid "printer-state-reasons.slitter-cover-open" msgstr "" #. TRANSLATORS: Slitter Empty -#: locale/ipp-strings.c:3726 +#: locale/ipp-strings.c:3764 msgid "printer-state-reasons.slitter-empty" msgstr "" #. TRANSLATORS: Slitter Full -#: locale/ipp-strings.c:3728 +#: locale/ipp-strings.c:3766 msgid "printer-state-reasons.slitter-full" msgstr "" #. TRANSLATORS: Slitter Interlock Closed -#: locale/ipp-strings.c:3730 +#: locale/ipp-strings.c:3768 msgid "printer-state-reasons.slitter-interlock-closed" msgstr "" #. TRANSLATORS: Slitter Interlock Open -#: locale/ipp-strings.c:3732 +#: locale/ipp-strings.c:3770 msgid "printer-state-reasons.slitter-interlock-open" msgstr "" #. TRANSLATORS: Slitter Jam -#: locale/ipp-strings.c:3734 +#: locale/ipp-strings.c:3772 msgid "printer-state-reasons.slitter-jam" msgstr "" #. TRANSLATORS: Slitter Life Almost Over -#: locale/ipp-strings.c:3736 +#: locale/ipp-strings.c:3774 msgid "printer-state-reasons.slitter-life-almost-over" msgstr "" #. TRANSLATORS: Slitter Life Over -#: locale/ipp-strings.c:3738 +#: locale/ipp-strings.c:3776 msgid "printer-state-reasons.slitter-life-over" msgstr "" #. TRANSLATORS: Slitter Memory Exhausted -#: locale/ipp-strings.c:3740 +#: locale/ipp-strings.c:3778 msgid "printer-state-reasons.slitter-memory-exhausted" msgstr "" #. TRANSLATORS: Slitter Missing -#: locale/ipp-strings.c:3742 +#: locale/ipp-strings.c:3780 msgid "printer-state-reasons.slitter-missing" msgstr "" #. TRANSLATORS: Slitter Motor Failure -#: locale/ipp-strings.c:3744 +#: locale/ipp-strings.c:3782 msgid "printer-state-reasons.slitter-motor-failure" msgstr "" #. TRANSLATORS: Slitter Near Limit -#: locale/ipp-strings.c:3746 +#: locale/ipp-strings.c:3784 msgid "printer-state-reasons.slitter-near-limit" msgstr "" #. TRANSLATORS: Slitter Offline -#: locale/ipp-strings.c:3748 +#: locale/ipp-strings.c:3786 msgid "printer-state-reasons.slitter-offline" msgstr "" #. TRANSLATORS: Slitter Opened -#: locale/ipp-strings.c:3750 +#: locale/ipp-strings.c:3788 msgid "printer-state-reasons.slitter-opened" msgstr "" #. TRANSLATORS: Slitter Over Temperature -#: locale/ipp-strings.c:3752 +#: locale/ipp-strings.c:3790 msgid "printer-state-reasons.slitter-over-temperature" msgstr "" #. TRANSLATORS: Slitter Power Saver -#: locale/ipp-strings.c:3754 +#: locale/ipp-strings.c:3792 msgid "printer-state-reasons.slitter-power-saver" msgstr "" #. TRANSLATORS: Slitter Recoverable Failure -#: locale/ipp-strings.c:3756 +#: locale/ipp-strings.c:3794 msgid "printer-state-reasons.slitter-recoverable-failure" msgstr "" #. TRANSLATORS: Slitter Recoverable Storage -#: locale/ipp-strings.c:3758 +#: locale/ipp-strings.c:3796 msgid "printer-state-reasons.slitter-recoverable-storage" msgstr "" #. TRANSLATORS: Slitter Removed -#: locale/ipp-strings.c:3760 +#: locale/ipp-strings.c:3798 msgid "printer-state-reasons.slitter-removed" msgstr "" #. TRANSLATORS: Slitter Resource Added -#: locale/ipp-strings.c:3762 +#: locale/ipp-strings.c:3800 msgid "printer-state-reasons.slitter-resource-added" msgstr "" #. TRANSLATORS: Slitter Resource Removed -#: locale/ipp-strings.c:3764 +#: locale/ipp-strings.c:3802 msgid "printer-state-reasons.slitter-resource-removed" msgstr "" #. TRANSLATORS: Slitter Thermistor Failure -#: locale/ipp-strings.c:3766 +#: locale/ipp-strings.c:3804 msgid "printer-state-reasons.slitter-thermistor-failure" msgstr "" #. TRANSLATORS: Slitter Timing Failure -#: locale/ipp-strings.c:3768 +#: locale/ipp-strings.c:3806 msgid "printer-state-reasons.slitter-timing-failure" msgstr "" #. TRANSLATORS: Slitter Turned Off -#: locale/ipp-strings.c:3770 +#: locale/ipp-strings.c:3808 msgid "printer-state-reasons.slitter-turned-off" msgstr "" #. TRANSLATORS: Slitter Turned On -#: locale/ipp-strings.c:3772 +#: locale/ipp-strings.c:3810 msgid "printer-state-reasons.slitter-turned-on" msgstr "" #. TRANSLATORS: Slitter Under Temperature -#: locale/ipp-strings.c:3774 +#: locale/ipp-strings.c:3812 msgid "printer-state-reasons.slitter-under-temperature" msgstr "" #. TRANSLATORS: Slitter Unrecoverable Failure -#: locale/ipp-strings.c:3776 +#: locale/ipp-strings.c:3814 msgid "printer-state-reasons.slitter-unrecoverable-failure" msgstr "" #. TRANSLATORS: Slitter Unrecoverable Storage Error -#: locale/ipp-strings.c:3778 +#: locale/ipp-strings.c:3816 msgid "printer-state-reasons.slitter-unrecoverable-storage-error" msgstr "" #. TRANSLATORS: Slitter Warming Up -#: locale/ipp-strings.c:3780 +#: locale/ipp-strings.c:3818 msgid "printer-state-reasons.slitter-warming-up" msgstr "" #. TRANSLATORS: Spool Area Full -#: locale/ipp-strings.c:3782 +#: locale/ipp-strings.c:3820 msgid "printer-state-reasons.spool-area-full" msgstr "" #. TRANSLATORS: Stacker Added -#: locale/ipp-strings.c:3784 +#: locale/ipp-strings.c:3822 msgid "printer-state-reasons.stacker-added" msgstr "" #. TRANSLATORS: Stacker Almost Empty -#: locale/ipp-strings.c:3786 +#: locale/ipp-strings.c:3824 msgid "printer-state-reasons.stacker-almost-empty" msgstr "" #. TRANSLATORS: Stacker Almost Full -#: locale/ipp-strings.c:3788 +#: locale/ipp-strings.c:3826 msgid "printer-state-reasons.stacker-almost-full" msgstr "" #. TRANSLATORS: Stacker At Limit -#: locale/ipp-strings.c:3790 +#: locale/ipp-strings.c:3828 msgid "printer-state-reasons.stacker-at-limit" msgstr "" #. TRANSLATORS: Stacker Closed -#: locale/ipp-strings.c:3792 +#: locale/ipp-strings.c:3830 msgid "printer-state-reasons.stacker-closed" msgstr "" #. TRANSLATORS: Stacker Configuration Change -#: locale/ipp-strings.c:3794 +#: locale/ipp-strings.c:3832 msgid "printer-state-reasons.stacker-configuration-change" msgstr "" #. TRANSLATORS: Stacker Cover Closed -#: locale/ipp-strings.c:3796 +#: locale/ipp-strings.c:3834 msgid "printer-state-reasons.stacker-cover-closed" msgstr "" #. TRANSLATORS: Stacker Cover Open -#: locale/ipp-strings.c:3798 +#: locale/ipp-strings.c:3836 msgid "printer-state-reasons.stacker-cover-open" msgstr "" #. TRANSLATORS: Stacker Empty -#: locale/ipp-strings.c:3800 +#: locale/ipp-strings.c:3838 msgid "printer-state-reasons.stacker-empty" msgstr "" #. TRANSLATORS: Stacker Full -#: locale/ipp-strings.c:3802 +#: locale/ipp-strings.c:3840 msgid "printer-state-reasons.stacker-full" msgstr "" #. TRANSLATORS: Stacker Interlock Closed -#: locale/ipp-strings.c:3804 +#: locale/ipp-strings.c:3842 msgid "printer-state-reasons.stacker-interlock-closed" msgstr "" #. TRANSLATORS: Stacker Interlock Open -#: locale/ipp-strings.c:3806 +#: locale/ipp-strings.c:3844 msgid "printer-state-reasons.stacker-interlock-open" msgstr "" #. TRANSLATORS: Stacker Jam -#: locale/ipp-strings.c:3808 +#: locale/ipp-strings.c:3846 msgid "printer-state-reasons.stacker-jam" msgstr "" #. TRANSLATORS: Stacker Life Almost Over -#: locale/ipp-strings.c:3810 +#: locale/ipp-strings.c:3848 msgid "printer-state-reasons.stacker-life-almost-over" msgstr "" #. TRANSLATORS: Stacker Life Over -#: locale/ipp-strings.c:3812 +#: locale/ipp-strings.c:3850 msgid "printer-state-reasons.stacker-life-over" msgstr "" #. TRANSLATORS: Stacker Memory Exhausted -#: locale/ipp-strings.c:3814 +#: locale/ipp-strings.c:3852 msgid "printer-state-reasons.stacker-memory-exhausted" msgstr "" #. TRANSLATORS: Stacker Missing -#: locale/ipp-strings.c:3816 +#: locale/ipp-strings.c:3854 msgid "printer-state-reasons.stacker-missing" msgstr "" #. TRANSLATORS: Stacker Motor Failure -#: locale/ipp-strings.c:3818 +#: locale/ipp-strings.c:3856 msgid "printer-state-reasons.stacker-motor-failure" msgstr "" #. TRANSLATORS: Stacker Near Limit -#: locale/ipp-strings.c:3820 +#: locale/ipp-strings.c:3858 msgid "printer-state-reasons.stacker-near-limit" msgstr "" #. TRANSLATORS: Stacker Offline -#: locale/ipp-strings.c:3822 +#: locale/ipp-strings.c:3860 msgid "printer-state-reasons.stacker-offline" msgstr "" #. TRANSLATORS: Stacker Opened -#: locale/ipp-strings.c:3824 +#: locale/ipp-strings.c:3862 msgid "printer-state-reasons.stacker-opened" msgstr "" #. TRANSLATORS: Stacker Over Temperature -#: locale/ipp-strings.c:3826 +#: locale/ipp-strings.c:3864 msgid "printer-state-reasons.stacker-over-temperature" msgstr "" #. TRANSLATORS: Stacker Power Saver -#: locale/ipp-strings.c:3828 +#: locale/ipp-strings.c:3866 msgid "printer-state-reasons.stacker-power-saver" msgstr "" #. TRANSLATORS: Stacker Recoverable Failure -#: locale/ipp-strings.c:3830 +#: locale/ipp-strings.c:3868 msgid "printer-state-reasons.stacker-recoverable-failure" msgstr "" #. TRANSLATORS: Stacker Recoverable Storage -#: locale/ipp-strings.c:3832 +#: locale/ipp-strings.c:3870 msgid "printer-state-reasons.stacker-recoverable-storage" msgstr "" #. TRANSLATORS: Stacker Removed -#: locale/ipp-strings.c:3834 +#: locale/ipp-strings.c:3872 msgid "printer-state-reasons.stacker-removed" msgstr "" #. TRANSLATORS: Stacker Resource Added -#: locale/ipp-strings.c:3836 +#: locale/ipp-strings.c:3874 msgid "printer-state-reasons.stacker-resource-added" msgstr "" #. TRANSLATORS: Stacker Resource Removed -#: locale/ipp-strings.c:3838 +#: locale/ipp-strings.c:3876 msgid "printer-state-reasons.stacker-resource-removed" msgstr "" #. TRANSLATORS: Stacker Thermistor Failure -#: locale/ipp-strings.c:3840 +#: locale/ipp-strings.c:3878 msgid "printer-state-reasons.stacker-thermistor-failure" msgstr "" #. TRANSLATORS: Stacker Timing Failure -#: locale/ipp-strings.c:3842 +#: locale/ipp-strings.c:3880 msgid "printer-state-reasons.stacker-timing-failure" msgstr "" #. TRANSLATORS: Stacker Turned Off -#: locale/ipp-strings.c:3844 +#: locale/ipp-strings.c:3882 msgid "printer-state-reasons.stacker-turned-off" msgstr "" #. TRANSLATORS: Stacker Turned On -#: locale/ipp-strings.c:3846 +#: locale/ipp-strings.c:3884 msgid "printer-state-reasons.stacker-turned-on" msgstr "" #. TRANSLATORS: Stacker Under Temperature -#: locale/ipp-strings.c:3848 +#: locale/ipp-strings.c:3886 msgid "printer-state-reasons.stacker-under-temperature" msgstr "" #. TRANSLATORS: Stacker Unrecoverable Failure -#: locale/ipp-strings.c:3850 +#: locale/ipp-strings.c:3888 msgid "printer-state-reasons.stacker-unrecoverable-failure" msgstr "" #. TRANSLATORS: Stacker Unrecoverable Storage Error -#: locale/ipp-strings.c:3852 +#: locale/ipp-strings.c:3890 msgid "printer-state-reasons.stacker-unrecoverable-storage-error" msgstr "" #. TRANSLATORS: Stacker Warming Up -#: locale/ipp-strings.c:3854 +#: locale/ipp-strings.c:3892 msgid "printer-state-reasons.stacker-warming-up" msgstr "" #. TRANSLATORS: Stapler Added -#: locale/ipp-strings.c:3856 +#: locale/ipp-strings.c:3894 msgid "printer-state-reasons.stapler-added" msgstr "" #. TRANSLATORS: Stapler Almost Empty -#: locale/ipp-strings.c:3858 +#: locale/ipp-strings.c:3896 msgid "printer-state-reasons.stapler-almost-empty" msgstr "" #. TRANSLATORS: Stapler Almost Full -#: locale/ipp-strings.c:3860 +#: locale/ipp-strings.c:3898 msgid "printer-state-reasons.stapler-almost-full" msgstr "" #. TRANSLATORS: Stapler At Limit -#: locale/ipp-strings.c:3862 +#: locale/ipp-strings.c:3900 msgid "printer-state-reasons.stapler-at-limit" msgstr "" #. TRANSLATORS: Stapler Closed -#: locale/ipp-strings.c:3864 +#: locale/ipp-strings.c:3902 msgid "printer-state-reasons.stapler-closed" msgstr "" #. TRANSLATORS: Stapler Configuration Change -#: locale/ipp-strings.c:3866 +#: locale/ipp-strings.c:3904 msgid "printer-state-reasons.stapler-configuration-change" msgstr "" #. TRANSLATORS: Stapler Cover Closed -#: locale/ipp-strings.c:3868 +#: locale/ipp-strings.c:3906 msgid "printer-state-reasons.stapler-cover-closed" msgstr "" #. TRANSLATORS: Stapler Cover Open -#: locale/ipp-strings.c:3870 +#: locale/ipp-strings.c:3908 msgid "printer-state-reasons.stapler-cover-open" msgstr "" #. TRANSLATORS: Stapler Empty -#: locale/ipp-strings.c:3872 +#: locale/ipp-strings.c:3910 msgid "printer-state-reasons.stapler-empty" msgstr "" #. TRANSLATORS: Stapler Full -#: locale/ipp-strings.c:3874 +#: locale/ipp-strings.c:3912 msgid "printer-state-reasons.stapler-full" msgstr "" #. TRANSLATORS: Stapler Interlock Closed -#: locale/ipp-strings.c:3876 +#: locale/ipp-strings.c:3914 msgid "printer-state-reasons.stapler-interlock-closed" msgstr "" #. TRANSLATORS: Stapler Interlock Open -#: locale/ipp-strings.c:3878 +#: locale/ipp-strings.c:3916 msgid "printer-state-reasons.stapler-interlock-open" msgstr "" #. TRANSLATORS: Stapler Jam -#: locale/ipp-strings.c:3880 +#: locale/ipp-strings.c:3918 msgid "printer-state-reasons.stapler-jam" msgstr "" #. TRANSLATORS: Stapler Life Almost Over -#: locale/ipp-strings.c:3882 +#: locale/ipp-strings.c:3920 msgid "printer-state-reasons.stapler-life-almost-over" msgstr "" #. TRANSLATORS: Stapler Life Over -#: locale/ipp-strings.c:3884 +#: locale/ipp-strings.c:3922 msgid "printer-state-reasons.stapler-life-over" msgstr "" #. TRANSLATORS: Stapler Memory Exhausted -#: locale/ipp-strings.c:3886 +#: locale/ipp-strings.c:3924 msgid "printer-state-reasons.stapler-memory-exhausted" msgstr "" #. TRANSLATORS: Stapler Missing -#: locale/ipp-strings.c:3888 +#: locale/ipp-strings.c:3926 msgid "printer-state-reasons.stapler-missing" msgstr "" #. TRANSLATORS: Stapler Motor Failure -#: locale/ipp-strings.c:3890 +#: locale/ipp-strings.c:3928 msgid "printer-state-reasons.stapler-motor-failure" msgstr "" #. TRANSLATORS: Stapler Near Limit -#: locale/ipp-strings.c:3892 +#: locale/ipp-strings.c:3930 msgid "printer-state-reasons.stapler-near-limit" msgstr "" #. TRANSLATORS: Stapler Offline -#: locale/ipp-strings.c:3894 +#: locale/ipp-strings.c:3932 msgid "printer-state-reasons.stapler-offline" msgstr "" #. TRANSLATORS: Stapler Opened -#: locale/ipp-strings.c:3896 +#: locale/ipp-strings.c:3934 msgid "printer-state-reasons.stapler-opened" msgstr "" #. TRANSLATORS: Stapler Over Temperature -#: locale/ipp-strings.c:3898 +#: locale/ipp-strings.c:3936 msgid "printer-state-reasons.stapler-over-temperature" msgstr "" #. TRANSLATORS: Stapler Power Saver -#: locale/ipp-strings.c:3900 +#: locale/ipp-strings.c:3938 msgid "printer-state-reasons.stapler-power-saver" msgstr "" #. TRANSLATORS: Stapler Recoverable Failure -#: locale/ipp-strings.c:3902 +#: locale/ipp-strings.c:3940 msgid "printer-state-reasons.stapler-recoverable-failure" msgstr "" #. TRANSLATORS: Stapler Recoverable Storage -#: locale/ipp-strings.c:3904 +#: locale/ipp-strings.c:3942 msgid "printer-state-reasons.stapler-recoverable-storage" msgstr "" #. TRANSLATORS: Stapler Removed -#: locale/ipp-strings.c:3906 +#: locale/ipp-strings.c:3944 msgid "printer-state-reasons.stapler-removed" msgstr "" #. TRANSLATORS: Stapler Resource Added -#: locale/ipp-strings.c:3908 +#: locale/ipp-strings.c:3946 msgid "printer-state-reasons.stapler-resource-added" msgstr "" #. TRANSLATORS: Stapler Resource Removed -#: locale/ipp-strings.c:3910 +#: locale/ipp-strings.c:3948 msgid "printer-state-reasons.stapler-resource-removed" msgstr "" #. TRANSLATORS: Stapler Thermistor Failure -#: locale/ipp-strings.c:3912 +#: locale/ipp-strings.c:3950 msgid "printer-state-reasons.stapler-thermistor-failure" msgstr "" #. TRANSLATORS: Stapler Timing Failure -#: locale/ipp-strings.c:3914 +#: locale/ipp-strings.c:3952 msgid "printer-state-reasons.stapler-timing-failure" msgstr "" #. TRANSLATORS: Stapler Turned Off -#: locale/ipp-strings.c:3916 +#: locale/ipp-strings.c:3954 msgid "printer-state-reasons.stapler-turned-off" msgstr "" #. TRANSLATORS: Stapler Turned On -#: locale/ipp-strings.c:3918 +#: locale/ipp-strings.c:3956 msgid "printer-state-reasons.stapler-turned-on" msgstr "" #. TRANSLATORS: Stapler Under Temperature -#: locale/ipp-strings.c:3920 +#: locale/ipp-strings.c:3958 msgid "printer-state-reasons.stapler-under-temperature" msgstr "" #. TRANSLATORS: Stapler Unrecoverable Failure -#: locale/ipp-strings.c:3922 +#: locale/ipp-strings.c:3960 msgid "printer-state-reasons.stapler-unrecoverable-failure" msgstr "" #. TRANSLATORS: Stapler Unrecoverable Storage Error -#: locale/ipp-strings.c:3924 +#: locale/ipp-strings.c:3962 msgid "printer-state-reasons.stapler-unrecoverable-storage-error" msgstr "" #. TRANSLATORS: Stapler Warming Up -#: locale/ipp-strings.c:3926 +#: locale/ipp-strings.c:3964 msgid "printer-state-reasons.stapler-warming-up" msgstr "" #. TRANSLATORS: Stitcher Added -#: locale/ipp-strings.c:3928 +#: locale/ipp-strings.c:3966 msgid "printer-state-reasons.stitcher-added" msgstr "" #. TRANSLATORS: Stitcher Almost Empty -#: locale/ipp-strings.c:3930 +#: locale/ipp-strings.c:3968 msgid "printer-state-reasons.stitcher-almost-empty" msgstr "" #. TRANSLATORS: Stitcher Almost Full -#: locale/ipp-strings.c:3932 +#: locale/ipp-strings.c:3970 msgid "printer-state-reasons.stitcher-almost-full" msgstr "" #. TRANSLATORS: Stitcher At Limit -#: locale/ipp-strings.c:3934 +#: locale/ipp-strings.c:3972 msgid "printer-state-reasons.stitcher-at-limit" msgstr "" #. TRANSLATORS: Stitcher Closed -#: locale/ipp-strings.c:3936 +#: locale/ipp-strings.c:3974 msgid "printer-state-reasons.stitcher-closed" msgstr "" #. TRANSLATORS: Stitcher Configuration Change -#: locale/ipp-strings.c:3938 +#: locale/ipp-strings.c:3976 msgid "printer-state-reasons.stitcher-configuration-change" msgstr "" #. TRANSLATORS: Stitcher Cover Closed -#: locale/ipp-strings.c:3940 +#: locale/ipp-strings.c:3978 msgid "printer-state-reasons.stitcher-cover-closed" msgstr "" #. TRANSLATORS: Stitcher Cover Open -#: locale/ipp-strings.c:3942 +#: locale/ipp-strings.c:3980 msgid "printer-state-reasons.stitcher-cover-open" msgstr "" #. TRANSLATORS: Stitcher Empty -#: locale/ipp-strings.c:3944 +#: locale/ipp-strings.c:3982 msgid "printer-state-reasons.stitcher-empty" msgstr "" #. TRANSLATORS: Stitcher Full -#: locale/ipp-strings.c:3946 +#: locale/ipp-strings.c:3984 msgid "printer-state-reasons.stitcher-full" msgstr "" #. TRANSLATORS: Stitcher Interlock Closed -#: locale/ipp-strings.c:3948 +#: locale/ipp-strings.c:3986 msgid "printer-state-reasons.stitcher-interlock-closed" msgstr "" #. TRANSLATORS: Stitcher Interlock Open -#: locale/ipp-strings.c:3950 +#: locale/ipp-strings.c:3988 msgid "printer-state-reasons.stitcher-interlock-open" msgstr "" #. TRANSLATORS: Stitcher Jam -#: locale/ipp-strings.c:3952 +#: locale/ipp-strings.c:3990 msgid "printer-state-reasons.stitcher-jam" msgstr "" #. TRANSLATORS: Stitcher Life Almost Over -#: locale/ipp-strings.c:3954 +#: locale/ipp-strings.c:3992 msgid "printer-state-reasons.stitcher-life-almost-over" msgstr "" #. TRANSLATORS: Stitcher Life Over -#: locale/ipp-strings.c:3956 +#: locale/ipp-strings.c:3994 msgid "printer-state-reasons.stitcher-life-over" msgstr "" #. TRANSLATORS: Stitcher Memory Exhausted -#: locale/ipp-strings.c:3958 +#: locale/ipp-strings.c:3996 msgid "printer-state-reasons.stitcher-memory-exhausted" msgstr "" #. TRANSLATORS: Stitcher Missing -#: locale/ipp-strings.c:3960 +#: locale/ipp-strings.c:3998 msgid "printer-state-reasons.stitcher-missing" msgstr "" #. TRANSLATORS: Stitcher Motor Failure -#: locale/ipp-strings.c:3962 +#: locale/ipp-strings.c:4000 msgid "printer-state-reasons.stitcher-motor-failure" msgstr "" #. TRANSLATORS: Stitcher Near Limit -#: locale/ipp-strings.c:3964 +#: locale/ipp-strings.c:4002 msgid "printer-state-reasons.stitcher-near-limit" msgstr "" #. TRANSLATORS: Stitcher Offline -#: locale/ipp-strings.c:3966 +#: locale/ipp-strings.c:4004 msgid "printer-state-reasons.stitcher-offline" msgstr "" #. TRANSLATORS: Stitcher Opened -#: locale/ipp-strings.c:3968 +#: locale/ipp-strings.c:4006 msgid "printer-state-reasons.stitcher-opened" msgstr "" #. TRANSLATORS: Stitcher Over Temperature -#: locale/ipp-strings.c:3970 +#: locale/ipp-strings.c:4008 msgid "printer-state-reasons.stitcher-over-temperature" msgstr "" #. TRANSLATORS: Stitcher Power Saver -#: locale/ipp-strings.c:3972 +#: locale/ipp-strings.c:4010 msgid "printer-state-reasons.stitcher-power-saver" msgstr "" #. TRANSLATORS: Stitcher Recoverable Failure -#: locale/ipp-strings.c:3974 +#: locale/ipp-strings.c:4012 msgid "printer-state-reasons.stitcher-recoverable-failure" msgstr "" #. TRANSLATORS: Stitcher Recoverable Storage -#: locale/ipp-strings.c:3976 +#: locale/ipp-strings.c:4014 msgid "printer-state-reasons.stitcher-recoverable-storage" msgstr "" #. TRANSLATORS: Stitcher Removed -#: locale/ipp-strings.c:3978 +#: locale/ipp-strings.c:4016 msgid "printer-state-reasons.stitcher-removed" msgstr "" #. TRANSLATORS: Stitcher Resource Added -#: locale/ipp-strings.c:3980 +#: locale/ipp-strings.c:4018 msgid "printer-state-reasons.stitcher-resource-added" msgstr "" #. TRANSLATORS: Stitcher Resource Removed -#: locale/ipp-strings.c:3982 +#: locale/ipp-strings.c:4020 msgid "printer-state-reasons.stitcher-resource-removed" msgstr "" #. TRANSLATORS: Stitcher Thermistor Failure -#: locale/ipp-strings.c:3984 +#: locale/ipp-strings.c:4022 msgid "printer-state-reasons.stitcher-thermistor-failure" msgstr "" #. TRANSLATORS: Stitcher Timing Failure -#: locale/ipp-strings.c:3986 +#: locale/ipp-strings.c:4024 msgid "printer-state-reasons.stitcher-timing-failure" msgstr "" #. TRANSLATORS: Stitcher Turned Off -#: locale/ipp-strings.c:3988 +#: locale/ipp-strings.c:4026 msgid "printer-state-reasons.stitcher-turned-off" msgstr "" #. TRANSLATORS: Stitcher Turned On -#: locale/ipp-strings.c:3990 +#: locale/ipp-strings.c:4028 msgid "printer-state-reasons.stitcher-turned-on" msgstr "" #. TRANSLATORS: Stitcher Under Temperature -#: locale/ipp-strings.c:3992 +#: locale/ipp-strings.c:4030 msgid "printer-state-reasons.stitcher-under-temperature" msgstr "" #. TRANSLATORS: Stitcher Unrecoverable Failure -#: locale/ipp-strings.c:3994 +#: locale/ipp-strings.c:4032 msgid "printer-state-reasons.stitcher-unrecoverable-failure" msgstr "" #. TRANSLATORS: Stitcher Unrecoverable Storage Error -#: locale/ipp-strings.c:3996 +#: locale/ipp-strings.c:4034 msgid "printer-state-reasons.stitcher-unrecoverable-storage-error" msgstr "" #. TRANSLATORS: Stitcher Warming Up -#: locale/ipp-strings.c:3998 +#: locale/ipp-strings.c:4036 msgid "printer-state-reasons.stitcher-warming-up" msgstr "" #. TRANSLATORS: Partially stopped -#: locale/ipp-strings.c:4000 +#: locale/ipp-strings.c:4038 msgid "printer-state-reasons.stopped-partly" msgstr "" #. TRANSLATORS: Stopping -#: locale/ipp-strings.c:4002 +#: locale/ipp-strings.c:4040 msgid "printer-state-reasons.stopping" msgstr "" #. TRANSLATORS: Subunit Added -#: locale/ipp-strings.c:4004 +#: locale/ipp-strings.c:4042 msgid "printer-state-reasons.subunit-added" msgstr "" #. TRANSLATORS: Subunit Almost Empty -#: locale/ipp-strings.c:4006 +#: locale/ipp-strings.c:4044 msgid "printer-state-reasons.subunit-almost-empty" msgstr "" #. TRANSLATORS: Subunit Almost Full -#: locale/ipp-strings.c:4008 +#: locale/ipp-strings.c:4046 msgid "printer-state-reasons.subunit-almost-full" msgstr "" #. TRANSLATORS: Subunit At Limit -#: locale/ipp-strings.c:4010 +#: locale/ipp-strings.c:4048 msgid "printer-state-reasons.subunit-at-limit" msgstr "" #. TRANSLATORS: Subunit Closed -#: locale/ipp-strings.c:4012 +#: locale/ipp-strings.c:4050 msgid "printer-state-reasons.subunit-closed" msgstr "" #. TRANSLATORS: Subunit Cooling Down -#: locale/ipp-strings.c:4014 +#: locale/ipp-strings.c:4052 msgid "printer-state-reasons.subunit-cooling-down" msgstr "" #. TRANSLATORS: Subunit Empty -#: locale/ipp-strings.c:4016 +#: locale/ipp-strings.c:4054 msgid "printer-state-reasons.subunit-empty" msgstr "" #. TRANSLATORS: Subunit Full -#: locale/ipp-strings.c:4018 +#: locale/ipp-strings.c:4056 msgid "printer-state-reasons.subunit-full" msgstr "" #. TRANSLATORS: Subunit Life Almost Over -#: locale/ipp-strings.c:4020 +#: locale/ipp-strings.c:4058 msgid "printer-state-reasons.subunit-life-almost-over" msgstr "" #. TRANSLATORS: Subunit Life Over -#: locale/ipp-strings.c:4022 +#: locale/ipp-strings.c:4060 msgid "printer-state-reasons.subunit-life-over" msgstr "" #. TRANSLATORS: Subunit Memory Exhausted -#: locale/ipp-strings.c:4024 +#: locale/ipp-strings.c:4062 msgid "printer-state-reasons.subunit-memory-exhausted" msgstr "" #. TRANSLATORS: Subunit Missing -#: locale/ipp-strings.c:4026 +#: locale/ipp-strings.c:4064 msgid "printer-state-reasons.subunit-missing" msgstr "" #. TRANSLATORS: Subunit Motor Failure -#: locale/ipp-strings.c:4028 +#: locale/ipp-strings.c:4066 msgid "printer-state-reasons.subunit-motor-failure" msgstr "" #. TRANSLATORS: Subunit Near Limit -#: locale/ipp-strings.c:4030 +#: locale/ipp-strings.c:4068 msgid "printer-state-reasons.subunit-near-limit" msgstr "" #. TRANSLATORS: Subunit Offline -#: locale/ipp-strings.c:4032 +#: locale/ipp-strings.c:4070 msgid "printer-state-reasons.subunit-offline" msgstr "" #. TRANSLATORS: Subunit Opened -#: locale/ipp-strings.c:4034 +#: locale/ipp-strings.c:4072 msgid "printer-state-reasons.subunit-opened" msgstr "" #. TRANSLATORS: Subunit Over Temperature -#: locale/ipp-strings.c:4036 +#: locale/ipp-strings.c:4074 msgid "printer-state-reasons.subunit-over-temperature" msgstr "" #. TRANSLATORS: Subunit Power Saver -#: locale/ipp-strings.c:4038 +#: locale/ipp-strings.c:4076 msgid "printer-state-reasons.subunit-power-saver" msgstr "" #. TRANSLATORS: Subunit Recoverable Failure -#: locale/ipp-strings.c:4040 +#: locale/ipp-strings.c:4078 msgid "printer-state-reasons.subunit-recoverable-failure" msgstr "" #. TRANSLATORS: Subunit Recoverable Storage -#: locale/ipp-strings.c:4042 +#: locale/ipp-strings.c:4080 msgid "printer-state-reasons.subunit-recoverable-storage" msgstr "" #. TRANSLATORS: Subunit Removed -#: locale/ipp-strings.c:4044 +#: locale/ipp-strings.c:4082 msgid "printer-state-reasons.subunit-removed" msgstr "" #. TRANSLATORS: Subunit Resource Added -#: locale/ipp-strings.c:4046 +#: locale/ipp-strings.c:4084 msgid "printer-state-reasons.subunit-resource-added" msgstr "" #. TRANSLATORS: Subunit Resource Removed -#: locale/ipp-strings.c:4048 +#: locale/ipp-strings.c:4086 msgid "printer-state-reasons.subunit-resource-removed" msgstr "" #. TRANSLATORS: Subunit Thermistor Failure -#: locale/ipp-strings.c:4050 +#: locale/ipp-strings.c:4088 msgid "printer-state-reasons.subunit-thermistor-failure" msgstr "" #. TRANSLATORS: Subunit Timing Failure -#: locale/ipp-strings.c:4052 +#: locale/ipp-strings.c:4090 msgid "printer-state-reasons.subunit-timing-Failure" msgstr "" #. TRANSLATORS: Subunit Turned Off -#: locale/ipp-strings.c:4054 +#: locale/ipp-strings.c:4092 msgid "printer-state-reasons.subunit-turned-off" msgstr "" #. TRANSLATORS: Subunit Turned On -#: locale/ipp-strings.c:4056 +#: locale/ipp-strings.c:4094 msgid "printer-state-reasons.subunit-turned-on" msgstr "" #. TRANSLATORS: Subunit Under Temperature -#: locale/ipp-strings.c:4058 +#: locale/ipp-strings.c:4096 msgid "printer-state-reasons.subunit-under-temperature" msgstr "" #. TRANSLATORS: Subunit Unrecoverable Failure -#: locale/ipp-strings.c:4060 +#: locale/ipp-strings.c:4098 msgid "printer-state-reasons.subunit-unrecoverable-failure" msgstr "" #. TRANSLATORS: Subunit Unrecoverable Storage -#: locale/ipp-strings.c:4062 +#: locale/ipp-strings.c:4100 msgid "printer-state-reasons.subunit-unrecoverable-storage" msgstr "" #. TRANSLATORS: Subunit Warming Up -#: locale/ipp-strings.c:4064 +#: locale/ipp-strings.c:4102 msgid "printer-state-reasons.subunit-warming-up" msgstr "" #. TRANSLATORS: Printer stopped responding -#: locale/ipp-strings.c:4066 +#: locale/ipp-strings.c:4104 msgid "printer-state-reasons.timed-out" msgstr "" #. TRANSLATORS: Out of toner -#: locale/ipp-strings.c:4068 +#: locale/ipp-strings.c:4106 msgid "printer-state-reasons.toner-empty" msgstr "" #. TRANSLATORS: Toner low -#: locale/ipp-strings.c:4070 +#: locale/ipp-strings.c:4108 msgid "printer-state-reasons.toner-low" msgstr "" #. TRANSLATORS: Trimmer Added -#: locale/ipp-strings.c:4072 +#: locale/ipp-strings.c:4110 msgid "printer-state-reasons.trimmer-added" msgstr "" #. TRANSLATORS: Trimmer Almost Empty -#: locale/ipp-strings.c:4074 +#: locale/ipp-strings.c:4112 msgid "printer-state-reasons.trimmer-almost-empty" msgstr "" #. TRANSLATORS: Trimmer Almost Full -#: locale/ipp-strings.c:4076 +#: locale/ipp-strings.c:4114 msgid "printer-state-reasons.trimmer-almost-full" msgstr "" #. TRANSLATORS: Trimmer At Limit -#: locale/ipp-strings.c:4078 +#: locale/ipp-strings.c:4116 msgid "printer-state-reasons.trimmer-at-limit" msgstr "" #. TRANSLATORS: Trimmer Closed -#: locale/ipp-strings.c:4080 +#: locale/ipp-strings.c:4118 msgid "printer-state-reasons.trimmer-closed" msgstr "" #. TRANSLATORS: Trimmer Configuration Change -#: locale/ipp-strings.c:4082 +#: locale/ipp-strings.c:4120 msgid "printer-state-reasons.trimmer-configuration-change" msgstr "" #. TRANSLATORS: Trimmer Cover Closed -#: locale/ipp-strings.c:4084 +#: locale/ipp-strings.c:4122 msgid "printer-state-reasons.trimmer-cover-closed" msgstr "" #. TRANSLATORS: Trimmer Cover Open -#: locale/ipp-strings.c:4086 +#: locale/ipp-strings.c:4124 msgid "printer-state-reasons.trimmer-cover-open" msgstr "" #. TRANSLATORS: Trimmer Empty -#: locale/ipp-strings.c:4088 +#: locale/ipp-strings.c:4126 msgid "printer-state-reasons.trimmer-empty" msgstr "" #. TRANSLATORS: Trimmer Full -#: locale/ipp-strings.c:4090 +#: locale/ipp-strings.c:4128 msgid "printer-state-reasons.trimmer-full" msgstr "" #. TRANSLATORS: Trimmer Interlock Closed -#: locale/ipp-strings.c:4092 +#: locale/ipp-strings.c:4130 msgid "printer-state-reasons.trimmer-interlock-closed" msgstr "" #. TRANSLATORS: Trimmer Interlock Open -#: locale/ipp-strings.c:4094 +#: locale/ipp-strings.c:4132 msgid "printer-state-reasons.trimmer-interlock-open" msgstr "" #. TRANSLATORS: Trimmer Jam -#: locale/ipp-strings.c:4096 +#: locale/ipp-strings.c:4134 msgid "printer-state-reasons.trimmer-jam" msgstr "" #. TRANSLATORS: Trimmer Life Almost Over -#: locale/ipp-strings.c:4098 +#: locale/ipp-strings.c:4136 msgid "printer-state-reasons.trimmer-life-almost-over" msgstr "" #. TRANSLATORS: Trimmer Life Over -#: locale/ipp-strings.c:4100 +#: locale/ipp-strings.c:4138 msgid "printer-state-reasons.trimmer-life-over" msgstr "" #. TRANSLATORS: Trimmer Memory Exhausted -#: locale/ipp-strings.c:4102 +#: locale/ipp-strings.c:4140 msgid "printer-state-reasons.trimmer-memory-exhausted" msgstr "" #. TRANSLATORS: Trimmer Missing -#: locale/ipp-strings.c:4104 +#: locale/ipp-strings.c:4142 msgid "printer-state-reasons.trimmer-missing" msgstr "" #. TRANSLATORS: Trimmer Motor Failure -#: locale/ipp-strings.c:4106 +#: locale/ipp-strings.c:4144 msgid "printer-state-reasons.trimmer-motor-failure" msgstr "" #. TRANSLATORS: Trimmer Near Limit -#: locale/ipp-strings.c:4108 +#: locale/ipp-strings.c:4146 msgid "printer-state-reasons.trimmer-near-limit" msgstr "" #. TRANSLATORS: Trimmer Offline -#: locale/ipp-strings.c:4110 +#: locale/ipp-strings.c:4148 msgid "printer-state-reasons.trimmer-offline" msgstr "" #. TRANSLATORS: Trimmer Opened -#: locale/ipp-strings.c:4112 +#: locale/ipp-strings.c:4150 msgid "printer-state-reasons.trimmer-opened" msgstr "" #. TRANSLATORS: Trimmer Over Temperature -#: locale/ipp-strings.c:4114 +#: locale/ipp-strings.c:4152 msgid "printer-state-reasons.trimmer-over-temperature" msgstr "" #. TRANSLATORS: Trimmer Power Saver -#: locale/ipp-strings.c:4116 +#: locale/ipp-strings.c:4154 msgid "printer-state-reasons.trimmer-power-saver" msgstr "" #. TRANSLATORS: Trimmer Recoverable Failure -#: locale/ipp-strings.c:4118 +#: locale/ipp-strings.c:4156 msgid "printer-state-reasons.trimmer-recoverable-failure" msgstr "" #. TRANSLATORS: Trimmer Recoverable Storage -#: locale/ipp-strings.c:4120 +#: locale/ipp-strings.c:4158 msgid "printer-state-reasons.trimmer-recoverable-storage" msgstr "" #. TRANSLATORS: Trimmer Removed -#: locale/ipp-strings.c:4122 +#: locale/ipp-strings.c:4160 msgid "printer-state-reasons.trimmer-removed" msgstr "" #. TRANSLATORS: Trimmer Resource Added -#: locale/ipp-strings.c:4124 +#: locale/ipp-strings.c:4162 msgid "printer-state-reasons.trimmer-resource-added" msgstr "" #. TRANSLATORS: Trimmer Resource Removed -#: locale/ipp-strings.c:4126 +#: locale/ipp-strings.c:4164 msgid "printer-state-reasons.trimmer-resource-removed" msgstr "" #. TRANSLATORS: Trimmer Thermistor Failure -#: locale/ipp-strings.c:4128 +#: locale/ipp-strings.c:4166 msgid "printer-state-reasons.trimmer-thermistor-failure" msgstr "" #. TRANSLATORS: Trimmer Timing Failure -#: locale/ipp-strings.c:4130 +#: locale/ipp-strings.c:4168 msgid "printer-state-reasons.trimmer-timing-failure" msgstr "" #. TRANSLATORS: Trimmer Turned Off -#: locale/ipp-strings.c:4132 +#: locale/ipp-strings.c:4170 msgid "printer-state-reasons.trimmer-turned-off" msgstr "" #. TRANSLATORS: Trimmer Turned On -#: locale/ipp-strings.c:4134 +#: locale/ipp-strings.c:4172 msgid "printer-state-reasons.trimmer-turned-on" msgstr "" #. TRANSLATORS: Trimmer Under Temperature -#: locale/ipp-strings.c:4136 +#: locale/ipp-strings.c:4174 msgid "printer-state-reasons.trimmer-under-temperature" msgstr "" #. TRANSLATORS: Trimmer Unrecoverable Failure -#: locale/ipp-strings.c:4138 +#: locale/ipp-strings.c:4176 msgid "printer-state-reasons.trimmer-unrecoverable-failure" msgstr "" #. TRANSLATORS: Trimmer Unrecoverable Storage Error -#: locale/ipp-strings.c:4140 +#: locale/ipp-strings.c:4178 msgid "printer-state-reasons.trimmer-unrecoverable-storage-error" msgstr "" #. TRANSLATORS: Trimmer Warming Up -#: locale/ipp-strings.c:4142 +#: locale/ipp-strings.c:4180 msgid "printer-state-reasons.trimmer-warming-up" msgstr "" #. TRANSLATORS: Unknown -#: locale/ipp-strings.c:4144 +#: locale/ipp-strings.c:4182 msgid "printer-state-reasons.unknown" msgstr "" #. TRANSLATORS: Wrapper Added -#: locale/ipp-strings.c:4146 +#: locale/ipp-strings.c:4184 msgid "printer-state-reasons.wrapper-added" msgstr "" #. TRANSLATORS: Wrapper Almost Empty -#: locale/ipp-strings.c:4148 +#: locale/ipp-strings.c:4186 msgid "printer-state-reasons.wrapper-almost-empty" msgstr "" #. TRANSLATORS: Wrapper Almost Full -#: locale/ipp-strings.c:4150 +#: locale/ipp-strings.c:4188 msgid "printer-state-reasons.wrapper-almost-full" msgstr "" #. TRANSLATORS: Wrapper At Limit -#: locale/ipp-strings.c:4152 +#: locale/ipp-strings.c:4190 msgid "printer-state-reasons.wrapper-at-limit" msgstr "" #. TRANSLATORS: Wrapper Closed -#: locale/ipp-strings.c:4154 +#: locale/ipp-strings.c:4192 msgid "printer-state-reasons.wrapper-closed" msgstr "" #. TRANSLATORS: Wrapper Configuration Change -#: locale/ipp-strings.c:4156 +#: locale/ipp-strings.c:4194 msgid "printer-state-reasons.wrapper-configuration-change" msgstr "" #. TRANSLATORS: Wrapper Cover Closed -#: locale/ipp-strings.c:4158 +#: locale/ipp-strings.c:4196 msgid "printer-state-reasons.wrapper-cover-closed" msgstr "" #. TRANSLATORS: Wrapper Cover Open -#: locale/ipp-strings.c:4160 +#: locale/ipp-strings.c:4198 msgid "printer-state-reasons.wrapper-cover-open" msgstr "" #. TRANSLATORS: Wrapper Empty -#: locale/ipp-strings.c:4162 +#: locale/ipp-strings.c:4200 msgid "printer-state-reasons.wrapper-empty" msgstr "" #. TRANSLATORS: Wrapper Full -#: locale/ipp-strings.c:4164 +#: locale/ipp-strings.c:4202 msgid "printer-state-reasons.wrapper-full" msgstr "" #. TRANSLATORS: Wrapper Interlock Closed -#: locale/ipp-strings.c:4166 +#: locale/ipp-strings.c:4204 msgid "printer-state-reasons.wrapper-interlock-closed" msgstr "" #. TRANSLATORS: Wrapper Interlock Open -#: locale/ipp-strings.c:4168 +#: locale/ipp-strings.c:4206 msgid "printer-state-reasons.wrapper-interlock-open" msgstr "" #. TRANSLATORS: Wrapper Jam -#: locale/ipp-strings.c:4170 +#: locale/ipp-strings.c:4208 msgid "printer-state-reasons.wrapper-jam" msgstr "" #. TRANSLATORS: Wrapper Life Almost Over -#: locale/ipp-strings.c:4172 +#: locale/ipp-strings.c:4210 msgid "printer-state-reasons.wrapper-life-almost-over" msgstr "" #. TRANSLATORS: Wrapper Life Over -#: locale/ipp-strings.c:4174 +#: locale/ipp-strings.c:4212 msgid "printer-state-reasons.wrapper-life-over" msgstr "" #. TRANSLATORS: Wrapper Memory Exhausted -#: locale/ipp-strings.c:4176 +#: locale/ipp-strings.c:4214 msgid "printer-state-reasons.wrapper-memory-exhausted" msgstr "" #. TRANSLATORS: Wrapper Missing -#: locale/ipp-strings.c:4178 +#: locale/ipp-strings.c:4216 msgid "printer-state-reasons.wrapper-missing" msgstr "" #. TRANSLATORS: Wrapper Motor Failure -#: locale/ipp-strings.c:4180 +#: locale/ipp-strings.c:4218 msgid "printer-state-reasons.wrapper-motor-failure" msgstr "" #. TRANSLATORS: Wrapper Near Limit -#: locale/ipp-strings.c:4182 +#: locale/ipp-strings.c:4220 msgid "printer-state-reasons.wrapper-near-limit" msgstr "" #. TRANSLATORS: Wrapper Offline -#: locale/ipp-strings.c:4184 +#: locale/ipp-strings.c:4222 msgid "printer-state-reasons.wrapper-offline" msgstr "" #. TRANSLATORS: Wrapper Opened -#: locale/ipp-strings.c:4186 +#: locale/ipp-strings.c:4224 msgid "printer-state-reasons.wrapper-opened" msgstr "" #. TRANSLATORS: Wrapper Over Temperature -#: locale/ipp-strings.c:4188 +#: locale/ipp-strings.c:4226 msgid "printer-state-reasons.wrapper-over-temperature" msgstr "" #. TRANSLATORS: Wrapper Power Saver -#: locale/ipp-strings.c:4190 +#: locale/ipp-strings.c:4228 msgid "printer-state-reasons.wrapper-power-saver" msgstr "" #. TRANSLATORS: Wrapper Recoverable Failure -#: locale/ipp-strings.c:4192 +#: locale/ipp-strings.c:4230 msgid "printer-state-reasons.wrapper-recoverable-failure" msgstr "" #. TRANSLATORS: Wrapper Recoverable Storage -#: locale/ipp-strings.c:4194 +#: locale/ipp-strings.c:4232 msgid "printer-state-reasons.wrapper-recoverable-storage" msgstr "" #. TRANSLATORS: Wrapper Removed -#: locale/ipp-strings.c:4196 +#: locale/ipp-strings.c:4234 msgid "printer-state-reasons.wrapper-removed" msgstr "" #. TRANSLATORS: Wrapper Resource Added -#: locale/ipp-strings.c:4198 +#: locale/ipp-strings.c:4236 msgid "printer-state-reasons.wrapper-resource-added" msgstr "" #. TRANSLATORS: Wrapper Resource Removed -#: locale/ipp-strings.c:4200 +#: locale/ipp-strings.c:4238 msgid "printer-state-reasons.wrapper-resource-removed" msgstr "" #. TRANSLATORS: Wrapper Thermistor Failure -#: locale/ipp-strings.c:4202 +#: locale/ipp-strings.c:4240 msgid "printer-state-reasons.wrapper-thermistor-failure" msgstr "" #. TRANSLATORS: Wrapper Timing Failure -#: locale/ipp-strings.c:4204 +#: locale/ipp-strings.c:4242 msgid "printer-state-reasons.wrapper-timing-failure" msgstr "" #. TRANSLATORS: Wrapper Turned Off -#: locale/ipp-strings.c:4206 +#: locale/ipp-strings.c:4244 msgid "printer-state-reasons.wrapper-turned-off" msgstr "" #. TRANSLATORS: Wrapper Turned On -#: locale/ipp-strings.c:4208 +#: locale/ipp-strings.c:4246 msgid "printer-state-reasons.wrapper-turned-on" msgstr "" #. TRANSLATORS: Wrapper Under Temperature -#: locale/ipp-strings.c:4210 +#: locale/ipp-strings.c:4248 msgid "printer-state-reasons.wrapper-under-temperature" msgstr "" #. TRANSLATORS: Wrapper Unrecoverable Failure -#: locale/ipp-strings.c:4212 +#: locale/ipp-strings.c:4250 msgid "printer-state-reasons.wrapper-unrecoverable-failure" msgstr "" #. TRANSLATORS: Wrapper Unrecoverable Storage Error -#: locale/ipp-strings.c:4214 +#: locale/ipp-strings.c:4252 msgid "printer-state-reasons.wrapper-unrecoverable-storage-error" msgstr "" #. TRANSLATORS: Wrapper Warming Up -#: locale/ipp-strings.c:4216 +#: locale/ipp-strings.c:4254 msgid "printer-state-reasons.wrapper-warming-up" msgstr "" #. TRANSLATORS: Idle -#: locale/ipp-strings.c:4218 +#: locale/ipp-strings.c:4256 msgid "printer-state.3" msgstr "" #. TRANSLATORS: Processing -#: locale/ipp-strings.c:4220 +#: locale/ipp-strings.c:4258 msgid "printer-state.4" msgstr "" #. TRANSLATORS: Stopped -#: locale/ipp-strings.c:4222 +#: locale/ipp-strings.c:4260 msgid "printer-state.5" msgstr "" #. TRANSLATORS: Printer Uptime -#: locale/ipp-strings.c:4224 +#: locale/ipp-strings.c:4262 msgid "printer-up-time" msgstr "" @@ -18359,52 +18478,52 @@ msgid "processing" msgstr "" #. TRANSLATORS: Proof Print -#: locale/ipp-strings.c:4226 +#: locale/ipp-strings.c:4264 msgid "proof-print" msgstr "" #. TRANSLATORS: Proof Print Copies -#: locale/ipp-strings.c:4228 +#: locale/ipp-strings.c:4266 msgid "proof-print-copies" msgstr "" #. TRANSLATORS: Punching -#: locale/ipp-strings.c:4230 +#: locale/ipp-strings.c:4268 msgid "punching" msgstr "" #. TRANSLATORS: Punching Locations -#: locale/ipp-strings.c:4232 +#: locale/ipp-strings.c:4270 msgid "punching-locations" msgstr "" #. TRANSLATORS: Punching Offset -#: locale/ipp-strings.c:4234 +#: locale/ipp-strings.c:4272 msgid "punching-offset" msgstr "" #. TRANSLATORS: Punch Edge -#: locale/ipp-strings.c:4236 +#: locale/ipp-strings.c:4274 msgid "punching-reference-edge" msgstr "" #. TRANSLATORS: Bottom -#: locale/ipp-strings.c:4238 +#: locale/ipp-strings.c:4276 msgid "punching-reference-edge.bottom" msgstr "" #. TRANSLATORS: Left -#: locale/ipp-strings.c:4240 +#: locale/ipp-strings.c:4278 msgid "punching-reference-edge.left" msgstr "" #. TRANSLATORS: Right -#: locale/ipp-strings.c:4242 +#: locale/ipp-strings.c:4280 msgid "punching-reference-edge.right" msgstr "" #. TRANSLATORS: Top -#: locale/ipp-strings.c:4244 +#: locale/ipp-strings.c:4282 msgid "punching-reference-edge.top" msgstr "" @@ -18418,57 +18537,57 @@ msgid "request-id uses indefinite length" msgstr "" #. TRANSLATORS: Requested Attributes -#: locale/ipp-strings.c:4246 +#: locale/ipp-strings.c:4284 msgid "requested-attributes" msgstr "" #. TRANSLATORS: Retry Interval -#: locale/ipp-strings.c:4248 +#: locale/ipp-strings.c:4286 msgid "retry-interval" msgstr "" #. TRANSLATORS: Retry Timeout -#: locale/ipp-strings.c:4250 +#: locale/ipp-strings.c:4288 msgid "retry-time-out" msgstr "" #. TRANSLATORS: Save Disposition -#: locale/ipp-strings.c:4252 +#: locale/ipp-strings.c:4290 msgid "save-disposition" msgstr "" #. TRANSLATORS: None -#: locale/ipp-strings.c:4254 +#: locale/ipp-strings.c:4292 msgid "save-disposition.none" msgstr "" #. TRANSLATORS: Print and Save -#: locale/ipp-strings.c:4256 +#: locale/ipp-strings.c:4294 msgid "save-disposition.print-save" msgstr "" #. TRANSLATORS: Save Only -#: locale/ipp-strings.c:4258 +#: locale/ipp-strings.c:4296 msgid "save-disposition.save-only" msgstr "" #. TRANSLATORS: Save Document Format -#: locale/ipp-strings.c:4260 +#: locale/ipp-strings.c:4298 msgid "save-document-format" msgstr "" #. TRANSLATORS: Save Info -#: locale/ipp-strings.c:4262 +#: locale/ipp-strings.c:4300 msgid "save-info" msgstr "" #. TRANSLATORS: Save Location -#: locale/ipp-strings.c:4264 +#: locale/ipp-strings.c:4302 msgid "save-location" msgstr "" #. TRANSLATORS: Save Name -#: locale/ipp-strings.c:4266 +#: locale/ipp-strings.c:4304 msgid "save-name" msgstr "" @@ -18481,61 +18600,61 @@ msgid "scheduler is running" msgstr "" #. TRANSLATORS: Separator Sheets -#: locale/ipp-strings.c:4268 +#: locale/ipp-strings.c:4306 msgid "separator-sheets" msgstr "" #. TRANSLATORS: Type of Separator Sheets -#: locale/ipp-strings.c:4270 +#: locale/ipp-strings.c:4308 msgid "separator-sheets-type" msgstr "" #. TRANSLATORS: Start and End Sheets -#: locale/ipp-strings.c:4272 +#: locale/ipp-strings.c:4310 msgid "separator-sheets-type.both-sheets" msgstr "" #. TRANSLATORS: End Sheet -#: locale/ipp-strings.c:4274 +#: locale/ipp-strings.c:4312 msgid "separator-sheets-type.end-sheet" msgstr "" #. TRANSLATORS: None -#: locale/ipp-strings.c:4276 +#: locale/ipp-strings.c:4314 msgid "separator-sheets-type.none" msgstr "" #. TRANSLATORS: Slip Sheets -#: locale/ipp-strings.c:4278 +#: locale/ipp-strings.c:4316 msgid "separator-sheets-type.slip-sheets" msgstr "" #. TRANSLATORS: Start Sheet -#: locale/ipp-strings.c:4280 +#: locale/ipp-strings.c:4318 msgid "separator-sheets-type.start-sheet" msgstr "" #. TRANSLATORS: 2-Sided Printing -#: locale/ipp-strings.c:4282 +#: locale/ipp-strings.c:4320 msgid "sides" msgstr "" #. TRANSLATORS: Off -#: locale/ipp-strings.c:4284 +#: locale/ipp-strings.c:4322 msgid "sides.one-sided" msgstr "" #. TRANSLATORS: On (Portrait) -#: locale/ipp-strings.c:4286 +#: locale/ipp-strings.c:4324 msgid "sides.two-sided-long-edge" msgstr "" #. TRANSLATORS: On (Landscape) -#: locale/ipp-strings.c:4288 +#: locale/ipp-strings.c:4326 msgid "sides.two-sided-short-edge" msgstr "" -#: cups/adminutil.c:1384 +#: cups/adminutil.c:1380 #, c-format msgid "stat of %s failed: %s" msgstr "" @@ -18545,72 +18664,72 @@ msgid "status\t\tShow status of daemon and queue." msgstr "" #. TRANSLATORS: Status Message -#: locale/ipp-strings.c:4290 +#: locale/ipp-strings.c:4328 msgid "status-message" msgstr "" #. TRANSLATORS: Staple -#: locale/ipp-strings.c:4292 +#: locale/ipp-strings.c:4330 msgid "stitching" msgstr "" #. TRANSLATORS: Stitching Angle -#: locale/ipp-strings.c:4294 +#: locale/ipp-strings.c:4332 msgid "stitching-angle" msgstr "" #. TRANSLATORS: Stitching Locations -#: locale/ipp-strings.c:4296 +#: locale/ipp-strings.c:4334 msgid "stitching-locations" msgstr "" #. TRANSLATORS: Staple Method -#: locale/ipp-strings.c:4298 +#: locale/ipp-strings.c:4336 msgid "stitching-method" msgstr "" #. TRANSLATORS: Automatic -#: locale/ipp-strings.c:4300 +#: locale/ipp-strings.c:4338 msgid "stitching-method.auto" msgstr "" #. TRANSLATORS: Crimp -#: locale/ipp-strings.c:4302 +#: locale/ipp-strings.c:4340 msgid "stitching-method.crimp" msgstr "" #. TRANSLATORS: Wire -#: locale/ipp-strings.c:4304 +#: locale/ipp-strings.c:4342 msgid "stitching-method.wire" msgstr "" #. TRANSLATORS: Stitching Offset -#: locale/ipp-strings.c:4306 +#: locale/ipp-strings.c:4344 msgid "stitching-offset" msgstr "" #. TRANSLATORS: Staple Edge -#: locale/ipp-strings.c:4308 +#: locale/ipp-strings.c:4346 msgid "stitching-reference-edge" msgstr "" #. TRANSLATORS: Bottom -#: locale/ipp-strings.c:4310 +#: locale/ipp-strings.c:4348 msgid "stitching-reference-edge.bottom" msgstr "" #. TRANSLATORS: Left -#: locale/ipp-strings.c:4312 +#: locale/ipp-strings.c:4350 msgid "stitching-reference-edge.left" msgstr "" #. TRANSLATORS: Right -#: locale/ipp-strings.c:4314 +#: locale/ipp-strings.c:4352 msgid "stitching-reference-edge.right" msgstr "" #. TRANSLATORS: Top -#: locale/ipp-strings.c:4316 +#: locale/ipp-strings.c:4354 msgid "stitching-reference-edge.top" msgstr "" @@ -18619,62 +18738,62 @@ msgid "stopped" msgstr "" #. TRANSLATORS: Subject -#: locale/ipp-strings.c:4318 +#: locale/ipp-strings.c:4356 msgid "subject" msgstr "" #. TRANSLATORS: Subscription Privacy Attributes -#: locale/ipp-strings.c:4320 +#: locale/ipp-strings.c:4358 msgid "subscription-privacy-attributes" msgstr "" #. TRANSLATORS: All -#: locale/ipp-strings.c:4322 +#: locale/ipp-strings.c:4360 msgid "subscription-privacy-attributes.all" msgstr "" #. TRANSLATORS: Default -#: locale/ipp-strings.c:4324 +#: locale/ipp-strings.c:4362 msgid "subscription-privacy-attributes.default" msgstr "" #. TRANSLATORS: None -#: locale/ipp-strings.c:4326 +#: locale/ipp-strings.c:4364 msgid "subscription-privacy-attributes.none" msgstr "" #. TRANSLATORS: Subscription Description -#: locale/ipp-strings.c:4328 +#: locale/ipp-strings.c:4366 msgid "subscription-privacy-attributes.subscription-description" msgstr "" #. TRANSLATORS: Subscription Template -#: locale/ipp-strings.c:4330 +#: locale/ipp-strings.c:4368 msgid "subscription-privacy-attributes.subscription-template" msgstr "" #. TRANSLATORS: Subscription Privacy Scope -#: locale/ipp-strings.c:4332 +#: locale/ipp-strings.c:4370 msgid "subscription-privacy-scope" msgstr "" #. TRANSLATORS: All -#: locale/ipp-strings.c:4334 +#: locale/ipp-strings.c:4372 msgid "subscription-privacy-scope.all" msgstr "" #. TRANSLATORS: Default -#: locale/ipp-strings.c:4336 +#: locale/ipp-strings.c:4374 msgid "subscription-privacy-scope.default" msgstr "" #. TRANSLATORS: None -#: locale/ipp-strings.c:4338 +#: locale/ipp-strings.c:4376 msgid "subscription-privacy-scope.none" msgstr "" #. TRANSLATORS: Owner -#: locale/ipp-strings.c:4340 +#: locale/ipp-strings.c:4378 msgid "subscription-privacy-scope.owner" msgstr "" @@ -18689,142 +18808,142 @@ msgid "system default destination: %s/%s" msgstr "" #. TRANSLATORS: T33 Subaddress -#: locale/ipp-strings.c:4342 +#: locale/ipp-strings.c:4380 msgid "t33-subaddress" msgstr "" #. TRANSLATORS: To Name -#: locale/ipp-strings.c:4344 +#: locale/ipp-strings.c:4382 msgid "to-name" msgstr "" #. TRANSLATORS: Transmission Status -#: locale/ipp-strings.c:4346 +#: locale/ipp-strings.c:4384 msgid "transmission-status" msgstr "" #. TRANSLATORS: Pending -#: locale/ipp-strings.c:4348 +#: locale/ipp-strings.c:4386 msgid "transmission-status.3" msgstr "" #. TRANSLATORS: Pending Retry -#: locale/ipp-strings.c:4350 +#: locale/ipp-strings.c:4388 msgid "transmission-status.4" msgstr "" #. TRANSLATORS: Processing -#: locale/ipp-strings.c:4352 +#: locale/ipp-strings.c:4390 msgid "transmission-status.5" msgstr "" #. TRANSLATORS: Canceled -#: locale/ipp-strings.c:4354 +#: locale/ipp-strings.c:4392 msgid "transmission-status.7" msgstr "" #. TRANSLATORS: Aborted -#: locale/ipp-strings.c:4356 +#: locale/ipp-strings.c:4394 msgid "transmission-status.8" msgstr "" #. TRANSLATORS: Completed -#: locale/ipp-strings.c:4358 +#: locale/ipp-strings.c:4396 msgid "transmission-status.9" msgstr "" #. TRANSLATORS: Cut -#: locale/ipp-strings.c:4360 +#: locale/ipp-strings.c:4398 msgid "trimming" msgstr "" #. TRANSLATORS: Cut Position -#: locale/ipp-strings.c:4362 +#: locale/ipp-strings.c:4400 msgid "trimming-offset" msgstr "" #. TRANSLATORS: Cut Edge -#: locale/ipp-strings.c:4364 +#: locale/ipp-strings.c:4402 msgid "trimming-reference-edge" msgstr "" #. TRANSLATORS: Bottom -#: locale/ipp-strings.c:4366 +#: locale/ipp-strings.c:4404 msgid "trimming-reference-edge.bottom" msgstr "" #. TRANSLATORS: Left -#: locale/ipp-strings.c:4368 +#: locale/ipp-strings.c:4406 msgid "trimming-reference-edge.left" msgstr "" #. TRANSLATORS: Right -#: locale/ipp-strings.c:4370 +#: locale/ipp-strings.c:4408 msgid "trimming-reference-edge.right" msgstr "" #. TRANSLATORS: Top -#: locale/ipp-strings.c:4372 +#: locale/ipp-strings.c:4410 msgid "trimming-reference-edge.top" msgstr "" #. TRANSLATORS: Type of Cut -#: locale/ipp-strings.c:4374 +#: locale/ipp-strings.c:4412 msgid "trimming-type" msgstr "" #. TRANSLATORS: Draw Line -#: locale/ipp-strings.c:4376 +#: locale/ipp-strings.c:4414 msgid "trimming-type.draw-line" msgstr "" #. TRANSLATORS: Full -#: locale/ipp-strings.c:4378 +#: locale/ipp-strings.c:4416 msgid "trimming-type.full" msgstr "" #. TRANSLATORS: Partial -#: locale/ipp-strings.c:4380 +#: locale/ipp-strings.c:4418 msgid "trimming-type.partial" msgstr "" #. TRANSLATORS: Perforate -#: locale/ipp-strings.c:4382 +#: locale/ipp-strings.c:4420 msgid "trimming-type.perforate" msgstr "" #. TRANSLATORS: Score -#: locale/ipp-strings.c:4384 +#: locale/ipp-strings.c:4422 msgid "trimming-type.score" msgstr "" #. TRANSLATORS: Tab -#: locale/ipp-strings.c:4386 +#: locale/ipp-strings.c:4424 msgid "trimming-type.tab" msgstr "" #. TRANSLATORS: Cut After -#: locale/ipp-strings.c:4388 +#: locale/ipp-strings.c:4426 msgid "trimming-when" msgstr "" #. TRANSLATORS: Every Document -#: locale/ipp-strings.c:4390 +#: locale/ipp-strings.c:4428 msgid "trimming-when.after-documents" msgstr "" #. TRANSLATORS: Job -#: locale/ipp-strings.c:4392 +#: locale/ipp-strings.c:4430 msgid "trimming-when.after-job" msgstr "" #. TRANSLATORS: Every Set -#: locale/ipp-strings.c:4394 +#: locale/ipp-strings.c:4432 msgid "trimming-when.after-sets" msgstr "" #. TRANSLATORS: Every Page -#: locale/ipp-strings.c:4396 +#: locale/ipp-strings.c:4434 msgid "trimming-when.after-sheets" msgstr "" @@ -18841,57 +18960,57 @@ msgid "variable-bindings uses indefinite length" msgstr "" #. TRANSLATORS: X Accuracy -#: locale/ipp-strings.c:4398 +#: locale/ipp-strings.c:4436 msgid "x-accuracy" msgstr "" #. TRANSLATORS: X Dimension -#: locale/ipp-strings.c:4400 +#: locale/ipp-strings.c:4438 msgid "x-dimension" msgstr "" #. TRANSLATORS: X Offset -#: locale/ipp-strings.c:4402 +#: locale/ipp-strings.c:4440 msgid "x-offset" msgstr "" #. TRANSLATORS: X Origin -#: locale/ipp-strings.c:4404 +#: locale/ipp-strings.c:4442 msgid "x-origin" msgstr "" #. TRANSLATORS: Y Accuracy -#: locale/ipp-strings.c:4406 +#: locale/ipp-strings.c:4444 msgid "y-accuracy" msgstr "" #. TRANSLATORS: Y Dimension -#: locale/ipp-strings.c:4408 +#: locale/ipp-strings.c:4446 msgid "y-dimension" msgstr "" #. TRANSLATORS: Y Offset -#: locale/ipp-strings.c:4410 +#: locale/ipp-strings.c:4448 msgid "y-offset" msgstr "" #. TRANSLATORS: Y Origin -#: locale/ipp-strings.c:4412 +#: locale/ipp-strings.c:4450 msgid "y-origin" msgstr "" #. TRANSLATORS: Z Accuracy -#: locale/ipp-strings.c:4414 +#: locale/ipp-strings.c:4452 msgid "z-accuracy" msgstr "" #. TRANSLATORS: Z Dimension -#: locale/ipp-strings.c:4416 +#: locale/ipp-strings.c:4454 msgid "z-dimension" msgstr "" #. TRANSLATORS: Z Offset -#: locale/ipp-strings.c:4418 +#: locale/ipp-strings.c:4456 msgid "z-offset" msgstr "" @@ -18931,6 +19050,6 @@ msgstr "" msgid "{} URI" msgstr "" -#: cups/dest.c:1864 +#: cups/dest.c:1863 msgid "~/.cups/lpoptions file names default destination that does not exist." msgstr "" diff --git a/locale/cups.strings b/locale/cups.strings index 0c69de57..aedc92fb 100644 --- a/locale/cups.strings +++ b/locale/cups.strings @@ -347,6 +347,7 @@ "--name regex Match service name to regular expression" = "--name regex Match service name to regular expression"; "--no-web-forms Disable web forms for media and supplies" = "--no-web-forms Disable web forms for media and supplies"; "--not expression Unary NOT of expression" = "--not expression Unary NOT of expression"; +"--pam-service service Use the named PAM service" = "--pam-service service Use the named PAM service"; "--path regex Match resource path to regular expression" = "--path regex Match resource path to regular expression"; "--port number[-number] Match port to number or range" = "--port number[-number] Match port to number or range"; "--print Print URI if true" = "--print Print URI if true"; @@ -402,6 +403,7 @@ "-9" = "-9"; "-90" = "-90"; "-95" = "-95"; +"-A Enable authentication" = "-A Enable authentication"; "-C Send requests using chunking (default)" = "-C Send requests using chunking (default)"; "-D description Specify the textual description of the printer" = "-D description Specify the textual description of the printer"; "-D device-uri Set the device URI for the printer" = "-D device-uri Set the device URI for the printer"; @@ -456,6 +458,7 @@ "-d Show the default destination" = "-d Show the default destination"; "-d destination Set default destination" = "-d destination Set default destination"; "-d destination Set the named destination as the server default" = "-d destination Set the named destination as the server default"; +"-d destination Specify the destination" = "-d destination Specify the destination"; "-d name=value Set named variable to value" = "-d name=value Set named variable to value"; "-d regex Match domain to regular expression" = "-d regex Match domain to regular expression"; "-d spool-directory Set spool directory" = "-d spool-directory Set spool directory"; @@ -649,6 +652,7 @@ "30 mm/sec." = "30 mm/sec."; "300 mm/sec." = "300 mm/sec."; "300dpi" = "300dpi"; +"30859 Paint Can Label" = "30859 Paint Can Label"; "35" = "35"; "360dpi" = "360dpi"; "360x180dpi" = "360x180dpi"; @@ -854,6 +858,7 @@ "CustominTearInterval" = "CustominTearInterval"; "Cut" = "Cut"; "Cutter" = "Cutter"; +"DYMO" = "DYMO"; "Dark" = "Dark"; "Darkness" = "Darkness"; "Data file sent successfully." = "Data file sent successfully."; @@ -877,7 +882,6 @@ "Document #%d does not exist in job #%d." = "Document #%d does not exist in job #%d."; "Draft" = "Draft"; "Duplexer" = "Duplexer"; -"Dymo" = "Dymo"; "EPL1 Label Printer" = "EPL1 Label Printer"; "EPL2 Label Printer" = "EPL2 Label Printer"; "Edit Configuration File" = "Edit Configuration File"; @@ -1086,6 +1090,7 @@ "Local printer created." = "Local printer created."; "Long-Edge (Portrait)" = "Long-Edge (Portrait)"; "Looking for printer." = "Looking for printer."; +"Main Roll" = "Main Roll"; "Manual Feed" = "Manual Feed"; "Media Size" = "Media Size"; "Media Source" = "Media Source"; @@ -1258,6 +1263,7 @@ "Rewind" = "Rewind"; "SEQUENCE uses indefinite length" = "SEQUENCE uses indefinite length"; "SSL/TLS Negotiation Error" = "SSL/TLS Negotiation Error"; +"Second Roll (DUO/Twin Only)" = "Second Roll (DUO/Twin Only)"; "See Other" = "See Other"; "See remote printer." = "See remote printer."; "Self-signed credentials are blocked." = "Self-signed credentials are blocked."; @@ -2114,6 +2120,10 @@ "finishing-template.trim-after-job" = "Trim After Job"; // TRANSLATORS: Trim After Every Page "finishing-template.trim-after-pages" = "Trim After Every Page"; +// TRANSLATORS: Trim After Every Set +"finishing-template.trim-after-sets" = "Trim After Every Set"; +// TRANSLATORS: Trim After Every Page +"finishing-template.trim-after-sheets" = "Trim After Every Page"; // TRANSLATORS: Finishings "finishings" = "Finishings"; // TRANSLATORS: Finishings @@ -2358,7 +2368,7 @@ // TRANSLATORS: Job Accounting User ID "job-accounting-user-id" = "Job Accounting User ID"; // TRANSLATORS: Job Cancel After -"job-cancel-after" = "job-cancel-after"; +"job-cancel-after" = "Cancel job after"; // TRANSLATORS: Copies "job-copies" = "Copies"; // TRANSLATORS: Back Cover @@ -2469,21 +2479,21 @@ // TRANSLATORS: Job Recipient Name "job-recipient-name" = "Job Recipient Name"; // TRANSLATORS: Job Retain Until -"job-retain-until" = "job-retain-until"; +"job-retain-until" = "Retain job until"; // TRANSLATORS: Job Retain Until Interval -"job-retain-until-interval" = "job-retain-until-interval"; +"job-retain-until-interval" = "Retain job until interval"; // TRANSLATORS: Job Retain Until Time -"job-retain-until-time" = "job-retain-until-time"; +"job-retain-until-time" = "Retain job until time"; // TRANSLATORS: End Of Day -"job-retain-until.end-of-day" = "job-retain-until.end-of-day"; +"job-retain-until.end-of-day" = "End of day"; // TRANSLATORS: End Of Month -"job-retain-until.end-of-month" = "job-retain-until.end-of-month"; +"job-retain-until.end-of-month" = "End of month"; // TRANSLATORS: End Of Week -"job-retain-until.end-of-week" = "job-retain-until.end-of-week"; +"job-retain-until.end-of-week" = "End of week"; // TRANSLATORS: Indefinite -"job-retain-until.indefinite" = "job-retain-until.indefinite"; +"job-retain-until.indefinite" = "Indefinitely"; // TRANSLATORS: None -"job-retain-until.none" = "job-retain-until.none"; +"job-retain-until.none" = "Never"; // TRANSLATORS: Job Save Disposition "job-save-disposition" = "Job Save Disposition"; // TRANSLATORS: Job Sheet Message @@ -3207,6 +3217,32 @@ "media-type.cardstock" = "Cardstock"; // TRANSLATORS: CD "media-type.cd" = "CD"; +// TRANSLATORS: Photo Advanced Paper +"media-type.com.hp.advanced-photo" = "Photo Advanced Paper"; +// TRANSLATORS: Brochure Glossy Paper +"media-type.com.hp.brochure-glossy" = "Brochure Glossy Paper"; +// TRANSLATORS: Brochure Matte Paper +"media-type.com.hp.brochure-matte" = "Brochure Matte Paper"; +// TRANSLATORS: Matte Coverstock +"media-type.com.hp.cover-matte" = "Matte Coverstock"; +// TRANSLATORS: EcoSMART Lite Paper +"media-type.com.hp.ecosmart-lite" = "EcoSMART Lite Paper"; +// TRANSLATORS: Everyday Glossy Paper +"media-type.com.hp.everyday-glossy" = "Everyday Glossy Paper"; +// TRANSLATORS: Everyday Matte Paper +"media-type.com.hp.everyday-matte" = "Everyday Matte Paper"; +// TRANSLATORS: Extra Heavyweight Paper +"media-type.com.hp.extra-heavy" = "Extra Heavyweight Paper"; +// TRANSLATORS: Intermediate Paper +"media-type.com.hp.intermediate" = "Intermediate Paper"; +// TRANSLATORS: Mid-Weight Paper +"media-type.com.hp.mid-weight" = "Mid-Weight Paper"; +// TRANSLATORS: Inkjet Premium Paper +"media-type.com.hp.premium-inkjet" = "Inkjet Premium Paper"; +// TRANSLATORS: Photo Premium Paper +"media-type.com.hp.premium-photo" = "Photo Premium Paper"; +// TRANSLATORS: Premium Matte Presentation Paper +"media-type.com.hp.premium-presentation-matte" = "Premium Matte Presentation Paper"; // TRANSLATORS: Continuous "media-type.continuous" = "Continuous"; // TRANSLATORS: Continuous Long @@ -3303,6 +3339,14 @@ "media-type.image-setter-paper" = "Image Setter Paper"; // TRANSLATORS: Imaging Cylinder "media-type.imaging-cylinder" = "Imaging Cylinder"; +// TRANSLATORS: Photo Paper Plus Glossy II +"media-type.jp.co.canon-photo-paper-plus-glossy-ii" = "Photo Paper Plus Glossy II"; +// TRANSLATORS: Photo Paper Pro Platinum +"media-type.jp.co.canon-photo-paper-pro-platinum" = "Photo Paper Pro Platinum"; +// TRANSLATORS: Photo Paper Plus Glossy II +"media-type.jp.co.canon_photo-paper-plus-glossy-ii" = "Photo Paper Plus Glossy II"; +// TRANSLATORS: Photo Paper Pro Platinum +"media-type.jp.co.canon_photo-paper-pro-platinum" = "Photo Paper Pro Platinum"; // TRANSLATORS: Labels "media-type.labels" = "Labels"; // TRANSLATORS: Colored Labels @@ -3622,7 +3666,7 @@ // TRANSLATORS: Envelope Chou 3 "media.jpn_chou3_120x235mm" = "Envelope Chou 3"; // TRANSLATORS: Envelope Chou 40 -"media.jpn_chou40_90x225mm" = "media.jpn_chou40_90x225mm"; +"media.jpn_chou40_90x225mm" = "Envelope Chou 40"; // TRANSLATORS: Envelope Chou 4 "media.jpn_chou4_90x205mm" = "Envelope Chou 4"; // TRANSLATORS: Hagaki @@ -4265,13 +4309,13 @@ // TRANSLATORS: Print Optimization "print-content-optimize" = "Print Optimization"; // TRANSLATORS: Print Content Optimize Actual -"print-content-optimize-actual" = "print-content-optimize-actual"; +"print-content-optimize-actual" = "Print Optimization"; // TRANSLATORS: Automatic "print-content-optimize.auto" = "Automatic"; // TRANSLATORS: Graphics "print-content-optimize.graphic" = "Graphics"; // TRANSLATORS: Graphics -"print-content-optimize.graphics" = "print-content-optimize.graphics"; +"print-content-optimize.graphics" = "Graphics"; // TRANSLATORS: Photo "print-content-optimize.photo" = "Photo"; // TRANSLATORS: Text @@ -4279,7 +4323,7 @@ // TRANSLATORS: Text and Graphics "print-content-optimize.text-and-graphic" = "Text and Graphics"; // TRANSLATORS: Text And Graphics -"print-content-optimize.text-and-graphics" = "print-content-optimize.text-and-graphics"; +"print-content-optimize.text-and-graphics" = "Text and Graphics"; // TRANSLATORS: Print Objects "print-objects" = "Print Objects"; // TRANSLATORS: Print Quality @@ -4334,25 +4378,25 @@ "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"; // TRANSLATORS: Printer Kind -"printer-kind" = "printer-kind"; +"printer-kind" = "Printer Kind"; // TRANSLATORS: Disc -"printer-kind.disc" = "printer-kind.disc"; +"printer-kind.disc" = "Disc"; // TRANSLATORS: Document -"printer-kind.document" = "printer-kind.document"; +"printer-kind.document" = "Document"; // TRANSLATORS: Envelope -"printer-kind.envelope" = "printer-kind.envelope"; +"printer-kind.envelope" = "Envelope"; // TRANSLATORS: Label -"printer-kind.label" = "printer-kind.label"; +"printer-kind.label" = "Label"; // TRANSLATORS: Large Format -"printer-kind.large-format" = "printer-kind.large-format"; +"printer-kind.large-format" = "Large format"; // TRANSLATORS: Photo -"printer-kind.photo" = "printer-kind.photo"; +"printer-kind.photo" = "Photo"; // TRANSLATORS: Postcard -"printer-kind.postcard" = "printer-kind.postcard"; +"printer-kind.postcard" = "Postcard"; // TRANSLATORS: Receipt -"printer-kind.receipt" = "printer-kind.receipt"; +"printer-kind.receipt" = "Receipt"; // TRANSLATORS: Roll -"printer-kind.roll" = "printer-kind.roll"; +"printer-kind.roll" = "Roll"; // TRANSLATORS: Message From Operator "printer-message-from-operator" = "Message From Operator"; // TRANSLATORS: Print Resolution @@ -4624,15 +4668,15 @@ // TRANSLATORS: Fan Failure "printer-state-reasons.fan-failure" = "Fan Failure"; // TRANSLATORS: Fax Modem Life Almost Over -"printer-state-reasons.fax-modem-life-almost-over" = "printer-state-reasons.fax-modem-life-almost-over"; +"printer-state-reasons.fax-modem-life-almost-over" = "Fax Modem Life Almost Over"; // TRANSLATORS: Fax Modem Life Over -"printer-state-reasons.fax-modem-life-over" = "printer-state-reasons.fax-modem-life-over"; +"printer-state-reasons.fax-modem-life-over" = "Fax Modem Life Over"; // TRANSLATORS: Fax Modem Missing -"printer-state-reasons.fax-modem-missing" = "printer-state-reasons.fax-modem-missing"; +"printer-state-reasons.fax-modem-missing" = "Fax Modem Missing"; // TRANSLATORS: Fax Modem Turned Off -"printer-state-reasons.fax-modem-turned-off" = "printer-state-reasons.fax-modem-turned-off"; +"printer-state-reasons.fax-modem-turned-off" = "Fax Modem Turned Off"; // TRANSLATORS: Fax Modem Turned On -"printer-state-reasons.fax-modem-turned-on" = "printer-state-reasons.fax-modem-turned-on"; +"printer-state-reasons.fax-modem-turned-on" = "Fax Modem Turned On"; // TRANSLATORS: Folder Added "printer-state-reasons.folder-added" = "Folder Added"; // TRANSLATORS: Folder Almost Empty @@ -4796,23 +4840,23 @@ // TRANSLATORS: Input Media Size Change "printer-state-reasons.input-media-size-change" = "Input Media Size Change"; // TRANSLATORS: Input Media Tray Failure -"printer-state-reasons.input-media-tray-failure" = "printer-state-reasons.input-media-tray-failure"; +"printer-state-reasons.input-media-tray-failure" = "Input Media Tray Failure"; // TRANSLATORS: Input Media Tray Feed Error -"printer-state-reasons.input-media-tray-feed-error" = "printer-state-reasons.input-media-tray-feed-error"; +"printer-state-reasons.input-media-tray-feed-error" = "Input Media Tray Feed Error"; // TRANSLATORS: Input Media Tray Jam -"printer-state-reasons.input-media-tray-jam" = "printer-state-reasons.input-media-tray-jam"; +"printer-state-reasons.input-media-tray-jam" = "Input Media Tray Jam"; // TRANSLATORS: Input Media Type Change "printer-state-reasons.input-media-type-change" = "Input Media Type Change"; // TRANSLATORS: Input Media Weight Change "printer-state-reasons.input-media-weight-change" = "Input Media Weight Change"; // TRANSLATORS: Input Pick Roller Failure -"printer-state-reasons.input-pick-roller-failure" = "printer-state-reasons.input-pick-roller-failure"; +"printer-state-reasons.input-pick-roller-failure" = "Input Pick Roller Failure"; // TRANSLATORS: Input Pick Roller Life Over -"printer-state-reasons.input-pick-roller-life-over" = "printer-state-reasons.input-pick-roller-life-over"; +"printer-state-reasons.input-pick-roller-life-over" = "Input Pick Roller Life Over"; // TRANSLATORS: Input Pick Roller Life Warn -"printer-state-reasons.input-pick-roller-life-warn" = "printer-state-reasons.input-pick-roller-life-warn"; +"printer-state-reasons.input-pick-roller-life-warn" = "Input Pick Roller Life Warn"; // TRANSLATORS: Input Pick Roller Missing -"printer-state-reasons.input-pick-roller-missing" = "printer-state-reasons.input-pick-roller-missing"; +"printer-state-reasons.input-pick-roller-missing" = "Input Pick Roller Missing"; // TRANSLATORS: Input Tray Elevation Failure "printer-state-reasons.input-tray-elevation-failure" = "Input Tray Elevation Failure"; // TRANSLATORS: Paper tray is missing @@ -4998,63 +5042,63 @@ // TRANSLATORS: Marker Adjusting Print Quality "printer-state-reasons.marker-adjusting-print-quality" = "Marker Adjusting Print Quality"; // TRANSLATORS: Marker Cleaner Missing -"printer-state-reasons.marker-cleaner-missing" = "printer-state-reasons.marker-cleaner-missing"; +"printer-state-reasons.marker-cleaner-missing" = "Marker Cleaner Missing"; // TRANSLATORS: Marker Developer Almost Empty "printer-state-reasons.marker-developer-almost-empty" = "Marker Developer Almost Empty"; // TRANSLATORS: Marker Developer Empty "printer-state-reasons.marker-developer-empty" = "Marker Developer Empty"; // TRANSLATORS: Marker Developer Missing -"printer-state-reasons.marker-developer-missing" = "printer-state-reasons.marker-developer-missing"; +"printer-state-reasons.marker-developer-missing" = "Marker Developer Missing"; // TRANSLATORS: Marker Fuser Missing -"printer-state-reasons.marker-fuser-missing" = "printer-state-reasons.marker-fuser-missing"; +"printer-state-reasons.marker-fuser-missing" = "Marker Fuser Missing"; // TRANSLATORS: Marker Fuser Thermistor Failure "printer-state-reasons.marker-fuser-thermistor-failure" = "Marker Fuser Thermistor Failure"; // TRANSLATORS: Marker Fuser Timing Failure "printer-state-reasons.marker-fuser-timing-failure" = "Marker Fuser Timing Failure"; // TRANSLATORS: Marker Ink Almost Empty -"printer-state-reasons.marker-ink-almost-empty" = "Marker Ink Almost Empty"; +"printer-state-reasons.marker-ink-almost-empty" = "Low ink"; // TRANSLATORS: Marker Ink Empty -"printer-state-reasons.marker-ink-empty" = "Marker Ink Empty"; +"printer-state-reasons.marker-ink-empty" = "Ink empty"; // TRANSLATORS: Marker Ink Missing -"printer-state-reasons.marker-ink-missing" = "printer-state-reasons.marker-ink-missing"; +"printer-state-reasons.marker-ink-missing" = "Ink missing"; // TRANSLATORS: Marker Opc Missing -"printer-state-reasons.marker-opc-missing" = "printer-state-reasons.marker-opc-missing"; +"printer-state-reasons.marker-opc-missing" = "OPC missing"; // TRANSLATORS: Marker Print Ribbon Almost Empty -"printer-state-reasons.marker-print-ribbon-almost-empty" = "Marker Print Ribbon Almost Empty"; +"printer-state-reasons.marker-print-ribbon-almost-empty" = "Print ribbon Almost Empty"; // TRANSLATORS: Marker Print Ribbon Empty -"printer-state-reasons.marker-print-ribbon-empty" = "Marker Print Ribbon Empty"; +"printer-state-reasons.marker-print-ribbon-empty" = "Print ribbon Empty"; // TRANSLATORS: Marker Print Ribbon Missing -"printer-state-reasons.marker-print-ribbon-missing" = "printer-state-reasons.marker-print-ribbon-missing"; +"printer-state-reasons.marker-print-ribbon-missing" = "Print ribbon missing"; // TRANSLATORS: Marker Supply Almost Empty -"printer-state-reasons.marker-supply-almost-empty" = "printer-state-reasons.marker-supply-almost-empty"; +"printer-state-reasons.marker-supply-almost-empty" = "Ink/toner almost empty"; // TRANSLATORS: Ink/toner empty -"printer-state-reasons.marker-supply-empty" = "Marker Supply Empty"; +"printer-state-reasons.marker-supply-empty" = "Ink/toner empty"; // TRANSLATORS: Ink/toner low -"printer-state-reasons.marker-supply-low" = "Marker Supply Low"; +"printer-state-reasons.marker-supply-low" = "Ink/toner low"; // TRANSLATORS: Marker Supply Missing -"printer-state-reasons.marker-supply-missing" = "printer-state-reasons.marker-supply-missing"; +"printer-state-reasons.marker-supply-missing" = "Ink/toner missing"; // TRANSLATORS: Marker Toner Cartridge Missing -"printer-state-reasons.marker-toner-cartridge-missing" = "Marker Toner Cartridge Missing"; +"printer-state-reasons.marker-toner-cartridge-missing" = "Toner cartridge missing"; // TRANSLATORS: Marker Toner Missing -"printer-state-reasons.marker-toner-missing" = "printer-state-reasons.marker-toner-missing"; +"printer-state-reasons.marker-toner-missing" = "Toner missing"; // TRANSLATORS: Ink/toner waste bin almost full -"printer-state-reasons.marker-waste-almost-full" = "Marker Waste Almost Full"; +"printer-state-reasons.marker-waste-almost-full" = "Ink/toner waste bin almost full"; // TRANSLATORS: Ink/toner waste bin full -"printer-state-reasons.marker-waste-full" = "Marker Waste Full"; +"printer-state-reasons.marker-waste-full" = "Ink/toner waste bin full"; // TRANSLATORS: Marker Waste Ink Receptacle Almost Full "printer-state-reasons.marker-waste-ink-receptacle-almost-full" = "Marker Waste Ink Receptacle Almost Full"; // TRANSLATORS: Marker Waste Ink Receptacle Full "printer-state-reasons.marker-waste-ink-receptacle-full" = "Marker Waste Ink Receptacle Full"; // TRANSLATORS: Marker Waste Ink Receptacle Missing -"printer-state-reasons.marker-waste-ink-receptacle-missing" = "printer-state-reasons.marker-waste-ink-receptacle-missing"; +"printer-state-reasons.marker-waste-ink-receptacle-missing" = "Marker Waste Ink Receptacle Missing"; // TRANSLATORS: Marker Waste Missing -"printer-state-reasons.marker-waste-missing" = "printer-state-reasons.marker-waste-missing"; +"printer-state-reasons.marker-waste-missing" = "Ink/toner waste bin missing"; // TRANSLATORS: Marker Waste Toner Receptacle Almost Full "printer-state-reasons.marker-waste-toner-receptacle-almost-full" = "Marker Waste Toner Receptacle Almost Full"; // TRANSLATORS: Marker Waste Toner Receptacle Full "printer-state-reasons.marker-waste-toner-receptacle-full" = "Marker Waste Toner Receptacle Full"; // TRANSLATORS: Marker Waste Toner Receptacle Missing -"printer-state-reasons.marker-waste-toner-receptacle-missing" = "printer-state-reasons.marker-waste-toner-receptacle-missing"; +"printer-state-reasons.marker-waste-toner-receptacle-missing" = "Marker Waste Toner Receptacle Missing"; // TRANSLATORS: Material Empty "printer-state-reasons.material-empty" = "Material Empty"; // TRANSLATORS: Material Low diff --git a/locale/cups_ca.po b/locale/cups_ca.po index f614af3c..7e189e60 100644 --- a/locale/cups_ca.po +++ b/locale/cups_ca.po @@ -13,7 +13,7 @@ msgid "" msgstr "" "Project-Id-Version: CUPS 2.3\n" "Report-Msgid-Bugs-To: https://github.com/apple/cups/issues\n" -"POT-Creation-Date: 2019-08-23 09:13-0400\n" +"POT-Creation-Date: 2019-12-18 20:19-0500\n" "PO-Revision-Date: 2012-09-29 11:21+0200\n" "Last-Translator: Àngel Mompó <mecatxis@gmail.com>\n" "Language-Team: Catalan <ca@dodds.net>\n" @@ -1579,6 +1579,9 @@ msgstr "" msgid "--not expression Unary NOT of expression" msgstr "" +msgid "--pam-service service Use the named PAM service" +msgstr "" + msgid "--path regex Match resource path to regular expression" msgstr "" @@ -1749,6 +1752,9 @@ msgstr "-90" msgid "-95" msgstr "-95" +msgid "-A Enable authentication" +msgstr "" + msgid "-C Send requests using chunking (default)" msgstr "" @@ -1920,6 +1926,9 @@ msgstr "" msgid "-d destination Set the named destination as the server default" msgstr "" +msgid "-d destination Specify the destination" +msgstr "" + msgid "-d name=value Set named variable to value" msgstr "" @@ -2529,6 +2538,9 @@ msgstr "300 mm/seg." msgid "300dpi" msgstr "300ppp" +msgid "30859 Paint Can Label" +msgstr "" + msgid "35" msgstr "35" @@ -3179,6 +3191,9 @@ msgstr "Tall" msgid "Cutter" msgstr "Ganiveta" +msgid "DYMO" +msgstr "" + msgid "Dark" msgstr "Fosc" @@ -3268,9 +3283,6 @@ msgstr "" msgid "Duplexer" msgstr "Unitat d'impressió a dues cares" -msgid "Dymo" -msgstr "Dymo" - msgid "EPL1 Label Printer" msgstr "Impressora d'etiquetes EPL1" @@ -3927,6 +3939,9 @@ msgstr "Costat-llarg (vertical)" msgid "Looking for printer." msgstr "S'està buscant la impressora." +msgid "Main Roll" +msgstr "" + msgid "Manual Feed" msgstr "Alimentació manual" @@ -4465,6 +4480,9 @@ msgstr "SEQUENCE té una longitud indefinida" msgid "SSL/TLS Negotiation Error" msgstr "S'ha produït un error mentre es negociava el SSL/TLS" +msgid "Second Roll (DUO/Twin Only)" +msgstr "" + msgid "See Other" msgstr "Vegeu altres" @@ -6596,6 +6614,14 @@ msgstr "" msgid "finishing-template.trim-after-pages" msgstr "" +#. TRANSLATORS: Trim After Every Set +msgid "finishing-template.trim-after-sets" +msgstr "" + +#. TRANSLATORS: Trim After Every Page +msgid "finishing-template.trim-after-sheets" +msgstr "" + #. TRANSLATORS: Finishings msgid "finishings" msgstr "" @@ -8939,6 +8965,58 @@ msgstr "" msgid "media-type.cd" msgstr "" +#. TRANSLATORS: Photo Advanced Paper +msgid "media-type.com.hp.advanced-photo" +msgstr "" + +#. TRANSLATORS: Brochure Glossy Paper +msgid "media-type.com.hp.brochure-glossy" +msgstr "" + +#. TRANSLATORS: Brochure Matte Paper +msgid "media-type.com.hp.brochure-matte" +msgstr "" + +#. TRANSLATORS: Matte Coverstock +msgid "media-type.com.hp.cover-matte" +msgstr "" + +#. TRANSLATORS: EcoSMART Lite Paper +msgid "media-type.com.hp.ecosmart-lite" +msgstr "" + +#. TRANSLATORS: Everyday Glossy Paper +msgid "media-type.com.hp.everyday-glossy" +msgstr "" + +#. TRANSLATORS: Everyday Matte Paper +msgid "media-type.com.hp.everyday-matte" +msgstr "" + +#. TRANSLATORS: Extra Heavyweight Paper +msgid "media-type.com.hp.extra-heavy" +msgstr "" + +#. TRANSLATORS: Intermediate Paper +msgid "media-type.com.hp.intermediate" +msgstr "" + +#. TRANSLATORS: Mid-Weight Paper +msgid "media-type.com.hp.mid-weight" +msgstr "" + +#. TRANSLATORS: Inkjet Premium Paper +msgid "media-type.com.hp.premium-inkjet" +msgstr "" + +#. TRANSLATORS: Photo Premium Paper +msgid "media-type.com.hp.premium-photo" +msgstr "" + +#. TRANSLATORS: Premium Matte Presentation Paper +msgid "media-type.com.hp.premium-presentation-matte" +msgstr "" + #. TRANSLATORS: Continuous msgid "media-type.continuous" msgstr "" @@ -9131,6 +9209,22 @@ msgstr "" msgid "media-type.imaging-cylinder" msgstr "" +#. TRANSLATORS: Photo Paper Plus Glossy II +msgid "media-type.jp.co.canon-photo-paper-plus-glossy-ii" +msgstr "" + +#. TRANSLATORS: Photo Paper Pro Platinum +msgid "media-type.jp.co.canon-photo-paper-pro-platinum" +msgstr "" + +#. TRANSLATORS: Photo Paper Plus Glossy II +msgid "media-type.jp.co.canon_photo-paper-plus-glossy-ii" +msgstr "" + +#. TRANSLATORS: Photo Paper Pro Platinum +msgid "media-type.jp.co.canon_photo-paper-pro-platinum" +msgstr "" + #. TRANSLATORS: Labels msgid "media-type.labels" msgstr "" @@ -15161,6 +15255,9 @@ msgstr "" #~ "Necessiteu una nom d'usuari de Samba per exportar els controladors " #~ "d'impressora" +#~ msgid "Dymo" +#~ msgstr "Dymo" + #~ msgid "Export Printers to Samba" #~ msgstr "Exportar les impressores al Samba" diff --git a/locale/cups_cs.po b/locale/cups_cs.po index bd244a44..329e9ffe 100644 --- a/locale/cups_cs.po +++ b/locale/cups_cs.po @@ -11,7 +11,7 @@ msgid "" msgstr "" "Project-Id-Version: CUPS 2.3\n" "Report-Msgid-Bugs-To: https://github.com/apple/cups/issues\n" -"POT-Creation-Date: 2019-08-23 09:13-0400\n" +"POT-Creation-Date: 2019-12-18 20:19-0500\n" "PO-Revision-Date: 2012-09-14 10:26+0100\n" "Last-Translator: Jan Bartos <jan.bartos@madeta.cz>\n" "Language-Team: Czech\n" @@ -1428,6 +1428,9 @@ msgstr "" msgid "--not expression Unary NOT of expression" msgstr "" +msgid "--pam-service service Use the named PAM service" +msgstr "" + msgid "--path regex Match resource path to regular expression" msgstr "" @@ -1598,6 +1601,9 @@ msgstr "-90" msgid "-95" msgstr "-95" +msgid "-A Enable authentication" +msgstr "" + msgid "-C Send requests using chunking (default)" msgstr "" @@ -1769,6 +1775,9 @@ msgstr "" msgid "-d destination Set the named destination as the server default" msgstr "" +msgid "-d destination Specify the destination" +msgstr "" + msgid "-d name=value Set named variable to value" msgstr "" @@ -2378,6 +2387,9 @@ msgstr "300 mm/sek." msgid "300dpi" msgstr "300 dpi" +msgid "30859 Paint Can Label" +msgstr "" + msgid "35" msgstr "35" @@ -3024,6 +3036,9 @@ msgstr "Snížit" msgid "Cutter" msgstr "Výstřižek" +msgid "DYMO" +msgstr "" + msgid "Dark" msgstr "Tmavý" @@ -3107,9 +3122,6 @@ msgstr "" msgid "Duplexer" msgstr "Duplexní jednotka" -msgid "Dymo" -msgstr "Dymo" - msgid "EPL1 Label Printer" msgstr "Tiskárna štítků EPL1" @@ -3762,6 +3774,9 @@ msgstr "Delší okraj (na výšku)" msgid "Looking for printer." msgstr "" +msgid "Main Roll" +msgstr "" + msgid "Manual Feed" msgstr "Ruční podávání" @@ -4293,6 +4308,9 @@ msgstr "\"SEQUENCE\" má neomezenou délku" msgid "SSL/TLS Negotiation Error" msgstr "" +msgid "Second Roll (DUO/Twin Only)" +msgstr "" + msgid "See Other" msgstr "Viz další" @@ -6394,6 +6412,14 @@ msgstr "" msgid "finishing-template.trim-after-pages" msgstr "" +#. TRANSLATORS: Trim After Every Set +msgid "finishing-template.trim-after-sets" +msgstr "" + +#. TRANSLATORS: Trim After Every Page +msgid "finishing-template.trim-after-sheets" +msgstr "" + #. TRANSLATORS: Finishings msgid "finishings" msgstr "" @@ -8720,6 +8746,58 @@ msgstr "" msgid "media-type.cd" msgstr "" +#. TRANSLATORS: Photo Advanced Paper +msgid "media-type.com.hp.advanced-photo" +msgstr "" + +#. TRANSLATORS: Brochure Glossy Paper +msgid "media-type.com.hp.brochure-glossy" +msgstr "" + +#. TRANSLATORS: Brochure Matte Paper +msgid "media-type.com.hp.brochure-matte" +msgstr "" + +#. TRANSLATORS: Matte Coverstock +msgid "media-type.com.hp.cover-matte" +msgstr "" + +#. TRANSLATORS: EcoSMART Lite Paper +msgid "media-type.com.hp.ecosmart-lite" +msgstr "" + +#. TRANSLATORS: Everyday Glossy Paper +msgid "media-type.com.hp.everyday-glossy" +msgstr "" + +#. TRANSLATORS: Everyday Matte Paper +msgid "media-type.com.hp.everyday-matte" +msgstr "" + +#. TRANSLATORS: Extra Heavyweight Paper +msgid "media-type.com.hp.extra-heavy" +msgstr "" + +#. TRANSLATORS: Intermediate Paper +msgid "media-type.com.hp.intermediate" +msgstr "" + +#. TRANSLATORS: Mid-Weight Paper +msgid "media-type.com.hp.mid-weight" +msgstr "" + +#. TRANSLATORS: Inkjet Premium Paper +msgid "media-type.com.hp.premium-inkjet" +msgstr "" + +#. TRANSLATORS: Photo Premium Paper +msgid "media-type.com.hp.premium-photo" +msgstr "" + +#. TRANSLATORS: Premium Matte Presentation Paper +msgid "media-type.com.hp.premium-presentation-matte" +msgstr "" + #. TRANSLATORS: Continuous msgid "media-type.continuous" msgstr "" @@ -8912,6 +8990,22 @@ msgstr "" msgid "media-type.imaging-cylinder" msgstr "" +#. TRANSLATORS: Photo Paper Plus Glossy II +msgid "media-type.jp.co.canon-photo-paper-plus-glossy-ii" +msgstr "" + +#. TRANSLATORS: Photo Paper Pro Platinum +msgid "media-type.jp.co.canon-photo-paper-pro-platinum" +msgstr "" + +#. TRANSLATORS: Photo Paper Plus Glossy II +msgid "media-type.jp.co.canon_photo-paper-plus-glossy-ii" +msgstr "" + +#. TRANSLATORS: Photo Paper Pro Platinum +msgid "media-type.jp.co.canon_photo-paper-pro-platinum" +msgstr "" + #. TRANSLATORS: Labels msgid "media-type.labels" msgstr "" @@ -14903,5 +14997,8 @@ msgstr "" msgid "~/.cups/lpoptions file names default destination that does not exist." msgstr "" +#~ msgid "Dymo" +#~ msgstr "Dymo" + #~ msgid "Export Printers to Samba" #~ msgstr "Export tiskáren do Samby" diff --git a/locale/cups_de.po b/locale/cups_de.po index 0363a3c0..6ac08cbf 100644 --- a/locale/cups_de.po +++ b/locale/cups_de.po @@ -22,7 +22,7 @@ msgid "" msgstr "" "Project-Id-Version: CUPS 2.3\n" "Report-Msgid-Bugs-To: https://github.com/apple/cups/issues\n" -"POT-Creation-Date: 2019-08-23 09:13-0400\n" +"POT-Creation-Date: 2019-12-18 20:19-0500\n" "PO-Revision-Date: 2017-10-25 14:57+0200\n" "Last-Translator: Joachim Schwender <joachim.schwender@web.de>\n" "Language-Team: German <LL@li.org>\n" @@ -1495,6 +1495,9 @@ msgstr "" msgid "--not expression Unary NOT of expression" msgstr "" +msgid "--pam-service service Use the named PAM service" +msgstr "" + msgid "--path regex Match resource path to regular expression" msgstr "" @@ -1665,6 +1668,9 @@ msgstr "-90" msgid "-95" msgstr "-95" +msgid "-A Enable authentication" +msgstr "" + msgid "-C Send requests using chunking (default)" msgstr "" @@ -1836,6 +1842,9 @@ msgstr "" msgid "-d destination Set the named destination as the server default" msgstr "" +msgid "-d destination Specify the destination" +msgstr "" + msgid "-d name=value Set named variable to value" msgstr "" @@ -2450,6 +2459,9 @@ msgstr "300 mm/s" msgid "300dpi" msgstr "300 dpi" +msgid "30859 Paint Can Label" +msgstr "" + msgid "35" msgstr "35" @@ -3099,6 +3111,9 @@ msgstr "Abschneiden" msgid "Cutter" msgstr "Abschneider" +msgid "DYMO" +msgstr "" + msgid "Dark" msgstr "Dunkel" @@ -3188,9 +3203,6 @@ msgstr "Entwurf" msgid "Duplexer" msgstr "Duplexer" -msgid "Dymo" -msgstr "Dymo" - msgid "EPL1 Label Printer" msgstr "EPL1 Etikettendrucker" @@ -3845,6 +3857,9 @@ msgstr "Lange Kante (Hochformat)" msgid "Looking for printer." msgstr "Suche nach Drucker." +msgid "Main Roll" +msgstr "" + msgid "Manual Feed" msgstr "Manuelle Papierzufuhr" @@ -4381,6 +4396,9 @@ msgstr "SEQUENCE hat unbestimmte Länge" msgid "SSL/TLS Negotiation Error" msgstr "SSL/TLS Verhandlungsfehler" +msgid "Second Roll (DUO/Twin Only)" +msgstr "" + msgid "See Other" msgstr "Siehe auch" @@ -6510,6 +6528,14 @@ msgstr "" msgid "finishing-template.trim-after-pages" msgstr "" +#. TRANSLATORS: Trim After Every Set +msgid "finishing-template.trim-after-sets" +msgstr "" + +#. TRANSLATORS: Trim After Every Page +msgid "finishing-template.trim-after-sheets" +msgstr "" + #. TRANSLATORS: Finishings msgid "finishings" msgstr "" @@ -8843,6 +8869,58 @@ msgstr "" msgid "media-type.cd" msgstr "" +#. TRANSLATORS: Photo Advanced Paper +msgid "media-type.com.hp.advanced-photo" +msgstr "" + +#. TRANSLATORS: Brochure Glossy Paper +msgid "media-type.com.hp.brochure-glossy" +msgstr "" + +#. TRANSLATORS: Brochure Matte Paper +msgid "media-type.com.hp.brochure-matte" +msgstr "" + +#. TRANSLATORS: Matte Coverstock +msgid "media-type.com.hp.cover-matte" +msgstr "" + +#. TRANSLATORS: EcoSMART Lite Paper +msgid "media-type.com.hp.ecosmart-lite" +msgstr "" + +#. TRANSLATORS: Everyday Glossy Paper +msgid "media-type.com.hp.everyday-glossy" +msgstr "" + +#. TRANSLATORS: Everyday Matte Paper +msgid "media-type.com.hp.everyday-matte" +msgstr "" + +#. TRANSLATORS: Extra Heavyweight Paper +msgid "media-type.com.hp.extra-heavy" +msgstr "" + +#. TRANSLATORS: Intermediate Paper +msgid "media-type.com.hp.intermediate" +msgstr "" + +#. TRANSLATORS: Mid-Weight Paper +msgid "media-type.com.hp.mid-weight" +msgstr "" + +#. TRANSLATORS: Inkjet Premium Paper +msgid "media-type.com.hp.premium-inkjet" +msgstr "" + +#. TRANSLATORS: Photo Premium Paper +msgid "media-type.com.hp.premium-photo" +msgstr "" + +#. TRANSLATORS: Premium Matte Presentation Paper +msgid "media-type.com.hp.premium-presentation-matte" +msgstr "" + #. TRANSLATORS: Continuous msgid "media-type.continuous" msgstr "" @@ -9035,6 +9113,22 @@ msgstr "" msgid "media-type.imaging-cylinder" msgstr "" +#. TRANSLATORS: Photo Paper Plus Glossy II +msgid "media-type.jp.co.canon-photo-paper-plus-glossy-ii" +msgstr "" + +#. TRANSLATORS: Photo Paper Pro Platinum +msgid "media-type.jp.co.canon-photo-paper-pro-platinum" +msgstr "" + +#. TRANSLATORS: Photo Paper Plus Glossy II +msgid "media-type.jp.co.canon_photo-paper-plus-glossy-ii" +msgstr "" + +#. TRANSLATORS: Photo Paper Pro Platinum +msgid "media-type.jp.co.canon_photo-paper-pro-platinum" +msgstr "" + #. TRANSLATORS: Labels msgid "media-type.labels" msgstr "" @@ -15034,6 +15128,9 @@ msgstr "" #~ msgstr "" #~ "Ein Samba-Benutzername ist erforderlich, um Druckertreiber zu exportieren" +#~ msgid "Dymo" +#~ msgstr "Dymo" + #~ msgid "Export Printers to Samba" #~ msgstr "Drucker zu Samba exportieren" diff --git a/locale/cups_en.po b/locale/cups_en.po index fdb34d6f..fd7ea0ac 100644 --- a/locale/cups_en.po +++ b/locale/cups_en.po @@ -24,7 +24,7 @@ msgid "" msgstr "" "Project-Id-Version: CUPS 2.3.0\n" "Report-Msgid-Bugs-To: https://github.com/apple/cups/issues\n" -"POT-Creation-Date: 2019-08-23 09:13-0400\n" +"POT-Creation-Date: 2019-12-18 20:19-0500\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Language-Team: English\n" @@ -1599,6 +1599,9 @@ msgstr "--no-web-forms Disable web forms for media and supplies" msgid "--not expression Unary NOT of expression" msgstr "--not expression Unary NOT of expression" +msgid "--pam-service service Use the named PAM service" +msgstr "" + msgid "--path regex Match resource path to regular expression" msgstr "--path regex Match resource path to regular expression" @@ -1774,6 +1777,9 @@ msgstr "-90" msgid "-95" msgstr "-95" +msgid "-A Enable authentication" +msgstr "" + msgid "-C Send requests using chunking (default)" msgstr "-C Send requests using chunking (default)" @@ -1955,6 +1961,9 @@ msgid "-d destination Set the named destination as the server default" msgstr "" "-d destination Set the named destination as the server default" +msgid "-d destination Specify the destination" +msgstr "" + msgid "-d name=value Set named variable to value" msgstr "-d name=value Set named variable to value" @@ -2596,6 +2605,9 @@ msgstr "300 mm/sec." msgid "300dpi" msgstr "300dpi" +msgid "30859 Paint Can Label" +msgstr "" + msgid "35" msgstr "35" @@ -3245,6 +3257,9 @@ msgstr "Cut" msgid "Cutter" msgstr "Cutter" +msgid "DYMO" +msgstr "" + msgid "Dark" msgstr "Dark" @@ -3334,9 +3349,6 @@ msgstr "Draft" msgid "Duplexer" msgstr "Duplexer" -msgid "Dymo" -msgstr "Dymo" - msgid "EPL1 Label Printer" msgstr "EPL1 Label Printer" @@ -3994,6 +4006,9 @@ msgstr "Long-Edge (Portrait)" msgid "Looking for printer." msgstr "Looking for printer." +msgid "Main Roll" +msgstr "" + msgid "Manual Feed" msgstr "Manual Feed" @@ -4530,6 +4545,9 @@ msgstr "SEQUENCE uses indefinite length" msgid "SSL/TLS Negotiation Error" msgstr "SSL/TLS Negotiation Error" +msgid "Second Roll (DUO/Twin Only)" +msgstr "" + msgid "See Other" msgstr "See Other" @@ -6678,6 +6696,14 @@ msgstr "Trim After Job" msgid "finishing-template.trim-after-pages" msgstr "Trim After Every Page" +#. TRANSLATORS: Trim After Every Set +msgid "finishing-template.trim-after-sets" +msgstr "Trim After Every Set" + +#. TRANSLATORS: Trim After Every Page +msgid "finishing-template.trim-after-sheets" +msgstr "Trim After Every Page" + #. TRANSLATORS: Finishings msgid "finishings" msgstr "Finishings" @@ -9022,6 +9048,58 @@ msgstr "Cardstock" msgid "media-type.cd" msgstr "CD" +#. TRANSLATORS: Photo Advanced Paper +msgid "media-type.com.hp.advanced-photo" +msgstr "Photo Advanced Paper" + +#. TRANSLATORS: Brochure Glossy Paper +msgid "media-type.com.hp.brochure-glossy" +msgstr "Brochure Glossy Paper" + +#. TRANSLATORS: Brochure Matte Paper +msgid "media-type.com.hp.brochure-matte" +msgstr "Brochure Matte Paper" + +#. TRANSLATORS: Matte Coverstock +msgid "media-type.com.hp.cover-matte" +msgstr "Matte Coverstock" + +#. TRANSLATORS: EcoSMART Lite Paper +msgid "media-type.com.hp.ecosmart-lite" +msgstr "EcoSMART Lite Paper" + +#. TRANSLATORS: Everyday Glossy Paper +msgid "media-type.com.hp.everyday-glossy" +msgstr "Everyday Glossy Paper" + +#. TRANSLATORS: Everyday Matte Paper +msgid "media-type.com.hp.everyday-matte" +msgstr "Everyday Matte Paper" + +#. TRANSLATORS: Extra Heavyweight Paper +msgid "media-type.com.hp.extra-heavy" +msgstr "Extra Heavyweight Paper" + +#. TRANSLATORS: Intermediate Paper +msgid "media-type.com.hp.intermediate" +msgstr "Intermediate Paper" + +#. TRANSLATORS: Mid-Weight Paper +msgid "media-type.com.hp.mid-weight" +msgstr "Mid-Weight Paper" + +#. TRANSLATORS: Inkjet Premium Paper +msgid "media-type.com.hp.premium-inkjet" +msgstr "Inkjet Premium Paper" + +#. TRANSLATORS: Photo Premium Paper +msgid "media-type.com.hp.premium-photo" +msgstr "Photo Premium Paper" + +#. TRANSLATORS: Premium Matte Presentation Paper +msgid "media-type.com.hp.premium-presentation-matte" +msgstr "Premium Matte Presentation Paper" + #. TRANSLATORS: Continuous msgid "media-type.continuous" msgstr "Continuous" @@ -9214,6 +9292,22 @@ msgstr "Image Setter Paper" msgid "media-type.imaging-cylinder" msgstr "Imaging Cylinder" +#. TRANSLATORS: Photo Paper Plus Glossy II +msgid "media-type.jp.co.canon-photo-paper-plus-glossy-ii" +msgstr "Photo Paper Plus Glossy II" + +#. TRANSLATORS: Photo Paper Pro Platinum +msgid "media-type.jp.co.canon-photo-paper-pro-platinum" +msgstr "Photo Paper Pro Platinum" + +#. TRANSLATORS: Photo Paper Plus Glossy II +msgid "media-type.jp.co.canon_photo-paper-plus-glossy-ii" +msgstr "Photo Paper Plus Glossy II" + +#. TRANSLATORS: Photo Paper Pro Platinum +msgid "media-type.jp.co.canon_photo-paper-pro-platinum" +msgstr "Photo Paper Pro Platinum" + #. TRANSLATORS: Labels msgid "media-type.labels" msgstr "Labels" @@ -12870,15 +12964,15 @@ msgstr "Ink missing" msgid "printer-state-reasons.marker-opc-missing" msgstr "OPC missing" -#. TRANSLATORS: Print ribbon Almost Empty +#. TRANSLATORS: Marker Print Ribbon Almost Empty msgid "printer-state-reasons.marker-print-ribbon-almost-empty" msgstr "Print ribbon Almost Empty" -#. TRANSLATORS: Print ribbon Empty +#. TRANSLATORS: Marker Print Ribbon Empty msgid "printer-state-reasons.marker-print-ribbon-empty" msgstr "Print ribbon Empty" -#. TRANSLATORS: Print ribbon Missing +#. TRANSLATORS: Marker Print Ribbon Missing msgid "printer-state-reasons.marker-print-ribbon-missing" msgstr "Print ribbon missing" @@ -15210,3 +15304,6 @@ msgstr "{} URI" msgid "~/.cups/lpoptions file names default destination that does not exist." msgstr "~/.cups/lpoptions file names default destination that does not exist." + +#~ msgid "Dymo" +#~ msgstr "Dymo" diff --git a/locale/cups_es.po b/locale/cups_es.po index 6bf48312..3a31f4d8 100644 --- a/locale/cups_es.po +++ b/locale/cups_es.po @@ -11,7 +11,7 @@ msgid "" msgstr "" "Project-Id-Version: CUPS 2.3\n" "Report-Msgid-Bugs-To: https://github.com/apple/cups/issues\n" -"POT-Creation-Date: 2019-08-23 09:13-0400\n" +"POT-Creation-Date: 2019-12-18 20:19-0500\n" "PO-Revision-Date: 2016-06-26 21:17+0100\n" "Last-Translator: Juan Pablo González Riopedre <jpgriopedre@yahoo.es>\n" "Language-Team: Spanish\n" @@ -1582,6 +1582,9 @@ msgstr "" msgid "--not expression Unary NOT of expression" msgstr "" +msgid "--pam-service service Use the named PAM service" +msgstr "" + msgid "--path regex Match resource path to regular expression" msgstr "" @@ -1752,6 +1755,9 @@ msgstr "-90" msgid "-95" msgstr "-95" +msgid "-A Enable authentication" +msgstr "" + msgid "-C Send requests using chunking (default)" msgstr "" @@ -1923,6 +1929,9 @@ msgstr "" msgid "-d destination Set the named destination as the server default" msgstr "" +msgid "-d destination Specify the destination" +msgstr "" + msgid "-d name=value Set named variable to value" msgstr "" @@ -2532,6 +2541,9 @@ msgstr "300 mm/seg" msgid "300dpi" msgstr "300ppp" +msgid "30859 Paint Can Label" +msgstr "" + msgid "35" msgstr "35" @@ -3182,6 +3194,9 @@ msgstr "Cortar" msgid "Cutter" msgstr "Cortadora" +msgid "DYMO" +msgstr "" + msgid "Dark" msgstr "Oscuro" @@ -3271,9 +3286,6 @@ msgstr "Borrador" msgid "Duplexer" msgstr "Unidad de impresión dúplex" -msgid "Dymo" -msgstr "Dymo" - msgid "EPL1 Label Printer" msgstr "Impresora de etiquetas EPL1" @@ -3928,6 +3940,9 @@ msgstr "Lado largo (retrato)" msgid "Looking for printer." msgstr "" +msgid "Main Roll" +msgstr "" + msgid "Manual Feed" msgstr "Alimentación manual" @@ -4465,6 +4480,9 @@ msgstr "SEQUENCE usa una longitud indefinida" msgid "SSL/TLS Negotiation Error" msgstr "Error en negociación SSL/TLS" +msgid "Second Roll (DUO/Twin Only)" +msgstr "" + msgid "See Other" msgstr "Ver otros" @@ -6612,6 +6630,14 @@ msgstr "" msgid "finishing-template.trim-after-pages" msgstr "" +#. TRANSLATORS: Trim After Every Set +msgid "finishing-template.trim-after-sets" +msgstr "" + +#. TRANSLATORS: Trim After Every Page +msgid "finishing-template.trim-after-sheets" +msgstr "" + #. TRANSLATORS: Finishings msgid "finishings" msgstr "" @@ -8953,6 +8979,58 @@ msgstr "" msgid "media-type.cd" msgstr "" +#. TRANSLATORS: Photo Advanced Paper +msgid "media-type.com.hp.advanced-photo" +msgstr "" + +#. TRANSLATORS: Brochure Glossy Paper +msgid "media-type.com.hp.brochure-glossy" +msgstr "" + +#. TRANSLATORS: Brochure Matte Paper +msgid "media-type.com.hp.brochure-matte" +msgstr "" + +#. TRANSLATORS: Matte Coverstock +msgid "media-type.com.hp.cover-matte" +msgstr "" + +#. TRANSLATORS: EcoSMART Lite Paper +msgid "media-type.com.hp.ecosmart-lite" +msgstr "" + +#. TRANSLATORS: Everyday Glossy Paper +msgid "media-type.com.hp.everyday-glossy" +msgstr "" + +#. TRANSLATORS: Everyday Matte Paper +msgid "media-type.com.hp.everyday-matte" +msgstr "" + +#. TRANSLATORS: Extra Heavyweight Paper +msgid "media-type.com.hp.extra-heavy" +msgstr "" + +#. TRANSLATORS: Intermediate Paper +msgid "media-type.com.hp.intermediate" +msgstr "" + +#. TRANSLATORS: Mid-Weight Paper +msgid "media-type.com.hp.mid-weight" +msgstr "" + +#. TRANSLATORS: Inkjet Premium Paper +msgid "media-type.com.hp.premium-inkjet" +msgstr "" + +#. TRANSLATORS: Photo Premium Paper +msgid "media-type.com.hp.premium-photo" +msgstr "" + +#. TRANSLATORS: Premium Matte Presentation Paper +msgid "media-type.com.hp.premium-presentation-matte" +msgstr "" + #. TRANSLATORS: Continuous msgid "media-type.continuous" msgstr "" @@ -9145,6 +9223,22 @@ msgstr "" msgid "media-type.imaging-cylinder" msgstr "" +#. TRANSLATORS: Photo Paper Plus Glossy II +msgid "media-type.jp.co.canon-photo-paper-plus-glossy-ii" +msgstr "" + +#. TRANSLATORS: Photo Paper Pro Platinum +msgid "media-type.jp.co.canon-photo-paper-pro-platinum" +msgstr "" + +#. TRANSLATORS: Photo Paper Plus Glossy II +msgid "media-type.jp.co.canon_photo-paper-plus-glossy-ii" +msgstr "" + +#. TRANSLATORS: Photo Paper Pro Platinum +msgid "media-type.jp.co.canon_photo-paper-pro-platinum" +msgstr "" + #. TRANSLATORS: Labels msgid "media-type.labels" msgstr "" @@ -15172,6 +15266,9 @@ msgstr "" #~ "Se requiere un nombre de usuario Samba para exportar los controladores de " #~ "impresora" +#~ msgid "Dymo" +#~ msgstr "Dymo" + #~ msgid "Export Printers to Samba" #~ msgstr "Exportar impresoras a Samba" diff --git a/locale/cups_fr.po b/locale/cups_fr.po index f965def7..7d228282 100644 --- a/locale/cups_fr.po +++ b/locale/cups_fr.po @@ -11,7 +11,7 @@ msgid "" msgstr "" "Project-Id-Version: CUPS 2.3\n" "Report-Msgid-Bugs-To: https://github.com/apple/cups/issues\n" -"POT-Creation-Date: 2019-08-23 09:13-0400\n" +"POT-Creation-Date: 2019-12-18 20:19-0500\n" "PO-Revision-Date: 2012-12-12 11:12+0100\n" "Last-Translator: Stéphane Blondon <stephane.blondon@gmail.com>\n" "Language-Team: French <LL@li.org>\n" @@ -1439,6 +1439,9 @@ msgstr "" msgid "--not expression Unary NOT of expression" msgstr "" +msgid "--pam-service service Use the named PAM service" +msgstr "" + msgid "--path regex Match resource path to regular expression" msgstr "" @@ -1609,6 +1612,9 @@ msgstr "-90" msgid "-95" msgstr "-95" +msgid "-A Enable authentication" +msgstr "" + msgid "-C Send requests using chunking (default)" msgstr "" @@ -1780,6 +1786,9 @@ msgstr "" msgid "-d destination Set the named destination as the server default" msgstr "" +msgid "-d destination Specify the destination" +msgstr "" + msgid "-d name=value Set named variable to value" msgstr "" @@ -2389,6 +2398,9 @@ msgstr "300 mm/s" msgid "300dpi" msgstr "300 ppp" +msgid "30859 Paint Can Label" +msgstr "" + msgid "35" msgstr "35" @@ -3035,6 +3047,9 @@ msgstr "Couper" msgid "Cutter" msgstr "Cutter" +msgid "DYMO" +msgstr "" + msgid "Dark" msgstr "Foncé" @@ -3120,9 +3135,6 @@ msgstr "Brouillon" msgid "Duplexer" msgstr "Duplexeur" -msgid "Dymo" -msgstr "Dymo" - msgid "EPL1 Label Printer" msgstr "Imprimante pour étiquettes EPL1" @@ -3775,6 +3787,9 @@ msgstr "Bord le plus long (Portrait)" msgid "Looking for printer." msgstr "Recherche d'imprimante en cours." +msgid "Main Roll" +msgstr "" + msgid "Manual Feed" msgstr "" @@ -4306,6 +4321,9 @@ msgstr "SEQUENCE s’avère être de longueur indéfinie" msgid "SSL/TLS Negotiation Error" msgstr "Erreur de négotiation SSL/TLS" +msgid "Second Roll (DUO/Twin Only)" +msgstr "" + msgid "See Other" msgstr "Autres" @@ -6412,6 +6430,14 @@ msgstr "" msgid "finishing-template.trim-after-pages" msgstr "" +#. TRANSLATORS: Trim After Every Set +msgid "finishing-template.trim-after-sets" +msgstr "" + +#. TRANSLATORS: Trim After Every Page +msgid "finishing-template.trim-after-sheets" +msgstr "" + #. TRANSLATORS: Finishings msgid "finishings" msgstr "" @@ -8738,6 +8764,58 @@ msgstr "" msgid "media-type.cd" msgstr "" +#. TRANSLATORS: Photo Advanced Paper +msgid "media-type.com.hp.advanced-photo" +msgstr "" + +#. TRANSLATORS: Brochure Glossy Paper +msgid "media-type.com.hp.brochure-glossy" +msgstr "" + +#. TRANSLATORS: Brochure Matte Paper +msgid "media-type.com.hp.brochure-matte" +msgstr "" + +#. TRANSLATORS: Matte Coverstock +msgid "media-type.com.hp.cover-matte" +msgstr "" + +#. TRANSLATORS: EcoSMART Lite Paper +msgid "media-type.com.hp.ecosmart-lite" +msgstr "" + +#. TRANSLATORS: Everyday Glossy Paper +msgid "media-type.com.hp.everyday-glossy" +msgstr "" + +#. TRANSLATORS: Everyday Matte Paper +msgid "media-type.com.hp.everyday-matte" +msgstr "" + +#. TRANSLATORS: Extra Heavyweight Paper +msgid "media-type.com.hp.extra-heavy" +msgstr "" + +#. TRANSLATORS: Intermediate Paper +msgid "media-type.com.hp.intermediate" +msgstr "" + +#. TRANSLATORS: Mid-Weight Paper +msgid "media-type.com.hp.mid-weight" +msgstr "" + +#. TRANSLATORS: Inkjet Premium Paper +msgid "media-type.com.hp.premium-inkjet" +msgstr "" + +#. TRANSLATORS: Photo Premium Paper +msgid "media-type.com.hp.premium-photo" +msgstr "" + +#. TRANSLATORS: Premium Matte Presentation Paper +msgid "media-type.com.hp.premium-presentation-matte" +msgstr "" + #. TRANSLATORS: Continuous msgid "media-type.continuous" msgstr "" @@ -8930,6 +9008,22 @@ msgstr "" msgid "media-type.imaging-cylinder" msgstr "" +#. TRANSLATORS: Photo Paper Plus Glossy II +msgid "media-type.jp.co.canon-photo-paper-plus-glossy-ii" +msgstr "" + +#. TRANSLATORS: Photo Paper Pro Platinum +msgid "media-type.jp.co.canon-photo-paper-pro-platinum" +msgstr "" + +#. TRANSLATORS: Photo Paper Plus Glossy II +msgid "media-type.jp.co.canon_photo-paper-plus-glossy-ii" +msgstr "" + +#. TRANSLATORS: Photo Paper Pro Platinum +msgid "media-type.jp.co.canon_photo-paper-pro-platinum" +msgstr "" + #. TRANSLATORS: Labels msgid "media-type.labels" msgstr "" @@ -14921,5 +15015,8 @@ msgstr "" msgid "~/.cups/lpoptions file names default destination that does not exist." msgstr "" +#~ msgid "Dymo" +#~ msgstr "Dymo" + #~ msgid "Export Printers to Samba" #~ msgstr "Exporter les imprimantes vers SAMBA" diff --git a/locale/cups_it.po b/locale/cups_it.po index ff5e45f5..90bcb38a 100644 --- a/locale/cups_it.po +++ b/locale/cups_it.po @@ -12,7 +12,7 @@ msgid "" msgstr "" "Project-Id-Version: CUPS 2.3\n" "Report-Msgid-Bugs-To: https://github.com/apple/cups/issues\n" -"POT-Creation-Date: 2019-08-23 09:13-0400\n" +"POT-Creation-Date: 2019-12-18 20:19-0500\n" "PO-Revision-Date: 2013-07-14 12:00+0200\n" "Last-Translator: Giovanni Scafora <giovanni@archlinux.org>\n" "Language-Team: Italian - Arch Linux Italian Team <giovanni@archlinux.org>\n" @@ -1579,6 +1579,9 @@ msgstr "" msgid "--not expression Unary NOT of expression" msgstr "" +msgid "--pam-service service Use the named PAM service" +msgstr "" + msgid "--path regex Match resource path to regular expression" msgstr "" @@ -1749,6 +1752,9 @@ msgstr "-90" msgid "-95" msgstr "-95" +msgid "-A Enable authentication" +msgstr "" + msgid "-C Send requests using chunking (default)" msgstr "" @@ -1920,6 +1926,9 @@ msgstr "" msgid "-d destination Set the named destination as the server default" msgstr "" +msgid "-d destination Specify the destination" +msgstr "" + msgid "-d name=value Set named variable to value" msgstr "" @@ -2529,6 +2538,9 @@ msgstr "300 mm/sec." msgid "300dpi" msgstr "300dpi" +msgid "30859 Paint Can Label" +msgstr "" + msgid "35" msgstr "35" @@ -3178,6 +3190,9 @@ msgstr "Taglia" msgid "Cutter" msgstr "Taglierino" +msgid "DYMO" +msgstr "" + msgid "Dark" msgstr "Scuro" @@ -3268,9 +3283,6 @@ msgstr "" msgid "Duplexer" msgstr "Duplexer" -msgid "Dymo" -msgstr "Dymo" - msgid "EPL1 Label Printer" msgstr "EPL1 Label Printer" @@ -3925,6 +3937,9 @@ msgstr "Long-Edge (Portrait)" msgid "Looking for printer." msgstr "Cerca una stampante." +msgid "Main Roll" +msgstr "" + msgid "Manual Feed" msgstr "Alimentazione manuale" @@ -4462,6 +4477,9 @@ msgstr "SEQUENZA utilizza una lunghezza indefinita" msgid "SSL/TLS Negotiation Error" msgstr "Errore di negoziazione SSL/TLS" +msgid "Second Roll (DUO/Twin Only)" +msgstr "" + msgid "See Other" msgstr "Vedi altro" @@ -6597,6 +6615,14 @@ msgstr "" msgid "finishing-template.trim-after-pages" msgstr "" +#. TRANSLATORS: Trim After Every Set +msgid "finishing-template.trim-after-sets" +msgstr "" + +#. TRANSLATORS: Trim After Every Page +msgid "finishing-template.trim-after-sheets" +msgstr "" + #. TRANSLATORS: Finishings msgid "finishings" msgstr "" @@ -8935,6 +8961,58 @@ msgstr "" msgid "media-type.cd" msgstr "" +#. TRANSLATORS: Photo Advanced Paper +msgid "media-type.com.hp.advanced-photo" +msgstr "" + +#. TRANSLATORS: Brochure Glossy Paper +msgid "media-type.com.hp.brochure-glossy" +msgstr "" + +#. TRANSLATORS: Brochure Matte Paper +msgid "media-type.com.hp.brochure-matte" +msgstr "" + +#. TRANSLATORS: Matte Coverstock +msgid "media-type.com.hp.cover-matte" +msgstr "" + +#. TRANSLATORS: EcoSMART Lite Paper +msgid "media-type.com.hp.ecosmart-lite" +msgstr "" + +#. TRANSLATORS: Everyday Glossy Paper +msgid "media-type.com.hp.everyday-glossy" +msgstr "" + +#. TRANSLATORS: Everyday Matte Paper +msgid "media-type.com.hp.everyday-matte" +msgstr "" + +#. TRANSLATORS: Extra Heavyweight Paper +msgid "media-type.com.hp.extra-heavy" +msgstr "" + +#. TRANSLATORS: Intermediate Paper +msgid "media-type.com.hp.intermediate" +msgstr "" + +#. TRANSLATORS: Mid-Weight Paper +msgid "media-type.com.hp.mid-weight" +msgstr "" + +#. TRANSLATORS: Inkjet Premium Paper +msgid "media-type.com.hp.premium-inkjet" +msgstr "" + +#. TRANSLATORS: Photo Premium Paper +msgid "media-type.com.hp.premium-photo" +msgstr "" + +#. TRANSLATORS: Premium Matte Presentation Paper +msgid "media-type.com.hp.premium-presentation-matte" +msgstr "" + #. TRANSLATORS: Continuous msgid "media-type.continuous" msgstr "" @@ -9127,6 +9205,22 @@ msgstr "" msgid "media-type.imaging-cylinder" msgstr "" +#. TRANSLATORS: Photo Paper Plus Glossy II +msgid "media-type.jp.co.canon-photo-paper-plus-glossy-ii" +msgstr "" + +#. TRANSLATORS: Photo Paper Pro Platinum +msgid "media-type.jp.co.canon-photo-paper-pro-platinum" +msgstr "" + +#. TRANSLATORS: Photo Paper Plus Glossy II +msgid "media-type.jp.co.canon_photo-paper-plus-glossy-ii" +msgstr "" + +#. TRANSLATORS: Photo Paper Pro Platinum +msgid "media-type.jp.co.canon_photo-paper-pro-platinum" +msgstr "" + #. TRANSLATORS: Labels msgid "media-type.labels" msgstr "" @@ -15151,6 +15245,9 @@ msgstr "" #~ msgstr "" #~ "Per esportare i driver della stampante è richiesto un username di Samba" +#~ msgid "Dymo" +#~ msgstr "Dymo" + #~ msgid "Export Printers to Samba" #~ msgstr "Esporta le stampanti per Samba" diff --git a/locale/cups_ja.po b/locale/cups_ja.po index b47e7f15..a287be29 100644 --- a/locale/cups_ja.po +++ b/locale/cups_ja.po @@ -11,7 +11,7 @@ msgid "" msgstr "" "Project-Id-Version: CUPS 2.3\n" "Report-Msgid-Bugs-To: https://github.com/apple/cups/issues\n" -"POT-Creation-Date: 2019-08-23 09:13-0400\n" +"POT-Creation-Date: 2019-12-18 20:19-0500\n" "PO-Revision-Date: 2014-11-15 19:27+0900\n" "Last-Translator: OPFC TRANSCUPS <opfc-transcups@sourceforge.jp>\n" "Language-Team: Japanese - OPFC TRANSCUPS <opfc-transcups@sourceforge.jp>\n" @@ -1573,6 +1573,9 @@ msgstr "" msgid "--not expression Unary NOT of expression" msgstr "" +msgid "--pam-service service Use the named PAM service" +msgstr "" + msgid "--path regex Match resource path to regular expression" msgstr "" @@ -1743,6 +1746,9 @@ msgstr "-90" msgid "-95" msgstr "-95" +msgid "-A Enable authentication" +msgstr "" + msgid "-C Send requests using chunking (default)" msgstr "" @@ -1914,6 +1920,9 @@ msgstr "" msgid "-d destination Set the named destination as the server default" msgstr "" +msgid "-d destination Specify the destination" +msgstr "" + msgid "-d name=value Set named variable to value" msgstr "" @@ -2523,6 +2532,9 @@ msgstr "300 ミリメートル/秒" msgid "300dpi" msgstr "300dpi" +msgid "30859 Paint Can Label" +msgstr "" + msgid "35" msgstr "35" @@ -3172,6 +3184,9 @@ msgstr "カット" msgid "Cutter" msgstr "カッター" +msgid "DYMO" +msgstr "" + msgid "Dark" msgstr "濃い" @@ -3264,9 +3279,6 @@ msgstr "" msgid "Duplexer" msgstr "両面オプション" -msgid "Dymo" -msgstr "Dymo" - msgid "EPL1 Label Printer" msgstr "EPL1 ラベルプリンター" @@ -3923,6 +3935,9 @@ msgstr "長辺給紙 (縦向き)" msgid "Looking for printer." msgstr "プリンターを探しています。" +msgid "Main Roll" +msgstr "" + msgid "Manual Feed" msgstr "手差し" @@ -4458,6 +4473,9 @@ msgstr "SEQUENCE は不定長を使用しています" msgid "SSL/TLS Negotiation Error" msgstr "SSL/TLS のネゴシエーションエラー" +msgid "Second Roll (DUO/Twin Only)" +msgstr "" + msgid "See Other" msgstr "残りを見てください" @@ -6580,6 +6598,14 @@ msgstr "" msgid "finishing-template.trim-after-pages" msgstr "" +#. TRANSLATORS: Trim After Every Set +msgid "finishing-template.trim-after-sets" +msgstr "" + +#. TRANSLATORS: Trim After Every Page +msgid "finishing-template.trim-after-sheets" +msgstr "" + #. TRANSLATORS: Finishings msgid "finishings" msgstr "" @@ -8927,6 +8953,58 @@ msgstr "" msgid "media-type.cd" msgstr "" +#. TRANSLATORS: Photo Advanced Paper +msgid "media-type.com.hp.advanced-photo" +msgstr "" + +#. TRANSLATORS: Brochure Glossy Paper +msgid "media-type.com.hp.brochure-glossy" +msgstr "" + +#. TRANSLATORS: Brochure Matte Paper +msgid "media-type.com.hp.brochure-matte" +msgstr "" + +#. TRANSLATORS: Matte Coverstock +msgid "media-type.com.hp.cover-matte" +msgstr "" + +#. TRANSLATORS: EcoSMART Lite Paper +msgid "media-type.com.hp.ecosmart-lite" +msgstr "" + +#. TRANSLATORS: Everyday Glossy Paper +msgid "media-type.com.hp.everyday-glossy" +msgstr "" + +#. TRANSLATORS: Everyday Matte Paper +msgid "media-type.com.hp.everyday-matte" +msgstr "" + +#. TRANSLATORS: Extra Heavyweight Paper +msgid "media-type.com.hp.extra-heavy" +msgstr "" + +#. TRANSLATORS: Intermediate Paper +msgid "media-type.com.hp.intermediate" +msgstr "" + +#. TRANSLATORS: Mid-Weight Paper +msgid "media-type.com.hp.mid-weight" +msgstr "" + +#. TRANSLATORS: Inkjet Premium Paper +msgid "media-type.com.hp.premium-inkjet" +msgstr "" + +#. TRANSLATORS: Photo Premium Paper +msgid "media-type.com.hp.premium-photo" +msgstr "" + +#. TRANSLATORS: Premium Matte Presentation Paper +msgid "media-type.com.hp.premium-presentation-matte" +msgstr "" + #. TRANSLATORS: Continuous msgid "media-type.continuous" msgstr "" @@ -9119,6 +9197,22 @@ msgstr "" msgid "media-type.imaging-cylinder" msgstr "" +#. TRANSLATORS: Photo Paper Plus Glossy II +msgid "media-type.jp.co.canon-photo-paper-plus-glossy-ii" +msgstr "" + +#. TRANSLATORS: Photo Paper Pro Platinum +msgid "media-type.jp.co.canon-photo-paper-pro-platinum" +msgstr "" + +#. TRANSLATORS: Photo Paper Plus Glossy II +msgid "media-type.jp.co.canon_photo-paper-plus-glossy-ii" +msgstr "" + +#. TRANSLATORS: Photo Paper Pro Platinum +msgid "media-type.jp.co.canon_photo-paper-pro-platinum" +msgstr "" + #. TRANSLATORS: Labels msgid "media-type.labels" msgstr "" @@ -15169,6 +15263,9 @@ msgstr "" #~ msgstr "" #~ "プリンタードライバーをエクスポートするには、Samba のユーザー名が必要です。" +#~ msgid "Dymo" +#~ msgstr "Dymo" + #~ msgid "Export Printers to Samba" #~ msgstr "Samba へプリンターをエクスポート" diff --git a/locale/cups_pt_BR.po b/locale/cups_pt_BR.po index e5fd7686..cdb43926 100644 --- a/locale/cups_pt_BR.po +++ b/locale/cups_pt_BR.po @@ -22,7 +22,7 @@ msgid "" msgstr "" "Project-Id-Version: CUPS 2.3\n" "Report-Msgid-Bugs-To: https://github.com/apple/cups/issues\n" -"POT-Creation-Date: 2019-08-23 09:13-0400\n" +"POT-Creation-Date: 2019-12-18 20:19-0500\n" "PO-Revision-Date: 2016-01-31 16:45-0200\n" "Last-Translator: Rafael Fontenelle <rffontenelle@gmail.com>\n" "Language-Team: Brazilian Portuguese <traducao-cups-pt-br@googlegroups.com>\n" @@ -1586,6 +1586,9 @@ msgstr "" msgid "--not expression Unary NOT of expression" msgstr "" +msgid "--pam-service service Use the named PAM service" +msgstr "" + msgid "--path regex Match resource path to regular expression" msgstr "" @@ -1756,6 +1759,9 @@ msgstr "-90" msgid "-95" msgstr "-95" +msgid "-A Enable authentication" +msgstr "" + msgid "-C Send requests using chunking (default)" msgstr "" @@ -1927,6 +1933,9 @@ msgstr "" msgid "-d destination Set the named destination as the server default" msgstr "" +msgid "-d destination Specify the destination" +msgstr "" + msgid "-d name=value Set named variable to value" msgstr "" @@ -2536,6 +2545,9 @@ msgstr "300 mm/s" msgid "300dpi" msgstr "300dpi" +msgid "30859 Paint Can Label" +msgstr "" + msgid "35" msgstr "35" @@ -3186,6 +3198,9 @@ msgstr "Cortar" msgid "Cutter" msgstr "Cortador" +msgid "DYMO" +msgstr "" + msgid "Dark" msgstr "Escuro" @@ -3275,9 +3290,6 @@ msgstr "" msgid "Duplexer" msgstr "Duplexador" -msgid "Dymo" -msgstr "Dymo" - msgid "EPL1 Label Printer" msgstr "Impressora de etiqueta EPL1" @@ -3932,6 +3944,9 @@ msgstr "Borda maior (retrato)" msgid "Looking for printer." msgstr "Procurando impressoras." +msgid "Main Roll" +msgstr "" + msgid "Manual Feed" msgstr "Alimentação manual" @@ -4470,6 +4485,9 @@ msgstr "SEQUENCE usa comprimento indefinido" msgid "SSL/TLS Negotiation Error" msgstr "Erro de negociação SSL/TLS" +msgid "Second Roll (DUO/Twin Only)" +msgstr "" + msgid "See Other" msgstr "Veja outro" @@ -6607,6 +6625,14 @@ msgstr "" msgid "finishing-template.trim-after-pages" msgstr "" +#. TRANSLATORS: Trim After Every Set +msgid "finishing-template.trim-after-sets" +msgstr "" + +#. TRANSLATORS: Trim After Every Page +msgid "finishing-template.trim-after-sheets" +msgstr "" + #. TRANSLATORS: Finishings msgid "finishings" msgstr "" @@ -8944,6 +8970,58 @@ msgstr "" msgid "media-type.cd" msgstr "" +#. TRANSLATORS: Photo Advanced Paper +msgid "media-type.com.hp.advanced-photo" +msgstr "" + +#. TRANSLATORS: Brochure Glossy Paper +msgid "media-type.com.hp.brochure-glossy" +msgstr "" + +#. TRANSLATORS: Brochure Matte Paper +msgid "media-type.com.hp.brochure-matte" +msgstr "" + +#. TRANSLATORS: Matte Coverstock +msgid "media-type.com.hp.cover-matte" +msgstr "" + +#. TRANSLATORS: EcoSMART Lite Paper +msgid "media-type.com.hp.ecosmart-lite" +msgstr "" + +#. TRANSLATORS: Everyday Glossy Paper +msgid "media-type.com.hp.everyday-glossy" +msgstr "" + +#. TRANSLATORS: Everyday Matte Paper +msgid "media-type.com.hp.everyday-matte" +msgstr "" + +#. TRANSLATORS: Extra Heavyweight Paper +msgid "media-type.com.hp.extra-heavy" +msgstr "" + +#. TRANSLATORS: Intermediate Paper +msgid "media-type.com.hp.intermediate" +msgstr "" + +#. TRANSLATORS: Mid-Weight Paper +msgid "media-type.com.hp.mid-weight" +msgstr "" + +#. TRANSLATORS: Inkjet Premium Paper +msgid "media-type.com.hp.premium-inkjet" +msgstr "" + +#. TRANSLATORS: Photo Premium Paper +msgid "media-type.com.hp.premium-photo" +msgstr "" + +#. TRANSLATORS: Premium Matte Presentation Paper +msgid "media-type.com.hp.premium-presentation-matte" +msgstr "" + #. TRANSLATORS: Continuous msgid "media-type.continuous" msgstr "" @@ -9136,6 +9214,22 @@ msgstr "" msgid "media-type.imaging-cylinder" msgstr "" +#. TRANSLATORS: Photo Paper Plus Glossy II +msgid "media-type.jp.co.canon-photo-paper-plus-glossy-ii" +msgstr "" + +#. TRANSLATORS: Photo Paper Pro Platinum +msgid "media-type.jp.co.canon-photo-paper-pro-platinum" +msgstr "" + +#. TRANSLATORS: Photo Paper Plus Glossy II +msgid "media-type.jp.co.canon_photo-paper-plus-glossy-ii" +msgstr "" + +#. TRANSLATORS: Photo Paper Pro Platinum +msgid "media-type.jp.co.canon_photo-paper-pro-platinum" +msgstr "" + #. TRANSLATORS: Labels msgid "media-type.labels" msgstr "" @@ -15148,6 +15242,9 @@ msgstr "" #~ "Um nome de usuário do Samba é necessário para exportar drivers de " #~ "impressora" +#~ msgid "Dymo" +#~ msgstr "Dymo" + #~ msgid "Export Printers to Samba" #~ msgstr "Exportar impressoras para o Samba" diff --git a/locale/cups_ru.po b/locale/cups_ru.po index dc078f6f..5a0d0da5 100644 --- a/locale/cups_ru.po +++ b/locale/cups_ru.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: CUPS 2.0\n" "Report-Msgid-Bugs-To: https://github.com/apple/cups/issues\n" -"POT-Creation-Date: 2019-08-23 09:13-0400\n" +"POT-Creation-Date: 2019-12-18 20:19-0500\n" "PO-Revision-Date: 2015-01-28 12:00-0800\n" "Last-Translator: Aleksandr Proklov\n" "Language-Team: Russian - PuppyRus Linux Team\n" @@ -1554,6 +1554,9 @@ msgstr "" msgid "--not expression Unary NOT of expression" msgstr "" +msgid "--pam-service service Use the named PAM service" +msgstr "" + msgid "--path regex Match resource path to regular expression" msgstr "" @@ -1724,6 +1727,9 @@ msgstr "-90" msgid "-95" msgstr "-95" +msgid "-A Enable authentication" +msgstr "" + msgid "-C Send requests using chunking (default)" msgstr "" @@ -1895,6 +1901,9 @@ msgstr "" msgid "-d destination Set the named destination as the server default" msgstr "" +msgid "-d destination Specify the destination" +msgstr "" + msgid "-d name=value Set named variable to value" msgstr "" @@ -2504,6 +2513,9 @@ msgstr "300 мм/с" msgid "300dpi" msgstr "300dpi" +msgid "30859 Paint Can Label" +msgstr "" + msgid "35" msgstr "35" @@ -3153,6 +3165,9 @@ msgstr "Обрезать" msgid "Cutter" msgstr "Резак" +msgid "DYMO" +msgstr "" + msgid "Dark" msgstr "Темный" @@ -3236,9 +3251,6 @@ msgstr "" msgid "Duplexer" msgstr "Дуплексер" -msgid "Dymo" -msgstr "Dymo" - msgid "EPL1 Label Printer" msgstr "Принтер для печати этикеток EPL1" @@ -3893,6 +3905,9 @@ msgstr "По длинной стороне (книжная)" msgid "Looking for printer." msgstr "Поиск принтера." +msgid "Main Roll" +msgstr "" + msgid "Manual Feed" msgstr "Ручная подача" @@ -4430,6 +4445,9 @@ msgstr "Для SEQUENCE длина не установлена" msgid "SSL/TLS Negotiation Error" msgstr "SSL/TLS Negotiation Error" +msgid "Second Roll (DUO/Twin Only)" +msgstr "" + msgid "See Other" msgstr "Посмотреть другие" @@ -6556,6 +6574,14 @@ msgstr "" msgid "finishing-template.trim-after-pages" msgstr "" +#. TRANSLATORS: Trim After Every Set +msgid "finishing-template.trim-after-sets" +msgstr "" + +#. TRANSLATORS: Trim After Every Page +msgid "finishing-template.trim-after-sheets" +msgstr "" + #. TRANSLATORS: Finishings msgid "finishings" msgstr "" @@ -8892,6 +8918,58 @@ msgstr "" msgid "media-type.cd" msgstr "" +#. TRANSLATORS: Photo Advanced Paper +msgid "media-type.com.hp.advanced-photo" +msgstr "" + +#. TRANSLATORS: Brochure Glossy Paper +msgid "media-type.com.hp.brochure-glossy" +msgstr "" + +#. TRANSLATORS: Brochure Matte Paper +msgid "media-type.com.hp.brochure-matte" +msgstr "" + +#. TRANSLATORS: Matte Coverstock +msgid "media-type.com.hp.cover-matte" +msgstr "" + +#. TRANSLATORS: EcoSMART Lite Paper +msgid "media-type.com.hp.ecosmart-lite" +msgstr "" + +#. TRANSLATORS: Everyday Glossy Paper +msgid "media-type.com.hp.everyday-glossy" +msgstr "" + +#. TRANSLATORS: Everyday Matte Paper +msgid "media-type.com.hp.everyday-matte" +msgstr "" + +#. TRANSLATORS: Extra Heavyweight Paper +msgid "media-type.com.hp.extra-heavy" +msgstr "" + +#. TRANSLATORS: Intermediate Paper +msgid "media-type.com.hp.intermediate" +msgstr "" + +#. TRANSLATORS: Mid-Weight Paper +msgid "media-type.com.hp.mid-weight" +msgstr "" + +#. TRANSLATORS: Inkjet Premium Paper +msgid "media-type.com.hp.premium-inkjet" +msgstr "" + +#. TRANSLATORS: Photo Premium Paper +msgid "media-type.com.hp.premium-photo" +msgstr "" + +#. TRANSLATORS: Premium Matte Presentation Paper +msgid "media-type.com.hp.premium-presentation-matte" +msgstr "" + #. TRANSLATORS: Continuous msgid "media-type.continuous" msgstr "" @@ -9084,6 +9162,22 @@ msgstr "" msgid "media-type.imaging-cylinder" msgstr "" +#. TRANSLATORS: Photo Paper Plus Glossy II +msgid "media-type.jp.co.canon-photo-paper-plus-glossy-ii" +msgstr "" + +#. TRANSLATORS: Photo Paper Pro Platinum +msgid "media-type.jp.co.canon-photo-paper-pro-platinum" +msgstr "" + +#. TRANSLATORS: Photo Paper Plus Glossy II +msgid "media-type.jp.co.canon_photo-paper-plus-glossy-ii" +msgstr "" + +#. TRANSLATORS: Photo Paper Pro Platinum +msgid "media-type.jp.co.canon_photo-paper-pro-platinum" +msgstr "" + #. TRANSLATORS: Labels msgid "media-type.labels" msgstr "" @@ -15098,6 +15192,9 @@ msgstr "" #~ msgid "A Samba username is required to export printer drivers" #~ msgstr "Для экспорта драйверов принтера требуется имя пользователя Samba" +#~ msgid "Dymo" +#~ msgstr "Dymo" + #~ msgid "Export Printers to Samba" #~ msgstr "Экспортировать принтеры в Samba" diff --git a/locale/cups_zh_CN.po b/locale/cups_zh_CN.po index 818df30e..c1dd080d 100644 --- a/locale/cups_zh_CN.po +++ b/locale/cups_zh_CN.po @@ -12,7 +12,7 @@ msgid "" msgstr "" "Project-Id-Version: CUPS 2.3\n" "Report-Msgid-Bugs-To: https://github.com/apple/cups/issues\n" -"POT-Creation-Date: 2019-08-23 09:13-0400\n" +"POT-Creation-Date: 2019-12-18 20:19-0500\n" "PO-Revision-Date: 2018-10-09 00:21-0500\n" "Last-Translator: Mingcong Bai <jeffbai@aosc.io>\n" "Language-Team: Chinese (Simplified)\n" @@ -1538,6 +1538,9 @@ msgstr "" msgid "--not expression Unary NOT of expression" msgstr "" +msgid "--pam-service service Use the named PAM service" +msgstr "" + msgid "--path regex Match resource path to regular expression" msgstr "" @@ -1708,6 +1711,9 @@ msgstr "-90" msgid "-95" msgstr "-95" +msgid "-A Enable authentication" +msgstr "" + msgid "-C Send requests using chunking (default)" msgstr "" @@ -1879,6 +1885,9 @@ msgstr "" msgid "-d destination Set the named destination as the server default" msgstr "" +msgid "-d destination Specify the destination" +msgstr "" + msgid "-d name=value Set named variable to value" msgstr "" @@ -2488,6 +2497,9 @@ msgstr "300 毫米/秒" msgid "300dpi" msgstr "300 dpi" +msgid "30859 Paint Can Label" +msgstr "" + msgid "35" msgstr "35" @@ -3137,6 +3149,9 @@ msgstr "剪切" msgid "Cutter" msgstr "车床刀具" +msgid "DYMO" +msgstr "" + msgid "Dark" msgstr "暗色" @@ -3226,9 +3241,6 @@ msgstr "草稿" msgid "Duplexer" msgstr "双工器" -msgid "Dymo" -msgstr "Dymo" - msgid "EPL1 Label Printer" msgstr "EPL1 标签打印机" @@ -3882,6 +3894,9 @@ msgstr "长边缘(竖直)" msgid "Looking for printer." msgstr "正在寻找打印机。" +msgid "Main Roll" +msgstr "" + msgid "Manual Feed" msgstr "手动喂纸" @@ -4420,6 +4435,9 @@ msgstr "SEQUENCE 使用不定长度" msgid "SSL/TLS Negotiation Error" msgstr "SSL/TLS 协商错误" +msgid "Second Roll (DUO/Twin Only)" +msgstr "" + msgid "See Other" msgstr "查看其他" @@ -6526,6 +6544,14 @@ msgstr "" msgid "finishing-template.trim-after-pages" msgstr "" +#. TRANSLATORS: Trim After Every Set +msgid "finishing-template.trim-after-sets" +msgstr "" + +#. TRANSLATORS: Trim After Every Page +msgid "finishing-template.trim-after-sheets" +msgstr "" + #. TRANSLATORS: Finishings msgid "finishings" msgstr "" @@ -8860,6 +8886,58 @@ msgstr "" msgid "media-type.cd" msgstr "" +#. TRANSLATORS: Photo Advanced Paper +msgid "media-type.com.hp.advanced-photo" +msgstr "" + +#. TRANSLATORS: Brochure Glossy Paper +msgid "media-type.com.hp.brochure-glossy" +msgstr "" + +#. TRANSLATORS: Brochure Matte Paper +msgid "media-type.com.hp.brochure-matte" +msgstr "" + +#. TRANSLATORS: Matte Coverstock +msgid "media-type.com.hp.cover-matte" +msgstr "" + +#. TRANSLATORS: EcoSMART Lite Paper +msgid "media-type.com.hp.ecosmart-lite" +msgstr "" + +#. TRANSLATORS: Everyday Glossy Paper +msgid "media-type.com.hp.everyday-glossy" +msgstr "" + +#. TRANSLATORS: Everyday Matte Paper +msgid "media-type.com.hp.everyday-matte" +msgstr "" + +#. TRANSLATORS: Extra Heavyweight Paper +msgid "media-type.com.hp.extra-heavy" +msgstr "" + +#. TRANSLATORS: Intermediate Paper +msgid "media-type.com.hp.intermediate" +msgstr "" + +#. TRANSLATORS: Mid-Weight Paper +msgid "media-type.com.hp.mid-weight" +msgstr "" + +#. TRANSLATORS: Inkjet Premium Paper +msgid "media-type.com.hp.premium-inkjet" +msgstr "" + +#. TRANSLATORS: Photo Premium Paper +msgid "media-type.com.hp.premium-photo" +msgstr "" + +#. TRANSLATORS: Premium Matte Presentation Paper +msgid "media-type.com.hp.premium-presentation-matte" +msgstr "" + #. TRANSLATORS: Continuous msgid "media-type.continuous" msgstr "" @@ -9052,6 +9130,22 @@ msgstr "" msgid "media-type.imaging-cylinder" msgstr "" +#. TRANSLATORS: Photo Paper Plus Glossy II +msgid "media-type.jp.co.canon-photo-paper-plus-glossy-ii" +msgstr "" + +#. TRANSLATORS: Photo Paper Pro Platinum +msgid "media-type.jp.co.canon-photo-paper-pro-platinum" +msgstr "" + +#. TRANSLATORS: Photo Paper Plus Glossy II +msgid "media-type.jp.co.canon_photo-paper-plus-glossy-ii" +msgstr "" + +#. TRANSLATORS: Photo Paper Pro Platinum +msgid "media-type.jp.co.canon_photo-paper-pro-platinum" +msgstr "" + #. TRANSLATORS: Labels msgid "media-type.labels" msgstr "" @@ -15054,6 +15148,9 @@ msgstr "~/.cups/lpoptions 文件所指定的默认目标不存在。" #~ msgid "A Samba username is required to export printer drivers" #~ msgstr "需要 Samba 用户名以导出打印机驱动" +#~ msgid "Dymo" +#~ msgstr "Dymo" + #~ msgid "Export Printers to Samba" #~ msgstr "将打印机导出到 Samba" diff --git a/locale/ipp-strings.c b/locale/ipp-strings.c index 0e7c09c6..40b246ce 100644 --- a/locale/ipp-strings.c +++ b/locale/ipp-strings.c @@ -576,6 +576,10 @@ _("finishing-template.trim-after-documents"); _("finishing-template.trim-after-job"); /* TRANSLATORS: Trim After Every Page */ _("finishing-template.trim-after-pages"); +/* TRANSLATORS: Trim After Every Set */ +_("finishing-template.trim-after-sets"); +/* TRANSLATORS: Trim After Every Page */ +_("finishing-template.trim-after-sheets"); /* TRANSLATORS: Finishings */ _("finishings"); /* TRANSLATORS: Finishings */ @@ -1578,6 +1582,32 @@ _("media-type.cardboard"); _("media-type.cardstock"); /* TRANSLATORS: CD */ _("media-type.cd"); +/* TRANSLATORS: Photo Advanced Paper */ +_("media-type.com.hp.advanced-photo"); +/* TRANSLATORS: Brochure Glossy Paper */ +_("media-type.com.hp.brochure-glossy"); +/* TRANSLATORS: Brochure Matte Paper */ +_("media-type.com.hp.brochure-matte"); +/* TRANSLATORS: Matte Coverstock */ +_("media-type.com.hp.cover-matte"); +/* TRANSLATORS: EcoSMART Lite Paper */ +_("media-type.com.hp.ecosmart-lite"); +/* TRANSLATORS: Everyday Glossy Paper */ +_("media-type.com.hp.everyday-glossy"); +/* TRANSLATORS: Everyday Matte Paper */ +_("media-type.com.hp.everyday-matte"); +/* TRANSLATORS: Extra Heavyweight Paper */ +_("media-type.com.hp.extra-heavy"); +/* TRANSLATORS: Intermediate Paper */ +_("media-type.com.hp.intermediate"); +/* TRANSLATORS: Mid-Weight Paper */ +_("media-type.com.hp.mid-weight"); +/* TRANSLATORS: Inkjet Premium Paper */ +_("media-type.com.hp.premium-inkjet"); +/* TRANSLATORS: Photo Premium Paper */ +_("media-type.com.hp.premium-photo"); +/* TRANSLATORS: Premium Matte Presentation Paper */ +_("media-type.com.hp.premium-presentation-matte"); /* TRANSLATORS: Continuous */ _("media-type.continuous"); /* TRANSLATORS: Continuous Long */ @@ -1674,6 +1704,14 @@ _("media-type.gravure-cylinder"); _("media-type.image-setter-paper"); /* TRANSLATORS: Imaging Cylinder */ _("media-type.imaging-cylinder"); +/* TRANSLATORS: Photo Paper Plus Glossy II*/ +_("media-type.jp.co.canon-photo-paper-plus-glossy-ii"); +/* TRANSLATORS: Photo Paper Pro Platinum*/ +_("media-type.jp.co.canon-photo-paper-pro-platinum"); +/* TRANSLATORS: Photo Paper Plus Glossy II*/ +_("media-type.jp.co.canon_photo-paper-plus-glossy-ii"); +/* TRANSLATORS: Photo Paper Pro Platinum*/ +_("media-type.jp.co.canon_photo-paper-pro-platinum"); /* TRANSLATORS: Labels */ _("media-type.labels"); /* TRANSLATORS: Colored Labels */ diff --git a/packaging/cups.spec b/packaging/cups.spec index 90a7b625..82d803e6 100644 --- a/packaging/cups.spec +++ b/packaging/cups.spec @@ -40,12 +40,12 @@ Summary: CUPS Name: cups -Version: 2.3.1 +Version: 2.3.3 Release: 0 Epoch: 1 License: GPL Group: System Environment/Daemons -Source: https://github.com/apple/cups/releases/download/v2.3.1/cups-2.3.1-source.tar.gz +Source: https://github.com/apple/cups/releases/download/v2.3.3/cups-2.3.3-source.tar.gz Url: http://www.cups.org Packager: Anonymous <anonymous@example.com> Vendor: Example Corp diff --git a/ppdc/ppdc-source.cxx b/ppdc/ppdc-source.cxx index c25d4966..b28c4724 100644 --- a/ppdc/ppdc-source.cxx +++ b/ppdc/ppdc-source.cxx @@ -1743,15 +1743,17 @@ ppdcSource::get_resolution(ppdcFile *fp)// I - File to read switch (sscanf(name, "%dx%d", &xdpi, &ydpi)) { - case 0 : - _cupsLangPrintf(stderr, - _("ppdc: Bad resolution name \"%s\" on line %d of " - "%s."), name, fp->line, fp->filename); - break; case 1 : ydpi = xdpi; - break; - } + break; + case 2 : + break; + default : + _cupsLangPrintf(stderr, + _("ppdc: Bad resolution name \"%s\" on line %d of " + "%s."), name, fp->line, fp->filename); + break; +} // Create the necessary PS commands... snprintf(command, sizeof(command), diff --git a/scheduler/printers.c b/scheduler/printers.c index 80690397..e341bdb0 100644 --- a/scheduler/printers.c +++ b/scheduler/printers.c @@ -446,7 +446,7 @@ cupsdCreateCommonData(void) /* cups-version */ ippAddString(CommonData, IPP_TAG_PRINTER, IPP_TAG_TEXT | IPP_TAG_COPY, - "cups-version", NULL, CUPS_SVERSION + 6); + "cups-version", NULL, &CUPS_SVERSION[6]); /* generated-natural-language-supported (no IPP_TAG_COPY) */ ippAddString(CommonData, IPP_TAG_PRINTER, IPP_TAG_LANGUAGE, diff --git a/vcnet/config.h b/vcnet/config.h index 4ad1dc8f..76fc7fd5 100644 --- a/vcnet/config.h +++ b/vcnet/config.h @@ -97,8 +97,8 @@ typedef unsigned long useconds_t; * Version of software... */ -#define CUPS_SVERSION "CUPS v2.3.1" -#define CUPS_MINIMAL "CUPS/2.3.1" +#define CUPS_SVERSION "CUPS v2.3.3" +#define CUPS_MINIMAL "CUPS/2.3.3" /* diff --git a/xcode/config.h b/xcode/config.h index 38998eee..5953431a 100644 --- a/xcode/config.h +++ b/xcode/config.h @@ -18,8 +18,8 @@ * Version of software... */ -#define CUPS_SVERSION "CUPS v2.3.1" -#define CUPS_MINIMAL "CUPS/2.3.1" +#define CUPS_SVERSION "CUPS v2.3.3" +#define CUPS_MINIMAL "CUPS/2.3.3" /* |