summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--CHANGES.txt38
-rw-r--r--INSTALL.txt2
-rw-r--r--README.txt2
-rw-r--r--backend/dnssd.c10
-rw-r--r--backend/ipp.c17
-rw-r--r--backend/usb-darwin.c955
-rw-r--r--cgi-bin/ipp-var.c22
-rw-r--r--cgi-bin/template.c40
-rw-r--r--config-scripts/cups-common.m42
-rwxr-xr-xconfigure241
-rw-r--r--cups/cups.h10
-rw-r--r--cups/dest.c7
-rw-r--r--cups/file.c148
-rw-r--r--cups/testfile.c28
-rw-r--r--cups/testppd.c18
-rw-r--r--doc/de/index.html.in55
-rw-r--r--doc/images/generic.pngbin0 -> 6744 bytes
-rw-r--r--doc/ru/index.html.in56
-rw-r--r--filter/gziptoany.c22
-rw-r--r--filter/pstops.c10
-rw-r--r--filter/raster.c24
-rw-r--r--filter/rastertoepson.c22
-rw-r--r--filter/rastertohp.c10
-rw-r--r--filter/rastertopwg.c18
-rw-r--r--locale/cups_de.po5730
-rw-r--r--locale/cups_ru.po7229
-rw-r--r--packaging/cups.spec4
-rw-r--r--ppdc/Makefile8
-rw-r--r--ppdc/ppdhtml.cxx149
-rw-r--r--ppdc/ppdpo.cxx63
-rw-r--r--scheduler/auth.c23
-rw-r--r--scheduler/client.c32
-rw-r--r--scheduler/conf.c8
-rw-r--r--scheduler/cups-lpd.c10
-rw-r--r--scheduler/env.c38
-rw-r--r--scheduler/ipp.c99
-rw-r--r--scheduler/job.c21
-rw-r--r--scheduler/main.c23
-rw-r--r--scheduler/process.c6
-rw-r--r--scheduler/type.c43
-rw-r--r--systemv/lpadmin.c53
-rw-r--r--templates/de/add-class.tmpl37
-rw-r--r--templates/de/add-printer.tmpl44
-rw-r--r--templates/de/add-rss-subscription.tmpl44
-rw-r--r--templates/de/admin.tmpl97
-rw-r--r--templates/de/choose-device.tmpl49
-rw-r--r--templates/de/choose-make.tmpl61
-rw-r--r--templates/de/choose-model.tmpl57
-rw-r--r--templates/de/choose-serial.tmpl49
-rw-r--r--templates/de/choose-uri.tmpl40
-rw-r--r--templates/de/class-added.tmpl3
-rw-r--r--templates/de/class-confirm.tmpl6
-rw-r--r--templates/de/class-deleted.tmpl3
-rw-r--r--templates/de/class-jobs-header.tmpl1
-rw-r--r--templates/de/class-modified.tmpl4
-rw-r--r--templates/de/class.tmpl41
-rw-r--r--templates/de/classes-header.tmpl1
-rw-r--r--templates/de/classes.tmpl11
-rw-r--r--templates/de/command.tmpl8
-rw-r--r--templates/de/edit-config.tmpl20
-rw-r--r--templates/de/error-op.tmpl6
-rw-r--r--templates/de/error.tmpl5
-rw-r--r--templates/de/header.tmpl.in43
-rw-r--r--templates/de/help-header.tmpl41
-rw-r--r--templates/de/help-printable.tmpl9
-rw-r--r--templates/de/job-cancel.tmpl3
-rw-r--r--templates/de/job-hold.tmpl3
-rw-r--r--templates/de/job-move.tmpl23
-rw-r--r--templates/de/job-moved.tmpl4
-rw-r--r--templates/de/job-release.tmpl3
-rw-r--r--templates/de/job-restart.tmpl3
-rw-r--r--templates/de/jobs-header.tmpl5
-rw-r--r--templates/de/jobs.tmpl37
-rw-r--r--templates/de/list-available-printers.tmpl7
-rw-r--r--templates/de/modify-class.tmpl31
-rw-r--r--templates/de/modify-printer.tmpl39
-rw-r--r--templates/de/norestart.tmpl3
-rw-r--r--templates/de/option-boolean.tmpl6
-rw-r--r--templates/de/option-conflict.tmpl7
-rw-r--r--templates/de/option-header.tmpl5
-rw-r--r--templates/de/option-pickmany.tmpl6
-rw-r--r--templates/de/option-pickone.tmpl18
-rw-r--r--templates/de/option-trailer.tmpl5
-rw-r--r--templates/de/pager.tmpl6
-rw-r--r--templates/de/printer-accept.tmpl5
-rw-r--r--templates/de/printer-added.tmpl4
-rw-r--r--templates/de/printer-cancel-jobs.tmpl5
-rw-r--r--templates/de/printer-configured.tmpl4
-rw-r--r--templates/de/printer-confirm.tmpl8
-rw-r--r--templates/de/printer-default.tmpl9
-rw-r--r--templates/de/printer-deleted.tmpl3
-rw-r--r--templates/de/printer-jobs-header.tmpl1
-rw-r--r--templates/de/printer-modified.tmpl4
-rw-r--r--templates/de/printer-reject.tmpl5
-rw-r--r--templates/de/printer-start.tmpl5
-rw-r--r--templates/de/printer-stop.tmpl5
-rw-r--r--templates/de/printer.tmpl43
-rw-r--r--templates/de/printers-header.tmpl1
-rw-r--r--templates/de/printers.tmpl11
-rw-r--r--templates/de/restart.tmpl4
-rw-r--r--templates/de/samba-export.tmpl55
-rw-r--r--templates/de/samba-exported.tmpl1
-rw-r--r--templates/de/search.tmpl10
-rw-r--r--templates/de/set-printer-options-header.tmpl24
-rw-r--r--templates/de/set-printer-options-trailer.tmpl14
-rw-r--r--templates/de/subscription-added.tmpl1
-rw-r--r--templates/de/subscription-canceled.tmpl1
-rw-r--r--templates/de/test-page.tmpl4
-rw-r--r--templates/de/trailer.tmpl5
-rw-r--r--templates/de/users.tmpl27
-rw-r--r--templates/es/printer.tmpl2
-rw-r--r--templates/ja/printer.tmpl2
-rw-r--r--templates/printer.tmpl2
-rw-r--r--templates/ru/add-class.tmpl37
-rw-r--r--templates/ru/add-printer.tmpl44
-rw-r--r--templates/ru/add-rss-subscription.tmpl44
-rw-r--r--templates/ru/admin.tmpl97
-rw-r--r--templates/ru/choose-device.tmpl49
-rw-r--r--templates/ru/choose-make.tmpl61
-rw-r--r--templates/ru/choose-model.tmpl57
-rw-r--r--templates/ru/choose-serial.tmpl49
-rw-r--r--templates/ru/choose-uri.tmpl40
-rw-r--r--templates/ru/class-added.tmpl3
-rw-r--r--templates/ru/class-confirm.tmpl6
-rw-r--r--templates/ru/class-deleted.tmpl3
-rw-r--r--templates/ru/class-jobs-header.tmpl1
-rw-r--r--templates/ru/class-modified.tmpl3
-rw-r--r--templates/ru/class.tmpl41
-rw-r--r--templates/ru/classes-header.tmpl1
-rw-r--r--templates/ru/classes.tmpl11
-rw-r--r--templates/ru/command.tmpl8
-rw-r--r--templates/ru/edit-config.tmpl20
-rw-r--r--templates/ru/error-op.tmpl5
-rw-r--r--templates/ru/error.tmpl5
-rw-r--r--templates/ru/header.tmpl.in43
-rw-r--r--templates/ru/help-header.tmpl43
-rw-r--r--templates/ru/help-printable.tmpl9
-rw-r--r--templates/ru/job-cancel.tmpl3
-rw-r--r--templates/ru/job-hold.tmpl3
-rw-r--r--templates/ru/job-move.tmpl23
-rw-r--r--templates/ru/job-moved.tmpl4
-rw-r--r--templates/ru/job-release.tmpl3
-rw-r--r--templates/ru/job-restart.tmpl3
-rw-r--r--templates/ru/jobs-header.tmpl5
-rw-r--r--templates/ru/jobs.tmpl36
-rw-r--r--templates/ru/list-available-printers.tmpl7
-rw-r--r--templates/ru/modify-class.tmpl31
-rw-r--r--templates/ru/modify-printer.tmpl39
-rw-r--r--templates/ru/norestart.tmpl3
-rw-r--r--templates/ru/option-boolean.tmpl6
-rw-r--r--templates/ru/option-conflict.tmpl7
-rw-r--r--templates/ru/option-header.tmpl5
-rw-r--r--templates/ru/option-pickmany.tmpl6
-rw-r--r--templates/ru/option-pickone.tmpl18
-rw-r--r--templates/ru/option-trailer.tmpl5
-rw-r--r--templates/ru/pager.tmpl6
-rw-r--r--templates/ru/printer-accept.tmpl5
-rw-r--r--templates/ru/printer-added.tmpl3
-rw-r--r--templates/ru/printer-cancel-jobs.tmpl5
-rw-r--r--templates/ru/printer-configured.tmpl4
-rw-r--r--templates/ru/printer-confirm.tmpl6
-rw-r--r--templates/ru/printer-default.tmpl8
-rw-r--r--templates/ru/printer-deleted.tmpl3
-rw-r--r--templates/ru/printer-jobs-header.tmpl1
-rw-r--r--templates/ru/printer-modified.tmpl3
-rw-r--r--templates/ru/printer-reject.tmpl5
-rw-r--r--templates/ru/printer-start.tmpl5
-rw-r--r--templates/ru/printer-stop.tmpl5
-rw-r--r--templates/ru/printer.tmpl43
-rw-r--r--templates/ru/printers-header.tmpl1
-rw-r--r--templates/ru/printers.tmpl11
-rw-r--r--templates/ru/restart.tmpl4
-rw-r--r--templates/ru/samba-export.tmpl53
-rw-r--r--templates/ru/samba-exported.tmpl1
-rw-r--r--templates/ru/search.tmpl10
-rw-r--r--templates/ru/set-printer-options-header.tmpl24
-rw-r--r--templates/ru/set-printer-options-trailer.tmpl14
-rw-r--r--templates/ru/subscription-added.tmpl1
-rw-r--r--templates/ru/subscription-canceled.tmpl1
-rw-r--r--templates/ru/test-page.tmpl4
-rw-r--r--templates/ru/trailer.tmpl6
-rw-r--r--templates/ru/users.tmpl27
-rw-r--r--test/ipp-1.1.test36
-rw-r--r--test/ippfind.c6
-rwxr-xr-xtest/run-stp-tests.sh14
185 files changed, 10610 insertions, 7047 deletions
diff --git a/CHANGES.txt b/CHANGES.txt
index f290340ef..50a1227ec 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -1,6 +1,42 @@
-CHANGES.txt - 2.0.2 - 2015-02-03
+CHANGES.txt - 2.0.3 - 2015-06-08
--------------------------------
+CHANGES IN CUPS V2.0.3
+
+ - Security: Fixed CERT VU #810572 exploiting the dynamic linker
+ (STR #4609)
+ - Security: The scheduler could hang with malformed gzip data
+ (STR #4602)
+ - Restored missing generic printer icon file (STR #4587)
+ - Fixed logging of configuration errors to show up as errors (STR #4582)
+ - Fixed potential buffer overflows in raster code and filters
+ (STR #4598, STR #4599, STR #4600, STR #4601)
+ - Fixed a gzip processing bug (#4602)
+ - Fixed <Limit> inside <Location> (STR #4575)
+ - Fixed lpadmin when both -m and -o are used (STR #4578)
+ - The web interface always showed support for 2-sided printing
+ (STR #4595)
+ - cupsRasterReadHeader did not fully validate the raster header
+ (STR #4596)
+ - The rastertopwg filter did not check for truncated input (STR #4597)
+ - The cups-lpd mini-daemon did not check for request parameters
+ (STR #4603)
+ - The scheduler could get caught in a busy loop (STR #4605)
+ - The sample Epson driver could crash (STR #4616)
+ - The IPP backend now correctly monitors jobs
+ (<rdar://problem/20495955>)
+ - The ppdhtml and ppdpo utilities crashed when the -D option was used
+ before a driver information file (STR #4627)
+ - ippfind incorrectly substituted "=port" for service_port.
+ - The IPP/1.1 test file did not handle the initial print job
+ completing early (STR #4576)
+ - Fixed a memory leak in cupsConnectDest (STR #4634)
+ - PWG Raster Format output contained invalid ImageBox values
+ (<rdar://problem/21144309>)
+ - Added Russian translation (STR #4577)
+ - Added German translation (STR #4635)
+
+
CHANGES IN CUPS V2.0.2
- Security: cupsRasterReadPixels buffer overflow with invalid page
diff --git a/INSTALL.txt b/INSTALL.txt
index ac44d1170..d89f1ac62 100644
--- a/INSTALL.txt
+++ b/INSTALL.txt
@@ -1,4 +1,4 @@
-INSTALL - CUPS v2.0.2 - 2015-02-03
+INSTALL - CUPS v2.0.3 - 2015-06-08
----------------------------------
This file describes how to compile and install CUPS from source code. For more
diff --git a/README.txt b/README.txt
index 20c149793..fbca3b027 100644
--- a/README.txt
+++ b/README.txt
@@ -1,4 +1,4 @@
-README - CUPS v2.0.2 - 2015-02-03
+README - CUPS v2.0.3 - 2015-06-08
---------------------------------
Looking for compile instructions? Read the file "INSTALL.txt" instead...
diff --git a/backend/dnssd.c b/backend/dnssd.c
index c8f3139a6..83f450959 100644
--- a/backend/dnssd.c
+++ b/backend/dnssd.c
@@ -1,9 +1,9 @@
/*
- * "$Id: dnssd.c 11969 2014-06-30 14:27:01Z msweet $"
+ * "$Id: dnssd.c 12660 2015-05-22 19:09:57Z msweet $"
*
* DNS-SD discovery backend for CUPS.
*
- * Copyright 2008-2014 by Apple Inc.
+ * Copyright 2008-2015 by Apple Inc.
*
* These coded instructions, statements, and computer programs are the
* property of Apple Inc. and are protected by Federal copyright
@@ -318,7 +318,7 @@ main(int argc, /* I - Number of command-line args */
if ((simple_poll = avahi_simple_poll_new()) == NULL)
{
fputs("DEBUG: Unable to create Avahi simple poll object.\n", stderr);
- return (1);
+ return (0);
}
avahi_simple_poll_set_func(simple_poll, poll_callback, NULL);
@@ -328,7 +328,7 @@ main(int argc, /* I - Number of command-line args */
if (!client)
{
fputs("DEBUG: Unable to create Avahi client.\n", stderr);
- return (1);
+ return (0);
}
browsers = 6;
@@ -1330,5 +1330,5 @@ unquote(char *dst, /* I - Destination buffer */
/*
- * End of "$Id: dnssd.c 11969 2014-06-30 14:27:01Z msweet $".
+ * End of "$Id: dnssd.c 12660 2015-05-22 19:09:57Z msweet $".
*/
diff --git a/backend/ipp.c b/backend/ipp.c
index 784b47044..b8be47a70 100644
--- a/backend/ipp.c
+++ b/backend/ipp.c
@@ -1,5 +1,5 @@
/*
- * "$Id: ipp.c 12048 2014-07-18 14:26:14Z msweet $"
+ * "$Id: ipp.c 12624 2015-05-06 23:50:20Z msweet $"
*
* IPP backend for CUPS.
*
@@ -64,6 +64,7 @@ typedef struct _cups_monitor_s /**** Monitoring data ****/
version, /* IPP version */
job_id, /* Job ID for submitted job */
job_reasons, /* Job state reasons bits */
+ create_job, /* Support Create-Job? */
get_job_attrs; /* Support Get-Job-Attributes? */
const char *job_name; /* Job name for submitted job */
http_encryption_t encryption; /* Use encryption? */
@@ -1396,6 +1397,7 @@ main(int argc, /* I - Number of command-line args */
monitor.port = port;
monitor.version = version;
monitor.job_id = 0;
+ monitor.create_job = create_job;
monitor.get_job_attrs = get_job_attrs;
monitor.encryption = cupsEncryption();
monitor.job_state = IPP_JOB_PENDING;
@@ -2336,6 +2338,15 @@ monitor_printer(
if (cupsLastError() <= IPP_OK_CONFLICT)
password_tries = 0;
+ if (monitor->job_id == 0 && monitor->create_job)
+ {
+ /*
+ * No job-id yet, so continue...
+ */
+
+ goto monitor_disconnect;
+ }
+
/*
* Check the status of the job itself...
*/
@@ -2485,6 +2496,8 @@ monitor_printer(
* Disconnect from the printer - we'll reconnect on the next poll...
*/
+ monitor_disconnect:
+
_httpDisconnect(http);
}
@@ -3756,5 +3769,5 @@ update_reasons(ipp_attribute_t *attr, /* I - printer-state-reasons or NULL */
}
/*
- * End of "$Id: ipp.c 12048 2014-07-18 14:26:14Z msweet $".
+ * End of "$Id: ipp.c 12624 2015-05-06 23:50:20Z msweet $".
*/
diff --git a/backend/usb-darwin.c b/backend/usb-darwin.c
index 2ec10d4a1..cc85f885f 100644
--- a/backend/usb-darwin.c
+++ b/backend/usb-darwin.c
@@ -1,5 +1,5 @@
/*
- * "$Id: usb-darwin.c 11669 2014-03-04 14:53:34Z msweet $"
+ * "$Id: usb-darwin.c 12529 2015-02-23 18:57:57Z msweet $"
*
* Copyright 2005-2014 Apple Inc. All rights reserved.
*
@@ -72,6 +72,10 @@
#include <spawn.h>
#include <pthread.h>
+/*
+ * Include necessary headers.
+ */
+
extern char **environ;
@@ -134,6 +138,7 @@ struct crashreporter_annotations_t gCRAnnotations
#define kUSBPrintingProtocolNoOpen 0
#define kUSBPrintingProtocolUnidirectional 1
#define kUSBPrintingProtocolBidirectional 2
+#define kUSBPrintingProtocolIPP 4
typedef IOUSBInterfaceInterface190 **printer_interface_t;
@@ -198,7 +203,7 @@ typedef struct classdriver_s /**** g.classdriver context ****/
} classdriver_t;
-typedef Boolean (*iterator_callback_t)(void *refcon, io_service_t obj);
+typedef Boolean (*iterator_callback_t)(void *refcon, io_service_t obj, CFStringRef deviceIDString, UInt32 deviceLocation, UInt8 interfaceNum, UInt8 alternateSetting);
typedef struct iterator_reference_s /**** Iterator reference data */
{
@@ -226,6 +231,7 @@ typedef struct globals_s
CFStringRef serial;
UInt32 location;
UInt8 interfaceNum;
+ UInt8 alternateSetting;
CFRunLoopTimerRef status_timer;
@@ -258,8 +264,9 @@ int Iterating = 0; /* Are we iterating the bus? */
* Local functions...
*/
-static Boolean find_device_cb(void *refcon, io_service_t obj);
-static Boolean list_device_cb(void *refcon, io_service_t obj);
+static Boolean find_device_cb(void *refcon, io_service_t obj, CFStringRef deviceIDString, UInt32 deviceLocation, UInt8 interfaceNum, UInt8 alternateSetting);
+static Boolean list_device_cb(void *refcon, io_service_t obj, CFStringRef deviceIDString, UInt32 deviceLocation, UInt8 interfaceNum, UInt8 alternateSetting);
+
static CFStringRef cfstr_create_trim(const char *cstr);
static CFStringRef copy_value_for_key(CFStringRef deviceID, CFStringRef *keys);
static kern_return_t load_classdriver(CFStringRef driverPath, printer_interface_t interface, classdriver_t ***printerDriver);
@@ -267,16 +274,13 @@ static kern_return_t load_printerdriver(CFStringRef *driverBundlePath);
static kern_return_t registry_close(void);
static kern_return_t registry_open(CFStringRef *driverBundlePath);
static kern_return_t unload_classdriver(classdriver_t ***classdriver);
-static OSStatus copy_deviceid(classdriver_t **printer, CFStringRef *deviceID);
+
static void *read_thread(void *reference);
static void *sidechannel_thread(void *reference);
-static void copy_deviceinfo(CFStringRef deviceIDString, CFStringRef *make, CFStringRef *model, CFStringRef *serial);
-static void copy_devicestring(io_service_t usbInterface, CFStringRef *deviceID, UInt32 *deviceLocation, UInt8 *interfaceNum);
static void device_added(void *userdata, io_iterator_t iterator);
static void get_device_id(cups_sc_status_t *status, char *data, int *datalen);
static void iterate_printers(iterator_callback_t callBack, void *userdata);
static void parse_options(char *options, char *serial, int serial_size, UInt32 *location, Boolean *wait_eof);
-static void release_deviceinfo(CFStringRef *make, CFStringRef *model, CFStringRef *serial);
static void setup_cfLanguage(void);
static void soft_reset(void);
static void status_timer_cb(CFRunLoopTimerRef timer, void *info);
@@ -296,6 +300,14 @@ static const char *next_line (const char *buffer);
static void parse_pserror (char *sockBuffer, int len);
#endif /* PARSE_PS_ERRORS */
+static IOUSBInterfaceInterface220 **usb_interface220_for_service(io_service_t usbClass);
+static IOUSBDeviceInterface **usb_device_interface_for_device(io_service_t usbDevice);
+static CFStringRef printer_interface_deviceid(IOUSBInterfaceInterface220 **printer, UInt8 alternateSetting);
+static CFStringRef printer_interface_indexed_description(IOUSBInterfaceInterface220 ** printer, UInt8 index, UInt16 language);
+static CFStringRef deviceIDCopyManufacturer(CFStringRef deviceID);
+static CFStringRef deviceIDCopyModel(CFStringRef deviceID);
+static CFStringRef deviceIDCopySerialNumber(CFStringRef deviceID);
+
#pragma mark -
/*
@@ -1084,228 +1096,269 @@ sidechannel_thread(void *reference)
* 'iterate_printers()' - Iterate over all the printers.
*/
-static void iterate_printers(iterator_callback_t callBack,
- void *userdata)
+static void iterate_printers(iterator_callback_t callBack, void *userdata)
{
- Iterating = 1;
-
- mach_port_t masterPort = 0x0;
- kern_return_t kr = IOMasterPort (bootstrap_port, &masterPort);
-
- if (kr == kIOReturnSuccess && masterPort != 0x0)
- {
- io_iterator_t addIterator = 0x0;
-
- iterator_reference_t reference = { callBack, userdata, true };
- IONotificationPortRef addNotification = IONotificationPortCreate(masterPort);
-
- int klass = kUSBPrintingClass;
- int subklass = kUSBPrintingSubclass;
-
- CFNumberRef usb_klass = CFNumberCreate(NULL, kCFNumberIntType, &klass);
- CFNumberRef usb_subklass = CFNumberCreate(NULL, kCFNumberIntType, &subklass);
- CFMutableDictionaryRef usbPrinterMatchDictionary = IOServiceMatching(kIOUSBInterfaceClassName);
-
- CFDictionaryAddValue(usbPrinterMatchDictionary, CFSTR("bInterfaceClass"), usb_klass);
- CFDictionaryAddValue(usbPrinterMatchDictionary, CFSTR("bInterfaceSubClass"), usb_subklass);
-
- CFRelease(usb_klass);
- CFRelease(usb_subklass);
-
- IOServiceAddMatchingNotification(addNotification, kIOMatchedNotification, usbPrinterMatchDictionary, &device_added, &reference, &addIterator);
- if (addIterator != 0x0)
+ Iterating = 1;
+
+ mach_port_t masterPort = 0x0;
+ kern_return_t kr = IOMasterPort (bootstrap_port, &masterPort);
+
+ if (kr == kIOReturnSuccess && masterPort != 0x0)
{
- device_added (&reference, addIterator);
-
- if (reference.keepRunning)
- {
- CFRunLoopAddSource(CFRunLoopGetCurrent(), IONotificationPortGetRunLoopSource(addNotification), kCFRunLoopDefaultMode);
- CFRunLoopRun();
- }
- IOObjectRelease(addIterator);
+ iterator_reference_t reference = { callBack, userdata, true };
+
+ IONotificationPortRef addNotification = IONotificationPortCreate(masterPort);
+ io_iterator_t addIterator = IO_OBJECT_NULL;
+
+ kr = IOServiceAddMatchingNotification(addNotification, kIOFirstMatchNotification, IOServiceMatching(kIOUSBDeviceClassName),
+ &device_added, &reference, &addIterator);
+ if (kr == kIOReturnSuccess && addIterator != IO_OBJECT_NULL)
+ {
+ device_added(&reference, addIterator);
+ if (reference.keepRunning)
+ {
+ CFRunLoopAddSource(CFRunLoopGetCurrent(), IONotificationPortGetRunLoopSource(addNotification), kCFRunLoopDefaultMode);
+ CFRunLoopRun();
+ }
+ IOObjectRelease(addIterator);
+ }
+ mach_port_deallocate(mach_task_self(), masterPort);
}
- mach_port_deallocate(mach_task_self(), masterPort);
- }
-
- Iterating = 0;
+
+ Iterating = 0;
}
/*
* 'device_added()' - Device added notifier.
*/
+#define IsPrintingInterface(c,s,p) ((c) == kUSBPrintingInterfaceClass && (s) == kUSBPrintingSubclass && (p) != kUSBPrintingProtocolIPP)
-static void device_added(void *userdata,
- io_iterator_t iterator)
+static void device_added(void *userdata, io_iterator_t iterator)
{
- iterator_reference_t *reference = userdata;
-
- io_service_t obj;
- while (reference->keepRunning && (obj = IOIteratorNext(iterator)) != 0x0)
- {
- if (reference->callback != NULL)
- reference->keepRunning = reference->callback(reference->userdata, obj);
-
- IOObjectRelease(obj);
- }
+ iterator_reference_t *reference = userdata;
+ io_service_t device;
+
+ while (reference->keepRunning && (device = IOIteratorNext(iterator)) != 0x0)
+ {
+ UInt32 locationID = 0;
+ IOUSBDeviceInterface **devIntf = NULL;
+ io_iterator_t intfIterator = IO_OBJECT_NULL;
+ io_object_t intf = IO_OBJECT_NULL;
+
+ devIntf = usb_device_interface_for_device(device);
+ if (devIntf == NULL)
+ goto device_added_done;
+
+ UInt16 vendorUniqueID;
+ if ((*devIntf)->GetDeviceVendor(devIntf, &vendorUniqueID) != kIOReturnSuccess || vendorUniqueID == kAppleVendorID || vendorUniqueID == 0x0A5C)
+ goto device_added_done;
+
+ if ((*devIntf)->GetLocationID(devIntf, &locationID) != kIOReturnSuccess)
+ goto device_added_done;
+
+ IOUSBFindInterfaceRequest req = { kIOUSBFindInterfaceDontCare, kIOUSBFindInterfaceDontCare, kIOUSBFindInterfaceDontCare, kIOUSBFindInterfaceDontCare };
+ if ((*devIntf)->CreateInterfaceIterator(devIntf, &req, &intfIterator) != kIOReturnSuccess)
+ goto device_added_done;
+
+ while (reference->keepRunning && (intf = IOIteratorNext(intfIterator)))
+ {
+ IOUSBInterfaceInterface220 **intf220 = usb_interface220_for_service(intf);
+ if (intf220 != NULL)
+ {
+ UInt8 intfClass = 0, intfSubclass = 0, intfProtocol = 0, intfNumber = 0;
+
+ (*intf220)->GetInterfaceClass(intf220, &intfClass);
+ (*intf220)->GetInterfaceSubClass(intf220, &intfSubclass);
+ (*intf220)->GetInterfaceProtocol(intf220, &intfProtocol);
+ (*intf220)->GetInterfaceNumber(intf220, &intfNumber);
+
+ if (IsPrintingInterface(intfClass, intfSubclass, intfProtocol))
+ {
+ CFStringRef deviceIDString = printer_interface_deviceid(intf220, 0);
+ if (deviceIDString != NULL)
+ {
+ reference->keepRunning = reference->callback(userdata, intf, deviceIDString, locationID, intfNumber, 0);
+ CFRelease(deviceIDString);
+ }
+ }
+
+ IOUSBInterfaceDescriptor *intfDesc = nil;
+ while (reference->keepRunning && (intfDesc = (IOUSBInterfaceDescriptor *)(*intf220)->FindNextAssociatedDescriptor(intf220, intfDesc, kUSBInterfaceDesc)))
+ {
+ intfClass = intfDesc->bInterfaceClass;
+ intfSubclass = intfDesc->bInterfaceSubClass;
+ intfProtocol = intfDesc->bInterfaceProtocol;
+
+ if ((IsPrintingInterface(intfClass, intfSubclass, intfProtocol)))
+ {
+ CFStringRef deviceIDString = printer_interface_deviceid(intf220, intfDesc->bAlternateSetting);
+ if (deviceIDString != NULL)
+ {
+ reference->keepRunning = reference->callback(userdata, intf, deviceIDString, locationID, intfNumber, intfDesc->bAlternateSetting);
+ CFRelease(deviceIDString);
+ }
+ }
+ }
+ (*intf220)->Release(intf220);
+ }
+ }
- /* One last call to the call back now that we are not longer have printers left to iterate...
- */
- if (reference->keepRunning && reference->callback)
- reference->keepRunning = reference->callback(reference->userdata, 0x0);
+ device_added_done:
+ if (devIntf != NULL) (*devIntf)->Release(devIntf);
+ if (intfIterator != IO_OBJECT_NULL) IOObjectRelease(intfIterator);
- if (!reference->keepRunning)
- CFRunLoopStop(CFRunLoopGetCurrent());
+ IOObjectRelease(device);
+ }
+
+ /* One last call to the call back now that we are not longer have printers left to iterate...
+ */
+ if (reference->keepRunning && reference->callback)
+ reference->keepRunning = reference->callback(reference->userdata, IO_OBJECT_NULL, NULL, 0, 0, 0);
+
+ if (!reference->keepRunning)
+ CFRunLoopStop(CFRunLoopGetCurrent());
}
-
/*
* 'list_device_cb()' - list_device iterator callback.
*/
-static Boolean list_device_cb(void *refcon,
- io_service_t obj)
+static Boolean list_device_cb(void *refcon, io_service_t obj, CFStringRef deviceIDString, UInt32 deviceLocation, UInt8 interfaceNum, UInt8 alternateSetting)
{
- Boolean keepRunning = (obj != 0x0);
-
-
- (void)refcon;
+ (void)interfaceNum;
+ (void)alternateSetting;
- if (keepRunning)
- {
- CFStringRef deviceIDString = NULL;
- UInt32 deviceLocation = 0;
- UInt8 interfaceNum = 0;
-
- copy_devicestring(obj, &deviceIDString, &deviceLocation, &interfaceNum);
- if (deviceIDString != NULL)
+ if (obj != IO_OBJECT_NULL)
{
- CFStringRef make = NULL, model = NULL, serial = NULL;
- char uristr[1024], makestr[1024], modelstr[1024], serialstr[1024];
- char optionsstr[1024], idstr[1024], make_modelstr[1024];
-
- copy_deviceinfo(deviceIDString, &make, &model, &serial);
- CFStringGetCString(deviceIDString, idstr, sizeof(idstr),
- kCFStringEncodingUTF8);
- backendGetMakeModel(idstr, make_modelstr, sizeof(make_modelstr));
-
- modelstr[0] = '/';
-
- if (!make ||
- !CFStringGetCString(make, makestr, sizeof(makestr),
- kCFStringEncodingUTF8))
- strlcpy(makestr, "Unknown", sizeof(makestr));
-
- if (!model ||
- !CFStringGetCString(model, &modelstr[1], sizeof(modelstr)-1,
- kCFStringEncodingUTF8))
- strlcpy(modelstr + 1, "Printer", sizeof(modelstr) - 1);
-
- optionsstr[0] = '\0';
- if (serial != NULL)
- {
- CFStringGetCString(serial, serialstr, sizeof(serialstr), kCFStringEncodingUTF8);
- snprintf(optionsstr, sizeof(optionsstr), "?serial=%s", serialstr);
- }
- else if (deviceLocation != 0)
- snprintf(optionsstr, sizeof(optionsstr), "?location=%x", (unsigned)deviceLocation);
-
- httpAssembleURI(HTTP_URI_CODING_ALL, uristr, sizeof(uristr), "usb", NULL, makestr, 0, modelstr);
- strlcat(uristr, optionsstr, sizeof(uristr));
-
- cupsBackendReport("direct", uristr, make_modelstr, make_modelstr, idstr,
- NULL);
-
- release_deviceinfo(&make, &model, &serial);
- CFRelease(deviceIDString);
+ CFStringRef make = NULL;
+ CFStringRef model = NULL;
+ CFStringRef serial = NULL;
+
+ char uristr[1024], makestr[1024], modelstr[1024], serialstr[1024];
+ char optionsstr[1024], idstr[1024], make_modelstr[1024];
+
+ CFStringGetCString(deviceIDString, idstr, sizeof(idstr), kCFStringEncodingUTF8);
+ backendGetMakeModel(idstr, make_modelstr, sizeof(make_modelstr));
+
+ modelstr[0] = '/';
+
+ if (make == NULL || !CFStringGetCString(make, makestr, sizeof(makestr), kCFStringEncodingUTF8))
+ strlcpy(makestr, "Unknown", sizeof(makestr));
+
+ if (model == NULL || !CFStringGetCString(model, &modelstr[1], sizeof(modelstr)-1, kCFStringEncodingUTF8))
+ strlcpy(modelstr + 1, "Printer", sizeof(modelstr) - 1);
+
+ optionsstr[0] = '\0';
+ if (serial != NULL && CFStringGetCString(serial, serialstr, sizeof(serialstr), kCFStringEncodingUTF8))
+ snprintf(optionsstr, sizeof(optionsstr), "?serial=%s", serialstr);
+ else if (deviceLocation != 0)
+ snprintf(optionsstr, sizeof(optionsstr), "?location=%x", (unsigned)deviceLocation);
+
+ httpAssembleURI(HTTP_URI_CODING_ALL, uristr, sizeof(uristr), "usb", NULL, makestr, 0, modelstr);
+ strlcat(uristr, optionsstr, sizeof(uristr));
+
+ cupsBackendReport("direct", uristr, make_modelstr, make_modelstr, idstr,
+ NULL);
}
- }
-
- return keepRunning;
+
+ return obj != IO_OBJECT_NULL;
}
-
/*
* 'find_device_cb()' - print_device iterator callback.
*/
-
-static Boolean find_device_cb(void *refcon,
- io_service_t obj)
+static Boolean find_device_cb(void *refcon, io_service_t obj, CFStringRef deviceIDString, UInt32 deviceLocation, UInt8 interfaceNum, UInt8 alternateSetting)
{
- Boolean keepLooking = true;
-
- if (obj != 0x0)
- {
- CFStringRef idString = NULL;
- UInt32 location = ~0U;
- UInt8 interfaceNum = 0;
-
- copy_devicestring(obj, &idString, &location, &interfaceNum);
- if (idString != NULL)
+ Boolean keepLooking = true;
+
+ if (obj != IO_OBJECT_NULL)
{
- CFStringRef make = NULL, model = NULL, serial = NULL;
-
- copy_deviceinfo(idString, &make, &model, &serial);
- if (make && CFStringCompare(make, g.make, kCFCompareCaseInsensitive) == kCFCompareEqualTo)
- {
- if (model && CFStringCompare(model, g.model, kCFCompareCaseInsensitive) == kCFCompareEqualTo)
- {
- if (g.serial != NULL && CFStringGetLength(g.serial) > 0)
- {
- if (serial != NULL && CFStringCompare(serial, g.serial, kCFCompareCaseInsensitive) == kCFCompareEqualTo)
- {
- IOObjectRetain(obj);
- g.printer_obj = obj;
- keepLooking = false;
- }
- }
- else
- {
- if (g.printer_obj != 0)
- IOObjectRelease(g.printer_obj);
-
- g.printer_obj = obj;
- IOObjectRetain(obj);
-
- if (g.location == 0 || g.location == location)
- keepLooking = false;
- }
- if ( !keepLooking )
- g.interfaceNum = interfaceNum;
- }
- }
-
- release_deviceinfo(&make, &model, &serial);
- CFRelease(idString);
+ CFStringRef make = deviceIDCopyManufacturer(deviceIDString);
+ CFStringRef model = deviceIDCopyModel(deviceIDString);
+ CFStringRef serial = deviceIDCopySerialNumber(deviceIDString);
+
+ if (make && CFStringCompare(make, g.make, kCFCompareCaseInsensitive) == kCFCompareEqualTo)
+ {
+ if (model && CFStringCompare(model, g.model, kCFCompareCaseInsensitive) == kCFCompareEqualTo)
+ {
+ if (g.serial != NULL && CFStringGetLength(g.serial) > 0)
+ {
+ if (serial != NULL && CFStringCompare(serial, g.serial, kCFCompareCaseInsensitive) == kCFCompareEqualTo)
+ {
+ IOObjectRetain(obj);
+ g.printer_obj = obj;
+ g.alternateSetting = alternateSetting;
+ keepLooking = false;
+ }
+ }
+ else
+ {
+ if (g.printer_obj != 0)
+ IOObjectRelease(g.printer_obj);
+
+ g.alternateSetting = alternateSetting;
+ g.printer_obj = obj;
+ IOObjectRetain(obj);
+
+ if (g.location == 0 || g.location == deviceLocation)
+ keepLooking = false;
+ }
+
+ if ( !keepLooking )
+ g.interfaceNum = interfaceNum;
+ }
+ }
+
+ if (make) CFRelease(make);
+ if (model) CFRelease(model);
+ if (serial) CFRelease(serial);
}
- }
- else
- {
- keepLooking = (g.printer_obj == 0);
- if (obj == 0x0 && keepLooking)
+ else
{
- CFRunLoopTimerContext context = { 0, refcon, NULL, NULL, NULL };
- CFRunLoopTimerRef timer = CFRunLoopTimerCreate(NULL, CFAbsoluteTimeGetCurrent() + 1.0, 10, 0x0, 0x0, status_timer_cb, &context);
- if (timer != NULL)
- {
- CFRunLoopAddTimer(CFRunLoopGetCurrent(), timer, kCFRunLoopDefaultMode);
- g.status_timer = timer;
- }
+ keepLooking = (g.printer_obj == 0);
+ if (obj == IO_OBJECT_NULL && keepLooking)
+ {
+ CFRunLoopTimerContext context = { 0, refcon, NULL, NULL, NULL };
+ CFRunLoopTimerRef timer = CFRunLoopTimerCreate(NULL, CFAbsoluteTimeGetCurrent() + 1.0, 10, 0x0, 0x0, status_timer_cb, &context);
+ if (timer != NULL)
+ {
+ CFRunLoopAddTimer(CFRunLoopGetCurrent(), timer, kCFRunLoopDefaultMode);
+ g.status_timer = timer;
+ }
+ }
}
- }
+
+ if (!keepLooking && g.status_timer != NULL)
+ {
+ fputs("STATE: -offline-report\n", stderr);
+ _cupsLangPrintFilter(stderr, "INFO", _("The printer is now online."));
+ CFRunLoopRemoveTimer(CFRunLoopGetCurrent(), g.status_timer, kCFRunLoopDefaultMode);
+ CFRelease(g.status_timer);
+ g.status_timer = NULL;
+ }
+
+ return keepLooking;
+}
- if (!keepLooking && g.status_timer != NULL)
- {
- fputs("STATE: -offline-report\n", stderr);
- _cupsLangPrintFilter(stderr, "INFO", _("The printer is now online."));
- CFRunLoopRemoveTimer(CFRunLoopGetCurrent(), g.status_timer, kCFRunLoopDefaultMode);
- CFRelease(g.status_timer);
- g.status_timer = NULL;
- }
+static CFStringRef deviceIDCopySerialNumber(CFStringRef deviceID)
+{
+ CFStringRef serialKeys[] = { CFSTR("SN:"), CFSTR("SERN:"), NULL };
+
+ return copy_value_for_key(deviceID, serialKeys);
+}
- return keepLooking;
+static CFStringRef deviceIDCopyModel(CFStringRef deviceID)
+{
+ CFStringRef modelKeys[] = { CFSTR("MDL:"), CFSTR("MODEL:"), NULL };
+ return copy_value_for_key(deviceID, modelKeys);
}
+static CFStringRef deviceIDCopyManufacturer(CFStringRef deviceID)
+{
+ CFStringRef makeKeys[] = { CFSTR("MFG:"), CFSTR("MANUFACTURER:"), NULL };
+ return copy_value_for_key(deviceID, makeKeys);
+}
/*
* 'status_timer_cb()' - Status timer callback.
@@ -1340,59 +1393,6 @@ static void status_timer_cb(CFRunLoopTimerRef timer,
#pragma mark -
/*
- * 'copy_deviceinfo()' - Copy strings from the 1284 device ID.
- */
-
-static void copy_deviceinfo(CFStringRef deviceIDString,
- CFStringRef *make,
- CFStringRef *model,
- CFStringRef *serial)
-{
- CFStringRef modelKeys[] = { CFSTR("MDL:"), CFSTR("MODEL:"), NULL };
- CFStringRef makeKeys[] = { CFSTR("MFG:"), CFSTR("MANUFACTURER:"), NULL };
- CFStringRef serialKeys[] = { CFSTR("SN:"), CFSTR("SERN:"), NULL };
-
- if (make != NULL)
- *make = copy_value_for_key(deviceIDString, makeKeys);
-
- if (model != NULL)
- *model = copy_value_for_key(deviceIDString, modelKeys);
-
- if (serial != NULL)
- *serial = copy_value_for_key(deviceIDString, serialKeys);
-}
-
-
-/*
- * 'release_deviceinfo()' - Release deviceinfo strings.
- */
-
-static void release_deviceinfo(CFStringRef *make,
- CFStringRef *model,
- CFStringRef *serial)
-{
- if (make != NULL && *make != NULL)
- {
- CFRelease(*make);
- *make = NULL;
- }
-
- if (model != NULL && *model != NULL)
- {
- CFRelease(*model);
- *model = NULL;
- }
-
- if (serial != NULL && *serial != NULL)
- {
- CFRelease(*serial);
- *serial = NULL;
- }
-}
-
-
-#pragma mark -
-/*
* 'load_classdriver()' - Load a classdriver.
*/
@@ -1522,6 +1522,291 @@ static kern_return_t load_printerdriver(CFStringRef *driverBundlePath)
return kr;
}
+static IOUSBInterfaceInterface220 **usb_interface220_for_service(io_service_t usbClass)
+{
+ IOUSBInterfaceInterface220 ** intf = NULL;
+ IOCFPlugInInterface **plugin = NULL;
+ SInt32 score;
+ int kr = IOCreatePlugInInterfaceForService(usbClass, kIOUSBInterfaceUserClientTypeID, kIOCFPlugInInterfaceID, &plugin, &score);
+ if (kr == kIOReturnSuccess)
+ {
+ (*plugin)->QueryInterface(plugin, CFUUIDGetUUIDBytes(kIOUSBInterfaceInterfaceID220), (LPVOID *)&intf);
+ IODestroyPlugInInterface(plugin);
+ }
+
+ return intf;
+}
+
+static IOUSBDeviceInterface **usb_device_interface_for_device(io_service_t usbDevice)
+{
+ IOUSBDeviceInterface ** intf = NULL;
+ IOCFPlugInInterface **plugin = NULL;
+ SInt32 score;
+
+ int kr = IOCreatePlugInInterfaceForService(usbDevice, kIOUSBDeviceUserClientTypeID, kIOCFPlugInInterfaceID, &plugin, &score);
+ if (kr == kIOReturnSuccess)
+ {
+ (*plugin)->QueryInterface(plugin, CFUUIDGetUUIDBytes(kIOUSBDeviceInterfaceID), (LPVOID *)&intf);
+ IODestroyPlugInInterface(plugin);
+ }
+
+ return intf;
+}
+
+
+static CFStringRef printer_interface_deviceid(IOUSBInterfaceInterface220 **printer, UInt8 alternateSetting)
+{
+ // I have tried to make this function as neat as I can, but the possibility of needing to resend
+ // a request to get the entire string makes it hideous...
+ //
+ // We package the job of sending a request up into the block (^sendRequest), which takes the size
+ // it should allocate for the message buffer. It frees the current buffer if one is set and
+ // allocates one of the specified size, then performs the request. We can then easily retry by
+ // calling the block again if we fail to get the whole string the first time around.
+
+ #define kUSBPrintClassGetDeviceID 0
+ #define kDefaultNoDataTimeout 5000L
+ #define pack_device_id_wIndex(intf, alt) ((UInt16)((((UInt16)(intf)) << 8) | ((UInt8)(alt))))
+
+ if (printer == nil)
+ return nil;
+
+
+ IOReturn err = kIOReturnError;
+ UInt8 configurationIndex = 0;
+ UInt8 interfaceNumber = 0;
+ size_t bufferLength = 256;
+ CFStringRef ret = NULL;
+
+ if ((*printer)->GetConfigurationValue( printer, &configurationIndex) == kIOReturnSuccess &&
+ (*printer)->GetInterfaceNumber( printer, &interfaceNumber) == kIOReturnSuccess)
+ {
+ __block IOUSBDevRequestTO request;
+ IOReturn (^sendRequest)(size_t) = ^ (size_t size)
+ {
+ if (request.pData)
+ {
+ free(request.pData);
+ request.wLength = 0;
+ request.pData = NULL;
+ }
+
+ IOReturn err = kIOReturnError;
+ char *buffer = malloc(size);
+ if (buffer == NULL)
+ return kIOReturnNoMemory;
+
+ request.wLength = HostToUSBWord(size);
+ request.pData = buffer;
+ err = (*printer)->ControlRequestTO(printer, (UInt8)0, &request);
+ return err;
+ };
+
+ /* This request takes the 0 based configuration index. IOKit returns a 1 based configuration index */
+ configurationIndex -= 1;
+
+ bzero(&request, sizeof(request));
+
+ request.bmRequestType = USBmakebmRequestType(kUSBIn, kUSBClass, kUSBInterface);
+ request.bRequest = kUSBPrintClassGetDeviceID;
+ request.wValue = HostToUSBWord(configurationIndex);
+ request.wIndex = HostToUSBWord(pack_device_id_wIndex(interfaceNumber, alternateSetting));
+ request.noDataTimeout = kDefaultNoDataTimeout;
+ request.completionTimeout = 0; // Copying behavior from Generic Class Driver
+
+ err = sendRequest(bufferLength);
+
+ if (err == kIOReturnSuccess && request.wLenDone > 1)
+ {
+ UInt16 actualLength = OSSwapBigToHostInt16(*((UInt16 *)request.pData));
+
+ if (actualLength > 2 && actualLength <= bufferLength - 2)
+ {
+ ret = CFStringCreateWithBytes(NULL, (const UInt8 *) &request.pData[2], actualLength - 2, kCFStringEncodingUTF8, false);
+ }
+ else {
+ err = sendRequest(actualLength);
+ if (err == kIOReturnSuccess && request.wLenDone > 0)
+ {
+ actualLength = OSSwapBigToHostInt16(*((UInt16 *)request.pData));
+ ret = CFStringCreateWithBytes(NULL, (const UInt8 *) &request.pData[2], actualLength - 2, kCFStringEncodingUTF8, false);
+ }
+ }
+ }
+
+ if (request.pData)
+ free(request.pData);
+ }
+
+ CFStringRef manufacturer = deviceIDCopyManufacturer(ret);
+ CFStringRef model = deviceIDCopyManufacturer(ret);
+ CFStringRef serial = deviceIDCopySerialNumber(ret);
+
+ if (manufacturer == NULL || serial == NULL || model == NULL)
+ {
+ IOUSBDevRequestTO request;
+ IOUSBDeviceDescriptor desc;
+
+ bzero(&request, sizeof(request));
+
+ request.bmRequestType = USBmakebmRequestType( kUSBIn, kUSBStandard, kUSBDevice );
+ request.bRequest = kUSBRqGetDescriptor;
+ request.wValue = kUSBDeviceDesc << 8;
+ request.wIndex = 0;
+ request.wLength = sizeof(desc);
+ request.pData = &desc;
+ request.completionTimeout = 0;
+ request.noDataTimeout = 60L;
+
+ err = (*printer)->ControlRequestTO(printer, 0, &request);
+ if (err == kIOReturnSuccess)
+ {
+ CFMutableStringRef extras = CFStringCreateMutable(NULL, 0);
+ if (manufacturer == NULL)
+ {
+ manufacturer = printer_interface_indexed_description(printer, desc.iManufacturer, kUSBLanguageEnglish);
+ if (CFStringGetLength(manufacturer) > 0)
+ CFStringAppendFormat(extras, NULL, CFSTR("MFG:%@;"), manufacturer);
+ }
+
+ if (model == NULL)
+ {
+ model = printer_interface_indexed_description(printer, desc.iProduct, kUSBLanguageEnglish);
+ if (CFStringGetLength(model) > 0)
+ CFStringAppendFormat(extras, NULL, CFSTR("MDL:%@;"), manufacturer);
+ }
+
+ if (serial == NULL && desc.iSerialNumber != 0)
+ {
+ serial = printer_interface_indexed_description(printer, desc.iSerialNumber, kUSBLanguageEnglish);
+ if (CFStringGetLength(serial) > 0)
+ CFStringAppendFormat(extras, NULL, CFSTR("SERN:%@;"), serial);
+ }
+
+ if (ret != NULL)
+ {
+ CFStringAppend(extras, ret);
+ CFRelease(ret);
+
+ ret = extras;
+ }
+ else
+ {
+ ret = extras;
+ }
+ }
+ }
+
+ if (manufacturer != NULL)
+ CFRelease(manufacturer);
+ if (model != NULL)
+ CFRelease(model);
+ if (serial != NULL)
+ CFRelease(serial);
+
+
+ /* Remove special characters from the serial number */
+ CFRange range = (serial != NULL ? CFStringFind(serial, CFSTR("+"), 0) : CFRangeMake(0, 0));
+ if (range.length == 1)
+ {
+ range = CFStringFind(ret, serial, 0);
+
+ CFMutableStringRef deviceIDString = CFStringCreateMutableCopy(NULL, 0, ret);
+ CFRelease(ret);
+
+ ret = deviceIDString;
+ CFStringFindAndReplace(deviceIDString, CFSTR("+"), CFSTR(""), range, 0);
+ }
+
+ return (CFStringGetLength(ret) > 0 ? ret : nil);
+}
+
+static CFStringRef printer_interface_indexed_description(IOUSBInterfaceInterface220 ** printer, UInt8 index, UInt16 language)
+{
+ IOReturn err;
+ UInt8 description[256]; // Max possible descriptor length
+ IOUSBDevRequestTO request;
+
+ bzero(description, 2);
+
+ request.bmRequestType = USBmakebmRequestType(kUSBIn, kUSBStandard, kUSBDevice);
+ request.bRequest = kUSBRqGetDescriptor;
+ request.wValue = (kUSBStringDesc << 8) | index;
+ request.wIndex = language;
+ request.wLength = 2;
+ request.pData = &description;
+ request.completionTimeout = 0;
+ request.noDataTimeout = 60L;
+
+ err = (*printer)->ControlRequestTO(printer, 0, &request);
+ if (err != kIOReturnSuccess && err != kIOReturnOverrun)
+ {
+ bzero(description, request.wLength);
+
+ // Let's try again full length. Here's why:
+ // On USB 2.0 controllers, we will not get an overrun error. We just get a "babble" error
+ // and no valid data. So, if we ask for the max size, we will either get it, or we'll get an underrun.
+ // It looks like we get it w/out an underrun
+
+ request.bmRequestType = USBmakebmRequestType(kUSBIn, kUSBStandard, kUSBDevice);
+ request.bRequest = kUSBRqGetDescriptor;
+ request.wValue = (kUSBStringDesc << 8) | index;
+ request.wIndex = language;
+ request.wLength = sizeof description;
+ request.pData = &description;
+ request.completionTimeout = 0;
+ request.noDataTimeout = 60L;
+
+ err = (*printer)->ControlRequestTO(printer, 0, &request);
+ if (err != kIOReturnSuccess && err != kIOReturnUnderrun)
+ return nil;
+ }
+
+ unsigned int length = description[0];
+ if (length == 0)
+ return CFStringCreateWithCString(NULL, "", kCFStringEncodingUTF8);
+
+ if (description[1] != kUSBStringDesc)
+ return NULL;
+
+ request.bmRequestType = USBmakebmRequestType(kUSBIn, kUSBStandard, kUSBDevice);
+ request.bRequest = kUSBRqGetDescriptor;
+ request.wValue = (kUSBStringDesc << 8) | index;
+ request.wIndex = language;
+
+ bzero(description, length);
+ request.wLength = length;
+ request.pData = &description;
+ request.completionTimeout = 0;
+ request.noDataTimeout = 60L;
+
+ err = (*printer)->ControlRequestTO(printer, 0, &request);
+ if (err != kIOReturnSuccess)
+ return nil;
+
+ if (description[1] != kUSBStringDesc)
+ return nil;
+
+ if ((description[0] & 1) != 0)
+ description[0] &= 0xfe;
+
+ char buffer[258] = {};
+ unsigned int maxLength = sizeof buffer;
+ if (description[0] > 1)
+ {
+ length = (description[0]-2)/2;
+
+ if (length > maxLength - 1)
+ length = maxLength -1;
+
+ for (int i = 0; i < length; i++)
+ buffer[i] = (char) description[2*i+2];
+
+ buffer[length] = 0;
+ }
+
+ return CFStringCreateWithCString(NULL, buffer, kCFStringEncodingUTF8);
+}
/*
* 'registry_open()' - Open a connection to the printer.
@@ -1575,158 +1860,6 @@ static kern_return_t registry_close(void)
return kIOReturnSuccess;
}
-
-/*
- * 'copy_deviceid()' - Copy the 1284 device id string.
- */
-
-static OSStatus copy_deviceid(classdriver_t **classdriver,
- CFStringRef *deviceID)
-{
- CFStringRef devID = NULL;
- CFStringRef deviceMake = NULL;
- CFStringRef deviceModel = NULL;
- CFStringRef deviceSerial = NULL;
-
- *deviceID = NULL;
-
- OSStatus err = (*classdriver)->GetDeviceID(classdriver, &devID, DEFAULT_TIMEOUT);
-
- copy_deviceinfo(devID, &deviceMake, &deviceModel, &deviceSerial);
-
- if (deviceMake == NULL || deviceModel == NULL || deviceSerial == NULL)
- {
- IOUSBDeviceDescriptor desc;
- iodevice_request_t request;
-
- request.requestType = USBmakebmRequestType(kUSBIn, kUSBStandard, kUSBDevice);
- request.request = kUSBRqGetDescriptor;
- request.value = (kUSBDeviceDesc << 8) | 0;
- request.index = 0;
- request.length = sizeof(desc);
- request.buffer = &desc;
- err = (*classdriver)->DeviceRequest(classdriver, &request, DEFAULT_TIMEOUT);
- if (err == kIOReturnSuccess)
- {
- CFMutableStringRef newDevID = CFStringCreateMutable(NULL, 0);
-
- if (deviceMake == NULL)
- {
- CFStringRef data = NULL;
- err = (*classdriver)->GetString(classdriver, desc.iManufacturer, kUSBLanguageEnglish, DEFAULT_TIMEOUT, &data);
- if (data != NULL)
- {
- CFStringAppendFormat(newDevID, NULL, CFSTR("MFG:%@;"), data);
- CFRelease(data);
- }
- }
-
- if (deviceModel == NULL)
- {
- CFStringRef data = NULL;
- err = (*classdriver)->GetString(classdriver, desc.iProduct, kUSBLanguageEnglish, DEFAULT_TIMEOUT, &data);
- if (data != NULL)
- {
- CFStringAppendFormat(newDevID, NULL, CFSTR("MDL:%@;"), data);
- CFRelease(data);
- }
- }
-
- if (deviceSerial == NULL && desc.iSerialNumber != 0)
- {
- err = (*classdriver)->GetString(classdriver, desc.iSerialNumber, kUSBLanguageEnglish, DEFAULT_TIMEOUT, &deviceSerial);
- if (deviceSerial != NULL)
- {
- CFStringAppendFormat(newDevID, NULL, CFSTR("SERN:%@;"), deviceSerial);
- }
- }
-
- if (devID != NULL)
- {
- CFStringAppend(newDevID, devID);
- CFRelease(devID);
- }
-
- *deviceID = newDevID;
- }
- }
- else
- {
- *deviceID = devID;
- }
-
- if (*deviceID == NULL)
- return err;
-
- /* Remove special characters from the serial number */
- CFRange range = (deviceSerial != NULL ? CFStringFind(deviceSerial, CFSTR("+"), 0) : CFRangeMake(0, 0));
- if (range.length == 1) {
- range = CFStringFind(*deviceID, deviceSerial, 0);
-
- CFMutableStringRef deviceIDString = CFStringCreateMutableCopy(NULL, 0, *deviceID);
- CFStringFindAndReplace(deviceIDString, CFSTR("+"), CFSTR(""), range, 0);
- CFRelease(*deviceID);
- *deviceID = deviceIDString;
- }
-
- release_deviceinfo(&deviceMake, &deviceModel, &deviceSerial);
-
- return err;
-}
-
-
-/*
- * 'copy_devicestring()' - Copy the 1284 device id string.
- */
-
-static void copy_devicestring(io_service_t usbInterface,
- CFStringRef *deviceID,
- UInt32 *deviceLocation,
- UInt8 *interfaceNumber )
-{
- IOCFPlugInInterface **iodev = NULL;
- SInt32 score;
- kern_return_t kr;
- printer_interface_t interface;
- HRESULT res;
- classdriver_t **klassDriver = NULL;
- CFStringRef driverBundlePath;
-
- if ((kr = IOCreatePlugInInterfaceForService(usbInterface,
- kIOUSBInterfaceUserClientTypeID,
- kIOCFPlugInInterfaceID,
- &iodev, &score)) == kIOReturnSuccess)
- {
- if ((res = (*iodev)->QueryInterface(iodev, USB_INTERFACE_KIND, (LPVOID *)
- &interface)) == noErr)
- {
- (*interface)->GetLocationID(interface, deviceLocation);
- (*interface)->GetInterfaceNumber(interface, interfaceNumber);
-
- driverBundlePath = IORegistryEntryCreateCFProperty(usbInterface,
- kUSBClassDriverProperty,
- NULL, kNilOptions);
-
- kr = load_classdriver(driverBundlePath, interface, &klassDriver);
-
- if (kr != kIOReturnSuccess && driverBundlePath != NULL)
- kr = load_classdriver(NULL, interface, &klassDriver);
-
- if (kr == kIOReturnSuccess && klassDriver != NULL)
- copy_deviceid(klassDriver, deviceID);
-
- unload_classdriver(&klassDriver);
-
- if (driverBundlePath != NULL)
- CFRelease(driverBundlePath);
-
- /* (*interface)->Release(interface); */
- }
- IODestroyPlugInInterface(iodev);
- }
-}
-
-
#pragma mark -
/*
* 'copy_value_for_key()' - Copy value string associated with a key.
@@ -2308,15 +2441,31 @@ static void get_device_id(cups_sc_status_t *status,
{
CFStringRef deviceIDString = NULL;
- /* GetDeviceID */
- copy_deviceid(g.classdriver, &deviceIDString);
+ if (g.printer_obj != IO_OBJECT_NULL)
+ {
+ IOUSBInterfaceInterface220 **intf220 = usb_interface220_for_service(g.printer_obj);
+ if (intf220)
+ {
+ deviceIDString = printer_interface_deviceid(intf220, g.alternateSetting);
+ (*intf220)->Release(intf220);
+ }
+ }
+
if (deviceIDString)
{
- CFStringGetCString(deviceIDString, data, *datalen, kCFStringEncodingUTF8);
- *datalen = (int)strlen(data);
+ if (CFStringGetCString(deviceIDString, data, *datalen, kCFStringEncodingUTF8))
+ *datalen = (int)strlen(data);
+ else
+ *datalen = 0;
+
CFRelease(deviceIDString);
}
+ else
+ {
+ *datalen = 0;
+ }
+
*status = CUPS_SC_STATUS_OK;
}
@@ -2348,5 +2497,5 @@ log_usb_class_driver(int is_64bit) /* I - Is the USB class driver 64-bit? */
/*
- * End of "$Id: usb-darwin.c 11669 2014-03-04 14:53:34Z msweet $".
+ * End of "$Id: usb-darwin.c 12529 2015-02-23 18:57:57Z msweet $".
*/
diff --git a/cgi-bin/ipp-var.c b/cgi-bin/ipp-var.c
index ae47c9b85..d24b0704e 100644
--- a/cgi-bin/ipp-var.c
+++ b/cgi-bin/ipp-var.c
@@ -1,9 +1,9 @@
/*
- * "$Id: ipp-var.c 11889 2014-05-22 13:54:15Z msweet $"
+ * "$Id: ipp-var.c 12701 2015-06-08 18:33:44Z msweet $"
*
* CGI <-> IPP variable routines for CUPS.
*
- * Copyright 2007-2014 by Apple Inc.
+ * Copyright 2007-2015 by Apple Inc.
* Copyright 1997-2007 by Easy Software Products.
*
* These coded instructions, statements, and computer programs are the
@@ -1202,21 +1202,7 @@ cgiSetIPPObjectVars(
* Rewrite URIs...
*/
- if (!strcmp(name, "member_uris"))
- {
- char url[1024]; /* URL for class member... */
-
-
- cgiRewriteURL(attr->values[i].string.text, url,
- sizeof(url), NULL);
-
- snprintf(valptr, sizeof(value) - (size_t)(valptr - value),
- "<A HREF=\"%s\">%s</A>", url,
- strrchr(attr->values[i].string.text, '/') + 1);
- }
- else
- cgiRewriteURL(attr->values[i].string.text, valptr,
- (int)(sizeof(value) - (size_t)(valptr - value)), NULL);
+ cgiRewriteURL(attr->values[i].string.text, valptr, (int)(sizeof(value) - (size_t)(valptr - value)), NULL);
break;
}
@@ -1561,5 +1547,5 @@ cgiText(const char *message) /* I - Message */
/*
- * End of "$Id: ipp-var.c 11889 2014-05-22 13:54:15Z msweet $".
+ * End of "$Id: ipp-var.c 12701 2015-06-08 18:33:44Z msweet $".
*/
diff --git a/cgi-bin/template.c b/cgi-bin/template.c
index 88343bd28..fefc489ff 100644
--- a/cgi-bin/template.c
+++ b/cgi-bin/template.c
@@ -1,9 +1,9 @@
/*
- * "$Id: template.c 11685 2014-03-05 20:03:29Z msweet $"
+ * "$Id: template.c 12701 2015-06-08 18:33:44Z msweet $"
*
* CGI template function.
*
- * Copyright 2007-2014 by Apple Inc.
+ * Copyright 2007-2015 by Apple Inc.
* Copyright 1997-2006 by Easy Software Products.
*
* These coded instructions, statements, and computer programs are the
@@ -648,39 +648,7 @@ cgi_puts(const char *s, /* I - String to output */
while (*s)
{
if (*s == '<')
- {
- /*
- * Pass <A HREF="url"> and </A>, otherwise quote it...
- */
-
- if (!_cups_strncasecmp(s, "<A HREF=\"", 9))
- {
- fputs("<A HREF=\"", out);
- s += 9;
-
- while (*s && *s != '\"')
- {
- if (*s == '&')
- fputs("&amp;", out);
- else
- putc(*s, out);
-
- s ++;
- }
-
- if (*s)
- s ++;
-
- fputs("\">", out);
- }
- else if (!_cups_strncasecmp(s, "</A>", 4))
- {
- fputs("</A>", out);
- s += 3;
- }
- else
- fputs("&lt;", out);
- }
+ fputs("&lt;", out);
else if (*s == '>')
fputs("&gt;", out);
else if (*s == '\"')
@@ -718,5 +686,5 @@ cgi_puturi(const char *s, /* I - String to output */
/*
- * End of "$Id: template.c 11685 2014-03-05 20:03:29Z msweet $".
+ * End of "$Id: template.c 12701 2015-06-08 18:33:44Z msweet $".
*/
diff --git a/config-scripts/cups-common.m4 b/config-scripts/cups-common.m4
index 495cc0b7d..d2c881576 100644
--- a/config-scripts/cups-common.m4
+++ b/config-scripts/cups-common.m4
@@ -20,7 +20,7 @@ dnl Set the name of the config header file...
AC_CONFIG_HEADER(config.h)
dnl Version number information...
-CUPS_VERSION=2.0.2
+CUPS_VERSION=2.0.3
CUPS_REVISION=
#if test -z "$CUPS_REVISION" -a -d .svn; then
# CUPS_REVISION="-r`svnversion . | awk -F: '{print $NF}' | sed -e '1,$s/[[a-zA-Z]]*//g'`"
diff --git a/configure b/configure
index 1b36f7209..9233327ab 100755
--- a/configure
+++ b/configure
@@ -1,9 +1,11 @@
#! /bin/sh
# Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.69.
+# Generated by GNU Autoconf 2.68.
#
#
-# Copyright (C) 1992-1996, 1998-2012 Free Software Foundation, Inc.
+# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
+# 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software
+# Foundation, Inc.
#
#
# This configure script is free software; the Free Software Foundation
@@ -132,31 +134,6 @@ export LANGUAGE
# CDPATH.
(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
-# Use a proper internal environment variable to ensure we don't fall
- # into an infinite loop, continuously re-executing ourselves.
- if test x"${_as_can_reexec}" != xno && test "x$CONFIG_SHELL" != x; then
- _as_can_reexec=no; export _as_can_reexec;
- # We cannot yet assume a decent shell, so we have to provide a
-# neutralization value for shells without unset; and this also
-# works around shells that cannot unset nonexistent variables.
-# Preserve -v and -x to the replacement shell.
-BASH_ENV=/dev/null
-ENV=/dev/null
-(unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV
-case $- in # ((((
- *v*x* | *x*v* ) as_opts=-vx ;;
- *v* ) as_opts=-v ;;
- *x* ) as_opts=-x ;;
- * ) as_opts= ;;
-esac
-exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"}
-# Admittedly, this is quite paranoid, since all the known shells bail
-# out after a failed `exec'.
-$as_echo "$0: could not re-execute with $CONFIG_SHELL" >&2
-as_fn_exit 255
- fi
- # We don't want this to propagate to other subprocesses.
- { _as_can_reexec=; unset _as_can_reexec;}
if test "x$CONFIG_SHELL" = x; then
as_bourne_compatible="if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then :
emulate sh
@@ -190,8 +167,7 @@ if ( set x; as_fn_ret_success y && test x = \"\$1\" ); then :
else
exitcode=1; echo positional parameters were not saved.
fi
-test x\$exitcode = x0 || exit 1
-test -x / || exit 1"
+test x\$exitcode = x0 || exit 1"
as_suggested=" as_lineno_1=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_1a=\$LINENO
as_lineno_2=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_2a=\$LINENO
eval 'test \"x\$as_lineno_1'\$as_run'\" != \"x\$as_lineno_2'\$as_run'\" &&
@@ -236,25 +212,21 @@ IFS=$as_save_IFS
if test "x$CONFIG_SHELL" != x; then :
- export CONFIG_SHELL
- # We cannot yet assume a decent shell, so we have to provide a
-# neutralization value for shells without unset; and this also
-# works around shells that cannot unset nonexistent variables.
-# Preserve -v and -x to the replacement shell.
-BASH_ENV=/dev/null
-ENV=/dev/null
-(unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV
-case $- in # ((((
- *v*x* | *x*v* ) as_opts=-vx ;;
- *v* ) as_opts=-v ;;
- *x* ) as_opts=-x ;;
- * ) as_opts= ;;
-esac
-exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"}
-# Admittedly, this is quite paranoid, since all the known shells bail
-# out after a failed `exec'.
-$as_echo "$0: could not re-execute with $CONFIG_SHELL" >&2
-exit 255
+ # We cannot yet assume a decent shell, so we have to provide a
+ # neutralization value for shells without unset; and this also
+ # works around shells that cannot unset nonexistent variables.
+ # Preserve -v and -x to the replacement shell.
+ BASH_ENV=/dev/null
+ ENV=/dev/null
+ (unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV
+ export CONFIG_SHELL
+ case $- in # ((((
+ *v*x* | *x*v* ) as_opts=-vx ;;
+ *v* ) as_opts=-v ;;
+ *x* ) as_opts=-x ;;
+ * ) as_opts= ;;
+ esac
+ exec "$CONFIG_SHELL" $as_opts "$as_myself" ${1+"$@"}
fi
if test x$as_have_required = xno; then :
@@ -356,14 +328,6 @@ $as_echo X"$as_dir" |
} # as_fn_mkdir_p
-
-# as_fn_executable_p FILE
-# -----------------------
-# Test if FILE is an executable regular file.
-as_fn_executable_p ()
-{
- test -f "$1" && test -x "$1"
-} # as_fn_executable_p
# as_fn_append VAR VALUE
# ----------------------
# Append the text in VALUE to the end of the definition contained in VAR. Take
@@ -485,10 +449,6 @@ as_cr_alnum=$as_cr_Letters$as_cr_digits
chmod +x "$as_me.lineno" ||
{ $as_echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2; as_fn_exit 1; }
- # If we had to re-execute with $CONFIG_SHELL, we're ensured to have
- # already done that, so ensure we don't try to do so again and fall
- # in an infinite loop. This has already happened in practice.
- _as_can_reexec=no; export _as_can_reexec
# Don't try to exec as it changes $[0], causing all sort of problems
# (the dirname of $[0] is not the place where we might find the
# original and so on. Autoconf is especially sensitive to this).
@@ -523,16 +483,16 @@ if (echo >conf$$.file) 2>/dev/null; then
# ... but there are two gotchas:
# 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
# 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
- # In both cases, we have to default to `cp -pR'.
+ # In both cases, we have to default to `cp -p'.
ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
- as_ln_s='cp -pR'
+ as_ln_s='cp -p'
elif ln conf$$.file conf$$ 2>/dev/null; then
as_ln_s=ln
else
- as_ln_s='cp -pR'
+ as_ln_s='cp -p'
fi
else
- as_ln_s='cp -pR'
+ as_ln_s='cp -p'
fi
rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file
rmdir conf$$.dir 2>/dev/null
@@ -544,8 +504,28 @@ else
as_mkdir_p=false
fi
-as_test_x='test -x'
-as_executable_p=as_fn_executable_p
+if test -x / >/dev/null 2>&1; then
+ as_test_x='test -x'
+else
+ if ls -dL / >/dev/null 2>&1; then
+ as_ls_L_option=L
+ else
+ as_ls_L_option=
+ fi
+ as_test_x='
+ eval sh -c '\''
+ if test -d "$1"; then
+ test -d "$1/.";
+ else
+ case $1 in #(
+ -*)set "./$1";;
+ esac;
+ case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in #((
+ ???[sx]*):;;*)false;;esac;fi
+ '\'' sh
+ '
+fi
+as_executable_p=$as_test_x
# Sed expression to map a string onto a valid CPP name.
as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
@@ -1378,6 +1358,8 @@ target=$target_alias
if test "x$host_alias" != x; then
if test "x$build_alias" = x; then
cross_compiling=maybe
+ $as_echo "$as_me: WARNING: if you wanted to set the --build type, don't use --host.
+ If a cross compiler is detected then cross compile mode will be used" >&2
elif test "x$build_alias" != "x$host_alias"; then
cross_compiling=yes
fi
@@ -1701,9 +1683,9 @@ test -n "$ac_init_help" && exit $ac_status
if $ac_init_version; then
cat <<\_ACEOF
configure
-generated by GNU Autoconf 2.69
+generated by GNU Autoconf 2.68
-Copyright (C) 2012 Free Software Foundation, Inc.
+Copyright (C) 2010 Free Software Foundation, Inc.
This configure script is free software; the Free Software Foundation
gives unlimited permission to copy, distribute and modify it.
_ACEOF
@@ -1854,7 +1836,7 @@ $as_echo "$ac_try_echo"; } >&5
test ! -s conftest.err
} && test -s conftest$ac_exeext && {
test "$cross_compiling" = yes ||
- test -x conftest$ac_exeext
+ $as_test_x conftest$ac_exeext
}; then :
ac_retval=0
else
@@ -2161,7 +2143,7 @@ This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.
It was created by $as_me, which was
-generated by GNU Autoconf 2.69. Invocation command line was
+generated by GNU Autoconf 2.68. Invocation command line was
$ $0 $@
@@ -2537,7 +2519,7 @@ esac
ac_config_headers="$ac_config_headers config.h"
-CUPS_VERSION=2.0.2
+CUPS_VERSION=2.0.3
CUPS_REVISION=
#if test -z "$CUPS_REVISION" -a -d .svn; then
# CUPS_REVISION="-r`svnversion . | awk -F: '{print $NF}' | sed -e '1,$s/[[a-zA-Z]]*//g'`"
@@ -2586,7 +2568,7 @@ do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
ac_cv_prog_AWK="$ac_prog"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
@@ -2634,7 +2616,7 @@ do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
ac_cv_prog_CC="$ac_tool_prefix$ac_prog"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
@@ -2678,7 +2660,7 @@ do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
ac_cv_prog_ac_ct_CC="$ac_prog"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
@@ -3122,7 +3104,8 @@ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#include <stdarg.h>
#include <stdio.h>
-struct stat;
+#include <sys/types.h>
+#include <sys/stat.h>
/* Most of the following tests are stolen from RCS 5.7's src/conf.sh. */
struct buf { int x; };
FILE * (*rcsopen) (struct buf *, struct stat *, int);
@@ -3372,7 +3355,7 @@ do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
ac_cv_prog_CXX="$ac_tool_prefix$ac_prog"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
@@ -3416,7 +3399,7 @@ do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
ac_cv_prog_ac_ct_CXX="$ac_prog"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
@@ -3618,7 +3601,7 @@ do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
@@ -3658,7 +3641,7 @@ do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
ac_cv_prog_ac_ct_RANLIB="ranlib"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
@@ -3711,7 +3694,7 @@ do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
ac_cv_path_AR="$as_dir/$ac_word$ac_exec_ext"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
@@ -3751,7 +3734,7 @@ do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
ac_cv_path_CHMOD="$as_dir/$ac_word$ac_exec_ext"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
@@ -3791,7 +3774,7 @@ do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
ac_cv_path_GZIP="$as_dir/$ac_word$ac_exec_ext"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
@@ -3831,7 +3814,7 @@ do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
ac_cv_path_LD="$as_dir/$ac_word$ac_exec_ext"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
@@ -3871,7 +3854,7 @@ do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
ac_cv_path_LN="$as_dir/$ac_word$ac_exec_ext"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
@@ -3911,7 +3894,7 @@ do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
ac_cv_path_MV="$as_dir/$ac_word$ac_exec_ext"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
@@ -3951,7 +3934,7 @@ do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
ac_cv_path_RM="$as_dir/$ac_word$ac_exec_ext"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
@@ -3991,7 +3974,7 @@ do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
ac_cv_path_RMDIR="$as_dir/$ac_word$ac_exec_ext"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
@@ -4031,7 +4014,7 @@ do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
ac_cv_path_SED="$as_dir/$ac_word$ac_exec_ext"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
@@ -4071,7 +4054,7 @@ do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
ac_cv_path_XDGOPEN="$as_dir/$ac_word$ac_exec_ext"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
@@ -4147,7 +4130,7 @@ do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
ac_cv_path_PKGCONFIG="$as_dir/$ac_word$ac_exec_ext"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
@@ -4190,7 +4173,7 @@ do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
ac_cv_path_ac_pt_PKGCONFIG="$as_dir/$ac_word$ac_exec_ext"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
@@ -4600,7 +4583,7 @@ do
for ac_prog in grep ggrep; do
for ac_exec_ext in '' $ac_executable_extensions; do
ac_path_GREP="$as_dir/$ac_prog$ac_exec_ext"
- as_fn_executable_p "$ac_path_GREP" || continue
+ { test -f "$ac_path_GREP" && $as_test_x "$ac_path_GREP"; } || continue
# Check for GNU ac_path_GREP and select it if it is found.
# Check for GNU $ac_path_GREP
case `"$ac_path_GREP" --version 2>&1` in
@@ -4666,7 +4649,7 @@ do
for ac_prog in egrep; do
for ac_exec_ext in '' $ac_executable_extensions; do
ac_path_EGREP="$as_dir/$ac_prog$ac_exec_ext"
- as_fn_executable_p "$ac_path_EGREP" || continue
+ { test -f "$ac_path_EGREP" && $as_test_x "$ac_path_EGREP"; } || continue
# Check for GNU ac_path_EGREP and select it if it is found.
# Check for GNU $ac_path_EGREP
case `"$ac_path_EGREP" --version 2>&1` in
@@ -7598,7 +7581,7 @@ do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
ac_cv_path_KRB5CONFIG="$as_dir/$ac_word$ac_exec_ext"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
@@ -7641,7 +7624,7 @@ do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
ac_cv_path_ac_pt_KRB5CONFIG="$as_dir/$ac_word$ac_exec_ext"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
@@ -8190,7 +8173,7 @@ do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
ac_cv_path_LIBGNUTLSCONFIG="$as_dir/$ac_word$ac_exec_ext"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
@@ -8233,7 +8216,7 @@ do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
ac_cv_path_ac_pt_LIBGNUTLSCONFIG="$as_dir/$ac_word$ac_exec_ext"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
@@ -8288,7 +8271,7 @@ do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
ac_cv_path_LIBGCRYPTCONFIG="$as_dir/$ac_word$ac_exec_ext"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
@@ -8331,7 +8314,7 @@ do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
ac_cv_path_ac_pt_LIBGCRYPTCONFIG="$as_dir/$ac_word$ac_exec_ext"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
@@ -8892,8 +8875,6 @@ _ACEOF
esac
rm -rf conftest*
fi
-
-
fi
@@ -9891,7 +9872,7 @@ do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
ac_cv_path_JAVA="$as_dir/$ac_word$ac_exec_ext"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
@@ -9954,7 +9935,7 @@ do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
ac_cv_path_PERL="$as_dir/$ac_word$ac_exec_ext"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
@@ -10017,7 +9998,7 @@ do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
ac_cv_path_PHPCGI="$as_dir/$ac_word$ac_exec_ext"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
@@ -10058,7 +10039,7 @@ do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
ac_cv_path_PHP="$as_dir/$ac_word$ac_exec_ext"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
@@ -10126,7 +10107,7 @@ do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
ac_cv_path_PYTHON="$as_dir/$ac_word$ac_exec_ext"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
@@ -10595,16 +10576,16 @@ if (echo >conf$$.file) 2>/dev/null; then
# ... but there are two gotchas:
# 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
# 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
- # In both cases, we have to default to `cp -pR'.
+ # In both cases, we have to default to `cp -p'.
ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
- as_ln_s='cp -pR'
+ as_ln_s='cp -p'
elif ln conf$$.file conf$$ 2>/dev/null; then
as_ln_s=ln
else
- as_ln_s='cp -pR'
+ as_ln_s='cp -p'
fi
else
- as_ln_s='cp -pR'
+ as_ln_s='cp -p'
fi
rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file
rmdir conf$$.dir 2>/dev/null
@@ -10664,16 +10645,28 @@ else
as_mkdir_p=false
fi
-
-# as_fn_executable_p FILE
-# -----------------------
-# Test if FILE is an executable regular file.
-as_fn_executable_p ()
-{
- test -f "$1" && test -x "$1"
-} # as_fn_executable_p
-as_test_x='test -x'
-as_executable_p=as_fn_executable_p
+if test -x / >/dev/null 2>&1; then
+ as_test_x='test -x'
+else
+ if ls -dL / >/dev/null 2>&1; then
+ as_ls_L_option=L
+ else
+ as_ls_L_option=
+ fi
+ as_test_x='
+ eval sh -c '\''
+ if test -d "$1"; then
+ test -d "$1/.";
+ else
+ case $1 in #(
+ -*)set "./$1";;
+ esac;
+ case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in #((
+ ???[sx]*):;;*)false;;esac;fi
+ '\'' sh
+ '
+fi
+as_executable_p=$as_test_x
# Sed expression to map a string onto a valid CPP name.
as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
@@ -10695,7 +10688,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
# values after options handling.
ac_log="
This file was extended by $as_me, which was
-generated by GNU Autoconf 2.69. Invocation command line was
+generated by GNU Autoconf 2.68. Invocation command line was
CONFIG_FILES = $CONFIG_FILES
CONFIG_HEADERS = $CONFIG_HEADERS
@@ -10757,10 +10750,10 @@ cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
ac_cs_version="\\
config.status
-configured by $0, generated by GNU Autoconf 2.69,
+configured by $0, generated by GNU Autoconf 2.68,
with options \\"\$ac_cs_config\\"
-Copyright (C) 2012 Free Software Foundation, Inc.
+Copyright (C) 2010 Free Software Foundation, Inc.
This config.status script is free software; the Free Software Foundation
gives unlimited permission to copy, distribute and modify it."
@@ -10849,7 +10842,7 @@ fi
_ACEOF
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
if \$ac_cs_recheck; then
- set X $SHELL '$0' $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion
+ set X '$SHELL' '$0' $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion
shift
\$as_echo "running CONFIG_SHELL=$SHELL \$*" >&6
CONFIG_SHELL='$SHELL'
diff --git a/cups/cups.h b/cups/cups.h
index aeb7ca9c0..50e27284b 100644
--- a/cups/cups.h
+++ b/cups/cups.h
@@ -1,9 +1,9 @@
/*
- * "$Id: cups.h 12266 2014-11-19 16:05:28Z msweet $"
+ * "$Id: cups.h 12704 2015-06-08 19:08:01Z msweet $"
*
* API definitions for CUPS.
*
- * Copyright 2007-2014 by Apple Inc.
+ * Copyright 2007-2015 by Apple Inc.
* Copyright 1997-2007 by Easy Software Products.
*
* These coded instructions, statements, and computer programs are the
@@ -49,10 +49,10 @@ extern "C" {
* Constants...
*/
-# define CUPS_VERSION 2.0002
+# define CUPS_VERSION 2.0003
# define CUPS_VERSION_MAJOR 2
# define CUPS_VERSION_MINOR 0
-# define CUPS_VERSION_PATCH 2
+# define CUPS_VERSION_PATCH 3
# define CUPS_BC_FD 3
/* Back-channel file descriptor for
@@ -628,5 +628,5 @@ extern int cupsSetServerCredentials(const char *path, const char *common_name,
#endif /* !_CUPS_CUPS_H_ */
/*
- * End of "$Id: cups.h 12266 2014-11-19 16:05:28Z msweet $".
+ * End of "$Id: cups.h 12704 2015-06-08 19:08:01Z msweet $".
*/
diff --git a/cups/dest.c b/cups/dest.c
index 9e88aede6..384105ffb 100644
--- a/cups/dest.c
+++ b/cups/dest.c
@@ -1,9 +1,9 @@
/*
- * "$Id: dest.c 12094 2014-08-19 12:15:11Z msweet $"
+ * "$Id: dest.c 12665 2015-05-25 15:08:55Z msweet $"
*
* User-defined destination (and option) support for CUPS.
*
- * Copyright 2007-2014 by Apple Inc.
+ * Copyright 2007-2015 by Apple Inc.
* Copyright 1997-2007 by Easy Software Products.
*
* These coded instructions, statements, and computer programs are the
@@ -657,6 +657,7 @@ cupsConnectDest(
http = httpConnect2(hostname, port, addrlist, AF_UNSPEC, encryption, 1, 0,
NULL);
+ httpAddrFreeList(addrlist);
/*
* Connect if requested...
@@ -3942,5 +3943,5 @@ cups_make_string(
/*
- * End of "$Id: dest.c 12094 2014-08-19 12:15:11Z msweet $".
+ * End of "$Id: dest.c 12665 2015-05-25 15:08:55Z msweet $".
*/
diff --git a/cups/file.c b/cups/file.c
index 8e8a5469f..6c6b8492e 100644
--- a/cups/file.c
+++ b/cups/file.c
@@ -1,5 +1,5 @@
/*
- * "$Id: file.c 12297 2014-12-08 19:26:32Z msweet $"
+ * "$Id: file.c 12642 2015-05-19 15:04:47Z msweet $"
*
* File functions for CUPS.
*
@@ -8,7 +8,7 @@
* our own file functions allows us to provide transparent support of
* gzip'd print files, PPD files, etc.
*
- * Copyright 2007-2014 by Apple Inc.
+ * Copyright 2007-2015 by Apple Inc.
* Copyright 1997-2007 by Easy Software Products, all rights reserved.
*
* These coded instructions, statements, and computer programs are the
@@ -639,6 +639,8 @@ cupsFileGetChar(cups_file_t *fp) /* I - CUPS file */
* Range check input...
*/
+ DEBUG_printf(("4cupsFileGetChar(fp=%p)", fp));
+
if (!fp || (fp->mode != 'r' && fp->mode != 's'))
{
DEBUG_puts("5cupsFileGetChar: Bad arguments!");
@@ -649,8 +651,10 @@ cupsFileGetChar(cups_file_t *fp) /* I - CUPS file */
* If the input buffer is empty, try to read more data...
*/
+ DEBUG_printf(("5cupsFileGetChar: fp->eof=%d, fp->ptr=%p, fp->end=%p", fp->eof, fp->ptr, fp->end));
+
if (fp->ptr >= fp->end)
- if (cups_fill(fp) < 0)
+ if (cups_fill(fp) <= 0)
{
DEBUG_puts("5cupsFileGetChar: Unable to fill buffer!");
return (-1);
@@ -1284,7 +1288,7 @@ cupsFilePeekChar(cups_file_t *fp) /* I - CUPS file */
*/
if (fp->ptr >= fp->end)
- if (cups_fill(fp) < 0)
+ if (cups_fill(fp) <= 0)
return (-1);
/*
@@ -1779,7 +1783,7 @@ cupsFileSeek(cups_file_t *fp, /* I - CUPS file */
* Preload a buffer to determine whether the file is compressed...
*/
- if (cups_fill(fp) < 0)
+ if (cups_fill(fp) <= 0)
return (-1);
}
#endif /* HAVE_LIBZ */
@@ -2195,6 +2199,8 @@ cups_fill(cups_file_t *fp) /* I - CUPS file */
DEBUG_printf(("9cups_fill: cups_read() returned " CUPS_LLFMT,
CUPS_LLCAST bytes));
+ fp->eof = 1;
+
return (-1);
}
@@ -2234,6 +2240,11 @@ cups_fill(cups_file_t *fp) /* I - CUPS file */
* Can't read from file!
*/
+ DEBUG_puts("9cups_fill: Extra gzip header data missing, returning -1.");
+
+ fp->eof = 1;
+ errno = EIO;
+
return (-1);
}
@@ -2246,6 +2257,11 @@ cups_fill(cups_file_t *fp) /* I - CUPS file */
* Can't read from file!
*/
+ DEBUG_puts("9cups_fill: Extra gzip header data does not fit in initial buffer, returning -1.");
+
+ fp->eof = 1;
+ errno = EIO;
+
return (-1);
}
}
@@ -2267,6 +2283,11 @@ cups_fill(cups_file_t *fp) /* I - CUPS file */
* Can't read from file!
*/
+ DEBUG_puts("9cups_fill: Original filename in gzip header data does not fit in initial buffer, returning -1.");
+
+ fp->eof = 1;
+ errno = EIO;
+
return (-1);
}
}
@@ -2288,6 +2309,11 @@ cups_fill(cups_file_t *fp) /* I - CUPS file */
* Can't read from file!
*/
+ DEBUG_puts("9cups_fill: Comment in gzip header data does not fit in initial buffer, returning -1.");
+
+ fp->eof = 1;
+ errno = EIO;
+
return (-1);
}
}
@@ -2306,6 +2332,11 @@ cups_fill(cups_file_t *fp) /* I - CUPS file */
* Can't read from file!
*/
+ DEBUG_puts("9cups_fill: Header CRC in gzip header data does not fit in initial buffer, returning -1.");
+
+ fp->eof = 1;
+ errno = EIO;
+
return (-1);
}
}
@@ -2330,8 +2361,15 @@ cups_fill(cups_file_t *fp) /* I - CUPS file */
fp->stream.avail_out = 0;
fp->crc = crc32(0L, Z_NULL, 0);
- if (inflateInit2(&(fp->stream), -15) != Z_OK)
+ if ((status = inflateInit2(&(fp->stream), -15)) != Z_OK)
+ {
+ DEBUG_printf(("9cups_fill: inflateInit2 returned %d, returning -1.", status));
+
+ fp->eof = 1;
+ errno = EIO;
+
return (-1);
+ }
fp->compressed = 1;
}
@@ -2343,7 +2381,11 @@ cups_fill(cups_file_t *fp) /* I - CUPS file */
*/
if (fp->eof)
- return (-1);
+ {
+ DEBUG_puts("9cups_fill: EOF, returning 0.");
+
+ return (0);
+ }
/*
* Fill the decompression buffer as needed...
@@ -2352,7 +2394,13 @@ cups_fill(cups_file_t *fp) /* I - CUPS file */
if (fp->stream.avail_in == 0)
{
if ((bytes = cups_read(fp, (char *)fp->cbuf, sizeof(fp->cbuf))) <= 0)
- return (-1);
+ {
+ DEBUG_printf(("9cups_fill: cups_read error, returning %d.", (int)bytes));
+
+ fp->eof = 1;
+
+ return (bytes);
+ }
fp->stream.next_in = fp->cbuf;
fp->stream.avail_in = (uInt)bytes;
@@ -2379,42 +2427,69 @@ cups_fill(cups_file_t *fp) /* I - CUPS file */
unsigned char trailer[8]; /* Trailer bytes */
uLong tcrc; /* Trailer CRC */
+ ssize_t tbytes = 0; /* Number of bytes */
-
- if (read(fp->fd, trailer, sizeof(trailer)) < (ssize_t)sizeof(trailer))
+ if (fp->stream.avail_in > 0)
{
- /*
- * Can't get it, so mark end-of-file...
- */
+ if (fp->stream.avail_in > sizeof(trailer))
+ tbytes = (ssize_t)sizeof(trailer);
+ else
+ tbytes = (ssize_t)fp->stream.avail_in;
- fp->eof = 1;
+ memcpy(trailer, fp->stream.next_in, (size_t)tbytes);
+ fp->stream.next_in += tbytes;
+ fp->stream.avail_in -= (size_t)tbytes;
}
- else
- {
- tcrc = ((((((uLong)trailer[3] << 8) | (uLong)trailer[2]) << 8) |
- (uLong)trailer[1]) << 8) | (uLong)trailer[0];
- if (tcrc != fp->crc)
+ if (tbytes < (ssize_t)sizeof(trailer))
+ {
+ if (read(fp->fd, trailer + tbytes, sizeof(trailer) - (size_t)tbytes) < ((ssize_t)sizeof(trailer) - tbytes))
{
/*
- * Bad CRC, mark end-of-file...
+ * Can't get it, so mark end-of-file...
*/
- DEBUG_printf(("9cups_fill: tcrc=%08x != fp->crc=%08x",
- (unsigned int)tcrc, (unsigned int)fp->crc));
+ DEBUG_puts("9cups_fill: Unable to read gzip CRC trailer, returning -1.");
fp->eof = 1;
+ errno = EIO;
return (-1);
}
+ }
+
+ tcrc = ((((((uLong)trailer[3] << 8) | (uLong)trailer[2]) << 8) |
+ (uLong)trailer[1]) << 8) | (uLong)trailer[0];
+ if (tcrc != fp->crc)
+ {
/*
- * Otherwise, reset the compressed flag so that we re-read the
- * file header...
+ * Bad CRC, mark end-of-file...
*/
- fp->compressed = 0;
+ DEBUG_printf(("9cups_fill: tcrc=%08x != fp->crc=%08x, returning -1.", (unsigned int)tcrc, (unsigned int)fp->crc));
+
+ fp->eof = 1;
+ errno = EIO;
+
+ return (-1);
}
+
+ /*
+ * Otherwise, reset the compressed flag so that we re-read the
+ * file header...
+ */
+
+ fp->compressed = 0;
+ }
+ else if (status < Z_OK)
+ {
+ DEBUG_printf(("9cups_fill: inflate returned %d, returning -1.", status));
+
+ fp->eof = 1;
+ errno = EIO;
+
+ return (-1);
}
bytes = (ssize_t)sizeof(fp->buf) - (ssize_t)fp->stream.avail_out;
@@ -2427,7 +2502,10 @@ cups_fill(cups_file_t *fp) /* I - CUPS file */
fp->end = fp->buf + bytes;
if (bytes)
+ {
+ DEBUG_printf(("9cups_fill: Returning %d.", (int)bytes));
return (bytes);
+ }
}
}
#endif /* HAVE_LIBZ */
@@ -2445,17 +2523,19 @@ cups_fill(cups_file_t *fp) /* I - CUPS file */
fp->eof = 1;
fp->ptr = fp->buf;
fp->end = fp->buf;
-
- return (-1);
}
+ else
+ {
+ /*
+ * Return the bytes we read...
+ */
- /*
- * Return the bytes we read...
- */
+ fp->eof = 0;
+ fp->ptr = fp->buf;
+ fp->end = fp->buf + bytes;
+ }
- fp->eof = 0;
- fp->ptr = fp->buf;
- fp->end = fp->buf + bytes;
+ DEBUG_printf(("9cups_fill: Not gzip, returning %d.", (int)bytes));
return (bytes);
}
@@ -2672,5 +2752,5 @@ cups_write(cups_file_t *fp, /* I - CUPS file */
/*
- * End of "$Id: file.c 12297 2014-12-08 19:26:32Z msweet $".
+ * End of "$Id: file.c 12642 2015-05-19 15:04:47Z msweet $".
*/
diff --git a/cups/testfile.c b/cups/testfile.c
index 6543e0a2f..16e52c3e6 100644
--- a/cups/testfile.c
+++ b/cups/testfile.c
@@ -1,9 +1,9 @@
/*
- * "$Id: testfile.c 11558 2014-02-06 18:33:34Z msweet $"
+ * "$Id: testfile.c 12578 2015-03-30 19:07:29Z msweet $"
*
* File test program for CUPS.
*
- * Copyright 2007-2014 by Apple Inc.
+ * Copyright 2007-2015 by Apple Inc.
* Copyright 1997-2007 by Easy Software Products.
*
* These coded instructions, statements, and computer programs are the
@@ -205,14 +205,14 @@ main(int argc, /* I - Number of command-line arguments */
* Cat the filename on the command-line...
*/
- char line[1024]; /* Line from file */
+ char line[8192]; /* Line from file */
if ((fp = cupsFileOpen(argv[1], "r")) == NULL)
{
perror(argv[1]);
status = 1;
}
- else
+ else if (argc == 2)
{
status = 0;
@@ -224,6 +224,21 @@ main(int argc, /* I - Number of command-line arguments */
cupsFileClose(fp);
}
+ else
+ {
+ status = 0;
+ ssize_t bytes;
+
+ while ((bytes = cupsFileRead(fp, line, sizeof(line))) > 0)
+ printf("%s: %d bytes\n", argv[1], (int)bytes);
+
+ if (cupsFileEOF(fp))
+ printf("%s: EOF\n", argv[1]);
+ else
+ perror(argv[1]);
+
+ cupsFileClose(fp);
+ }
}
return (status);
@@ -798,7 +813,8 @@ read_write_tests(int compression) /* I - Use compression? */
* Remove the test file...
*/
- unlink(compression ? "testfile.dat.gz" : "testfile.dat");
+ if (!status)
+ unlink(compression ? "testfile.dat.gz" : "testfile.dat");
/*
* Return the test status...
@@ -809,5 +825,5 @@ read_write_tests(int compression) /* I - Use compression? */
/*
- * End of "$Id: testfile.c 11558 2014-02-06 18:33:34Z msweet $".
+ * End of "$Id: testfile.c 12578 2015-03-30 19:07:29Z msweet $".
*/
diff --git a/cups/testppd.c b/cups/testppd.c
index 65183dbf6..d85810618 100644
--- a/cups/testppd.c
+++ b/cups/testppd.c
@@ -1,5 +1,5 @@
/*
- * "$Id: testppd.c 11594 2014-02-14 20:09:01Z msweet $"
+ * "$Id: testppd.c 12604 2015-05-06 01:43:05Z msweet $"
*
* PPD test program for CUPS.
*
@@ -859,7 +859,19 @@ main(int argc, /* I - Number of command-line arguments */
struct stat fileinfo; /* File information */
- if (!strncmp(argv[1], "-d", 2))
+ if (strchr(argv[1], ':'))
+ {
+ /*
+ * Server PPD...
+ */
+
+ if ((filename = cupsGetServerPPD(CUPS_HTTP_DEFAULT, argv[1])) == NULL)
+ {
+ printf("%s: %s\n", argv[1], cupsLastErrorString());
+ return (1);
+ }
+ }
+ else if (!strncmp(argv[1], "-d", 2))
{
const char *printer; /* Printer name */
@@ -1107,5 +1119,5 @@ main(int argc, /* I - Number of command-line arguments */
/*
- * End of "$Id: testppd.c 11594 2014-02-14 20:09:01Z msweet $".
+ * End of "$Id: testppd.c 12604 2015-05-06 01:43:05Z msweet $".
*/
diff --git a/doc/de/index.html.in b/doc/de/index.html.in
new file mode 100644
index 000000000..c37edd8ae
--- /dev/null
+++ b/doc/de/index.html.in
@@ -0,0 +1,55 @@
+<!DOCTYPE HTML>
+<html>
+ <head>
+ <link rel="stylesheet" href="/cups.css" type="text/css">
+ <link rel="shortcut icon" href="/apple-touch-icon.png" type="image/png">
+ <meta charset="utf-8">
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+ <meta http-equiv="X-UA-Compatible" content="IE=9">
+ <meta name="viewport" content="width=device-width">
+ <title>Home - CUPS @CUPS_VERSION@@CUPS_REVISION@</title>
+ </head>
+ <body>
+ <div class="header">
+ <ul>
+ <li><a href="http://www.cups.org/" target="_blank">CUPS.org</a></li>
+ <li><a class="active" href="/">Home</a></li>
+ <li><a href="/admin">Verwaltung</a></li>
+ <li><a href="/classes/">Klassen</a></li>
+ <li><a href="/help/">Hilfe</a></li>
+ <li><a href="/jobs/">Aufträge</a></li>
+ <li><a href="/printers/">Drucker</a></li>
+ </ul>
+ </div>
+ <div class="body">
+ <div class="row">
+ <h1>CUPS 2.0.2</h1>
+ <p>CUPS basiert auf Standards, Open Source Drucksystem entwickelt durch <a href="http://www.apple.com/">Apple Inc.</a> für OS X<sup>&reg;</sup> und andere UNIX<sup>&reg;</sup>-artige Betriebssysteme.</p>
+ </div>
+ <div class="row">
+ <div class="thirds">
+ <h2>CUPS für Benutzer</h2>
+ <p><a href="help/overview.html">Überblick über CUPS</a></p>
+ <p><a href="help/options.html">Befehlszeilen-Druck und Optionen</a></p>
+ <p><a href="http://www.cups.org/lists.php?LIST=cups">Benutzerforum</a></p>
+ </div>
+ <div class="thirds">
+ <h2>CUPS für Administratoren</h2>
+ <p><a href="admin">Drucker und Klassen hinzufügen</a></p>
+ <p><a href="help/policies.html">Betriebs-Richtlinie festlegen</a></p>
+ <p><a href="help/network.html">Benutzung von Netzwerk-Druckern</a></p>
+ <p><a href="help/man-cupsd.conf.html">cupsd.conf Referenz</a></p>
+ </div>
+ <div class="thirds">
+ <h2>CUPS für Entwickler</h2>
+ <p><a href="help/api-overview.html">Einführung in die CUPS Programmierung</a></p>
+ <p><a href="help/api-cups.html">CUPS API</a></p>
+ <p><a href="help/api-filter.html">Filter und Backend Programmierung</a></p>
+ <p><a href="help/api-httpipp.html">HTTP und IPP APIs</a></p>
+ <p><a href="http://www.cups.org/lists.php?LIST=cups-devel">Entwicklerforum</a></p>
+ </div>
+ </div>
+ </div>
+ <div class="footer">CUPS und das CUPS Logo sind Warenzeichen der <a href="http://www.apple.com">Apple Inc.</a> Copyright &copy; 2007-2015 Apple Inc. Alle Rechte vorbehalten.</div>
+ </body>
+</html>
diff --git a/doc/images/generic.png b/doc/images/generic.png
new file mode 100644
index 000000000..08430fcde
--- /dev/null
+++ b/doc/images/generic.png
Binary files differ
diff --git a/doc/ru/index.html.in b/doc/ru/index.html.in
new file mode 100644
index 000000000..ccbfdde69
--- /dev/null
+++ b/doc/ru/index.html.in
@@ -0,0 +1,56 @@
+<!DOCTYPE HTML>
+<html>
+ <head>
+ <link rel="stylesheet" href="/cups.css" type="text/css">
+ <link rel="shortcut icon" href="/apple-touch-icon.png" type="image/png">
+ <meta charset="utf-8">
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+ <meta http-equiv="X-UA-Compatible" content="IE=9">
+ <meta name="viewport" content="width=device-width">
+ <title>Home - CUPS @CUPS_VERSION@@CUPS_REVISION@</title>
+ </head>
+ <body>
+ <div class="header">
+ <ul>
+ <li><a href="http://www.cups.org/" target="_blank">CUPS.org</a></li>
+ <li><a class="active" href="/">Начало</a></li>
+ <li><a href="/admin">Администрирование</a></li>
+ <li><a href="/classes/">Группы</a></li>
+ <li><a href="/help/">Справка</a></li>
+ <li><a href="/jobs/">Задания</a></li>
+ <li><a href="/printers/">Принтеры</a></li>
+ </ul>
+ </div>
+ <div class="body">
+ <div class="row">
+ <h1>CUPS 2.0.1</h1>
+ <P>CUPS — поддерживающая большинство стандартов, свободная подсистема печати, разрабатываемая компанией <A HREF="http://www.apple.com/">Apple Inc.</A> для операционной системы Mac OS<SUP>&reg;</SUP> X и других UNIX<SUP>&reg;</SUP>-подобных операционных систем.</P>
+ </div>
+ <div class="row">
+ <div class="thirds">
+ <H2>CUPS для пользователей</H2>
+ <P><A HREF="help/overview.html">Введение в CUPS</A></P>
+ <P><A HREF="help/options.html">Печать из командной строки</A></P>
+ <P><A HREF="http://www.cups.org/lists.php?LIST=cups">Форум пользователей</A></P>
+ </div>
+ <div class="thirds">
+ <H2>CUPS для администраторов</H2>
+ <P><A HREF="admin">Добавление принтеров и групп</A></P>
+ <P><A HREF="help/policies.html">Управление доступом</A></P>
+ <P><A HREF="help/network.html">Использование сетевых принтеров</A></P>
+ <p><a href="help/man-cupsd.conf.html">Справочник по cupsd.conf</a></p>
+ </div>
+ <div class="thirds">
+
+ <H2>CUPS для разработчиков</H2>
+ <P><A HREF="help/api-overview.html">Введение в разработку CUPS</A></P>
+ <P><A HREF="help/api-cups.html">CUPS API</A></P>
+ <P><A HREF="help/api-filter.html">Разработка фильтров и модулей</A></P>
+ <P><A HREF="help/api-httpipp.html">API доступа по HTTP и IPP</A></P>
+ <P><A HREF="http://www.cups.org/lists.php?LIST=cups-devel">Форум разработчиков</A></P>
+</div>
+ </div>
+ </div>
+ <div class="footer">CUPS а также логотип CUPS являются зарегистрированными торговыми марками <A HREF="http://www.apple.com">Apple Inc.</A> Авторские права на CUPS принадлежат (2007-2014) компании Apple Inc. Все права защищены.</div>
+ </body>
+</html>
diff --git a/filter/gziptoany.c b/filter/gziptoany.c
index e8e1340d4..a7b5d8933 100644
--- a/filter/gziptoany.c
+++ b/filter/gziptoany.c
@@ -1,9 +1,9 @@
/*
- * "$Id: gziptoany.c 11558 2014-02-06 18:33:34Z msweet $"
+ * "$Id: gziptoany.c 12656 2015-05-22 17:27:37Z msweet $"
*
* GZIP/raw pre-filter for CUPS.
*
- * Copyright 2007-2014 by Apple Inc.
+ * Copyright 2007-2015 by Apple Inc.
* Copyright 1993-2007 by Easy Software Products.
*
* These coded instructions, statements, and computer programs are the
@@ -40,7 +40,7 @@ main(int argc, /* I - Number of command-line arguments */
* Check command-line...
*/
- if (argc != 7)
+ if (argc < 6 || argc > 7)
{
_cupsLangPrintf(stderr,
_("Usage: %s job-id user title copies options [file]"),
@@ -62,8 +62,14 @@ main(int argc, /* I - Number of command-line arguments */
* Open the file...
*/
- if ((fp = cupsFileOpen(argv[6], "r")) == NULL)
+ if (argc == 6)
{
+ copies = 1;
+ fp = cupsFileStdin();
+ }
+ else if ((fp = cupsFileOpen(argv[6], "r")) == NULL)
+ {
+ fprintf(stderr, "DEBUG: Unable to open \"%s\".\n", argv[6]);
_cupsLangPrintError("ERROR", _("Unable to open print file"));
return (1);
}
@@ -85,7 +91,8 @@ main(int argc, /* I - Number of command-line arguments */
_cupsLangPrintFilter(stderr, "ERROR",
_("Unable to write uncompressed print data: %s"),
strerror(errno));
- cupsFileClose(fp);
+ if (argc == 7)
+ cupsFileClose(fp);
return (1);
}
@@ -97,12 +104,13 @@ main(int argc, /* I - Number of command-line arguments */
* Close the file and return...
*/
- cupsFileClose(fp);
+ if (argc == 7)
+ cupsFileClose(fp);
return (0);
}
/*
- * End of "$Id: gziptoany.c 11558 2014-02-06 18:33:34Z msweet $".
+ * End of "$Id: gziptoany.c 12656 2015-05-22 17:27:37Z msweet $".
*/
diff --git a/filter/pstops.c b/filter/pstops.c
index 987330fa6..f5560235b 100644
--- a/filter/pstops.c
+++ b/filter/pstops.c
@@ -1,9 +1,9 @@
/*
- * "$Id: pstops.c 12358 2014-12-11 17:42:22Z msweet $"
+ * "$Id: pstops.c 12656 2015-05-22 17:27:37Z msweet $"
*
* PostScript filter for CUPS.
*
- * Copyright 2007-2014 by Apple Inc.
+ * Copyright 2007-2015 by Apple Inc.
* Copyright 1993-2007 by Easy Software Products.
*
* These coded instructions, statements, and computer programs are the
@@ -265,7 +265,11 @@ main(int argc, /* I - Number of command-line args */
if ((fp = cupsFileOpen(argv[6], "r")) == NULL)
{
if (!JobCanceled)
+ {
+ fprintf(stderr, "DEBUG: Unable to open \"%s\".\n", argv[6]);
_cupsLangPrintError("ERROR", _("Unable to open print file"));
+ }
+
return (1);
}
}
@@ -3401,5 +3405,5 @@ write_options(
/*
- * End of "$Id: pstops.c 12358 2014-12-11 17:42:22Z msweet $".
+ * End of "$Id: pstops.c 12656 2015-05-22 17:27:37Z msweet $".
*/
diff --git a/filter/raster.c b/filter/raster.c
index 819724873..97c470b6d 100644
--- a/filter/raster.c
+++ b/filter/raster.c
@@ -1,5 +1,5 @@
/*
- * "$Id: raster.c 12453 2015-01-30 15:42:19Z msweet $"
+ * "$Id: raster.c 12679 2015-05-28 19:09:57Z msweet $"
*
* Raster file routines for CUPS.
*
@@ -706,14 +706,10 @@ cupsRasterWriteHeader2(
fh.cupsInteger[0] = htonl(r->header.cupsInteger[0]);
fh.cupsInteger[1] = htonl(r->header.cupsInteger[1]);
fh.cupsInteger[2] = htonl(r->header.cupsInteger[2]);
- fh.cupsInteger[3] = htonl((unsigned)(r->header.cupsImagingBBox[0] *
- r->header.HWResolution[0]));
- fh.cupsInteger[4] = htonl((unsigned)(r->header.cupsImagingBBox[1] *
- r->header.HWResolution[1]));
- fh.cupsInteger[5] = htonl((unsigned)(r->header.cupsImagingBBox[2] *
- r->header.HWResolution[0]));
- fh.cupsInteger[6] = htonl((unsigned)(r->header.cupsImagingBBox[3] *
- r->header.HWResolution[1]));
+ fh.cupsInteger[3] = htonl((unsigned)(r->header.cupsImagingBBox[0] * r->header.HWResolution[0] / 72.0));
+ fh.cupsInteger[4] = htonl((unsigned)(r->header.cupsImagingBBox[1] * r->header.HWResolution[1] / 72.0));
+ fh.cupsInteger[5] = htonl((unsigned)(r->header.cupsImagingBBox[2] * r->header.HWResolution[0] / 72.0));
+ fh.cupsInteger[6] = htonl((unsigned)(r->header.cupsImagingBBox[3] * r->header.HWResolution[1] / 72.0));
fh.cupsInteger[7] = htonl(0xffffff);
return (cups_raster_io(r, (unsigned char *)&fh, sizeof(fh)) == sizeof(fh));
@@ -970,7 +966,7 @@ cups_raster_read_header(
cups_raster_update(r);
- return (r->header.cupsBytesPerLine != 0 && r->header.cupsHeight != 0 && (r->header.cupsBytesPerLine % r->bpp) == 0);
+ return (r->header.cupsBitsPerPixel != 0 && r->header.cupsBitsPerColor != 0 && r->header.cupsBytesPerLine != 0 && r->header.cupsHeight != 0 && (r->header.cupsBytesPerLine % r->bpp) == 0);
}
@@ -1240,6 +1236,9 @@ cups_raster_update(cups_raster_t *r) /* I - Raster stream */
else
r->bpp = (r->header.cupsBitsPerColor + 7) / 8;
+ if (r->bpp == 0)
+ r->bpp = 1;
+
/*
* Set the number of remaining rows...
*/
@@ -1291,6 +1290,9 @@ cups_raster_write(
*/
count = r->header.cupsBytesPerLine * 2;
+ if (count < 3)
+ count = 3;
+
if ((size_t)count > r->bufsize)
{
if (r->buffer)
@@ -1455,5 +1457,5 @@ cups_write_fd(void *ctx, /* I - File descriptor pointer */
/*
- * End of "$Id: raster.c 12453 2015-01-30 15:42:19Z msweet $".
+ * End of "$Id: raster.c 12679 2015-05-28 19:09:57Z msweet $".
*/
diff --git a/filter/rastertoepson.c b/filter/rastertoepson.c
index 7d4cacd33..cd203416a 100644
--- a/filter/rastertoepson.c
+++ b/filter/rastertoepson.c
@@ -1,9 +1,9 @@
/*
- * "$Id: rastertoepson.c 12124 2014-08-28 15:37:22Z msweet $"
+ * "$Id: rastertoepson.c 12618 2015-05-06 20:28:48Z msweet $"
*
* EPSON ESC/P and ESC/P2 filter for CUPS.
*
- * Copyright 2007-2014 by Apple Inc.
+ * Copyright 2007-2015 by Apple Inc.
* Copyright 1993-2007 by Easy Software Products.
*
* These coded instructions, statements, and computer programs are the
@@ -274,7 +274,7 @@ StartPage(
if (header->cupsCompression || DotBytes)
{
- if ((CompBuffer = calloc(2, header->cupsWidth)) == NULL)
+ if ((CompBuffer = calloc(2, header->cupsWidth + 1)) == NULL)
{
fputs("ERROR: Unable to allocate memory\n", stderr);
exit(1);
@@ -655,13 +655,19 @@ OutputLine(
}
for (width = header->cupsWidth, tempptr = CompBuffer;
- width > 0;
+ width > 1;
width -= 2, tempptr += 2, oddptr += DotBytes * 2,
evenptr += DotBytes * 2)
{
evenptr[0] = tempptr[0];
oddptr[0] = tempptr[1];
}
+
+ if (width == 1)
+ {
+ evenptr[0] = tempptr[0];
+ oddptr[0] = tempptr[1];
+ }
}
else
{
@@ -873,6 +879,9 @@ OutputRows(
putchar(0);
}
+ if (dot_count & 1)
+ putchar(*ptr);
+
/*
* Move the head back and print the odd bytes...
*/
@@ -901,6 +910,9 @@ OutputRows(
putchar(0);
putchar(*ptr);
}
+
+ if (dot_count & 1)
+ putchar(0);
}
else
pwrite(dot_ptr, dot_count);
@@ -1138,5 +1150,5 @@ main(int argc, /* I - Number of command-line arguments */
/*
- * End of "$Id: rastertoepson.c 12124 2014-08-28 15:37:22Z msweet $".
+ * End of "$Id: rastertoepson.c 12618 2015-05-06 20:28:48Z msweet $".
*/
diff --git a/filter/rastertohp.c b/filter/rastertohp.c
index c415b4f39..1178688b0 100644
--- a/filter/rastertohp.c
+++ b/filter/rastertohp.c
@@ -1,9 +1,9 @@
/*
- * "$Id: rastertohp.c 11558 2014-02-06 18:33:34Z msweet $"
+ * "$Id: rastertohp.c 12575 2015-03-26 16:36:54Z msweet $"
*
* Hewlett-Packard Page Control Language filter for CUPS.
*
- * Copyright 2007-2014 by Apple Inc.
+ * Copyright 2007-2015 by Apple Inc.
* Copyright 1993-2007 by Easy Software Products.
*
* These coded instructions, statements, and computer programs are the
@@ -354,7 +354,7 @@ StartPage(ppd_file_t *ppd, /* I - PPD file */
* Allocate memory for a line of graphics...
*/
- if ((Planes[0] = malloc(header->cupsBytesPerLine)) == NULL)
+ if ((Planes[0] = malloc(header->cupsBytesPerLine + NumPlanes)) == NULL)
{
fputs("ERROR: Unable to allocate memory\n", stderr);
exit(1);
@@ -369,7 +369,7 @@ StartPage(ppd_file_t *ppd, /* I - PPD file */
BitBuffer = NULL;
if (header->cupsCompression)
- CompBuffer = malloc(header->cupsBytesPerLine * 2);
+ CompBuffer = malloc(header->cupsBytesPerLine * 2 + 2);
else
CompBuffer = NULL;
}
@@ -871,5 +871,5 @@ main(int argc, /* I - Number of command-line arguments */
/*
- * End of "$Id: rastertohp.c 11558 2014-02-06 18:33:34Z msweet $".
+ * End of "$Id: rastertohp.c 12575 2015-03-26 16:36:54Z msweet $".
*/
diff --git a/filter/rastertopwg.c b/filter/rastertopwg.c
index 529b27f38..aa17478dd 100644
--- a/filter/rastertopwg.c
+++ b/filter/rastertopwg.c
@@ -1,9 +1,9 @@
/*
- * "$Id: rastertopwg.c 11558 2014-02-06 18:33:34Z msweet $"
+ * "$Id: rastertopwg.c 12610 2015-05-06 12:24:54Z msweet $"
*
* CUPS raster to PWG raster format filter for CUPS.
*
- * Copyright 2011, 2014 Apple Inc.
+ * Copyright 2011, 2014-2015 Apple Inc.
*
* These coded instructions, statements, and computer programs are the
* property of Apple Inc. and are protected by Federal copyright law.
@@ -401,6 +401,9 @@ main(int argc, /* I - Number of command-line args */
* Copy raster data...
*/
+ if (linesize < inheader.cupsBytesPerLine)
+ linesize = inheader.cupsBytesPerLine;
+
line = malloc(linesize);
memset(line, white, linesize);
@@ -415,7 +418,14 @@ main(int argc, /* I - Number of command-line args */
for (y = inheader.cupsHeight; y > 0; y --)
{
- cupsRasterReadPixels(inras, line + lineoffset, inheader.cupsBytesPerLine);
+ if (cupsRasterReadPixels(inras, line + lineoffset, inheader.cupsBytesPerLine) != inheader.cupsBytesPerLine)
+ {
+ _cupsLangPrintFilter(stderr, "ERROR", _("Error reading raster data."));
+ fprintf(stderr, "DEBUG: Unable to read line %d for page %d.\n",
+ inheader.cupsHeight - y + page_top + 1, page);
+ return (1);
+ }
+
if (!cupsRasterWritePixels(outras, line, outheader.cupsBytesPerLine))
{
_cupsLangPrintFilter(stderr, "ERROR", _("Error sending raster data."));
@@ -449,5 +459,5 @@ main(int argc, /* I - Number of command-line args */
/*
- * End of "$Id: rastertopwg.c 11558 2014-02-06 18:33:34Z msweet $".
+ * End of "$Id: rastertopwg.c 12610 2015-05-06 12:24:54Z msweet $".
*/
diff --git a/locale/cups_de.po b/locale/cups_de.po
new file mode 100644
index 000000000..be9e42827
--- /dev/null
+++ b/locale/cups_de.po
@@ -0,0 +1,5730 @@
+#
+# "$Id$"
+#
+# Message catalog template for CUPS.
+#
+# Copyright 2007-2012 by Apple Inc.
+# Copyright 2005-2007 by Easy Software Products.
+#
+# These coded instructions, statements, and computer programs are the
+# property of Apple Inc. and are protected by Federal copyright
+# law. Distribution and use rights are outlined in the file "LICENSE.txt"
+# which should have been included with this file. If this file is
+# file is missing or damaged, see the license at "http://www.cups.org/".
+#
+#
+# Notes for Translators:
+#
+# The "checkpo" program located in the "locale" source directory can be used
+# to verify that your translations do not introduce formatting errors or other
+# problems. Run with:
+#
+# cd locale
+# ./checkpo cups_LL.po
+#
+# where "LL" is your locale.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: CUPS 2.0\n"
+"Report-Msgid-Bugs-To: http://www.cups.org/str.php\n"
+"POT-Creation-Date: 2015-05-09 22:25+0100\n"
+"PO-Revision-Date: 2015-05-09 22:25+0100\n"
+"Last-Translator: Joachim Schwender <joachim.schwender@web.de>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: German\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+msgid "\t\t(all)"
+msgstr "\t\t(alle)"
+
+msgid "\t\t(none)"
+msgstr "\t\t(keine)"
+
+#, c-format
+msgid "\t%d entries"
+msgstr "\t%d Einträge"
+
+#, c-format
+msgid "\t%s"
+msgstr ""
+
+msgid "\tAfter fault: continue"
+msgstr "\tNach einem Fehler: fortfahren"
+
+#, c-format
+msgid "\tAlerts: %s"
+msgstr "\Alarme: %s"
+
+msgid "\tBanner required"
+msgstr "\tBanner erforderlich"
+
+msgid "\tCharset sets:"
+msgstr "\tZeichensatz Set:"
+
+msgid "\tConnection: direct"
+msgstr "\tVerbindung: direkt"
+
+msgid "\tConnection: remote"
+msgstr "\tVerbindung: über Netz"
+
+msgid "\tContent types: any"
+msgstr "\tInhaltstypen: beliebig"
+
+msgid "\tDefault page size:"
+msgstr "\tVoreingestellte Seitengrösse:"
+
+msgid "\tDefault pitch:"
+msgstr "\tVoreingestellte Neigung:"
+
+msgid "\tDefault port settings:"
+msgstr "\tVoreingestellte Porteinstellungen:"
+
+#, c-format
+msgid "\tDescription: %s"
+msgstr "\tBeschreibung: %s"
+
+msgid "\tForm mounted:"
+msgstr "\tGeladenes Formblatt"
+
+msgid "\tForms allowed:"
+msgstr "\tErlaubte Formblätter:"
+
+#, c-format
+msgid "\tInterface: %s.ppd"
+msgstr "\tSchnittstelle: %s.ppd"
+
+#, c-format
+msgid "\tInterface: %s/interfaces/%s"
+msgstr "\tSchnittstelle: %s/interfaces/%s"
+
+#, c-format
+msgid "\tInterface: %s/ppd/%s.ppd"
+msgstr "\tSchnittstelle: %s/ppp/%s.ppd"
+
+#, c-format
+msgid "\tLocation: %s"
+msgstr "\tOrt: %s"
+
+msgid "\tOn fault: no alert"
+msgstr "\tBei Fehlern: kein Alarm"
+
+msgid "\tPrinter types: unknown"
+msgstr "\tDruckertypen: unbekannt"
+
+#, c-format
+msgid "\tStatus: %s"
+msgstr "\tStatus: %s"
+
+msgid "\tUsers allowed:"
+msgstr ""
+
+msgid "\tUsers denied:"
+msgstr "\tGesperrte Benutzer:"
+
+msgid "\tdaemon present"
+msgstr ""
+
+msgid "\tno entries"
+msgstr "\tKeine Einträge"
+
+#, c-format
+msgid "\tprinter is on device '%s' speed -1"
+msgstr "\tDrucker ist am Gerät '%s' Geschwindigkeit -1"
+
+msgid "\tprinting is disabled"
+msgstr "\tDrucken ist abgeschaltet"
+
+msgid "\tprinting is enabled"
+msgstr "\tDrucken ist eingeschaltet"
+
+#, c-format
+msgid "\tqueued for %s"
+msgstr "\tin Warteschlange eingereiht für %s"
+
+msgid "\tqueuing is disabled"
+msgstr "\tin Warteschlange einreihen gesperrt"
+
+msgid "\tqueuing is enabled"
+msgstr "\tin Warteschlange einreihen erlaubt"
+
+msgid "\treason unknown"
+msgstr "\tunbekannter Grund"
+
+msgid ""
+"\n"
+" DETAILED CONFORMANCE TEST RESULTS"
+msgstr ""
+
+msgid " Ignore specific warnings."
+msgstr ""
+
+msgid " Issue warnings instead of errors."
+msgstr ""
+
+msgid " REF: Page 15, section 3.1."
+msgstr ""
+
+msgid " REF: Page 15, section 3.2."
+msgstr ""
+
+msgid " REF: Page 19, section 3.3."
+msgstr ""
+
+msgid " REF: Page 20, section 3.4."
+msgstr ""
+
+msgid " REF: Page 27, section 3.5."
+msgstr ""
+
+msgid " REF: Page 42, section 5.2."
+msgstr ""
+
+msgid " REF: Pages 16-17, section 3.2."
+msgstr ""
+
+msgid " REF: Pages 42-45, section 5.2."
+msgstr ""
+
+msgid " REF: Pages 45-46, section 5.2."
+msgstr ""
+
+msgid " REF: Pages 48-49, section 5.2."
+msgstr ""
+
+msgid " REF: Pages 52-54, section 5.2."
+msgstr ""
+
+#, c-format
+msgid " %-39.39s %.0f bytes"
+msgstr ""
+
+#, c-format
+msgid " PASS Default%s"
+msgstr ""
+
+msgid " PASS DefaultImageableArea"
+msgstr ""
+
+msgid " PASS DefaultPaperDimension"
+msgstr ""
+
+msgid " PASS FileVersion"
+msgstr ""
+
+msgid " PASS FormatVersion"
+msgstr ""
+
+msgid " PASS LanguageEncoding"
+msgstr ""
+
+msgid " PASS LanguageVersion"
+msgstr ""
+
+msgid " PASS Manufacturer"
+msgstr ""
+
+msgid " PASS ModelName"
+msgstr ""
+
+msgid " PASS NickName"
+msgstr ""
+
+msgid " PASS PCFileName"
+msgstr ""
+
+msgid " PASS PSVersion"
+msgstr ""
+
+msgid " PASS PageRegion"
+msgstr ""
+
+msgid " PASS PageSize"
+msgstr ""
+
+msgid " PASS Product"
+msgstr ""
+
+msgid " PASS ShortNickName"
+msgstr ""
+
+#, c-format
+msgid " WARN %s has no corresponding options."
+msgstr ""
+
+#, c-format
+msgid ""
+" WARN %s shares a common prefix with %s\n"
+" REF: Page 15, section 3.2."
+msgstr ""
+
+#, c-format
+msgid ""
+" WARN Duplex option keyword %s may not work as expected and should "
+"be named Duplex.\n"
+" REF: Page 122, section 5.17"
+msgstr ""
+
+msgid " WARN File contains a mix of CR, LF, and CR LF line endings."
+msgstr ""
+
+msgid ""
+" WARN LanguageEncoding required by PPD 4.3 spec.\n"
+" REF: Pages 56-57, section 5.3."
+msgstr ""
+
+#, c-format
+msgid " WARN Line %d only contains whitespace."
+msgstr ""
+
+msgid ""
+" WARN Manufacturer required by PPD 4.3 spec.\n"
+" REF: Pages 58-59, section 5.3."
+msgstr ""
+
+msgid ""
+" WARN Non-Windows PPD files should use lines ending with only LF, "
+"not CR LF."
+msgstr ""
+
+#, c-format
+msgid ""
+" WARN Obsolete PPD version %.1f.\n"
+" REF: Page 42, section 5.2."
+msgstr ""
+
+msgid ""
+" WARN PCFileName longer than 8.3 in violation of PPD spec.\n"
+" REF: Pages 61-62, section 5.3."
+msgstr ""
+
+msgid ""
+" WARN PCFileName should contain a unique filename.\n"
+" REF: Pages 61-62, section 5.3."
+msgstr ""
+
+msgid ""
+" WARN Protocols contains PJL but JCL attributes are not set.\n"
+" REF: Pages 78-79, section 5.7."
+msgstr ""
+
+msgid ""
+" WARN Protocols contains both PJL and BCP; expected TBCP.\n"
+" REF: Pages 78-79, section 5.7."
+msgstr ""
+
+msgid ""
+" WARN ShortNickName required by PPD 4.3 spec.\n"
+" REF: Pages 64-65, section 5.3."
+msgstr ""
+
+msgid " cupsaddsmb [options] -a"
+msgstr ""
+
+msgid " cupstestdsc [options] -"
+msgstr ""
+
+msgid " program | cupstestppd [options] -"
+msgstr ""
+
+#, c-format
+msgid ""
+" %s \"%s %s\" conflicts with \"%s %s\"\n"
+" (constraint=\"%s %s %s %s\")."
+msgstr ""
+
+#, c-format
+msgid " %s %s %s does not exist."
+msgstr ""
+
+#, c-format
+msgid " %s %s file \"%s\" has the wrong capitalization."
+msgstr ""
+
+#, c-format
+msgid ""
+" %s Bad %s choice %s.\n"
+" REF: Page 122, section 5.17"
+msgstr ""
+
+#, c-format
+msgid " %s Bad UTF-8 \"%s\" translation string for option %s, choice %s."
+msgstr ""
+
+#, c-format
+msgid " %s Bad UTF-8 \"%s\" translation string for option %s."
+msgstr ""
+
+#, c-format
+msgid " %s Bad cupsFilter value \"%s\"."
+msgstr ""
+
+#, c-format
+msgid " %s Bad cupsFilter2 value \"%s\"."
+msgstr ""
+
+#, c-format
+msgid " %s Bad cupsICCProfile %s."
+msgstr ""
+
+#, c-format
+msgid " %s Bad cupsPreFilter value \"%s\"."
+msgstr ""
+
+#, c-format
+msgid " %s Bad cupsUIConstraints %s: \"%s\""
+msgstr ""
+
+#, c-format
+msgid " %s Bad language \"%s\"."
+msgstr ""
+
+#, c-format
+msgid " %s Bad permissions on %s file \"%s\"."
+msgstr ""
+
+#, c-format
+msgid " %s Bad spelling of %s - should be %s."
+msgstr ""
+
+#, c-format
+msgid " %s Cannot provide both APScanAppPath and APScanAppBundleID."
+msgstr ""
+
+#, c-format
+msgid " %s Default choices conflicting."
+msgstr ""
+
+#, c-format
+msgid " %s Empty cupsUIConstraints %s"
+msgstr ""
+
+#, c-format
+msgid " %s Missing \"%s\" translation string for option %s, choice %s."
+msgstr ""
+
+#, c-format
+msgid " %s Missing \"%s\" translation string for option %s."
+msgstr ""
+
+#, c-format
+msgid " %s Missing %s file \"%s\"."
+msgstr ""
+
+#, c-format
+msgid ""
+" %s Missing REQUIRED PageRegion option.\n"
+" REF: Page 100, section 5.14."
+msgstr ""
+
+#, c-format
+msgid ""
+" %s Missing REQUIRED PageSize option.\n"
+" REF: Page 99, section 5.14."
+msgstr ""
+
+#, c-format
+msgid " %s Missing choice *%s %s in UIConstraints \"*%s %s *%s %s\"."
+msgstr ""
+
+#, c-format
+msgid " %s Missing choice *%s %s in cupsUIConstraints %s: \"%s\""
+msgstr ""
+
+#, c-format
+msgid " %s Missing cupsUIResolver %s"
+msgstr ""
+
+#, c-format
+msgid " %s Missing option %s in UIConstraints \"*%s %s *%s %s\"."
+msgstr ""
+
+#, c-format
+msgid " %s Missing option %s in cupsUIConstraints %s: \"%s\""
+msgstr ""
+
+#, c-format
+msgid " %s No base translation \"%s\" is included in file."
+msgstr ""
+
+#, c-format
+msgid ""
+" %s REQUIRED %s does not define choice None.\n"
+" REF: Page 122, section 5.17"
+msgstr ""
+
+#, c-format
+msgid " %s Size \"%s\" defined for %s but not for %s."
+msgstr ""
+
+#, c-format
+msgid " %s Size \"%s\" has unexpected dimensions (%gx%g)."
+msgstr ""
+
+#, c-format
+msgid " %s Size \"%s\" should be \"%s\"."
+msgstr ""
+
+#, c-format
+msgid " %s Size \"%s\" should be the Adobe standard name \"%s\"."
+msgstr ""
+
+#, c-format
+msgid " %s cupsICCProfile %s hash value collides with %s."
+msgstr ""
+
+#, c-format
+msgid " %s cupsUIResolver %s causes a loop."
+msgstr ""
+
+#, c-format
+msgid ""
+" %s cupsUIResolver %s does not list at least two different options."
+msgstr ""
+
+#, c-format
+msgid ""
+" **FAIL** %s must be 1284DeviceID\n"
+" REF: Page 72, section 5.5"
+msgstr ""
+
+#, c-format
+msgid ""
+" **FAIL** Bad Default%s %s\n"
+" REF: Page 40, section 4.5."
+msgstr ""
+
+#, c-format
+msgid ""
+" **FAIL** Bad DefaultImageableArea %s\n"
+" REF: Page 102, section 5.15."
+msgstr ""
+
+#, c-format
+msgid ""
+" **FAIL** Bad DefaultPaperDimension %s\n"
+" REF: Page 103, section 5.15."
+msgstr ""
+
+#, c-format
+msgid ""
+" **FAIL** Bad FileVersion \"%s\"\n"
+" REF: Page 56, section 5.3."
+msgstr ""
+
+#, c-format
+msgid ""
+" **FAIL** Bad FormatVersion \"%s\"\n"
+" REF: Page 56, section 5.3."
+msgstr ""
+
+msgid ""
+" **FAIL** Bad JobPatchFile attribute in file\n"
+" REF: Page 24, section 3.4."
+msgstr ""
+
+#, c-format
+msgid " **FAIL** Bad LanguageEncoding %s - must be ISOLatin1."
+msgstr ""
+
+#, c-format
+msgid " **FAIL** Bad LanguageVersion %s - must be English."
+msgstr ""
+
+#, c-format
+msgid ""
+" **FAIL** Bad Manufacturer (should be \"%s\")\n"
+" REF: Page 211, table D.1."
+msgstr ""
+
+#, c-format
+msgid ""
+" **FAIL** Bad ModelName - \"%c\" not allowed in string.\n"
+" REF: Pages 59-60, section 5.3."
+msgstr ""
+
+msgid ""
+" **FAIL** Bad PSVersion - not \"(string) int\".\n"
+" REF: Pages 62-64, section 5.3."
+msgstr ""
+
+msgid ""
+" **FAIL** Bad Product - not \"(string)\".\n"
+" REF: Page 62, section 5.3."
+msgstr ""
+
+msgid ""
+" **FAIL** Bad ShortNickName - longer than 31 chars.\n"
+" REF: Pages 64-65, section 5.3."
+msgstr ""
+
+#, c-format
+msgid ""
+" **FAIL** Bad option %s choice %s\n"
+" REF: Page 84, section 5.9"
+msgstr ""
+
+#, c-format
+msgid " **FAIL** Default option code cannot be interpreted: %s"
+msgstr ""
+
+#, c-format
+msgid ""
+" **FAIL** Default translation string for option %s choice %s contains "
+"8-bit characters."
+msgstr ""
+
+#, c-format
+msgid ""
+" **FAIL** Default translation string for option %s contains 8-bit "
+"characters."
+msgstr ""
+
+#, c-format
+msgid " **FAIL** Group names %s and %s differ only by case."
+msgstr ""
+
+#, c-format
+msgid " **FAIL** Multiple occurrences of option %s choice name %s."
+msgstr ""
+
+#, c-format
+msgid " **FAIL** Option %s choice names %s and %s differ only by case."
+msgstr ""
+
+#, c-format
+msgid " **FAIL** Option names %s and %s differ only by case."
+msgstr ""
+
+#, c-format
+msgid ""
+" **FAIL** REQUIRED Default%s\n"
+" REF: Page 40, section 4.5."
+msgstr ""
+
+msgid ""
+" **FAIL** REQUIRED DefaultImageableArea\n"
+" REF: Page 102, section 5.15."
+msgstr ""
+
+msgid ""
+" **FAIL** REQUIRED DefaultPaperDimension\n"
+" REF: Page 103, section 5.15."
+msgstr ""
+
+msgid ""
+" **FAIL** REQUIRED FileVersion\n"
+" REF: Page 56, section 5.3."
+msgstr ""
+
+msgid ""
+" **FAIL** REQUIRED FormatVersion\n"
+" REF: Page 56, section 5.3."
+msgstr ""
+
+#, c-format
+msgid ""
+" **FAIL** REQUIRED ImageableArea for PageSize %s\n"
+" REF: Page 41, section 5.\n"
+" REF: Page 102, section 5.15."
+msgstr ""
+
+msgid ""
+" **FAIL** REQUIRED LanguageEncoding\n"
+" REF: Pages 56-57, section 5.3."
+msgstr ""
+
+msgid ""
+" **FAIL** REQUIRED LanguageVersion\n"
+" REF: Pages 57-58, section 5.3."
+msgstr ""
+
+msgid ""
+" **FAIL** REQUIRED Manufacturer\n"
+" REF: Pages 58-59, section 5.3."
+msgstr ""
+
+msgid ""
+" **FAIL** REQUIRED ModelName\n"
+" REF: Pages 59-60, section 5.3."
+msgstr ""
+
+msgid ""
+" **FAIL** REQUIRED NickName\n"
+" REF: Page 60, section 5.3."
+msgstr ""
+
+msgid ""
+" **FAIL** REQUIRED PCFileName\n"
+" REF: Pages 61-62, section 5.3."
+msgstr ""
+
+msgid ""
+" **FAIL** REQUIRED PSVersion\n"
+" REF: Pages 62-64, section 5.3."
+msgstr ""
+
+msgid ""
+" **FAIL** REQUIRED PageRegion\n"
+" REF: Page 100, section 5.14."
+msgstr ""
+
+msgid ""
+" **FAIL** REQUIRED PageSize\n"
+" REF: Page 41, section 5.\n"
+" REF: Page 99, section 5.14."
+msgstr ""
+
+msgid ""
+" **FAIL** REQUIRED PageSize\n"
+" REF: Pages 99-100, section 5.14."
+msgstr ""
+
+#, c-format
+msgid ""
+" **FAIL** REQUIRED PaperDimension for PageSize %s\n"
+" REF: Page 41, section 5.\n"
+" REF: Page 103, section 5.15."
+msgstr ""
+
+msgid ""
+" **FAIL** REQUIRED Product\n"
+" REF: Page 62, section 5.3."
+msgstr ""
+
+msgid ""
+" **FAIL** REQUIRED ShortNickName\n"
+" REF: Page 64-65, section 5.3."
+msgstr ""
+
+#, c-format
+msgid " **FAIL** Unable to open PPD file - %s on line %d."
+msgstr ""
+
+#, c-format
+msgid " %d ERRORS FOUND"
+msgstr ""
+
+msgid " -h Show program usage"
+msgstr ""
+
+#, c-format
+msgid ""
+" Bad %%%%BoundingBox: on line %d.\n"
+" REF: Page 39, %%%%BoundingBox:"
+msgstr ""
+
+#, c-format
+msgid ""
+" Bad %%%%Page: on line %d.\n"
+" REF: Page 53, %%%%Page:"
+msgstr ""
+
+#, c-format
+msgid ""
+" Bad %%%%Pages: on line %d.\n"
+" REF: Page 43, %%%%Pages:"
+msgstr ""
+
+#, c-format
+msgid ""
+" Line %d is longer than 255 characters (%d).\n"
+" REF: Page 25, Line Length"
+msgstr ""
+
+msgid ""
+" Missing %!PS-Adobe-3.0 on first line.\n"
+" REF: Page 17, 3.1 Conforming Documents"
+msgstr ""
+
+#, c-format
+msgid " Missing %%EndComments comment. REF: Page 41, %%EndComments"
+msgstr ""
+
+#, c-format
+msgid ""
+" Missing or bad %%BoundingBox: comment.\n"
+" REF: Page 39, %%BoundingBox:"
+msgstr ""
+
+#, c-format
+msgid ""
+" Missing or bad %%Page: comments.\n"
+" REF: Page 53, %%Page:"
+msgstr ""
+
+#, c-format
+msgid ""
+" Missing or bad %%Pages: comment.\n"
+" REF: Page 43, %%Pages:"
+msgstr ""
+
+msgid " NO ERRORS FOUND"
+msgstr " KEINE FEHLER GEFUNDEN"
+
+#, c-format
+msgid " Saw %d lines that exceeded 255 characters."
+msgstr ""
+
+#, c-format
+msgid " Too many %%BeginDocument comments."
+msgstr ""
+
+#, c-format
+msgid " Too many %%EndDocument comments."
+msgstr ""
+
+msgid " Warning: file contains binary data."
+msgstr ""
+
+#, c-format
+msgid " Warning: no %%EndComments comment in file."
+msgstr ""
+
+#, c-format
+msgid " Warning: obsolete DSC version %.1f in file."
+msgstr ""
+
+msgid " ! expression Unary NOT of expression."
+msgstr ""
+
+msgid " ( expressions ) Group expressions."
+msgstr ""
+
+msgid " --[no-]debug-logging Turn debug logging on/off."
+msgstr ""
+
+msgid " --[no-]remote-admin Turn remote administration on/off."
+msgstr " --[no-]remote-admin Fernadministrierung ein/ausschalten."
+
+msgid " --[no-]remote-any Allow/prevent access from the Internet."
+msgstr " --[no-]remote-any Erlaube/sperre zugriff über das Internet."
+
+msgid " --[no-]share-printers Turn printer sharing on/off."
+msgstr " --[no-]share-printers Druckerfreigabe ein/aus."
+
+msgid " --[no-]user-cancel-any Allow/prevent users to cancel any job."
+msgstr " --[no-]user-cancel-any Erlaube/sperre Benutzern das abbrechen eines Druckauftrags."
+
+msgid " --cr End lines with CR (Mac OS 9)."
+msgstr " --cr Zeilenenden mit CR (OS 9)"
+
+msgid " --crlf End lines with CR + LF (Windows)."
+msgstr " --crlf Zeilenenden mit CR+LF (Windows)"
+
+msgid " --domain regex Match domain to regular expression."
+msgstr " --domain regex Prüfe auf Übereinstimmung mit Regulärem Ausdruck"
+
+msgid ""
+" --exec utility [argument ...] ;\n"
+" Execute program if true."
+msgstr ""
+
+msgid " --false Always false."
+msgstr ""
+
+msgid " --help Show help."
+msgstr " --help Zeige Hilfe."
+
+msgid " --help Show this help."
+msgstr " --help Zeige diese Hilfe."
+
+msgid " --host regex Match hostname to regular expression."
+msgstr " --host regex Prüfe den Hostnamen auf Übereinstimmung mit Regulärem Audruck"
+
+msgid " --lf End lines with LF (UNIX/Linux/OS X)."
+msgstr " --lf Zeilenenden mit LF (UNIX/Linux/OS X)"
+
+msgid " --list-filters List filters that will be used."
+msgstr " --list-filters Liste die Filter auf die benutzt werden."
+
+msgid " --local True if service is local."
+msgstr " --local Wahr wenn der Dienst lokal ist."
+
+msgid " --ls List attributes."
+msgstr " --ls Liste Attribute auf."
+
+msgid " --name regex Match service name to regular expression."
+msgstr ""
+
+msgid " --not expression Unary NOT of expression."
+msgstr ""
+
+msgid " --path regex Match resource path to regular expression."
+msgstr ""
+
+msgid " --port number[-number] Match port to number or range."
+msgstr ""
+
+msgid " --print Print URI if true."
+msgstr ""
+
+msgid " --print-name Print service name if true."
+msgstr ""
+
+msgid " --quiet Quietly report match via exit code."
+msgstr ""
+
+msgid " --remote True if service is remote."
+msgstr ""
+
+msgid ""
+" --stop-after-include-error\n"
+" Stop tests after a failed INCLUDE."
+msgstr ""
+
+msgid " --true Always true."
+msgstr ""
+
+msgid " --txt key True if the TXT record contains the key."
+msgstr ""
+
+msgid " --txt-* regex Match TXT record key to regular expression."
+msgstr ""
+
+msgid " --uri regex Match URI to regular expression."
+msgstr ""
+
+msgid " --version Show program version."
+msgstr ""
+
+msgid " --version Show version."
+msgstr ""
+
+msgid " -4 Connect using IPv4."
+msgstr ""
+
+msgid " -6 Connect using IPv6."
+msgstr ""
+
+msgid " -C Send requests using chunking (default)."
+msgstr ""
+
+msgid " -D Remove the input file when finished."
+msgstr ""
+
+msgid " -D name=value Set named variable to value."
+msgstr ""
+
+msgid " -E Encrypt the connection."
+msgstr " -E Verschlüssele die Verbindung."
+
+msgid " -E Test with HTTP Upgrade to TLS."
+msgstr " -E Teste mit HTTP Upgrade auf TLS."
+
+msgid ""
+" -F Run in the foreground but detach from console."
+msgstr ""
+" -F Laufe im Vordergrund aber abgetrennt von der Konsole."
+
+msgid " -H samba-server Use the named SAMBA server."
+msgstr " -H samba-server Benutze den SAMBA Server."
+
+msgid " -I Ignore errors."
+msgstr " -I Ignoriere Fehler."
+
+msgid " -I include-dir Add include directory to search path."
+msgstr ""
+
+msgid " -I {filename,filters,none,profiles}"
+msgstr ""
+
+msgid " -L Send requests using content-length."
+msgstr ""
+
+msgid ""
+" -P filename.plist Produce XML plist to a file and test report to "
+"standard output."
+msgstr ""
+
+msgid " -P filename.ppd Set PPD file."
+msgstr " -P filename.ppd Lege PPD Datei fest."
+
+msgid " -P number[-number] Match port to number or range."
+msgstr ""
+
+msgid " -R root-directory Set alternate root."
+msgstr ""
+
+msgid " -S Test with SSL encryption."
+msgstr " -S Teste mit SSL Verschlüsselung."
+
+msgid " -T seconds Set the browse timeout in seconds."
+msgstr " -T seconds Setze die Zeitüberschreitung für das Browsen in Sekunden."
+
+msgid " -T seconds Set the receive/send timeout in seconds."
+msgstr " -T seconds Setze die Zeitüberschreitung für das Senden/Empfangen in Sekunden."
+
+msgid " -U username Specify username."
+msgstr " -U username Gebe den Benutzernamen an."
+
+msgid " -V version Set default IPP version."
+msgstr " -V version Setze die Voreingestellte IPP Version."
+
+msgid ""
+" -W {all,none,constraints,defaults,duplex,filters,profiles,sizes,"
+"translations}"
+msgstr ""
+
+msgid " -X Produce XML plist instead of plain text."
+msgstr " -X Erzeuge XML-Ausgaben anstatt von Text."
+
+msgid " -a Browse for all services."
+msgstr " -a Browse für alle Dienste."
+
+msgid " -a Export all printers."
+msgstr " -a Exportiere alle Drucker."
+
+msgid " -c Produce CSV output."
+msgstr " -c Erzeuge CSV Ausgabe."
+
+msgid " -c catalog.po Load the specified message catalog."
+msgstr ""
+
+msgid " -c cups-files.conf Set cups-files.conf file to use."
+msgstr " -c cups-files.conf Setze die zu benutzende Datei cups-files.conf"
+
+msgid " -c cupsd.conf Set cupsd.conf file to use."
+msgstr " -c cups.conf Setze die zu benutzende Datei cups.conf"
+
+msgid " -d domain Browse/resolve in specified domain."
+msgstr " -d domain Browse/löse auf in der angegebenen Domäne."
+
+msgid " -d name=value Set named variable to value."
+msgstr ""
+
+msgid " -d output-dir Specify the output directory."
+msgstr ""
+
+msgid " -d printer Use the named printer."
+msgstr " -d printer Benutze den genannten Drucker."
+
+msgid " -d regex Match domain to regular expression."
+msgstr ""
+
+msgid " -e Use every filter from the PPD file."
+msgstr ""
+
+msgid " -f Run in the foreground."
+msgstr " -f Laufe im Vordergrund."
+
+msgid " -f filename Set default request filename."
+msgstr ""
+
+msgid " -h Show this usage message."
+msgstr ""
+
+msgid " -h regex Match hostname to regular expression."
+msgstr ""
+
+msgid " -h server[:port] Specify server address."
+msgstr " -h server[:port] Spezifiziere die Server-Adresse."
+
+msgid " -i mime/type Set input MIME type (otherwise auto-typed)."
+msgstr ""
+
+msgid ""
+" -i seconds Repeat the last file with the given time interval."
+msgstr ""
+
+msgid ""
+" -j job-id[,N] Filter file N from the specified job (default is "
+"file 1)."
+msgstr ""
+
+msgid " -l List attributes."
+msgstr ""
+
+msgid " -l Produce plain text output."
+msgstr ""
+
+msgid " -l Run cupsd on demand."
+msgstr ""
+
+msgid " -l lang[,lang,...] Specify the output language(s) (locale)."
+msgstr ""
+
+msgid " -m Use the ModelName value as the filename."
+msgstr ""
+
+msgid ""
+" -m mime/type Set output MIME type (otherwise application/pdf)."
+msgstr ""
+
+msgid " -n copies Set number of copies."
+msgstr " -n copies Lege die Anzahl der Kopien fest."
+
+msgid ""
+" -n count Repeat the last file the given number of times."
+msgstr ""
+
+msgid " -n regex Match service name to regular expression."
+msgstr ""
+
+msgid ""
+" -o filename.drv Set driver information file (otherwise ppdi.drv)."
+msgstr ""
+
+msgid " -o filename.ppd[.gz] Set output file (otherwise stdout)."
+msgstr ""
+
+msgid " -o name=value Set option(s)."
+msgstr ""
+
+msgid " -p Print URI if true."
+msgstr ""
+
+msgid " -p filename.ppd Set PPD file."
+msgstr ""
+
+msgid " -p program Run specified program for each service."
+msgstr ""
+
+msgid " -q Quietly report match via exit code."
+msgstr ""
+
+msgid " -q Run silently."
+msgstr ""
+
+msgid " -r True if service is remote."
+msgstr ""
+
+msgid " -r Use 'relaxed' open mode."
+msgstr ""
+
+msgid " -s Print service name if true."
+msgstr ""
+
+msgid " -t Produce a test report."
+msgstr ""
+
+msgid " -t Test PPDs instead of generating them."
+msgstr ""
+
+msgid " -t Test the configuration file."
+msgstr ""
+
+msgid " -t key True if the TXT record contains the key."
+msgstr ""
+
+msgid " -t title Set title."
+msgstr ""
+
+msgid " -t type Browse/resolve with specified type."
+msgstr ""
+
+msgid " -u Remove the PPD file when finished."
+msgstr ""
+
+msgid " -u regex Match URI to regular expression."
+msgstr ""
+
+msgid " -v Be verbose."
+msgstr " -v Sei ausführlich."
+
+msgid " -vv Be very verbose."
+msgstr " -vv Sei sehr ausführlich."
+
+msgid ""
+" -x utility [argument ...] ;\n"
+" Execute program if true."
+msgstr ""
+
+msgid " -z Compress PPD files using GNU zip."
+msgstr " -z Komprimiere PPD Datei unter Verwendung von GNU zip."
+
+msgid " IPPFIND_SERVICE_DOMAIN Domain name"
+msgstr ""
+
+msgid ""
+" IPPFIND_SERVICE_HOSTNAME\n"
+" Fully-qualified domain name"
+msgstr ""
+
+msgid " IPPFIND_SERVICE_NAME Service instance name"
+msgstr ""
+
+msgid " IPPFIND_SERVICE_PORT Port number"
+msgstr ""
+
+msgid " IPPFIND_SERVICE_REGTYPE DNS-SD registration type"
+msgstr ""
+
+msgid " IPPFIND_SERVICE_SCHEME URI scheme"
+msgstr ""
+
+msgid " IPPFIND_SERVICE_URI URI"
+msgstr ""
+
+msgid " IPPFIND_TXT_* Value of TXT record key"
+msgstr ""
+
+msgid ""
+" expression --and expression\n"
+" Logical AND."
+msgstr ""
+
+msgid ""
+" expression --or expression\n"
+" Logical OR."
+msgstr ""
+
+msgid " expression expression Logical AND."
+msgstr ""
+
+msgid " {service_domain} Domain name"
+msgstr ""
+
+msgid " {service_hostname} Fully-qualified domain name"
+msgstr ""
+
+msgid " {service_name} Service instance name"
+msgstr ""
+
+msgid " {service_port} Port number"
+msgstr ""
+
+msgid " {service_regtype} DNS-SD registration type"
+msgstr ""
+
+msgid " {service_scheme} URI scheme"
+msgstr ""
+
+msgid " {service_uri} URI"
+msgstr ""
+
+msgid " {txt_*} Value of TXT record key"
+msgstr ""
+
+msgid " {} URI"
+msgstr ""
+
+msgid " FAIL"
+msgstr ""
+
+msgid " PASS"
+msgstr ""
+
+#, c-format
+msgid "\"%s\": Bad URI value \"%s\" - %s (RFC 2911 section 4.1.5)."
+msgstr ""
+
+#, c-format
+msgid "\"%s\": Bad URI value \"%s\" - bad length %d (RFC 2911 section 4.1.5)."
+msgstr ""
+
+#, c-format
+msgid "\"%s\": Bad attribute name - bad length %d (RFC 2911 section 4.1.3)."
+msgstr ""
+
+#, c-format
+msgid ""
+"\"%s\": Bad attribute name - invalid character (RFC 2911 section 4.1.3)."
+msgstr ""
+
+#, c-format
+msgid "\"%s\": Bad boolen value %d (RFC 2911 section 4.1.11)."
+msgstr ""
+
+#, c-format
+msgid ""
+"\"%s\": Bad charset value \"%s\" - bad characters (RFC 2911 section 4.1.7)."
+msgstr ""
+
+#, c-format
+msgid ""
+"\"%s\": Bad charset value \"%s\" - bad length %d (RFC 2911 section 4.1.7)."
+msgstr ""
+
+#, c-format
+msgid "\"%s\": Bad dateTime UTC hours %u (RFC 2911 section 4.1.14)."
+msgstr ""
+
+#, c-format
+msgid "\"%s\": Bad dateTime UTC minutes %u (RFC 2911 section 4.1.14)."
+msgstr ""
+
+#, c-format
+msgid "\"%s\": Bad dateTime UTC sign '%c' (RFC 2911 section 4.1.14)."
+msgstr ""
+
+#, c-format
+msgid "\"%s\": Bad dateTime day %u (RFC 2911 section 4.1.14)."
+msgstr ""
+
+#, c-format
+msgid "\"%s\": Bad dateTime deciseconds %u (RFC 2911 section 4.1.14)."
+msgstr ""
+
+#, c-format
+msgid "\"%s\": Bad dateTime hours %u (RFC 2911 section 4.1.14)."
+msgstr ""
+
+#, c-format
+msgid "\"%s\": Bad dateTime minutes %u (RFC 2911 section 4.1.14)."
+msgstr ""
+
+#, c-format
+msgid "\"%s\": Bad dateTime month %u (RFC 2911 section 4.1.14)."
+msgstr ""
+
+#, c-format
+msgid "\"%s\": Bad dateTime seconds %u (RFC 2911 section 4.1.14)."
+msgstr ""
+
+#, c-format
+msgid "\"%s\": Bad enum value %d - out of range (RFC 2911 section 4.1.4)."
+msgstr ""
+
+#, c-format
+msgid ""
+"\"%s\": Bad keyword value \"%s\" - bad length %d (RFC 2911 section 4.1.3)."
+msgstr ""
+
+#, c-format
+msgid ""
+"\"%s\": Bad keyword value \"%s\" - invalid character (RFC 2911 section "
+"4.1.3)."
+msgstr ""
+
+#, c-format
+msgid ""
+"\"%s\": Bad mimeMediaType value \"%s\" - bad characters (RFC 2911 section "
+"4.1.9)."
+msgstr ""
+
+#, c-format
+msgid ""
+"\"%s\": Bad mimeMediaType value \"%s\" - bad length %d (RFC 2911 section "
+"4.1.9)."
+msgstr ""
+
+#, c-format
+msgid ""
+"\"%s\": Bad name value \"%s\" - bad UTF-8 sequence (RFC 2911 section 4.1.2)."
+msgstr ""
+
+#, c-format
+msgid "\"%s\": Bad name value \"%s\" - bad length %d (RFC 2911 section 4.1.2)."
+msgstr ""
+
+#, c-format
+msgid ""
+"\"%s\": Bad naturalLanguage value \"%s\" - bad characters (RFC 2911 section "
+"4.1.8)."
+msgstr ""
+
+#, c-format
+msgid ""
+"\"%s\": Bad naturalLanguage value \"%s\" - bad length %d (RFC 2911 section "
+"4.1.8)."
+msgstr ""
+
+#, c-format
+msgid ""
+"\"%s\": Bad octetString value - bad length %d (RFC 2911 section 4.1.10)."
+msgstr ""
+
+#, c-format
+msgid ""
+"\"%s\": Bad rangeOfInteger value %d-%d - lower greater than upper (RFC 2911 "
+"section 4.1.13)."
+msgstr ""
+
+#, c-format
+msgid ""
+"\"%s\": Bad resolution value %dx%d%s - bad units value (RFC 2911 section "
+"4.1.15)."
+msgstr ""
+
+#, c-format
+msgid ""
+"\"%s\": Bad resolution value %dx%d%s - cross feed resolution must be "
+"positive (RFC 2911 section 4.1.15)."
+msgstr ""
+
+#, c-format
+msgid ""
+"\"%s\": Bad resolution value %dx%d%s - feed resolution must be positive (RFC "
+"2911 section 4.1.15)."
+msgstr ""
+
+#, c-format
+msgid ""
+"\"%s\": Bad text value \"%s\" - bad UTF-8 sequence (RFC 2911 section 4.1.1)."
+msgstr ""
+
+#, c-format
+msgid "\"%s\": Bad text value \"%s\" - bad length %d (RFC 2911 section 4.1.1)."
+msgstr ""
+
+#, c-format
+msgid ""
+"\"%s\": Bad uriScheme value \"%s\" - bad characters (RFC 2911 section 4.1.6)."
+msgstr ""
+
+#, c-format
+msgid ""
+"\"%s\": Bad uriScheme value \"%s\" - bad length %d (RFC 2911 section 4.1.6)."
+msgstr ""
+
+#, c-format
+msgid "%-7s %-7.7s %-7d %-31.31s %.0f bytes"
+msgstr ""
+
+#, c-format
+msgid "%d x %d mm"
+msgstr "%d×%d mm"
+
+#, c-format
+msgid "%g x %g"
+msgstr "%g×%g"
+
+#, c-format
+msgid "%s (%s)"
+msgstr "%s (%s)"
+
+#, c-format
+msgid "%s (%s, %s)"
+msgstr "%s (%s, %s)"
+
+#, c-format
+msgid "%s (Borderless)"
+msgstr "%s (Randlos)"
+
+#, c-format
+msgid "%s (Borderless, %s)"
+msgstr "%s (Randlos, %s)"
+
+#, c-format
+msgid "%s (Borderless, %s, %s)"
+msgstr "%s (Randlos, %s, %s)"
+
+#, c-format
+msgid "%s accepting requests since %s"
+msgstr "%s akzeptiert anfragen seit %s"
+
+#, c-format
+msgid "%s cannot be changed."
+msgstr "%s kann nicht geändert werden."
+
+#, c-format
+msgid "%s is not implemented by the CUPS version of lpc."
+msgstr ""
+
+#, c-format
+msgid "%s is not ready"
+msgstr "%s ist nicht bereit"
+
+#, c-format
+msgid "%s is ready"
+msgstr "%s ist bereit"
+
+#, c-format
+msgid "%s is ready and printing"
+msgstr "%s ist bereit und druckt"
+
+#, c-format
+msgid "%s job-id user title copies options [file]"
+msgstr ""
+
+#, c-format
+msgid "%s not accepting requests since %s -"
+msgstr ""
+
+#, c-format
+msgid "%s not supported."
+msgstr "%s nicht unterstützt."
+
+#, c-format
+msgid "%s/%s accepting requests since %s"
+msgstr ""
+
+#, c-format
+msgid "%s/%s not accepting requests since %s -"
+msgstr ""
+
+#, c-format
+msgid "%s: %-33.33s [job %d localhost]"
+msgstr ""
+
+#. TRANSLATORS: Message is "subject: error"
+#, c-format
+msgid "%s: %s"
+msgstr ""
+
+#, c-format
+msgid "%s: %s failed: %s"
+msgstr ""
+
+#, c-format
+msgid "%s: Bad version %s for \"-V\"."
+msgstr ""
+
+#, c-format
+msgid "%s: Don't know what to do."
+msgstr ""
+
+#, c-format
+msgid ""
+"%s: Error - %s environment variable names non-existent destination \"%s\"."
+msgstr ""
+
+#, c-format
+msgid "%s: Error - add '/version=1.1' to server name."
+msgstr ""
+
+#, c-format
+msgid "%s: Error - bad job ID."
+msgstr ""
+
+#, c-format
+msgid "%s: Error - cannot print files and alter jobs simultaneously."
+msgstr ""
+
+#, c-format
+msgid "%s: Error - cannot print from stdin if files or a job ID are provided."
+msgstr ""
+
+#, c-format
+msgid "%s: Error - expected character set after \"-S\" option."
+msgstr ""
+
+#, c-format
+msgid "%s: Error - expected content type after \"-T\" option."
+msgstr ""
+
+#, c-format
+msgid "%s: Error - expected copies after \"-#\" option."
+msgstr ""
+
+#, c-format
+msgid "%s: Error - expected copies after \"-n\" option."
+msgstr ""
+
+#, c-format
+msgid "%s: Error - expected destination after \"-P\" option."
+msgstr ""
+
+#, c-format
+msgid "%s: Error - expected destination after \"-d\" option."
+msgstr ""
+
+#, c-format
+msgid "%s: Error - expected form after \"-f\" option."
+msgstr ""
+
+#, c-format
+msgid "%s: Error - expected hold name after \"-H\" option."
+msgstr ""
+
+#, c-format
+msgid "%s: Error - expected hostname after \"-H\" option."
+msgstr ""
+
+#, c-format
+msgid "%s: Error - expected hostname after \"-h\" option."
+msgstr ""
+
+#, c-format
+msgid "%s: Error - expected mode list after \"-y\" option."
+msgstr ""
+
+#, c-format
+msgid "%s: Error - expected name after \"-%c\" option."
+msgstr ""
+
+#, c-format
+msgid "%s: Error - expected option=value after \"-o\" option."
+msgstr ""
+
+#, c-format
+msgid "%s: Error - expected page list after \"-P\" option."
+msgstr ""
+
+#, c-format
+msgid "%s: Error - expected priority after \"-%c\" option."
+msgstr ""
+
+#, c-format
+msgid "%s: Error - expected reason text after \"-r\" option."
+msgstr ""
+
+#, c-format
+msgid "%s: Error - expected title after \"-t\" option."
+msgstr ""
+
+#, c-format
+msgid "%s: Error - expected username after \"-U\" option."
+msgstr ""
+
+#, c-format
+msgid "%s: Error - expected username after \"-u\" option."
+msgstr ""
+
+#, c-format
+msgid "%s: Error - expected value after \"-%c\" option."
+msgstr ""
+
+#, c-format
+msgid ""
+"%s: Error - need \"completed\", \"not-completed\", or \"all\" after \"-W\" "
+"option."
+msgstr ""
+
+#, c-format
+msgid "%s: Error - no default destination available."
+msgstr ""
+
+#, c-format
+msgid "%s: Error - priority must be between 1 and 100."
+msgstr ""
+
+#, c-format
+msgid "%s: Error - scheduler not responding."
+msgstr ""
+
+#, c-format
+msgid "%s: Error - too many files - \"%s\"."
+msgstr ""
+
+#, c-format
+msgid "%s: Error - unable to access \"%s\" - %s"
+msgstr ""
+
+#, c-format
+msgid "%s: Error - unable to queue from stdin - %s."
+msgstr ""
+
+#, c-format
+msgid "%s: Error - unknown destination \"%s\"."
+msgstr ""
+
+#, c-format
+msgid "%s: Error - unknown destination \"%s/%s\"."
+msgstr ""
+
+#, c-format
+msgid "%s: Error - unknown option \"%c\"."
+msgstr ""
+
+#, c-format
+msgid "%s: Error - unknown option \"%s\"."
+msgstr ""
+
+#, c-format
+msgid "%s: Expected job ID after \"-i\" option."
+msgstr ""
+
+#, c-format
+msgid "%s: Invalid destination name in list \"%s\"."
+msgstr ""
+
+#, c-format
+msgid "%s: Invalid filter string \"%s\"."
+msgstr ""
+
+#, c-format
+msgid "%s: Missing filename for \"-P\"."
+msgstr ""
+
+#, c-format
+msgid "%s: Missing timeout for \"-T\"."
+msgstr ""
+
+#, c-format
+msgid "%s: Missing version for \"-V\"."
+msgstr ""
+
+#, c-format
+msgid "%s: Need job ID (\"-i jobid\") before \"-H restart\"."
+msgstr ""
+
+#, c-format
+msgid "%s: No filter to convert from %s/%s to %s/%s."
+msgstr ""
+
+#, c-format
+msgid "%s: Operation failed: %s"
+msgstr ""
+
+#, c-format
+msgid "%s: Sorry, no encryption support."
+msgstr ""
+
+#, c-format
+msgid "%s: Unable to connect to server."
+msgstr ""
+
+#, c-format
+msgid "%s: Unable to contact server."
+msgstr ""
+
+#, c-format
+msgid "%s: Unable to determine MIME type of \"%s\"."
+msgstr ""
+
+#, c-format
+msgid "%s: Unable to open \"%s\": %s"
+msgstr ""
+
+#, c-format
+msgid "%s: Unable to open %s: %s"
+msgstr ""
+
+#, c-format
+msgid "%s: Unable to open PPD file: %s on line %d."
+msgstr ""
+
+#, c-format
+msgid "%s: Unable to read MIME database from \"%s\" or \"%s\"."
+msgstr ""
+
+#, c-format
+msgid "%s: Unknown destination \"%s\"."
+msgstr "%s: Unbekanntes Druckziel \"%s\"."
+
+#, c-format
+msgid "%s: Unknown destination MIME type %s/%s."
+msgstr "%s: Unbekannte Ziel-MIME-Type %s/%s."
+
+#, c-format
+msgid "%s: Unknown option \"%c\"."
+msgstr ""
+
+#, c-format
+msgid "%s: Unknown option \"%s\"."
+msgstr ""
+
+#, c-format
+msgid "%s: Unknown option \"-%c\"."
+msgstr ""
+
+#, c-format
+msgid "%s: Unknown source MIME type %s/%s."
+msgstr "%s: Unbekannte Quell-MIME-Type %s/%s."
+
+#, c-format
+msgid ""
+"%s: Warning - \"%c\" format modifier not supported - output may not be "
+"correct."
+msgstr ""
+
+#, c-format
+msgid "%s: Warning - character set option ignored."
+msgstr ""
+
+#, c-format
+msgid "%s: Warning - content type option ignored."
+msgstr ""
+
+#, c-format
+msgid "%s: Warning - form option ignored."
+msgstr ""
+
+#, c-format
+msgid "%s: Warning - mode option ignored."
+msgstr ""
+
+msgid "-1"
+msgstr "-1"
+
+msgid "-10"
+msgstr "-10"
+
+msgid "-100"
+msgstr "-100"
+
+msgid "-105"
+msgstr "-105"
+
+msgid "-11"
+msgstr "-11"
+
+msgid "-110"
+msgstr "-110"
+
+msgid "-115"
+msgstr "-115"
+
+msgid "-12"
+msgstr "-12"
+
+msgid "-120"
+msgstr "-120"
+
+msgid "-13"
+msgstr "-13"
+
+msgid "-14"
+msgstr "-14"
+
+msgid "-15"
+msgstr "-15"
+
+msgid "-2"
+msgstr "-2"
+
+msgid "-20"
+msgstr "-20"
+
+msgid "-25"
+msgstr "-25"
+
+msgid "-3"
+msgstr "-3"
+
+msgid "-30"
+msgstr "-30"
+
+msgid "-35"
+msgstr "-35"
+
+msgid "-4"
+msgstr "-4"
+
+msgid "-40"
+msgstr "-40"
+
+msgid "-45"
+msgstr "-45"
+
+msgid "-5"
+msgstr "-5"
+
+msgid "-50"
+msgstr "-50"
+
+msgid "-55"
+msgstr "-55"
+
+msgid "-6"
+msgstr "-6"
+
+msgid "-60"
+msgstr "-60"
+
+msgid "-65"
+msgstr "-65"
+
+msgid "-7"
+msgstr "-7"
+
+msgid "-70"
+msgstr "-70"
+
+msgid "-75"
+msgstr "-75"
+
+msgid "-8"
+msgstr "-8"
+
+msgid "-80"
+msgstr "-80"
+
+msgid "-85"
+msgstr "-85"
+
+msgid "-9"
+msgstr "-9"
+
+msgid "-90"
+msgstr "-90"
+
+msgid "-95"
+msgstr "-95"
+
+msgid "0"
+msgstr "0"
+
+msgid "1"
+msgstr "1"
+
+msgid "1 inch/sec."
+msgstr "1 inch/s"
+# Die Verwendung des x ist nur ersatzweise erlaubt, typografisch korrekt und in UTF-8 auch möglich ist ×
+# Keine Leerzeichen zwischen Zahl und ×!
+# Die Verwendung von " für die Einheit Inch ist nicht zulässig (ISO 80000).
+# Die Bezeichnung "Zoll" ist nicht korrekt.
+msgid "1.25x0.25\""
+msgstr "1,25×0,25 inch"
+
+msgid "1.25x2.25\""
+msgstr "1,25×2,25 inch"
+
+msgid "1.5 inch/sec."
+msgstr "1,5 inch/s"
+
+msgid "1.50x0.25\""
+msgstr "1,50×0,25 inch"
+
+msgid "1.50x0.50\""
+msgstr "1,50×0,50 inch"
+
+msgid "1.50x1.00\""
+msgstr "1,50×1,00 inch"
+
+msgid "1.50x2.00\""
+msgstr "1,50×2,00 inch"
+
+msgid "10"
+msgstr "10"
+
+# Die SI Einheit Sekunde wird korrekt nur mit s abgekürzt (ISO 31), (sek ist nicht zulässig)
+msgid "10 inches/sec."
+msgstr "10 inch/s"
+
+msgid "10 x 11"
+msgstr ""
+
+msgid "10 x 13"
+msgstr ""
+
+msgid "10 x 14"
+msgstr ""
+
+msgid "100"
+msgstr "100"
+
+msgid "100 mm/sec."
+msgstr "100 mm/s"
+
+msgid "105"
+msgstr "105"
+
+msgid "11"
+msgstr "11"
+
+msgid "11 inches/sec."
+msgstr "11 inch/s"
+
+msgid "110"
+msgstr "110"
+
+msgid "115"
+msgstr "115"
+
+msgid "12"
+msgstr "12"
+
+msgid "12 inches/sec."
+msgstr "12 inch/s"
+
+msgid "12 x 11"
+msgstr ""
+
+msgid "120"
+msgstr "120"
+
+msgid "120 mm/sec."
+msgstr "120 mm/s"
+
+msgid "120x60dpi"
+msgstr "120×60 dpi"
+
+msgid "120x72dpi"
+msgstr "120×72 dpi"
+
+msgid "13"
+msgstr "13"
+
+msgid "136dpi"
+msgstr "136 dpi"
+
+msgid "14"
+msgstr "14"
+
+msgid "15"
+msgstr "15"
+
+msgid "15 mm/sec."
+msgstr "15 mm/s"
+
+msgid "15 x 11"
+msgstr ""
+
+msgid "150 mm/sec."
+msgstr "150 mm/s"
+
+msgid "150dpi"
+msgstr "150 dpi"
+
+msgid "16"
+msgstr "16"
+
+msgid "17"
+msgstr "17"
+
+msgid "18"
+msgstr "18"
+
+msgid "180dpi"
+msgstr "180 dpi"
+
+msgid "19"
+msgstr "19"
+
+msgid "2"
+msgstr "2"
+
+msgid "2 inches/sec."
+msgstr "2 inch/s"
+
+msgid "2-Sided Printing"
+msgstr "Doppelseitig drucken"
+
+msgid "2.00x0.37\""
+msgstr "2,00×0,37 inch"
+
+msgid "2.00x0.50\""
+msgstr "2,00×0,50 inch"
+
+msgid "2.00x1.00\""
+msgstr "2,00×1,00 inch"
+
+msgid "2.00x1.25\""
+msgstr "2,00×1,25 inch"
+
+msgid "2.00x2.00\""
+msgstr "2,00×2,00 inch"
+
+msgid "2.00x3.00\""
+msgstr "2,00×3,00 inch"
+
+msgid "2.00x4.00\""
+msgstr "2,00×4,00 inch"
+
+msgid "2.00x5.50\""
+msgstr "2,00×5,50 inch"
+
+msgid "2.25x0.50\""
+msgstr "2,25×0,50 inch"
+
+msgid "2.25x1.25\""
+msgstr "2,25×1,25 inch"
+
+msgid "2.25x4.00\""
+msgstr "2,25×4,00 inch"
+
+msgid "2.25x5.50\""
+msgstr "2,25×5,50 inch"
+
+msgid "2.38x5.50\""
+msgstr "2,38×5,50 inch"
+
+msgid "2.5 inches/sec."
+msgstr "2,5 inch/s"
+
+msgid "2.50x1.00\""
+msgstr "2,50×1,00 inch"
+
+msgid "2.50x2.00\""
+msgstr "2,50×2,00 inch"
+
+msgid "2.75x1.25\""
+msgstr "2,75×1,25 inch"
+
+msgid "2.9 x 1\""
+msgstr "2.9×1 inch"
+
+msgid "20"
+msgstr "20"
+
+msgid "20 mm/sec."
+msgstr "20 mm/s"
+
+msgid "200 mm/sec."
+msgstr "200 mm/s"
+
+msgid "203dpi"
+msgstr "203 dpi"
+
+msgid "21"
+msgstr "21"
+
+msgid "22"
+msgstr "22"
+
+msgid "23"
+msgstr "23"
+
+msgid "24"
+msgstr "24"
+
+msgid "24-Pin Series"
+msgstr "24-Pin Serie"
+
+msgid "240x72dpi"
+msgstr "240×72 dpi"
+
+msgid "25"
+msgstr "25"
+
+msgid "250 mm/sec."
+msgstr "250 mm/s"
+
+msgid "26"
+msgstr "26"
+
+msgid "27"
+msgstr "27"
+
+msgid "28"
+msgstr "28"
+
+msgid "29"
+msgstr "29"
+
+msgid "3"
+msgstr "3"
+
+msgid "3 inches/sec."
+msgstr "3 inch/s"
+
+msgid "3 x 5"
+msgstr ""
+
+msgid "3.00x1.00\""
+msgstr "3,00×1,00inch"
+
+msgid "3.00x1.25\""
+msgstr "3,00×1,25 inch"
+
+msgid "3.00x2.00\""
+msgstr "3,00×2,00 inch"
+
+msgid "3.00x3.00\""
+msgstr "3,00×3,00 inch"
+
+msgid "3.00x5.00\""
+msgstr "3,00×5,00 inch"
+
+msgid "3.25x2.00\""
+msgstr "3,25×2,00 inch"
+
+msgid "3.25x5.00\""
+msgstr "3,25×5,00 inch"
+
+msgid "3.25x5.50\""
+msgstr "3,25×5,50 inch
+
+msgid "3.25x5.83\""
+msgstr "3,25×5,83 inch"
+
+msgid "3.25x7.83\""
+msgstr "3,25×7,83 inch"
+
+msgid "3.5 x 5"
+msgstr ""
+
+msgid "3.5\" Disk"
+msgstr "3,5 inch Disk"
+
+msgid "3.50x1.00\""
+msgstr "3,50×1,00 inch"
+
+msgid "30"
+msgstr "30"
+
+msgid "30 mm/sec."
+msgstr "30 mm/s"
+
+msgid "300 mm/sec."
+msgstr "300 mm/s"
+
+msgid "300dpi"
+msgstr "300 dpi"
+
+msgid "35"
+msgstr "35"
+
+msgid "360dpi"
+msgstr "360 dpi"
+
+msgid "360x180dpi"
+msgstr "360×180 dpi"
+
+msgid "4"
+msgstr "4"
+
+msgid "4 inches/sec."
+msgstr "4 inch/s"
+
+msgid "4.00x1.00\""
+msgstr "4,00×1,00 inch"
+
+msgid "4.00x13.00\""
+msgstr "4,00×13,00 inch"
+
+msgid "4.00x2.00\""
+msgstr "4,00×2,00 inch"
+
+msgid "4.00x2.50\""
+msgstr "4,00×2,50 inch"
+
+msgid "4.00x3.00\""
+msgstr "4,00×3,00 inch"
+
+msgid "4.00x4.00\""
+msgstr "4,00×4,00 inch"
+
+msgid "4.00x5.00\""
+msgstr "4,00×5,00 inch"
+
+msgid "4.00x6.00\""
+msgstr "4,00×6,00 inch"
+
+msgid "4.00x6.50\""
+msgstr "4,00×6,50 inch"
+
+msgid "40"
+msgstr "40"
+
+msgid "40 mm/sec."
+msgstr "40 mm/s"
+
+msgid "45"
+msgstr "45"
+
+msgid "5"
+msgstr "5"
+
+msgid "5 inches/sec."
+msgstr "5 inch/s"
+
+msgid "5 x 7"
+msgstr ""
+
+msgid "50"
+msgstr "50"
+
+msgid "55"
+msgstr "55"
+
+msgid "6"
+msgstr "6"
+
+msgid "6 inches/sec."
+msgstr "6 inch/s"
+
+msgid "6.00x1.00\""
+msgstr "6,00×1,00 inch"
+
+msgid "6.00x2.00\""
+msgstr "6,00×2,00 inch"
+
+msgid "6.00x3.00\""
+msgstr "6,00×3,00 inch"
+
+msgid "6.00x4.00\""
+msgstr "6,00×4,00 inch"
+
+msgid "6.00x5.00\""
+msgstr "6,00×5,00 inch"
+
+msgid "6.00x6.00\""
+msgstr "6,00×6,00 inch"
+
+msgid "6.00x6.50\""
+msgstr "6,00×6,50 inch"
+
+msgid "60"
+msgstr "60"
+
+msgid "60 mm/sec."
+msgstr "60 mm/s"
+
+msgid "600dpi"
+msgstr "600 dpi"
+
+msgid "60dpi"
+msgstr "60 dpi"
+
+msgid "60x72dpi"
+msgstr ""
+
+msgid "65"
+msgstr "65"
+
+msgid "7"
+msgstr "7"
+
+msgid "7 inches/sec."
+msgstr "7 inch/s"
+
+msgid "7 x 9"
+msgstr ""
+
+msgid "70"
+msgstr "70"
+
+msgid "75"
+msgstr "75"
+
+msgid "8"
+msgstr "8"
+
+msgid "8 inches/sec."
+msgstr "8 inch/s"
+
+msgid "8 x 10"
+msgstr ""
+
+msgid "8.00x1.00\""
+msgstr "8,00×1,00 inch"
+
+msgid "8.00x2.00\""
+msgstr "8,00×2,00 inch"
+
+msgid "8.00x3.00\""
+msgstr "8,00×3,00 inch"
+
+msgid "8.00x4.00\""
+msgstr "8,00×4,00 inch"
+
+msgid "8.00x5.00\""
+msgstr "8,00×5,00 inch"
+
+msgid "8.00x6.00\""
+msgstr "8,00×6,00 inch"
+
+msgid "8.00x6.50\""
+msgstr "8,00×6,50 inch"
+
+msgid "80"
+msgstr "80"
+
+msgid "80 mm/sec."
+msgstr "80 mm/s"
+
+msgid "85"
+msgstr "85"
+
+msgid "9"
+msgstr "9"
+
+msgid "9 inches/sec."
+msgstr "9 inch/s"
+
+msgid "9 x 11"
+msgstr "9×12"
+
+msgid "9 x 12"
+msgstr "9×12"
+
+msgid "9-Pin Series"
+msgstr "9-Pin Serie"
+
+msgid "90"
+msgstr "90"
+
+msgid "95"
+msgstr "95"
+
+msgid "?Invalid help command unknown."
+msgstr ""
+
+msgid "A Samba password is required to export printer drivers"
+msgstr ""
+
+msgid "A Samba username is required to export printer drivers"
+msgstr ""
+
+#, c-format
+msgid "A class named \"%s\" already exists."
+msgstr "Eine Klasse mit dem Namen \"%s\" existiert bereits."
+
+#, c-format
+msgid "A printer named \"%s\" already exists."
+msgstr "Ein Drucker mit dem Namen \"%s\" existiert bereits."
+
+msgid "A0"
+msgstr "DIN A0"
+
+msgid "A0 Long Edge"
+msgstr "A0 lange Kante"
+
+msgid "A1"
+msgstr "DIN A1"
+
+msgid "A1 Long Edge"
+msgstr "A1 lange Kante"
+
+msgid "A10"
+msgstr "DIN A10"
+
+msgid "A2"
+msgstr "DIN A2"
+
+msgid "A2 Long Edge"
+msgstr "A2 lange Kante"
+
+msgid "A3"
+msgstr "DIN A3"
+
+msgid "A3 Long Edge"
+msgstr "A3 lange Kante"
+
+msgid "A3 Oversize"
+msgstr "A3 Übergrösse"
+
+msgid "A3 Oversize Long Edge"
+msgstr "A3 Übergrösse lange Kante"
+
+msgid "A4"
+msgstr "DIN A4"
+
+msgid "A4 Long Edge"
+msgstr "A4 lange Kante"
+
+msgid "A4 Oversize"
+msgstr "A4 Übergrösse"
+
+msgid "A4 Small"
+msgstr "A4 klein"
+
+msgid "A5"
+msgstr "DIN A5"
+
+msgid "A5 Long Edge"
+msgstr ""
+
+msgid "A5 Oversize"
+msgstr "A5 Übergrösse"
+
+msgid "A6"
+msgstr "DIN A6"
+
+msgid "A6 Long Edge"
+msgstr "A6 lange Kante"
+
+msgid "A7"
+msgstr "DIN A7"
+
+msgid "A8"
+msgstr "DIN A8"
+
+msgid "A9"
+msgstr "DIN A9"
+
+msgid "ANSI A"
+msgstr "ANSI A"
+
+msgid "ANSI B"
+msgstr "ANSI B"
+
+msgid "ANSI C"
+msgstr "ANSI C"
+
+msgid "ANSI D"
+msgstr "ANSI D"
+
+msgid "ANSI E"
+msgstr "ANSI E"
+
+msgid "ARCH C"
+msgstr "ARCH C"
+
+msgid "ARCH C Long Edge"
+msgstr ""
+
+msgid "ARCH D"
+msgstr "ARCH D"
+
+msgid "ARCH D Long Edge"
+msgstr ""
+
+msgid "ARCH E"
+msgstr "ARCH E"
+
+msgid "ARCH E Long Edge"
+msgstr ""
+
+msgid "Accept Jobs"
+msgstr "Druckaufträge akzeptieren"
+
+msgid "Accepted"
+msgstr "Akzeptiert"
+
+msgid "Add Class"
+msgstr "Klasse hinzufügen"
+
+msgid "Add Printer"
+msgstr "Drucker hinzufügen"
+
+msgid "Add RSS Subscription"
+msgstr "RSS-Abo hinzufügen"
+
+msgid "Address"
+msgstr "Adresse"
+
+msgid "Administration"
+msgstr "Verwaltung"
+
+msgid "Always"
+msgstr "Immer"
+
+msgid "AppSocket/HP JetDirect"
+msgstr "AppSocket/HP JetDirect"
+
+msgid "Applicator"
+msgstr "Applicator"
+
+#, c-format
+msgid "Attempt to set %s printer-state to bad value %d."
+msgstr "Versuch den %s Druckerstatus auf einen ungültigen %d Wert zu setzen."
+
+#, c-format
+msgid "Attribute groups are out of order (%x < %x)."
+msgstr "Attributgruppen sind nicht in der Reihenfolge (%x < %x)"
+
+msgid "B0"
+msgstr "DIN B0"
+
+msgid "B1"
+msgstr "DIN B1"
+
+msgid "B10"
+msgstr "DIN B10"
+
+msgid "B2"
+msgstr "DIN B2"
+
+msgid "B3"
+msgstr "DIN B3"
+
+msgid "B4"
+msgstr "DIN B4"
+
+msgid "B5"
+msgstr "DIN B5"
+
+msgid "B5 Oversize"
+msgstr ""
+
+msgid "B6"
+msgstr "DIN B6"
+
+msgid "B7"
+msgstr "DIN B7"
+
+msgid "B8"
+msgstr "DIN B8"
+
+msgid "B9"
+msgstr "DIN B9"
+
+#, c-format
+msgid "Bad 'document-format' value \"%s\"."
+msgstr ""
+
+msgid "Bad NULL dests pointer"
+msgstr "Ungültiger NULL-Dests-Pointer"
+
+msgid "Bad OpenGroup"
+msgstr "Ungültige OpenGroup"
+
+msgid "Bad OpenUI/JCLOpenUI"
+msgstr "Ungültig OpenUI/JCLOpenUI"
+
+msgid "Bad OrderDependency"
+msgstr "Ungültige Abhängigkeit"
+
+msgid "Bad PPD cache file."
+msgstr "Ungültige PPD Cache Datei."
+
+msgid "Bad Request"
+msgstr "Ungültige Anfrage"
+
+msgid "Bad SNMP version number"
+msgstr "Ungültige SNMP-Versiosnummer"
+
+msgid "Bad UIConstraints"
+msgstr "Ungültige UIConstraints"
+
+msgid "Bad arguments to function"
+msgstr "Ungültige Argumente für Funktion"
+
+#, c-format
+msgid "Bad copies value %d."
+msgstr "Ungültige Angabe der Anzahl der Kopien %d."
+
+msgid "Bad custom parameter"
+msgstr "Ungültiger angepasster Parameter"
+
+#, c-format
+msgid "Bad device-uri \"%s\"."
+msgstr ""
+
+#, c-format
+msgid "Bad device-uri scheme \"%s\"."
+msgstr ""
+
+#, c-format
+msgid "Bad document-format \"%s\"."
+msgstr ""
+
+#, c-format
+msgid "Bad document-format-default \"%s\"."
+msgstr ""
+
+msgid "Bad filename buffer"
+msgstr ""
+
+msgid "Bad hostname/address in URI"
+msgstr "Ungültiger Hostname/Adresse in URI"
+
+#, c-format
+msgid "Bad job-name value: %s"
+msgstr "Ungültiger Auftragsname: %s"
+
+msgid "Bad job-name value: Wrong type or count."
+msgstr "Ungültiger Auftragsname: Falscher Typ oder Anzahl."
+
+msgid "Bad job-priority value."
+msgstr "Ungültiger Wert für Auftragspriorität."
+
+#, c-format
+msgid "Bad job-sheets value \"%s\"."
+msgstr ""
+
+msgid "Bad job-sheets value type."
+msgstr ""
+
+msgid "Bad job-state value."
+msgstr ""
+
+#, c-format
+msgid "Bad job-uri \"%s\"."
+msgstr ""
+
+#, c-format
+msgid "Bad notify-pull-method \"%s\"."
+msgstr ""
+
+#, c-format
+msgid "Bad notify-recipient-uri \"%s\"."
+msgstr ""
+
+#, c-format
+msgid "Bad number-up value %d."
+msgstr "Ungültiger Number-Up-Wert „%d“."
+
+#, c-format
+msgid "Bad option + choice on line %d."
+msgstr ""
+
+#, c-format
+msgid "Bad page-ranges values %d-%d."
+msgstr "Ungültige Seitenbereichswerte %d–%d."
+
+msgid "Bad port number in URI"
+msgstr "Ungültige Port-Nummer in URI"
+
+#, c-format
+msgid "Bad port-monitor \"%s\"."
+msgstr ""
+
+#, c-format
+msgid "Bad printer-state value %d."
+msgstr ""
+
+msgid "Bad printer-uri."
+msgstr "Ungültige Drucker-uri"
+
+#, c-format
+msgid "Bad request ID %d."
+msgstr ""
+
+#, c-format
+msgid "Bad request version number %d.%d."
+msgstr ""
+
+msgid "Bad resource in URI"
+msgstr "Ungültige Resource in URI"
+
+msgid "Bad scheme in URI"
+msgstr "Ungültiges Scheman in URI"
+
+msgid "Bad subscription ID"
+msgstr "Ungültige Subskriptions-ID"
+
+msgid "Bad username in URI"
+msgstr "Ungültiger Benutzername in URI"
+
+msgid "Bad value string"
+msgstr "Ungültiger Zeichenkette"
+
+msgid "Bad/empty URI"
+msgstr "Ungültige/leere URI"
+
+msgid "Banners"
+msgstr "Banner"
+
+msgid "Bond Paper"
+msgstr "Papier bündeln"
+
+#, c-format
+msgid "Boolean expected for waiteof option \"%s\"."
+msgstr ""
+
+msgid "Buffer overflow detected, aborting."
+msgstr "Pufferüberlauf festgestellt, Abbruch."
+
+msgid "CMYK"
+msgstr "CMYK"
+
+msgid "CPCL Label Printer"
+msgstr "CPCL Etikettendrucker"
+
+msgid "Cancel Jobs"
+msgstr "Druckaufträge abbrechen"
+
+msgid "Cancel RSS Subscription"
+msgstr "RSS-Abo widerrufen"
+
+msgid "Canceling print job."
+msgstr "Auftrag wird abgebrochen."
+
+msgid "Cannot share a remote Kerberized printer."
+msgstr ""
+
+msgid "Cassette"
+msgstr "Kasette"
+
+msgid "Change Settings"
+msgstr "Einstellungen ändern"
+
+#, c-format
+msgid "Character set \"%s\" not supported."
+msgstr "Zeichensatz \"%s\" nicht unterstützt."
+
+msgid "Classes"
+msgstr "Klassen"
+
+msgid "Clean Print Heads"
+msgstr "Saubere Druckköpfe"
+
+msgid "Close-Job doesn't support the job-uri attribute."
+msgstr ""
+
+msgid "Color"
+msgstr "Farbe"
+
+msgid "Color Mode"
+msgstr "Farbmodus"
+
+msgid ""
+"Commands may be abbreviated. Commands are:\n"
+"\n"
+"exit help quit status ?"
+msgstr ""
+"Befehle können abgekürzt werden. Befehle sind:\n"
+"\n"
+"exit help quit status ?"
+
+msgid "Community name uses indefinite length"
+msgstr "Community-Name hat unbestimmte Länge"
+
+msgid "Connected to printer."
+msgstr "Verbunden zum Drucker."
+
+msgid "Connecting to printer."
+msgstr "Verbinde zum Drucker."
+
+msgid "Continue"
+msgstr "Weiter"
+
+msgid "Continuous"
+msgstr "Kontinuierlich"
+
+msgid "Control file sent successfully."
+msgstr "Steuerdatei erfolgreich gesendet."
+
+msgid "Copying print data."
+msgstr "Kopiere Druckdaten."
+
+msgid "Created"
+msgstr "Erstellt"
+
+msgid "Custom"
+msgstr "Eigene"
+
+msgid "CustominCutInterval"
+msgstr "CustominCutInterval"
+
+msgid "CustominTearInterval"
+msgstr "CustominTearInterval"
+
+msgid "Cut"
+msgstr "Abschneiden"
+
+msgid "Cutter"
+msgstr "Abschneider"
+
+msgid "Dark"
+msgstr "Dunkel"
+
+msgid "Darkness"
+msgstr "Dunkelheit"
+
+msgid "Data file sent successfully."
+msgstr "Datendatei erfolgreich gesendet."
+
+msgid "Delete Class"
+msgstr "Klasse löschen"
+
+msgid "Delete Printer"
+msgstr "Drucker löschen"
+
+msgid "DeskJet Series"
+msgstr "DeskJet Serie"
+
+#, c-format
+msgid "Destination \"%s\" is not accepting jobs."
+msgstr "Ziel „%s“ akzeptiert keine Druckaufträge."
+
+#, c-format
+msgid ""
+"Device: uri = %s\n"
+" class = %s\n"
+" info = %s\n"
+" make-and-model = %s\n"
+" device-id = %s\n"
+" location = %s"
+msgstr ""
+
+msgid "Direct Thermal Media"
+msgstr "Direct Thermotransfermedia"
+
+#, c-format
+msgid "Directory \"%s\" contains a relative path."
+msgstr ""
+
+#, c-format
+msgid "Directory \"%s\" has insecure permissions (0%o/uid=%d/gid=%d)."
+msgstr ""
+
+#, c-format
+msgid "Directory \"%s\" is a file."
+msgstr ""
+
+#, c-format
+msgid "Directory \"%s\" not available: %s"
+msgstr ""
+
+#, c-format
+msgid "Directory \"%s\" permissions OK (0%o/uid=%d/gid=%d)."
+msgstr ""
+
+msgid "Disabled"
+msgstr "Deaktiviert"
+
+#, c-format
+msgid "Document #%d does not exist in job #%d."
+msgstr ""
+
+msgid "Duplexer"
+msgstr "Duplexer"
+
+msgid "Dymo"
+msgstr "Dymo"
+
+msgid "EPL1 Label Printer"
+msgstr "EPL1 Etikettendrucker"
+
+msgid "EPL2 Label Printer"
+msgstr "EPL2 Etikettendrucker"
+
+msgid "Edit Configuration File"
+msgstr "Konfigurationsdatei bearbeiten"
+
+msgid "Empty PPD file."
+msgstr "Leere PPD Datei."
+
+msgid "Encryption is not supported."
+msgstr "Verschlüsselung ist nicht unterstüzt."
+
+#. TRANSLATORS: Banner/cover sheet after the print job.
+msgid "Ending Banner"
+msgstr "Banner beenden"
+
+msgid "English"
+msgstr "German"
+
+msgid ""
+"Enter your username and password or the root username and password to access "
+"this page. If you are using Kerberos authentication, make sure you have a "
+"valid Kerberos ticket."
+msgstr ""
+"Geben Sie Ihren Benutzernamen und das Kennwort oder den root-Benutzernamen "
+"und -Kennwort ein, um auf diese Seite zuzgreifen. Falls Sie die Kerberos-"
+"Authentifizierung verwenden, stellen Sie sicher, dass Sie ein gültiges "
+"Kerberos-Ticket haben."
+
+msgid "Envelope #10 "
+msgstr "US Umschlag 10"
+
+msgid "Envelope #11"
+msgstr "US Umschlag 11"
+
+msgid "Envelope #12"
+msgstr "US Umschlag 12"
+
+msgid "Envelope #14"
+msgstr "US Umschlag 14"
+
+msgid "Envelope #9"
+msgstr "US Umschlag 9"
+
+msgid "Envelope B4"
+msgstr "Umschlag B4"
+
+msgid "Envelope B5"
+msgstr "Umschlag B5"
+
+msgid "Envelope B6"
+msgstr "Umschlag B6"
+
+msgid "Envelope C0"
+msgstr "Umschlag C0"
+
+msgid "Envelope C1"
+msgstr "Umschlag C1"
+
+msgid "Envelope C2"
+msgstr "Umschlag C2"
+
+msgid "Envelope C3"
+msgstr "Umschlag C3"
+
+msgid "Envelope C4"
+msgstr "Umschlag C4"
+
+msgid "Envelope C5"
+msgstr "Umschlag C5"
+
+msgid "Envelope C6"
+msgstr "Umschlag C6"
+
+msgid "Envelope C65"
+msgstr "Umschlag C65"
+
+msgid "Envelope C7"
+msgstr "Umschlag C7"
+
+msgid "Envelope Choukei 3"
+msgstr ""
+
+msgid "Envelope Choukei 3 Long Edge"
+msgstr ""
+
+msgid "Envelope Choukei 4"
+msgstr ""
+
+msgid "Envelope Choukei 4 Long Edge"
+msgstr ""
+
+msgid "Envelope DL"
+msgstr ""
+
+msgid "Envelope Feed"
+msgstr "Umschlagzuführung"
+
+msgid "Envelope Invite"
+msgstr ""
+
+msgid "Envelope Italian"
+msgstr ""
+
+msgid "Envelope Kaku2"
+msgstr ""
+
+msgid "Envelope Kaku2 Long Edge"
+msgstr ""
+
+msgid "Envelope Kaku3"
+msgstr ""
+
+msgid "Envelope Kaku3 Long Edge"
+msgstr ""
+
+msgid "Envelope Monarch"
+msgstr ""
+
+msgid "Envelope PRC1 "
+msgstr ""
+
+msgid "Envelope PRC1 Long Edge"
+msgstr ""
+
+msgid "Envelope PRC10"
+msgstr ""
+
+msgid "Envelope PRC10 Long Edge"
+msgstr ""
+
+msgid "Envelope PRC2"
+msgstr ""
+
+msgid "Envelope PRC2 Long Edge"
+msgstr ""
+
+msgid "Envelope PRC3"
+msgstr ""
+
+msgid "Envelope PRC3 Long Edge"
+msgstr ""
+
+msgid "Envelope PRC4"
+msgstr ""
+
+msgid "Envelope PRC4 Long Edge"
+msgstr ""
+
+msgid "Envelope PRC5 Long Edge"
+msgstr ""
+
+msgid "Envelope PRC5PRC5"
+msgstr ""
+
+msgid "Envelope PRC6"
+msgstr ""
+
+msgid "Envelope PRC6 Long Edge"
+msgstr ""
+
+msgid "Envelope PRC7"
+msgstr ""
+
+msgid "Envelope PRC7 Long Edge"
+msgstr ""
+
+msgid "Envelope PRC8"
+msgstr ""
+
+msgid "Envelope PRC8 Long Edge"
+msgstr ""
+
+msgid "Envelope PRC9"
+msgstr ""
+
+msgid "Envelope PRC9 Long Edge"
+msgstr ""
+
+msgid "Envelope Personal"
+msgstr ""
+
+msgid "Envelope You4"
+msgstr ""
+
+msgid "Envelope You4 Long Edge"
+msgstr ""
+
+msgid "Environment Variables:"
+msgstr ""
+
+msgid "Epson"
+msgstr "Epson"
+
+msgid "Error Policy"
+msgstr "Fehlerbehandlung"
+
+msgid "Error sending raster data."
+msgstr "Fehler beim Senden von Rasterdaten."
+
+msgid "Error: need hostname after \"-h\" option."
+msgstr "Fehler: Hostname ist nach der \"-h\" Option erforderlich."
+
+msgid "Every 10 Labels"
+msgstr "Alle 10 Etiketten"
+
+msgid "Every 2 Labels"
+msgstr "Alle 2 Etiketten"
+
+msgid "Every 3 Labels"
+msgstr "Alle 3 Etiketten"
+
+msgid "Every 4 Labels"
+msgstr "Alle 4 Etiketten"
+
+msgid "Every 5 Labels"
+msgstr "Alle 5 Etiketten"
+
+msgid "Every 6 Labels"
+msgstr "Alle 6 Etiketten"
+
+msgid "Every 7 Labels"
+msgstr "Alle 7 Etiketten"
+
+msgid "Every 8 Labels"
+msgstr "Alle 8 Etiketten"
+
+msgid "Every 9 Labels"
+msgstr "Alle 9 Etiketten"
+
+msgid "Every Label"
+msgstr "Bei jedem Etikett"
+
+msgid "Executive"
+msgstr ""
+
+msgid "Expectation Failed"
+msgstr "Erwartete Daten nicht erhalten"
+
+msgid "Export Printers to Samba"
+msgstr "Drucker zu Samba exportieren"
+
+msgid "Expressions:"
+msgstr "Ausdrücke:"
+
+msgid "FAIL"
+msgstr ""
+
+msgid "FanFold German"
+msgstr ""
+
+msgid "FanFold Legal German"
+msgstr ""
+
+msgid "Fanfold US"
+msgstr ""
+
+#, c-format
+msgid "File \"%s\" contains a relative path."
+msgstr ""
+
+#, c-format
+msgid "File \"%s\" has insecure permissions (0%o/uid=%d/gid=%d)."
+msgstr ""
+
+#, c-format
+msgid "File \"%s\" is a directory."
+msgstr ""
+
+#, c-format
+msgid "File \"%s\" not available: %s"
+msgstr "Datei \"%s\" nicht verfügbar: %s"
+
+#, c-format
+msgid "File \"%s\" permissions OK (0%o/uid=%d/gid=%d)."
+msgstr ""
+
+msgid "File Folder "
+msgstr "Datei-Verzeichnis "
+
+#, c-format
+msgid ""
+"File device URIs have been disabled. To enable, see the FileDevice directive "
+"in \"%s/cups-files.conf\"."
+msgstr ""
+
+#, c-format
+msgid "Finished page %d."
+msgstr ""
+
+msgid "Folio"
+msgstr "Folio"
+
+msgid "Forbidden"
+msgstr "Verboten"
+
+msgid "General"
+msgstr "Allgemein"
+
+msgid "Generic"
+msgstr "Allgemein"
+
+msgid "Get-Response-PDU uses indefinite length"
+msgstr "Get-Response-PDU hat unbestimmte Länge"
+
+msgid "Glossy Paper"
+msgstr "Glanzpapier"
+
+msgid "Got a printer-uri attribute but no job-id."
+msgstr ""
+
+msgid "Grayscale"
+msgstr "Graustufen"
+
+msgid "HP"
+msgstr "HP"
+
+msgid "Hanging Folder"
+msgstr "Hängeordner"
+
+msgid "Help file not in index."
+msgstr "Hilfedatei nicht im Index."
+
+msgid "IPP 1setOf attribute with incompatible value tags."
+msgstr ""
+
+msgid "IPP attribute has no name."
+msgstr ""
+
+msgid "IPP attribute is not a member of the message."
+msgstr ""
+
+msgid "IPP begCollection value not 0 bytes."
+msgstr ""
+
+msgid "IPP boolean value not 1 byte."
+msgstr ""
+
+msgid "IPP date value not 11 bytes."
+msgstr ""
+
+msgid "IPP endCollection value not 0 bytes."
+msgstr ""
+
+msgid "IPP enum value not 4 bytes."
+msgstr ""
+
+msgid "IPP extension tag larger than 0x7FFFFFFF."
+msgstr ""
+
+msgid "IPP integer value not 4 bytes."
+msgstr ""
+
+msgid "IPP language length overflows value."
+msgstr ""
+
+msgid "IPP language length too large."
+msgstr ""
+
+msgid "IPP member name is not empty."
+msgstr ""
+
+msgid "IPP memberName value is empty."
+msgstr ""
+
+msgid "IPP memberName with no attribute."
+msgstr ""
+
+msgid "IPP name larger than 32767 bytes."
+msgstr ""
+
+msgid "IPP nameWithLanguage value less than minimum 4 bytes."
+msgstr ""
+
+msgid "IPP octetString length too large."
+msgstr ""
+
+msgid "IPP rangeOfInteger value not 8 bytes."
+msgstr ""
+
+msgid "IPP resolution value not 9 bytes."
+msgstr ""
+
+msgid "IPP string length overflows value."
+msgstr ""
+
+msgid "IPP textWithLanguage value less than minimum 4 bytes."
+msgstr ""
+
+msgid "IPP value larger than 32767 bytes."
+msgstr "IPP Wert länger als 32767 byte"
+
+msgid "ISOLatin1"
+msgstr "UTF-8"
+
+msgid "Illegal control character"
+msgstr "Ungültiges Steuerungszeichen"
+
+msgid "Illegal main keyword string"
+msgstr "Ungültiger Main-Keyword-String"
+
+msgid "Illegal option keyword string"
+msgstr "Ungültiger Option-Keyword-String"
+
+msgid "Illegal translation string"
+msgstr "Ungültiger Übersetzungsstring"
+
+msgid "Illegal whitespace character"
+msgstr "Ungültiges Leerzeichen"
+
+msgid "Installable Options"
+msgstr "Installationsoptionen"
+
+msgid "Installed"
+msgstr "Installiert"
+
+msgid "IntelliBar Label Printer"
+msgstr "IntelliBar Etikettendrucker"
+
+msgid "Intellitech"
+msgstr "Intellitech"
+
+msgid "Internal Server Error"
+msgstr "Interner Serverfehler"
+
+msgid "Internal error"
+msgstr "Interner Fehler"
+
+msgid "Internet Postage 2-Part"
+msgstr "Internet Postage 2-teilig"
+
+msgid "Internet Postage 3-Part"
+msgstr "Internet Postage 3-teilig"
+
+msgid "Internet Printing Protocol"
+msgstr "Internet Printing Protocol"
+
+msgid "Invalid media name arguments."
+msgstr "Ungültige Argumente des Mediennamens."
+
+msgid "Invalid media size."
+msgstr "Ungültige Mediengrösse."
+
+#, c-format
+msgid "Invalid printer command \"%s\"."
+msgstr "Ungültiges Druckkommando \"%s\"."
+
+msgid "JCL"
+msgstr "JCL"
+
+msgid "JIS B0"
+msgstr ""
+
+msgid "JIS B1"
+msgstr ""
+
+msgid "JIS B10"
+msgstr ""
+
+msgid "JIS B2"
+msgstr ""
+
+msgid "JIS B3"
+msgstr ""
+
+msgid "JIS B4"
+msgstr ""
+
+msgid "JIS B4 Long Edge"
+msgstr ""
+
+msgid "JIS B5"
+msgstr ""
+
+msgid "JIS B5 Long Edge"
+msgstr ""
+
+msgid "JIS B6"
+msgstr ""
+
+msgid "JIS B6 Long Edge"
+msgstr ""
+
+msgid "JIS B7"
+msgstr ""
+
+msgid "JIS B8"
+msgstr ""
+
+msgid "JIS B9"
+msgstr ""
+
+#, c-format
+msgid "Job #%d cannot be restarted - no files."
+msgstr "Auftrag #%d kann nicht wieder gestartet werden - keine Dateien."
+
+#, c-format
+msgid "Job #%d does not exist."
+msgstr "Auftrag #%d existiert nicht."
+
+#, c-format
+msgid "Job #%d is already aborted - can't cancel."
+msgstr "Druckauftrag Nr. %d wurde bereits abgebrochen – Abbruch nicht möglich."
+
+#, c-format
+msgid "Job #%d is already canceled - can't cancel."
+msgstr "Druckauftrag Nr. %d wurde bereits abgebrochen – Abbruch nicht möglich."
+
+#, c-format
+msgid "Job #%d is already completed - can't cancel."
+msgstr ""
+"Druckauftrag Nr. %d wurde bereits abgeschlossen – Abbruch nicht möglich."
+
+#, c-format
+msgid "Job #%d is finished and cannot be altered."
+msgstr "Auftrag #%d ist abgeschlossen und kann nicht mehr geändert werden."
+
+#, c-format
+msgid "Job #%d is not complete."
+msgstr "Auftrag #%d ist nicht abgeschlossen."
+
+#, c-format
+msgid "Job #%d is not held for authentication."
+msgstr "Auftrag #%d ist nicht zur Authentifizierung angehalten."
+
+#, c-format
+msgid "Job #%d is not held."
+msgstr "Auftrag #%d ist nicht angehalten."
+
+msgid "Job Completed"
+msgstr "Druckauftrag abgeschlossen"
+
+msgid "Job Created"
+msgstr "Druckauftrag erzeugt"
+
+msgid "Job Options Changed"
+msgstr "Druckauftragsoptionen wurden geändert"
+
+msgid "Job Stopped"
+msgstr "Druckauftrag gestoppt"
+
+msgid "Job is completed and cannot be changed."
+msgstr "Druckauftrag ist abgeschlossen und kann nicht geändert werden."
+
+msgid "Job operation failed"
+msgstr "Druckvorgang fehlgeschlagen:"
+
+msgid "Job state cannot be changed."
+msgstr "Druckauftragsstatus kann nicht geändert werden."
+
+msgid "Job subscriptions cannot be renewed."
+msgstr "Auftragssubskiptionen können nicht erneuert werden."
+
+msgid "Jobs"
+msgstr "Druckaufträge"
+
+msgid "LPD/LPR Host or Printer"
+msgstr "LPD/LPR-Host oder -Drucker"
+
+msgid "Label Printer"
+msgstr "Etikettendrucker"
+
+msgid "Label Top"
+msgstr "Etikett (oben)"
+
+#, c-format
+msgid "Language \"%s\" not supported."
+msgstr "Sprache \"%s\" nicht unterstützt."
+
+msgid "Large Address"
+msgstr "Adresse gross"
+
+msgid "LaserJet Series PCL 4/5"
+msgstr "LaserJet Serie PCL 4/5"
+
+msgid "Letter Oversize"
+msgstr ""
+
+msgid "Letter Oversize Long Edge"
+msgstr ""
+
+msgid "Light"
+msgstr "Leicht"
+
+msgid "Line longer than the maximum allowed (255 characters)"
+msgstr "Zeile ist länger als die zulässige Länge von 255 Zeichen"
+
+msgid "List Available Printers"
+msgstr "Verfügbare Drucker anzeigen"
+
+msgid "Load paper."
+msgstr "Lade Papier."
+
+msgid "Long-Edge (Portrait)"
+msgstr "Lange Kante (Hochformat)"
+
+msgid "Looking for printer."
+msgstr "Suche nach Drucker."
+
+msgid "Manual Feed"
+msgstr "Manuelle Papierzufuhr"
+
+msgid "Media Size"
+msgstr "Mediengrösse"
+
+msgid "Media Source"
+msgstr "Medienquelle"
+
+msgid "Media Tracking"
+msgstr "Medienführung"
+
+msgid "Media Type"
+msgstr "Medienart"
+
+msgid "Medium"
+msgstr "Medium"
+
+msgid "Memory allocation error"
+msgstr "Fehler bei der Speicherzuteilung"
+
+msgid "Missing CloseGroup"
+msgstr "Fehlendes CloseGroup"
+
+msgid "Missing PPD-Adobe-4.x header"
+msgstr "PPD-Adobe-4.x Header fehlt"
+
+msgid "Missing asterisk in column 1"
+msgstr "Sternchen in Spalte 1 fehlt"
+
+msgid "Missing document-number attribute."
+msgstr "Fehlendes Attribut zur Dokumentennummer."
+
+#, c-format
+msgid "Missing double quote on line %d."
+msgstr "Fehlende Doppelhochkommas in Zeile %d."
+
+msgid "Missing form variable"
+msgstr "Fehlende form Variable"
+
+msgid "Missing last-document attribute in request."
+msgstr ""
+
+msgid "Missing media or media-col."
+msgstr ""
+
+msgid "Missing media-size in media-col."
+msgstr ""
+
+msgid "Missing notify-subscription-ids attribute."
+msgstr ""
+
+msgid "Missing option keyword"
+msgstr ""
+
+msgid "Missing requesting-user-name attribute."
+msgstr ""
+
+msgid "Missing required attributes."
+msgstr ""
+
+msgid "Missing resource in URI"
+msgstr "Fehlende Resource in URI"
+
+msgid "Missing scheme in URI"
+msgstr "Fehlendes Schema in URI"
+
+#, c-format
+msgid "Missing value on line %d."
+msgstr ""
+
+msgid "Missing value string"
+msgstr "Wertestring fehlt"
+
+msgid "Missing x-dimension in media-size."
+msgstr ""
+
+msgid "Missing y-dimension in media-size."
+msgstr ""
+
+#, c-format
+msgid ""
+"Model: name = %s\n"
+" natural_language = %s\n"
+" make-and-model = %s\n"
+" device-id = %s"
+msgstr ""
+
+msgid "Modifiers:"
+msgstr "Modifikator:"
+
+msgid "Modify Class"
+msgstr "Klasse verändern"
+
+msgid "Modify Printer"
+msgstr "Drucker verändern"
+
+msgid "Move All Jobs"
+msgstr "Alle Druckaufträge verschieben"
+
+msgid "Move Job"
+msgstr "Druckauftrag verschieben"
+
+msgid "Moved Permanently"
+msgstr "Dauerhaft verschoben"
+
+msgid "NULL PPD file pointer"
+msgstr "NULL PPD File Pointer"
+
+msgid "Name OID uses indefinite length"
+msgstr "Name-OID hat unbestimmte Länge"
+
+msgid "Nested classes are not allowed."
+msgstr "Geschachtelte Klassen sind nicht erlaubt."
+
+msgid "Never"
+msgstr "Nie"
+
+msgid "No"
+msgstr "Nein"
+
+msgid "No Content"
+msgstr "Kein Inhalt"
+
+msgid "No PPD name"
+msgstr "Kein PPD Name"
+
+msgid "No VarBind SEQUENCE"
+msgstr "Keine VarBind SEQUENCE"
+
+msgid "No Windows printer drivers are installed."
+msgstr "Keine Windows-Druckertreiber installiert."
+
+msgid "No active connection"
+msgstr "Keine aktive Verbindung"
+
+msgid "No active connection."
+msgstr "Keine aktive Verbindung."
+
+#, c-format
+msgid "No active jobs on %s."
+msgstr "Keine aktiven Aufträge auf %s."
+
+msgid "No attributes in request."
+msgstr "Keine Attribute in der Anfrage."
+
+msgid "No authentication information provided."
+msgstr "Keine Authentifizierungsinformation bereitgestellt."
+
+msgid "No community name"
+msgstr "Kein Community-Name"
+
+msgid "No default printer."
+msgstr "Kein voreingestelltes Druckziel"
+
+msgid "No destinations added."
+msgstr "Keine Druckziele hinzugefügt."
+
+msgid "No device URI found in argv[0] or in DEVICE_URI environment variable."
+msgstr "Keine Geräte-URI in argv[0] oder der Umgebungsvariablen DEVICE_URI gefunden."
+
+msgid "No error-index"
+msgstr "Kein Fehlerindex"
+
+msgid "No error-status"
+msgstr "Kein Fehlerstatus"
+
+msgid "No file in print request."
+msgstr "Keine Druckdatei in der Anfrage."
+
+msgid "No modification time"
+msgstr "Keine Modifikationszeit"
+
+msgid "No name OID"
+msgstr "Kein Name-OID"
+
+msgid "No pages were found."
+msgstr "Keine Seiten gefunden."
+
+msgid "No printer name"
+msgstr "Kein Druckername"
+
+msgid "No printer-uri found"
+msgstr "Keine Drucker-uri gefunden"
+
+msgid "No printer-uri found for class"
+msgstr ""
+
+msgid "No printer-uri in request."
+msgstr ""
+
+msgid "No request URI."
+msgstr ""
+
+msgid "No request protocol version."
+msgstr ""
+
+msgid "No request sent."
+msgstr "Keine Anfrage gesendet."
+
+msgid "No request-id"
+msgstr "Keine Anfrage-ID"
+
+msgid "No subscription attributes in request."
+msgstr "Keine Subskriptions-Attribute in der Anfrage."
+
+msgid "No subscriptions found."
+msgstr "Keine Subskriptionen gefunden."
+
+msgid "No variable-bindings SEQUENCE"
+msgstr "Keine „variable-bindings SEQUENCE“"
+
+msgid "No version number"
+msgstr "Keine Versionsnummer"
+
+msgid "Non-continuous (Mark sensing)"
+msgstr "Nicht fortlaufend (Mark-Sensing)"
+
+msgid "Non-continuous (Web sensing)"
+msgstr "Nicht fortlaufend (Web-Sensing)"
+
+msgid "Normal"
+msgstr "Normal"
+
+msgid "Not Found"
+msgstr "Nicht gefunden"
+
+msgid "Not Implemented"
+msgstr "Nicht implementiert"
+
+msgid "Not Installed"
+msgstr "Nicht installiert"
+
+msgid "Not Modified"
+msgstr "Nicht verändert"
+
+msgid "Not Supported"
+msgstr "Nicht unterstützt"
+
+msgid "Not allowed to print."
+msgstr "Drucken nicht erlaubt."
+
+msgid "Note"
+msgstr "Hinweis"
+
+msgid ""
+"Note: this program only validates the DSC comments, not the PostScript "
+"itself."
+msgstr ""
+"Hinweis: dieses Programme validiert nur die DSC Kommentare, nicht PostScript selber"
+
+msgid "OK"
+msgstr "OK"
+
+msgid "Off (1-Sided)"
+msgstr "Aus (Einseitig)"
+
+msgid "Oki"
+msgstr "Oki"
+
+msgid "Online Help"
+msgstr "Online-Hilfe"
+
+#, c-format
+msgid "Open of %s failed: %s"
+msgstr "%s öffnen fehlgeschlagen: %s"
+
+msgid "OpenGroup without a CloseGroup first"
+msgstr "OpenGroup ohne CloseGroup zuerst"
+
+msgid "OpenUI/JCLOpenUI without a CloseUI/JCLCloseUI first"
+msgstr "OpenUI/JCLOpenUI ohne CloseUI/JCLCloseUI zuerst"
+
+msgid "Operation Policy"
+msgstr "Nutzungsrichtlinien"
+
+#, c-format
+msgid "Option \"%s\" cannot be included via %%%%IncludeFeature."
+msgstr ""
+
+msgid "Options Installed"
+msgstr "Installierte Optionen"
+
+msgid "Options:"
+msgstr "Optionen:"
+
+msgid "Out of date PPD cache file."
+msgstr ""
+
+msgid "Out of memory."
+msgstr "Nicht genügend Hauptspeicher."
+
+msgid "Output Mode"
+msgstr "Ausgabemodus"
+
+msgid "Output bin is almost full."
+msgstr "Ausgabefach ist fast voll."
+
+msgid "Output bin is full."
+msgstr "Ausgabefach ist voll."
+
+msgid "Output bin is missing."
+msgstr "Ausgabefach fehlt."
+
+msgid "PASS"
+msgstr "Bestanden"
+
+msgid "PCL Laser Printer"
+msgstr "PCL Laserdrucker"
+
+msgid "PRC16K"
+msgstr "PRC16K"
+
+msgid "PRC16K Long Edge"
+msgstr ""
+
+msgid "PRC32K"
+msgstr "PRC32K"
+
+msgid "PRC32K Long Edge"
+msgstr ""
+
+msgid "PRC32K Oversize"
+msgstr ""
+
+msgid "PRC32K Oversize Long Edge"
+msgstr ""
+
+msgid "Packet does not contain a Get-Response-PDU"
+msgstr "Paket enthält kein Get-Response-PDU"
+
+msgid "Packet does not start with SEQUENCE"
+msgstr "Paket beginnt nicht mit SEQUENCE"
+
+msgid "Paper jam."
+msgstr "Papierstau."
+
+msgid "Paper tray is almost empty."
+msgstr "Papierfach ist fast leer."
+
+msgid "Paper tray is empty."
+msgstr "Papierfach ist leer."
+
+msgid "Paper tray is missing."
+msgstr "Papierfach ist nicht vorhanden."
+
+msgid "ParamCustominCutInterval"
+msgstr "ParamCustominCutInterval"
+
+msgid "ParamCustominTearInterval"
+msgstr "ParamCustominTearInterval"
+
+#, c-format
+msgid "Password for %s on %s? "
+msgstr "Kennwort für „%s“ auf „%s“? "
+
+#, c-format
+msgid "Password for %s required to access %s via SAMBA: "
+msgstr "Kennwort für „%s“ wird benötigt für den Zugriff auf „%s“ über SAMBA: "
+
+msgid "Pause Class"
+msgstr "Klasse anhalten"
+
+msgid "Pause Printer"
+msgstr "Drucker anhalten"
+
+msgid "Peel-Off"
+msgstr "Aufkleber"
+
+msgid "Photo"
+msgstr "Foto"
+
+msgid "Photo Labels"
+msgstr "Foto-Etiketten"
+
+msgid "Plain Paper"
+msgstr "Standardpapier"
+
+msgid "Policies"
+msgstr "Richtlinien "
+
+msgid "Port Monitor"
+msgstr "Port-Monitor"
+
+msgid "PostScript Printer"
+msgstr "PostScript-Drucker"
+
+msgid "Postcard"
+msgstr "Postkarte"
+
+msgid "Postcard Double "
+msgstr ""
+
+msgid "Postcard Double Long Edge"
+msgstr ""
+
+msgid "Postcard Long Edge"
+msgstr ""
+
+msgid "Preparing to print."
+msgstr ""
+
+msgid "Print Density"
+msgstr "Druckdichte"
+
+msgid "Print Job:"
+msgstr "Druckauftrag:"
+
+msgid "Print Mode"
+msgstr "Druckmodus"
+
+msgid "Print Rate"
+msgstr "Druckrate"
+
+msgid "Print Self-Test Page"
+msgstr "Selbsttestseite drucken"
+
+msgid "Print Speed"
+msgstr "Druckgeschwindigkeit"
+
+msgid "Print Test Page"
+msgstr "Testseite drucken"
+
+msgid "Print and Cut"
+msgstr "Drucken und abschneiden"
+
+msgid "Print and Tear"
+msgstr "Drucken und abziehen"
+
+msgid "Print file sent."
+msgstr "Druckdatei gesendet."
+
+msgid "Print job canceled at printer."
+msgstr "Druckauftrag wurde am Drucker abgebrochen."
+
+msgid "Print job too large."
+msgstr "Der Druckauftrag ist zu gross."
+
+msgid "Print job was not accepted."
+msgstr "Der Druckauftrag wurde nicht angenommen."
+
+msgid "Printer Added"
+msgstr "Drucker hinzugefügt"
+
+msgid "Printer Default"
+msgstr "Standardeinstellung für Drucker"
+
+msgid "Printer Deleted"
+msgstr "Drucker gelöscht"
+
+msgid "Printer Modified"
+msgstr "Drucker geändert"
+
+msgid "Printer Paused"
+msgstr "Drucker angehalten"
+
+msgid "Printer Settings"
+msgstr "Druckereinstellungen"
+
+msgid "Printer cannot print supplied content."
+msgstr "Drucker kann den Inhalt nicht drucken."
+
+msgid "Printer cannot print with supplied options."
+msgstr "Drucker kann mit den angegebenen Optionen nicht drucken."
+
+msgid "Printer:"
+msgstr "Drucker:"
+
+msgid "Printers"
+msgstr "Drucker"
+
+#, c-format
+msgid "Printing page %d, %u%% complete."
+msgstr "Drucke Seite %d, %u%% fertig."
+
+msgid "Quarto"
+msgstr "US Quarto"
+
+msgid "Quota limit reached."
+msgstr "Kontingentgrenze erreicht."
+
+msgid "Rank Owner Job File(s) Total Size"
+msgstr "Rang Besitz. Auftrag Datei(en) Gesamtgrösse"
+
+msgid "Reject Jobs"
+msgstr "Druckaufträge ablehnen"
+
+#, c-format
+msgid "Remote host did not accept control file (%d)."
+msgstr "Entfernter Host hat die Steuerdatei (%d) nicht akzeptiert."
+
+#, c-format
+msgid "Remote host did not accept data file (%d)."
+msgstr "Entfernter Host hat die Datendatei (%d) nicht akzeptiert."
+
+msgid "Reprint After Error"
+msgstr "Druckvorgang nach dem Fehler fortsetzen"
+
+msgid "Request Entity Too Large"
+msgstr "Gesamte Anfrage zu gross"
+
+msgid "Resolution"
+msgstr "Auflösung"
+
+msgid "Resume Class"
+msgstr "Klasse fortsetzen"
+
+msgid "Resume Printer"
+msgstr "Drucken fortsetzen"
+
+msgid "Return Address"
+msgstr "Antwort-Adresse"
+
+msgid "Rewind"
+msgstr "Zurückdrehen"
+
+#, c-format
+msgid "Running command: %s %s -N -A %s -c '%s'"
+msgstr ""
+
+msgid "SEQUENCE uses indefinite length"
+msgstr "SEQUENCE hat unbestimmte Länge"
+
+msgid "SSL/TLS Negotiation Error"
+msgstr "SSL/TLS Verhandlungsfehler"
+
+msgid "See Other"
+msgstr "Siehe auch"
+
+msgid "Sending data to printer."
+msgstr "Sende Daten zum Drucker."
+
+msgid "Server Restarted"
+msgstr "Server neu gestartet"
+
+msgid "Server Security Auditing"
+msgstr "Server Security Auditing"
+
+msgid "Server Started"
+msgstr "Server gestartet"
+
+msgid "Server Stopped"
+msgstr "Server ist angehalten"
+
+msgid "Server credentials not set."
+msgstr "Server-Zugangsdaten nicht gesetzt."
+
+msgid "Service Unavailable"
+msgstr "Dienst nicht verfügbar"
+
+msgid "Set Allowed Users"
+msgstr "Zugelassene Benutzer festlegen"
+
+msgid "Set As Server Default"
+msgstr "Als Voreinstellungen für Server festlegen"
+
+msgid "Set Class Options"
+msgstr "Klassenoptionen festlegen"
+
+msgid "Set Printer Options"
+msgstr "Druckeroptionen festlegen"
+
+msgid "Set Publishing"
+msgstr "Veröffentlichung festlegen"
+
+msgid "Shipping Address"
+msgstr "Lieferadresse"
+
+msgid "Short-Edge (Landscape)"
+msgstr "Kurze Kante (Querformat)"
+
+msgid "Special Paper"
+msgstr "Spezialpapier"
+
+#, c-format
+msgid "Spooling job, %.0f%% complete."
+msgstr "Auftragszwischenspeicherung %.0f%% abgeschlossen."
+
+msgid "Standard"
+msgstr "Standard"
+
+#. TRANSLATORS: Banner/cover sheet before the print job.
+msgid "Starting Banner"
+msgstr "Startbanner"
+
+#, c-format
+msgid "Starting page %d."
+msgstr "Beginne Seite %d."
+
+msgid "Statement"
+msgstr "US Statement"
+
+#, c-format
+msgid "Subscription #%d does not exist."
+msgstr ""
+
+msgid "Substitutions:"
+msgstr "Ersatz:"
+
+msgid "Super A"
+msgstr "Super A"
+
+msgid "Super B"
+msgstr "Super B"
+
+msgid "Super B/A3"
+msgstr "Super B/A3"
+
+msgid "Switching Protocols"
+msgstr "Protokoll wechseln"
+
+msgid "Tabloid"
+msgstr "US Tabloid"
+
+msgid "Tabloid Oversize"
+msgstr ""
+
+msgid "Tabloid Oversize Long Edge"
+msgstr ""
+
+msgid "Tear"
+msgstr "Abreissen"
+
+msgid "Tear-Off"
+msgstr "Abriss"
+
+msgid "Tear-Off Adjust Position"
+msgstr "Abriss-Justierposition"
+
+#, c-format
+msgid "The \"%s\" attribute is required for print jobs."
+msgstr "Das Attribut \"%s\" ist erforderlich für Druckaufträge."
+
+#, c-format
+msgid "The %s attribute cannot be provided with job-ids."
+msgstr ""
+
+#, c-format
+msgid ""
+"The '%s' Job Description attribute cannot be supplied in a job creation "
+"request."
+msgstr ""
+
+#, c-format
+msgid ""
+"The '%s' operation attribute cannot be supplied in a Create-Job request."
+msgstr ""
+
+#, c-format
+msgid "The PPD file \"%s\" could not be found."
+msgstr "Die PPD-Datei „%s“ konnte nicht gefunden werden."
+
+#, c-format
+msgid "The PPD file \"%s\" could not be opened: %s"
+msgstr "Die PPD-Datei „%s“ konnte nicht geöffnet werden: %s"
+
+msgid "The PPD file could not be opened."
+msgstr "Die PPD Datei konnte nicht geöffnet werden."
+
+msgid ""
+"The class name may only contain up to 127 printable characters and may not "
+"contain spaces, slashes (/), or the pound sign (#)."
+msgstr ""
+"Der Klassenname darf maximal 127 druckbare Zeichen haben und darf keine "
+"Leerzeichen, Schrägstriche (/) oder Rautezeichen (#) enthalten."
+
+msgid "The developer unit needs to be replaced."
+msgstr "Die Entwicklereinheit muss gewechselt werden."
+
+msgid "The developer unit will need to be replaced soon."
+msgstr "Die entwicklereinheit muss demnächst gewechselt werden."
+
+msgid "The fuser's temperature is high."
+msgstr "Die Temperatur der Fixiereinheit ist hoch."
+
+msgid "The fuser's temperature is low."
+msgstr "Die Temperatur der Fixiereinheit ist niedrig."
+
+msgid ""
+"The notify-lease-duration attribute cannot be used with job subscriptions."
+msgstr ""
+"Das Attribut „notify-lease-duration“ kann nicht mit Druckauftrags-"
+"Subskriptionen verwendet werden."
+
+#, c-format
+msgid "The notify-user-data value is too large (%d > 63 octets)."
+msgstr ""
+
+msgid "The optical photoconductor needs to be replaced."
+msgstr ""
+
+msgid "The optical photoconductor will need to be replaced soon."
+msgstr ""
+
+msgid "The printer configuration is incorrect or the printer no longer exists."
+msgstr ""
+
+msgid "The printer did not respond."
+msgstr "Der Drucker hat nicht geantwortet"
+
+msgid "The printer is in use."
+msgstr "Der Drucker ist beschäftigt"
+
+msgid "The printer is low on ink."
+msgstr "Der Drucker hat niedrigen Tintenstand"
+
+msgid "The printer is low on toner."
+msgstr "Der Drucker hat niedrigen Tonerstand"
+
+msgid "The printer is not connected."
+msgstr "Der Drucker ist nicht verbunden"
+
+msgid "The printer is not responding."
+msgstr "Der Drucker antwortet nicht"
+
+msgid "The printer is now connected."
+msgstr "Der Drucker ist jetzt verbunden"
+
+msgid "The printer is now online."
+msgstr "Der Drucker ist jetzt online"
+
+msgid "The printer is offline."
+msgstr "Der Drucker ist offline"
+
+msgid "The printer is unreachable at this time."
+msgstr "Der Drucker ist derzeit nicht erreichbar"
+
+msgid "The printer may be out of ink."
+msgstr "Der Drucker hat mochlicherweise keine Tinte mehr"
+
+msgid "The printer may be out of toner."
+msgstr "Der Drucker könnte zu wenig Toner haben."
+
+msgid "The printer may not exist or is unavailable at this time."
+msgstr "Der Drucker existiert nicht oder ist zur Zeit nicht verfügbar."
+
+msgid ""
+"The printer name may only contain up to 127 printable characters and may not "
+"contain spaces, slashes (/), or the pound sign (#)."
+msgstr ""
+"Der Druckername darf maximal 127 druckbare Zeichen haben und darf keine "
+"Leerzeichen, Schrägstriche (/) oder Rautezeichen (#) enthalten."
+
+msgid "The printer or class does not exist."
+msgstr "Der Drucker oder die Klasse existiert nicht."
+
+msgid "The printer or class is not shared."
+msgstr "Der Drucker oder die Klasse ist nicht freigegeben."
+
+msgid "The printer's cover is open."
+msgstr "Die Druckerabdeckung ist offen."
+
+msgid "The printer's door is open."
+msgstr "Die Klappe des Druckers ist offen"
+
+msgid "The printer's interlock is open."
+msgstr "Die Sicherheitsverriegelung des Druckers ist offen."
+
+msgid "The printer's waste bin is almost full."
+msgstr "Der Resttonerbehälter des Druckers ist fast voll"
+
+msgid "The printer's waste bin is full."
+msgstr "Der Resttonerbehälter des Druckers ist voll"
+
+#, c-format
+msgid "The printer-uri \"%s\" contains invalid characters."
+msgstr "Die Drucker-URI „%s“ enthält ungültige Zeichen."
+
+msgid "The printer-uri attribute is required."
+msgstr ""
+
+msgid ""
+"The printer-uri must be of the form \"ipp://HOSTNAME/classes/CLASSNAME\"."
+msgstr ""
+"Die Drucker-URI muss in der folgenden Form vorliegen: ipp://HOSTNAME/classes/"
+"CLASSNAME"
+
+msgid ""
+"The printer-uri must be of the form \"ipp://HOSTNAME/printers/PRINTERNAME\"."
+msgstr ""
+"Die Drucker-URI muss in der folgenden Form vorliegen: ipp://HOSTNAME/"
+"printers/PRINTERNAME"
+
+msgid ""
+"The subscription name may not contain spaces, slashes (/), question marks "
+"(?), or the pound sign (#)."
+msgstr ""
+"Der Subkriptionsname darf keine Leerzeichen, Schrägstriche (/), Fragezeichen "
+"(?) oder Rautezeichen (#) enthalten."
+
+msgid ""
+"The web interface is currently disabled. Run \"cupsctl WebInterface=yes\" to "
+"enable it."
+msgstr ""
+"Die Web-Schnittstelle ist derzeit abgeschaltet. Das Einschalten kann mit"
+"dem Befehl \"cupsctl WebInterface=yes\" erfolgen."
+
+#, c-format
+msgid "The which-jobs value \"%s\" is not supported."
+msgstr ""
+
+msgid "There are too many subscriptions."
+msgstr "Es gibt zu viele Subskriptionen."
+
+msgid "There was an unrecoverable USB error."
+msgstr "Ein nicht zu behebenden USB Fehler ist aufgetreten."
+
+msgid "Thermal Transfer Media"
+msgstr "Thermotransferpapier"
+
+msgid "Too many active jobs."
+msgstr "Zu viele aktive Druckaufträge."
+
+#, c-format
+msgid "Too many job-sheets values (%d > 2)."
+msgstr ""
+
+#, c-format
+msgid "Too many printer-state-reasons values (%d > %d)."
+msgstr ""
+
+msgid "Transparency"
+msgstr "Transparenz"
+
+msgid "Tray"
+msgstr "Fach"
+
+msgid "Tray 1"
+msgstr "Fach 1"
+
+msgid "Tray 2"
+msgstr "Fach 2"
+
+msgid "Tray 3"
+msgstr "Fach 3"
+
+msgid "Tray 4"
+msgstr "Fach 4"
+
+msgid "URI Too Long"
+msgstr "URI zu lang"
+
+msgid "URI too large"
+msgstr "URI zu gross"
+
+msgid "US Ledger"
+msgstr "US Ledger"
+
+msgid "US Legal"
+msgstr "US Lang"
+
+msgid "US Legal Oversize"
+msgstr ""
+
+msgid "US Letter"
+msgstr "US Letter"
+
+msgid "US Letter Long Edge"
+msgstr ""
+
+msgid "US Letter Oversize"
+msgstr ""
+
+msgid "US Letter Oversize Long Edge"
+msgstr ""
+
+msgid "US Letter Small"
+msgstr ""
+
+msgid "Unable to access cupsd.conf file"
+msgstr "Kein Zugriff auf die Datei cupsd.conf"
+
+msgid "Unable to access help file."
+msgstr "Kein Zugriff auf die Hilfe-Datei."
+
+msgid "Unable to add RSS subscription"
+msgstr "RSS-Abo konnte nicht hinzugefügt werden:"
+
+msgid "Unable to add class"
+msgstr "Klasse konnte nicht hinzugefügt werden:"
+
+msgid "Unable to add document to print job."
+msgstr ""
+
+#, c-format
+msgid "Unable to add job for destination \"%s\"."
+msgstr ""
+
+msgid "Unable to add printer"
+msgstr "Drucker konnte nicht hinzugefügt werden:"
+
+msgid "Unable to allocate memory for file types."
+msgstr ""
+
+msgid "Unable to allocate memory for page info"
+msgstr ""
+
+msgid "Unable to allocate memory for pages array"
+msgstr ""
+
+msgid "Unable to cancel RSS subscription"
+msgstr "RSS-Abo konnte nicht widerrufen werden:"
+
+msgid "Unable to cancel print job."
+msgstr "Druckauftrag kann nicht abgebrochen werden."
+
+msgid "Unable to change printer"
+msgstr "Drucker konnte nicht geändert werden"
+
+msgid "Unable to change printer-is-shared attribute"
+msgstr "Attribut „printer-is-shared“ konnte nicht geändert werden"
+
+msgid "Unable to change server settings"
+msgstr "Servereinstellungen konnten nicht geändert werden :"
+
+#, c-format
+msgid "Unable to compile mimeMediaType regular expression: %s."
+msgstr ""
+
+#, c-format
+msgid "Unable to compile naturalLanguage regular expression: %s."
+msgstr ""
+
+msgid "Unable to configure printer options."
+msgstr "Druckeroptionen können nicht konfiguriert werden."
+
+msgid "Unable to connect to host."
+msgstr "Verbindungsaufbau zum Host fehlgeschlagen."
+
+msgid "Unable to contact printer, queuing on next printer in class."
+msgstr ""
+
+#, c-format
+msgid "Unable to copy 64-bit CUPS printer driver files (%d)."
+msgstr ""
+
+#, c-format
+msgid "Unable to copy 64-bit Windows printer driver files (%d)."
+msgstr ""
+
+#, c-format
+msgid "Unable to copy CUPS printer driver files (%d)."
+msgstr ""
+
+#, c-format
+msgid "Unable to copy PPD file - %s"
+msgstr ""
+
+msgid "Unable to copy PPD file."
+msgstr ""
+
+#, c-format
+msgid "Unable to copy Windows 2000 printer driver files (%d)."
+msgstr ""
+
+#, c-format
+msgid "Unable to copy Windows 9x printer driver files (%d)."
+msgstr ""
+
+#, c-format
+msgid "Unable to copy interface script - %s"
+msgstr ""
+
+msgid "Unable to create printer-uri"
+msgstr ""
+
+msgid "Unable to create server credentials."
+msgstr ""
+
+msgid "Unable to create temporary file"
+msgstr "Temporäre Datei konntenicht erstellt werden :"
+
+msgid "Unable to delete class"
+msgstr "Die Klasse konnte nicht gelöscht werden :"
+
+msgid "Unable to delete printer"
+msgstr "Der Drucker konnte nicht gelöscht werden :"
+
+msgid "Unable to do maintenance command"
+msgstr "Wartungsbefehl konnte nicht ausgeführt werden :"
+
+msgid "Unable to edit cupsd.conf files larger than 1MB"
+msgstr ""
+
+msgid ""
+"Unable to establish a secure connection to host (certificate chain invalid)."
+msgstr ""
+
+msgid ""
+"Unable to establish a secure connection to host (certificate not yet valid)."
+msgstr ""
+
+msgid "Unable to establish a secure connection to host (expired certificate)."
+msgstr ""
+
+msgid "Unable to establish a secure connection to host (host name mismatch)."
+msgstr ""
+
+msgid ""
+"Unable to establish a secure connection to host (peer dropped connection "
+"before responding)."
+msgstr ""
+
+msgid ""
+"Unable to establish a secure connection to host (self-signed certificate)."
+msgstr ""
+
+msgid ""
+"Unable to establish a secure connection to host (untrusted certificate)."
+msgstr ""
+
+msgid "Unable to establish a secure connection to host."
+msgstr ""
+
+msgid "Unable to find destination for job"
+msgstr ""
+
+msgid "Unable to find printer."
+msgstr ""
+
+msgid "Unable to find server credentials."
+msgstr "Die Server-Zugangsdaten konnten nicht gefunden werden."
+
+msgid "Unable to get backend exit status."
+msgstr ""
+
+msgid "Unable to get class list"
+msgstr "Klassenliste konnte nicht ermittelt werden:"
+
+msgid "Unable to get class status"
+msgstr "Klassenstatus konnte nicht ermittelt werden:"
+
+msgid "Unable to get list of printer drivers"
+msgstr "Liste der Druckertreiber konnte nicht ermittel werden:"
+
+msgid "Unable to get printer attributes"
+msgstr "Druckerattribute konnten nicht ermittelt werden:"
+
+msgid "Unable to get printer list"
+msgstr "Druckerliste konnte nicht ermittelt werden:"
+
+msgid "Unable to get printer status"
+msgstr "Druckerstatus konnte nicht ermittelt werden"
+
+msgid "Unable to get printer status."
+msgstr "Druckerstatus konnte nicht ermittelt werden:"
+
+#, c-format
+msgid "Unable to install Windows 2000 printer driver files (%d)."
+msgstr ""
+
+#, c-format
+msgid "Unable to install Windows 9x printer driver files (%d)."
+msgstr ""
+
+msgid "Unable to load help index."
+msgstr ""
+
+#, c-format
+msgid "Unable to locate printer \"%s\"."
+msgstr ""
+
+msgid "Unable to locate printer."
+msgstr ""
+
+msgid "Unable to modify class"
+msgstr "Klasse konnte nicht verändert werden:"
+
+msgid "Unable to modify printer"
+msgstr "Drucker kann nicht verändert werden:"
+
+msgid "Unable to move job"
+msgstr "Druckauftrag kann nicht bewegt werden"
+
+msgid "Unable to move jobs"
+msgstr "Druckaufträge können nicht bewegt werden"
+
+msgid "Unable to open PPD file"
+msgstr "PPD Datei kann nicht geöffnet werden"
+
+msgid "Unable to open cupsd.conf file:"
+msgstr "Die Datei „cupsd.conf“ kann nicht geöffnet werden:"
+
+msgid "Unable to open device file"
+msgstr "Die Gerätedatei kann nicht geöffnet werden"
+
+#, c-format
+msgid "Unable to open document #%d in job #%d."
+msgstr ""
+
+msgid "Unable to open help file."
+msgstr "Die Hilfe-Datei kann nicht geöffnet werden"
+
+msgid "Unable to open print file"
+msgstr "Die Druckdatei kann nicht geöffnet werden"
+
+msgid "Unable to open raster file"
+msgstr "Die Rasterdatei kann nicht geöffnet werden"
+
+msgid "Unable to print test page"
+msgstr "Die Testseite kann nicht gedruckt werden"
+
+msgid "Unable to read print data."
+msgstr ""
+
+msgid "Unable to resolve printer-uri."
+msgstr ""
+
+#, c-format
+msgid "Unable to run \"%s\": %s"
+msgstr ""
+
+msgid "Unable to see in file"
+msgstr ""
+
+msgid "Unable to send command to printer driver"
+msgstr ""
+
+msgid "Unable to send data to printer."
+msgstr "Kann Daten nicht zum Drucker senden."
+
+#, c-format
+msgid "Unable to set Windows printer driver (%d)."
+msgstr "Kann Windows Druckertreiber (%d) nicht setzen."
+
+msgid "Unable to set options"
+msgstr "Optionen konnten nicht festgelegt werden:"
+
+msgid "Unable to set server default"
+msgstr "Standardeinstellungen für Server konnten nicht festgelegt werden:"
+
+msgid "Unable to start backend process."
+msgstr "Backend-Prozess kann nicht gestartet werden."
+
+msgid "Unable to upload cupsd.conf file"
+msgstr "Die Datei „cupsd.conf“ kann nicht hochgeladen werden:"
+
+msgid "Unable to use legacy USB class driver."
+msgstr "Der alte USB-KlassenTreiber kann nicht verwendet werden."
+
+msgid "Unable to write print data"
+msgstr "Kann Druckdaten nicht schreiben"
+
+#, c-format
+msgid "Unable to write uncompressed print data: %s"
+msgstr ""
+
+msgid "Unauthorized"
+msgstr "Nicht berechtigt"
+
+msgid "Units"
+msgstr "Einheiten"
+
+msgid "Unknown"
+msgstr "Unbekannt"
+
+#, c-format
+msgid "Unknown choice \"%s\" for option \"%s\"."
+msgstr ""
+
+#, c-format
+msgid "Unknown encryption option value: \"%s\"."
+msgstr ""
+
+#, c-format
+msgid "Unknown file order: \"%s\"."
+msgstr ""
+
+#, c-format
+msgid "Unknown format character: \"%c\"."
+msgstr ""
+
+msgid "Unknown media size name."
+msgstr ""
+
+#, c-format
+msgid "Unknown option \"%s\" with value \"%s\"."
+msgstr ""
+
+#, c-format
+msgid "Unknown option \"%s\"."
+msgstr "Unbekannte Option \"%s\""
+
+#, c-format
+msgid "Unknown print mode: \"%s\"."
+msgstr "Unbekannter Druckmodus: \"%s\"."
+
+#, c-format
+msgid "Unknown printer-error-policy \"%s\"."
+msgstr "Unbekannte printer-error-policy „%s“."
+
+#, c-format
+msgid "Unknown printer-op-policy \"%s\"."
+msgstr "Unbekannte printer-op-policy „%s“."
+
+msgid "Unknown request method."
+msgstr ""
+
+msgid "Unknown request version."
+msgstr ""
+
+msgid "Unknown scheme in URI"
+msgstr ""
+
+msgid "Unknown service name."
+msgstr ""
+
+#, c-format
+msgid "Unknown version option value: \"%s\"."
+msgstr "Unbekannter Versionsoption: \"%s\"."
+
+#, c-format
+msgid "Unsupported 'compression' value \"%s\"."
+msgstr "Nicht unterstützter Kompressionswert \"%s\"."
+
+#, c-format
+msgid "Unsupported 'document-format' value \"%s\"."
+msgstr ""
+
+msgid "Unsupported 'job-name' value."
+msgstr "Nicht unterstützter 'job-name' Wert."
+
+#, c-format
+msgid "Unsupported character set \"%s\"."
+msgstr ""
+
+#, c-format
+msgid "Unsupported compression \"%s\"."
+msgstr ""
+
+#, c-format
+msgid "Unsupported document-format \"%s\"."
+msgstr ""
+
+#, c-format
+msgid "Unsupported document-format \"%s/%s\"."
+msgstr ""
+
+#, c-format
+msgid "Unsupported format \"%s\"."
+msgstr ""
+
+msgid "Unsupported margins."
+msgstr "Nicht unterstützte Ränder."
+
+msgid "Unsupported media value."
+msgstr "Nicht unterstützter Medienwert."
+
+#, c-format
+msgid "Unsupported number-up value %d, using number-up=1."
+msgstr ""
+
+#, c-format
+msgid "Unsupported number-up-layout value %s, using number-up-layout=lrtb."
+msgstr ""
+
+#, c-format
+msgid "Unsupported page-border value %s, using page-border=none."
+msgstr ""
+
+msgid "Unsupported raster data."
+msgstr ""
+
+msgid "Unsupported value type"
+msgstr "Wertetyp nicht unterstützt"
+
+msgid "Upgrade Required"
+msgstr "Aktualisierung erforderlich"
+
+msgid ""
+"Usage:\n"
+"\n"
+" lpadmin [-h server] -d destination\n"
+" lpadmin [-h server] -x destination\n"
+" lpadmin [-h server] -p printer [-c add-class] [-i interface] [-m model]\n"
+" [-r remove-class] [-v device] [-D description]\n"
+" [-P ppd-file] [-o name=value]\n"
+" [-u allow:user,user] [-u deny:user,user]"
+msgstr ""
+
+#, c-format
+msgid "Usage: %s job-id user title copies options [file]"
+msgstr ""
+
+msgid "Usage: cupsaddsmb [options] printer1 ... printerN"
+msgstr ""
+
+msgid "Usage: cupsctl [options] [param=value ... paramN=valueN]"
+msgstr ""
+
+msgid "Usage: cupsd [options]"
+msgstr ""
+
+msgid "Usage: cupsfilter [ options ] [ -- ] filename"
+msgstr ""
+
+msgid "Usage: cupstestdsc [options] filename.ps [... filename.ps]"
+msgstr ""
+
+msgid ""
+"Usage: cupstestppd [options] filename1.ppd[.gz] [... filenameN.ppd[.gz]]"
+msgstr ""
+
+msgid ""
+"Usage: ippdiscover [options] -a\n"
+" ippdiscover [options] \"service name\"\n"
+"\n"
+"Options:"
+msgstr ""
+
+msgid ""
+"Usage: ippfind [options] regtype[,subtype][.domain.] ... [expression]\n"
+" ippfind [options] name[.regtype[.domain.]] ... [expression]\n"
+" ippfind --help\n"
+" ippfind --version"
+msgstr ""
+
+msgid "Usage: ipptool [options] URI filename [ ... filenameN ]"
+msgstr ""
+
+msgid "Usage: lpmove job/src dest"
+msgstr ""
+
+msgid ""
+"Usage: lpoptions [-h server] [-E] -d printer\n"
+" lpoptions [-h server] [-E] [-p printer] -l\n"
+" lpoptions [-h server] [-E] -p printer -o option[=value] ...\n"
+" lpoptions [-h server] [-E] -x printer"
+msgstr ""
+
+msgid ""
+"Usage: lpq [-P dest] [-U username] [-h hostname[:port]] [-l] [+interval]"
+msgstr ""
+
+msgid "Usage: ppdc [options] filename.drv [ ... filenameN.drv ]"
+msgstr ""
+
+msgid "Usage: ppdhtml [options] filename.drv >filename.html"
+msgstr ""
+
+msgid "Usage: ppdi [options] filename.ppd [ ... filenameN.ppd ]"
+msgstr ""
+
+msgid "Usage: ppdmerge [options] filename.ppd [ ... filenameN.ppd ]"
+msgstr ""
+
+msgid ""
+"Usage: ppdpo [options] -o filename.po filename.drv [ ... filenameN.drv ]"
+msgstr ""
+
+msgid "Usage: snmp [host-or-ip-address]"
+msgstr ""
+
+msgid "Value uses indefinite length"
+msgstr "Wert hat unbestimmte Länge"
+
+msgid "VarBind uses indefinite length"
+msgstr "VarBind hat unbestimmte Länge"
+
+msgid "Version uses indefinite length"
+msgstr "Version hat unbestimmte Länge"
+
+msgid "Waiting for job to complete."
+msgstr "Warte auf Auftragsabschluss."
+
+msgid "Waiting for printer to become available."
+msgstr "Warte darauf dass der Drucker verfügbar wird."
+
+msgid "Waiting for printer to finish."
+msgstr "Warte auf Abschluss."
+
+msgid "Warning, no Windows 2000 printer drivers are installed."
+msgstr "Warnung, keine Win2k Treiber installiert."
+
+msgid "Web Interface is Disabled"
+msgstr "Web-Schnittstelle ist abgeschaltet"
+
+msgid "Yes"
+msgstr "Ja"
+
+#, c-format
+msgid ""
+"You must access this page using the URL <A HREF=\"https://%s:%d%s\">https://"
+"%s:%d%s</A>."
+msgstr ""
+"Auf diese Seite greifen Sie zu über die URL <A HREF=\"https://%s:%d%s"
+"\">https://%s:%d%s</A>."
+
+msgid "ZPL Label Printer"
+msgstr "ZPL Etikettendrucker"
+
+msgid "Zebra"
+msgstr "Zebra"
+
+msgid "aborted"
+msgstr "abgebrochen"
+
+msgid "canceled"
+msgstr "abgebrochen"
+
+msgid "completed"
+msgstr "abgeschlossen"
+
+msgid "cups-deviced failed to execute."
+msgstr "„cups-deviced“ konnte nicht ausgeführt werden."
+
+msgid "cups-driverd failed to execute."
+msgstr "„cups-driverd“ konnte nicht ausgeführt werden."
+
+#, c-format
+msgid "cupsaddsmb: No PPD file for printer \"%s\" - %s"
+msgstr ""
+
+msgid "cupsctl: Cannot set Listen or Port directly."
+msgstr ""
+
+#, c-format
+msgid "cupsctl: Unable to connect to server: %s"
+msgstr ""
+
+#, c-format
+msgid "cupsctl: Unknown option \"%s\""
+msgstr ""
+
+#, c-format
+msgid "cupsctl: Unknown option \"-%c\""
+msgstr ""
+
+msgid "cupsd: Expected config filename after \"-c\" option."
+msgstr ""
+
+msgid "cupsd: Expected cups-files.conf filename after \"-s\" option."
+msgstr ""
+
+msgid "cupsd: On-demand support not compiled in, running in normal mode."
+msgstr ""
+
+msgid "cupsd: Relative cups-files.conf filename not allowed."
+msgstr ""
+
+msgid "cupsd: Unable to get current directory."
+msgstr ""
+
+msgid "cupsd: Unable to get path to cups-files.conf file."
+msgstr ""
+
+#, c-format
+msgid "cupsd: Unknown argument \"%s\" - aborting."
+msgstr ""
+
+#, c-format
+msgid "cupsd: Unknown option \"%c\" - aborting."
+msgstr ""
+
+#, c-format
+msgid "cupsfilter: Invalid document number %d."
+msgstr ""
+
+#, c-format
+msgid "cupsfilter: Invalid job ID %d."
+msgstr ""
+
+msgid "cupsfilter: Only one filename can be specified."
+msgstr ""
+
+#, c-format
+msgid "cupsfilter: Unable to get job file - %s"
+msgstr ""
+
+msgid "cupstestppd: The -q option is incompatible with the -v option."
+msgstr ""
+
+msgid "cupstestppd: The -v option is incompatible with the -q option."
+msgstr ""
+
+#, c-format
+msgid "device for %s/%s: %s"
+msgstr ""
+
+#, c-format
+msgid "device for %s: %s"
+msgstr ""
+
+msgid "error-index uses indefinite length"
+msgstr "Fehlerindex hat unbestimmte Länge"
+
+msgid "error-status uses indefinite length"
+msgstr "Fehlerstatus hat unbestimmte Länge"
+
+msgid "held"
+msgstr "gehalten"
+
+msgid "help\t\tGet help on commands."
+msgstr ""
+
+msgid "idle"
+msgstr "inaktiv"
+
+#, c-format
+msgid "ippfind: Bad regular expression: %s"
+msgstr ""
+
+msgid "ippfind: Cannot use --and after --or."
+msgstr ""
+
+#, c-format
+msgid "ippfind: Expected key name after %s."
+msgstr ""
+
+#, c-format
+msgid "ippfind: Expected port range after %s."
+msgstr ""
+
+#, c-format
+msgid "ippfind: Expected program after %s."
+msgstr ""
+
+#, c-format
+msgid "ippfind: Expected semi-colon after %s."
+msgstr ""
+
+msgid "ippfind: Missing close brace in substitution."
+msgstr ""
+
+msgid "ippfind: Missing close parenthesis."
+msgstr ""
+
+msgid "ippfind: Missing expression before \"--and\"."
+msgstr ""
+
+msgid "ippfind: Missing expression before \"--or\"."
+msgstr ""
+
+#, c-format
+msgid "ippfind: Missing key name after %s."
+msgstr ""
+
+msgid "ippfind: Missing open parenthesis."
+msgstr ""
+
+#, c-format
+msgid "ippfind: Missing program after %s."
+msgstr ""
+
+#, c-format
+msgid "ippfind: Missing regular expression after %s."
+msgstr ""
+
+#, c-format
+msgid "ippfind: Missing semi-colon after %s."
+msgstr ""
+
+msgid "ippfind: Out of memory."
+msgstr ""
+
+msgid "ippfind: Too many parenthesis."
+msgstr ""
+
+#, c-format
+msgid "ippfind: Unable to browse or resolve: %s"
+msgstr ""
+
+#, c-format
+msgid "ippfind: Unable to execute \"%s\": %s"
+msgstr ""
+
+#, c-format
+msgid "ippfind: Unable to use Bonjour: %s"
+msgstr ""
+
+#, c-format
+msgid "ippfind: Unknown variable \"{%s}\"."
+msgstr ""
+
+msgid "ipptool: \"-i\" and \"-n\" are incompatible with \"-P\" and \"-X\"."
+msgstr ""
+
+#, c-format
+msgid "ipptool: Bad URI - %s."
+msgstr ""
+
+msgid "ipptool: Invalid seconds for \"-i\"."
+msgstr ""
+
+msgid "ipptool: May only specify a single URI."
+msgstr ""
+
+msgid "ipptool: Missing count for \"-n\"."
+msgstr ""
+
+msgid "ipptool: Missing filename for \"-f\"."
+msgstr ""
+
+msgid "ipptool: Missing name=value for \"-d\"."
+msgstr ""
+
+msgid "ipptool: Missing seconds for \"-i\"."
+msgstr ""
+
+msgid "ipptool: URI required before test file."
+msgstr ""
+
+#, c-format
+msgid "ipptool: Unknown option \"-%c\"."
+msgstr ""
+
+msgid "job-printer-uri attribute missing."
+msgstr ""
+
+msgid "lpadmin: Class name can only contain printable characters."
+msgstr "lpadmin: Klassenname darf nur druckbare Zeichen enthalten."
+
+msgid "lpadmin: Expected PPD after \"-P\" option."
+msgstr "lpadmin: Nach der \"-P\" Option PPD erwartet."
+
+msgid "lpadmin: Expected allow/deny:userlist after \"-u\" option."
+msgstr "lpadmin: Nach der \"-u\" Option wird eine allow/deny:userlist erwartet."
+
+msgid "lpadmin: Expected class after \"-r\" option."
+msgstr ""
+
+msgid "lpadmin: Expected class name after \"-c\" option."
+msgstr ""
+
+msgid "lpadmin: Expected description after \"-D\" option."
+msgstr ""
+
+msgid "lpadmin: Expected device URI after \"-v\" option."
+msgstr ""
+
+msgid "lpadmin: Expected file type(s) after \"-I\" option."
+msgstr ""
+
+msgid "lpadmin: Expected hostname after \"-h\" option."
+msgstr ""
+
+msgid "lpadmin: Expected interface after \"-i\" option."
+msgstr ""
+
+msgid "lpadmin: Expected location after \"-L\" option."
+msgstr ""
+
+msgid "lpadmin: Expected model after \"-m\" option."
+msgstr ""
+
+msgid "lpadmin: Expected name after \"-R\" option."
+msgstr ""
+
+msgid "lpadmin: Expected name=value after \"-o\" option."
+msgstr ""
+
+msgid "lpadmin: Expected printer after \"-p\" option."
+msgstr ""
+
+msgid "lpadmin: Expected printer name after \"-d\" option."
+msgstr ""
+
+msgid "lpadmin: Expected printer or class after \"-x\" option."
+msgstr ""
+
+msgid "lpadmin: No member names were seen."
+msgstr ""
+
+#, c-format
+msgid "lpadmin: Printer %s is already a member of class %s."
+msgstr ""
+
+#, c-format
+msgid "lpadmin: Printer %s is not a member of class %s."
+msgstr ""
+
+msgid "lpadmin: Printer name can only contain printable characters."
+msgstr "lpadmin: Druckername darf nur druckbare Zeichen enthalten."
+
+msgid ""
+"lpadmin: Unable to add a printer to the class:\n"
+" You must specify a printer name first."
+msgstr ""
+"lpadmin: Kann Drucker nicht zur Klasse hinzufügen:\n"
+" Der Druckername muss zuerst angegeben werden."
+
+#, c-format
+msgid "lpadmin: Unable to connect to server: %s"
+msgstr "lpadmin: Kann nicht mit dem Server %s verbinden."
+
+msgid "lpadmin: Unable to create temporary file"
+msgstr ""
+
+msgid ""
+"lpadmin: Unable to delete option:\n"
+" You must specify a printer name first."
+msgstr ""
+
+#, c-format
+msgid "lpadmin: Unable to open PPD file \"%s\" - %s"
+msgstr "lpadmin: Kann PPD Datei \"%s\" - %s nicht öffnen"
+
+msgid ""
+"lpadmin: Unable to remove a printer from the class:\n"
+" You must specify a printer name first."
+msgstr ""
+
+msgid ""
+"lpadmin: Unable to set the printer options:\n"
+" You must specify a printer name first."
+msgstr ""
+
+#, c-format
+msgid "lpadmin: Unknown allow/deny option \"%s\"."
+msgstr ""
+
+#, c-format
+msgid "lpadmin: Unknown argument \"%s\"."
+msgstr "lpadmin: unbekanntes Argument \"%s\"."
+
+#, c-format
+msgid "lpadmin: Unknown option \"%c\"."
+msgstr ""
+
+msgid "lpadmin: Warning - content type list ignored."
+msgstr ""
+
+msgid "lpc> "
+msgstr "lpc> "
+
+msgid "lpinfo: Expected 1284 device ID string after \"--device-id\"."
+msgstr ""
+
+msgid "lpinfo: Expected language after \"--language\"."
+msgstr ""
+
+msgid "lpinfo: Expected make and model after \"--make-and-model\"."
+msgstr ""
+
+msgid "lpinfo: Expected product string after \"--product\"."
+msgstr ""
+
+msgid "lpinfo: Expected scheme list after \"--exclude-schemes\"."
+msgstr ""
+
+msgid "lpinfo: Expected scheme list after \"--include-schemes\"."
+msgstr ""
+
+msgid "lpinfo: Expected timeout after \"--timeout\"."
+msgstr ""
+
+#, c-format
+msgid "lpinfo: Unknown argument \"%s\"."
+msgstr ""
+
+#, c-format
+msgid "lpinfo: Unknown option \"%c\"."
+msgstr ""
+
+#, c-format
+msgid "lpinfo: Unknown option \"%s\"."
+msgstr ""
+
+#, c-format
+msgid "lpmove: Unable to connect to server: %s"
+msgstr ""
+
+#, c-format
+msgid "lpmove: Unknown argument \"%s\"."
+msgstr ""
+
+#, c-format
+msgid "lpmove: Unknown option \"%c\"."
+msgstr ""
+
+msgid "lpoptions: No printers."
+msgstr ""
+
+#, c-format
+msgid "lpoptions: Unable to add printer or instance: %s"
+msgstr ""
+
+#, c-format
+msgid "lpoptions: Unable to get PPD file for %s: %s"
+msgstr ""
+
+#, c-format
+msgid "lpoptions: Unable to open PPD file for %s."
+msgstr ""
+
+msgid "lpoptions: Unknown printer or class."
+msgstr ""
+
+#, c-format
+msgid ""
+"lpstat: error - %s environment variable names non-existent destination \"%s"
+"\"."
+msgstr ""
+
+#, c-format
+msgid "members of class %s:"
+msgstr ""
+
+msgid "no entries"
+msgstr ""
+
+msgid "no system default destination"
+msgstr ""
+
+msgid "notify-events not specified."
+msgstr ""
+
+#, c-format
+msgid "notify-recipient-uri URI \"%s\" is already used."
+msgstr ""
+
+#, c-format
+msgid "notify-recipient-uri URI \"%s\" uses unknown scheme."
+msgstr ""
+
+msgid "pending"
+msgstr "in Verarbeitung"
+
+#, c-format
+msgid "ppdc: Adding include directory \"%s\"."
+msgstr ""
+
+#, c-format
+msgid "ppdc: Adding/updating UI text from %s."
+msgstr ""
+
+#, c-format
+msgid "ppdc: Bad boolean value (%s) on line %d of %s."
+msgstr ""
+
+#, c-format
+msgid "ppdc: Bad font attribute: %s"
+msgstr ""
+
+#, c-format
+msgid "ppdc: Bad resolution name \"%s\" on line %d of %s."
+msgstr ""
+
+#, c-format
+msgid "ppdc: Bad status keyword %s on line %d of %s."
+msgstr ""
+
+#, c-format
+msgid "ppdc: Bad variable substitution ($%c) on line %d of %s."
+msgstr ""
+
+#, c-format
+msgid "ppdc: Choice found on line %d of %s with no Option."
+msgstr ""
+
+#, c-format
+msgid "ppdc: Duplicate #po for locale %s on line %d of %s."
+msgstr ""
+
+#, c-format
+msgid "ppdc: Expected a filter definition on line %d of %s."
+msgstr ""
+
+#, c-format
+msgid "ppdc: Expected a program name on line %d of %s."
+msgstr ""
+
+#, c-format
+msgid "ppdc: Expected boolean value on line %d of %s."
+msgstr ""
+
+#, c-format
+msgid "ppdc: Expected charset after Font on line %d of %s."
+msgstr ""
+
+#, c-format
+msgid "ppdc: Expected choice code on line %d of %s."
+msgstr ""
+
+#, c-format
+msgid "ppdc: Expected choice name/text on line %d of %s."
+msgstr ""
+
+#, c-format
+msgid "ppdc: Expected color order for ColorModel on line %d of %s."
+msgstr ""
+
+#, c-format
+msgid "ppdc: Expected colorspace for ColorModel on line %d of %s."
+msgstr ""
+
+#, c-format
+msgid "ppdc: Expected compression for ColorModel on line %d of %s."
+msgstr ""
+
+#, c-format
+msgid "ppdc: Expected constraints string for UIConstraints on line %d of %s."
+msgstr ""
+
+#, c-format
+msgid ""
+"ppdc: Expected driver type keyword following DriverType on line %d of %s."
+msgstr ""
+
+#, c-format
+msgid "ppdc: Expected duplex type after Duplex on line %d of %s."
+msgstr ""
+
+#, c-format
+msgid "ppdc: Expected encoding after Font on line %d of %s."
+msgstr ""
+
+#, c-format
+msgid "ppdc: Expected filename after #po %s on line %d of %s."
+msgstr ""
+
+#, c-format
+msgid "ppdc: Expected group name/text on line %d of %s."
+msgstr ""
+
+#, c-format
+msgid "ppdc: Expected include filename on line %d of %s."
+msgstr ""
+
+#, c-format
+msgid "ppdc: Expected integer on line %d of %s."
+msgstr ""
+
+#, c-format
+msgid "ppdc: Expected locale after #po on line %d of %s."
+msgstr ""
+
+#, c-format
+msgid "ppdc: Expected name after %s on line %d of %s."
+msgstr ""
+
+#, c-format
+msgid "ppdc: Expected name after FileName on line %d of %s."
+msgstr ""
+
+#, c-format
+msgid "ppdc: Expected name after Font on line %d of %s."
+msgstr ""
+
+#, c-format
+msgid "ppdc: Expected name after Manufacturer on line %d of %s."
+msgstr ""
+
+#, c-format
+msgid "ppdc: Expected name after MediaSize on line %d of %s."
+msgstr ""
+
+#, c-format
+msgid "ppdc: Expected name after ModelName on line %d of %s."
+msgstr ""
+
+#, c-format
+msgid "ppdc: Expected name after PCFileName on line %d of %s."
+msgstr ""
+
+#, c-format
+msgid "ppdc: Expected name/text after %s on line %d of %s."
+msgstr ""
+
+#, c-format
+msgid "ppdc: Expected name/text after Installable on line %d of %s."
+msgstr ""
+
+#, c-format
+msgid "ppdc: Expected name/text after Resolution on line %d of %s."
+msgstr ""
+
+#, c-format
+msgid "ppdc: Expected name/text combination for ColorModel on line %d of %s."
+msgstr ""
+
+#, c-format
+msgid "ppdc: Expected option name/text on line %d of %s."
+msgstr ""
+
+#, c-format
+msgid "ppdc: Expected option section on line %d of %s."
+msgstr ""
+
+#, c-format
+msgid "ppdc: Expected option type on line %d of %s."
+msgstr ""
+
+#, c-format
+msgid "ppdc: Expected override field after Resolution on line %d of %s."
+msgstr ""
+
+#, c-format
+msgid "ppdc: Expected quoted string on line %d of %s."
+msgstr ""
+
+#, c-format
+msgid "ppdc: Expected real number on line %d of %s."
+msgstr ""
+
+#, c-format
+msgid ""
+"ppdc: Expected resolution/mediatype following ColorProfile on line %d of %s."
+msgstr ""
+
+#, c-format
+msgid ""
+"ppdc: Expected resolution/mediatype following SimpleColorProfile on line %d "
+"of %s."
+msgstr ""
+
+#, c-format
+msgid "ppdc: Expected selector after %s on line %d of %s."
+msgstr ""
+
+#, c-format
+msgid "ppdc: Expected status after Font on line %d of %s."
+msgstr ""
+
+#, c-format
+msgid "ppdc: Expected string after Copyright on line %d of %s."
+msgstr ""
+
+#, c-format
+msgid "ppdc: Expected string after Version on line %d of %s."
+msgstr ""
+
+#, c-format
+msgid "ppdc: Expected two option names on line %d of %s."
+msgstr ""
+
+#, c-format
+msgid "ppdc: Expected value after %s on line %d of %s."
+msgstr ""
+
+#, c-format
+msgid "ppdc: Expected version after Font on line %d of %s."
+msgstr ""
+
+#, c-format
+msgid "ppdc: Invalid #include/#po filename \"%s\"."
+msgstr ""
+
+#, c-format
+msgid "ppdc: Invalid cost for filter on line %d of %s."
+msgstr ""
+
+#, c-format
+msgid "ppdc: Invalid empty MIME type for filter on line %d of %s."
+msgstr ""
+
+#, c-format
+msgid "ppdc: Invalid empty program name for filter on line %d of %s."
+msgstr ""
+
+#, c-format
+msgid "ppdc: Invalid option section \"%s\" on line %d of %s."
+msgstr ""
+
+#, c-format
+msgid "ppdc: Invalid option type \"%s\" on line %d of %s."
+msgstr ""
+
+#, c-format
+msgid "ppdc: Loading driver information file \"%s\"."
+msgstr ""
+
+#, c-format
+msgid "ppdc: Loading messages for locale \"%s\"."
+msgstr ""
+
+#, c-format
+msgid "ppdc: Loading messages from \"%s\"."
+msgstr ""
+
+#, c-format
+msgid "ppdc: Missing #endif at end of \"%s\"."
+msgstr ""
+
+#, c-format
+msgid "ppdc: Missing #if on line %d of %s."
+msgstr ""
+
+#, c-format
+msgid ""
+"ppdc: Need a msgid line before any translation strings on line %d of %s."
+msgstr ""
+
+#, c-format
+msgid "ppdc: No message catalog provided for locale %s."
+msgstr ""
+
+#, c-format
+msgid "ppdc: Option %s defined in two different groups on line %d of %s."
+msgstr ""
+
+#, c-format
+msgid "ppdc: Option %s redefined with a different type on line %d of %s."
+msgstr ""
+
+#, c-format
+msgid "ppdc: Option constraint must *name on line %d of %s."
+msgstr ""
+
+#, c-format
+msgid "ppdc: Too many nested #if's on line %d of %s."
+msgstr ""
+
+#, c-format
+msgid "ppdc: Unable to create PPD file \"%s\" - %s."
+msgstr ""
+
+#, c-format
+msgid "ppdc: Unable to create output directory %s: %s"
+msgstr ""
+
+#, c-format
+msgid "ppdc: Unable to create output pipes: %s"
+msgstr ""
+
+#, c-format
+msgid "ppdc: Unable to execute cupstestppd: %s"
+msgstr ""
+
+#, c-format
+msgid "ppdc: Unable to find #po file %s on line %d of %s."
+msgstr ""
+
+#, c-format
+msgid "ppdc: Unable to find include file \"%s\" on line %d of %s."
+msgstr ""
+
+#, c-format
+msgid "ppdc: Unable to find localization for \"%s\" - %s"
+msgstr ""
+
+#, c-format
+msgid "ppdc: Unable to load localization file \"%s\" - %s"
+msgstr ""
+
+#, c-format
+msgid "ppdc: Unable to open %s: %s"
+msgstr ""
+
+#, c-format
+msgid "ppdc: Undefined variable (%s) on line %d of %s."
+msgstr ""
+
+#, c-format
+msgid "ppdc: Unexpected text on line %d of %s."
+msgstr ""
+
+#, c-format
+msgid "ppdc: Unknown driver type %s on line %d of %s."
+msgstr ""
+
+#, c-format
+msgid "ppdc: Unknown duplex type \"%s\" on line %d of %s."
+msgstr ""
+
+#, c-format
+msgid "ppdc: Unknown media size \"%s\" on line %d of %s."
+msgstr ""
+
+#, c-format
+msgid "ppdc: Unknown message catalog format for \"%s\"."
+msgstr ""
+
+#, c-format
+msgid "ppdc: Unknown token \"%s\" seen on line %d of %s."
+msgstr ""
+
+#, c-format
+msgid ""
+"ppdc: Unknown trailing characters in real number \"%s\" on line %d of %s."
+msgstr ""
+
+#, c-format
+msgid "ppdc: Unterminated string starting with %c on line %d of %s."
+msgstr ""
+
+#, c-format
+msgid "ppdc: Warning - overlapping filename \"%s\"."
+msgstr ""
+
+#, c-format
+msgid "ppdc: Writing %s."
+msgstr ""
+
+#, c-format
+msgid "ppdc: Writing PPD files to directory \"%s\"."
+msgstr ""
+
+#, c-format
+msgid "ppdmerge: Bad LanguageVersion \"%s\" in %s."
+msgstr ""
+
+#, c-format
+msgid "ppdmerge: Ignoring PPD file %s."
+msgstr ""
+
+#, c-format
+msgid "ppdmerge: Unable to backup %s to %s - %s"
+msgstr ""
+
+#, c-format
+msgid "printer %s disabled since %s -"
+msgstr ""
+
+#, c-format
+msgid "printer %s is idle. enabled since %s"
+msgstr ""
+
+#, c-format
+msgid "printer %s now printing %s-%d. enabled since %s"
+msgstr ""
+
+#, c-format
+msgid "printer %s/%s disabled since %s -"
+msgstr ""
+
+#, c-format
+msgid "printer %s/%s is idle. enabled since %s"
+msgstr ""
+
+#, c-format
+msgid "printer %s/%s now printing %s-%d. enabled since %s"
+msgstr ""
+
+msgid "processing"
+msgstr "in Verarbeitung"
+
+#, c-format
+msgid "request id is %s-%d (%d file(s))"
+msgstr ""
+
+msgid "request-id uses indefinite length"
+msgstr "Anfrage-ID hat unbestimmte Länge"
+
+msgid "scheduler is not running"
+msgstr ""
+
+msgid "scheduler is running"
+msgstr ""
+
+#, c-format
+msgid "stat of %s failed: %s"
+msgstr "Status von %s fehlgeschlagen: %s"
+
+msgid "status\t\tShow status of daemon and queue."
+msgstr ""
+
+msgid "stopped"
+msgstr "angehalten"
+
+#, c-format
+msgid "system default destination: %s"
+msgstr ""
+
+#, c-format
+msgid "system default destination: %s/%s"
+msgstr ""
+
+msgid "unknown"
+msgstr "Unbekannt"
+
+msgid "untitled"
+msgstr "Ohne Titel"
+
+msgid "variable-bindings uses indefinite length"
+msgstr "variable-bindings hat unbestimmte Länge"
+
+#~ msgid "720dpi"
+#~ msgstr "720 dpi"
+
+#~ msgid "Enter old password:"
+#~ msgstr "Altes Passwort eingeben :"
+
+#~ msgid "Enter password again:"
+#~ msgstr "Neues Passwort wiederholen :"
+
+#~ msgid "Enter password:"
+#~ msgstr "Neues Passwort eingeben :"
+
+#~ msgid "New Stylus Color Series"
+#~ msgstr "Neue Stylus Color Serie"
+
+#~ msgid "New Stylus Photo Series"
+#~ msgstr "Neue Stylus Photo Serie"
+
+#~ msgid "Purge Jobs"
+#~ msgstr "Aufträge löschen"
+
+#~ msgid "Stylus Color Series"
+#~ msgstr "Stylus Color Serie"
+
+#~ msgid "Stylus Photo Series"
+#~ msgstr "Stylus Photo Serie"
diff --git a/locale/cups_ru.po b/locale/cups_ru.po
index afd0a8fff..983a7e7f3 100644
--- a/locale/cups_ru.po
+++ b/locale/cups_ru.po
@@ -1,238 +1,241 @@
msgid ""
msgstr ""
-"Project-Id-Version: CUPS 1.4\n"
+"Project-Id-Version: CUPS 2.0\n"
"Report-Msgid-Bugs-To: http://www.cups.org/str.php\n"
-"POT-Creation-Date: 2014-08-29 22:25-0400\n"
-"PO-Revision-Date: 2009-02-16 12:00-0800\n"
-"Last-Translator: Apple Inc.\n"
-"Language-Team: Apple Inc.\n"
-"Language: \n"
+"POT-Creation-Date: 2015-01-28 22:25-0400\n"
+"PO-Revision-Date: 2015-01-28 12:00-0800\n"
+"Last-Translator: Aleksandr Proklov\n"
+"Language-Team: PuppyRus Linux Team\n"
+"Language: Russian\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
msgid "\t\t(all)"
-msgstr ""
+msgstr "\t\t(все)"
msgid "\t\t(none)"
-msgstr ""
+msgstr "\t\t(нет)"
#, c-format
msgid "\t%d entries"
-msgstr ""
+msgstr "\tзаписей: %d"
-#, c-format
msgid "\t%s"
-msgstr ""
+msgstr "\t%s"
msgid "\tAfter fault: continue"
-msgstr ""
+msgstr "\tПосле ошибки: продолжить"
#, c-format
msgid "\tAlerts: %s"
-msgstr ""
+msgstr "\tПредупреждения: %s"
msgid "\tBanner required"
-msgstr ""
+msgstr "\tТребуется баннер"
msgid "\tCharset sets:"
-msgstr ""
+msgstr "\tНабор символов устанавливает:"
msgid "\tConnection: direct"
-msgstr ""
+msgstr "\tПодключение: прямое"
msgid "\tConnection: remote"
-msgstr ""
+msgstr "\tПодключение: удаленное"
msgid "\tContent types: any"
-msgstr ""
+msgstr "\tТип содержимого: любой"
msgid "\tDefault page size:"
-msgstr ""
+msgstr "\tРазмер страницы по умолчанию:"
msgid "\tDefault pitch:"
-msgstr ""
+msgstr "\tВысота по умолчанию:"
msgid "\tDefault port settings:"
-msgstr ""
+msgstr "\tНастройки порта по умолчанию:"
#, c-format
msgid "\tDescription: %s"
-msgstr ""
+msgstr "\tОписание: %s"
msgid "\tForm mounted:"
-msgstr ""
+msgstr "\tФорма подключения:"
msgid "\tForms allowed:"
-msgstr ""
+msgstr "\tРазрешенные формы:"
#, c-format
msgid "\tInterface: %s.ppd"
-msgstr ""
+msgstr "\tИнтерфейс: %s.ppd"
#, c-format
msgid "\tInterface: %s/interfaces/%s"
-msgstr ""
+msgstr "\tИнтерфейс: %s/интерфейсы/%s"
#, c-format
msgid "\tInterface: %s/ppd/%s.ppd"
-msgstr ""
+msgstr "\tИнтерфейс: %s/ppd/%s.ppd"
#, c-format
msgid "\tLocation: %s"
-msgstr ""
+msgstr "\tРасположение: %s"
msgid "\tOn fault: no alert"
-msgstr ""
+msgstr "\tПри ошибке: не выводить предупреждение"
msgid "\tPrinter types: unknown"
-msgstr ""
+msgstr "\tТип принтера: неизвестен"
#, c-format
msgid "\tStatus: %s"
-msgstr ""
+msgstr "\tСтатус: %s"
msgid "\tUsers allowed:"
-msgstr ""
+msgstr "\tРазрешенные пользователи:"
msgid "\tUsers denied:"
-msgstr ""
+msgstr "\tЗапрещенные пользователи:"
msgid "\tdaemon present"
-msgstr ""
+msgstr "\tдемон присутствует"
msgid "\tno entries"
-msgstr ""
+msgstr "\tнет записей"
#, c-format
msgid "\tprinter is on device '%s' speed -1"
-msgstr ""
+msgstr "\tпринтер на скорости -1 устройства «%s»"
msgid "\tprinting is disabled"
-msgstr ""
+msgstr "\tпечать отключена"
msgid "\tprinting is enabled"
-msgstr ""
+msgstr "\tпечать включена"
#, c-format
msgid "\tqueued for %s"
-msgstr ""
+msgstr "\tочередь для %s"
msgid "\tqueuing is disabled"
-msgstr ""
+msgstr "\tочередь отключена"
msgid "\tqueuing is enabled"
-msgstr ""
+msgstr "\tочередь включена"
msgid "\treason unknown"
-msgstr ""
+msgstr "\tпричина неизвестна"
msgid ""
"\n"
" DETAILED CONFORMANCE TEST RESULTS"
msgstr ""
+"\n"
+" ПОДРОБНЫЕ РЕЗУЛЬТАТЫ ТЕСТА СООТВЕТСТВИЯ"
msgid " Ignore specific warnings."
-msgstr ""
+msgstr " Игнорировать конкретные предупреждения"
msgid " Issue warnings instead of errors."
-msgstr ""
+msgstr " Выдавать предупреждения вместо ошибки"
msgid " REF: Page 15, section 3.1."
-msgstr ""
+msgstr " REF: Стр. 15, раздел 3.1."
msgid " REF: Page 15, section 3.2."
-msgstr ""
+msgstr " REF: Стр. 15, раздел 3.2."
msgid " REF: Page 19, section 3.3."
-msgstr ""
+msgstr " REF: Стр. 19, раздел 3.3."
msgid " REF: Page 20, section 3.4."
-msgstr ""
+msgstr " REF: Стр. 20, раздел 3.4."
msgid " REF: Page 27, section 3.5."
-msgstr ""
+msgstr " REF: Стр. 27, раздел 3.5."
msgid " REF: Page 42, section 5.2."
-msgstr ""
+msgstr " REF: Стр. 42, раздел 5.2."
msgid " REF: Pages 16-17, section 3.2."
-msgstr ""
+msgstr " REF: Стр. 16-17, раздел 3.2."
msgid " REF: Pages 42-45, section 5.2."
-msgstr ""
+msgstr " REF: Стр. 42-45, раздел 5.2."
msgid " REF: Pages 45-46, section 5.2."
-msgstr ""
+msgstr " REF: Стр. 45-46, раздел 5.2."
msgid " REF: Pages 48-49, section 5.2."
-msgstr ""
+msgstr " REF: Стр. 48-49, раздел 5.2."
msgid " REF: Pages 52-54, section 5.2."
-msgstr ""
+msgstr " REF: Стр. 52-54, раздел 5.2."
#, c-format
msgid " %-39.39s %.0f bytes"
-msgstr ""
+msgstr " %-39.39s %.0f байт"
#, c-format
msgid " PASS Default%s"
-msgstr ""
+msgstr " PASS Default%s"
msgid " PASS DefaultImageableArea"
-msgstr ""
+msgstr " PASS DefaultImageableArea"
msgid " PASS DefaultPaperDimension"
-msgstr ""
+msgstr " PASS DefaultPaperDimension"
msgid " PASS FileVersion"
-msgstr ""
+msgstr " PASS FileVersion"
msgid " PASS FormatVersion"
-msgstr ""
+msgstr " PASS FormatVersion"
msgid " PASS LanguageEncoding"
-msgstr ""
+msgstr " PASS LanguageEncoding"
msgid " PASS LanguageVersion"
-msgstr ""
+msgstr " PASS LanguageVersion"
msgid " PASS Manufacturer"
-msgstr ""
+msgstr " PASS Manufacturer"
msgid " PASS ModelName"
-msgstr ""
+msgstr " PASS ModelName"
msgid " PASS NickName"
-msgstr ""
+msgstr " PASS NickName"
msgid " PASS PCFileName"
-msgstr ""
+msgstr " PASS PCFileName"
msgid " PASS PSVersion"
-msgstr ""
+msgstr " PASS PSVersion"
msgid " PASS PageRegion"
-msgstr ""
+msgstr " PASS PageRegion"
msgid " PASS PageSize"
-msgstr ""
+msgstr " PASS PageSize"
msgid " PASS Product"
-msgstr ""
+msgstr " PASS Product"
msgid " PASS ShortNickName"
-msgstr ""
+msgstr " PASS ShortNickName"
#, c-format
msgid " WARN %s has no corresponding options."
-msgstr ""
+msgstr "\tWARN\t%s не содержит соответствующих параметров."
#, c-format
msgid ""
" WARN %s shares a common prefix with %s\n"
" REF: Page 15, section 3.2."
msgstr ""
+"\tWARN\t%s использует общий префикс совместно с %s\n"
+" REF: Стр. 15, раздел 3.2."
#, c-format
msgid ""
@@ -240,363 +243,440 @@ msgid ""
"be named Duplex.\n"
" REF: Page 122, section 5.17"
msgstr ""
+"\tWARN\tКлючевое слово параметра дуплекса %s может привести к "
+"некорректным результатам. Используйте имя 'Duplex'\n"
+" REF: Стр. 122, раздел 5.17"
msgid " WARN File contains a mix of CR, LF, and CR LF line endings."
-msgstr ""
+msgstr "\tWARN\tФайл содержит комбинацию окончаний строки CR, LF, CR LF"
msgid ""
" WARN LanguageEncoding required by PPD 4.3 spec.\n"
" REF: Pages 56-57, section 5.3."
msgstr ""
+"\tWARN\tLanguageEncoding требуется спецификацией PPD 4.3.\n"
+" REF: Стр. 56-57, раздел 5.3."
#, c-format
msgid " WARN Line %d only contains whitespace."
-msgstr ""
+msgstr "\tWARN\tСтрока %d содержит только пробелы."
msgid ""
" WARN Manufacturer required by PPD 4.3 spec.\n"
" REF: Pages 58-59, section 5.3."
msgstr ""
+"\tWARN\tManufacturer требуется спецификацией PPD 4.3.\n"
+" REF: Стр. 58-59, раздел 5.3."
msgid ""
" WARN Non-Windows PPD files should use lines ending with only LF, "
"not CR LF."
msgstr ""
+"\tWARN\tPPD-файлы не из Windows должны использовать строки только с "
+"окончанием LF, а не с CR LF"
#, c-format
msgid ""
" WARN Obsolete PPD version %.1f.\n"
" REF: Page 42, section 5.2."
msgstr ""
+"\tWARN\tУстаревшая версия PPD %.1f.\n"
+" REF: Стр. 42, раздел 5.2."
msgid ""
" WARN PCFileName longer than 8.3 in violation of PPD spec.\n"
" REF: Pages 61-62, section 5.3."
msgstr ""
+"\tWARN\tPCFileName длиннее чем 8.3 нарушает спецификацию PPD.\n"
+" REF: Стр. 61-62, раздел 5.3."
msgid ""
" WARN PCFileName should contain a unique filename.\n"
" REF: Pages 61-62, section 5.3."
msgstr ""
+"\tWARN\tPCFilename должен содержать уникальное название\n"
+" REF: Стр. 61-62, раздел 5.3."
msgid ""
" WARN Protocols contains PJL but JCL attributes are not set.\n"
" REF: Pages 78-79, section 5.7."
msgstr ""
+"\tWARN\tProtocols содержит PJL, но атрибуты JCL не настроены.\n"
+" REF: Стр. 78-79, раздел 5.7."
msgid ""
" WARN Protocols contains both PJL and BCP; expected TBCP.\n"
" REF: Pages 78-79, section 5.7."
msgstr ""
+"\tWARN\tProtocols содержит PJL и BCP; ожидается TBCP.\n"
+" REF: Стр. 78-79, раздел 5.7."
msgid ""
" WARN ShortNickName required by PPD 4.3 spec.\n"
" REF: Pages 64-65, section 5.3."
msgstr ""
+"\tWARN\tShortNickName требуется спецификацией PPD 4.3.\n"
+" REF: Стр. 64-65, раздел 5.3."
msgid " cupsaddsmb [options] -a"
-msgstr ""
+msgstr "\tcupsaddsmb [options] -a"
msgid " cupstestdsc [options] -"
-msgstr ""
+msgstr "\tcupstestdsc [options] -"
msgid " program | cupstestppd [options] -"
-msgstr ""
+msgstr "\tprogram | cupstestppd [options] -"
#, c-format
msgid ""
" %s \"%s %s\" conflicts with \"%s %s\"\n"
" (constraint=\"%s %s %s %s\")."
msgstr ""
+"\t%s \"%s %s\" конфликтует с \"%s %s\"\n"
+" (constraint=\"%s %s %s %s\")."
#, c-format
msgid " %s %s %s does not exist."
-msgstr ""
+msgstr "\t%s %s %s не существует."
#, c-format
msgid " %s %s file \"%s\" has the wrong capitalization."
-msgstr ""
+msgstr "\t%s %s файл \"%s\" имеет неверный регистр."
#, c-format
msgid ""
" %s Bad %s choice %s.\n"
" REF: Page 122, section 5.17"
msgstr ""
+"\t%s Неверный %s выбор %s.\n"
+" REF: Стр. 122, раздел 5.17"
#, c-format
msgid " %s Bad UTF-8 \"%s\" translation string for option %s, choice %s."
-msgstr ""
+msgstr "\t%s Неверный перевод UTF-8 \"%s\" для параметра %s, выбора %s"
#, c-format
msgid " %s Bad UTF-8 \"%s\" translation string for option %s."
-msgstr ""
+msgstr "\t%s Неверный перевод UTF-8 \"%s\" для параметра %s"
#, c-format
msgid " %s Bad cupsFilter value \"%s\"."
-msgstr ""
+msgstr "\t%s Неверное значение cupsFilter \"%s\"."
#, c-format
msgid " %s Bad cupsFilter2 value \"%s\"."
-msgstr ""
+msgstr "\t%s Неверное значение cupsFilter2 \"%s\"."
#, c-format
msgid " %s Bad cupsICCProfile %s."
-msgstr ""
+msgstr "\t%s Неверный cupsICCProfile %s."
#, c-format
msgid " %s Bad cupsPreFilter value \"%s\"."
-msgstr ""
+msgstr "\t%s Неверное значение cupsPreFilter \"%s\"."
#, c-format
msgid " %s Bad cupsUIConstraints %s: \"%s\""
-msgstr ""
+msgstr "\t%s Неверное значение cupsUIConstraints %s: \"%s\""
#, c-format
msgid " %s Bad language \"%s\"."
-msgstr ""
+msgstr "\t%s Неверный язык \"%s\"."
#, c-format
msgid " %s Bad permissions on %s file \"%s\"."
-msgstr ""
+msgstr "\t%s Неверные права %s для файла \"%s\"."
#, c-format
msgid " %s Bad spelling of %s - should be %s."
-msgstr ""
+msgstr " %s Ошибки в %s - должно быть %s."
#, c-format
msgid " %s Cannot provide both APScanAppPath and APScanAppBundleID."
msgstr ""
+"\t%s Невозможно предоставить APScanAppPath и APScanAppBundleID "
+"вместе."
#, c-format
msgid " %s Default choices conflicting."
-msgstr ""
+msgstr "\t%s\tЗначения, используемые по умолчанию, конфликтуют."
#, c-format
msgid " %s Empty cupsUIConstraints %s"
-msgstr ""
+msgstr " %s Пустой cupsUIConstraints %s"
#, c-format
msgid " %s Missing \"%s\" translation string for option %s, choice %s."
-msgstr ""
+msgstr "\t%s Перевод \"%s\" отсутствует для параметра %s, выбора %s"
#, c-format
-msgid " %s Missing \"%s\" translation string for option %s."
-msgstr ""
+msgid " %s Missing \"%s\" translation string for option %s"
+msgstr "\t%s Перевод \"%s\" отсутствует для параметра %s"
#, c-format
msgid " %s Missing %s file \"%s\"."
-msgstr ""
+msgstr "\t%s отсутствует %s файл \"%s\"."
#, c-format
msgid ""
" %s Missing REQUIRED PageRegion option.\n"
" REF: Page 100, section 5.14."
msgstr ""
+"\t%s Обязательный параметр PageRegion отсутствует.\n"
+"\t\t REF: Стр. 100, раздел 5.14."
#, c-format
msgid ""
" %s Missing REQUIRED PageSize option.\n"
" REF: Page 99, section 5.14."
msgstr ""
+"\t%s Обязательный параметр PageSize отсутствует.\n"
+" REF: Стр. 99, раздел 5.14."
#, c-format
msgid " %s Missing choice *%s %s in UIConstraints \"*%s %s *%s %s\"."
msgstr ""
+" %s Выбор *%s %s отсутствует в UIConstraints \"*%s %s *%s %s\"."
#, c-format
msgid " %s Missing choice *%s %s in cupsUIConstraints %s: \"%s\""
-msgstr ""
+msgstr " %s Выбор *%s %s отсутствует в cupsUIConstraints %s: \"%s\""
#, c-format
msgid " %s Missing cupsUIResolver %s"
-msgstr ""
+msgstr "\t%s cupsUIResolver отсутствует %s"
#, c-format
msgid " %s Missing option %s in UIConstraints \"*%s %s *%s %s\"."
-msgstr ""
+msgstr "\t%s Отсутствует параметр %s у UIConstraints \"*%s %s *%s %s\"."
#, c-format
msgid " %s Missing option %s in cupsUIConstraints %s: \"%s\""
-msgstr ""
+msgstr "\t%s Отсутствует параметр %s у cupsUIConstraints %s: \"%s\""
#, c-format
msgid " %s No base translation \"%s\" is included in file."
-msgstr ""
+msgstr "\t%s Основной перевод \"%s\" не включен в файл."
#, c-format
msgid ""
" %s REQUIRED %s does not define choice None.\n"
" REF: Page 122, section 5.17"
msgstr ""
+"\t ТРЕБУЕТСЯ %s: %s не определяет выбор \"Нет\".\n"
+" REF: Стр. 122, раздел 5.17\n"
#, c-format
msgid " %s Size \"%s\" defined for %s but not for %s."
-msgstr ""
+msgstr "\t%s Размер \"%s\" определен для %s, но не определен для %s."
#, c-format
msgid " %s Size \"%s\" has unexpected dimensions (%gx%g)."
-msgstr ""
+msgstr "\t%s Размер \"%s\" имеет неверное значение (%gx%g)."
#, c-format
msgid " %s Size \"%s\" should be \"%s\"."
-msgstr ""
+msgstr "\t%s Размер \"%s\" должен быть \"%s\"."
#, c-format
msgid " %s Size \"%s\" should be the Adobe standard name \"%s\"."
-msgstr ""
+msgstr "\t%s Размер \"%s\" должен быть в формате Adobe standard name \"%s\"."
#, c-format
msgid " %s cupsICCProfile %s hash value collides with %s."
-msgstr ""
+msgstr "\tХеш-значение %s cupsICCProfile %s конфликтует с %s."
#, c-format
msgid " %s cupsUIResolver %s causes a loop."
-msgstr ""
+msgstr "\t%s cupsUIResolver %s создает цикл."
#, c-format
msgid ""
" %s cupsUIResolver %s does not list at least two different options."
-msgstr ""
+msgstr "\t%s В cupsUIResolver %s не перечислено как минимум два параметра."
+
#, c-format
msgid ""
" **FAIL** %s must be 1284DeviceID\n"
" REF: Page 72, section 5.5"
msgstr ""
+"\t**FAIL** %s должно соответствовать 1284DeviceID\n"
+" REF: Стр. 72, раздел 5.5"
+
#, c-format
msgid ""
" **FAIL** Bad Default%s %s\n"
" REF: Page 40, section 4.5."
msgstr ""
+"\t**FAIL** Неверный Default%s %s\n"
+" REF: Стр. 40, раздел 4.5."
#, c-format
msgid ""
" **FAIL** Bad DefaultImageableArea %s\n"
" REF: Page 102, section 5.15."
msgstr ""
+"\t**FAIL** Неверный DefaultImageableArea %s\n"
+" REF: Стр. 102, раздел 5.15."
#, c-format
msgid ""
" **FAIL** Bad DefaultPaperDimension %s\n"
" REF: Page 103, section 5.15."
msgstr ""
+"\t**FAIL** Неверный DefaultPaperDimension %s\n"
+" REF: Стр. 103, раздел 5.15."
#, c-format
msgid ""
" **FAIL** Bad FileVersion \"%s\"\n"
" REF: Page 56, section 5.3."
msgstr ""
+"\t**FAIL** Неверный FileVersion \"%s\"\n"
+" REF: Стр. 56, раздел 5.3."
#, c-format
msgid ""
" **FAIL** Bad FormatVersion \"%s\"\n"
" REF: Page 56, section 5.3."
msgstr ""
+"\t**FAIL** Неверный FormatVersion \"%s\"\n"
+" REF: Стр. 56, раздел 5.3."
msgid ""
" **FAIL** Bad JobPatchFile attribute in file\n"
" REF: Page 24, section 3.4."
msgstr ""
+"\t**FAIL** Неверный JobPatchFile атрибут в файле\n"
+" REF: Стр. 24, раздел 3.4."
#, c-format
msgid " **FAIL** Bad LanguageEncoding %s - must be ISOLatin1."
-msgstr ""
+msgstr "\t**FAIL** Неверный LanguageEncoding %s - должен быть ISOLatin1."
#, c-format
msgid " **FAIL** Bad LanguageVersion %s - must be English."
-msgstr ""
+msgstr "\t**FAIL** Неверный LanguageVersion %s - должен быть английский."
#, c-format
msgid ""
" **FAIL** Bad Manufacturer (should be \"%s\")\n"
" REF: Page 211, table D.1."
msgstr ""
+"\t**FAIL** Неверный Manufacturer (должен быть \"%s\")\n"
+" REF: Стр. 211, таблица D.1."
#, c-format
msgid ""
" **FAIL** Bad ModelName - \"%c\" not allowed in string.\n"
" REF: Pages 59-60, section 5.3."
msgstr ""
+"\t**FAIL** Неверное ModelName – \"%c\" не разрешено в строке.\n"
+" REF: Стр. 59-60, раздел 5.3."
msgid ""
" **FAIL** Bad PSVersion - not \"(string) int\".\n"
" REF: Pages 62-64, section 5.3."
msgstr ""
+"\t**FAIL** Неверная PSVersion – не «(string) int».\n"
+" REF: Стр. 62-64, раздел 5.3."
msgid ""
" **FAIL** Bad Product - not \"(string)\".\n"
" REF: Page 62, section 5.3."
msgstr ""
+"\t**FAIL** Неверный Product – не \"(string)\".\n"
+" REF: Стр. 62, раздел 5.3."
msgid ""
" **FAIL** Bad ShortNickName - longer than 31 chars.\n"
" REF: Pages 64-65, section 5.3."
msgstr ""
+"\t**FAIL** Неверный ShortNickName – длиннее чем 31 симв.\n"
+" REF: Стр. 64-65, раздел 5.3."
#, c-format
msgid ""
" **FAIL** Bad option %s choice %s\n"
" REF: Page 84, section 5.9"
msgstr ""
+"\t**FAIL** Неверный параметр %s выбор %s\n"
+" REF: Стр. 84, раздел 5.9"
#, c-format
msgid " **FAIL** Default option code cannot be interpreted: %s"
-msgstr ""
+msgstr "\t**FAIL** Не удается опознать код параметра по умолчанию: %s"
#, c-format
msgid ""
" **FAIL** Default translation string for option %s choice %s contains "
"8-bit characters."
msgstr ""
+"\t**FAIL** Стандартный перевод для параметра %s выбора %s содержит "
+"8-битовые символы."
#, c-format
msgid ""
" **FAIL** Default translation string for option %s contains 8-bit "
"characters."
msgstr ""
+"\t**FAIL** Стандартный перевод для параметра %s содержит "
+"8-битовые символы."
#, c-format
msgid " **FAIL** Group names %s and %s differ only by case."
msgstr ""
+"\t**FAIL** Имена групп %s и %s отличаются только регистром символов."
#, c-format
msgid " **FAIL** Multiple occurrences of option %s choice name %s."
-msgstr ""
+msgstr "\t**FAIL** Для выбора параметра %s имя %s встречается несколько раз."
#, c-format
msgid " **FAIL** Option %s choice names %s and %s differ only by case."
-msgstr ""
+msgstr "\t**FAIL** Параметр %s с именами %s и %s отличается только регистром символов."
#, c-format
msgid " **FAIL** Option names %s and %s differ only by case."
-msgstr ""
+msgstr "\t**FAIL** Названия параметров %s и %s отличаются только регистром символов."
#, c-format
msgid ""
" **FAIL** REQUIRED Default%s\n"
" REF: Page 40, section 4.5."
msgstr ""
+"\t**FAIL** ТРЕБУЕТСЯ Default%s\n"
+" REF: Стр. 40, раздел 4.5."
msgid ""
" **FAIL** REQUIRED DefaultImageableArea\n"
" REF: Page 102, section 5.15."
msgstr ""
+"\t**FAIL** ТРЕБУЕТСЯ DefaultImageableArea\n"
+" REF: Стр. 102, раздел 5.15."
msgid ""
" **FAIL** REQUIRED DefaultPaperDimension\n"
" REF: Page 103, section 5.15."
msgstr ""
+"\t**FAIL** ТРЕБУЕТСЯ DefaultPaperDimension\n"
+" REF: Стр. 103, раздел 5.15."
msgid ""
" **FAIL** REQUIRED FileVersion\n"
" REF: Page 56, section 5.3."
msgstr ""
+"\t**FAIL** ТРЕБУЕТСЯ FileVersion\n"
+" REF: Стр. 56, раздел 5.3."
msgid ""
" **FAIL** REQUIRED FormatVersion\n"
" REF: Page 56, section 5.3."
msgstr ""
+"\t**FAIL** ТРЕБУЕТСЯ FormatVersion\n"
+" REF: Стр. 56, раздел 5.3."
#, c-format
msgid ""
@@ -604,57 +684,81 @@ msgid ""
" REF: Page 41, section 5.\n"
" REF: Page 102, section 5.15."
msgstr ""
+"\t**FAIL** ТРЕБУЕТСЯ ImageableArea для PageSize %s\n"
+" REF: Стр. 41, раздел 5.\n"
+" REF: Стр. 102, раздел 5.15."
msgid ""
" **FAIL** REQUIRED LanguageEncoding\n"
" REF: Pages 56-57, section 5.3."
msgstr ""
+"\t**FAIL** ТРЕБУЕТСЯ LanguageEncoding\n"
+" REF: Стр. 56-57, раздел 5.3."
msgid ""
" **FAIL** REQUIRED LanguageVersion\n"
" REF: Pages 57-58, section 5.3."
msgstr ""
+"\t**FAIL** ТРЕБУЕТСЯ LanguageVersion\n"
+" REF: Стр. 57-58, раздел 5.3."
msgid ""
" **FAIL** REQUIRED Manufacturer\n"
" REF: Pages 58-59, section 5.3."
msgstr ""
+"\t**FAIL** ТРЕБУЕТСЯ Manufacturer\n"
+" REF: Стр. 58-59, раздел 5.3."
msgid ""
" **FAIL** REQUIRED ModelName\n"
" REF: Pages 59-60, section 5.3."
msgstr ""
+"\t**FAIL** ТРЕБУЕТСЯ ModelName\n"
+" REF: Стр. 59-60, раздел 5.3."
msgid ""
" **FAIL** REQUIRED NickName\n"
" REF: Page 60, section 5.3."
msgstr ""
+"\t**FAIL** ТРЕБУЕТСЯ NickName\n"
+" REF: Стр. 60, раздел 5.3."
msgid ""
" **FAIL** REQUIRED PCFileName\n"
" REF: Pages 61-62, section 5.3."
msgstr ""
+"\t**FAIL** ТРЕБУЕТСЯ PCFileName\n"
+" REF: Стр. 61-62, раздел 5.3."
msgid ""
" **FAIL** REQUIRED PSVersion\n"
" REF: Pages 62-64, section 5.3."
msgstr ""
+"\t**FAIL** ТРЕБУЕТСЯ PSVersion\n"
+" REF: Стр. 62-64, раздел 5.3."
msgid ""
" **FAIL** REQUIRED PageRegion\n"
" REF: Page 100, section 5.14."
msgstr ""
+"\t**FAIL** ТРЕБУЕТСЯ PageRegion\n"
+" REF: Стр. 100, раздел 5.14."
msgid ""
" **FAIL** REQUIRED PageSize\n"
" REF: Page 41, section 5.\n"
" REF: Page 99, section 5.14."
msgstr ""
+"\t**FAIL** ТРЕБУЕТСЯ PageSize\n"
+" REF: Стр. 41, раздел 5.\n"
+" REF: Стр. 99, раздел 5.14."
msgid ""
" **FAIL** REQUIRED PageSize\n"
" REF: Pages 99-100, section 5.14."
msgstr ""
+"\t**FAIL** ТРЕБУЕТСЯ PageSize\n"
+" REF: Стр. 99-100, раздел 5.14."
#, c-format
msgid ""
@@ -662,722 +766,797 @@ msgid ""
" REF: Page 41, section 5.\n"
" REF: Page 103, section 5.15."
msgstr ""
+"\t**FAIL** ТРЕБУЕТСЯ PaperDimension для PageSize %s\n"
+" REF: Стр. 41, раздел 5.\n"
+" REF: Стр. 103, раздел 5.15."
msgid ""
" **FAIL** REQUIRED Product\n"
" REF: Page 62, section 5.3."
msgstr ""
+"\t**FAIL** ТРЕБУЕТСЯ Product\n"
+" REF: Стр. 62, раздел 5.3."
msgid ""
" **FAIL** REQUIRED ShortNickName\n"
" REF: Page 64-65, section 5.3."
msgstr ""
+"\t**FAIL** ТРЕБУЕТСЯ ShortNickName\n"
+" REF: Стр. 64-65, раздел 5.3."
#, c-format
msgid " **FAIL** Unable to open PPD file - %s on line %d."
-msgstr ""
+msgstr "\t**FAIL** Не удается открыть PPD-файл – %s в строке %d."
#, c-format
msgid " %d ERRORS FOUND"
-msgstr ""
-
+msgstr " ОБНАРУЖЕНО ОШИБОК: %d"
msgid " -h Show program usage"
-msgstr ""
+msgstr " -h Показать справку по использованию программы"
#, c-format
msgid ""
" Bad %%%%BoundingBox: on line %d.\n"
" REF: Page 39, %%%%BoundingBox:"
msgstr ""
+" Неверный %%%%BoundingBox: в строке %d\n"
+" REF: Стр. 39, %%%%BoundingBox:"
+
#, c-format
msgid ""
" Bad %%%%Page: on line %d.\n"
" REF: Page 53, %%%%Page:"
msgstr ""
+" Неверная %%%%Page: в строке %d\n"
+" REF: Стр. 53, %%%%Page:"
#, c-format
msgid ""
" Bad %%%%Pages: on line %d.\n"
" REF: Page 43, %%%%Pages:"
msgstr ""
+" Неверная %%%%Pages: в строке %d\n"
+" REF: Стр. 43, %%%%Pages:"
#, c-format
msgid ""
" Line %d is longer than 255 characters (%d).\n"
" REF: Page 25, Line Length"
msgstr ""
+" Длина строки %d больше 255 символов (%d)\n"
+" REF: Стр. 25, Длина строки "
msgid ""
" Missing %!PS-Adobe-3.0 on first line.\n"
" REF: Page 17, 3.1 Conforming Documents"
msgstr ""
+" %!PS-Adobe-3.0 отсутствует в первой строке.\n"
+" REF: Стр. 17, 3.1 Соответствующие документы"
#, c-format
-msgid " Missing %%EndComments comment. REF: Page 41, %%EndComments"
-msgstr ""
+msgid " Missing %%EndComments comment.\n"
+" REF: Page 41, %%EndComments"
+msgstr " Комментарий %%EndComments отсутствует.\n"
+" REF: Стр. 41, %%EndComments"
#, c-format
msgid ""
" Missing or bad %%BoundingBox: comment.\n"
" REF: Page 39, %%BoundingBox:"
msgstr ""
+" Отсутствует или неверный %%BoundingBox: комментарий.\n"
+" REF: Стр. 39, %%BoundingBox:"
#, c-format
msgid ""
" Missing or bad %%Page: comments.\n"
" REF: Page 53, %%Page:"
msgstr ""
+" Отсутствует или неверная %%Page: комментарий.\n"
+" REF: Стр. 53, %%Page:"
#, c-format
msgid ""
" Missing or bad %%Pages: comment.\n"
" REF: Page 43, %%Pages:"
msgstr ""
+" Отсутствуют или неверные %%Pages: комментарий.\n"
+" REF: Стр. 43, %%Pages:"
msgid " NO ERRORS FOUND"
-msgstr ""
+msgstr " ОШИБОК НЕ ОБНАРУЖЕНО"
#, c-format
msgid " Saw %d lines that exceeded 255 characters."
-msgstr ""
+msgstr "\tНайдено %d строк, длина которых превышает 255 символов."
#, c-format
msgid " Too many %%BeginDocument comments."
-msgstr ""
+msgstr "\tСлишком много комментариев %%BeginDocument"
#, c-format
msgid " Too many %%EndDocument comments."
-msgstr ""
+msgstr "\tСлишком много комментариев %%EndDocument"
msgid " Warning: file contains binary data."
-msgstr ""
+msgstr "\tWARNING: файл содержит бинарные данные."
#, c-format
msgid " Warning: no %%EndComments comment in file."
-msgstr ""
+msgstr " WARNING: нет комментария %%EndComments в файле."
#, c-format
msgid " Warning: obsolete DSC version %.1f in file."
-msgstr ""
+msgstr " WARNING: устаревшая версия DSC %.1f в файле."
msgid " ! expression Unary NOT of expression."
-msgstr ""
+msgstr " ! expression Логическое NOT для выражения."
msgid " ( expressions ) Group expressions."
-msgstr ""
+msgstr " ( expressions ) Группа выражений."
msgid " --[no-]debug-logging Turn debug logging on/off."
-msgstr ""
+msgstr " --[no-]debug-logging Вкл./откл. ведение журнала."
msgid " --[no-]remote-admin Turn remote administration on/off."
-msgstr ""
+msgstr " --[no-]remote-admin Вкл./откл. удаленное администрирование."
msgid " --[no-]remote-any Allow/prevent access from the Internet."
-msgstr ""
+msgstr " --[no-]remote-any Разрешается/запрещается доступ из Интернет."
msgid " --[no-]share-printers Turn printer sharing on/off."
-msgstr ""
+msgstr " --[no-]share-printers Вкл./откл. совместное использование принтеров."
msgid " --[no-]user-cancel-any Allow/prevent users to cancel any job."
-msgstr ""
+msgstr " --[no-]user-cancel-any Пользователям разрешается/запрещается отменять задания."
msgid " --cr End lines with CR (Mac OS 9)."
-msgstr ""
+msgstr " --cr Строки заканчиваются на CR (Mac OS 9)."
msgid " --crlf End lines with CR + LF (Windows)."
-msgstr ""
+msgstr " --crlf Строки заканчиваются на CR + LF (Windows)."
msgid " --domain regex Match domain to regular expression."
-msgstr ""
+msgstr " --domain regex Искать домен по регулярному выражению."
msgid ""
" --exec utility [argument ...] ;\n"
" Execute program if true."
msgstr ""
+" --exec utility [argument ...] ;\n"
+" Выполнить программу."
msgid " --false Always false."
-msgstr ""
+msgstr " --false Всегда Ложь."
msgid " --help Show help."
-msgstr ""
+msgstr " --help Показать справку."
msgid " --help Show this help."
-msgstr ""
+msgstr " --help Показать эту справку."
msgid " --host regex Match hostname to regular expression."
-msgstr ""
+msgstr " --host regex Найти hostname по регулярному выражению."
msgid " --lf End lines with LF (UNIX/Linux/OS X)."
-msgstr ""
+msgstr " --lf Строки заканчиваются на LF (UNIX/Linux/Mac OS X)."
msgid " --list-filters List filters that will be used."
-msgstr ""
+msgstr " --list-filters Список фильтров которые должны использоваться."
msgid " --local True if service is local."
-msgstr ""
+msgstr " --local \"Истина\" если сервис локальный."
msgid " --ls List attributes."
-msgstr ""
+msgstr " --ls Список атрибутов."
msgid " --name regex Match service name to regular expression."
-msgstr ""
+msgstr " --name regex Найти имя по регулярному выражению."
msgid " --not expression Unary NOT of expression."
-msgstr ""
+msgstr " --not expression Логическое NOT для выражения."
msgid " --path regex Match resource path to regular expression."
-msgstr ""
+msgstr " --path regex Найти путь к ресурсу по регулярному выражению."
msgid " --port number[-number] Match port to number or range."
-msgstr ""
+msgstr " --port number[-number] Найти номер порта по номеру или диапазону портов."
msgid " --print Print URI if true."
-msgstr ""
+msgstr " --print Печать URI при соответствии."
msgid " --print-name Print service name if true."
-msgstr ""
+msgstr " --print-name Печать имени сервиса если соответствует."
msgid " --quiet Quietly report match via exit code."
-msgstr ""
+msgstr " --quiet Кратко уведомлять о совпадении через код выхода."
msgid " --remote True if service is remote."
-msgstr ""
+msgstr " --remote \"Истина\" если сервис удаленный."
msgid ""
" --stop-after-include-error\n"
" Stop tests after a failed INCLUDE."
msgstr ""
+" --stop-after-include-error\n"
+" Останавливать проверку после ошибки INCLUDE."
msgid " --true Always true."
-msgstr ""
+msgstr " --true Всегда Истина."
msgid " --txt key True if the TXT record contains the key."
-msgstr ""
+msgstr " --txt key \"Истина\" если TXT запись содержит key."
msgid " --txt-* regex Match TXT record key to regular expression."
-msgstr ""
+msgstr " --txt-* regex Найти запись TXT по регулярному выражению."
msgid " --uri regex Match URI to regular expression."
-msgstr ""
+msgstr " --uri regex Найти URI по регулярному выражению."
msgid " --version Show program version."
-msgstr ""
+msgstr " --version Показать версию программы."
msgid " --version Show version."
-msgstr ""
+msgstr " --version Показать версию."
msgid " -4 Connect using IPv4."
-msgstr ""
+msgstr " -4 Соединение используя IPv4."
msgid " -6 Connect using IPv6."
-msgstr ""
+msgstr " -6 Соединение используя IPv6."
msgid " -C Send requests using chunking (default)."
-msgstr ""
+msgstr " -C Передача запроса с использованием chunking (по умолчанию)"
msgid " -D Remove the input file when finished."
-msgstr ""
+msgstr " -D Удалить входной файл после завершения."
msgid " -D name=value Set named variable to value."
-msgstr ""
+msgstr " -D name=value Определение переменной."
msgid " -E Encrypt the connection."
-msgstr ""
+msgstr " -E Подключение к серверу шифруется."
msgid " -E Test with HTTP Upgrade to TLS."
-msgstr ""
+msgstr " -E Проверять что HTTP использует TLS."
msgid ""
" -F Run in the foreground but detach from console."
msgstr ""
+" -F Запускать с высоким приоритетом и отдельно от консоли."
msgid " -H samba-server Use the named SAMBA server."
-msgstr ""
+msgstr " -H samba-server Использовать заданный сервер SAMBA."
msgid " -I Ignore errors."
-msgstr ""
+msgstr " -I Игнорировать ошибки."
msgid " -I include-dir Add include directory to search path."
-msgstr ""
+msgstr " -I include-dir Добавить каталог include в путь поиска."
msgid " -I {filename,filters,none,profiles}"
-msgstr ""
+msgstr " -I {filename,filters,none,profiles}"
msgid " -L Send requests using content-length."
-msgstr ""
+msgstr " -L Передача запроса с использованием content-length."
msgid ""
" -P filename.plist Produce XML plist to a file and test report to "
"standard output."
msgstr ""
+" -P filename.plist Вывести XML plist в файл и проверить результат "
+"на стандартном выводе."
msgid " -P filename.ppd Set PPD file."
-msgstr ""
+msgstr " -P filename.ppd Задать PPD-файл."
msgid " -P number[-number] Match port to number or range."
-msgstr ""
+msgstr " -P number[-number] Найти номер порта по номеру или диапазону портов."
msgid " -R root-directory Set alternate root."
-msgstr ""
+msgstr " -R root-directory Задать корневой каталог."
msgid " -S Test with SSL encryption."
-msgstr ""
+msgstr " -S Проверять шифрование SSL."
msgid " -T seconds Set the browse timeout in seconds."
-msgstr ""
+msgstr " -T seconds Задать время ожидания в секундах."
msgid " -T seconds Set the receive/send timeout in seconds."
-msgstr ""
+msgstr " -T seconds Задать время ожидания приема/передачи в секундах."
msgid " -U username Specify username."
-msgstr ""
+msgstr " -U username Указание имени пользователя."
msgid " -V version Set default IPP version."
-msgstr ""
+msgstr " -V version Задать версию IPP по умолчанию."
msgid ""
" -W {all,none,constraints,defaults,duplex,filters,profiles,sizes,"
"translations}"
msgstr ""
+" -W {all,none,constraints,defaults,duplex,filters,profiles,sizes,"
+"translations}"
msgid " -X Produce XML plist instead of plain text."
-msgstr ""
+msgstr " -X Выводить XML plist вместо обычного текста."
msgid " -a Browse for all services."
-msgstr ""
+msgstr " -a Обзор всех сервисов."
msgid " -a Export all printers."
-msgstr ""
+msgstr " -a Экспорт всех принтеров."
msgid " -c Produce CSV output."
-msgstr ""
+msgstr " -c Вывод в формате CSV."
msgid " -c catalog.po Load the specified message catalog."
-msgstr ""
+msgstr " -c catalog.po Загружается указанный каталог сообщений."
msgid " -c cups-files.conf Set cups-files.conf file to use."
-msgstr ""
+msgstr " -c cups-files.conf Использовать заданный cups-files.conf"
msgid " -c cupsd.conf Set cupsd.conf file to use."
-msgstr ""
+msgstr " -c cupsd.conf Использовать заданный cupsd.conf"
msgid " -d domain Browse/resolve in specified domain."
-msgstr ""
+msgstr " -d domain Просмотр в заданном домене."
msgid " -d name=value Set named variable to value."
-msgstr ""
+msgstr " -d name=value Указанной переменной присваивается значение."
msgid " -d output-dir Specify the output directory."
-msgstr ""
+msgstr " -d output-dir Задать выходной каталог."
msgid " -d printer Use the named printer."
-msgstr ""
+msgstr " -d printer Использовать заданный принтер."
msgid " -d regex Match domain to regular expression."
-msgstr ""
+msgstr " -d regex Искать домен по регулярному выражению."
msgid " -e Use every filter from the PPD file."
-msgstr ""
+msgstr " -e Использовать каждый фильтр из PPD-файла."
msgid " -f Run in the foreground."
-msgstr ""
+msgstr " -f Запускать с высоким приоритетом."
msgid " -f filename Set default request filename."
-msgstr ""
+msgstr " -f filename Задать имя файла по умолчанию."
msgid " -h Show this usage message."
-msgstr ""
+msgstr " -h Show this usage message."
msgid " -h regex Match hostname to regular expression."
-msgstr ""
+msgstr " -h regex Найти hostname по регулярному выражению."
msgid " -h server[:port] Specify server address."
-msgstr ""
+msgstr " -h server[:port] Задать адрес и порт сервера."
msgid " -i mime/type Set input MIME type (otherwise auto-typed)."
-msgstr ""
+msgstr " -i mime/type Указать MIME-тип данных на входе (иначе автоопред.)."
msgid ""
" -i seconds Repeat the last file with the given time interval."
msgstr ""
+" -i seconds Повтор последнего файла через заданный интервал в сек."
msgid ""
" -j job-id[,N] Filter file N from the specified job (default is "
"file 1)."
msgstr ""
+" -j job-id[,N] Из указанного задания выбирается файл N (по умолчанию "
+"файл 1)."
msgid " -l List attributes."
-msgstr ""
+msgstr " -l Список атрибутов."
msgid " -l Produce plain text output."
-msgstr ""
+msgstr " -l Вывод в формате простого текста."
msgid " -l Run cupsd on demand."
-msgstr ""
+msgstr " -l Запускать cupsd по запросу."
msgid " -l lang[,lang,...] Specify the output language(s) (locale)."
-msgstr ""
+msgstr " -l lang[,lang,...] Задать выходной язык(и) (locale)."
msgid " -m Use the ModelName value as the filename."
-msgstr ""
+msgstr " -m В качестве имени файла используется ModelName."
msgid ""
" -m mime/type Set output MIME type (otherwise application/pdf)."
msgstr ""
+" -m mime/type Указать MIME-тип данных на выходе (иначе application/pdf)."
msgid " -n copies Set number of copies."
-msgstr ""
+msgstr " -n copies Указать количество копий."
msgid ""
" -n count Repeat the last file the given number of times."
msgstr ""
+" -n count Повтор последнего файла заданное число раз."
msgid " -n regex Match service name to regular expression."
-msgstr ""
+msgstr " -n regex Найти имя по регулярному выражению."
msgid ""
" -o filename.drv Set driver information file (otherwise ppdi.drv)."
msgstr ""
+" -o filename.drv Указать файл с информацией о драйвере (иначе ppdi.drv)."
msgid " -o filename.ppd[.gz] Set output file (otherwise stdout)."
-msgstr ""
+msgstr " -o filename.ppd[.gz] Задать выходной файл (иначе stdout)."
msgid " -o name=value Set option(s)."
-msgstr ""
+msgstr " -o name=value Задать параметры."
msgid " -p Print URI if true."
-msgstr ""
+msgstr " -p Печать URI при соответствии."
msgid " -p filename.ppd Set PPD file."
-msgstr ""
+msgstr " -p filename.ppd Задать PPD-файл."
msgid " -p program Run specified program for each service."
-msgstr ""
+msgstr " -p program Запустить указанную программу."
msgid " -q Quietly report match via exit code."
-msgstr ""
+msgstr " -q Кратко уведомлять о совпадении через код выхода."
msgid " -q Run silently."
-msgstr ""
+msgstr " -q Команда выполняется в «тихом» режиме."
msgid " -r True if service is remote."
-msgstr ""
+msgstr " -r \"Истина\" если сервис удаленный."
msgid " -r Use 'relaxed' open mode."
-msgstr ""
+msgstr " -r Используется открытый режим."
msgid " -s Print service name if true."
-msgstr ""
+msgstr " -s Печать имени сервиса если соответствует."
msgid " -t Produce a test report."
-msgstr ""
+msgstr " -t Создать тестовый отчет."
msgid " -t Test PPDs instead of generating them."
-msgstr ""
+msgstr " -t Тест PPDs вместо его создания."
msgid " -t Test the configuration file."
-msgstr ""
+msgstr " -t Проверка файла конфигурации."
msgid " -t key True if the TXT record contains the key."
-msgstr ""
+msgstr " -t key \"Истина\" если TXT запись содержит key."
msgid " -t title Set title."
-msgstr ""
+msgstr " -t title Задать заголовок."
msgid " -t type Browse/resolve with specified type."
-msgstr ""
+msgstr " -t type Просмотр/определение по указанному типу."
msgid " -u Remove the PPD file when finished."
-msgstr ""
+msgstr " -u Удалить PPD-файл после завершения."
msgid " -u regex Match URI to regular expression."
-msgstr ""
+msgstr " -u regex Найти URI по регулярному выражению."
msgid " -v Be verbose."
-msgstr ""
+msgstr " -v Подробный вывод лога."
msgid " -vv Be very verbose."
-msgstr ""
+msgstr " -vv Очень подробный вывод лога."
msgid ""
" -x utility [argument ...] ;\n"
" Execute program if true."
msgstr ""
+" -x utility [argument ...] ;\n"
+" Выполнить программу."
msgid " -z Compress PPD files using GNU zip."
-msgstr ""
+msgstr " -z Сжимать PPD-файл используя GNU zip."
msgid " IPPFIND_SERVICE_DOMAIN Domain name"
-msgstr ""
+msgstr " IPPFIND_SERVICE_DOMAIN Имя домена"
msgid ""
" IPPFIND_SERVICE_HOSTNAME\n"
" Fully-qualified domain name"
msgstr ""
+" IPPFIND_SERVICE_HOSTNAME\n"
+" Полный путь с учетом домена"
msgid " IPPFIND_SERVICE_NAME Service instance name"
-msgstr ""
+msgstr " IPPFIND_SERVICE_NAME Имя сервиса"
msgid " IPPFIND_SERVICE_PORT Port number"
-msgstr ""
+msgstr " IPPFIND_SERVICE_PORT Номер порта"
msgid " IPPFIND_SERVICE_REGTYPE DNS-SD registration type"
-msgstr ""
+msgstr " IPPFIND_SERVICE_REGTYPE Тип регистрации DNS-SD"
msgid " IPPFIND_SERVICE_SCHEME URI scheme"
-msgstr ""
+msgstr " IPPFIND_SERVICE_SCHEME Схема URI"
msgid " IPPFIND_SERVICE_URI URI"
-msgstr ""
+msgstr " IPPFIND_SERVICE_URI URI"
msgid " IPPFIND_TXT_* Value of TXT record key"
-msgstr ""
+msgstr " IPPFIND_TXT_* Значение TXT записи key"
msgid ""
" expression --and expression\n"
" Logical AND."
msgstr ""
+" expression --and expression\n"
+" Логическое И."
msgid ""
" expression --or expression\n"
" Logical OR."
msgstr ""
+" expression --or expression\n"
+" Логическое ИЛИ."
msgid " expression expression Logical AND."
-msgstr ""
+msgstr " expression expression Логическое И."
msgid " {service_domain} Domain name"
-msgstr ""
+msgstr " {service_domain} Имя домена"
msgid " {service_hostname} Fully-qualified domain name"
-msgstr ""
+msgstr " {service_hostname} Полный путь с учетом домена"
msgid " {service_name} Service instance name"
-msgstr ""
+msgstr " {service_name} Имя сервиса"
msgid " {service_port} Port number"
-msgstr ""
+msgstr " {service_port} Номер порта"
msgid " {service_regtype} DNS-SD registration type"
-msgstr ""
+msgstr " {service_regtype} Тип регистрации DNS-SD"
msgid " {service_scheme} URI scheme"
-msgstr ""
+msgstr " {service_scheme} Схема URI"
msgid " {service_uri} URI"
-msgstr ""
+msgstr " {service_uri} URI"
msgid " {txt_*} Value of TXT record key"
-msgstr ""
+msgstr " {txt_*} Значение TXT записи key"
msgid " {} URI"
-msgstr ""
+msgstr " {} URI"
msgid " FAIL"
-msgstr ""
+msgstr " FAIL"
msgid " PASS"
-msgstr ""
+msgstr " PASS"
#, c-format
msgid "\"%s\": Bad URI value \"%s\" - %s (RFC 2911 section 4.1.5)."
-msgstr ""
+msgstr "\"%s\": Неправильное значение URI \"%s\" - %s (RFC 2911 раздел 4.1.5)."
#, c-format
msgid "\"%s\": Bad URI value \"%s\" - bad length %d (RFC 2911 section 4.1.5)."
-msgstr ""
+msgstr "\"%s\": Неправильное значение URI \"%s\" - ошибка длины %d (RFC 2911 раздел 4.1.5)."
#, c-format
msgid "\"%s\": Bad attribute name - bad length %d (RFC 2911 section 4.1.3)."
-msgstr ""
+msgstr "\"%s\": Неправильный атрибут имени - ошибка длины %d (RFC 2911 раздел 4.1.3)."
#, c-format
msgid ""
"\"%s\": Bad attribute name - invalid character (RFC 2911 section 4.1.3)."
msgstr ""
+"\"%s\": Неправильный атрибут имени - недопустимый символ (RFC 2911 раздел 4.1.3)."
#, c-format
msgid "\"%s\": Bad boolen value %d (RFC 2911 section 4.1.11)."
-msgstr ""
+msgstr "\"%s\": Неправильное двоичное значение %d (RFC 2911 раздел 4.1.11)."
#, c-format
msgid ""
"\"%s\": Bad charset value \"%s\" - bad characters (RFC 2911 section 4.1.7)."
msgstr ""
+"\"%s\": Неправильное символьное значение \"%s\" - недопустимые символы (RFC 2911 раздел 4.1.7)."
#, c-format
msgid ""
"\"%s\": Bad charset value \"%s\" - bad length %d (RFC 2911 section 4.1.7)."
msgstr ""
+"\"%s\": Неправильное символьное значение \"%s\" - ошибка длины %d (RFC 2911 раздел 4.1.7)."
#, c-format
msgid "\"%s\": Bad dateTime UTC hours %u (RFC 2911 section 4.1.14)."
-msgstr ""
+msgstr "\"%s\": Ошибка в dateTime UTC часов %u (RFC 2911 раздел 4.1.14)."
#, c-format
msgid "\"%s\": Bad dateTime UTC minutes %u (RFC 2911 section 4.1.14)."
-msgstr ""
+msgstr "\"%s\": Ошибка в dateTime UTC минут %u (RFC 2911 раздел 4.1.14)."
#, c-format
msgid "\"%s\": Bad dateTime UTC sign '%c' (RFC 2911 section 4.1.14)."
-msgstr ""
+msgstr "\"%s\": Ошибка в dateTime UTC sign '%c' (RFC 2911 раздел 4.1.14)."
#, c-format
msgid "\"%s\": Bad dateTime day %u (RFC 2911 section 4.1.14)."
-msgstr ""
+msgstr "\"%s\": Ошибка в dateTime дни %u (RFC 2911 раздел 4.1.14)."
#, c-format
msgid "\"%s\": Bad dateTime deciseconds %u (RFC 2911 section 4.1.14)."
-msgstr ""
+msgstr "\"%s\": Ошибка в dateTime миллисекунды %u (RFC 2911 раздел 4.1.14)."
#, c-format
msgid "\"%s\": Bad dateTime hours %u (RFC 2911 section 4.1.14)."
-msgstr ""
+msgstr "\"%s\": Ошибка в dateTime часы %u (RFC 2911 раздел 4.1.14)."
#, c-format
msgid "\"%s\": Bad dateTime minutes %u (RFC 2911 section 4.1.14)."
-msgstr ""
+msgstr "\"%s\": Ошибка в dateTime минуты %u (RFC 2911 раздел 4.1.14)."
#, c-format
msgid "\"%s\": Bad dateTime month %u (RFC 2911 section 4.1.14)."
-msgstr ""
+msgstr "\"%s\": Ошибка в dateTime месяц %u (RFC 2911 раздел 4.1.14)."
#, c-format
msgid "\"%s\": Bad dateTime seconds %u (RFC 2911 section 4.1.14)."
-msgstr ""
+msgstr "\"%s\": Ошибка в dateTime секунды %u (RFC 2911 раздел 4.1.14)."
#, c-format
msgid "\"%s\": Bad enum value %d - out of range (RFC 2911 section 4.1.4)."
-msgstr ""
+msgstr "\"%s\": Ошибка в значении %d - за пределами диапазона (RFC 2911 раздел 4.1.4)."
#, c-format
msgid ""
"\"%s\": Bad keyword value \"%s\" - bad length %d (RFC 2911 section 4.1.3)."
msgstr ""
+"\"%s\": Ошибка в значении \"%s\" - неправильная длина %d (RFC 2911 раздел 4.1.3)."
#, c-format
msgid ""
"\"%s\": Bad keyword value \"%s\" - invalid character (RFC 2911 section "
"4.1.3)."
msgstr ""
+"\"%s\": Ошибка в значении \"%s\" - недопустимый символ (RFC 2911 "
+"раздел 4.1.3)."
#, c-format
msgid ""
"\"%s\": Bad mimeMediaType value \"%s\" - bad characters (RFC 2911 section "
"4.1.9)."
msgstr ""
+"\"%s\": Ошибка mimeMediaType значение \"%s\" - недопустимые символы (RFC 2911 "
+"раздел 4.1.9)."
#, c-format
msgid ""
"\"%s\": Bad mimeMediaType value \"%s\" - bad length %d (RFC 2911 section "
"4.1.9)."
msgstr ""
+msgid ""
+"\"%s\": Ошибка mimeMediaType значение \"%s\" - неправильная длина %d "
+"(RFC 2911 раздел 4.1.9)."
#, c-format
msgid ""
"\"%s\": Bad name value \"%s\" - bad UTF-8 sequence (RFC 2911 section 4.1.2)."
msgstr ""
+"\"%s\": Неправильное имя \"%s\" - ошибка в UTF-8 (RFC 2911 раздел 4.1.2)."
#, c-format
msgid "\"%s\": Bad name value \"%s\" - bad length %d (RFC 2911 section 4.1.2)."
-msgstr ""
+msgstr "\"%s\": Неправильное имя \"%s\" - неправильная длина %d (RFC 2911 раздел 4.1.2)."
#, c-format
msgid ""
"\"%s\": Bad naturalLanguage value \"%s\" - bad characters (RFC 2911 section "
"4.1.8)."
msgstr ""
+"\"%s\": Ошибка naturalLanguage значение \"%s\" - недопустимые символы "
+"(RFC 2911 раздел 4.1.8)."
#, c-format
msgid ""
"\"%s\": Bad naturalLanguage value \"%s\" - bad length %d (RFC 2911 section "
"4.1.8)."
msgstr ""
+"\"%s\": Ошибка naturalLanguage значение \"%s\" - неправильная длина %d "
+"(RFC 2911 раздел 4.1.8)."
#, c-format
msgid ""
"\"%s\": Bad octetString value - bad length %d (RFC 2911 section 4.1.10)."
msgstr ""
+"\"%s\": Ошибка значения octetString - неправильная длина %d (RFC 2911 раздел 4.1.10)."
#, c-format
msgid ""
"\"%s\": Bad rangeOfInteger value %d-%d - lower greater than upper (RFC 2911 "
"section 4.1.13)."
msgstr ""
+"\"%s\": Ошибка rangeOfInteger значение %d-%d - первое больше чем второе "
+"(RFC 2911 раздел 4.1.13)."
#, c-format
msgid ""
"\"%s\": Bad resolution value %dx%d%s - bad units value (RFC 2911 section "
"4.1.15)."
msgstr ""
+"\"%s\": Неправильное значение разрешения %dx%d%s - ошибка в значении units "
+"(RFC 2911 раздел 4.1.15)."
#, c-format
msgid ""
"\"%s\": Bad resolution value %dx%d%s - cross feed resolution must be "
"positive (RFC 2911 section 4.1.15)."
msgstr ""
+"\"%s\": Неправильное значение разрешения %dx%d%s - значение cross feed должно быть положительным "
+"(RFC 2911 раздел 4.1.15)."
#, c-format
msgid ""
"\"%s\": Bad resolution value %dx%d%s - feed resolution must be positive (RFC "
"2911 section 4.1.15)."
msgstr ""
+"\"%s\": Неправильное значение разрешения %dx%d%s - значение feed должно быть положительным "
+"(RFC 2911 раздел 4.1.15)."
#, c-format
msgid ""
"\"%s\": Bad text value \"%s\" - bad UTF-8 sequence (RFC 2911 section 4.1.1)."
msgstr ""
+"\"%s\": Неправильное текстовое значение \"%s\" - ошибка в UTF-8 (RFC 2911 раздел 4.1.1)."
#, c-format
msgid "\"%s\": Bad text value \"%s\" - bad length %d (RFC 2911 section 4.1.1)."
-msgstr ""
+msgstr "\"%s\": Неправильное текстовое значение \"%s\" - ошибка длины %d (RFC 2911 раздел 4.1.1)."
#, c-format
msgid ""
"\"%s\": Bad uriScheme value \"%s\" - bad characters (RFC 2911 section 4.1.6)."
msgstr ""
+"\"%s\": Ошибка uriScheme значение \"%s\" - недопустимые символы (RFC 2911 раздел 4.1.6)."
#, c-format
msgid ""
"\"%s\": Bad uriScheme value \"%s\" - bad length %d (RFC 2911 section 4.1.6)."
msgstr ""
+"\"%s\": Ошибка uriScheme значение \"%s\" - ошибка длины %d (RFC 2911 раздел 4.1.6)."
#, c-format
msgid "%-7s %-7.7s %-7d %-31.31s %.0f bytes"
-msgstr ""
+msgstr "%-7s %-7.7s %-7d %-31.31s %.0f байт"
#, c-format
msgid "%d x %d mm"
-msgstr ""
+msgstr "%d x %d мм"
#, c-format
msgid "%g x %g"
-msgstr ""
+msgstr "%g x %g"
#, c-format
msgid "%s (%s)"
-msgstr ""
+msgstr "%s (%s)"
#, c-format
msgid "%s (%s, %s)"
-msgstr ""
+msgstr "%s (%s, %s)"
#, c-format
msgid "%s (Borderless)"
-msgstr ""
+msgstr "%s (без полей)"
#, c-format
msgid "%s (Borderless, %s)"
-msgstr ""
+msgstr "%s (без полей, %s)"
#, c-format
msgid "%s (Borderless, %s, %s)"
-msgstr ""
+msgstr "%s (без полей, %s, %s)"
-#, c-format
msgid "%s accepting requests since %s"
-msgstr ""
+msgstr "%s принимает запросы с момента %s"
#, c-format
msgid "%s cannot be changed."
@@ -1385,321 +1564,362 @@ msgstr "%s не может быть изменен."
#, c-format
msgid "%s is not implemented by the CUPS version of lpc."
-msgstr ""
+msgstr "%s не выполнено версией CUPS для lpc."
#, c-format
msgid "%s is not ready"
-msgstr ""
+msgstr "%s не готов"
#, c-format
msgid "%s is ready"
-msgstr ""
+msgstr "%s готов"
#, c-format
msgid "%s is ready and printing"
-msgstr ""
+msgstr "%s готов и печатает"
#, c-format
msgid "%s job-id user title copies options [file]"
-msgstr ""
+msgstr "%s задание пользователь название копий параметры [файл]"
#, c-format
msgid "%s not accepting requests since %s -"
-msgstr ""
+msgstr "%s не принимает запросы с момента %s -"
#, c-format
msgid "%s not supported."
-msgstr ""
+msgstr "%s не поддерживается."
+
#, c-format
msgid "%s/%s accepting requests since %s"
-msgstr ""
+msgstr "%s/%s принимает запросы с момента %s"
#, c-format
msgid "%s/%s not accepting requests since %s -"
-msgstr ""
+msgstr "%s/%s не принимает запросы с момента %s -"
#, c-format
msgid "%s: %-33.33s [job %d localhost]"
-msgstr ""
+msgstr "%s: %-33.33s [задание %d localhost]"
#. TRANSLATORS: Message is "subject: error"
#, c-format
msgid "%s: %s"
-msgstr ""
+msgstr "%s: %s"
#, c-format
msgid "%s: %s failed: %s"
-msgstr ""
+msgstr "%s: ошибка %s: %s"
#, c-format
msgid "%s: Bad version %s for \"-V\"."
-msgstr ""
+msgstr "%s: Неверная версия %s для \"-V\"."
#, c-format
msgid "%s: Don't know what to do."
-msgstr ""
+msgstr "%s: Дальнейшие действия неизвестны."
#, c-format
msgid ""
"%s: Error - %s environment variable names non-existent destination \"%s\"."
msgstr ""
+"%s: Ошибка - %s переменная окружения указывает на несуществующее назначение \"%s\"."
#, c-format
msgid "%s: Error - add '/version=1.1' to server name."
-msgstr ""
+msgstr "%s: Ошибка - добавьте '/version=1.1' к имени сервера."
#, c-format
msgid "%s: Error - bad job ID."
-msgstr ""
+msgstr "%s: Ошибка - неверный ID задания."
#, c-format
msgid "%s: Error - cannot print files and alter jobs simultaneously."
msgstr ""
+"%s: Ошибка - невозможно печатать файлы и редактировать задания одновременно."
#, c-format
msgid "%s: Error - cannot print from stdin if files or a job ID are provided."
-msgstr ""
+msgstr "%s: Ошибка - не удается печать из stdin, если предоставлены файлы "
+"или ID задания."
#, c-format
msgid "%s: Error - expected character set after \"-S\" option."
-msgstr ""
+msgstr "%s: Ошибка - после параметра \"-S\" должен идти набор символов."
+
#, c-format
msgid "%s: Error - expected content type after \"-T\" option."
-msgstr ""
+msgstr "%s: Ошибка - после параметра \"-T\" должен быть указан тип содержимого."
#, c-format
msgid "%s: Error - expected copies after \"-#\" option."
msgstr ""
+"%s: Ошибка - после параметра \"-#\" должно быть указано количество копий."
#, c-format
msgid "%s: Error - expected copies after \"-n\" option."
msgstr ""
+"%s: Ошибка - после параметра \"-n\" должно быть указано количество копий."
#, c-format
msgid "%s: Error - expected destination after \"-P\" option."
-msgstr ""
+msgstr "%s: Ошибка - после параметра \"-P\" должно быть указано назначение."
#, c-format
msgid "%s: Error - expected destination after \"-d\" option."
-msgstr ""
+msgstr "%s: Ошибка - после параметра \"-d\" должно быть указано назначение."
+
#, c-format
msgid "%s: Error - expected form after \"-f\" option."
-msgstr ""
+msgstr "%s: Ошибка - после параметра \"-f\" должна быть указана форма."
+
#, c-format
msgid "%s: Error - expected hold name after \"-H\" option."
-msgstr ""
+msgstr "%s: Ошибка - после параметра \"-H\" должно быть указано имя хоста."
+
#, c-format
msgid "%s: Error - expected hostname after \"-H\" option."
-msgstr ""
+msgstr "%s: Ошибка - после параметра \"-H\" должно быть указано имя хоста."
#, c-format
msgid "%s: Error - expected hostname after \"-h\" option."
-msgstr ""
+msgstr "%s: Ошибка - после параметра \"-h\" должно быть указано имя хоста."
+
#, c-format
msgid "%s: Error - expected mode list after \"-y\" option."
msgstr ""
+"%s: Ошибка - после параметра \"-y\" должен быть указан список режимов."
#, c-format
msgid "%s: Error - expected name after \"-%c\" option."
-msgstr ""
+msgstr "%s: Ошибка - после параметра \"-%c\" должно быть указано имя."
+
#, c-format
msgid "%s: Error - expected option=value after \"-o\" option."
msgstr ""
+"%s: Ошибка - после параметра '-o' должна быть указана строка вида option=value"
+
#, c-format
msgid "%s: Error - expected page list after \"-P\" option."
-msgstr ""
+msgstr "%s: Ошибка – после параметра \"-P\" должен идти список страниц."
#, c-format
msgid "%s: Error - expected priority after \"-%c\" option."
-msgstr ""
+msgstr "%s: Ошибка - после параметра \"-%c\" должен быть указан приоритет."
+
#, c-format
msgid "%s: Error - expected reason text after \"-r\" option."
-msgstr ""
+msgstr "%s: Ошибка - после параметра \"-r\" должен идти текст причины."
+
#, c-format
msgid "%s: Error - expected title after \"-t\" option."
-msgstr ""
+msgstr "%s: Ошибка - после параметра \"-t\" должен быть указан заголовок."
#, c-format
msgid "%s: Error - expected username after \"-U\" option."
msgstr ""
+"%s: Ошибка - после параметра \"-U\" должно быть указано имя пользователя."
#, c-format
msgid "%s: Error - expected username after \"-u\" option."
msgstr ""
+"%s: Ошибка - после параметра \"-u\" должно быть указано имя пользователя."
+
#, c-format
msgid "%s: Error - expected value after \"-%c\" option."
-msgstr ""
+msgstr "%s: Ошибка - после параметра \"-%c\" должно быть указано значение."
#, c-format
msgid ""
"%s: Error - need \"completed\", \"not-completed\", or \"all\" after \"-W\" "
"option."
msgstr ""
+"%s: Ошибка - требуется \"завершено\",\"не завершено\" или \"все\" после "
+"параметра \"-W\" "
+
#, c-format
msgid "%s: Error - no default destination available."
-msgstr ""
+msgstr "%s: Ошибка – нет доступного назначения по умолчанию."
#, c-format
msgid "%s: Error - priority must be between 1 and 100."
-msgstr ""
+msgstr "%s: Ошибка – приоритет должен быть от 1 до 100."
#, c-format
msgid "%s: Error - scheduler not responding."
-msgstr ""
+msgstr "%s: Ошибка - планировщик не отвечает."
+
+msgid "%s: Error - scheduler not responding."
+msgstr "%s: Ошибка – планировщик не отвечает."
#, c-format
msgid "%s: Error - too many files - \"%s\"."
-msgstr ""
+msgstr "%s: Ошибка – слишком много файлов – \"%s\"."
#, c-format
msgid "%s: Error - unable to access \"%s\" - %s"
-msgstr ""
+msgstr "%s: Ошибка – не удается получить доступ к \"%s\" – %s"
#, c-format
msgid "%s: Error - unable to queue from stdin - %s."
-msgstr ""
+msgstr "%s: Ошибка – не удается поставить в очередь из stdin - %s."
#, c-format
msgid "%s: Error - unknown destination \"%s\"."
-msgstr ""
+msgstr "%s: Ошибка - неизвестное назначение \"%s\"."
+
#, c-format
msgid "%s: Error - unknown destination \"%s/%s\"."
-msgstr ""
+msgstr "%s: ошибка - неизвестное назначение \"%s/%s\"."
+
#, c-format
msgid "%s: Error - unknown option \"%c\"."
-msgstr ""
+msgstr "%s: Ошибка - неизвестный параметр \"%c\"."
+
#, c-format
msgid "%s: Error - unknown option \"%s\"."
-msgstr ""
+msgstr "%s: Ошибка - неизвестный параметр \"%s\"."
#, c-format
msgid "%s: Expected job ID after \"-i\" option."
-msgstr ""
+msgstr "%s: После параметра \"-i\" должен быть указан ID задания."
#, c-format
msgid "%s: Invalid destination name in list \"%s\"."
-msgstr ""
+msgstr "%s: Недопустимое имя назначения в списке \"%s\"."
+
#, c-format
msgid "%s: Invalid filter string \"%s\"."
-msgstr ""
+msgstr "%s: Неверная строка фильтра \"%s\"."
#, c-format
msgid "%s: Missing filename for \"-P\"."
-msgstr ""
+msgstr "%s: Пропущено имя файла для \"-P\"."
#, c-format
msgid "%s: Missing timeout for \"-T\"."
-msgstr ""
+msgstr "%s: Пропущен таймаут для \"-T\"."
#, c-format
msgid "%s: Missing version for \"-V\"."
-msgstr ""
+msgstr "%s: Пропущена версия для \"-V\"."
+
#, c-format
msgid "%s: Need job ID (\"-i jobid\") before \"-H restart\"."
-msgstr ""
+msgstr "%s: Необходимо указать ID задания (\"-i jobid\") перед \"-H restart\"."
+
+
#, c-format
msgid "%s: No filter to convert from %s/%s to %s/%s."
msgstr ""
+"%s: Отсутствует фильтр, необходимый для преобразования из %s/%s в %s/%s."
#, c-format
msgid "%s: Operation failed: %s"
-msgstr ""
+msgstr "%s: Операция не удалась: %s"
#, c-format
msgid "%s: Sorry, no encryption support."
-msgstr ""
+msgstr "%s: Нет поддержки шифрования."
+
#, c-format
msgid "%s: Unable to connect to server."
-msgstr ""
+msgstr "%s: Не удается подключиться к серверу."
#, c-format
msgid "%s: Unable to contact server."
-msgstr ""
+msgstr "%s: Не удается установить связь с сервером."
#, c-format
msgid "%s: Unable to determine MIME type of \"%s\"."
-msgstr ""
+msgstr "%s: Не удается определить тип MIME \"%s\"."
#, c-format
msgid "%s: Unable to open \"%s\": %s"
-msgstr ""
+msgstr "%s: Не удается открыть \"%s\": %s"
#, c-format
msgid "%s: Unable to open %s: %s"
-msgstr ""
+msgstr "%s: Не удается открыть %s: %s"
#, c-format
msgid "%s: Unable to open PPD file: %s on line %d."
-msgstr ""
+msgstr "%s: Не удается открыть PPD-файл: %s в строке %d."
#, c-format
msgid "%s: Unable to read MIME database from \"%s\" or \"%s\"."
-msgstr ""
+msgstr "%s: Не удается прочитать базу данных MIME из \"%s\" или \"%s\"."
+
#, c-format
msgid "%s: Unknown destination \"%s\"."
-msgstr ""
+msgstr "%s: Неизвестное назначение \"%s\"."
+
#, c-format
msgid "%s: Unknown destination MIME type %s/%s."
-msgstr ""
+msgstr "%s: Неизвестный MIME-тип назначения %s/%s."
+
#, c-format
msgid "%s: Unknown option \"%c\"."
-msgstr ""
+msgstr "%s: Неизвестный параметр \"%c\"."
#, c-format
msgid "%s: Unknown option \"%s\"."
-msgstr ""
+msgstr "%s: Неизвестный параметр \"%s\"."
#, c-format
msgid "%s: Unknown option \"-%c\"."
-msgstr ""
+msgstr "%s: Неизвестный параметр \"-%c\"."
#, c-format
msgid "%s: Unknown source MIME type %s/%s."
-msgstr ""
+msgstr "%s: Неизвестный MIME-тип источника %s/%s."
#, c-format
msgid ""
"%s: Warning - \"%c\" format modifier not supported - output may not be "
"correct."
msgstr ""
+"%s: Внимание - модификатор формата \"%c\" не поддерживается - вывод может "
+"быть неправильным."
+
#, c-format
msgid "%s: Warning - character set option ignored."
-msgstr ""
+msgstr "%s: Внимание - параметр набора символов пропущен."
#, c-format
msgid "%s: Warning - content type option ignored."
-msgstr ""
+msgstr "%s: Внимание - параметр типа содержимого пропущен."
#, c-format
msgid "%s: Warning - form option ignored."
-msgstr ""
+msgstr "%s: Внимание - параметр формы пропущен."
#, c-format
msgid "%s: Warning - mode option ignored."
-msgstr ""
+msgstr "%s: Внимание - параметр режима пропущен."
msgid "-1"
msgstr "-1"
@@ -2303,11 +2523,11 @@ msgstr "Для экспорта драйверов принтера требуе
#, c-format
msgid "A class named \"%s\" already exists."
-msgstr ""
+msgstr "Группа с именем \"%s\" уже существует."
#, c-format
msgid "A printer named \"%s\" already exists."
-msgstr ""
+msgstr "Принтер с именем \"%s\" уже существует."
msgid "A0"
msgstr "A0"
@@ -2418,7 +2638,7 @@ msgid "Accepted"
msgstr "Принято"
msgid "Add Class"
-msgstr "Добавить класс"
+msgstr "Добавить группу"
msgid "Add Printer"
msgstr "Добавить принтер"
@@ -2430,7 +2650,7 @@ msgid "Address"
msgstr "Адрес"
msgid "Administration"
-msgstr "Администрация"
+msgstr "Администрирование"
msgid "Always"
msgstr "Всегда"
@@ -2443,11 +2663,11 @@ msgstr "Исполнительное устройство"
#, c-format
msgid "Attempt to set %s printer-state to bad value %d."
-msgstr ""
+msgstr "Попытка установить %s printer-state на неверное значение %d"
#, c-format
msgid "Attribute groups are out of order (%x < %x)."
-msgstr ""
+msgstr "Атрибут группы не в диапазоне (%x < %x)"
msgid "B0"
msgstr "B0"
@@ -2514,7 +2734,7 @@ msgid "Bad UIConstraints"
msgstr "Неверное значение UIConstraints"
msgid "Bad arguments to function"
-msgstr ""
+msgstr "Неверные аргументы для функции"
#, c-format
msgid "Bad copies value %d."
@@ -2525,57 +2745,57 @@ msgstr "Неверный индивидуальный параметр"
#, c-format
msgid "Bad device-uri \"%s\"."
-msgstr ""
+msgstr "Неверное значение device-uri \"%s\"."
#, c-format
msgid "Bad device-uri scheme \"%s\"."
-msgstr ""
+msgstr "Неверная схема device-uri \"%s\"."
#, c-format
msgid "Bad document-format \"%s\"."
-msgstr ""
+msgstr "Неверное значение document-format \"%s\"."
#, c-format
msgid "Bad document-format-default \"%s\"."
-msgstr ""
+msgstr "Неверное значение document-format-default \"%s\"."
msgid "Bad filename buffer"
msgstr "Ошибка в буфере filename"
msgid "Bad hostname/address in URI"
-msgstr ""
+msgstr "Неверный hostname/address в URI"
#, c-format
msgid "Bad job-name value: %s"
-msgstr ""
+msgstr "Неверное значение job-name: %s"
msgid "Bad job-name value: Wrong type or count."
-msgstr ""
+msgstr "Неверное значение job-name: Wrong type or count."
msgid "Bad job-priority value."
-msgstr ""
+msgstr "Неверное значение job-priority."
#, c-format
msgid "Bad job-sheets value \"%s\"."
-msgstr ""
+msgstr "Неверное значение job-sheets \"%s\"."
msgid "Bad job-sheets value type."
-msgstr ""
+msgstr "Неверный тип значения job-sheets."
msgid "Bad job-state value."
-msgstr ""
+msgstr "Неверное значение job-state."
#, c-format
msgid "Bad job-uri \"%s\"."
-msgstr ""
+msgstr "Неверный job-uri \"%s\"."
#, c-format
msgid "Bad notify-pull-method \"%s\"."
-msgstr ""
+msgstr "Неверное значение notify-pull-method \"%s\"."
#, c-format
msgid "Bad notify-recipient-uri \"%s\"."
-msgstr ""
+msgstr "Неверный notify-recipient-uri \"%s\"."
#, c-format
msgid "Bad number-up value %d."
@@ -2583,33 +2803,33 @@ msgstr "Неверное значение number-up %d."
#, c-format
msgid "Bad option + choice on line %d."
-msgstr ""
+msgstr "Неверный параметр + выбор в строке %d."
#, c-format
msgid "Bad page-ranges values %d-%d."
msgstr "Неверные значения page-ranges %d-%d."
msgid "Bad port number in URI"
-msgstr ""
+msgstr "Неверный номер порта в URI"
#, c-format
msgid "Bad port-monitor \"%s\"."
-msgstr ""
+msgstr "Неверное значение port-monitor \"%s\"."
#, c-format
msgid "Bad printer-state value %d."
-msgstr ""
+msgstr "Неверное значение printer-state %d."
msgid "Bad printer-uri."
-msgstr ""
+msgstr "Неверное значение printer-uri"
#, c-format
msgid "Bad request ID %d."
-msgstr ""
+msgstr "Неверный ID запроса %d."
#, c-format
msgid "Bad request version number %d.%d."
-msgstr ""
+msgstr "Неверный номер версии запроса %d.%d."
msgid "Bad resource in URI"
msgstr ""
@@ -2621,13 +2841,13 @@ msgid "Bad subscription ID"
msgstr "Неверный ID подписки"
msgid "Bad username in URI"
-msgstr ""
+msgstr "Неверное имя пользователя в URI"
msgid "Bad value string"
msgstr "Неверная строка значений"
msgid "Bad/empty URI"
-msgstr ""
+msgstr "Неверный или пустой URI"
msgid "Banners"
msgstr "Баннеры"
@@ -2637,10 +2857,10 @@ msgstr "Документная бумага"
#, c-format
msgid "Boolean expected for waiteof option \"%s\"."
-msgstr ""
+msgstr "Параметр waiteof \"%s\" должен иметь двоичное значение"
msgid "Buffer overflow detected, aborting."
-msgstr ""
+msgstr "Обнаружено переполнение буфера, прерывание."
msgid "CMYK"
msgstr "CMYK"
@@ -2649,35 +2869,35 @@ msgid "CPCL Label Printer"
msgstr "Принтер для печати этикеток CPCL"
msgid "Cancel Jobs"
-msgstr ""
+msgstr "Отменить задания"
msgid "Cancel RSS Subscription"
msgstr "Отменить подписку на RSS"
msgid "Canceling print job."
-msgstr ""
+msgstr "Отмена задания печати."
msgid "Cannot share a remote Kerberized printer."
msgstr ""
msgid "Cassette"
-msgstr ""
+msgstr "Лоток"
msgid "Change Settings"
msgstr "Изменить настройки"
#, c-format
msgid "Character set \"%s\" not supported."
-msgstr ""
+msgstr "Набор символов \"%s\" не поддерживается."
msgid "Classes"
-msgstr "Классы"
+msgstr "Группы"
msgid "Clean Print Heads"
msgstr "Очистить головки принтера"
msgid "Close-Job doesn't support the job-uri attribute."
-msgstr ""
+msgstr "Close-Job не подерживает атрибут job-uri"
msgid "Color"
msgstr "Цвет"
@@ -2690,15 +2910,18 @@ msgid ""
"\n"
"exit help quit status ?"
msgstr ""
+"Команды могут быть сокращены. Команды:\n"
+"\n"
+"exit help quit status ?"
msgid "Community name uses indefinite length"
msgstr "Для имени сообщества длина не установлена"
msgid "Connected to printer."
-msgstr ""
+msgstr "Подключен к принтеру."
msgid "Connecting to printer."
-msgstr ""
+msgstr "Подключение к принтеру"
msgid "Continue"
msgstr "Продолжить"
@@ -2707,10 +2930,10 @@ msgid "Continuous"
msgstr "Непрерывно"
msgid "Control file sent successfully."
-msgstr ""
+msgstr "Контрольный файл успешно отправлен."
msgid "Copying print data."
-msgstr ""
+msgstr "Копирование данных печати."
msgid "Created"
msgstr "Создано"
@@ -2737,10 +2960,10 @@ msgid "Darkness"
msgstr "Затемненность"
msgid "Data file sent successfully."
-msgstr ""
+msgstr "Файл данных успешно отправлен."
msgid "Delete Class"
-msgstr "Удалить класс"
+msgstr "Удалить группу"
msgid "Delete Printer"
msgstr "Удалить принтер"
@@ -2763,34 +2986,34 @@ msgid ""
msgstr ""
msgid "Direct Thermal Media"
-msgstr "Носитель для прямой термопечати"
+msgstr "Носитель для термопечати"
#, c-format
msgid "Directory \"%s\" contains a relative path."
-msgstr ""
+msgstr "Каталог \"%s\" содержит относительный путь."
#, c-format
msgid "Directory \"%s\" has insecure permissions (0%o/uid=%d/gid=%d)."
-msgstr ""
+msgstr "Каталог \"%s\" имеет небезопасные права доступа (0%o/uid=%d/gid=%d)."
#, c-format
msgid "Directory \"%s\" is a file."
-msgstr ""
+msgstr "Каталог \"%s\" это файл."
#, c-format
msgid "Directory \"%s\" not available: %s"
-msgstr ""
+msgstr "Каталог \"%s\" недоступен: %s"
#, c-format
msgid "Directory \"%s\" permissions OK (0%o/uid=%d/gid=%d)."
-msgstr ""
+msgstr "Каталог \"%s\" доступ OK (0%o/uid=%d/gid=%d)."
msgid "Disabled"
msgstr "Отключено"
#, c-format
msgid "Document #%d does not exist in job #%d."
-msgstr ""
+msgstr "Документ #%d не существует в задании #%d."
msgid "Duplexer"
msgstr "Дуплексер"
@@ -2808,10 +3031,10 @@ msgid "Edit Configuration File"
msgstr "Редактировать файл конфигурации"
msgid "Empty PPD file."
-msgstr ""
+msgstr "Пустой PPD файл."
msgid "Encryption is not supported."
-msgstr ""
+msgstr "Шифрование не поддерживается."
#. TRANSLATORS: Banner/cover sheet after the print job.
msgid "Ending Banner"
@@ -2998,10 +3221,10 @@ msgid "Error Policy"
msgstr "Политика ошибок"
msgid "Error sending raster data."
-msgstr ""
+msgstr "Ошибка отправки данных растра."
msgid "Error: need hostname after \"-h\" option."
-msgstr ""
+msgstr "ERROR: Требуется имя хоста после параметра \"-h\""
msgid "Every 10 Labels"
msgstr "Каждые 10 этикеток"
@@ -3034,7 +3257,7 @@ msgid "Every Label"
msgstr "Каждая этикетка"
msgid "Executive"
-msgstr ""
+msgstr "Executive"
msgid "Expectation Failed"
msgstr "Сбой ожидания"
@@ -3043,10 +3266,10 @@ msgid "Export Printers to Samba"
msgstr "Экспортировать принтеры в Samba"
msgid "Expressions:"
-msgstr ""
+msgstr "Выражение:"
msgid "FAIL"
-msgstr ""
+msgstr "FAIL"
msgid "FanFold German"
msgstr ""
@@ -3059,36 +3282,38 @@ msgstr ""
#, c-format
msgid "File \"%s\" contains a relative path."
-msgstr ""
+msgstr "Файл \"%s\" содержит относительный путь."
#, c-format
msgid "File \"%s\" has insecure permissions (0%o/uid=%d/gid=%d)."
-msgstr ""
+msgstr "Файл \"%s\" имеет небезопасные права доступа (0%o/uid=%d/gid=%d)."
#, c-format
msgid "File \"%s\" is a directory."
-msgstr ""
+msgstr "Файл \"%s\" является каталогом."
#, c-format
msgid "File \"%s\" not available: %s"
-msgstr ""
+msgstr "Файл \"%s\" недоступен: %s"
#, c-format
msgid "File \"%s\" permissions OK (0%o/uid=%d/gid=%d)."
-msgstr ""
+msgstr "Файл \"%s\" права доступа OK (0%o/uid=%d/gid=%d)."
msgid "File Folder "
-msgstr ""
+msgstr "Каталог файла "
#, c-format
msgid ""
"File device URIs have been disabled. To enable, see the FileDevice directive "
"in \"%s/cups-files.conf\"."
msgstr ""
+"URI-адреса файлового устройства отключены! Чтобы включить их, используйте "
+"параметр FileDevice в \"%s/cups-files.conf\"."
#, c-format
msgid "Finished page %d."
-msgstr ""
+msgstr "Последняя страница %d."
msgid "Folio"
msgstr "Фолио"
@@ -3109,7 +3334,7 @@ msgid "Glossy Paper"
msgstr "Глянцевая бумага"
msgid "Got a printer-uri attribute but no job-id."
-msgstr ""
+msgstr "Получен атрибут printer-uri, но не job-id"
msgid "Grayscale"
msgstr "Оттенки серого"
@@ -3121,76 +3346,76 @@ msgid "Hanging Folder"
msgstr "Папка подвесного хранения"
msgid "Help file not in index."
-msgstr ""
+msgstr "Файл справки не проиндексирован."
msgid "IPP 1setOf attribute with incompatible value tags."
-msgstr ""
+msgstr "IPP атрибут 1setOf с недопустимым значением."
msgid "IPP attribute has no name."
-msgstr ""
+msgstr "IPP атрибут не имеет имени."
msgid "IPP attribute is not a member of the message."
-msgstr ""
+msgstr "IPP атрибут не входит в состав сообщения."
msgid "IPP begCollection value not 0 bytes."
-msgstr ""
+msgstr "IPP значение begCollection не 0 байт."
msgid "IPP boolean value not 1 byte."
-msgstr ""
+msgstr "IPP двоичное значение не 1 байт."
msgid "IPP date value not 11 bytes."
-msgstr ""
+msgstr "IPP длина даты не 11 байтов."
msgid "IPP endCollection value not 0 bytes."
-msgstr ""
+msgstr "IPP значение endCollection не 0 байт."
msgid "IPP enum value not 4 bytes."
-msgstr ""
+msgstr "IPP значение enum не 4 байта."
msgid "IPP extension tag larger than 0x7FFFFFFF."
-msgstr ""
+msgstr "IPP extension tag больше чем 0x7FFFFFFF."
msgid "IPP integer value not 4 bytes."
-msgstr ""
+msgstr "IPP тип integer не 4 байта"
msgid "IPP language length overflows value."
-msgstr ""
+msgstr "IPP переполнение значения language length"
msgid "IPP language length too large."
-msgstr ""
+msgstr "IPP language length слишком длинное."
msgid "IPP member name is not empty."
-msgstr ""
+msgstr "IPP member name не пустое."
msgid "IPP memberName value is empty."
-msgstr ""
+msgstr "IPP memberName пустое значение."
msgid "IPP memberName with no attribute."
-msgstr ""
+msgstr "IPP memberName без атрибута."
msgid "IPP name larger than 32767 bytes."
-msgstr ""
+msgstr "IPP имя больше чем 32767 байт."
msgid "IPP nameWithLanguage value less than minimum 4 bytes."
-msgstr ""
+msgstr "IPP значение nameWithLanguage меньше минимума 4 байт."
msgid "IPP octetString length too large."
-msgstr ""
+msgstr "IPP octetString слишком длинное."
msgid "IPP rangeOfInteger value not 8 bytes."
-msgstr ""
+msgstr "IPP rangeOfInteger значение не 8 байт."
msgid "IPP resolution value not 9 bytes."
-msgstr ""
+msgstr "IPP resolution значение не 9 байт."
msgid "IPP string length overflows value."
-msgstr ""
+msgstr "IPP переполнение значения string length."
msgid "IPP textWithLanguage value less than minimum 4 bytes."
-msgstr ""
+msgstr "IPP textWithLanguage меньше минимума 4 байт."
msgid "IPP value larger than 32767 bytes."
-msgstr ""
+msgstr "IPP значение больше чем 32767 байт."
msgid "ISOLatin1"
msgstr "UTF-8"
@@ -3238,14 +3463,14 @@ msgid "Internet Printing Protocol"
msgstr "Протокол интернет-печати"
msgid "Invalid media name arguments."
-msgstr ""
+msgstr "Неверные аргументы имени бумаги."
msgid "Invalid media size."
-msgstr ""
+msgstr "Неверный размер бумаги."
#, c-format
msgid "Invalid printer command \"%s\"."
-msgstr ""
+msgstr "Неверная команда принтера \"%s\"."
msgid "JCL"
msgstr "JCL"
@@ -3294,11 +3519,11 @@ msgstr ""
#, c-format
msgid "Job #%d cannot be restarted - no files."
-msgstr ""
+msgstr "Задание #%d не может быть перезапущено - отсутствуют файлы."
#, c-format
msgid "Job #%d does not exist."
-msgstr ""
+msgstr "Задание #%d не существует."
#, c-format
msgid "Job #%d is already aborted - can't cancel."
@@ -3314,19 +3539,19 @@ msgstr "Задание #%d уже завершено – не удается о
#, c-format
msgid "Job #%d is finished and cannot be altered."
-msgstr ""
+msgstr "Задание #%d завершено и не может быть изменено."
#, c-format
msgid "Job #%d is not complete."
-msgstr ""
+msgstr "Задание #%d не завершено."
#, c-format
msgid "Job #%d is not held for authentication."
-msgstr ""
+msgstr "Задание #%d не задержано для идентификации."
#, c-format
msgid "Job #%d is not held."
-msgstr ""
+msgstr "Задание #%d не задержано."
msgid "Job Completed"
msgstr "Задание завершено"
@@ -3344,13 +3569,13 @@ msgid "Job is completed and cannot be changed."
msgstr "Задание завершено и не может быть изменено."
msgid "Job operation failed"
-msgstr ""
+msgstr "Сбой операции задания."
msgid "Job state cannot be changed."
msgstr "Состояние задания не может быть изменено."
msgid "Job subscriptions cannot be renewed."
-msgstr ""
+msgstr "Подписки на задание не могут быть обновлены."
msgid "Jobs"
msgstr "Задания"
@@ -3366,7 +3591,7 @@ msgstr "Верхний край этикетки"
#, c-format
msgid "Language \"%s\" not supported."
-msgstr ""
+msgstr "Язык \"%s\" не поддерживается."
msgid "Large Address"
msgstr "Полный адрес"
@@ -3390,13 +3615,13 @@ msgid "List Available Printers"
msgstr "Список доступных принтеров"
msgid "Load paper."
-msgstr ""
+msgstr "Загрузка бумаги."
msgid "Long-Edge (Portrait)"
msgstr "По длинной стороне (книжная)"
msgid "Looking for printer."
-msgstr ""
+msgstr "Поиск принтера."
msgid "Manual Feed"
msgstr "Ручная подача"
@@ -3417,10 +3642,10 @@ msgid "Medium"
msgstr "Средний"
msgid "Memory allocation error"
-msgstr "Ошибка распределения памяти"
+msgstr "Ошибка выделения памяти"
msgid "Missing CloseGroup"
-msgstr ""
+msgstr "Пропущен CloseGroup"
msgid "Missing PPD-Adobe-4.x header"
msgstr "Отсутствует заголовок PPD-Adobe-4.x"
@@ -3429,54 +3654,54 @@ msgid "Missing asterisk in column 1"
msgstr "Отсутствует звездочка в колонке 1"
msgid "Missing document-number attribute."
-msgstr ""
+msgstr "Отсутствует атрибут document-number"
#, c-format
msgid "Missing double quote on line %d."
-msgstr ""
+msgstr "Отсутствует двойная кавычка в строке %d"
msgid "Missing form variable"
msgstr "Отсутствует переменная формы"
msgid "Missing last-document attribute in request."
-msgstr ""
+msgstr "Отсутствует атрибут last-document в запросе."
msgid "Missing media or media-col."
-msgstr ""
+msgstr "Отсутствует media или media-col."
msgid "Missing media-size in media-col."
-msgstr ""
+msgstr "Отсутствует media-size в media-col."
msgid "Missing notify-subscription-ids attribute."
-msgstr ""
+msgstr "Отсутствует атрибут notify-subscription-ids"
msgid "Missing option keyword"
msgstr "Отсутствует ключевое слово параметра"
msgid "Missing requesting-user-name attribute."
-msgstr ""
+msgstr "Отсутствует атрибут requesting-user-name."
msgid "Missing required attributes."
-msgstr ""
+msgstr "Отсутствуют обязательные атрибуты."
msgid "Missing resource in URI"
-msgstr ""
+msgstr "Отсутствует resource в URI"
msgid "Missing scheme in URI"
-msgstr ""
+msgstr "Отсутствует scheme в URI"
#, c-format
msgid "Missing value on line %d."
-msgstr ""
+msgstr "Отсутствует значение в строке %d."
msgid "Missing value string"
msgstr "Отсутствует строка значения"
msgid "Missing x-dimension in media-size."
-msgstr ""
+msgstr "Отсутствует x-dimension в media-size."
msgid "Missing y-dimension in media-size."
-msgstr ""
+msgstr "Отсутствует y-dimension в media-size."
#, c-format
msgid ""
@@ -3485,12 +3710,16 @@ msgid ""
" make-and-model = %s\n"
" device-id = %s"
msgstr ""
+"Model: name = %s\n"
+" natural_language = %s\n"
+" make-and-model = %s\n"
+" device-id = %s"
msgid "Modifiers:"
-msgstr ""
+msgstr "Управление:"
msgid "Modify Class"
-msgstr "Изменить класс"
+msgstr "Изменить группу"
msgid "Modify Printer"
msgstr "Изменить принтер"
@@ -3511,7 +3740,7 @@ msgid "Name OID uses indefinite length"
msgstr "Для имени OID длина не установлена"
msgid "Nested classes are not allowed."
-msgstr ""
+msgstr "Вложенные группы не допускаются."
msgid "Never"
msgstr "Никогда"
@@ -3520,7 +3749,7 @@ msgid "No"
msgstr "Нет"
msgid "No Content"
-msgstr "Нет контента"
+msgstr "Нет содержимого"
msgid "No PPD name"
msgstr "Нет имени PPD"
@@ -3529,35 +3758,35 @@ msgid "No VarBind SEQUENCE"
msgstr "Нет последовательности VarBind"
msgid "No Windows printer drivers are installed."
-msgstr ""
+msgstr "Нет установленных драйверов принтера Windows."
msgid "No active connection"
msgstr "Нет рабочего подключения"
msgid "No active connection."
-msgstr ""
+msgstr "Нет рабочего подключения."
#, c-format
msgid "No active jobs on %s."
-msgstr ""
+msgstr "Нет активных заданий на %s"
msgid "No attributes in request."
-msgstr ""
+msgstr "Нет атрибутов в запросе."
msgid "No authentication information provided."
-msgstr ""
+msgstr "Нет информации для проверки подлинности."
msgid "No community name"
msgstr "Нет имени сообщества"
msgid "No default printer."
-msgstr ""
+msgstr "Нет принтера по умолчанию."
msgid "No destinations added."
msgstr "Нет добавленных назначений."
msgid "No device URI found in argv[0] or in DEVICE_URI environment variable."
-msgstr ""
+msgstr "Не обнаружено URI устройства в argv[0] или в переменной окружения DEVICE_URI"
msgid "No error-index"
msgstr "Нет значения error-index"
@@ -3566,7 +3795,7 @@ msgid "No error-status"
msgstr "Нет значения error-status"
msgid "No file in print request."
-msgstr ""
+msgstr "Нет файла в запросе на печать."
msgid "No modification time"
msgstr "Не указано время изменения"
@@ -3575,7 +3804,7 @@ msgid "No name OID"
msgstr "Нет имени OID"
msgid "No pages were found."
-msgstr ""
+msgstr "Страницы не были найдены."
msgid "No printer name"
msgstr "Нет имени принтера"
@@ -3584,25 +3813,25 @@ msgid "No printer-uri found"
msgstr "Не указан адрес printer-uri"
msgid "No printer-uri found for class"
-msgstr "Не указан адрес printer-uri для класса"
+msgstr "Не указан адрес printer-uri для группы"
msgid "No printer-uri in request."
-msgstr ""
+msgstr "Нет адреса printer-uri в запросе."
msgid "No request URI."
-msgstr ""
+msgstr "Нет запроса URI."
msgid "No request protocol version."
-msgstr ""
+msgstr "Нет запроса версии протокола."
msgid "No request sent."
-msgstr ""
+msgstr "Не отправлен запрос."
msgid "No request-id"
msgstr "Нет идентификатора request-id"
msgid "No subscription attributes in request."
-msgstr ""
+msgstr "Нет атрибутов подписки в запросе."
msgid "No subscriptions found."
msgstr "Подписки не найдены."
@@ -3614,16 +3843,16 @@ msgid "No version number"
msgstr "Нет номера версии"
msgid "Non-continuous (Mark sensing)"
-msgstr "С прерыванием (опознавание маркеров)"
+msgstr "С прерыванием (Mark sensing)"
msgid "Non-continuous (Web sensing)"
-msgstr "С прерыванием (опознавание сети)"
+msgstr "С прерыванием (Web sensing)"
msgid "Normal"
msgstr "Нормальный"
msgid "Not Found"
-msgstr "Не найдено"
+msgstr "Не найден"
msgid "Not Implemented"
msgstr "Не реализовано"
@@ -3647,18 +3876,20 @@ msgid ""
"Note: this program only validates the DSC comments, not the PostScript "
"itself."
msgstr ""
+"Примечание: данная программа проверяет только комментарии DSC, а не "
+"сам PostScript."
msgid "OK"
msgstr "ОК"
msgid "Off (1-Sided)"
-msgstr "Выкл. (односторонняя печать)"
+msgstr "Выкл. (1-сторонняя печать)"
msgid "Oki"
msgstr "Oki"
msgid "Online Help"
-msgstr "Интерактивная справка"
+msgstr "Интернет справка"
#, c-format
msgid "Open of %s failed: %s"
@@ -3675,34 +3906,34 @@ msgstr "Политика операций"
#, c-format
msgid "Option \"%s\" cannot be included via %%%%IncludeFeature."
-msgstr ""
+msgstr "Параметр \"%s\" не может быть добавлен через %%%%IncludeFeature."
msgid "Options Installed"
-msgstr "Параметры установлены"
+msgstr "Доп.устройства"
msgid "Options:"
-msgstr ""
+msgstr "Параметры:"
msgid "Out of date PPD cache file."
-msgstr ""
+msgstr "Устаревший файл кеша PPD"
msgid "Out of memory."
-msgstr ""
+msgstr "Недостаточно памяти."
msgid "Output Mode"
msgstr "Режим вывода"
msgid "Output bin is almost full."
-msgstr ""
+msgstr "Лоток вывода почти заполнен."
msgid "Output bin is full."
-msgstr ""
+msgstr "Лоток вывода заполнен."
msgid "Output bin is missing."
-msgstr ""
+msgstr "Отсутствует лоток вывода."
msgid "PASS"
-msgstr ""
+msgstr "PASS"
msgid "PCL Laser Printer"
msgstr "Лазерный принтер PCL"
@@ -3732,16 +3963,16 @@ msgid "Packet does not start with SEQUENCE"
msgstr "Нет индикатора SEQUENCE в начале пакета"
msgid "Paper jam."
-msgstr ""
+msgstr "Замятие бумаги."
msgid "Paper tray is almost empty."
-msgstr ""
+msgstr "Лоток с бумагой почти пуст."
msgid "Paper tray is empty."
-msgstr ""
+msgstr "Лоток с бумагой пуст."
msgid "Paper tray is missing."
-msgstr ""
+msgstr "Лоток с бумагой отсутствует."
msgid "ParamCustominCutInterval"
msgstr "ParamCustominCutInterval"
@@ -3758,7 +3989,7 @@ msgid "Password for %s required to access %s via SAMBA: "
msgstr "Для доступа к %s через SAMBA требуется пароль для %s: "
msgid "Pause Class"
-msgstr "Приостановить класс"
+msgstr "Приостановить группу"
msgid "Pause Printer"
msgstr "Приостановить принтер"
@@ -3788,16 +4019,16 @@ msgid "Postcard"
msgstr "Открытка"
msgid "Postcard Double "
-msgstr ""
+msgstr "Открытка двойная"
msgid "Postcard Double Long Edge"
-msgstr ""
+msgstr "Открытка двойная Long Edge"
msgid "Postcard Long Edge"
-msgstr ""
+msgstr "Открытка Long Edge"
msgid "Preparing to print."
-msgstr ""
+msgstr "Подготовка к печати."
msgid "Print Density"
msgstr "Плотность печати"
@@ -3827,16 +4058,16 @@ msgid "Print and Tear"
msgstr "Напечатать и оборвать"
msgid "Print file sent."
-msgstr ""
+msgstr "Файл печати отправлен."
msgid "Print job canceled at printer."
-msgstr ""
+msgstr "Задание отменено на принтере."
msgid "Print job too large."
-msgstr ""
+msgstr "Задание слишком большое."
msgid "Print job was not accepted."
-msgstr ""
+msgstr "Задание не принято."
msgid "Printer Added"
msgstr "Принтер добавлен"
@@ -3857,10 +4088,10 @@ msgid "Printer Settings"
msgstr "Параметры принтера"
msgid "Printer cannot print supplied content."
-msgstr ""
+msgstr "Принтер не может распечатать содержимое."
msgid "Printer cannot print with supplied options."
-msgstr ""
+msgstr "Принтер не может печатать с данными параметрами."
msgid "Printer:"
msgstr "Принтер:"
@@ -3870,7 +4101,7 @@ msgstr "Принтеры"
#, c-format
msgid "Printing page %d, %u%% complete."
-msgstr ""
+msgstr "Печать страницы %d, %u%% завершена."
msgid "Quarto"
msgstr "Кватро"
@@ -3879,18 +4110,18 @@ msgid "Quota limit reached."
msgstr "Предел квоты достигнут."
msgid "Rank Owner Job File(s) Total Size"
-msgstr ""
+msgstr "Ранг Владелец Задание Файл(ы) Общий размер"
msgid "Reject Jobs"
msgstr "Отклонить задания"
#, c-format
msgid "Remote host did not accept control file (%d)."
-msgstr ""
+msgstr "Удаленный хост не принял контрольный файл (%d)."
#, c-format
msgid "Remote host did not accept data file (%d)."
-msgstr ""
+msgstr "Удаленный хост не принял файл данных (%d)."
msgid "Reprint After Error"
msgstr "Повторить печать после ошибки"
@@ -3902,7 +4133,7 @@ msgid "Resolution"
msgstr "Разрешение"
msgid "Resume Class"
-msgstr "Возобновить работу класса"
+msgstr "Возобновить работу группы"
msgid "Resume Printer"
msgstr "Возобновить работу принтера"
@@ -3915,19 +4146,19 @@ msgstr "Вернуться в начало"
#, c-format
msgid "Running command: %s %s -N -A %s -c '%s'"
-msgstr ""
+msgstr "Запущенная команда: %s %s -N -A %s -c '%s'"
msgid "SEQUENCE uses indefinite length"
msgstr "Для SEQUENCE длина не установлена"
msgid "SSL/TLS Negotiation Error"
-msgstr ""
+msgstr "SSL/TLS Negotiation Error"
msgid "See Other"
msgstr "Посмотреть другие"
msgid "Sending data to printer."
-msgstr ""
+msgstr "Отправка данных на принтер."
msgid "Server Restarted"
msgstr "Сервер перезагружен"
@@ -3942,7 +4173,7 @@ msgid "Server Stopped"
msgstr "Сервер остановлен"
msgid "Server credentials not set."
-msgstr ""
+msgstr "Учетные данные сервера не заданы."
msgid "Service Unavailable"
msgstr "Служба недоступна"
@@ -3954,7 +4185,7 @@ msgid "Set As Server Default"
msgstr "Использовать данный сервер по умолчанию"
msgid "Set Class Options"
-msgstr "Настроить параметры класса"
+msgstr "Настроить параметры группы"
msgid "Set Printer Options"
msgstr "Настроить параметры принтера"
@@ -3973,28 +4204,28 @@ msgstr "Особая бумага"
#, c-format
msgid "Spooling job, %.0f%% complete."
-msgstr ""
+msgstr "Постановка в очередь, %.0f%% завершено."
msgid "Standard"
msgstr "Стандартный"
#. TRANSLATORS: Banner/cover sheet before the print job.
msgid "Starting Banner"
-msgstr "Запуск баннера"
+msgstr "Стартовый баннер"
#, c-format
msgid "Starting page %d."
-msgstr ""
+msgstr "Главная страница %d."
msgid "Statement"
msgstr "Оператор"
#, c-format
msgid "Subscription #%d does not exist."
-msgstr ""
+msgstr "Подписка #%d не существует."
msgid "Substitutions:"
-msgstr ""
+msgstr "Замещения:"
msgid "Super A"
msgstr "Super A"
@@ -4028,52 +4259,53 @@ msgstr "Откорректировать положение места отры
#, c-format
msgid "The \"%s\" attribute is required for print jobs."
-msgstr ""
+msgstr "Атрибут \"%s\" требуется для печати задания."
#, c-format
msgid "The %s attribute cannot be provided with job-ids."
-msgstr ""
+msgstr "Атрибут %s не может быть использован с job-ids."
#, c-format
msgid ""
"The '%s' Job Description attribute cannot be supplied in a job creation "
"request."
-msgstr ""
+msgstr "Атрибут '%s' Job Description не может быть подставлен при создании"
+"задания"
#, c-format
msgid ""
"The '%s' operation attribute cannot be supplied in a Create-Job request."
-msgstr ""
+msgstr "Атрибут '%s' не может быть подставлен в запрос Create-Job"
#, c-format
msgid "The PPD file \"%s\" could not be found."
-msgstr "Не удается найти PPD-файл «%s»."
+msgstr "Не удается найти PPD-файл \"%s\"."
#, c-format
msgid "The PPD file \"%s\" could not be opened: %s"
-msgstr "Не удалось открыть PPD-файл «%s»: %s"
+msgstr "Не удалось открыть PPD-файл \"%s\": %s"
msgid "The PPD file could not be opened."
-msgstr ""
+msgstr "Не удалось открыть PPD-файл."
msgid ""
"The class name may only contain up to 127 printable characters and may not "
"contain spaces, slashes (/), or the pound sign (#)."
msgstr ""
-"Имя класса может содержать максимально 127 печатных символов и не может "
-"содержать пробелы, дроби (/) или знак «решетки» (#)."
+"Имя группы может содержать максимально 127 печатных символов и не может "
+"содержать пробелы, дроби (/) или знак \"решетки\" (#)."
msgid "The developer unit needs to be replaced."
-msgstr "Блок разработки должен быть перемещен"
+msgstr "Developer unit нуждается в замене."
msgid "The developer unit will need to be replaced soon."
-msgstr "Необходимо переместить блок разработки"
+msgstr "Developer unit нуждается в замене в ближайшее время."
msgid "The fuser's temperature is high."
-msgstr "Высокая температура термофиксатора!"
+msgstr "Высокая температура термофиксатора."
msgid "The fuser's temperature is low."
-msgstr "Низкая температура термофиксатора!"
+msgstr "Низкая температура термофиксатора."
msgid ""
"The notify-lease-duration attribute cannot be used with job subscriptions."
@@ -4083,68 +4315,68 @@ msgstr ""
#, c-format
msgid "The notify-user-data value is too large (%d > 63 octets)."
-msgstr ""
+msgstr "Значение notify-user-data слишком большое(%d > 63 октета)"
msgid "The optical photoconductor needs to be replaced."
-msgstr "Оптический фоторегистратор должен быть перемещен."
+msgstr "Оптический фоторегистратор нуждается в замене."
msgid "The optical photoconductor will need to be replaced soon."
-msgstr "Необходимо переместить оптический фоторегистратор."
+msgstr "Оптический фоторегистратор нуждается в замене в ближайшее время."
msgid "The printer configuration is incorrect or the printer no longer exists."
-msgstr ""
+msgstr "Неправильная конфигурация принтера, или принтер больше не доступен."
msgid "The printer did not respond."
-msgstr ""
+msgstr "Принтер не отвечает."
msgid "The printer is in use."
-msgstr ""
+msgstr "Принтер используется."
msgid "The printer is low on ink."
-msgstr ""
+msgstr "Заканчиваются чернила."
msgid "The printer is low on toner."
msgstr "Заканчивается тонер."
msgid "The printer is not connected."
-msgstr ""
+msgstr "Принтер не подключен."
msgid "The printer is not responding."
-msgstr ""
+msgstr "Принтер не отвечает."
msgid "The printer is now connected."
-msgstr ""
+msgstr "Принтер подключен."
msgid "The printer is now online."
-msgstr ""
+msgstr "Принтер подключен."
msgid "The printer is offline."
msgstr "Принтер выключен."
msgid "The printer is unreachable at this time."
-msgstr ""
+msgstr "В настоящее время принтер недоступен."
msgid "The printer may be out of ink."
-msgstr ""
+msgstr "Возможно в принтере закончились чернила."
msgid "The printer may be out of toner."
-msgstr ""
+msgstr "Возможно в принтере закончился тонер."
msgid "The printer may not exist or is unavailable at this time."
-msgstr ""
+msgstr "Возможно принтер недоступен в настоящее время."
msgid ""
"The printer name may only contain up to 127 printable characters and may not "
"contain spaces, slashes (/), or the pound sign (#)."
msgstr ""
"Имя принтера может содержать максимально 127 печатных символов и не может "
-"содержать пробелы, дроби (/) или знак «решетки» (#)."
+"содержать пробелы, дроби (/) или знак \"решетки\" (#)."
msgid "The printer or class does not exist."
-msgstr ""
+msgstr "Принтер или группа не существует."
msgid "The printer or class is not shared."
-msgstr ""
+msgstr "Принтер или группа без совместного доступа."
msgid "The printer's cover is open."
msgstr "Крышка принтера открыта."
@@ -4163,10 +4395,10 @@ msgstr "Отсек для мусора заполнен."
#, c-format
msgid "The printer-uri \"%s\" contains invalid characters."
-msgstr "printer-uri «%s» содержит недопустимые символы."
+msgstr "printer-uri \"%s\" содержит недопустимые символы."
msgid "The printer-uri attribute is required."
-msgstr ""
+msgstr "Для printer-uri требуется атрибут."
msgid ""
"The printer-uri must be of the form \"ipp://HOSTNAME/classes/CLASSNAME\"."
@@ -4181,22 +4413,24 @@ msgid ""
"(?), or the pound sign (#)."
msgstr ""
"Имя подписки не может содержать пробелы, дроби (/), вопросительные знаки (?) "
-"или знак «решетки» (#)."
+"или знак \"решетки\" (#)."
msgid ""
"The web interface is currently disabled. Run \"cupsctl WebInterface=yes\" to "
"enable it."
msgstr ""
+"Web интерфейс сейчас отключен. Выполните \"cupsctl WebInterface=yes\" для "
+"включения."
#, c-format
msgid "The which-jobs value \"%s\" is not supported."
-msgstr ""
+msgstr "Значение \"%s\" для which-jobs не поддерживается."
msgid "There are too many subscriptions."
msgstr "Слишком много подписок."
msgid "There was an unrecoverable USB error."
-msgstr ""
+msgstr "Обнаружена ошибка USB."
msgid "Thermal Transfer Media"
msgstr "Носитель для печати методом термопереноса"
@@ -4206,11 +4440,11 @@ msgstr "Слишком много активных заданий."
#, c-format
msgid "Too many job-sheets values (%d > 2)."
-msgstr ""
+msgstr "Слишком много значений job-sheets (%d>2)"
#, c-format
msgid "Too many printer-state-reasons values (%d > %d)."
-msgstr ""
+msgstr "Слишком много значений printer-state-reasons (%d > %d)"
msgid "Transparency"
msgstr "Прозрачность"
@@ -4234,7 +4468,7 @@ msgid "URI Too Long"
msgstr "Слишком длинный адрес URI"
msgid "URI too large"
-msgstr ""
+msgstr "Слишком большой адрес URI"
msgid "US Ledger"
msgstr "US Ledger"
@@ -4261,94 +4495,95 @@ msgid "US Letter Small"
msgstr ""
msgid "Unable to access cupsd.conf file"
-msgstr ""
+msgstr "Не удается получить доступ к файлу \"cupsd.conf\""
msgid "Unable to access help file."
-msgstr ""
+msgstr "Не удается получить доступ к файлу помощи."
msgid "Unable to add RSS subscription"
-msgstr ""
+msgstr "Не удается добавить подписку RSS."
msgid "Unable to add class"
-msgstr ""
+msgstr "Не удается добавить группу"
msgid "Unable to add document to print job."
-msgstr ""
+msgstr "Не удается добавить документ в задание печати."
#, c-format
msgid "Unable to add job for destination \"%s\"."
-msgstr ""
+msgstr "Не удается добавить задание для назначения \"%s\""
msgid "Unable to add printer"
-msgstr ""
+msgstr "Не удается добавить принтер"
msgid "Unable to allocate memory for file types."
-msgstr ""
+msgstr "Не удается выделить память для типов файлов."
msgid "Unable to allocate memory for page info"
-msgstr ""
+msgstr "Не удается выделить память для страницы информации"
msgid "Unable to allocate memory for pages array"
-msgstr ""
+msgstr "Не удается выделить память для страниц"
msgid "Unable to cancel RSS subscription"
-msgstr ""
+msgstr "Не удается отменить подписку RSS"
msgid "Unable to cancel print job."
-msgstr ""
+msgstr "Не удается отменить задание печати."
msgid "Unable to change printer"
-msgstr ""
+msgstr "Не удается изменить принтер"
msgid "Unable to change printer-is-shared attribute"
-msgstr ""
+msgstr "Не удается изменить атрибут printer-is-shared"
msgid "Unable to change server settings"
-msgstr ""
+msgstr "Не удается изменить настройки сервера"
#, c-format
msgid "Unable to compile mimeMediaType regular expression: %s."
-msgstr ""
+msgstr "Не удается компилировать mimeMediaType регулярное выражение: %s."
#, c-format
msgid "Unable to compile naturalLanguage regular expression: %s."
-msgstr ""
+msgstr "Не удается компилировать naturalLanguage регулярное выражение: %s."
msgid "Unable to configure printer options."
-msgstr ""
+msgstr "Не удается настроить параметры принтера."
msgid "Unable to connect to host."
msgstr "Не удается подключиться к хосту."
msgid "Unable to contact printer, queuing on next printer in class."
-msgstr ""
+msgstr "Не удается установить связь с принтером, постановка в очередь на "
+"следующем принтере в группе."
#, c-format
msgid "Unable to copy 64-bit CUPS printer driver files (%d)."
-msgstr ""
+msgstr "Не удается копировать 64-битовые файлы драйвера принтера CUPS (%d)."
#, c-format
msgid "Unable to copy 64-bit Windows printer driver files (%d)."
-msgstr ""
+msgstr "Не удается копировать 64-битовые файлы драйвера принтера для Windows (%d)."
#, c-format
msgid "Unable to copy CUPS printer driver files (%d)."
-msgstr ""
+msgstr "Не удается копировать файлы драйвера принтера CUPS (%d)"
#, c-format
msgid "Unable to copy PPD file - %s"
msgstr "Не удается копировать PPD-файл - %s"
msgid "Unable to copy PPD file."
-msgstr ""
+msgstr "Не удается копировать PPD-файл."
#, c-format
msgid "Unable to copy Windows 2000 printer driver files (%d)."
-msgstr ""
+msgstr "Не удается копировать файлы драйвера принтера Windows 2000 (%d)"
#, c-format
msgid "Unable to copy Windows 9x printer driver files (%d)."
-msgstr ""
+msgstr "Не удается копировать файлы драйвера принтера Windows 9x (%d)"
#, c-format
msgid "Unable to copy interface script - %s"
@@ -4358,19 +4593,19 @@ msgid "Unable to create printer-uri"
msgstr "Не удается создать printer-uri"
msgid "Unable to create server credentials."
-msgstr ""
+msgstr "Не удается создать учетные данные сервера."
msgid "Unable to create temporary file"
-msgstr ""
+msgstr "Не удается создать временный файл"
msgid "Unable to delete class"
-msgstr ""
+msgstr "Не удается удалить группу"
msgid "Unable to delete printer"
-msgstr ""
+msgstr "Не удается удалить принтер"
msgid "Unable to do maintenance command"
-msgstr ""
+msgstr "Не удается выполнить команду обслуживания"
msgid "Unable to edit cupsd.conf files larger than 1MB"
msgstr "Невозможно редактировать файлы cupsd.conf больше 1 МБ"
@@ -4378,89 +4613,96 @@ msgstr "Невозможно редактировать файлы cupsd.conf б
msgid ""
"Unable to establish a secure connection to host (certificate chain invalid)."
msgstr ""
+"Не удается установить защищенное соединение (неправильная цепочка "
+"сертификатов)."
msgid ""
"Unable to establish a secure connection to host (certificate not yet valid)."
msgstr ""
+"Не удается установить защищенное соединение (недействительный сертификат)."
msgid "Unable to establish a secure connection to host (expired certificate)."
-msgstr ""
+msgstr "Не удается установить защищенное соединение (сертификат просрочен)."
msgid "Unable to establish a secure connection to host (host name mismatch)."
-msgstr ""
+msgstr "Не удается установить защищенное соединение (несовпадение имени хоста)."
msgid ""
"Unable to establish a secure connection to host (peer dropped connection "
"before responding)."
msgstr ""
+"Не удается установить защищенное соединение (соединение разорвано "
+"удаленной стороной.)
msgid ""
"Unable to establish a secure connection to host (self-signed certificate)."
msgstr ""
+"Не удается установить защищенное соединение (самоподписанный сертификат)."
msgid ""
"Unable to establish a secure connection to host (untrusted certificate)."
msgstr ""
+"Не удается установить защищенное соединение (ненадежный сертификат)."
msgid "Unable to establish a secure connection to host."
-msgstr ""
+msgstr "Не удается установить защищенное соединение."
msgid "Unable to find destination for job"
msgstr "Не удается найти назначение для задания"
msgid "Unable to find printer."
-msgstr ""
+msgstr "Не удается найти принтер."
msgid "Unable to find server credentials."
-msgstr ""
+msgstr "Не удается найти учетные данные сервера."
msgid "Unable to get backend exit status."
-msgstr ""
+msgstr "Не удается получить код завершения от backend."
msgid "Unable to get class list"
-msgstr ""
+msgstr "Не удается получить список групп"
msgid "Unable to get class status"
-msgstr ""
+msgstr "Не удается получить статус групп"
msgid "Unable to get list of printer drivers"
-msgstr ""
+msgstr "Не удается получить список драйверов принтера"
msgid "Unable to get printer attributes"
-msgstr ""
+msgstr "Не удается получить атрибуты принтера"
msgid "Unable to get printer list"
-msgstr ""
+msgstr "Не удается получить список принтеров"
msgid "Unable to get printer status"
-msgstr ""
+msgstr "Не удается получить статус принтера"
msgid "Unable to get printer status."
-msgstr ""
+msgstr "Не удается получить статус принтера."
#, c-format
msgid "Unable to install Windows 2000 printer driver files (%d)."
-msgstr ""
+msgstr "Не удается установить файлы драйвера принтера Windows 2000 (%d)"
#, c-format
msgid "Unable to install Windows 9x printer driver files (%d)."
-msgstr ""
+msgstr "Не удается установить файлы драйвера принтера Windows 9x (%d)"
msgid "Unable to load help index."
-msgstr ""
+msgstr "Не удается загрузить содержание справки."
#, c-format
msgid "Unable to locate printer \"%s\"."
-msgstr ""
+msgstr "Принтер \"%s\" не найден"
msgid "Unable to locate printer."
-msgstr ""
+msgstr "Принтер не найден"
msgid "Unable to modify class"
-msgstr ""
+msgstr "Не удается изменить группу"
msgid "Unable to modify printer"
-msgstr ""
+msgstr "Не удается изменить принтер"
msgid "Unable to move job"
msgstr "Не удается переместить задание"
@@ -4472,74 +4714,74 @@ msgid "Unable to open PPD file"
msgstr "Не удается открыть PPD-файл"
msgid "Unable to open cupsd.conf file:"
-msgstr "Не удается открыть файл «cupsd.conf»:"
+msgstr "Не удается открыть файл cupsd.conf:"
msgid "Unable to open device file"
-msgstr ""
+msgstr "Не удается открыть файл устройства"
#, c-format
msgid "Unable to open document #%d in job #%d."
-msgstr ""
+msgstr "Не удается открыть документ #%d в задании #%d."
msgid "Unable to open help file."
-msgstr ""
+msgstr "Не удается открыть файл справки."
msgid "Unable to open print file"
-msgstr ""
+msgstr "Не удается открыть файл печати"
msgid "Unable to open raster file"
-msgstr ""
+msgstr "Не удается открыть растровый файл"
msgid "Unable to print test page"
-msgstr ""
+msgstr "Не удается напечатать пробную страницу"
msgid "Unable to read print data."
-msgstr ""
+msgstr "Не удается считать данные печати."
msgid "Unable to resolve printer-uri."
-msgstr ""
+msgstr "Не удается определить printer-uri"
#, c-format
msgid "Unable to run \"%s\": %s"
-msgstr ""
+msgstr "Не удается запустить \"%s\": %s"
msgid "Unable to see in file"
-msgstr ""
+msgstr "Не удается увидеть в файле"
msgid "Unable to send command to printer driver"
msgstr "Не удается отправить команду драйверу принтера"
msgid "Unable to send data to printer."
-msgstr ""
+msgstr "Не удается отправить данные на принтер."
#, c-format
msgid "Unable to set Windows printer driver (%d)."
-msgstr ""
+msgstr "Не удается настроить драйвер принтера Windows (%d)."
msgid "Unable to set options"
-msgstr ""
+msgstr "Не удается настроить параметры"
msgid "Unable to set server default"
-msgstr ""
+msgstr "Не удается назначить сервер используемым по умолчанию"
msgid "Unable to start backend process."
-msgstr ""
+msgstr "Не удается запустить фоновый процесс"
msgid "Unable to upload cupsd.conf file"
-msgstr ""
+msgstr "Не удается загрузить файл cupsd.conf"
msgid "Unable to use legacy USB class driver."
-msgstr ""
+msgstr "Не удается использовать устаревший драйвер USB."
msgid "Unable to write print data"
-msgstr ""
+msgstr "Не удается записать данные печати"
#, c-format
msgid "Unable to write uncompressed print data: %s"
-msgstr ""
+msgstr "Не удается записать несжатые данные печати: %s"
msgid "Unauthorized"
-msgstr "Не санкционировано"
+msgstr "В доступе отказано"
msgid "Units"
msgstr "Единицы"
@@ -4549,110 +4791,113 @@ msgstr "Неизвестный"
#, c-format
msgid "Unknown choice \"%s\" for option \"%s\"."
-msgstr ""
+msgstr "Неизвестный выбор \"%s\" для параметра \"%s\"."
#, c-format
msgid "Unknown encryption option value: \"%s\"."
-msgstr ""
+msgstr "Неизвестное значение \"%s\" параметра шифрования."
#, c-format
msgid "Unknown file order: \"%s\"."
-msgstr ""
+msgstr "Неизвестный порядок файлов \"%s\"."
#, c-format
msgid "Unknown format character: \"%c\"."
-msgstr ""
+msgstr "Символ неизвестного формата \"%c\"."
msgid "Unknown media size name."
-msgstr ""
+msgstr "Неизвестное имя размера бумаги."
#, c-format
msgid "Unknown option \"%s\" with value \"%s\"."
-msgstr ""
+msgstr "Неизвестный параметр \"%s\" со значением \"%s\"."
#, c-format
msgid "Unknown option \"%s\"."
-msgstr ""
+msgstr "Неизвестный параметр \"%s\"."
#, c-format
msgid "Unknown print mode: \"%s\"."
-msgstr ""
+msgstr "Неизвестный режим печати: \"%s\"."
#, c-format
msgid "Unknown printer-error-policy \"%s\"."
-msgstr "Неизвестная политика printer-error-policy «%s»."
+msgstr "Неизвестная политика printer-error-policy \"%s\"."
#, c-format
msgid "Unknown printer-op-policy \"%s\"."
-msgstr "Неизвестная политика printer-op-policy «%s»."
+msgstr "Неизвестная политика printer-op-policy \"%s\"."
msgid "Unknown request method."
-msgstr ""
+msgstr "Неизвестный метод запроса."
msgid "Unknown request version."
-msgstr ""
+msgstr "Неизвестный запрос версии."
msgid "Unknown scheme in URI"
-msgstr ""
+msgstr "Неизвестный scheme в URI"
msgid "Unknown service name."
-msgstr ""
+msgstr "Неизвестное имя сервиса."
#, c-format
msgid "Unknown version option value: \"%s\"."
-msgstr ""
+msgstr "Неизвестное значение параметра версии \"%s\"."
#, c-format
msgid "Unsupported 'compression' value \"%s\"."
-msgstr ""
+msgstr "Неподдерживаемое значение 'compression' \"%s\"."
#, c-format
msgid "Unsupported 'document-format' value \"%s\"."
-msgstr ""
+msgstr "Неподдерживаемое значение'document-format' \"%s\"."
msgid "Unsupported 'job-name' value."
-msgstr ""
+msgstr "Неподдерживаемое значение 'job-name'."
#, c-format
msgid "Unsupported character set \"%s\"."
-msgstr ""
+msgstr "Неподдерживаемый набор символов \"%s\"."
#, c-format
msgid "Unsupported compression \"%s\"."
-msgstr ""
+msgstr "Неподдерживаемое сжатие \"%s\"."
#, c-format
msgid "Unsupported document-format \"%s\"."
-msgstr ""
+msgstr "Неподдерживаемый document-format \"%s\"."
#, c-format
msgid "Unsupported document-format \"%s/%s\"."
-msgstr ""
+msgstr "Неподдерживаемый document-format \"%s/%s\"."
#, c-format
msgid "Unsupported format \"%s\"."
-msgstr ""
+msgstr "Неподдерживаемый формат \"%s\"."
msgid "Unsupported margins."
-msgstr ""
+msgstr "Неподдерживаемые поля."
msgid "Unsupported media value."
-msgstr ""
+msgstr "Неподдерживаемое значение бумаги."
#, c-format
msgid "Unsupported number-up value %d, using number-up=1."
-msgstr ""
+msgstr "Неподдерживаемое значение number-up %d, используется значение "
+"number-up=1."
#, c-format
msgid "Unsupported number-up-layout value %s, using number-up-layout=lrtb."
-msgstr ""
+msgstr "Неподдерживаемое значение number-up-layout %s, используется "
+"значение number-up-layout=lrtb."
#, c-format
msgid "Unsupported page-border value %s, using page-border=none."
-msgstr ""
+msgstr "Неподдерживаемое значение page-border %s, используется значение "
+"page-border=none."
msgid "Unsupported raster data."
-msgstr ""
+msgstr "Неподдерживаемые данные растра."
msgid "Unsupported value type"
msgstr "Неподдерживаемый тип значения"
@@ -4670,6 +4915,15 @@ msgid ""
" [-P ppd-file] [-o name=value]\n"
" [-u allow:user,user] [-u deny:user,user]"
msgstr ""
+"Использование:\n"
+"\n"
+" lpadmin [-h server] -d destination\n"
+" lpadmin [-h server] -x destination\n"
+" lpadmin [-h server] -p printer [-c add-class] [-i interface] [-m model]\n"
+" [-r remove-class] [-v device] [-D description]\n"
+" [-P ppd-file] [-o name=value]\n"
+" [-u allow:user,user] [-u deny:user,user]\n"
+"\n"
#, c-format
msgid "Usage: %s job-id user title copies options [file]"
@@ -4700,6 +4954,11 @@ msgid ""
"\n"
"Options:"
msgstr ""
+"Использование:\n"
+" ippdiscover [options] -a\n"
+" ippdiscover [options] \"service name\"\n"
+"\n"
+"Параметры:"
msgid ""
"Usage: ippfind [options] regtype[,subtype][.domain.] ... [expression]\n"
@@ -4707,6 +4966,11 @@ msgid ""
" ippfind --help\n"
" ippfind --version"
msgstr ""
+"Использование:\n"
+" ippfind [options] regtype[,subtype][.domain.] ... [expression]\n"
+" ippfind [options] name[.regtype[.domain.]] ... [expression]\n"
+" ippfind --help\n"
+" ippfind --version"
msgid "Usage: ipptool [options] URI filename [ ... filenameN ]"
msgstr ""
@@ -4720,6 +4984,11 @@ msgid ""
" lpoptions [-h server] [-E] -p printer -o option[=value] ...\n"
" lpoptions [-h server] [-E] -x printer"
msgstr ""
+"Использование:\n"
+" lpoptions [-h server] [-E] -d printer\n"
+" lpoptions [-h server] [-E] [-p printer] -l\n"
+" lpoptions [-h server] [-E] -p printer -o option[=value] ...\n"
+" lpoptions [-h server] [-E] -x printer"
msgid ""
"Usage: lpq [-P dest] [-U username] [-h hostname[:port]] [-l] [+interval]"
@@ -4754,19 +5023,19 @@ msgid "Version uses indefinite length"
msgstr "Для Version длина не установлена"
msgid "Waiting for job to complete."
-msgstr ""
+msgstr "Ожидание выполнения задания."
msgid "Waiting for printer to become available."
-msgstr ""
+msgstr "Ожидание доступа к принтеру."
msgid "Waiting for printer to finish."
-msgstr ""
+msgstr "Ожидание окончания работы принтера."
msgid "Warning, no Windows 2000 printer drivers are installed."
-msgstr ""
+msgstr "Внимание, драйверы принтера Windows 2000 не установлены"
msgid "Web Interface is Disabled"
-msgstr ""
+msgstr "Web интерфейс отключен"
msgid "Yes"
msgstr "Да"
@@ -4786,7 +5055,7 @@ msgid "Zebra"
msgstr "Zebra"
msgid "aborted"
-msgstr "отменено"
+msgstr "прервано"
msgid "canceled"
msgstr "отменено"
@@ -4802,77 +5071,77 @@ msgstr "Не удалось выполнить cups-driverd."
#, c-format
msgid "cupsaddsmb: No PPD file for printer \"%s\" - %s"
-msgstr ""
+msgstr "cupsaddsmb: Нет PPD-файла для принтера \"%s\" - %s"
msgid "cupsctl: Cannot set Listen or Port directly."
-msgstr ""
+msgstr "cupsctl: Не удается задать Listen или Port."
#, c-format
msgid "cupsctl: Unable to connect to server: %s"
-msgstr ""
+msgstr "cupsctl: Не удается подключиться к серверу: %s"
#, c-format
msgid "cupsctl: Unknown option \"%s\""
-msgstr ""
+msgstr "cupsctl: Неизвестный параметр \"%s\""
#, c-format
msgid "cupsctl: Unknown option \"-%c\""
-msgstr ""
+msgstr "cupsctl: Неизвестный параметр \"-%c\""
msgid "cupsd: Expected config filename after \"-c\" option."
-msgstr ""
+msgstr "cupsd: Пропущено имя файла конфигурации после параметра \"-с\""
msgid "cupsd: Expected cups-files.conf filename after \"-s\" option."
-msgstr ""
+msgstr "cupsd: Пропущено имя файла cups-files.conf после параметра \"-s\""
msgid "cupsd: On-demand support not compiled in, running in normal mode."
-msgstr ""
+msgstr "cupsd: Поддержка запуска \"по запросу\" не включена, запуск в нормальном режиме."
msgid "cupsd: Relative cups-files.conf filename not allowed."
msgstr ""
msgid "cupsd: Unable to get current directory."
-msgstr ""
+msgstr "cupsd: Не удается определить текущий каталог"
msgid "cupsd: Unable to get path to cups-files.conf file."
-msgstr ""
+msgstr "cupsd: Не удается определить путь до cups-files.conf"
#, c-format
msgid "cupsd: Unknown argument \"%s\" - aborting."
-msgstr ""
+msgstr "cupsd: Неизвестный аргумент \"%s\" - прерывание."
#, c-format
msgid "cupsd: Unknown option \"%c\" - aborting."
-msgstr ""
+msgstr "cupsd: Неизвестный параметр \"%c\" - прерывание."
#, c-format
msgid "cupsfilter: Invalid document number %d."
-msgstr ""
+msgstr "cupsfilter: Недопустимый номер документа %d."
#, c-format
msgid "cupsfilter: Invalid job ID %d."
-msgstr ""
+msgstr "cupsfilter: Недопустимый ID задания %d."
msgid "cupsfilter: Only one filename can be specified."
-msgstr ""
+msgstr "cupsfilter: Может быть указано только одно имя файла."
#, c-format
msgid "cupsfilter: Unable to get job file - %s"
-msgstr ""
+msgstr "cupsfilter: Не удается получить файл задания - %s"
msgid "cupstestppd: The -q option is incompatible with the -v option."
-msgstr ""
+msgstr "cupstestppd: Параметр -q несовместим с параметром -v"
msgid "cupstestppd: The -v option is incompatible with the -q option."
-msgstr ""
+msgstr "cupstestppd: Параметр -v несовместим с параметром -q"
#, c-format
msgid "device for %s/%s: %s"
-msgstr ""
+msgstr "устройство для %s/%s: %s"
#, c-format
msgid "device for %s: %s"
-msgstr ""
+msgstr "устройство для %s: %s"
msgid "error-index uses indefinite length"
msgstr "Для error-index длина не установлена"
@@ -4884,768 +5153,798 @@ msgid "held"
msgstr "задержано"
msgid "help\t\tGet help on commands."
-msgstr ""
+msgstr "help\t\tПолучить справку по командам."
msgid "idle"
msgstr "свободен"
#, c-format
msgid "ippfind: Bad regular expression: %s"
-msgstr ""
+msgstr "ippfind: неправильное регулярное выражение: %s"
msgid "ippfind: Cannot use --and after --or."
-msgstr ""
+msgstr "ippfind: не используйте --and после --or."
#, c-format
msgid "ippfind: Expected key name after %s."
-msgstr ""
+msgstr "ippfind: Ожидается key name после %s."
#, c-format
msgid "ippfind: Expected port range after %s."
-msgstr ""
+msgstr "ippfind: Ожидается port range после %s."
#, c-format
msgid "ippfind: Expected program after %s."
-msgstr ""
+msgstr "ippfind: Ожидается program после %s."
#, c-format
msgid "ippfind: Expected semi-colon after %s."
-msgstr ""
+msgstr "ippfind: Ожидается semi-colon после %s."
msgid "ippfind: Missing close brace in substitution."
-msgstr ""
+msgstr "ippfind: Отсутствует закрывающая фигурная скобка в замене."
msgid "ippfind: Missing close parenthesis."
-msgstr ""
+msgstr "ippfind: Отсутствует закрывающая скобка."
msgid "ippfind: Missing expression before \"--and\"."
-msgstr ""
+msgstr "ippfind: Отсутствует выражение перед \"--and\"."
msgid "ippfind: Missing expression before \"--or\"."
-msgstr ""
+msgstr "ippfind: Отсутствует выражение перед \"--or\"."
#, c-format
msgid "ippfind: Missing key name after %s."
-msgstr ""
+msgstr "ippfind: Отсутствует key name после %s."
msgid "ippfind: Missing open parenthesis."
-msgstr ""
+msgstr "ippfind: Отсутствует открывающая скобка."
#, c-format
msgid "ippfind: Missing program after %s."
-msgstr ""
+msgstr "ippfind: Отсутствует program после %s."
#, c-format
msgid "ippfind: Missing regular expression after %s."
-msgstr ""
+msgstr "ippfind: Отсутствует регулярное выражение после %s."
#, c-format
msgid "ippfind: Missing semi-colon after %s."
-msgstr ""
+msgstr "ippfind: Отсутствует semi-colon после %s."
msgid "ippfind: Out of memory."
-msgstr ""
+msgstr "ippfind: Недостаточно памяти."
msgid "ippfind: Too many parenthesis."
-msgstr ""
+msgstr "ippfind: Слишком много скобок."
#, c-format
msgid "ippfind: Unable to browse or resolve: %s"
-msgstr ""
+msgstr "ippfind: Не удается просмотреть или определить: %s"
#, c-format
msgid "ippfind: Unable to execute \"%s\": %s"
-msgstr ""
+msgstr "ippfind: Не удается выполнить \"%s\": %s"
#, c-format
msgid "ippfind: Unable to use Bonjour: %s"
-msgstr ""
+msgstr "ippfind: Не удается использовать Bonjour: %s"
#, c-format
msgid "ippfind: Unknown variable \"{%s}\"."
-msgstr ""
+msgstr "ippfind: Неизвестная переменная \"{%s}\"."
msgid "ipptool: \"-i\" and \"-n\" are incompatible with \"-P\" and \"-X\"."
-msgstr ""
+msgstr "ipptool: Параметры \"-i\" и \"-n\" несовместимы с \"-P\" и \"-X\"."
#, c-format
msgid "ipptool: Bad URI - %s."
-msgstr ""
+msgstr "ipptool: Неправильный URI - %s."
msgid "ipptool: Invalid seconds for \"-i\"."
-msgstr ""
+msgstr "ipptool: Неправильные секунды для \"-i\"."
msgid "ipptool: May only specify a single URI."
-msgstr ""
+msgstr "ipptool: Может быть определен лишь один URI."
msgid "ipptool: Missing count for \"-n\"."
-msgstr ""
+msgstr "ipptool: Отсутствует count для \"-n\"."
msgid "ipptool: Missing filename for \"-f\"."
-msgstr ""
+msgstr "ipptool: Отсутствует имя файла для \"-f\"."
msgid "ipptool: Missing name=value for \"-d\"."
-msgstr ""
+msgstr "ipptool: Отсутствует name=value для \"-d\"."
msgid "ipptool: Missing seconds for \"-i\"."
-msgstr ""
+msgstr "ipptool: Отсутствуют секунды для \"-i\"."
msgid "ipptool: URI required before test file."
-msgstr ""
+msgstr "ipptool: Необходим URI перед указанием тест-файла."
#, c-format
msgid "ipptool: Unknown option \"-%c\"."
-msgstr ""
+msgstr "ipptool: Неизвестный параметр \"-%c\"."
msgid "job-printer-uri attribute missing."
-msgstr ""
+msgstr "Атрибут job-printer-uri отсутствует."
msgid "lpadmin: Class name can only contain printable characters."
-msgstr ""
+msgstr "lpadmin: Имя группы может содержать только печатаемые символы."
msgid "lpadmin: Expected PPD after \"-P\" option."
-msgstr ""
+msgstr "lpadmin: После параметра '-P' должен быть указан PPD"
msgid "lpadmin: Expected allow/deny:userlist after \"-u\" option."
-msgstr ""
+msgstr "lpadmin: После параметра '-u' должен быть указан allow/deny:userlist."
msgid "lpadmin: Expected class after \"-r\" option."
-msgstr ""
+msgstr "lpadmin: После параметра \"-r\" должно быть указано имя группы."
msgid "lpadmin: Expected class name after \"-c\" option."
-msgstr ""
+msgstr "lpadmin: После параметра \"-c\" должно быть указано имя группы."
msgid "lpadmin: Expected description after \"-D\" option."
-msgstr ""
+msgstr "lpadmin: После параметра \"-D\" должно быть указано описание."
msgid "lpadmin: Expected device URI after \"-v\" option."
-msgstr ""
+msgstr "lpadmin: После параметра \"-v\" должен быть указан URI"
msgid "lpadmin: Expected file type(s) after \"-I\" option."
-msgstr ""
+msgstr "После параметра \"-I\" должен(-ны) быть указан(-ы) тип(-ы) файла(-ов)."
msgid "lpadmin: Expected hostname after \"-h\" option."
-msgstr ""
+msgstr "lpadmin: После параметра \"-h\" должно быть указано имя хоста."
msgid "lpadmin: Expected interface after \"-i\" option."
-msgstr ""
+msgstr "lpadmin: После параметра \"-i\" должен быть указан интерфейс."
msgid "lpadmin: Expected location after \"-L\" option."
-msgstr ""
+msgstr "lpadmin: После параметра \"-L\" должно быть указано местоположение."
msgid "lpadmin: Expected model after \"-m\" option."
-msgstr ""
+msgstr "lpadmin: После параметра \"-m\" должна быть указана модель."
msgid "lpadmin: Expected name after \"-R\" option."
-msgstr ""
+msgstr "lpadmin: После параметра \"-R\" должно быть указано имя."
msgid "lpadmin: Expected name=value after \"-o\" option."
-msgstr ""
+msgstr "lpadmin: После параметра \"-o\" должно быть указано name=value"
msgid "lpadmin: Expected printer after \"-p\" option."
-msgstr ""
+msgstr "lpadmin: После параметра \"-p\" должен быть указан принтер."
msgid "lpadmin: Expected printer name after \"-d\" option."
-msgstr ""
+msgstr "lpadmin: После параметра \"-d\" должно быть указано имя принтера."
msgid "lpadmin: Expected printer or class after \"-x\" option."
-msgstr ""
+msgstr "lpadmin: После параметра \"-x\" должен быть указан принтер или группа."
msgid "lpadmin: No member names were seen."
-msgstr ""
+msgstr "lpadmin: Имена пользователей не были найдены."
#, c-format
msgid "lpadmin: Printer %s is already a member of class %s."
-msgstr ""
+msgstr "lpadmin: Принтер %s уже находится в группе %s."
#, c-format
msgid "lpadmin: Printer %s is not a member of class %s."
-msgstr ""
+msgstr "lpadmin: Принтер %s не находится в группе %s."
msgid "lpadmin: Printer name can only contain printable characters."
-msgstr ""
+msgstr "lpadmin: Имя принтера может содержать только печатаемые символы."
msgid ""
"lpadmin: Unable to add a printer to the class:\n"
" You must specify a printer name first."
msgstr ""
+"lpadmin: Не удается добавить принтер в группу:\n"
+"\t Необходимо сначала указать имя принтера."
#, c-format
msgid "lpadmin: Unable to connect to server: %s"
-msgstr ""
+msgstr "lpadmin: Не удается подключиться к серверу: %s"
msgid "lpadmin: Unable to create temporary file"
-msgstr ""
+msgstr "lpadmin: Не удается создать временный файл"
msgid ""
"lpadmin: Unable to delete option:\n"
" You must specify a printer name first."
msgstr ""
+"lpadmin: Не удается удалить параметр:\n"
+"\t Необходимо сначала указать имя принтера."
#, c-format
msgid "lpadmin: Unable to open PPD file \"%s\" - %s"
-msgstr ""
+msgstr "lpadmin: Не удается открыть PPD-файл \"%s\" - %s"
msgid ""
"lpadmin: Unable to remove a printer from the class:\n"
" You must specify a printer name first."
msgstr ""
+"lpadmin: Не удается удалить принтер из группы:\n"
+"\t Необходимо сначала указать имя принтера."
msgid ""
"lpadmin: Unable to set the printer options:\n"
" You must specify a printer name first."
msgstr ""
+"lpadmin: Не удается настроить параметры принтера:\n"
+"\t Необходимо сначала указать имя принтера."
#, c-format
msgid "lpadmin: Unknown allow/deny option \"%s\"."
-msgstr ""
+msgstr "lpadmin: Неизвестный параметр allow/deny \"%s\"."
#, c-format
msgid "lpadmin: Unknown argument \"%s\"."
-msgstr ""
+msgstr "lpadmin: Неизвестный аргумент \"%s\"."
#, c-format
msgid "lpadmin: Unknown option \"%c\"."
-msgstr ""
+msgstr "lpadmin: Неизвестный параметр \"%c\"."
msgid "lpadmin: Warning - content type list ignored."
-msgstr ""
+msgstr "lpadmin: Внимание - список типов содержимого пропущен."
msgid "lpc> "
msgstr "lpc> "
msgid "lpinfo: Expected 1284 device ID string after \"--device-id\"."
-msgstr ""
+msgstr "lpinfo: После \"--device-id\" должна идти строка ID устройства 1284"
msgid "lpinfo: Expected language after \"--language\"."
-msgstr ""
+msgstr "lpinfo: После \"--language\" необходимо указать язык."
msgid "lpinfo: Expected make and model after \"--make-and-model\"."
-msgstr ""
+msgstr "lpinfo: После \"--make-and-model\" должна быть указана марка и модель."
msgid "lpinfo: Expected product string after \"--product\"."
-msgstr ""
+msgstr "lpinfo: После \"--product\" должна идти строка продукта."
msgid "lpinfo: Expected scheme list after \"--exclude-schemes\"."
-msgstr ""
+msgstr "lpinfo: После \"--exclude-schemes\" должен идти список схем."
msgid "lpinfo: Expected scheme list after \"--include-schemes\"."
-msgstr ""
+msgstr "lpinfo: После \"--include-schemes\" должен идти список схем."
msgid "lpinfo: Expected timeout after \"--timeout\"."
-msgstr ""
+msgstr "lpinfo: После \"--timeout\" должно быть указано время ожидания"
#, c-format
msgid "lpinfo: Unknown argument \"%s\"."
-msgstr ""
+msgstr "lpinfo: Неизвестный аргумент \"%s\"."
#, c-format
msgid "lpinfo: Unknown option \"%c\"."
-msgstr ""
+msgstr "lpinfo: Неизвестный параметр \"%c\"."
#, c-format
msgid "lpinfo: Unknown option \"%s\"."
-msgstr ""
+msgstr "lpinfo: Неизвестный параметр \"%s\"."
#, c-format
msgid "lpmove: Unable to connect to server: %s"
-msgstr ""
+msgstr "lpmove: Не удается подключиться к серверу: %s"
#, c-format
msgid "lpmove: Unknown argument \"%s\"."
-msgstr ""
+msgstr "lpmove: Неизвестный аргумент \"%s\"."
#, c-format
msgid "lpmove: Unknown option \"%c\"."
-msgstr ""
+msgstr "lpmove: Неизвестный параметр \"%c\"."
msgid "lpoptions: No printers."
-msgstr ""
+msgstr "lpoptions: Нет принтеров."
#, c-format
msgid "lpoptions: Unable to add printer or instance: %s"
-msgstr ""
+msgstr "lpoptions: Не удается добавить принтер или представителя класса: %s"
#, c-format
msgid "lpoptions: Unable to get PPD file for %s: %s"
-msgstr ""
+msgstr "lpoptions: Не удается получить PPD-файл для %s: %s"
#, c-format
msgid "lpoptions: Unable to open PPD file for %s."
-msgstr ""
+msgstr "lpoptions: Не удается открыть PPD файл для %s"
msgid "lpoptions: Unknown printer or class."
-msgstr ""
+msgstr "lpoptions: Неизвестный принтер или группа"
#, c-format
msgid ""
"lpstat: error - %s environment variable names non-existent destination \"%s"
"\"."
msgstr ""
+"lpstat: ошибка - %s переменная окружения указывает несуществующее "
+"назначение \"%s\"\n"
#, c-format
msgid "members of class %s:"
-msgstr ""
+msgstr "члены группы %s:"
msgid "no entries"
-msgstr ""
+msgstr "нет записей"
msgid "no system default destination"
-msgstr ""
+msgstr "Нет назначение системы по умолчанию"
msgid "notify-events not specified."
-msgstr ""
+msgstr "notify-events не указаны."
#, c-format
msgid "notify-recipient-uri URI \"%s\" is already used."
-msgstr ""
+msgstr "notify-recipient-uri URI \"%s\" уже используется."
#, c-format
msgid "notify-recipient-uri URI \"%s\" uses unknown scheme."
-msgstr ""
+msgstr "notify-recipient-uri URI \"%s\" использует неизвестную схему."
msgid "pending"
msgstr "задержка"
#, c-format
msgid "ppdc: Adding include directory \"%s\"."
-msgstr ""
+msgstr "ppdc: Добавление каталога \"%s\"."
#, c-format
msgid "ppdc: Adding/updating UI text from %s."
-msgstr ""
+msgstr "ppdc: Добавление/обновление текста интерфейса из %s."
#, c-format
msgid "ppdc: Bad boolean value (%s) on line %d of %s."
-msgstr ""
+msgstr "ppdc: Недопустимое двоичное значение (%s) в строке %d из %s."
#, c-format
msgid "ppdc: Bad font attribute: %s"
-msgstr ""
+msgstr "ppdc: Недопустимый атрибут шрифта: %s"
#, c-format
msgid "ppdc: Bad resolution name \"%s\" on line %d of %s."
-msgstr ""
+msgstr "ppdc: Недопустимое имя разрешения \"%s\" в строке %d из %s."
#, c-format
msgid "ppdc: Bad status keyword %s on line %d of %s."
-msgstr ""
+msgstr "ppdc: Недопустимое ключевое слово статуса %s в строке %d из %s."
#, c-format
msgid "ppdc: Bad variable substitution ($%c) on line %d of %s."
-msgstr ""
+msgstr "ppdc: Недопустимая замена переменной ($%c) в строке %d из %s."
#, c-format
msgid "ppdc: Choice found on line %d of %s with no Option."
-msgstr ""
+msgstr "ppdc: В строке %d из %s обнаружено значение, не привязанное к параметру"
#, c-format
msgid "ppdc: Duplicate #po for locale %s on line %d of %s."
-msgstr ""
+msgstr "ppdc: Дубликат #po для региона %s в строке %d из %s"
#, c-format
msgid "ppdc: Expected a filter definition on line %d of %s."
-msgstr ""
+msgstr "ppdc: В строке %d из %s должно быть определение фильтра."
#, c-format
msgid "ppdc: Expected a program name on line %d of %s."
-msgstr ""
+msgstr "ppdc: В строке %d из %s должно быть имя программы."
#, c-format
msgid "ppdc: Expected boolean value on line %d of %s."
-msgstr ""
+msgstr "ppdc: В строке %d из %s должно быть двоичное значение."
#, c-format
msgid "ppdc: Expected charset after Font on line %d of %s."
-msgstr ""
+msgstr "ppdc: После Font в строке %d из %s должен быть набор символов."
#, c-format
msgid "ppdc: Expected choice code on line %d of %s."
-msgstr ""
+msgstr "ppdc: В строке %d из %s должно быть код выбора."
#, c-format
msgid "ppdc: Expected choice name/text on line %d of %s."
-msgstr ""
+msgstr "ppdc: В строке %d из %s должно быть имя/текст выбора."
#, c-format
msgid "ppdc: Expected color order for ColorModel on line %d of %s."
-msgstr ""
+msgstr "ppdc: После ColorModel в строке %d из %s должна быть указана цветовая "
+"схема."
#, c-format
msgid "ppdc: Expected colorspace for ColorModel on line %d of %s."
-msgstr ""
+msgstr "ppdc: Для ColorModel в строке %d из %s должно быть указано colorspace."
#, c-format
msgid "ppdc: Expected compression for ColorModel on line %d of %s."
-msgstr ""
+msgstr "ppdc: Для ColorModel в строке %d из %s должно быть указано сжатие."
#, c-format
msgid "ppdc: Expected constraints string for UIConstraints on line %d of %s."
-msgstr ""
+msgstr "ppdc: Для UIConstraints в строке %d из %s должна быть указана строка "
+"ограничений."
#, c-format
msgid ""
"ppdc: Expected driver type keyword following DriverType on line %d of %s."
msgstr ""
+"ppdc: После DriverType в строке %d из %s должно быть указано ключевое "
+"слово типа драйвера."
#, c-format
msgid "ppdc: Expected duplex type after Duplex on line %d of %s."
-msgstr ""
+msgstr "ppdc: После Duplex в строке %d из %s должен быть указан тип дуплекса."
#, c-format
msgid "ppdc: Expected encoding after Font on line %d of %s."
-msgstr ""
+msgstr "ppdc: После Font в строке %d из %s должна быть указана кодировка."
#, c-format
msgid "ppdc: Expected filename after #po %s on line %d of %s."
-msgstr ""
+msgstr "После #po %s в строке %d из %s должно быть указано имя файла."
#, c-format
msgid "ppdc: Expected group name/text on line %d of %s."
-msgstr ""
+msgstr "ppdc: В строке %d из %s должно быть указанно имя группы/текст."
#, c-format
msgid "ppdc: Expected include filename on line %d of %s."
-msgstr ""
+msgstr "ppdc: В строке %d из %s должно быть указано имя файла."
#, c-format
msgid "ppdc: Expected integer on line %d of %s."
-msgstr ""
+msgstr "ppdc: В строке %d из %s должно быть целое число."
#, c-format
msgid "ppdc: Expected locale after #po on line %d of %s."
-msgstr ""
+msgstr "ppdc: После #po в строке %d из %s должен быть указан регион."
#, c-format
msgid "ppdc: Expected name after %s on line %d of %s."
-msgstr ""
+msgstr "ppdc: После %s в строке %d из %s должно быть указано имя."
#, c-format
msgid "ppdc: Expected name after FileName on line %d of %s."
-msgstr ""
+msgstr "ppdc: После FileName в строке %d из %s должно быть указано имя."
#, c-format
msgid "ppdc: Expected name after Font on line %d of %s."
-msgstr ""
+msgstr "ppdc: После Font в строке %d из %s должно быть указано имя."
#, c-format
msgid "ppdc: Expected name after Manufacturer on line %d of %s."
-msgstr ""
+msgstr "ppdc: После Manufacturer в строке %d из %s должно быть указано имя."
#, c-format
msgid "ppdc: Expected name after MediaSize on line %d of %s."
-msgstr ""
+msgstr "ppdc: После MediaSize в строке %d из %s должно быть указано имя."
#, c-format
msgid "ppdc: Expected name after ModelName on line %d of %s."
-msgstr ""
+msgstr "ppdc: После ModelName в строке %d из %s должно быть указано имя."
#, c-format
msgid "ppdc: Expected name after PCFileName on line %d of %s."
-msgstr ""
+msgstr "ppdc: После PCFileName в строке %d из %s должно быть указано имя."
#, c-format
msgid "ppdc: Expected name/text after %s on line %d of %s."
-msgstr ""
+msgstr "ppdc: После %s в строке %d из %s должно быть указано имя/текст."
#, c-format
msgid "ppdc: Expected name/text after Installable on line %d of %s."
-msgstr ""
+msgstr "
+"ppdc: После Installable в строке %d из %s должно быть указано имя/текст."
#, c-format
msgid "ppdc: Expected name/text after Resolution on line %d of %s."
msgstr ""
+"ppdc: После Resolution в строке %d из %s должно быть указано имя/текст.
#, c-format
msgid "ppdc: Expected name/text combination for ColorModel on line %d of %s."
msgstr ""
+"ppdc: После ColorModel в строке %d из %s должно быть указано имя/текст."
#, c-format
msgid "ppdc: Expected option name/text on line %d of %s."
-msgstr ""
+msgstr "ppdc: В строке %d из %s должно быть указано имя параметра/текст."
#, c-format
msgid "ppdc: Expected option section on line %d of %s."
-msgstr ""
+msgstr "ppdc: В строке %d из %s должен быть указан раздел параметров."
#, c-format
msgid "ppdc: Expected option type on line %d of %s."
-msgstr ""
+msgstr "ppdc: В строке %d из %s должен быть указан тип параметра."
#, c-format
msgid "ppdc: Expected override field after Resolution on line %d of %s."
msgstr ""
+"ppdc: После Resolution в строке %d из %s должно быть поле "
+"переопределения.
#, c-format
msgid "ppdc: Expected quoted string on line %d of %s."
-msgstr ""
+msgstr "ppdc: В строке %d из %s должна быть запись в кавычках."
#, c-format
msgid "ppdc: Expected real number on line %d of %s."
-msgstr ""
+msgstr "ppdc: В строке %d из %s должно быть действительное число."
#, c-format
msgid ""
"ppdc: Expected resolution/mediatype following ColorProfile on line %d of %s."
msgstr ""
+"ppdc: После ColorProfile в строке %d из %s должно быть указано "
+"разрешение/тип носителя."
#, c-format
msgid ""
"ppdc: Expected resolution/mediatype following SimpleColorProfile on line %d "
"of %s."
msgstr ""
+"ppdc: После SimpleColorProfile в строке %d из %s должно быть указано "
+"разрешение/тип носителя."
#, c-format
msgid "ppdc: Expected selector after %s on line %d of %s."
-msgstr ""
+msgstr "ppdc: После %s в строке %d из %s должен быть selector."
#, c-format
msgid "ppdc: Expected status after Font on line %d of %s."
-msgstr ""
+msgstr "ppdc: После Font в строке %d из %s должен быть указан статус."
#, c-format
msgid "ppdc: Expected string after Copyright on line %d of %s."
-msgstr ""
+msgstr "ppdc: В строке %d из %s пропущено значение параметра Copyright."
#, c-format
msgid "ppdc: Expected string after Version on line %d of %s."
-msgstr ""
+msgstr "ppdc: В строке %d из %s пропущено значение параметра Version."
#, c-format
msgid "ppdc: Expected two option names on line %d of %s."
-msgstr ""
+msgstr "ppdc: В строке %d из %s должны быть два имени параметра."
#, c-format
msgid "ppdc: Expected value after %s on line %d of %s."
-msgstr ""
+msgstr "ppdc: После %s в строке %d из %s должно быть значение."
#, c-format
msgid "ppdc: Expected version after Font on line %d of %s."
-msgstr ""
+msgstr "ppdc: После Font в строке %d из %s должна быть указана версия."
#, c-format
msgid "ppdc: Invalid #include/#po filename \"%s\"."
-msgstr ""
+msgstr "ppdc: Неверное имя файла #include/#po \"%s\"."
#, c-format
msgid "ppdc: Invalid cost for filter on line %d of %s."
-msgstr ""
+msgstr "ppdc: Затраты на фильтр в строке %d из %s указаны неверно."
#, c-format
msgid "ppdc: Invalid empty MIME type for filter on line %d of %s."
-msgstr ""
+msgstr "ppdc: Недопустимый пустой MIME-тип для фильтра в строке %d из %s."
#, c-format
msgid "ppdc: Invalid empty program name for filter on line %d of %s."
msgstr ""
+"ppdc: Недопустимое пустое имя программы для фильтра в строке %d из %s."
#, c-format
msgid "ppdc: Invalid option section \"%s\" on line %d of %s."
-msgstr ""
+msgstr "ppdc: Неверный раздел параметров \"%s\" в строке %d из %s."
#, c-format
msgid "ppdc: Invalid option type \"%s\" on line %d of %s."
-msgstr ""
+msgstr "ppdc: Неверный тип параметра \"%s\" в строке %d из %s."
#, c-format
msgid "ppdc: Loading driver information file \"%s\"."
-msgstr ""
+msgstr "ppdc: Загружается файл с информацией о драйвере \"%s\"."
#, c-format
msgid "ppdc: Loading messages for locale \"%s\"."
-msgstr ""
+msgstr "ppdc: Загружаю сообщения для региона \"%s\"."
#, c-format
msgid "ppdc: Loading messages from \"%s\"."
-msgstr ""
+msgstr "ppdc: Загружаю сообщения из \"%s\"."
#, c-format
msgid "ppdc: Missing #endif at end of \"%s\"."
-msgstr ""
+msgstr "ppdc: Отсутствует #endif в конце \"%s\"."
#, c-format
msgid "ppdc: Missing #if on line %d of %s."
-msgstr ""
+msgstr "ppdc: Отсутствует #if в строке %d из %s."
#, c-format
msgid ""
"ppdc: Need a msgid line before any translation strings on line %d of %s."
msgstr ""
+"ppdc: Требуется строка msgid перед строкой перевода в строке %d из %s"
#, c-format
msgid "ppdc: No message catalog provided for locale %s."
-msgstr ""
+msgstr "ppdc: Не указан каталог сообщений для региона %s."
#, c-format
msgid "ppdc: Option %s defined in two different groups on line %d of %s."
msgstr ""
+"ppdc: Параметр %s определен в двух разных группах в строке %d из %s."
#, c-format
msgid "ppdc: Option %s redefined with a different type on line %d of %s."
-msgstr ""
+msgstr "ppdc: Для параметра %s определен другой тип в строке %d из %s."
#, c-format
msgid "ppdc: Option constraint must *name on line %d of %s."
msgstr ""
+"ppdc: Для ограничения параметра должно быть указано *name в строке %d из "
+"%s."
#, c-format
msgid "ppdc: Too many nested #if's on line %d of %s."
-msgstr ""
+msgstr "ppdc: Слишком много вложенных операторов #if в строке %d из %s."
#, c-format
msgid "ppdc: Unable to create PPD file \"%s\" - %s."
-msgstr ""
+msgstr "ppdc: Не удается создать PPD-файл \"%s\" - %s."
#, c-format
msgid "ppdc: Unable to create output directory %s: %s"
-msgstr ""
+msgstr "ppdc: Не удается создать каталог для выходных данных %s: %s"
#, c-format
msgid "ppdc: Unable to create output pipes: %s"
-msgstr ""
+msgstr "ppdc: Не удается создать конвейеры для выходных данных: %s"
#, c-format
msgid "ppdc: Unable to execute cupstestppd: %s"
-msgstr ""
+msgstr "ppdc: Не удается выполнить cupstestppd: %s"
#, c-format
msgid "ppdc: Unable to find #po file %s on line %d of %s."
-msgstr ""
+msgstr "ppdc: Не удается найти файл #po %s в строке %d из %s."
#, c-format
msgid "ppdc: Unable to find include file \"%s\" on line %d of %s."
-msgstr ""
+msgstr "ppdc: Не удается найти файл \"%s\" в строке %d из %s."
#, c-format
msgid "ppdc: Unable to find localization for \"%s\" - %s"
-msgstr ""
+msgstr "ppdc: Не удается найти перевод для \"%s\" - %s"
#, c-format
msgid "ppdc: Unable to load localization file \"%s\" - %s"
-msgstr ""
+msgstr "ppdc: Не удается загрузить файл перевода \"%s\" - %s"
#, c-format
msgid "ppdc: Unable to open %s: %s"
-msgstr ""
+msgstr "ppdc: Не удается открыть %s: %s"
#, c-format
msgid "ppdc: Undefined variable (%s) on line %d of %s."
-msgstr ""
+msgstr "ppdc: Не определена переменная (%s) в строке %d из %s."
#, c-format
msgid "ppdc: Unexpected text on line %d of %s."
-msgstr ""
+msgstr "ppdc: Неизвестный текст в %2$s строки %1$d"
#, c-format
msgid "ppdc: Unknown driver type %s on line %d of %s."
-msgstr ""
+msgstr "ppdc: Неизвестный тип драйвера %s в строке %d из %s."
#, c-format
msgid "ppdc: Unknown duplex type \"%s\" on line %d of %s."
-msgstr ""
+msgstr "ppdc: Неизвестный тип дуплекса \"%s\" в строке %d из %s."
#, c-format
msgid "ppdc: Unknown media size \"%s\" on line %d of %s."
-msgstr ""
+msgstr "ppdc: Неизвестный размер бумаги \"%s\" в строке %d из %s."
#, c-format
msgid "ppdc: Unknown message catalog format for \"%s\"."
-msgstr ""
+msgstr "ppdc: Неизвестный формат каталога сообщений для \"%s\""
#, c-format
msgid "ppdc: Unknown token \"%s\" seen on line %d of %s."
-msgstr ""
+msgstr "ppdc: Неизвестный маркер \"%s\" в строке %d из %s."
#, c-format
msgid ""
"ppdc: Unknown trailing characters in real number \"%s\" on line %d of %s."
msgstr ""
+"ppdc: Неизвестные конечные символы в вещественном числе \"%s\" в строке "
+"%d из %s."
#, c-format
msgid "ppdc: Unterminated string starting with %c on line %d of %s."
-msgstr ""
+msgstr "ppdc: Не завершена строка, начинающаяся с %c в строке %d из %s."
#, c-format
msgid "ppdc: Warning - overlapping filename \"%s\"."
-msgstr ""
+msgstr "ppdc: Внимание - дублирующееся имя \"%s\"."
#, c-format
msgid "ppdc: Writing %s."
-msgstr ""
+msgstr "ppdc: Записывается %s."
#, c-format
msgid "ppdc: Writing PPD files to directory \"%s\"."
-msgstr ""
+msgstr "ppdc: Записываются PPD-файлы в каталог \"%s\"."
#, c-format
msgid "ppdmerge: Bad LanguageVersion \"%s\" in %s."
-msgstr ""
+msgstr "ppdmerge: Неверное значение LanguageVersion \"%s\" в %s."
#, c-format
msgid "ppdmerge: Ignoring PPD file %s."
-msgstr ""
+msgstr "ppdmerge: Пропускается PPD-файл %s."
#, c-format
msgid "ppdmerge: Unable to backup %s to %s - %s"
-msgstr ""
+msgstr "ppdmerge: Не удается создать резервную копию %s на %s- %s"
#, c-format
msgid "printer %s disabled since %s -"
-msgstr ""
+msgstr "принтер %s отключен с момента %s -"
#, c-format
msgid "printer %s is idle. enabled since %s"
-msgstr ""
+msgstr "принтер %s свободен. Включен с момента %s"
#, c-format
msgid "printer %s now printing %s-%d. enabled since %s"
-msgstr ""
+msgstr "принтер %s сейчас печатает %s-%d. Включен с момента %s"
#, c-format
msgid "printer %s/%s disabled since %s -"
-msgstr ""
+msgstr "принтер %s/%s отключен с момента %s -"
#, c-format
msgid "printer %s/%s is idle. enabled since %s"
-msgstr ""
+msgstr "принтер %s/%s свободен. Включен с момента %s"
#, c-format
msgid "printer %s/%s now printing %s-%d. enabled since %s"
-msgstr ""
+msgstr "принтер %s/%s сейчас печатает %s-%d. Включен с момента %s"
msgid "processing"
msgstr "обработка"
#, c-format
msgid "request id is %s-%d (%d file(s))"
-msgstr ""
+msgstr "id запроса %s-%d (%d файл.)"
msgid "request-id uses indefinite length"
msgstr "Для request-id длина не определена"
msgid "scheduler is not running"
-msgstr ""
+msgstr "планировщик не запущен"
msgid "scheduler is running"
-msgstr ""
+msgstr "планировщик запущен"
#, c-format
msgid "stat of %s failed: %s"
msgstr "не удалось установить %s: %s"
msgid "status\t\tShow status of daemon and queue."
-msgstr ""
+msgstr "статус\t\tпоказать статус демона и очереди"
msgid "stopped"
msgstr "остановлен"
#, c-format
msgid "system default destination: %s"
-msgstr ""
+msgstr "назначение системы по умолчанию: %s"
#, c-format
msgid "system default destination: %s/%s"
-msgstr ""
+msgstr "назначение системы по умолчанию: %s/%s"
msgid "unknown"
msgstr "неизвестный"
@@ -5656,5203 +5955,3 @@ msgstr "новый"
msgid "variable-bindings uses indefinite length"
msgstr "Для variable-bindings длина не установлена"
-#~ msgid "\t\t(all)\n"
-#~ msgstr "\t\t(все)\n"
-
-#~ msgid "\t\t(none)\n"
-#~ msgstr "\t\t(нет)\n"
-
-#~ msgid "\t%d entries\n"
-#~ msgstr "\tзаписей: %d\n"
-
-#~ msgid "\tAfter fault: continue\n"
-#~ msgstr "\tПосле ошибки: продолжить\n"
-
-#~ msgid "\tAlerts:"
-#~ msgstr "\tПредупреждения:"
-
-#~ msgid "\tBanner required\n"
-#~ msgstr "\tТребуется баннер\n"
-
-#~ msgid "\tCharset sets:\n"
-#~ msgstr "\tНабор символов устанавливает:\n"
-
-#~ msgid "\tConnection: direct\n"
-#~ msgstr "\tПодключение: прямое\n"
-
-#~ msgid "\tConnection: remote\n"
-#~ msgstr "\tПодключение: удаленное\n"
-
-#~ msgid "\tDefault page size:\n"
-#~ msgstr "\tРазмер страницы по умолчанию:\n"
-
-#~ msgid "\tDefault pitch:\n"
-#~ msgstr "\tВысота по умолчанию:\n"
-
-#~ msgid "\tDefault port settings:\n"
-#~ msgstr "\tНастройки порта по умолчанию:\n"
-
-#~ msgid "\tDescription: %s\n"
-#~ msgstr "\tОписание: %s\n"
-
-#~ msgid ""
-#~ "\tForm mounted:\n"
-#~ "\tContent types: any\n"
-#~ "\tPrinter types: unknown\n"
-#~ msgstr ""
-#~ "\tФорма подключения:\n"
-#~ "\tТипы контента: любые\n"
-#~ "\tТипы принтеров: неизвестно\n"
-
-#~ msgid "\tForms allowed:\n"
-#~ msgstr "\tРазрешенные формы:\n"
-
-#~ msgid "\tInterface: %s.ppd\n"
-#~ msgstr "\tИнтерфейс: %s.ppd\n"
-
-#~ msgid "\tInterface: %s/interfaces/%s\n"
-#~ msgstr "\tИнтерфейс: %s/интерфейсы/%s\n"
-
-#~ msgid "\tInterface: %s/ppd/%s.ppd\n"
-#~ msgstr "\tИнтерфейс: %s/ppd/%s.ppd\n"
-
-#~ msgid "\tLocation: %s\n"
-#~ msgstr "\tРасположение: %s\n"
-
-#~ msgid "\tOn fault: no alert\n"
-#~ msgstr "\tПри ошибке: не выводить предупреждение\n"
-
-#~ msgid "\tUsers allowed:\n"
-#~ msgstr "\tРазрешенные пользователи:\n"
-
-#~ msgid "\tUsers denied:\n"
-#~ msgstr "\tЗапрещенные пользователи:\n"
-
-#~ msgid "\tdaemon present\n"
-#~ msgstr "\tдемон присутствует\n"
-
-#~ msgid "\tno entries\n"
-#~ msgstr "\tнет записей\n"
-
-#~ msgid "\tprinter is on device '%s' speed -1\n"
-#~ msgstr "\tпринтер на скорости -1 устройства «%s»\n"
-
-#~ msgid "\tprinting is disabled\n"
-#~ msgstr "\tпечать отключена\n"
-
-#~ msgid "\tprinting is enabled\n"
-#~ msgstr "\tпечать включена\n"
-
-#~ msgid "\tqueued for %s\n"
-#~ msgstr "\tочередь для %s\n"
-
-#~ msgid "\tqueuing is disabled\n"
-#~ msgstr "\tочередь отключена\n"
-
-#~ msgid "\tqueuing is enabled\n"
-#~ msgstr "\tочередь включена\n"
-
-#~ msgid "\treason unknown\n"
-#~ msgstr "\tпричина неизвестна\n"
-
-#~ msgid ""
-#~ "\n"
-#~ " DETAILED CONFORMANCE TEST RESULTS\n"
-#~ msgstr ""
-#~ "\n"
-#~ " ПОДРОБНЫЕ РЕЗУЛЬТАТЫ ТЕСТА СООТВЕТСТВИЯ\n"
-
-#~ msgid " REF: Page 15, section 3.1.\n"
-#~ msgstr " REF: Стр. 15, раздел 3.1.\n"
-
-#~ msgid " REF: Page 15, section 3.2.\n"
-#~ msgstr " REF: Стр. 15, раздел 3.2.\n"
-
-#~ msgid " REF: Page 19, section 3.3.\n"
-#~ msgstr " REF: Стр. 19, раздел 3.3.\n"
-
-#~ msgid " REF: Page 20, section 3.4.\n"
-#~ msgstr " REF: Стр. 20, раздел 3.4.\n"
-
-#~ msgid " REF: Page 27, section 3.5.\n"
-#~ msgstr " REF: Стр. 27, раздел 3.5.\n"
-
-#~ msgid " REF: Page 42, section 5.2.\n"
-#~ msgstr " REF: Стр. 42, раздел 5.2.\n"
-
-#~ msgid " REF: Pages 16-17, section 3.2.\n"
-#~ msgstr " REF: Стр. 16-17, раздел 3.2.\n"
-
-#~ msgid " REF: Pages 42-45, section 5.2.\n"
-#~ msgstr " REF: Стр. 42-45, раздел 5.2.\n"
-
-#~ msgid " REF: Pages 45-46, section 5.2.\n"
-#~ msgstr " REF: Стр. 45-46, раздел 5.2.\n"
-
-#~ msgid " REF: Pages 48-49, section 5.2.\n"
-#~ msgstr " REF: Стр. 48-49, раздел 5.2.\n"
-
-#~ msgid " REF: Pages 52-54, section 5.2.\n"
-#~ msgstr " REF: Стр. 52-54, раздел 5.2.\n"
-
-#~ msgid " %-39.39s %.0f bytes\n"
-#~ msgstr " %-39.39s %.0f байт\n"
-
-#~ msgid " PASS Default%s\n"
-#~ msgstr " PASS Default%s\n"
-
-#~ msgid " PASS DefaultImageableArea\n"
-#~ msgstr " PASS DefaultImageableArea\n"
-
-#~ msgid " PASS DefaultPaperDimension\n"
-#~ msgstr " PASS DefaultPaperDimension\n"
-
-#~ msgid " PASS FileVersion\n"
-#~ msgstr " PASS FileVersion\n"
-
-#~ msgid " PASS FormatVersion\n"
-#~ msgstr " PASS FormatVersion\n"
-
-#~ msgid " PASS LanguageEncoding\n"
-#~ msgstr " PASS LanguageEncoding\n"
-
-#~ msgid " PASS LanguageVersion\n"
-#~ msgstr " PASS LanguageVersion\n"
-
-#~ msgid " PASS Manufacturer\n"
-#~ msgstr " PASS Manufacturer\n"
-
-#~ msgid " PASS ModelName\n"
-#~ msgstr " PASS ModelName\n"
-
-#~ msgid " PASS NickName\n"
-#~ msgstr " PASS NickName\n"
-
-#~ msgid " PASS PCFileName\n"
-#~ msgstr " PASS PCFileName\n"
-
-#~ msgid " PASS PSVersion\n"
-#~ msgstr " PASS PSVersion\n"
-
-#~ msgid " PASS PageRegion\n"
-#~ msgstr " PASS PageRegion\n"
-
-#~ msgid " PASS PageSize\n"
-#~ msgstr " PASS PageSize\n"
-
-#~ msgid " PASS Product\n"
-#~ msgstr " PASS Product\n"
-
-#~ msgid " PASS ShortNickName\n"
-#~ msgstr " PASS ShortNickName\n"
-
-#~ msgid ""
-#~ " WARN \"%s %s\" conflicts with \"%s %s\"\n"
-#~ " (constraint=\"%s %s %s %s\")\n"
-#~ msgstr ""
-#~ " WARN «%s %s» конфликтует с «%s %s»\n"
-#~ " (constraint=«%s %s %s %s»)\n"
-
-#~ msgid " WARN %s has no corresponding options\n"
-#~ msgstr "\tWARN\t%s не имеет соответствующих параметров\n"
-
-#~ msgid " WARN %s has no corresponding options!\n"
-#~ msgstr " WARN %s не содержит соответствующих параметров!\n"
-
-#~ msgid ""
-#~ " WARN %s shares a common prefix with %s\n"
-#~ " REF: Page 15, section 3.2.\n"
-#~ msgstr ""
-#~ " WARN %s использует общий префикс совместно с %s\n"
-#~ " REF: Стр. 15, раздел 3.2.\n"
-
-#~ msgid " WARN Default choices conflicting\n"
-#~ msgstr "\tWARN\tЗначения, используемые по умолчанию, конфликтуют\n"
-
-#~ msgid " WARN Default choices conflicting!\n"
-#~ msgstr " WARN Значения, используемые по умолчанию, конфликтуют!\n"
-
-#~ msgid ""
-#~ " WARN Duplex option keyword %s may not work as expected and "
-#~ "should be named Duplex\n"
-#~ " REF: Page 122, section 5.17\n"
-#~ msgstr ""
-#~ "\tWARN\tКлючевое слово параметра дуплекса %s может привести к "
-#~ "некорректным результатам. Используйте имя 'Duplex'\n"
-#~ "\t\tREF: Стр. 122, раздел 5.17\n"
-
-#~ msgid ""
-#~ " WARN Duplex option keyword %s may not work as expected and "
-#~ "should be named Duplex!\n"
-#~ " REF: Page 122, section 5.17\n"
-#~ msgstr ""
-#~ " WARN Ключевое слово параметра дуплекса %s может привести к "
-#~ "некорректным результатам. Используйте имя «Duplex»!\n"
-#~ " REF: Стр. 122, раздел 5.17\n"
-
-#~ msgid ""
-#~ " WARN File contains a mix of CR, LF, and CR LF line endings\n"
-#~ msgstr "\tWARN\tФайл содержит комбинацию окончаний строки CR, LF, CR LF \n"
-
-#~ msgid ""
-#~ " WARN File contains a mix of CR, LF, and CR LF line endings!\n"
-#~ msgstr ""
-#~ " WARN Файл содержит комбинацию окончаний строки CR, LF и CR "
-#~ "LF!\n"
-
-#~ msgid ""
-#~ " WARN LanguageEncoding required by PPD 4.3 spec.\n"
-#~ " REF: Pages 56-57, section 5.3.\n"
-#~ msgstr ""
-#~ " WARN LanguageEncoding требуется спецификацией PPD 4.3.\n"
-#~ " REF: Стр. 56-57, раздел 5.3.\n"
-
-#~ msgid " WARN Line %d only contains whitespace\n"
-#~ msgstr "\tWARN\tСтрока %d содержит только пробелы\n"
-
-#~ msgid " WARN Line %d only contains whitespace!\n"
-#~ msgstr " WARN Строка %d содержит только пробелы!\n"
-
-#~ msgid ""
-#~ " WARN Manufacturer required by PPD 4.3 spec.\n"
-#~ " REF: Pages 58-59, section 5.3.\n"
-#~ msgstr ""
-#~ " WARN Manufacturer требуется спецификацией PPD 4.3.\n"
-#~ " REF: Стр. 58-59, раздел 5.3.\n"
-
-#~ msgid " WARN Missing APDialogExtension file \"%s\"\n"
-#~ msgstr " WARN Файл APDialogExtension отсутствует «%s»\n"
-
-#~ msgid " WARN Missing APPrinterIconPath file \"%s\"\n"
-#~ msgstr " WARN Файл APPrinterIconPath отсутствует «%s»\n"
-
-#~ msgid ""
-#~ " WARN Non-Windows PPD files should use lines ending with only "
-#~ "LF, not CR LF\n"
-#~ msgstr ""
-#~ "\tWARN\tPPD-файлы не из Windows должны использовать строки только с "
-#~ "окончанием LF, а не с CR LF\n"
-
-#~ msgid ""
-#~ " WARN Non-Windows PPD files should use lines ending with only "
-#~ "LF, not CR LF!\n"
-#~ msgstr ""
-#~ " WARN PPD-файлы не из Windows должны использовать строки только "
-#~ "с окончанием LF, а не с CR LF!\n"
-
-#~ msgid ""
-#~ " WARN Obsolete PPD version %.1f\n"
-#~ " REF: Page 42, section 5.2.\n"
-#~ msgstr ""
-#~ "\tWARN\tУстаревшая версия PPD %.1f\n"
-#~ "\t\tREF: Стр. 42, раздел 5.2. \n"
-
-#~ msgid ""
-#~ " WARN Obsolete PPD version %.1f!\n"
-#~ " REF: Page 42, section 5.2.\n"
-#~ msgstr ""
-#~ " WARN Устаревшая версия PPD %.1f!\n"
-#~ " REF: Стр. 42, раздел 5.2.\n"
-
-#~ msgid ""
-#~ " WARN PCFileName longer than 8.3 in violation of PPD spec.\n"
-#~ " REF: Pages 61-62, section 5.3.\n"
-#~ msgstr ""
-#~ " WARN PCFileName длиннее чем 8.3 нарушает спецификацию PPD.\n"
-#~ " REF: Стр. 61-62, раздел 5.3.\n"
-
-#~ msgid ""
-#~ " WARN PCFileName should contain a unique filename.\n"
-#~ " REF: Pages 61-62, section 5.3.\n"
-#~ msgstr ""
-#~ "\tWARN\tPCFilename должен содержать уникальное название\n"
-#~ "\t\tREF: Стр. 61-62, раздел 5.3. \n"
-
-#~ msgid ""
-#~ " WARN Protocols contains PJL but JCL attributes are not set.\n"
-#~ " REF: Pages 78-79, section 5.7.\n"
-#~ msgstr ""
-#~ " WARN Protocols содержит PJL, но атрибуты JCL не настроены.\n"
-#~ " REF: Стр. 78-79, раздел 5.7.\n"
-
-#~ msgid ""
-#~ " WARN Protocols contains both PJL and BCP; expected TBCP.\n"
-#~ " REF: Pages 78-79, section 5.7.\n"
-#~ msgstr ""
-#~ "\tWARN\tProtocols содержит PJL и BCP;\n"
-#~ "\t\tREF: Стр. 78-79, раздел 5.7.\n"
-
-#~ msgid ""
-#~ " WARN ShortNickName required by PPD 4.3 spec.\n"
-#~ " REF: Pages 64-65, section 5.3.\n"
-#~ msgstr ""
-#~ " WARN ShortNickName требуется спецификацией PPD 4.3.\n"
-#~ " REF: Стр. 64-65, раздел 5.3.\n"
-
-#~ msgid " %s %s %s does not exist\n"
-#~ msgstr "\t%s %s %s не существует\n"
-
-#~ msgid " %s %s %s does not exist!\n"
-#~ msgstr " %s %s %s не существует!\n"
-
-#~ msgid " %s %s file \"%s\" has the wrong capitalization\n"
-#~ msgstr " %s %s файл \"%s\" имеет неверный регистр\n"
-
-#~ msgid ""
-#~ " %s Bad %s choice %s\n"
-#~ " REF: Page 122, section 5.17\n"
-#~ msgstr ""
-#~ " %s Неверный %s выбор %s!\n"
-#~ " REF: Стр. 122, раздел 5.17\n"
-
-#~ msgid ""
-#~ " %s Bad %s choice %s!\n"
-#~ " REF: Page 122, section 5.17\n"
-#~ msgstr ""
-#~ " %s Неверный %s выбор %s!\n"
-#~ " REF: Стр. 122, раздел 5.17\n"
-
-#~ msgid " %s Bad UTF-8 \"%s\" translation string for option %s\n"
-#~ msgstr "\t%s Неверный перевод UTF-8 \"%s\" для параметра %s\n"
-
-#~ msgid " %s Bad UTF-8 \"%s\" translation string for option %s!\n"
-#~ msgstr " %s Неверный перевод UTF-8 «%s» для параметра %s!\n"
-
-#~ msgid ""
-#~ " %s Bad UTF-8 \"%s\" translation string for option %s, choice %s\n"
-#~ msgstr "\t%s Неверный перевод UTF-8 \"%s\" для параметра %s, выбора %s\n"
-
-#~ msgid ""
-#~ " %s Bad UTF-8 \"%s\" translation string for option %s, choice %s!\n"
-#~ msgstr ""
-#~ " %s Неверный перевод UTF-8 «%s» для параметра %s, выбора %s!\n"
-
-#~ msgid " %s Bad cupsFilter value \"%s\"\n"
-#~ msgstr "\t%s Неверное значение cupsFilter \"%s\"\n"
-
-#~ msgid " %s Bad cupsFilter value \"%s\"!\n"
-#~ msgstr " %s Неверное значение cupsFilter «%s»!\n"
-
-#~ msgid " %s Bad cupsICCProfile %s\n"
-#~ msgstr "\t%s Неверный cupsICCProfile %s\n"
-
-#~ msgid " %s Bad cupsICCProfile %s!\n"
-#~ msgstr " %s Неверный cupsICCProfile %s!\n"
-
-#~ msgid " %s Bad cupsPreFilter value \"%s\"\n"
-#~ msgstr "\t%s Неверное значение cupsPreFilter \"%s\"\n"
-
-#~ msgid " %s Bad cupsPreFilter value \"%s\"!\n"
-#~ msgstr " %s Неверное значение cupsPreFilter «%s»!\n"
-
-#~ msgid " %s Bad cupsUIConstraints %s: \"%s\"\n"
-#~ msgstr "\t%s Неверное значение cupsUIConstraints %s: \"%s\"\n"
-
-#~ msgid " %s Bad cupsUIConstraints %s: \"%s\"!\n"
-#~ msgstr " %s Неверный cupsUIConstraints %s: \"%s\"!\n"
-
-#~ msgid " %s Bad language \"%s\"\n"
-#~ msgstr "\t%s Неверный язык \"%s\"\n"
-
-#~ msgid " %s Bad language \"%s\"!\n"
-#~ msgstr " %s Неверный язык «%s»!\n"
-
-#~ msgid " %s Bad permissions on APDialogExtension file \"%s\"\n"
-#~ msgstr " %s Неверные права для файла APDialogExtension \"%s\"\n"
-
-#~ msgid " %s Bad permissions on APPrinterIconPath file \"%s\"\n"
-#~ msgstr " %s Неверные права для файла APPrinterIconPath \"%s\"\n"
-
-#~ msgid " %s Bad permissions on APPrinterLowInkTool file \"%s\"\n"
-#~ msgstr " %s Неверные права для файла APPrinterLowInkTool \"%s\"\n"
-
-#~ msgid " %s Bad permissions on APPrinterUtilityPath file \"%s\"\n"
-#~ msgstr " %s Неверные права для файла APPrinterUtilityPath \"%s\"\n"
-
-#~ msgid " %s Bad permissions on APScanAppPath file \"%s\"\n"
-#~ msgstr " %s Неверные права для файла APScanAppPath \"%s\"\n"
-
-#~ msgid " %s Bad permissions on cupsFilter file \"%s\"\n"
-#~ msgstr " %s Неверные права для файла cupsFilter \"%s\"\n"
-
-#~ msgid " %s Bad permissions on cupsICCProfile file \"%s\"\n"
-#~ msgstr " %s Неверные права для файла cupsICCProfile \"%s\"\n"
-
-#~ msgid " %s Bad permissions on cupsPreFilter file \"%s\"\n"
-#~ msgstr " %s Неверные права для файла cupsPreFilter \"%s\"\n"
-
-#~ msgid " %s Bad spelling of %s - should be %s\n"
-#~ msgstr " %s Ошибки в %s - должно быть %s.\n"
-
-#~ msgid " %s Cannot provide both APScanAppPath and APScanAppBundleID\n"
-#~ msgstr ""
-#~ " %s Невозможно предоставить APScanAppPath и APScanAppBundleID "
-#~ "вместе.\n"
-
-#~ msgid " %s Empty cupsUIConstraints %s\n"
-#~ msgstr " %s Пустой cupsUIConstraints %s\n"
-
-#~ msgid " %s Empty cupsUIConstraints %s!\n"
-#~ msgstr " %s Пустой cupsUIConstraints %s!\n"
-
-#~ msgid " %s Missing \"%s\" translation string for option %s\n"
-#~ msgstr "\t%s Перевод \"%s\" отсутствует для параметра %s\n"
-
-#~ msgid " %s Missing \"%s\" translation string for option %s!\n"
-#~ msgstr " %s Перевод «%s» отсутствует для параметра %s!\n"
-
-#~ msgid ""
-#~ " %s Missing \"%s\" translation string for option %s, choice %s\n"
-#~ msgstr "\t%s Перевод \"%s\" отсутствует для параметра %s, выбора %s\n"
-
-#~ msgid ""
-#~ " %s Missing \"%s\" translation string for option %s, choice %s!\n"
-#~ msgstr " %s Перевод «%s» отсутствует для параметра %s, выбора %s!\n"
-
-#~ msgid " %s Missing APDialogExtension file \"%s\"\n"
-#~ msgstr "\t%s Файл APDialogExtention отсутствует \"%s\"\n"
-
-#~ msgid " %s Missing APPrinterIconPath file \"%s\"\n"
-#~ msgstr "\t%s Файл APPrinterIconPath отсутствует \"%s\"\n"
-
-#~ msgid " %s Missing APPrinterLowInkTool file \"%s\"\n"
-#~ msgstr "\t%s Файл APPrinterLowInkTool отсутствует \"%s\"\n"
-
-#~ msgid " %s Missing APPrinterUtilityPath file \"%s\"\n"
-#~ msgstr "\t%s Файл APPrinterUtilityPath отсутствует \"%s\"\n"
-
-#~ msgid " %s Missing APScanAppPath file \"%s\"\n"
-#~ msgstr "\t%s Файл APScanAppPath отсутствует \"%s\"\n"
-
-#~ msgid ""
-#~ " %s Missing REQUIRED PageRegion option\n"
-#~ " REF: Page 100, section 5.14.\n"
-#~ msgstr ""
-#~ "\t%s Обязательный параметр PageRegion отсутствует.\n"
-#~ "\t\t REF: Стр. 100, раздел 5.14.\n"
-
-#~ msgid ""
-#~ " %s Missing REQUIRED PageSize option\n"
-#~ " REF: Page 99, section 5.14.\n"
-#~ msgstr ""
-#~ "\t%s Обязательный параметр PageSize отсутствует.\n"
-#~ "\t\t REF: Стр. 99, раздел 5.14.\n"
-
-#~ msgid " %s Missing choice *%s %s in UIConstraints \"*%s %s *%s %s\"\n"
-#~ msgstr ""
-#~ " %s Выбор *%s %s отсутствует в UIConstraints \"*%s %s *%s %s\"\n"
-
-#~ msgid ""
-#~ " %s Missing choice *%s %s in UIConstraints \"*%s %s *%s %s\"!\n"
-#~ msgstr ""
-#~ " %s Выбор *%s %s отсутствует в UIConstraints «*%s %s *%s %s»!\n"
-
-#~ msgid " %s Missing choice *%s %s in cupsUIConstraints %s: \"%s\"\n"
-#~ msgstr " %s Выбор *%s %s отсутствует в cupsUIConstraints %s: \"%s\"\n"
-
-#~ msgid " %s Missing choice *%s %s in cupsUIConstraints %s: \"%s\"!\n"
-#~ msgstr ""
-#~ " %s Выбор *%s %s отсутствует в cupsUIConstraints %s: \"%s\"!\n"
-
-#~ msgid " %s Missing cupsFilter file \"%s\"\n"
-#~ msgstr " %s Файл cupsFilter отсутствует «%s»\n"
-
-#~ msgid " %s Missing cupsICCProfile file \"%s\"\n"
-#~ msgstr "\t%s Файл cupsICCProfile отсутствует \"%s\"\n"
-
-#~ msgid " %s Missing cupsICCProfile file \"%s\"!\n"
-#~ msgstr " %s Файл cupsICCProfile отсутствует «%s»!\n"
-
-#~ msgid " %s Missing cupsPreFilter file \"%s\"\n"
-#~ msgstr " %s Файл cupsFilter «%s» отсутствует\n"
-
-#~ msgid " %s Missing cupsUIResolver %s\n"
-#~ msgstr "\t%s cupsUIResolver отсутствует %s\n"
-
-#~ msgid " %s Missing cupsUIResolver %s!\n"
-#~ msgstr " %s Отсутствует cupsUIResolver %s!\n"
-
-#~ msgid " %s Missing option %s in UIConstraints \"*%s %s *%s %s\"\n"
-#~ msgstr "\t%s Отсутствует параметр %s у UIConstraints \"*%s %s *%s %s\"\n"
-
-#~ msgid " %s Missing option %s in UIConstraints \"*%s %s *%s %s\"!\n"
-#~ msgstr ""
-#~ " %s Параметр %s отсутствует в UIConstraints «*%s %s *%s %s»!\n"
-
-#~ msgid " %s Missing option %s in cupsUIConstraints %s: \"%s\"\n"
-#~ msgstr "\t%s Отсутствует параметр %s у cupsUIConstraints %s: \"%s\"\n"
-
-#~ msgid " %s Missing option %s in cupsUIConstraints %s: \"%s\"!\n"
-#~ msgstr " %s Параметр %s отсутствует в cupsUIConstraints %s: \"%s\"!\n"
-
-#~ msgid " %s No base translation \"%s\" is included in file\n"
-#~ msgstr "\t%s Основной перевод \"%s\" не включен в файл\n"
-
-#~ msgid " %s No base translation \"%s\" is included in file!\n"
-#~ msgstr " %s Основной перевод «%s» не включен в файл!\n"
-
-#~ msgid ""
-#~ " %s Non-standard size name \"%s\"\n"
-#~ " REF: Page 187, section B.2.\n"
-#~ msgstr ""
-#~ "\t%s Не стандартный размер названия \"%s\"\n"
-#~ "\t\tREF: Стр. 187, раздел B.2.\n"
-
-#~ msgid ""
-#~ " %s REQUIRED %s does not define choice None\n"
-#~ " REF: Page 122, section 5.17\n"
-#~ msgstr ""
-#~ "\t ТРЕБУЕТСЯ %s: %s не определяет выбор \"Нет\"\n"
-#~ "\t\tREF: Стр. 122, раздел 5.17\n"
-
-#~ msgid ""
-#~ " %s REQUIRED %s does not define choice None!\n"
-#~ " REF: Page 122, section 5.17\n"
-#~ msgstr ""
-#~ " ТРЕБУЕТСЯ %s: %s не определяет выбор «Нет»!\n"
-#~ " REF: Стр. 122, раздел 5.17\n"
-
-#~ msgid " %s Size \"%s\" defined for %s but not for %s\n"
-#~ msgstr "\t%s Размер \"%s\" определен для %s, но не определен для %s\n"
-
-#~ msgid " %s Size \"%s\" has unexpected dimensions (%gx%g)\n"
-#~ msgstr "\t%s Размер \"%s\" имеет неверное значение (%gx%g)\n"
-
-#~ msgid " %s cupsICCProfile %s hash value collides with %s\n"
-#~ msgstr "\tХеш-значение %s cupsICCProfile %s конфликтует с %s\n"
-
-#~ msgid " %s cupsICCProfile %s hash value collides with %s!\n"
-#~ msgstr " Хеш-значение %s cupsICCProfile %s конфликтует с %s!\n"
-
-#~ msgid " %s cupsUIResolver %s causes a loop\n"
-#~ msgstr "\t%s cupsUIResolver %s создает цикл\n"
-
-#~ msgid " %s cupsUIResolver %s causes a loop!\n"
-#~ msgstr " %s cupsUIResolver %s создает цикл!\n"
-
-#~ msgid ""
-#~ " %s cupsUIResolver %s does not list at least two different options\n"
-#~ msgstr "\t%s В cupsUIResolver %s не перечислено как минимум два параметра\n"
-
-#~ msgid " **FAIL** %s choice names %s and %s differ only by case\n"
-#~ msgstr ""
-#~ "\t**FAIL** Для выбора %s имена %s и %s различаются только регистром "
-#~ "символов\n"
-
-#~ msgid " **FAIL** %s choice names %s and %s differ only by case!\n"
-#~ msgstr ""
-#~ " **FAIL** Для выбора %s имена %s и %s различаются только регистром "
-#~ "символов!\n"
-
-#~ msgid ""
-#~ " **FAIL** %s must be 1284DeviceID\n"
-#~ " REF: Page 72, section 5.5\n"
-#~ msgstr ""
-#~ "\t**FAIL** %s должно соответствовать 1284DeviceID\n"
-#~ "\t\tREF: Стр. 72, раздел 5.5\n"
-
-#~ msgid ""
-#~ " **FAIL** %s must be 1284DeviceID!\n"
-#~ " REF: Page 72, section 5.5\n"
-#~ msgstr ""
-#~ " **FAIL** %s должно соответствовать 1284DeviceID!\n"
-#~ " REF: Стр. 72, раздел 5.5\n"
-
-#~ msgid ""
-#~ " **FAIL** BAD Default%s %s\n"
-#~ " REF: Page 40, section 4.5.\n"
-#~ msgstr ""
-#~ " **FAIL** НЕВЕРНЫЙ Default%s %s\n"
-#~ " REF: Стр. 40, раздел 4.5.\n"
-
-#~ msgid ""
-#~ " **FAIL** BAD DefaultImageableArea %s\n"
-#~ " REF: Page 102, section 5.15.\n"
-#~ msgstr ""
-#~ "\t**FAIL** Неверный DefaultImageableArea %s\n"
-#~ "\t\tREF: Стр. 102, раздел 5.15.\n"
-
-#~ msgid ""
-#~ " **FAIL** BAD DefaultImageableArea %s!\n"
-#~ " REF: Page 102, section 5.15.\n"
-#~ msgstr ""
-#~ " **FAIL** НЕВЕРНЫЙ DefaultImageableArea %s!\n"
-#~ " REF: Стр. 102, раздел 5.15.\n"
-
-#~ msgid ""
-#~ " **FAIL** BAD DefaultPaperDimension %s\n"
-#~ " REF: Page 103, section 5.15.\n"
-#~ msgstr ""
-#~ "\t**FAIL** Неверный DefaultPaperDimension %s\n"
-#~ "\t\tREF: Стр. 103, раздел 5.15.\n"
-
-#~ msgid ""
-#~ " **FAIL** BAD DefaultPaperDimension %s!\n"
-#~ " REF: Page 103, section 5.15.\n"
-#~ msgstr ""
-#~ " **FAIL** НЕВЕРНЫЙ DefaultPaperDimension %s!\n"
-#~ " REF: Стр. 103, раздел 5.15.\n"
-
-#~ msgid ""
-#~ " **FAIL** BAD JobPatchFile attribute in file\n"
-#~ " REF: Page 24, section 3.4.\n"
-#~ msgstr ""
-#~ " **FAIL** НЕВЕРНЫЙ JobPatchFile атрибут в файле\n"
-#~ " REF: Стр. 24, раздел 3.4.\n"
-
-#~ msgid ""
-#~ " **FAIL** BAD Manufacturer (should be \"HP\")\n"
-#~ " REF: Page 211, table D.1.\n"
-#~ msgstr ""
-#~ " **FAIL** НЕВЕРНЫЙ Manufacturer (должен быть «HP»)\n"
-#~ " REF: Стр. 211, таблица D.1.\n"
-
-#~ msgid ""
-#~ " **FAIL** BAD Manufacturer (should be \"Oki\")\n"
-#~ " REF: Page 211, table D.1.\n"
-#~ msgstr ""
-#~ " **FAIL** НЕВЕРНЫЙ Manufacturer (должен быть «Oki»)\n"
-#~ " REF: Стр. 211, таблица D.1.\n"
-
-#~ msgid ""
-#~ " **FAIL** BAD ModelName - \"%c\" not allowed in string.\n"
-#~ " REF: Pages 59-60, section 5.3.\n"
-#~ msgstr ""
-#~ " **FAIL** НЕВЕРНОЕ ModelName – «%c» не разрешено в строке.\n"
-#~ " REF: Стр. 59-60, раздел 5.3.\n"
-
-#~ msgid ""
-#~ " **FAIL** BAD PSVersion - not \"(string) int\".\n"
-#~ " REF: Pages 62-64, section 5.3.\n"
-#~ msgstr ""
-#~ " **FAIL** НЕВЕРНАЯ PSVersion – не «(string) int».\n"
-#~ " REF: Стр. 62-64, раздел 5.3.\n"
-
-#~ msgid ""
-#~ " **FAIL** BAD Product - not \"(string)\".\n"
-#~ " REF: Page 62, section 5.3.\n"
-#~ msgstr ""
-#~ " **FAIL** НЕВЕРНЫЙ Product – не «(string)».\n"
-#~ " REF: Стр. 62, раздел 5.3.\n"
-
-#~ msgid ""
-#~ " **FAIL** BAD ShortNickName - longer than 31 chars.\n"
-#~ " REF: Pages 64-65, section 5.3.\n"
-#~ msgstr ""
-#~ " **FAIL** НЕВЕРНЫЙ ShortNickName – длиннее чем 31 симв.\n"
-#~ " REF: Стр. 64-65, раздел 5.3.\n"
-
-#~ msgid ""
-#~ " **FAIL** Bad %s choice %s\n"
-#~ " REF: Page 84, section 5.9\n"
-#~ msgstr ""
-#~ "\t**FAIL** Неверный %s выбор %s\n"
-#~ "\t\t REF: Стр. 84, раздел 5.9\n"
-
-#~ msgid ""
-#~ " **FAIL** Bad %s choice %s!\n"
-#~ " REF: Page 84, section 5.9\n"
-#~ msgstr ""
-#~ " **FAIL** Неверный %s выбор %s!\n"
-#~ " REF: Стр. 84, раздел 5,9\n"
-
-#~ msgid ""
-#~ " **FAIL** Bad FileVersion \"%s\"\n"
-#~ " REF: Page 56, section 5.3.\n"
-#~ msgstr ""
-#~ " **FAIL** Неверная FileVersion \"%s\"\n"
-#~ " REF: Стр. 56, раздел 5.3.\n"
-
-#~ msgid ""
-#~ " **FAIL** Bad FormatVersion \"%s\"\n"
-#~ " REF: Page 56, section 5.3.\n"
-#~ msgstr ""
-#~ " **FAIL** Неверная FormatVersion \"%s\"\n"
-#~ " REF: Стр. 56, раздел 5.3.\n"
-
-#~ msgid " **FAIL** Bad LanguageEncoding %s - must be ISOLatin1\n"
-#~ msgstr "\t**FAIL** Неверный LanguageEncoding %s - должен быть ISOLatin1\n"
-
-#~ msgid " **FAIL** Bad LanguageEncoding %s - must be ISOLatin1!\n"
-#~ msgstr ""
-#~ " **FAIL** Неверный LanguageEncoding %s – должно быть ISOLatin1!\n"
-
-#~ msgid " **FAIL** Bad LanguageVersion %s - must be English\n"
-#~ msgstr "\t**FAIL** Неверный LanguageVersion %s - должен быть английский\n"
-
-#~ msgid " **FAIL** Bad LanguageVersion %s - must be English!\n"
-#~ msgstr ""
-#~ " **FAIL** Неверный LanguageVersion %s – должен быть английский!\n"
-
-#~ msgid " **FAIL** Default option code cannot be interpreted: %s\n"
-#~ msgstr ""
-#~ " **FAIL** Не удается интерпретировать код параметра по умолчанию: "
-#~ "%s\n"
-
-#~ msgid ""
-#~ " **FAIL** Default translation string for option %s choice %s "
-#~ "contains 8-bit characters\n"
-#~ msgstr ""
-#~ "\t**FAIL** Стандартный перевод для параметра %s выбора %s содержит 8-"
-#~ "битовые символы\n"
-
-#~ msgid ""
-#~ " **FAIL** Default translation string for option %s choice %s "
-#~ "contains 8-bit characters!\n"
-#~ msgstr ""
-#~ " **FAIL** Стандартный перевод для параметра %s выбора %s содержит 8-"
-#~ "битовые символы!\n"
-
-#~ msgid ""
-#~ " **FAIL** Default translation string for option %s contains 8-bit "
-#~ "characters\n"
-#~ msgstr ""
-#~ "\t**FAIL** Стандартный перевод для параметра %s содержит 8-"
-#~ "битовыесимволы\n"
-
-#~ msgid ""
-#~ " **FAIL** Default translation string for option %s contains 8-bit "
-#~ "characters!\n"
-#~ msgstr ""
-#~ " **FAIL** Стандартный перевод для параметра %s содержит 8-битовые "
-#~ "символы!\n"
-
-#~ msgid " **FAIL** Group names %s and %s differ only by case\n"
-#~ msgstr ""
-#~ "\t**FAIL** Имена групп %s и %s отличаются только регистром символов\n"
-
-#~ msgid " **FAIL** Group names %s and %s differ only by case!\n"
-#~ msgstr ""
-#~ " **FAIL** Имена групп %s и %s различаются только регистром "
-#~ "символов!\n"
-
-#~ msgid " **FAIL** Multiple occurrences of %s choice name %s\n"
-#~ msgstr "\t**FAIL** Для выбора %s имя %s встречается несколько раз\n"
-
-#~ msgid " **FAIL** Multiple occurrences of %s choice name %s!\n"
-#~ msgstr " **FAIL** Для выбора %s имя %s встречается несколько раз!\n"
-
-#~ msgid " **FAIL** Option names %s and %s differ only by case\n"
-#~ msgstr ""
-#~ "\t**FAIL** Названия параметров %s и %s отличаются лишь регистром "
-#~ "символов\n"
-
-#~ msgid " **FAIL** Option names %s and %s differ only by case!\n"
-#~ msgstr ""
-#~ " **FAIL** Имена параметров %s и %s различаются только регистром "
-#~ "символов!\n"
-
-#~ msgid ""
-#~ " **FAIL** REQUIRED Default%s\n"
-#~ " REF: Page 40, section 4.5.\n"
-#~ msgstr ""
-#~ " **FAIL** ТРЕБУЕТСЯ Default%s\n"
-#~ " REF: Стр. 40, раздел 4.5.\n"
-
-#~ msgid ""
-#~ " **FAIL** REQUIRED DefaultImageableArea\n"
-#~ " REF: Page 102, section 5.15.\n"
-#~ msgstr ""
-#~ " **FAIL** ТРЕБУЕТСЯ DefaultImageableArea\n"
-#~ " REF: Стр. 102, раздел 5.15.\n"
-
-#~ msgid ""
-#~ " **FAIL** REQUIRED DefaultPaperDimension\n"
-#~ " REF: Page 103, section 5.15.\n"
-#~ msgstr ""
-#~ " **FAIL** ТРЕБУЕТСЯ DefaultPaperDimension\n"
-#~ " REF: Стр. 103, раздел 5.15.\n"
-
-#~ msgid ""
-#~ " **FAIL** REQUIRED FileVersion\n"
-#~ " REF: Page 56, section 5.3.\n"
-#~ msgstr ""
-#~ " **FAIL** ТРЕБУЕТСЯ FileVersion\n"
-#~ " REF: Стр. 56, раздел 5.3.\n"
-
-#~ msgid ""
-#~ " **FAIL** REQUIRED FormatVersion\n"
-#~ " REF: Page 56, section 5.3.\n"
-#~ msgstr ""
-#~ " **FAIL** ТРЕБУЕТСЯ FormatVersion\n"
-#~ " REF: Стр. 56, раздел 5.3.\n"
-
-#~ msgid ""
-#~ " **FAIL** REQUIRED ImageableArea for PageSize %s\n"
-#~ " REF: Page 41, section 5.\n"
-#~ " REF: Page 102, section 5.15.\n"
-#~ msgstr ""
-#~ " **FAIL** ТРЕБУЕТСЯ ImageableArea для PageSize %s\n"
-#~ " REF: Стр. 41, раздел 5.\n"
-#~ " REF: Стр. 102, раздел 5.15.\n"
-
-#~ msgid ""
-#~ " **FAIL** REQUIRED LanguageEncoding\n"
-#~ " REF: Pages 56-57, section 5.3.\n"
-#~ msgstr ""
-#~ " **FAIL** ТРЕБУЕТСЯ LanguageEncoding\n"
-#~ " REF: Стр. 56-57, раздел 5.3.\n"
-
-#~ msgid ""
-#~ " **FAIL** REQUIRED LanguageVersion\n"
-#~ " REF: Pages 57-58, section 5.3.\n"
-#~ msgstr ""
-#~ " **FAIL** ТРЕБУЕТСЯ LanguageVersion\n"
-#~ " REF: Стр. 57-58, раздел 5.3.\n"
-
-#~ msgid ""
-#~ " **FAIL** REQUIRED Manufacturer\n"
-#~ " REF: Pages 58-59, section 5.3.\n"
-#~ msgstr ""
-#~ " **FAIL** ТРЕБУЕТСЯ Manufacturer\n"
-#~ " REF: Стр. 58-59, раздел 5.3.\n"
-
-#~ msgid ""
-#~ " **FAIL** REQUIRED ModelName\n"
-#~ " REF: Pages 59-60, section 5.3.\n"
-#~ msgstr ""
-#~ " **FAIL** ТРЕБУЕТСЯ ModelName\n"
-#~ " REF: Стр. 59-60, раздел 5.3.\n"
-
-#~ msgid ""
-#~ " **FAIL** REQUIRED NickName\n"
-#~ " REF: Page 60, section 5.3.\n"
-#~ msgstr ""
-#~ " **FAIL** ТРЕБУЕТСЯ NickName\n"
-#~ " REF: Стр. 60, раздел 5.3.\n"
-
-#~ msgid ""
-#~ " **FAIL** REQUIRED PCFileName\n"
-#~ " REF: Pages 61-62, section 5.3.\n"
-#~ msgstr ""
-#~ " **FAIL** ТРЕБУЕТСЯ PCFileName\n"
-#~ " REF: Стр. 61-62, раздел 5.3.\n"
-
-#~ msgid ""
-#~ " **FAIL** REQUIRED PSVersion\n"
-#~ " REF: Pages 62-64, section 5.3.\n"
-#~ msgstr ""
-#~ " **FAIL** ТРЕБУЕТСЯ PSVersion\n"
-#~ " REF: Стр. 62-64, раздел 5.3.\n"
-
-#~ msgid ""
-#~ " **FAIL** REQUIRED PageRegion\n"
-#~ " REF: Page 100, section 5.14.\n"
-#~ msgstr ""
-#~ " **FAIL** ТРЕБУЕТСЯ PageRegion\n"
-#~ " REF: Стр. 100, раздел 5.14.\n"
-
-#~ msgid ""
-#~ " **FAIL** REQUIRED PageSize\n"
-#~ " REF: Page 41, section 5.\n"
-#~ " REF: Page 99, section 5.14.\n"
-#~ msgstr ""
-#~ " **FAIL** ТРЕБУЕТСЯ PageSize\n"
-#~ " REF: Стр. 41, раздел 5.\n"
-#~ " REF: Стр. 99, раздел 5.14.\n"
-
-#~ msgid ""
-#~ " **FAIL** REQUIRED PageSize\n"
-#~ " REF: Pages 99-100, section 5.14.\n"
-#~ msgstr ""
-#~ " **FAIL** ТРЕБУЕТСЯ PageSize\n"
-#~ " REF: Стр. 99-100, раздел 5.14.\n"
-
-#~ msgid ""
-#~ " **FAIL** REQUIRED PaperDimension for PageSize %s\n"
-#~ " REF: Page 41, section 5.\n"
-#~ " REF: Page 103, section 5.15.\n"
-#~ msgstr ""
-#~ " **FAIL** ТРЕБУЕТСЯ PaperDimension для PageSize %s\n"
-#~ " REF: Стр. 41, раздел 5.\n"
-#~ " REF: Стр. 103, раздел 5.15.\n"
-
-#~ msgid ""
-#~ " **FAIL** REQUIRED Product\n"
-#~ " REF: Page 62, section 5.3.\n"
-#~ msgstr ""
-#~ " **FAIL** ТРЕБУЕТСЯ Product\n"
-#~ " REF: Стр. 62, раздел 5.3.\n"
-
-#~ msgid ""
-#~ " **FAIL** REQUIRED ShortNickName\n"
-#~ " REF: Page 64-65, section 5.3.\n"
-#~ msgstr ""
-#~ " **FAIL** ТРЕБУЕТСЯ ShortNickName\n"
-#~ " REF: Стр. 64-65, раздел 5.3.\n"
-
-#~ msgid " %d ERRORS FOUND\n"
-#~ msgstr " ОБНАРУЖЕНО ОШИБОК: %d\n"
-
-#~ msgid ""
-#~ " Bad %%%%BoundingBox: on line %d\n"
-#~ " REF: Page 39, %%%%BoundingBox:\n"
-#~ msgstr ""
-#~ " Неверный %%%%BoundingBox: в строке %d\n"
-#~ "\t REF: Стр. 39, %%%%BoundingBox:\n"
-
-#~ msgid ""
-#~ " Bad %%%%BoundingBox: on line %d!\n"
-#~ " REF: Page 39, %%%%BoundingBox:\n"
-#~ msgstr ""
-#~ " Неверный %%%%BoundingBox: в строке %d!\n"
-#~ " REF: Стр. 39, %%%%BoundingBox:\n"
-
-#~ msgid ""
-#~ " Bad %%%%Page: on line %d\n"
-#~ " REF: Page 53, %%%%Page:\n"
-#~ msgstr ""
-#~ " Неверная %%%%Page: в строке %d\n"
-#~ "\t REF: Стр. 53, %%%%Page:\n"
-
-#~ msgid ""
-#~ " Bad %%%%Page: on line %d!\n"
-#~ " REF: Page 53, %%%%Page:\n"
-#~ msgstr ""
-#~ " Неверная %%%%Page: в строке %d!\n"
-#~ " REF: Стр. 53, %%%%Page:\n"
-
-#~ msgid ""
-#~ " Bad %%%%Pages: on line %d\n"
-#~ " REF: Page 43, %%%%Pages:\n"
-#~ msgstr ""
-#~ " Неверные %%%%Pages: в строке %d\n"
-#~ "\t REF: Стр. 43, %%%%Pages:\n"
-
-#~ msgid ""
-#~ " Bad %%%%Pages: on line %d!\n"
-#~ " REF: Page 43, %%%%Pages:\n"
-#~ msgstr ""
-#~ " Неверные %%%%Pages: в строке %d!\n"
-#~ " REF: Стр. 43, %%%%Pages:\n"
-
-#~ msgid ""
-#~ " Line %d is longer than 255 characters (%d)\n"
-#~ " REF: Page 25, Line Length\n"
-#~ msgstr ""
-#~ "\tДлина строки %d больше 255 символов (%d)\n"
-#~ "\t REF: Стр. 25, Длина строки \n"
-
-#~ msgid ""
-#~ " Line %d is longer than 255 characters (%d)!\n"
-#~ " REF: Page 25, Line Length\n"
-#~ msgstr ""
-#~ " Строка %d длиннее 255 символов (%d)!\n"
-#~ " REF: Стр. 25, Длина строки\n"
-
-#~ msgid ""
-#~ " Missing %!PS-Adobe-3.0 on first line\n"
-#~ " REF: Page 17, 3.1 Conforming Documents\n"
-#~ msgstr ""
-#~ " %!PS-Adobe-3.0 отсутствует в первой строке\n"
-#~ "\t REF: Стр. 17, 3.1 Соответствующие документы\n"
-
-#~ msgid ""
-#~ " Missing %!PS-Adobe-3.0 on first line!\n"
-#~ " REF: Page 17, 3.1 Conforming Documents\n"
-#~ msgstr ""
-#~ " %!PS-Adobe-3.0 отсутствует в первой строке!\n"
-#~ " REF: Стр. 17, 3.1 Соответствующие документы\n"
-
-#~ msgid ""
-#~ " Missing %%EndComments comment\n"
-#~ " REF: Page 41, %%EndComments\n"
-#~ msgstr ""
-#~ " Комментарий %%EndComments отсутствует\n"
-#~ "\t REF: Стр. 41, %%EndComments\n"
-
-#~ msgid ""
-#~ " Missing %%EndComments comment!\n"
-#~ " REF: Page 41, %%EndComments\n"
-#~ msgstr ""
-#~ " Комментарий %%EndComments отсутствует!\n"
-#~ " REF: Стр. 41, %%EndComments\n"
-
-#~ msgid ""
-#~ " Missing or bad %%BoundingBox: comment\n"
-#~ " REF: Page 39, %%BoundingBox:\n"
-#~ msgstr ""
-#~ " Отсутствует или неверный %%BoundingBox: комментарий\n"
-#~ "\t REF: Стр. 39, %%BoundingBox:\n"
-
-#~ msgid ""
-#~ " Missing or bad %%BoundingBox: comment!\n"
-#~ " REF: Page 39, %%BoundingBox:\n"
-#~ msgstr ""
-#~ " Отсутствующий или неверный %%BoundingBox: комментарий!\n"
-#~ " REF: Стр. 39, %%BoundingBox:\n"
-
-#~ msgid ""
-#~ " Missing or bad %%Page: comments\n"
-#~ " REF: Page 53, %%Page:\n"
-#~ msgstr ""
-#~ " Отсутствует или неверная %%Page: комментарий\n"
-#~ "\t REF: Стр. 53, %%Page:\n"
-
-#~ msgid ""
-#~ " Missing or bad %%Page: comments!\n"
-#~ " REF: Page 53, %%Page:\n"
-#~ msgstr ""
-#~ " Отсутствующая или неверная %%Page: комментарий!\n"
-#~ " REF: Стр. 53, %%Page:\n"
-
-#~ msgid ""
-#~ " Missing or bad %%Pages: comment\n"
-#~ " REF: Page 43, %%Pages:\n"
-#~ msgstr ""
-#~ " Отсутствуют или неверные %%Pages: комментарий\n"
-#~ "\t REF: Стр. 43, %%Pages:\n"
-
-#~ msgid ""
-#~ " Missing or bad %%Pages: comment!\n"
-#~ " REF: Page 43, %%Pages:\n"
-#~ msgstr ""
-#~ " Отсутствующие или неверные %%Pages: комментарий!\n"
-#~ " REF: Стр. 43, %%Pages:\n"
-
-#~ msgid " NO ERRORS FOUND\n"
-#~ msgstr " ОШИБОК НЕ ОБНАРУЖЕНО\n"
-
-#~ msgid " Saw %d lines that exceeded 255 characters\n"
-#~ msgstr "\tНайдено %d строк, длина которых превышает 255 символов\n"
-
-#~ msgid " Saw %d lines that exceeded 255 characters!\n"
-#~ msgstr " Обнаружено строк длиннее 255 символов: %d!\n"
-
-#~ msgid " Too many %%BeginDocument comments\n"
-#~ msgstr " Слишком много комментариев %%BeginDocument\n"
-
-#~ msgid " Too many %%BeginDocument comments!\n"
-#~ msgstr " Слишком много комментариев %%BeginDocument!\n"
-
-#~ msgid " Too many %%EndDocument comments\n"
-#~ msgstr " Слишком много комментариев %%EndDocument\n"
-
-#~ msgid " Too many %%EndDocument comments!\n"
-#~ msgstr " Слишком много комментариев %%EndDocument!\n"
-
-#~ msgid " Warning: file contains binary data\n"
-#~ msgstr " WARNING: файл содержит бинарные данные\n"
-
-#~ msgid " Warning: file contains binary data!\n"
-#~ msgstr " WARNING: файл содержит бинарные данные!\n"
-
-#~ msgid " Warning: no %%EndComments comment in file\n"
-#~ msgstr " WARNING: нет комментария %%EndComments в файле\n"
-
-#~ msgid " Warning: no %%EndComments comment in file!\n"
-#~ msgstr " WARNING: нет комментария %%EndComments в файле!\n"
-
-#~ msgid " Warning: obsolete DSC version %.1f in file\n"
-#~ msgstr " WARNING: устаревшая версия DSC %.1f в файле\n"
-
-#~ msgid " Warning: obsolete DSC version %.1f in file!\n"
-#~ msgstr " WARNING: устаревшая версия DSC %.1f в файле!\n"
-
-#~ msgid " FAIL\n"
-#~ msgstr " FAIL\n"
-
-#~ msgid ""
-#~ " FAIL\n"
-#~ " **FAIL** Unable to open PPD file - %s\n"
-#~ msgstr ""
-#~ " FAIL\n"
-#~ " **FAIL** Не удается открыть PPD-файл – %s\n"
-
-#~ msgid ""
-#~ " FAIL\n"
-#~ " **FAIL** Unable to open PPD file - %s on line %d.\n"
-#~ msgstr ""
-#~ " FAIL\n"
-#~ " **FAIL** Не удается открыть PPD-файл – %s в строке %d.\n"
-
-#~ msgid " PASS\n"
-#~ msgstr " PASS\n"
-
-#~ msgid "#10 Envelope"
-#~ msgstr "#10 Envelope"
-
-#~ msgid "#11 Envelope"
-#~ msgstr "#11 Envelope"
-
-#~ msgid "#12 Envelope"
-#~ msgstr "#12 Envelope"
-
-#~ msgid "#14 Envelope"
-#~ msgstr "#14 Envelope"
-
-#~ msgid "#9 Envelope"
-#~ msgstr "#9 Envelope"
-
-#~ msgid "%-6s %-10.10s %-4d %-10d %-27.27s %.0f bytes\n"
-#~ msgstr "%-6s %-10.10s %-4d %-10d %-27.27s %.0f байт\n"
-
-#~ msgid "%-7s %-7.7s %-7d %-31.31s %.0f bytes\n"
-#~ msgstr "%-7s %-7.7s %-7d %-31.31s %.0f байт\n"
-
-#~ msgid "%.0f x %.0f millimeters"
-#~ msgstr "%.0f x %.0f мм"
-
-#~ msgid "%.0f x %.0f to %.0f x %.0f millimeters"
-#~ msgstr "%.0f x %.0f — %.0f x %.0f мм"
-
-#~ msgid "%.2f x %.2f inches"
-#~ msgstr "%.2f x %.2f дюймов"
-
-#~ msgid "%.2f x %.2f to %.2f x %.2f inches"
-#~ msgstr "%.2f x %.2f-%.2f x %.2f дюймов"
-
-#~ msgid "%s accepting requests since %s\n"
-#~ msgstr "%s принимает запросы с момента %s\n"
-
-#~ msgid "%s is not implemented by the CUPS version of lpc.\n"
-#~ msgstr "%s не выполнено версией CUPS для lpc.\n"
-
-#~ msgid "%s is not ready\n"
-#~ msgstr "%s не готов\n"
-
-#~ msgid "%s is ready\n"
-#~ msgstr "%s готов\n"
-
-#~ msgid "%s is ready and printing\n"
-#~ msgstr "%s готов и печатает\n"
-
-#~ msgid ""
-#~ "%s not accepting requests since %s -\n"
-#~ "\t%s\n"
-#~ msgstr ""
-#~ "%s не принимает запросы с момента %s -\n"
-#~ "\t%s\n"
-
-#~ msgid "%s not supported"
-#~ msgstr "%s не поддерживается"
-
-#~ msgid "%s not supported!"
-#~ msgstr "%s не поддерживается!"
-
-#~ msgid "%s/%s accepting requests since %s\n"
-#~ msgstr "%s/%s принимает запросы с момента %s\n"
-
-#~ msgid ""
-#~ "%s/%s not accepting requests since %s -\n"
-#~ "\t%s\n"
-#~ msgstr ""
-#~ "%s/%s не принимает запросы с момента %s -\n"
-#~ "\t%s\n"
-
-#~ msgid "%s: %-33.33s [job %d localhost]\n"
-#~ msgstr "%s: %-33.33s [задание %d localhost]\n"
-
-#~ msgid "%s: %s failed: %s\n"
-#~ msgstr "%s: ошибка %s: %s\n"
-
-#~ msgid "%s: Don't know what to do\n"
-#~ msgstr "%s: Дальнейшие действия неизвестны\n"
-
-#~ msgid "%s: Don't know what to do!\n"
-#~ msgstr "%s: Дальнейшие действия неизвестны!\n"
-
-#~ msgid ""
-#~ "%s: Error - %s environment variable names non-existent destination \"%s"
-#~ "\"\n"
-#~ msgstr ""
-#~ "%s: Ошибка - %s переменная окружения указывает на несуществующее "
-#~ "назначение \"%s\"\n"
-
-#~ msgid ""
-#~ "%s: Error - %s environment variable names non-existent destination \"%s"
-#~ "\"!\n"
-#~ msgstr ""
-#~ "%s: Ошибка – %s переменная окружения указывает несуществующее назначение "
-#~ "«%s»!\n"
-
-#~ msgid "%s: Error - bad job ID\n"
-#~ msgstr "%s: Ошибка - неверный ID задания\n"
-
-#~ msgid "%s: Error - bad job ID!\n"
-#~ msgstr "%s: Ошибка – неверный ID задания!\n"
-
-#~ msgid "%s: Error - cannot print files and alter jobs simultaneously\n"
-#~ msgstr ""
-#~ "%s: Ошибка - невозможно печатать файлы и редактировать задания "
-#~ "одновременно\n"
-
-#~ msgid "%s: Error - cannot print files and alter jobs simultaneously!\n"
-#~ msgstr ""
-#~ "%s: Ошибка – невозможно одновременно печатать файлы и изменять задания!\n"
-
-#~ msgid ""
-#~ "%s: Error - cannot print from stdin if files or a job ID are provided\n"
-#~ msgstr ""
-#~ "%s: Ошибка - не удается печать из stdin, если предоставлены файлы или ID "
-#~ "задания\n"
-
-#~ msgid ""
-#~ "%s: Error - cannot print from stdin if files or a job ID are provided!\n"
-#~ msgstr ""
-#~ "%s: Ошибка – не удается печатать из stdin, если предоставлены файлы или "
-#~ "ID задания!\n"
-
-#~ msgid "%s: Error - expected character set after '-S' option\n"
-#~ msgstr "%s: Ошибка - после параметра '-S' должен идти набор символов\n"
-
-#~ msgid "%s: Error - expected character set after '-S' option!\n"
-#~ msgstr "%s: Ошибка – после параметра «-S» должен идти набор символов!\n"
-
-#~ msgid "%s: Error - expected content type after '-T' option\n"
-#~ msgstr "%s: Ошибка - после параметра '-T' должен быть указан тип контента\n"
-
-#~ msgid "%s: Error - expected content type after '-T' option!\n"
-#~ msgstr ""
-#~ "%s: Ошибка – после параметра «-T» должен быть указан тип контента!\n"
-
-#~ msgid "%s: Error - expected copies after '-n' option\n"
-#~ msgstr ""
-#~ "%s: Ошибка - после параметра '-n' должно быть указано количество копий\n"
-
-#~ msgid "%s: Error - expected copies after '-n' option!\n"
-#~ msgstr ""
-#~ "%s: Ошибка – после параметра «-n» должно быть указано количество копий!\n"
-
-#~ msgid "%s: Error - expected copy count after '-#' option\n"
-#~ msgstr "%s: Ошибка - после параметра '-#' должен быть указан номер копии\n"
-
-#~ msgid "%s: Error - expected copy count after '-#' option!\n"
-#~ msgstr "%s: Ошибка – после параметра «-#» должен быть указан номер копии!\n"
-
-#~ msgid "%s: Error - expected destination after '-P' option\n"
-#~ msgstr "%s: Ошибка - после параметра '-P' должно быть указано назначение\n"
-
-#~ msgid "%s: Error - expected destination after '-P' option!\n"
-#~ msgstr "%s: Ошибка – после параметра «-P» должно быть указано назначение!\n"
-
-#~ msgid "%s: Error - expected destination after '-b' option\n"
-#~ msgstr "%s: Ошибка - после параметра '-b' должно быть указано назначение\n"
-
-#~ msgid "%s: Error - expected destination after '-b' option!\n"
-#~ msgstr "%s: Ошибка – после параметра «-b» должно быть указано назначение!\n"
-
-#~ msgid "%s: Error - expected destination after '-d' option\n"
-#~ msgstr "%s: Ошибка - после параметра '-d' должно быть указано назначение\n"
-
-#~ msgid "%s: Error - expected destination after '-d' option!\n"
-#~ msgstr "%s: Ошибка – после параметра «-d» должно быть указано назначение!\n"
-
-#~ msgid "%s: Error - expected form after '-f' option\n"
-#~ msgstr "%s: Ошибка - после параметра '-f' должна быть указана форма\n"
-
-#~ msgid "%s: Error - expected form after '-f' option!\n"
-#~ msgstr "%s: Ошибка – после параметра «-f» должна быть указана форма!\n"
-
-#~ msgid "%s: Error - expected hold name after '-H' option\n"
-#~ msgstr "%s: Ошибка - после параметра '-H' должно быть указано имя хоста\n"
-
-#~ msgid "%s: Error - expected hold name after '-H' option!\n"
-#~ msgstr "%s: Ошибка – после параметра «-H» должно быть указано имя хоста!\n"
-
-#~ msgid "%s: Error - expected hostname after '-H' option\n"
-#~ msgstr "%s: Ошибка - после параметра '-H' должно быть указано имя хоста\n"
-
-#~ msgid "%s: Error - expected hostname after '-H' option!\n"
-#~ msgstr "%s: Ошибка – после параметра «-H» должно быть указано имя хоста!\n"
-
-#~ msgid "%s: Error - expected hostname after '-h' option\n"
-#~ msgstr "%s: Ошибка - после параметра '-h' должно быть указано имя хоста\n"
-
-#~ msgid "%s: Error - expected hostname after '-h' option!\n"
-#~ msgstr "%s: Ошибка – после параметра «-h» должно быть указано имя хоста!\n"
-
-#~ msgid "%s: Error - expected mode list after '-y' option\n"
-#~ msgstr ""
-#~ "%s: Ошибка - после параметра '-y' должен быть указан список режимов\n"
-
-#~ msgid "%s: Error - expected mode list after '-y' option!\n"
-#~ msgstr ""
-#~ "%s: Ошибка – после параметра «-y» должен быть указан список режимов!\n"
-
-#~ msgid "%s: Error - expected name after '-%c' option\n"
-#~ msgstr "%s: Ошибка - после параметра '-%c' должно быть указано имя\n"
-
-#~ msgid "%s: Error - expected name after '-%c' option!\n"
-#~ msgstr "%s: Ошибка – после параметра «-%c» должно быть указано имя!\n"
-
-#~ msgid "%s: Error - expected option string after '-o' option\n"
-#~ msgstr ""
-#~ "%s: Ошибка - после параметра '-o' должна быть указана строка параметра\n"
-
-#~ msgid "%s: Error - expected option string after '-o' option!\n"
-#~ msgstr ""
-#~ "%s: Ошибка – после параметра «-o» должна быть указана строка параметра!\n"
-
-#~ msgid "%s: Error - expected page list after '-P' option\n"
-#~ msgstr "%s: Ошибка - после параметра '-H' должно быть указано имя хоста\n"
-
-#~ msgid "%s: Error - expected page list after '-P' option!\n"
-#~ msgstr "%s: Ошибка – после параметра «-P» должен идти список страниц!\n"
-
-#~ msgid "%s: Error - expected priority after '-%c' option\n"
-#~ msgstr "%s: Ошибка - после параметра '-%c' должен быть указан приоритет\n"
-
-#~ msgid "%s: Error - expected priority after '-%c' option!\n"
-#~ msgstr "%s: Ошибка – после параметра «-%c» должен быть указан приоритет!\n"
-
-#~ msgid "%s: Error - expected reason text after '-r' option\n"
-#~ msgstr "%s: Ошибка - после параметра '-r' должен идти текст причины\n"
-
-#~ msgid "%s: Error - expected reason text after '-r' option!\n"
-#~ msgstr "%s: Ошибка – после параметра «-r» должен идти текст причины!\n"
-
-#~ msgid "%s: Error - expected title after '-t' option\n"
-#~ msgstr "%s: Ошибка - после параметра '-t' должен быть указан заголовок\n"
-
-#~ msgid "%s: Error - expected title after '-t' option!\n"
-#~ msgstr "%s: Ошибка – после параметра «-t» должен быть указан заголовок!\n"
-
-#~ msgid "%s: Error - expected username after '-U' option\n"
-#~ msgstr ""
-#~ "%s: Ошибка - после параметра '-U'должно быть указано имя пользователя\n"
-
-#~ msgid "%s: Error - expected username after '-U' option!\n"
-#~ msgstr ""
-#~ "%s: Ошибка – после параметра «-U» должно быть указано имя пользователя!\n"
-
-#~ msgid "%s: Error - expected username after '-U' option!n"
-#~ msgstr ""
-#~ "%s: Ошибка - после параметра '-U'должно быть указано имя пользователя\n"
-
-#~ msgid "%s: Error - expected username after '-u' option\n"
-#~ msgstr ""
-#~ "%s: Ошибка - после параметра '-u'должно быть указано имя пользователя\n"
-
-#~ msgid "%s: Error - expected username after '-u' option!\n"
-#~ msgstr ""
-#~ "%s: Ошибка – после параметра «-u» должно быть указано имя пользователя!\n"
-
-#~ msgid "%s: Error - expected value after '-%c' option\n"
-#~ msgstr "%s: Ошибка - после параметра '-%c'должно быть указано значение\n"
-
-#~ msgid "%s: Error - expected value after '-%c' option!\n"
-#~ msgstr "%s: Ошибка – после параметра «-%c» должно быть указано значение!\n"
-
-#~ msgid ""
-#~ "%s: Error - need \"completed\", \"not-completed\", or \"all\" after '-W' "
-#~ "option\n"
-#~ msgstr ""
-#~ "%s: Ошибка - требуется \"завершено\",\"не завершено\" или \"все\" после "
-#~ "параметра '-W'\n"
-
-#~ msgid ""
-#~ "%s: Error - need \"completed\", \"not-completed\", or \"all\" after '-W' "
-#~ "option!\n"
-#~ msgstr ""
-#~ "%s: Ошибка – требуется «завершено», «не завершено» или «все» после "
-#~ "параметра «-W»!\n"
-
-#~ msgid "%s: Error - no default destination available.\n"
-#~ msgstr "%s: Ошибка – нет доступного назначения по умолчанию.\n"
-
-#~ msgid "%s: Error - priority must be between 1 and 100.\n"
-#~ msgstr "%s: Ошибка – приоритет должен быть от 1 до 100.\n"
-
-#~ msgid "%s: Error - scheduler not responding\n"
-#~ msgstr "%s: Ошибка - планировщик не отвечает\n"
-
-#~ msgid "%s: Error - scheduler not responding!\n"
-#~ msgstr "%s: Ошибка – планировщик не отвечает!\n"
-
-#~ msgid "%s: Error - too many files - \"%s\"\n"
-#~ msgstr "%s: Ошибка – слишком много файлов – «%s»\n"
-
-#~ msgid "%s: Error - unable to access \"%s\" - %s\n"
-#~ msgstr "%s: Ошибка – не удается получить доступ к «%s» – %s\n"
-
-#~ msgid "%s: Error - unable to queue from stdin - %s\n"
-#~ msgstr "%s: Ошибка – не удается поставить в очередь из stdin - %s\n"
-
-#~ msgid "%s: Error - unknown destination \"%s\"\n"
-#~ msgstr "%s: Ошибка - неизвестное назначение \"%s\"\n"
-
-#~ msgid "%s: Error - unknown destination \"%s\"!\n"
-#~ msgstr "%s: Ошибка – неизвестное назначение «%s»!\n"
-
-#~ msgid "%s: Error - unknown destination \"%s/%s\"\n"
-#~ msgstr "%s: ошибка - неизвестное назначение \"%s/%s\"\n"
-
-#~ msgid "%s: Error - unknown destination \"%s/%s\"!\n"
-#~ msgstr "%s: Ошибка – неизвестное назначение «%s/%s»!\n"
-
-#~ msgid "%s: Error - unknown option '%c'\n"
-#~ msgstr "%s: Ошибка - неизвестный параметр '%c'\n"
-
-#~ msgid "%s: Error - unknown option '%c'!\n"
-#~ msgstr "%s: Ошибка – неизвестный параметр «%c»!\n"
-
-#~ msgid "%s: Error - unknown option '%s'\n"
-#~ msgstr "%s: Ошибка - неизвестный параметр '%s'\n"
-
-#~ msgid "%s: Error - unknown option '%s'!\n"
-#~ msgstr "%s: Ошибка – неизвестный параметр «%s»!\n"
-
-#~ msgid "%s: Expected job ID after '-i' option\n"
-#~ msgstr "%s: Ожидается ID задания после параметра '-i'\n"
-
-#~ msgid "%s: Expected job ID after '-i' option!\n"
-#~ msgstr "%s: После параметра «-i» должен быть указан ID задания!\n"
-
-#~ msgid "%s: Filter \"%s\" not available: %s\n"
-#~ msgstr "%s: Фильтр «%s» недоступен: %s\n"
-
-#~ msgid "%s: Invalid destination name in list \"%s\"\n"
-#~ msgstr "%s: Недопустимое имя назначения в списке \"%s\"\n"
-
-#~ msgid "%s: Invalid destination name in list \"%s\"!\n"
-#~ msgstr "%s: Неверное имя назначения в списке «%s»!\n"
-
-#~ msgid "%s: Invalid filter string \"%s\"\n"
-#~ msgstr "%s: Неверная строка фильтра «%s»\n"
-
-#~ msgid "%s: Need job ID ('-i jobid') before '-H restart'\n"
-#~ msgstr "%s: Необходимо указать ID задания ('-i jobid') перед '-H restart'\n"
-
-#~ msgid "%s: Need job ID ('-i jobid') before '-H restart'!\n"
-#~ msgstr "%s: Требуется ID задания («-i jobid») перед «-H restart»!\n"
-
-#~ msgid "%s: No filter to convert from %s/%s to %s/%s\n"
-#~ msgstr ""
-#~ "%s: Отсутствует фильтр, необходимый для преобразования из %s/%s в %s/%s\n"
-
-#~ msgid "%s: No filter to convert from %s/%s to %s/%s!\n"
-#~ msgstr "%s: Нет фильтра для преобразования из %s/%s в %s/%s!\n"
-
-#~ msgid "%s: Operation failed: %s\n"
-#~ msgstr "%s: Операция не удалась: %s\n"
-
-#~ msgid "%s: Sorry, no encryption support compiled in\n"
-#~ msgstr "%s: Нет скомпилированной поддержки шифрования\n"
-
-#~ msgid "%s: Sorry, no encryption support compiled in!\n"
-#~ msgstr "%s: Нет скомпилированной поддержки шифрования!\n"
-
-#~ msgid "%s: Unable to connect to server\n"
-#~ msgstr "%s: Не удается подключиться к серверу\n"
-
-#~ msgid "%s: Unable to contact server\n"
-#~ msgstr "%s: Не удается установить связь с сервером\n"
-
-#~ msgid "%s: Unable to contact server!\n"
-#~ msgstr "%s: Не удается установить связь с сервером!\n"
-
-#~ msgid "%s: Unable to determine MIME type of \"%s\"\n"
-#~ msgstr "%s: Не удается определить тип MIME \"%s\"\n"
-
-#~ msgid "%s: Unable to determine MIME type of \"%s\"!\n"
-#~ msgstr "%s: Не удается определить тип MIME «%s»!\n"
-
-#~ msgid "%s: Unable to open %s - %s\n"
-#~ msgstr "%s: Не удается открыть %s – %s\n"
-
-#~ msgid "%s: Unable to open %s - %s on line %d.\n"
-#~ msgstr "%s: Не удается открыть %s – %s в строке %d.\n"
-
-#~ msgid "%s: Unable to open %s: %s\n"
-#~ msgstr "%s: Не удается открыть %s: %s\n"
-
-#~ msgid "%s: Unable to open PPD file: %s on line %d\n"
-#~ msgstr "%s: Не удается открыть PPD-файл: %s в строке %d.\n"
-
-#~ msgid "%s: Unable to open PPD file: %s on line %d.\n"
-#~ msgstr "%s: Не удается открыть PPD файл: %s в строке %d.\n"
-
-#~ msgid "%s: Unable to read MIME database from \"%s\" or \"%s\"\n"
-#~ msgstr "%s: Не удается прочитать базу данных MIME из \"%s\" или \"%s\"\n"
-
-#~ msgid "%s: Unable to read MIME database from \"%s\" or \"%s\"!\n"
-#~ msgstr "%s: Не удается прочитать базу данных MIME в «%s» или «%s»!\n"
-
-#~ msgid "%s: Unknown destination \"%s\"\n"
-#~ msgstr "%s: Неизвестное назначение \"%s\"\n"
-
-#~ msgid "%s: Unknown destination \"%s\"!\n"
-#~ msgstr "%s: Неизвестное назначение «%s»!\n"
-
-#~ msgid "%s: Unknown destination MIME type %s/%s\n"
-#~ msgstr "%s: Неизвестный MIME-тип назначения %s/%s\n"
-
-#~ msgid "%s: Unknown destination MIME type %s/%s!\n"
-#~ msgstr "%s: Неизвестный MIME-тип назначения %s/%s!\n"
-
-#~ msgid "%s: Unknown option '%c'\n"
-#~ msgstr "%s: Неизвестный параметр '%c'\n"
-
-#~ msgid "%s: Unknown option '%c'!\n"
-#~ msgstr "%s: Неизвестный параметр «%c»!\n"
-
-#~ msgid "%s: Unknown source MIME type %s/%s\n"
-#~ msgstr "%s: Неизвестный MIME-тип источника %s/%s\n"
-
-#~ msgid "%s: Unknown source MIME type %s/%s!\n"
-#~ msgstr "%s: Неизвестный MIME-тип источника %s/%s!\n"
-
-#~ msgid ""
-#~ "%s: Warning - '%c' format modifier not supported - output may not be "
-#~ "correct\n"
-#~ msgstr ""
-#~ "%s: Внимание - модификатор формата '%c' не поддерживается - вывод может "
-#~ "быть неправильным\n"
-
-#~ msgid ""
-#~ "%s: Warning - '%c' format modifier not supported - output may not be "
-#~ "correct!\n"
-#~ msgstr ""
-#~ "%s: Внимание – модификатор формата «%c» не поддерживается – вывод может "
-#~ "быть неправильным!\n"
-
-#~ msgid "%s: Warning - character set option ignored\n"
-#~ msgstr "%s: Внимание - параметр набора символов пропущен\n"
-
-#~ msgid "%s: Warning - character set option ignored!\n"
-#~ msgstr "%s: Внимание – параметр набора символов пропущен!\n"
-
-#~ msgid "%s: Warning - content type option ignored\n"
-#~ msgstr "%s: Внимание - параметр типа контента пропущен\n"
-
-#~ msgid "%s: Warning - content type option ignored!\n"
-#~ msgstr "%s: Внимание – параметр типа контента пропущен!\n"
-
-#~ msgid "%s: Warning - form option ignored\n"
-#~ msgstr "%s: Внимание - параметр формы пропущен\n"
-
-#~ msgid "%s: Warning - form option ignored!\n"
-#~ msgstr "%s: Внимание – параметр формы пропущен!\n"
-
-#~ msgid "%s: Warning - mode option ignored\n"
-#~ msgstr "%s: Внимание - параметр режима пропущен\n"
-
-#~ msgid "%s: Warning - mode option ignored!\n"
-#~ msgstr "%s: Внимание – параметр режима пропущен!\n"
-
-#~ msgid ""
-#~ "%s: error - %s environment variable names non-existent destination \"%s"
-#~ "\"\n"
-#~ msgstr ""
-#~ "%s: ошибка - переменная окружения %s указывает на несуществующее значение "
-#~ "\"%s\"\n"
-
-#~ msgid ""
-#~ "%s: error - %s environment variable names non-existent destination \"%s"
-#~ "\"!\n"
-#~ msgstr ""
-#~ "%s: ошибка – переменная окружения %s указывает несуществующее назначение "
-#~ "«%s»!\n"
-
-#~ msgid "%s: error - expected option=value after '-o' option\n"
-#~ msgstr ""
-#~ "%s: ошибка - после параметра '-o' должна идти запись вида option=value\n"
-
-#~ msgid "%s: error - expected option=value after '-o' option!\n"
-#~ msgstr ""
-#~ "%s: ошибка – после параметра «-o» должна идти запись вида option=value!\n"
-
-#~ msgid "%s: error - no default destination available.\n"
-#~ msgstr "%s: ошибка – нет доступного назначения по умолчанию.\n"
-
-#~ msgid "10 x 11\""
-#~ msgstr "10 x 11\""
-
-#~ msgid "10 x 13\""
-#~ msgstr "10 x 13\""
-
-#~ msgid "10 x 14\""
-#~ msgstr "10 x 14\""
-
-#~ msgid "12 x 11\""
-#~ msgstr "12 x 11\""
-
-#~ msgid "15 x 11\""
-#~ msgstr "15 x 11\""
-
-#~ msgid "3.5\" Disk - 2 1/8 x 2 3/4\""
-#~ msgstr "Диск 3.5\" - 2 1/8 x 2 3/4\""
-
-#~ msgid "600 DPI Grayscale"
-#~ msgstr "600dpi, оттенки серого"
-
-#~ msgid "60x720dpi"
-#~ msgstr "60x720dpi"
-
-#~ msgid "7 x 9\""
-#~ msgstr "7 x 9\""
-
-#~ msgid "720dpi"
-#~ msgstr "720dpi"
-
-#~ msgid "8 x 10\""
-#~ msgstr "8 x 10\""
-
-#~ msgid "9 x 11\""
-#~ msgstr "9 x 11\""
-
-#~ msgid "9 x 12\""
-#~ msgstr "9 x 12\""
-
-#~ msgid "?Invalid help command unknown\n"
-#~ msgstr "?Неверная команда справки неизвестна\n"
-
-#~ msgid "A Samba password is required to export printer drivers!"
-#~ msgstr "Для экспорта драйверов принтера требуется пароль Samba!"
-
-#~ msgid "A Samba username is required to export printer drivers!"
-#~ msgstr "Для экспорта драйверов принтера требуется имя пользователя Samba!"
-
-#~ msgid "A class named \"%s\" already exists"
-#~ msgstr "Класс с именем \"%s\" уже существует"
-
-#~ msgid "A class named \"%s\" already exists!"
-#~ msgstr "Класс с именем «%s» уже существует!"
-
-#~ msgid "A printer named \"%s\" already exists"
-#~ msgstr "Принтер с именем \"%s\" уже существует"
-
-#~ msgid "A printer named \"%s\" already exists!"
-#~ msgstr "Принтер с именем «%s» уже существует!"
-
-#~ msgid "A3 (Oversize)"
-#~ msgstr "A3 (расширенный)"
-
-#~ msgid "A4 (Oversize)"
-#~ msgstr "A4 (расширенный)"
-
-#~ msgid "A4 (Small)"
-#~ msgstr "A4 (уменьшенный)"
-
-#~ msgid "A5 (Oversize)"
-#~ msgstr "A5 (расширенный)"
-
-#~ msgid "ARCH A"
-#~ msgstr "ARCH A"
-
-#~ msgid "ARCH B"
-#~ msgstr "ARCH B"
-
-#~ msgid "Address - 1 1/8 x 3 1/2\""
-#~ msgstr "Адрес - 1 1/8 x 3 1/2\""
-
-#~ msgid "Attempt to set %s printer-state to bad value %d"
-#~ msgstr "Попытка установить %s printer-state на неверное значение %d"
-
-#~ msgid "Attempt to set %s printer-state to bad value %d!"
-#~ msgstr "Попытка установить %s printer-state на неверное значение %d!"
-
-#~ msgid "Attribute groups are out of order (%x < %x)"
-#~ msgstr "Группы атрибутов не действуют (%x < %x)"
-
-#~ msgid "Attribute groups are out of order (%x < %x)!"
-#~ msgstr "Группы атрибутов не действуют (%x < %x)!"
-
-#~ msgid "Bad device URI \"%s\"\n"
-#~ msgstr "Неверный URI устройства \"%s\"\n"
-
-#~ msgid "Bad device URI \"%s\"!\n"
-#~ msgstr "Неверный URI устройства «%s»!\n"
-
-#~ msgid "Bad device-uri \"%s\""
-#~ msgstr "Неверное значение device-uri \"%s\""
-
-#~ msgid "Bad device-uri \"%s\"!"
-#~ msgstr "Неверное значение device-uri «%s»!"
-
-#~ msgid "Bad device-uri scheme \"%s\""
-#~ msgstr "Неверная схема device-uri \"%s\""
-
-#~ msgid "Bad device-uri scheme \"%s\"!"
-#~ msgstr "Неверная схема device-uri «%s»!"
-
-#~ msgid "Bad document-format \"%s\""
-#~ msgstr "Неверное значение document-format \"%s\""
-
-#~ msgid "Bad document-format \"%s\"!"
-#~ msgstr "Неверное значение document-format «%s»!"
-
-#~ msgid "Bad filename buffer!"
-#~ msgstr "Ошибка в буфере filename!"
-
-#~ msgid "Bad font attribute: %s\n"
-#~ msgstr "Неверный атрибут шрифта: %s\n"
-
-#~ msgid "Bad job-priority value"
-#~ msgstr "Неверное значение job-priority"
-
-#~ msgid "Bad job-priority value!"
-#~ msgstr "Неверное значение job-priority!"
-
-#~ msgid "Bad job-sheets value \"%s\""
-#~ msgstr "Неверное значение job-sheets \"%s\""
-
-#~ msgid "Bad job-sheets value \"%s\"!"
-#~ msgstr "Неверное значение job-sheets «%s»!"
-
-#~ msgid "Bad job-sheets value type"
-#~ msgstr "Неверный тип значения job-sheets"
-
-#~ msgid "Bad job-sheets value type!"
-#~ msgstr "Неверный тип значения job-sheets!"
-
-#~ msgid "Bad job-state value"
-#~ msgstr "Неверное значение job-state"
-
-#~ msgid "Bad job-state value!"
-#~ msgstr "Неверное значение job-state!"
-
-#~ msgid "Bad job-uri attribute \"%s\""
-#~ msgstr "Неверный атрибут job-uri \"%s\""
-
-#~ msgid "Bad job-uri attribute \"%s\"!"
-#~ msgstr "Неверный атрибут job-uri «%s»!"
-
-#~ msgid "Bad notify-pull-method \"%s\""
-#~ msgstr "Неверное значение notify-pull-method \"%s\""
-
-#~ msgid "Bad notify-pull-method \"%s\"!"
-#~ msgstr "Неверное значение notify-pull-method «%s»!"
-
-#~ msgid "Bad notify-recipient-uri URI \"%s\""
-#~ msgstr "Неверный URI notify-recipient-uri \"%s\""
-
-#~ msgid "Bad notify-recipient-uri URI \"%s\"!"
-#~ msgstr "Неверный URI notify-recipient-uri «%s»!"
-
-#~ msgid "Bad option + choice on line %d"
-#~ msgstr "Неверный параметр + выбор в строке %d"
-
-#~ msgid "Bad option + choice on line %d!"
-#~ msgstr "Неверный параметр + выбор в строке %d!"
-
-#~ msgid "Bad port-monitor \"%s\""
-#~ msgstr "Неверное значение port-monitor \"%s\""
-
-#~ msgid "Bad port-monitor \"%s\"!"
-#~ msgstr "Неверное значение port-monitor «%s»!"
-
-#~ msgid "Bad printer-state value %d"
-#~ msgstr "Неверное значение printer-state %d"
-
-#~ msgid "Bad printer-state value %d!"
-#~ msgstr "Неверное значение printer-state %d!"
-
-#~ msgid "Bad request ID %d"
-#~ msgstr "Неверный ID запроса %d"
-
-#~ msgid "Bad request version number %d.%d"
-#~ msgstr "Неверный номер версии запроса %d.%d"
-
-#~ msgid "Bad request version number %d.%d!"
-#~ msgstr "Неверный номер версии запроса %d.%d!"
-
-#~ msgid "Bad subscription ID!"
-#~ msgstr "Неверный ID подписки!"
-
-#~ msgid "Billing Information: "
-#~ msgstr "Реквизиты для выставления счета: "
-
-#~ msgid "C0 Envelope"
-#~ msgstr "Конверт C0"
-
-#~ msgid "C1 Envelope"
-#~ msgstr "Конверт C1"
-
-#~ msgid "C2 Envelope"
-#~ msgstr "Конверт C2"
-
-#~ msgid "C3 Envelope"
-#~ msgstr "Конверт C3"
-
-#~ msgid "C4"
-#~ msgstr "C4"
-
-#~ msgid "C4 Envelope"
-#~ msgstr "Конверт C4"
-
-#~ msgid "C5"
-#~ msgstr "C5"
-
-#~ msgid "C5 Envelope"
-#~ msgstr "Конверт C5"
-
-#~ msgid "C6"
-#~ msgstr "C6"
-
-#~ msgid "C6 Envelope"
-#~ msgstr "Конверт C6"
-
-#~ msgid "C65 Envelope"
-#~ msgstr "Конверт C65"
-
-#~ msgid "C7 Envelope"
-#~ msgstr "Конверт C7"
-
-#~ msgid "Character set \"%s\" not supported"
-#~ msgstr "Набор символов \"%s\" не поддерживается"
-
-#~ msgid "Character set \"%s\" not supported!"
-#~ msgstr "Набор символов «%s» не поддерживается!"
-
-#~ msgid "Chou3 Envelope"
-#~ msgstr "Конверт Chou3"
-
-#~ msgid "Chou4 Envelope"
-#~ msgstr "Конверт Chou4"
-
-#~ msgid ""
-#~ "Commands may be abbreviated. Commands are:\n"
-#~ "\n"
-#~ "exit help quit status ?\n"
-#~ msgstr ""
-#~ "Команды могут быть сокращены. Команды:\n"
-#~ "\n"
-#~ "exit help quit status ?\n"
-
-#~ msgid "Could not scan type \"%s\""
-#~ msgstr "Не удалось сканировать тип \"%s\""
-
-#~ msgid "Could not scan type \"%s\"!"
-#~ msgstr "Не удалось сканировать тип «%s»!"
-
-#~ msgid "Cover open."
-#~ msgstr "Крышка открыта."
-
-#~ msgid "Created On: "
-#~ msgstr "Дата создания: "
-
-#~ msgid "DL"
-#~ msgstr "DL"
-
-#~ msgid "DL Envelope"
-#~ msgstr "Конверт DL"
-
-#~ msgid "Description: "
-#~ msgstr "Описание: "
-
-#~ msgid "Developer almost empty."
-#~ msgstr "Проявитель почти закончился."
-
-#~ msgid "Developer empty!"
-#~ msgstr "Проявитель закончился!"
-
-#~ msgid ""
-#~ "Device: uri = %s\n"
-#~ " class = %s\n"
-#~ " info = %s\n"
-#~ " make-and-model = %s\n"
-#~ " device-id = %s\n"
-#~ " location = %s\n"
-#~ msgstr ""
-#~ "Устройство: uri = %s\n"
-#~ " class = %s\n"
-#~ " info = %s\n"
-#~ " make-and-model = %s\n"
-#~ " device-id = %s\n"
-#~ " location = %s\n"
-
-#~ msgid "Document %d not found in job %d."
-#~ msgstr "Документ %d в задании %d не найден."
-
-#~ msgid "Door open."
-#~ msgstr "Дверца открыта."
-
-#~ msgid "Double Postcard"
-#~ msgstr "Двойная открытка"
-
-#~ msgid "Driver Name: "
-#~ msgstr "Имя драйвера: "
-
-#~ msgid "Driver Version: "
-#~ msgstr "Версия драйвера: "
-
-#~ msgid "EMERG: Unable to allocate memory for page info: %s\n"
-#~ msgstr "EMERG: Не удается выделить память для информации страницы: %s\n"
-
-#~ msgid "EMERG: Unable to allocate memory for pages array: %s\n"
-#~ msgstr "EMERG: Не удается выделить память для массива страниц: %s\n"
-
-#~ msgid "ERROR: %s job-id user title copies options [file]\n"
-#~ msgstr "ERROR: %s задание пользователь название копий параметры [файл]\n"
-
-#~ msgid "ERROR: Bad %%BoundingBox: comment seen\n"
-#~ msgstr "ERROR: Неверный %%BoundingBox: комментарий просмотрен\n"
-
-#~ msgid "ERROR: Bad %%BoundingBox: comment seen!\n"
-#~ msgstr "ERROR: Неверный %%BoundingBox: комментарий просмотрен!\n"
-
-#~ msgid "ERROR: Bad %%IncludeFeature: comment\n"
-#~ msgstr "ERROR: Неверный %%IncludeFeature: комментарий\n"
-
-#~ msgid "ERROR: Bad %%IncludeFeature: comment!\n"
-#~ msgstr "ERROR: Неверный %%IncludeFeature: комментарий!\n"
-
-#~ msgid "ERROR: Bad %%Page: comment in file\n"
-#~ msgstr "ERROR: Неверный %%Page: комментарий в файле\n"
-
-#~ msgid "ERROR: Bad %%Page: comment in file!\n"
-#~ msgstr "ERROR: Неверная %%Page: комментарий в файле!\n"
-
-#~ msgid "ERROR: Bad %%PageBoundingBox: comment in file\n"
-#~ msgstr "ERROR: Неверный %%PageBoundingBox: комментарий в файле\n"
-
-#~ msgid "ERROR: Bad %%PageBoundingBox: comment in file!\n"
-#~ msgstr "ERROR: Неверный %%PageBoundingBox: комментарий в файле!\n"
-
-#~ msgid "ERROR: Bad SCSI device file \"%s\"!\n"
-#~ msgstr "ERROR: Неверный файл устройства SCSI «%s»!\n"
-
-#~ msgid "ERROR: Bad charset file %s\n"
-#~ msgstr "ERROR: Неверный файл набора символов %s\n"
-
-#~ msgid "ERROR: Bad charset type %s\n"
-#~ msgstr "ERROR: Неверный тип набора символов %s\n"
-
-#~ msgid "ERROR: Bad columns value %d\n"
-#~ msgstr "ERROR: Неверное значение количества столбцов %d\n"
-
-#~ msgid "ERROR: Bad columns value %d!\n"
-#~ msgstr "ERROR: Неверное значение количества столбцов %d!\n"
-
-#~ msgid "ERROR: Bad cpi value %f\n"
-#~ msgstr "ERROR: Неверное значение cpi %f\n"
-
-#~ msgid "ERROR: Bad cpi value %f!\n"
-#~ msgstr "ERROR: Неверное значение cpi %f!\n"
-
-#~ msgid "ERROR: Bad font description line: %s\n"
-#~ msgstr "ERROR: Неверная строка описания шрифта: %s\n"
-
-#~ msgid "ERROR: Bad lpi value %f\n"
-#~ msgstr "ERROR: Неверное значение lpi %f\n"
-
-#~ msgid "ERROR: Bad lpi value %f!\n"
-#~ msgstr "ERROR: Неверное значение lpi %f!\n"
-
-#~ msgid "ERROR: Bad page setup\n"
-#~ msgstr "ERROR: Неверные параметры страницы\n"
-
-#~ msgid "ERROR: Bad page setup!\n"
-#~ msgstr "ERROR: Неверные параметры страницы!\n"
-
-#~ msgid "ERROR: Bad text direction %s\n"
-#~ msgstr "ERROR: Неверное направление текста %s\n"
-
-#~ msgid "ERROR: Bad text width %s\n"
-#~ msgstr "ERROR: Неверная ширина текста %s\n"
-
-#~ msgid "ERROR: Destination printer does not exist\n"
-#~ msgstr "ERROR: Целевой принтер не существует\n"
-
-#~ msgid "ERROR: Destination printer does not exist!\n"
-#~ msgstr "ERROR: Целевой принтер не существует!\n"
-
-#~ msgid "ERROR: Duplicate %%BoundingBox: comment seen\n"
-#~ msgstr "ERROR: Дубликат %%BoundingBox: комментарий просмотрен\n"
-
-#~ msgid "ERROR: Duplicate %%BoundingBox: comment seen!\n"
-#~ msgstr "ERROR: Дубликат %%BoundingBox: комментарий просмотрен!\n"
-
-#~ msgid "ERROR: Duplicate %%Pages: comment seen\n"
-#~ msgstr "ERROR: Дубликат %%Pages: комментарий просмотрен\n"
-
-#~ msgid "ERROR: Duplicate %%Pages: comment seen!\n"
-#~ msgstr "ERROR: Дубликат %%Pages: комментарий просмотрен!\n"
-
-#~ msgid "ERROR: Empty print file\n"
-#~ msgstr "ERROR: Пустой файл печати\n"
-
-#~ msgid "ERROR: Empty print file!\n"
-#~ msgstr "ERROR: Пустой файл печати!\n"
-
-#~ msgid "ERROR: Error %d sending PAPSendData request: %s\n"
-#~ msgstr "ERROR: Ошибка %d при отправке запроса PAPSendData: %s\n"
-
-#~ msgid "ERROR: Expected quoted string on line %d of %s\n"
-#~ msgstr "ERROR: В строке %d из %s должна быть запись в ковычках\n"
-
-#~ msgid "ERROR: Expected quoted string on line %d of %s!\n"
-#~ msgstr "ERROR: В строке %d из %s должна быть строка в кавычках!\n"
-
-#~ msgid "ERROR: Fatal USB error\n"
-#~ msgstr "ERROR: Критический сбой USB\n"
-
-#~ msgid "ERROR: Fatal USB error!\n"
-#~ msgstr "ERROR: Критический сбой USB!\n"
-
-#~ msgid "ERROR: Invalid HP-GL/2 command seen, unable to print file!\n"
-#~ msgstr ""
-#~ "ERROR: Обнаружена неверная команда HP-GL/2, не удается напечатать файл!\n"
-
-#~ msgid "ERROR: Missing %%EndProlog\n"
-#~ msgstr "ERROR: Отсутствует %%endProlog\n"
-
-#~ msgid "ERROR: Missing %%EndProlog!\n"
-#~ msgstr "ERROR: Отсутствует %%EndProlog!\n"
-
-#~ msgid "ERROR: Missing %%EndSetup\n"
-#~ msgstr "ERROR: Отсутствует %%EndSetup\n"
-
-#~ msgid "ERROR: Missing %%EndSetup!\n"
-#~ msgstr "ERROR: Отсутствует %%EndSetup!\n"
-
-#~ msgid ""
-#~ "ERROR: Missing device URI on command-line and no DEVICE_URI environment "
-#~ "variable!\n"
-#~ msgstr ""
-#~ "ERROR: Отсутствует идентификатор URI устройства в командной строке и "
-#~ "переменная окружения DEVICE_URI!\n"
-
-#~ msgid "ERROR: Missing value on line %d of banner file\n"
-#~ msgstr "ERROR: Отсутствует значение в строке %d в файле баннера.\n"
-
-#~ msgid "ERROR: Missing value on line %d of banner file!\n"
-#~ msgstr "ERROR: Отсутствует значение в строке %d в файле баннера!\n"
-
-#~ msgid ""
-#~ "ERROR: Need a msgid line before any translation strings on line %d of %s\n"
-#~ msgstr ""
-#~ "ERROR: Требуется строка msgid перед строкой перевода в строке %d из %s\n"
-
-#~ msgid ""
-#~ "ERROR: Need a msgid line before any translation strings on line %d of "
-#~ "%s!\n"
-#~ msgstr ""
-#~ "ERROR: Требуется строка msgid перед строкой перевода в строке %d из %s!\n"
-
-#~ msgid "ERROR: No %%BoundingBox: comment in header\n"
-#~ msgstr "ERROR: Нет %%BoundingBox: комментарий в заголовке\n"
-
-#~ msgid "ERROR: No %%BoundingBox: comment in header!\n"
-#~ msgstr "ERROR: Нет %%BoundingBox: комментарий в заголовке!\n"
-
-#~ msgid "ERROR: No %%Pages: comment in header\n"
-#~ msgstr "ERROR: Нет %%Pages: комментарий в заголовке\n"
-
-#~ msgid "ERROR: No %%Pages: comment in header!\n"
-#~ msgstr "ERROR: Нет %%Pages: комментарий в заголовке!\n"
-
-#~ msgid ""
-#~ "ERROR: No device URI found in argv[0] or in DEVICE_URI environment "
-#~ "variable\n"
-#~ msgstr ""
-#~ "ERROR: Не обнаружено URI устройства в argv[0] или переменной окружения "
-#~ "DEVICE_URI\n"
-
-#~ msgid ""
-#~ "ERROR: No device URI found in argv[0] or in DEVICE_URI environment "
-#~ "variable!\n"
-#~ msgstr ""
-#~ "ERROR: Не обнаружено URI устройства в argv[0] или переменной окружения "
-#~ "DEVICE_URI!\n"
-
-#~ msgid "ERROR: No fonts in charset file %s\n"
-#~ msgstr "ERROR: Отсутствуют шрифты в файле набора символов %s\n"
-
-#~ msgid "ERROR: No pages found\n"
-#~ msgstr "ERROR: Страницы не найдены\n"
-
-#~ msgid "ERROR: No pages found!\n"
-#~ msgstr "ERROR: Страницы не найдены!\n"
-
-#~ msgid "ERROR: Out of paper\n"
-#~ msgstr "ERROR: Не хватает бумаги\n"
-
-#~ msgid "ERROR: Out of paper!\n"
-#~ msgstr "ERROR: Нет бумаги!\n"
-
-#~ msgid "ERROR: PRINTER environment variable not defined\n"
-#~ msgstr "ERROR: Переменная окружения PRINTER не указана\n"
-
-#~ msgid "ERROR: PRINTER environment variable not defined!\n"
-#~ msgstr "ERROR: Переменная окружения PRINTER не указана!\n"
-
-#~ msgid "ERROR: Print file was not accepted (%s)\n"
-#~ msgstr "ERROR: Файл печати не был принят (%s)\n"
-
-#~ msgid "ERROR: Print file was not accepted (%s)!\n"
-#~ msgstr "ERROR: Файл печати не принят (%s)!\n"
-
-#~ msgid "ERROR: Printer not responding\n"
-#~ msgstr "ERROR: Принтер не отвечает\n"
-
-#~ msgid "ERROR: Printer not responding!\n"
-#~ msgstr "ERROR: Принтер не отвечает!\n"
-
-#~ msgid "ERROR: Printer sent unexpected EOF\n"
-#~ msgstr "ERROR: Принтер преждевременно передал индикатор EOF\n"
-
-#~ msgid "ERROR: Remote host did not accept control file (%d)\n"
-#~ msgstr "ERROR: Удаленный хост не принял контрольный файл (%d)\n"
-
-#~ msgid "ERROR: Remote host did not accept data file (%d)\n"
-#~ msgstr "ERROR: Удаленный хост не принял файл данных (%d)\n"
-
-#~ msgid "ERROR: There was a timeout error while sending data to the printer\n"
-#~ msgstr ""
-#~ "ERROR: Сбой, связанный со временем ожидания при отправке данных на "
-#~ "принтер\n"
-
-#~ msgid "ERROR: Unable to add file %d to job: %s\n"
-#~ msgstr "ERROR: Не удается добавить файл %d к заданию: %s\n"
-
-#~ msgid "ERROR: Unable to cancel job %d: %s\n"
-#~ msgstr "ERROR: Не удается отменить задание %d: %s\n"
-
-#~ msgid "ERROR: Unable to connect to printer; will retry in 30 seconds...\n"
-#~ msgstr ""
-#~ "ERROR: Не удается подключиться к принтеру; повторная попытка через 30 "
-#~ "секунд...\n"
-
-#~ msgid "ERROR: Unable to copy PDF file"
-#~ msgstr "ERROR: Не удается копировать файл PDF"
-
-#~ msgid "ERROR: Unable to create pipe"
-#~ msgstr "ERROR: Не удается создать конвейер"
-
-#~ msgid "ERROR: Unable to create socket"
-#~ msgstr "ERROR: Не удается создать сокет"
-
-#~ msgid "ERROR: Unable to create temporary compressed print file: %s\n"
-#~ msgstr "ERROR: Не удается создать временный сжатый файл печати: %s\n"
-
-#~ msgid "ERROR: Unable to create temporary file"
-#~ msgstr "ERROR: Не удается создать временный файл"
-
-#~ msgid "ERROR: Unable to create temporary file - %s.\n"
-#~ msgstr "ERROR: Не удается создать временный файл – %s.\n"
-
-#~ msgid "ERROR: Unable to create temporary file: %s\n"
-#~ msgstr "ERROR: Не удается создать временный файл: %s\n"
-
-#~ msgid "ERROR: Unable to exec pictwpstops: %s\n"
-#~ msgstr "ERROR: Не удается выполнить pictwpstops: %s\n"
-
-#~ msgid "ERROR: Unable to execute gs program"
-#~ msgstr "ERROR: Не удается запустить программу gs"
-
-#~ msgid "ERROR: Unable to execute pdftops program"
-#~ msgstr "ERROR: Не удается запустить программу pdftops"
-
-#~ msgid "ERROR: Unable to execute pstops program"
-#~ msgstr "ERROR: Не удается выполнить pstops"
-
-#~ msgid "ERROR: Unable to fork pictwpstops: %s\n"
-#~ msgstr "ERROR: Не удается разветвить pictwpstops: %s\n"
-
-#~ msgid "ERROR: Unable to get PAP request"
-#~ msgstr "ERROR: Не удается получить запрос PAP"
-
-#~ msgid "ERROR: Unable to get PAP response"
-#~ msgstr "ERROR: Не удается получить ответ PAP"
-
-#~ msgid "ERROR: Unable to get PPD file for printer \"%s\" - %s.\n"
-#~ msgstr "ERROR: Не удается получить PPD-файл для принтера «%s» – %s.\n"
-
-#~ msgid "ERROR: Unable to get default AppleTalk zone"
-#~ msgstr "ERROR: Не удается определить стандартную зону AppleTalk"
-
-#~ msgid "ERROR: Unable to get job %d attributes (%s)\n"
-#~ msgstr "ERROR: Не удается получить список параметров (%s) задания %d \n"
-
-#~ msgid "ERROR: Unable to get job %d attributes (%s)!\n"
-#~ msgstr "ERROR: Не удается получить атрибуты задания %d (%s)!\n"
-
-#~ msgid "ERROR: Unable to get printer status (%s)\n"
-#~ msgstr "ERROR: Не удается получить статус (%s) принтера\n"
-
-#~ msgid "ERROR: Unable to get printer status (%s)!\n"
-#~ msgstr "ERROR: Не удается получить статус принтера (%s)!\n"
-
-#~ msgid "ERROR: Unable to locate printer '%s'\n"
-#~ msgstr "ERROR: Принтер '%s' не найден\n"
-
-#~ msgid "ERROR: Unable to locate printer '%s'!\n"
-#~ msgstr "ERROR: Не удается обнаружить принтер «%s»!\n"
-
-#~ msgid "ERROR: Unable to look for PAP response"
-#~ msgstr "ERROR: Не удается провести поиск ответа PAP"
-
-#~ msgid "ERROR: Unable to lookup AppleTalk printers"
-#~ msgstr "ERROR: Не удается провести поиск принтеров AppleTalk"
-
-#~ msgid "ERROR: Unable to make AppleTalk address"
-#~ msgstr "ERROR: Не удается ставить адрес AppleTalk"
-
-#~ msgid "ERROR: Unable to open \"%s\" - %s\n"
-#~ msgstr "ERROR: Не удается открыть «%s» – %s\n"
-
-#~ msgid "ERROR: Unable to open %s: %s\n"
-#~ msgstr "ERROR: Не удается открыть %s: %s\n"
-
-#~ msgid "ERROR: Unable to open PPD file\n"
-#~ msgstr "ERROR: Не удается открыть PPD файл\n"
-
-#~ msgid "ERROR: Unable to open banner file \"%s\" - %s\n"
-#~ msgstr "ERROR: Не удается открыть файл баннера «%s» – %s\n"
-
-#~ msgid "ERROR: Unable to open device file \"%s\": %s\n"
-#~ msgstr "ERROR: Не удается открыть файл устройства «%s»: %s\n"
-
-#~ msgid "ERROR: Unable to open file \"%s\" - %s\n"
-#~ msgstr "ERROR: Не удается открыть файл «%s» – %s\n"
-
-#~ msgid "ERROR: Unable to open file \"%s\": %s\n"
-#~ msgstr "ERROR: Не удается открыть файл «%s»: %s\n"
-
-#~ msgid "ERROR: Unable to open image file for printing\n"
-#~ msgstr "ERROR: Не удается открыть изображение для печати\n"
-
-#~ msgid "ERROR: Unable to open image file for printing!\n"
-#~ msgstr "ERROR: Не удается открыть файл изображения для печати!\n"
-
-#~ msgid "ERROR: Unable to open print file \"%s\": %s\n"
-#~ msgstr "ERROR: Не удается открыть файл печати «%s»: %s\n"
-
-#~ msgid "ERROR: Unable to open print file %s - %s\n"
-#~ msgstr "ERROR: Не удается открыть файл печати %s – %s\n"
-
-#~ msgid "ERROR: Unable to open print file %s: %s\n"
-#~ msgstr "ERROR: Не удается открыть файл печати %s: %s\n"
-
-#~ msgid "ERROR: Unable to open raster file - %s\n"
-#~ msgstr "ERROR: Не удается открыть растровый файл - %s\n"
-
-#~ msgid "ERROR: Unable to open temporary compressed print file: %s\n"
-#~ msgstr "ERROR: Не удается открыть временный сжатый файл печати: %s\n"
-
-#~ msgid "ERROR: Unable to open temporary file"
-#~ msgstr "ERROR: Не удается открыть временный файл"
-
-#~ msgid "ERROR: Unable to print %d text columns\n"
-#~ msgstr "ERROR: Не удается напечатать столбцы с текстом %d\n"
-
-#~ msgid "ERROR: Unable to print %d text columns!\n"
-#~ msgstr "ERROR: Не удается напечатать столбцы с текстом (%d)!\n"
-
-#~ msgid "ERROR: Unable to print %dx%d text page\n"
-#~ msgstr "ERROR: Не удается напечатать страницу с текстом %dx%d\n"
-
-#~ msgid "ERROR: Unable to print %dx%d text page!\n"
-#~ msgstr "ERROR: Не удается напечатать страницу с текстом %dx%d!\n"
-
-#~ msgid "ERROR: Unable to read print data"
-#~ msgstr "ERROR: Не удается считать данные печати"
-
-#~ msgid "ERROR: Unable to read print data\n"
-#~ msgstr "ERROR: Не удается прочитать данные для печати\n"
-
-#~ msgid "ERROR: Unable to read print data!\n"
-#~ msgstr "ERROR: Не удается считать данные печати!\n"
-
-#~ msgid "ERROR: Unable to reserve port"
-#~ msgstr "ERROR: Не удается зарезервировать порт"
-
-#~ msgid "ERROR: Unable to seek to offset %ld in file - %s\n"
-#~ msgstr "ERROR: Не удается перейти к смещению %ld в файле – %s\n"
-
-#~ msgid "ERROR: Unable to seek to offset %lld in file - %s\n"
-#~ msgstr "ERROR: Не удается перейти к смещению %lld в файле – %s\n"
-
-#~ msgid "ERROR: Unable to send LPD command"
-#~ msgstr "ERROR: Не удается отправить команду LPD"
-
-#~ msgid "ERROR: Unable to send PAP tickle request"
-#~ msgstr "ERROR: Не удается отправить контрольный запрос PAP"
-
-#~ msgid "ERROR: Unable to send initial PAP send data request"
-#~ msgstr "ERROR: Не удается отправить исходный запрос PAP на отправку данных"
-
-#~ msgid "ERROR: Unable to send print data\n"
-#~ msgstr "ERROR: Не удается отправить данные для печати\n"
-
-#~ msgid "ERROR: Unable to send print data (%d)\n"
-#~ msgstr "ERROR: Не удается отправить данные печати (%d)\n"
-
-#~ msgid "ERROR: Unable to send print data!\n"
-#~ msgstr "ERROR: Не удается отправить данные печати!\n"
-
-#~ msgid "ERROR: Unable to send print file to printer"
-#~ msgstr "ERROR: Не удается отправить файл печати на принтер"
-
-#~ msgid "ERROR: Unable to send trailing nul to printer"
-#~ msgstr "ERROR: Не удается отправить конечное нулевое значение на принтер"
-
-#~ msgid "ERROR: Unable to wait for pictwpstops: %s\n"
-#~ msgstr "ERROR: Не удается подождать pictwpstops: %s\n"
-
-#~ msgid "ERROR: Unable to write %d bytes to \"%s\": %s\n"
-#~ msgstr "ERROR: Не удается записать %d байт на «%s»: %s\n"
-
-#~ msgid "ERROR: Unable to write %d bytes to printer\n"
-#~ msgstr "ERROR: Не удается записать %d байт на принтер\n"
-
-#~ msgid "ERROR: Unable to write %d bytes to printer!\n"
-#~ msgstr "ERROR: Не удается записать %d байт на принтер!\n"
-
-#~ msgid "ERROR: Unable to write control file"
-#~ msgstr "ERROR: Не удается записать контрольный файл"
-
-#~ msgid "ERROR: Unable to write print data"
-#~ msgstr "ERROR: Не удается записать данные печати"
-
-#~ msgid "ERROR: Unable to write print data: %s\n"
-#~ msgstr "ERROR: Не удается записать данные печати: %s\n"
-
-#~ msgid "ERROR: Unable to write raster data to driver\n"
-#~ msgstr "Не удается записать растровые данные на принтер\n"
-
-#~ msgid "ERROR: Unable to write raster data to driver!\n"
-#~ msgstr "ERROR: Не удается записать растровые данные на драйвер!\n"
-
-#~ msgid "ERROR: Unable to write to temporary file"
-#~ msgstr "ERROR: Не удается записать данные во временный файл"
-
-#~ msgid "ERROR: Unable to write uncompressed document data: %s\n"
-#~ msgstr "ERROR: Не удается записать несжатые данные документа: %s\n"
-
-#~ msgid "ERROR: Unexpected text on line %d of %s\n"
-#~ msgstr "ERROR: Неизвестный текст в %s строки %d\n"
-
-#~ msgid "ERROR: Unexpected text on line %d of %s!\n"
-#~ msgstr "ERROR: Непредвиденный текст в строке %d из %s!\n"
-
-#~ msgid "ERROR: Unknown encryption option value \"%s\"\n"
-#~ msgstr "ERROR: Неизвестное значение \"%s\" параметра шифрования\n"
-
-#~ msgid "ERROR: Unknown encryption option value \"%s\"!\n"
-#~ msgstr "ERROR: Неизвестное значение параметра шифрования «%s»!\n"
-
-#~ msgid "ERROR: Unknown file order \"%s\"\n"
-#~ msgstr "ERROR: Неизвестный порядок файлов «%s»\n"
-
-#~ msgid "ERROR: Unknown format character \"%c\"\n"
-#~ msgstr "ERROR: Символ неизвестного формата «%c»\n"
-
-#~ msgid "ERROR: Unknown message catalog format for \"%s\"\n"
-#~ msgstr "ERROR: Неизвестный формат каталога сообщений для \"%s\"\n"
-
-#~ msgid "ERROR: Unknown message catalog format for \"%s\"!\n"
-#~ msgstr "ERROR: Неизвестный формат каталога сообщений для «%s»!\n"
-
-#~ msgid "ERROR: Unknown option \"%s\" with value \"%s\"\n"
-#~ msgstr "ERROR: Неизвестный параметр \"%s\" со значением \"%s\"\n"
-
-#~ msgid "ERROR: Unknown option \"%s\" with value \"%s\"!\n"
-#~ msgstr "ERROR: Неизвестный параметр «%s» со значением «%s»!\n"
-
-#~ msgid "ERROR: Unknown print mode \"%s\"\n"
-#~ msgstr "ERROR: Неизвестный режим печати «%s»\n"
-
-#~ msgid "ERROR: Unknown version option value \"%s\"\n"
-#~ msgstr "ERROR: Неизвестное значение параметра версии \"%s\"\n"
-
-#~ msgid "ERROR: Unknown version option value \"%s\"!\n"
-#~ msgstr "ERROR: Неизвестное значение параметра версии «%s»!\n"
-
-#~ msgid "ERROR: Unsupported brightness value %s, using brightness=100\n"
-#~ msgstr ""
-#~ "ERROR: Неподдерживаемое значение яркости %s, используется значение "
-#~ "brightness=100\n"
-
-#~ msgid "ERROR: Unsupported brightness value %s, using brightness=100!\n"
-#~ msgstr ""
-#~ "ERROR: Неподдерживаемое значение яркости %s, используется "
-#~ "brightness=100!\n"
-
-#~ msgid "ERROR: Unsupported gamma value %s, using gamma=1000\n"
-#~ msgstr ""
-#~ "ERROR: Неподдерживаемое значение гаммы %s, используется значение "
-#~ "gamma=1000\n"
-
-#~ msgid "ERROR: Unsupported gamma value %s, using gamma=1000!\n"
-#~ msgstr ""
-#~ "ERROR: Неподдерживаемое значение гаммы %s, используется gamma=1000!\n"
-
-#~ msgid "ERROR: Unsupported number-up value %d, using number-up=1\n"
-#~ msgstr ""
-#~ "ERROR: Неподдерживаемое значение number-up %d, используется значение "
-#~ "number-up=1\n"
-
-#~ msgid "ERROR: Unsupported number-up value %d, using number-up=1!\n"
-#~ msgstr ""
-#~ "ERROR: Неподдерживаемое значение number-up %d, используется number-up=1!\n"
-
-#~ msgid ""
-#~ "ERROR: Unsupported number-up-layout value %s, using number-up-"
-#~ "layout=lrtb\n"
-#~ msgstr ""
-#~ "ERROR: Неподдерживаемое значение number-up-layout %s, используется "
-#~ "значение number-up-layout=lrtb\n"
-
-#~ msgid ""
-#~ "ERROR: Unsupported number-up-layout value %s, using number-up-"
-#~ "layout=lrtb!\n"
-#~ msgstr ""
-#~ "ERROR: Неподдерживаемое значение number-up-layout %s, используется number-"
-#~ "up-layout=lrtb!\n"
-
-#~ msgid "ERROR: Unsupported page-border value %s, using page-border=none\n"
-#~ msgstr ""
-#~ "ERROR: Неподдерживаемое значение page-border %s, используется значение "
-#~ "page-border=none\n"
-
-#~ msgid "ERROR: Unsupported page-border value %s, using page-border=none!\n"
-#~ msgstr ""
-#~ "ERROR: Неподдерживаемое значение page-border %s, используется page-"
-#~ "border=none!\n"
-
-#~ msgid "ERROR: doc_printf overflow (%d bytes) detected, aborting\n"
-#~ msgstr "ERROR: Обнаружено переполнение doc_printf (%d байт). Прервать.\n"
-
-#~ msgid "ERROR: doc_printf overflow (%d bytes) detected, aborting!\n"
-#~ msgstr "ERROR: Обнаружено переполнение doc_printf (%d байт), отменяю!\n"
-
-#~ msgid "ERROR: pdftops filter crashed on signal %d!\n"
-#~ msgstr "ERROR: Сбой фильтра pdftops при сигнале %d!\n"
-
-#~ msgid "ERROR: pdftops filter exited with status %d!\n"
-#~ msgstr "ERROR: Фильтр pictwpstops закрыт со статусом %d!\n"
-
-#~ msgid "ERROR: pictwpstops exited on signal %d\n"
-#~ msgstr "ERROR: pictwpstops завершился по сигналу %d\n"
-
-#~ msgid "ERROR: pictwpstops exited on signal %d!\n"
-#~ msgstr "ERROR: Фильтр pictwpstops закрыт по сигналу %d!\n"
-
-#~ msgid "ERROR: pictwpstops exited with status %d\n"
-#~ msgstr "ERROR: pitwpstops завершился со статусом %d\n"
-
-#~ msgid "ERROR: pictwpstops exited with status %d!\n"
-#~ msgstr "ERROR: Фильтр pictwpstops закрыт со статусом %d!\n"
-
-#~ msgid ""
-#~ "ERROR: recoverable: Unable to connect to printer; will retry in 30 "
-#~ "seconds...\n"
-#~ msgstr ""
-#~ "ERROR: Восстанавливаемо: не удается подключиться к принтеру; попытка "
-#~ "будет повторена через 30 секунд…\n"
-
-#~ msgid "ERROR: select() failed"
-#~ msgstr "ERROR: Сбой оператора select()"
-
-#~ msgid "ERROR: unable to stat print file"
-#~ msgstr "ERROR: Не удается установить файл печати"
-
-#~ msgid "Empty PPD file"
-#~ msgstr "Пустой PPD файл"
-
-#~ msgid "Empty PPD file!"
-#~ msgstr "Пустой PPD-файл!"
-
-#~ msgid "Enter old password:"
-#~ msgstr "Введите старый пароль:"
-
-#~ msgid "Enter password again:"
-#~ msgstr "Введите пароль снова:"
-
-#~ msgid "Enter password:"
-#~ msgstr "Введите пароль:"
-
-#~ msgid "Error: need hostname after '-h' option\n"
-#~ msgstr "ERROR: Требуется имя хоста после параметра '-h'\n"
-
-#~ msgid "Error: need hostname after '-h' option!\n"
-#~ msgstr "ERROR: Требуется имя хоста после параметра «-h»!\n"
-
-#~ msgid "FAIL\n"
-#~ msgstr "FAIL\n"
-
-#~ msgid "File Folder"
-#~ msgstr "Каталог файла"
-
-#~ msgid "File Folder - 9/16 x 3 7/16\""
-#~ msgstr "Каталог файла - 9 16/8 x 3 7/16\""
-
-#~ msgid ""
-#~ "File device URIs have been disabled! To enable, see the FileDevice "
-#~ "directive in \"%s/cupsd.conf\"."
-#~ msgstr ""
-#~ "URI-адреса файлового устройства отключены! Чтобы включить их, используйте "
-#~ "директиву FileDevice в «%s/cupsd.conf»."
-
-#~ msgid "Fuser temperature high!"
-#~ msgstr "Высокая температура термофиксатора!"
-
-#~ msgid "Fuser temperature low!"
-#~ msgstr "Низкая температура термофиксатора!"
-
-#~ msgid "German FanFold"
-#~ msgstr "German FanFold"
-
-#~ msgid "German FanFold Legal"
-#~ msgstr "German FanFold Legal"
-
-#~ msgid "Got a printer-uri attribute but no job-id"
-#~ msgstr "Получен атрибут printer-uri, но не job-id"
-
-#~ msgid "Got a printer-uri attribute but no job-id!"
-#~ msgstr "Получен атрибут printer-uri, но не job-id!"
-
-#~ msgid "Hanging Folder - 9/16 x 2\""
-#~ msgstr "Папка подвесного хранения - 9/16 x 2\""
-
-#~ msgid "INFO: AppleTalk disabled in System Preferences\n"
-#~ msgstr "INFO: AppleTalk отключен в Системных настройках\n"
-
-#~ msgid "INFO: AppleTalk disabled in System Preferences.\n"
-#~ msgstr "INFO: AppleTalk отключен в Системных настройках.\n"
-
-#~ msgid "INFO: Canceling print job...\n"
-#~ msgstr "INFO: Отмена задания печати…\n"
-
-#~ msgid "INFO: Connected to printer...\n"
-#~ msgstr "INFO: Подключен к принтеру…\n"
-
-#~ msgid "INFO: Connecting to printer...\n"
-#~ msgstr "INFO: Подключение к принтеру…\n"
-
-#~ msgid "INFO: Control file sent successfully\n"
-#~ msgstr "INFO: Контрольный файл успешно отправлен\n"
-
-#~ msgid "INFO: Copying print data...\n"
-#~ msgstr "INFO: Копирование данных печати...\n"
-
-#~ msgid "INFO: Data file sent successfully\n"
-#~ msgstr "INFO: Файл данных успешно отправлен\n"
-
-#~ msgid "INFO: Finished page %d...\n"
-#~ msgstr "INFO: Последняя страница %d...\n"
-
-#~ msgid "INFO: Formatting page %d...\n"
-#~ msgstr "INFO: Форматирование страницы %d…\n"
-
-#~ msgid "INFO: Loading image file...\n"
-#~ msgstr "INFO: Загрузка файла изображения…\n"
-
-#~ msgid "INFO: Looking for printer...\n"
-#~ msgstr "INFO: Поиск принтера...\n"
-
-#~ msgid "INFO: Opening connection\n"
-#~ msgstr "INFO: Установка соединения\n"
-
-#~ msgid "INFO: Print file sent, waiting for printer to finish...\n"
-#~ msgstr "INFO: Файл печати отправлен, ожидание окончания работы принтера…\n"
-
-#~ msgid "INFO: Printer busy; will retry in 10 seconds...\n"
-#~ msgstr "INFO: Принтер занят; попытка будет повторена через 10 секунд…\n"
-
-#~ msgid "INFO: Printer busy; will retry in 30 seconds...\n"
-#~ msgstr "INFO: Принтер занят; попытка будет повторена через 30 секунд…\n"
-
-#~ msgid "INFO: Printer busy; will retry in 5 seconds...\n"
-#~ msgstr "INFO: Принтер занят; попытка будет повторена через 5 секунд…\n"
-
-#~ msgid "INFO: Printer does not support IPP/%d.%d, trying IPP/1.0...\n"
-#~ msgstr ""
-#~ "INFO: Принтер не поддерживает IPP/%d.%d; попытка использовать IPP/1.0…\n"
-
-#~ msgid "INFO: Printer is busy; will retry in 5 seconds...\n"
-#~ msgstr "INFO: Принтер занят; попытка будет повторена через 5 секунд…\n"
-
-#~ msgid "INFO: Printer is currently off-line.\n"
-#~ msgstr "INFO: В данный момент принтер не подключен к сети.\n"
-
-#~ msgid "INFO: Printer is currently offline.\n"
-#~ msgstr "INFO: В данный момент принтер не подключен к сети.\n"
-
-#~ msgid "INFO: Printer is now online.\n"
-#~ msgstr "INFO: Принтер подключен к сети.\n"
-
-#~ msgid "INFO: Printer is offline.\n"
-#~ msgstr "INFO: Принтер не подключен к сети.\n"
-
-#~ msgid "INFO: Printer not connected; will retry in 30 seconds...\n"
-#~ msgstr ""
-#~ "INFO: Принтер не подключен; попытка будет повторена через 30 секунд…\n"
-
-#~ msgid "INFO: Printing page %d, %d%% complete...\n"
-#~ msgstr "INFO: Печать страницы %d, %d%% завершена…\n"
-
-#~ msgid "INFO: Printing page %d...\n"
-#~ msgstr "INFO: Печать страницы %d…\n"
-
-#~ msgid "INFO: Ready to print.\n"
-#~ msgstr "INFO: Готов к печати.\n"
-
-#~ msgid "INFO: Sending control file (%lu bytes)\n"
-#~ msgstr "INFO: Отправка контрольного файла (%lu байт)\n"
-
-#~ msgid "INFO: Sending control file (%u bytes)\n"
-#~ msgstr "INFO: Отправка контрольного файла (%u байт)\n"
-
-#~ msgid "INFO: Sending data\n"
-#~ msgstr "INFO: Отправка данных\n"
-
-#~ msgid "INFO: Sending data file (%ld bytes)\n"
-#~ msgstr "INFO: Отправка файла данных (%ld байт)\n"
-
-#~ msgid "INFO: Sending data file (%lld bytes)\n"
-#~ msgstr "INFO: Отправка файла данных (%lld байт)\n"
-
-#~ msgid "INFO: Sending print data...\n"
-#~ msgstr "INFO: Отправка данных печати…\n"
-
-#~ msgid "INFO: Sent print file, %ld bytes...\n"
-#~ msgstr "INFO: Отправлен файл печати, %ld байт…\n"
-
-#~ msgid "INFO: Sent print file, %lld bytes...\n"
-#~ msgstr "INFO: Отправлен файл печати, %lld байт…\n"
-
-#~ msgid "INFO: Spooling LPR job, %.0f%% complete...\n"
-#~ msgstr "INFO: Спулинг задания LPR, %.0f%% выполнено…\n"
-
-#~ msgid "INFO: Starting page %d...\n"
-#~ msgstr "INFO: Главная страница %d...\n"
-
-#~ msgid ""
-#~ "INFO: Unable to contact printer, queuing on next printer in class...\n"
-#~ msgstr ""
-#~ "INFO: Не удается установить связь с принтером, постановка в очередь на "
-#~ "следующем принтере в классе…\n"
-
-#~ msgid "INFO: Using default AppleTalk zone \"%s\"\n"
-#~ msgstr "INFO: Используется стандартная зона AppleTalk «%s»\n"
-
-#~ msgid "INFO: Waiting for job to complete...\n"
-#~ msgstr "INFO: Ожидание окончания выполнения задания…\n"
-
-#~ msgid "INFO: Waiting for printer to become available...\n"
-#~ msgstr "INFO: Ожидание доступа к принтеру...\n"
-
-#~ msgid "ISO B0"
-#~ msgstr "ISO B0"
-
-#~ msgid "ISO B1"
-#~ msgstr "ISO B1"
-
-#~ msgid "ISO B10"
-#~ msgstr "ISO B10"
-
-#~ msgid "ISO B2"
-#~ msgstr "ISO B2"
-
-#~ msgid "ISO B3"
-#~ msgstr "ISO B3"
-
-#~ msgid "ISO B4"
-#~ msgstr "ISO B4"
-
-#~ msgid "ISO B4 Envelope"
-#~ msgstr "Конверт ISO B4"
-
-#~ msgid "ISO B5"
-#~ msgstr "ISO B5"
-
-#~ msgid "ISO B5 (Oversize)"
-#~ msgstr "ISO B5 (расширенный)"
-
-#~ msgid "ISO B5 Envelope"
-#~ msgstr "Конверт ISO B5"
-
-#~ msgid "ISO B6"
-#~ msgstr "ISO B6"
-
-#~ msgid "ISO B6 Envelope"
-#~ msgstr "Конверт ISO B6"
-
-#~ msgid "ISO B7"
-#~ msgstr "ISO B7"
-
-#~ msgid "ISO B8"
-#~ msgstr "ISO B8"
-
-#~ msgid "ISO B9"
-#~ msgstr "ISO B9"
-
-#~ msgid "Ink/toner almost empty."
-#~ msgstr "Чернила/тонер заканчиваются."
-
-#~ msgid "Ink/toner empty!"
-#~ msgstr "Чернила/тонер закончились!"
-
-#~ msgid "Ink/toner waste bin almost full."
-#~ msgstr "Корзина чернил/тонера почти полный."
-
-#~ msgid "Ink/toner waste bin full!"
-#~ msgstr "Корзина чернил/тонера полная!"
-
-#~ msgid "Interlock open."
-#~ msgstr "Открыт замок."
-
-#~ msgid "Internet Postage 2-Part - 2 1/4 x 7 1/2\""
-#~ msgstr "Наклейки Internet Postage 2-Part - 2 1/4 x 7 1/2\""
-
-#~ msgid "Internet Postage 3-Part - 2 1/4 x 7\""
-#~ msgstr "Наклейки Internet Postage 3-Part - 2 1/4 x 7\""
-
-#~ msgid "Invite Envelope"
-#~ msgstr "Конверт Invite Envelope"
-
-#~ msgid "Italian Envelope"
-#~ msgstr "Конверт Italian Envelope"
-
-#~ msgid "Job #%d cannot be restarted - no files"
-#~ msgstr "Задание #%d не может быть перезапущено - отсутствуют файлы"
-
-#~ msgid "Job #%d cannot be restarted - no files!"
-#~ msgstr "Задание #%d не может быть перезапущено – нет файлов!"
-
-#~ msgid "Job #%d does not exist"
-#~ msgstr "Задание #%d не существует"
-
-#~ msgid "Job #%d does not exist!"
-#~ msgstr "Задание #%d не существует!"
-
-#~ msgid "Job #%d is finished and cannot be altered"
-#~ msgstr "Задание #%d завершено и не может быть изменено"
-
-#~ msgid "Job #%d is finished and cannot be altered!"
-#~ msgstr "Задание #%d завершено и не может быть изменено!"
-
-#~ msgid "Job #%d is not complete"
-#~ msgstr "Задание #%d не завершено"
-
-#~ msgid "Job #%d is not complete!"
-#~ msgstr "Задание #%d не завершено!"
-
-#~ msgid "Job #%d is not held"
-#~ msgstr "Задание #%d не задержано"
-
-#~ msgid "Job #%d is not held for authentication"
-#~ msgstr "Задание #%d не задержано для идентификации"
-
-#~ msgid "Job #%d is not held for authentication!"
-#~ msgstr "Задание #%d не задержано для идентификации!"
-
-#~ msgid "Job #%d is not held!"
-#~ msgstr "Задание #%d не задержано!"
-
-#~ msgid "Job #%s does not exist"
-#~ msgstr "Задание #%d не существует"
-
-#~ msgid "Job #%s does not exist!"
-#~ msgstr "Задание #%s не существует!"
-
-#~ msgid "Job %d not found"
-#~ msgstr "Задание %d не найдено"
-
-#~ msgid "Job %d not found!"
-#~ msgstr "Задание #%d не найдено!"
-
-#~ msgid "Job ID: "
-#~ msgstr "ID задания: "
-
-#~ msgid "Job UUID: "
-#~ msgstr "UUID задания: "
-
-#~ msgid "Job operation failed:"
-#~ msgstr "Сбой операции задания:"
-
-#~ msgid "Job subscriptions cannot be renewed"
-#~ msgstr "Подписки на задание не могут быть обновлены"
-
-#~ msgid "Job subscriptions cannot be renewed!"
-#~ msgstr "Подписки на задание не могут быть обновлены!"
-
-#~ msgid "Kaku2 Envelope"
-#~ msgstr "Конверт Kaku2"
-
-#~ msgid "Kaku3 Envelope"
-#~ msgstr "Конверт Kaku3"
-
-#~ msgid "Language \"%s\" not supported"
-#~ msgstr "Язык \"%s\" не поддерживается"
-
-#~ msgid "Language \"%s\" not supported!"
-#~ msgstr "Язык «%s» не поддерживается!"
-
-#~ msgid "Large Address - 1 4/10 x 3 1/2\""
-#~ msgstr "Полный адрес - 1 4/10 x 3 1/2\""
-
-#~ msgid "Location: "
-#~ msgstr "Местоположение: "
-
-#~ msgid "Make and Model: "
-#~ msgstr "Марка и модель: "
-
-#~ msgid "Media Dimensions: "
-#~ msgstr "Размеры бумаги: "
-
-#~ msgid "Media Limits: "
-#~ msgstr "Ограничения бумаги: "
-
-#~ msgid "Media Name: "
-#~ msgstr "Название бумаги: "
-
-#~ msgid "Media jam!"
-#~ msgstr "Затор бумаги!"
-
-#~ msgid "Media tray almost empty."
-#~ msgstr "Лоток с бумагой почти пуст."
-
-#~ msgid "Media tray empty!"
-#~ msgstr "Лоток с бумагой пуст!"
-
-#~ msgid "Media tray missing!"
-#~ msgstr "Лоток с бумагой отсутствует!"
-
-#~ msgid "Media tray needs to be filled."
-#~ msgstr "Необходимо вставить бумагу в лоток."
-
-#~ msgid "Missing document-number attribute"
-#~ msgstr "Отсутствует атрибут document-number"
-
-#~ msgid "Missing document-number attribute!"
-#~ msgstr "Отсутствует атрибут document-number!"
-
-#~ msgid "Missing double quote on line %d"
-#~ msgstr "Отсутствует двойная кавычка в строке %d"
-
-#~ msgid "Missing double quote on line %d!"
-#~ msgstr "Отсутствуют двойные кавычки в строке %d!"
-
-#~ msgid "Missing form variable!"
-#~ msgstr "Отсутствует переменная формы!"
-
-#~ msgid "Missing notify-subscription-ids attribute"
-#~ msgstr "Отсутствует атрибут notify-subscription-ids"
-
-#~ msgid "Missing notify-subscription-ids attribute!"
-#~ msgstr "Отсутствует атрибут notify-subscription-ids!"
-
-#~ msgid "Missing requesting-user-name attribute"
-#~ msgstr "Отсутствует атрибут requesting-user-name"
-
-#~ msgid "Missing requesting-user-name attribute!"
-#~ msgstr "Отсутствует атрибут requesting-user-name!"
-
-#~ msgid "Missing required attributes"
-#~ msgstr "Отсутствуют обязательные атрибуты"
-
-#~ msgid "Missing required attributes!"
-#~ msgstr "Отсутствуют обязательные атрибуты!"
-
-#~ msgid "Missing value on line %d"
-#~ msgstr "Отсутствует значение в строке %d"
-
-#~ msgid "Missing value on line %d!"
-#~ msgstr "Отсутствует значение в строке %d!"
-
-#~ msgid ""
-#~ "Model: name = %s\n"
-#~ " natural_language = %s\n"
-#~ " make-and-model = %s\n"
-#~ " device-id = %s\n"
-#~ msgstr ""
-#~ "Model: name = %s\n"
-#~ " natural_language = %s\n"
-#~ " make-and-model = %s\n"
-#~ " device-id = %s\n"
-
-#~ msgid "Monarch"
-#~ msgstr "Monarch"
-
-#~ msgid "Monarch Envelope"
-#~ msgstr "Конверт Monarch"
-
-#~ msgid "NOTICE: Print file accepted - job ID %d.\n"
-#~ msgstr "NOTICE: Файл печати принят – ID задания %d.\n"
-
-#~ msgid "NOTICE: Print file accepted - job ID unknown.\n"
-#~ msgstr "NOTICE: Файл печати принят – ID задания неизвестен.\n"
-
-#~ msgid "Nested classes are not allowed"
-#~ msgstr "Вложенные группы не допускаются"
-
-#~ msgid "New Stylus Color Series"
-#~ msgstr "Серия Stylus Color нового поколения"
-
-#~ msgid "New Stylus Photo Series"
-#~ msgstr "Серия Stylus Photo нового поколения"
-
-#~ msgid "No PPD name!"
-#~ msgstr "Нет имени PPD!"
-
-#~ msgid "No Windows printer drivers are installed"
-#~ msgstr "Нет установленных драйверов принтера Windows"
-
-#~ msgid "No Windows printer drivers are installed!"
-#~ msgstr "Нет установленных драйверов принтера Windows!"
-
-#~ msgid "No active jobs on %s"
-#~ msgstr "Нет активных заданий на %s"
-
-#~ msgid "No active jobs on %s!"
-#~ msgstr "Нет активных заданий на %s!"
-
-#~ msgid "No attributes in request"
-#~ msgstr "Нет атрибутов в запросе"
-
-#~ msgid "No attributes in request!"
-#~ msgstr "Нет атрибутов в запросе!"
-
-#~ msgid "No authentication information provided"
-#~ msgstr "Нет информации для проверки подлинности"
-
-#~ msgid "No authentication information provided!"
-#~ msgstr "Нет информации для проверки подлинности!"
-
-#~ msgid "No default printer"
-#~ msgstr "Нет принтера по умолчанию"
-
-#~ msgid "No file!?"
-#~ msgstr "Нет файла!?"
-
-#~ msgid "No file!?!"
-#~ msgstr "Нет файла!?!"
-
-#~ msgid "No modification time!"
-#~ msgstr "Не указано время изменения!"
-
-#~ msgid "No printer name!"
-#~ msgstr "Нет имени принтера!"
-
-#~ msgid "No printer-uri found for class!"
-#~ msgstr "Не указан адрес printer-uri для класса!"
-
-#~ msgid "No printer-uri found!"
-#~ msgstr "Не указан адрес printer-uri!"
-
-#~ msgid "No printer-uri in request"
-#~ msgstr "Нет адреса printer-uri в запросе"
-
-#~ msgid "No printer-uri in request!"
-#~ msgstr "Нет адреса printer-uri в запросе!"
-
-#~ msgid "No subscription attributes in request"
-#~ msgstr "Нет атрибутов подписки в запросе"
-
-#~ msgid "No subscription attributes in request!"
-#~ msgstr "Нет атрибутов подписки в запросе!"
-
-#~ msgid "OPC almost at end-of-life."
-#~ msgstr "OPC почти в end-of-life."
-
-#~ msgid "OPC at end-of-life!"
-#~ msgstr "OPC в end-of-life!"
-
-#~ msgid "Options: "
-#~ msgstr "Параметры: "
-
-#~ msgid "Out of toner!"
-#~ msgstr "Недостаточно тонера!"
-
-#~ msgid "Output bin almost full."
-#~ msgstr "Выходной лоток почти заполнен."
-
-#~ msgid "Output bin full!"
-#~ msgstr "Выходной лоток заполнен!"
-
-#~ msgid "Output for printer %s is sent to %s\n"
-#~ msgstr "Вывод для принтера %s отправлен на %s\n"
-
-#~ msgid "Output for printer %s is sent to remote printer %s on %s\n"
-#~ msgstr "Вывод для принтера %s отправлен на удаленный принтер %s на %s\n"
-
-#~ msgid "Output for printer %s/%s is sent to %s\n"
-#~ msgstr "Вывод для принтера %s/%s отправлен на %s\n"
-
-#~ msgid "Output for printer %s/%s is sent to remote printer %s on %s\n"
-#~ msgstr "Вывод для принтера %s/%s отправлен на удаленный принтер %s на %s\n"
-
-#~ msgid "Output tray missing!"
-#~ msgstr "Выходной лоток отсутствует!"
-
-#~ msgid "PASS\n"
-#~ msgstr "PASS\n"
-
-#~ msgid "PRC1 Envelope"
-#~ msgstr "Конверт PRC1"
-
-#~ msgid "PRC10 Envelope"
-#~ msgstr "Конверт PRC10"
-
-#~ msgid "PRC2 Envelope"
-#~ msgstr "Конверт PRC2"
-
-#~ msgid "PRC3 Envelope"
-#~ msgstr "Конверт PRC3"
-
-#~ msgid "PRC32K (Oversize)"
-#~ msgstr "PRC32K (расширенный)"
-
-#~ msgid "PRC4 Envelope"
-#~ msgstr "Конверт PRC4"
-
-#~ msgid "PRC5 Envelope"
-#~ msgstr "Конверт PRC5"
-
-#~ msgid "PRC6 Envelope"
-#~ msgstr "Конверт PRC6"
-
-#~ msgid "PRC7 Envelope"
-#~ msgstr "Конверт PRC7"
-
-#~ msgid "PRC8 Envelope"
-#~ msgstr "Конверт PRC8"
-
-#~ msgid "PRC9 Envelope"
-#~ msgstr "Конверт PRC9"
-
-#~ msgid "Personal Envelope"
-#~ msgstr "Индивидуальный конверт"
-
-#~ msgid "Printed For: "
-#~ msgstr "Напечатано для: "
-
-#~ msgid "Printed From: "
-#~ msgstr "Напечатано из: "
-
-#~ msgid "Printed On: "
-#~ msgstr "Дата печати: "
-
-#~ msgid "Printer Name: "
-#~ msgstr "Имя принтера: "
-
-#~ msgid "Printer offline."
-#~ msgstr "Принтер в режиме не подключен к сети."
-
-#~ msgid "Purge Jobs"
-#~ msgstr "Удалить задания"
-
-#~ msgid "Rank Owner Job File(s) Total Size\n"
-#~ msgstr ""
-#~ "Ранг Владелец Задание Файл(ы) Общий "
-#~ "размер\n"
-
-#~ msgid ""
-#~ "Rank Owner Pri Job Files Total Size\n"
-#~ msgstr ""
-#~ "Ранг Владелец Задание печати Файл(ы) "
-#~ "Общий размер\n"
-
-#~ msgid "Return Address - 3/4 x 2\""
-#~ msgstr "Обратный адрес - 3/4 x 2\""
-
-#~ msgid "Running command: %s %s -N -A %s -c '%s'\n"
-#~ msgstr "Запущенная команда: %s %s -N -A %s -c «%s»\n"
-
-#~ msgid "SCSI Printer"
-#~ msgstr "Принтер SCSI"
-
-#~ msgid "Serial Port #%d"
-#~ msgstr "Последовательный порт #%d"
-
-#~ msgid "Shipping Address - 2 5/16 x 4\""
-#~ msgstr "Адрес доставки - 2 5/16 x 4\""
-
-#~ msgid "Stylus Color Series"
-#~ msgstr "Серия Stylus Color"
-
-#~ msgid "Stylus Photo Series"
-#~ msgstr "Серия Stylus Photo"
-
-#~ msgid "Tabloid (Oversize)"
-#~ msgstr "Tabloid (расширенный)"
-
-#~ msgid "The notify-user-data value is too large (%d > 63 octets)"
-#~ msgstr "Значение notify-user-data слишком большое(%d > 63 октета)"
-
-#~ msgid "The notify-user-data value is too large (%d > 63 octets)!"
-#~ msgstr "Значение notify-user-data слишком длинное (%d > 63 октетов)!"
-
-#~ msgid "The output bin is almost full."
-#~ msgstr "Лоток вывода почти заполнен."
-
-#~ msgid "The output bin is full."
-#~ msgstr "Лоток вывода заполнен."
-
-#~ msgid "The output bin is missing."
-#~ msgstr "Отсутствует лоток вывода."
-
-#~ msgid "The paper tray is almost empty."
-#~ msgstr "Лоток с бумагой почти пуст."
-
-#~ msgid "The paper tray is empty."
-#~ msgstr "Лоток с бумагой пуст."
-
-#~ msgid "The paper tray is missing."
-#~ msgstr "Лоток с бумагой отсутствует."
-
-#~ msgid "The paper tray needs to be filled."
-#~ msgstr "Необходимо наполнить лоток с бумагой."
-
-#~ msgid "The printer is almost out of ink."
-#~ msgstr "Заканчиваются чернила."
-
-#~ msgid "The printer is out of ink."
-#~ msgstr "Чернила закончились."
-
-#~ msgid "The printer is out of toner."
-#~ msgstr "Тонер закончился."
-
-#~ msgid "The printer or class is not shared"
-#~ msgstr "Нет общего доступа к принтеру или классу."
-
-#~ msgid "The printer or class is not shared!"
-#~ msgstr "Нет общего доступа к принтеру или классу!"
-
-#~ msgid "The printer or class was not found."
-#~ msgstr "Принтер или класс не найден."
-
-#~ msgid "The printer-uri attribute is required"
-#~ msgstr "Требуется атрибут printer-uri"
-
-#~ msgid "The printer-uri attribute is required!"
-#~ msgstr "Требуется атрибут printer-uri!"
-
-#~ msgid "There is a paper jam."
-#~ msgstr "Зажевало бумагу."
-
-#~ msgid "Title: "
-#~ msgstr "Заголовок: "
-
-#~ msgid "Toner low."
-#~ msgstr "Тонер заканчивается."
-
-#~ msgid "Too many job-sheets values (%d > 2)"
-#~ msgstr "Слишком много значений job-sheets (%d>2)"
-
-#~ msgid "Too many job-sheets values (%d > 2)!"
-#~ msgstr "Слишком много значений job-sheets (%d > 2)!"
-
-#~ msgid "Too many printer-state-reasons values (%d > %d)"
-#~ msgstr "Слишком много значений printer-state-reasons (%d > %d)"
-
-#~ msgid "Too many printer-state-reasons values (%d > %d)!"
-#~ msgstr "Слишком много значений printer-state-reasons (%d > %d)!"
-
-#~ msgid "US Executive"
-#~ msgstr "US Executive"
-
-#~ msgid "US Fanfold"
-#~ msgstr "US Fanfold"
-
-#~ msgid "US Legal (Oversize)"
-#~ msgstr "US Legal (расширенный)"
-
-#~ msgid "US Letter (Oversize)"
-#~ msgstr "US Letter (расширенный)"
-
-#~ msgid "US Letter (Small)"
-#~ msgstr "US Letter (уменьшенный)"
-
-#~ msgid "USB Serial Port #%d"
-#~ msgstr "Последовательный порт USB #%d"
-
-#~ msgid "Unable to access cupsd.conf file:"
-#~ msgstr "Не удается получить доступ к файлу «cupsd.conf»:"
-
-#~ msgid "Unable to add RSS subscription:"
-#~ msgstr "Не удается добавить подписку RSS:"
-
-#~ msgid "Unable to add class:"
-#~ msgstr "Не удается добавить класс:"
-
-#~ msgid "Unable to add job for destination \"%s\""
-#~ msgstr "Не удается добавить задание для назначения \"%s\""
-
-#~ msgid "Unable to add job for destination \"%s\"!"
-#~ msgstr "Не удается добавить задание для назначения «%s»!"
-
-#~ msgid "Unable to add printer:"
-#~ msgstr "Не удается добавить принтер:"
-
-#~ msgid "Unable to allocate memory for file types"
-#~ msgstr "Не удается выделить память для типов файлов"
-
-#~ msgid "Unable to allocate memory for file types!"
-#~ msgstr "Не удается выделить память для типов файлов!"
-
-#~ msgid "Unable to cancel RSS subscription:"
-#~ msgstr "Не удается отменить подписку RSS:"
-
-#~ msgid "Unable to change printer-is-shared attribute:"
-#~ msgstr "Не удается изменить атрибут printer-is-shared:"
-
-#~ msgid "Unable to change printer:"
-#~ msgstr "Не удается изменить принтер:"
-
-#~ msgid "Unable to change server settings:"
-#~ msgstr "Не удается изменить настройки сервера:"
-
-#~ msgid "Unable to copy 64-bit CUPS printer driver files (%d)"
-#~ msgstr "Не удается копировать 64-битовые файлы драйвера принтера CUPS (%d)"
-
-#~ msgid "Unable to copy 64-bit CUPS printer driver files (%d)!"
-#~ msgstr "Не удается копировать 64-битовые файлы драйвера принтера CUPS (%d)!"
-
-#~ msgid "Unable to copy 64-bit Windows printer driver files (%d)"
-#~ msgstr ""
-#~ "Не удается копировать 64-битовые файлы драйвера принтера для Windows (%d)"
-
-#~ msgid "Unable to copy 64-bit Windows printer driver files (%d)!"
-#~ msgstr ""
-#~ "Не удается копировать 64-битовые файлы драйвера принтера для Windows (%d)!"
-
-#~ msgid "Unable to copy CUPS printer driver files (%d)"
-#~ msgstr "Не удается копировать файлы драйвера принтера CUPS (%d)"
-
-#~ msgid "Unable to copy CUPS printer driver files (%d)!"
-#~ msgstr "Не удается копировать файлы драйвера принтера CUPS (%d)!"
-
-#~ msgid "Unable to copy PPD file"
-#~ msgstr "Не удается копировать PPD-файл"
-
-#~ msgid "Unable to copy PPD file - %s!"
-#~ msgstr "Не удается копировать PPD-файл – %s!"
-
-#~ msgid "Unable to copy PPD file!"
-#~ msgstr "Не удается копировать PPD-файл!"
-
-#~ msgid "Unable to copy Windows 2000 printer driver files (%d)"
-#~ msgstr "Не удается копировать файлы драйвера принтера Windows 2000 (%d)"
-
-#~ msgid "Unable to copy Windows 2000 printer driver files (%d)!"
-#~ msgstr "Не удается копировать файлы драйвера принтера Windows 2000 (%d)!"
-
-#~ msgid "Unable to copy Windows 9x printer driver files (%d)"
-#~ msgstr "Не удается копировать файлы драйвера принтера Windows 9x (%d)"
-
-#~ msgid "Unable to copy Windows 9x printer driver files (%d)!"
-#~ msgstr "Не удается копировать файлы драйвера принтера Windows 9x (%d)!"
-
-#~ msgid "Unable to copy interface script - %s!"
-#~ msgstr "Не удается копировать скрипт интерфейса – %s!"
-
-#~ msgid "Unable to create printer-uri!"
-#~ msgstr "Не удается создать printer-uri!"
-
-#~ msgid "Unable to create temporary file:"
-#~ msgstr "Не удается создать временный файл:"
-
-#~ msgid "Unable to delete class:"
-#~ msgstr "Не удается удалить класс:"
-
-#~ msgid "Unable to delete printer:"
-#~ msgstr "Не удается удалить принтер:"
-
-#~ msgid "Unable to do maintenance command:"
-#~ msgstr "Не удается выполнить команду обслуживания:"
-
-#~ msgid "Unable to edit cupsd.conf files larger than 1MB!"
-#~ msgstr "Невозможно редактировать файлы «cupsd.conf» больше 1 МБ!"
-
-#~ msgid "Unable to find destination for job!"
-#~ msgstr "Не удается найти назначение для задания!"
-
-#~ msgid "Unable to find printer\n"
-#~ msgstr "Не удается найти принтер\n"
-
-#~ msgid "Unable to find printer!\n"
-#~ msgstr "Не удается найти принтер!\n"
-
-#~ msgid "Unable to get class list:"
-#~ msgstr "Не удается получить список класса:"
-
-#~ msgid "Unable to get class status:"
-#~ msgstr "Не удается получить статус класса:"
-
-#~ msgid "Unable to get list of printer drivers:"
-#~ msgstr "Не удается получить список драйверов принтера:"
-
-#~ msgid "Unable to get printer attributes:"
-#~ msgstr "Не удается получить атрибуты принтера:"
-
-#~ msgid "Unable to get printer list:"
-#~ msgstr "Не удается получить список принтеров:"
-
-#~ msgid "Unable to get printer status:"
-#~ msgstr "Не удается получить статус принтера:"
-
-#~ msgid "Unable to install Windows 2000 printer driver files (%d)"
-#~ msgstr "Не удается установить файлы драйвера принтера Windows 2000 (%d)"
-
-#~ msgid "Unable to install Windows 2000 printer driver files (%d)!"
-#~ msgstr "Не удается установить файлы драйвера принтера Windows 2000 (%d)!"
-
-#~ msgid "Unable to install Windows 9x printer driver files (%d)"
-#~ msgstr "Не удается установить файлы драйвера принтера Windows 9x (%d)"
-
-#~ msgid "Unable to install Windows 9x printer driver files (%d)!"
-#~ msgstr "Не удается установить файлы драйвера принтера Windows 9x (%d)!"
-
-#~ msgid "Unable to modify class:"
-#~ msgstr "Не удается изменить класс:"
-
-#~ msgid "Unable to modify printer:"
-#~ msgstr "Не удается изменить принтер:"
-
-#~ msgid "Unable to open PPD file:"
-#~ msgstr "Не удается открыть PPD-файл:"
-
-#~ msgid "Unable to open document %d in job %d"
-#~ msgstr "Не удается открыть документ %d в задании %d"
-
-#~ msgid "Unable to open document %d in job %d!"
-#~ msgstr "Не удается открыть документ %d в задании %d!"
-
-#~ msgid "Unable to print test page:"
-#~ msgstr "Не удается напечатать пробную страницу:"
-
-#~ msgid "Unable to run \"%s\": %s\n"
-#~ msgstr "Не удается запустить «%s»: %s\n"
-
-#~ msgid "Unable to send command to printer driver!"
-#~ msgstr "Не удается отправить команду драйверу принтера!"
-
-#~ msgid "Unable to set Windows printer driver (%d)"
-#~ msgstr "Не удается настроить драйвер принтера Windows (%d)"
-
-#~ msgid "Unable to set Windows printer driver (%d)!"
-#~ msgstr "Не удается настроить драйвер принтера Windows (%d)!"
-
-#~ msgid "Unable to set options:"
-#~ msgstr "Не удается настроить параметры:"
-
-#~ msgid "Unable to set server default:"
-#~ msgstr "Не удается назначить сервер используемым по умолчанию:"
-
-#~ msgid "Unable to upload cupsd.conf file:"
-#~ msgstr "Не удается загрузить файл «cupsd.conf»:"
-
-#~ msgid "Unable to use legacy USB class driver\n"
-#~ msgstr "Не удается использовать устаревший драйвер класса USB \n"
-
-#~ msgid "Unable to use legacy USB class driver!\n"
-#~ msgstr "Не удается использовать устаревший драйвер класса USB!\n"
-
-#~ msgid "Unknown printer error (%s)!"
-#~ msgstr "Неизвестная ошибка принтера (%s)!"
-
-#~ msgid "Unsupported character set \"%s\""
-#~ msgstr "Неподдерживаемый набор символов \"%s\""
-
-#~ msgid "Unsupported character set \"%s\"!"
-#~ msgstr "Неподдерживаемый набор символов «%s»!"
-
-#~ msgid "Unsupported compression \"%s\""
-#~ msgstr "Неподдерживаемое сжатие \"%s\""
-
-#~ msgid "Unsupported compression \"%s\"!"
-#~ msgstr "Неподдерживаемое сжатие «%s»!"
-
-#~ msgid "Unsupported compression attribute %s"
-#~ msgstr "Неподдерживаемый атрибут сжатия %s"
-
-#~ msgid "Unsupported compression attribute %s!"
-#~ msgstr "Неподдерживаемый атрибут сжатия %s!"
-
-#~ msgid "Unsupported format \"%s\""
-#~ msgstr "Неподдерживаемый формат \"%s\""
-
-#~ msgid "Unsupported format \"%s\"!"
-#~ msgstr "Неподдерживаемый формат «%s»!"
-
-#~ msgid "Unsupported format '%s'"
-#~ msgstr "Неподдерживаемый формат '%s'"
-
-#~ msgid "Unsupported format '%s'!"
-#~ msgstr "Неподдерживаемый формат «%s»!"
-
-#~ msgid "Unsupported format '%s/%s'"
-#~ msgstr "Неподдерживаемый формат '%s/%s'"
-
-#~ msgid "Unsupported format '%s/%s'!"
-#~ msgstr "Неподдерживаемый формат «%s/%s»!"
-
-#~ msgid ""
-#~ "Usage:\n"
-#~ "\n"
-#~ " lpadmin [-h server] -d destination\n"
-#~ " lpadmin [-h server] -x destination\n"
-#~ " lpadmin [-h server] -p printer [-c add-class] [-i interface] [-m "
-#~ "model]\n"
-#~ " [-r remove-class] [-v device] [-D description]\n"
-#~ " [-P ppd-file] [-o name=value]\n"
-#~ " [-u allow:user,user] [-u deny:user,user]\n"
-#~ "\n"
-#~ msgstr ""
-#~ "Синтаксис:\n"
-#~ "\n"
-#~ " lpadmin [-h server] -d destination\n"
-#~ " lpadmin [-h server] -x destination\n"
-#~ " lpadmin [-h server] -p printer [-c add-class] [-i interface] [-m "
-#~ "model]\n"
-#~ " [-r remove-class] [-v device] [-D description]\n"
-#~ " [-P ppd-file] [-o name=value]\n"
-#~ " [-u allow:user,user] [-u deny:user,user]\n"
-#~ "\n"
-
-#~ msgid "Usage: %s job user title copies options [filename]\n"
-#~ msgstr "Синтаксис: %s job user title copies options [filename]\n"
-
-#~ msgid "Usage: %s job-id user title copies options [file]\n"
-#~ msgstr "Синтаксис: %s job-id user title copies options [file]\n"
-
-#~ msgid "Usage: %s job-id user title copies options file\n"
-#~ msgstr "Синтаксис: %s job-id user title copies options file\n"
-
-#~ msgid ""
-#~ "Usage: convert [ options ]\n"
-#~ "\n"
-#~ "Options:\n"
-#~ "\n"
-#~ " -e Use every filter from the PPD file\n"
-#~ " -f filename Set file to be converted (otherwise stdin)\n"
-#~ " -o filename Set file to be generated (otherwise stdout)\n"
-#~ " -i mime/type Set input MIME type (otherwise auto-typed)\n"
-#~ " -j mime/type Set output MIME type (otherwise application/pdf)\n"
-#~ " -P filename.ppd Set PPD file\n"
-#~ " -a 'name=value ...' Set option(s)\n"
-#~ " -U username Set username for job\n"
-#~ " -J title Set title\n"
-#~ " -c copies Set number of copies\n"
-#~ " -u Remove the PPD file when finished\n"
-#~ " -D Remove the input file when finished\n"
-#~ msgstr ""
-#~ "Синтаксис: convert [ options ]\n"
-#~ "\n"
-#~ "Параметры:\n"
-#~ "\n"
-#~ " -f filename Указывается конвертируемый файл (в противном "
-#~ "случае stdin)\n"
-#~ " -o filename Указывается создаваемый файл (в противном случае "
-#~ "stdout)\n"
-#~ " -i mime/type Указывается MIME-тип данных на входе (в противном "
-#~ "случае auto-typed)\n"
-#~ " -j mime/type Указывается MIME-тип данных на выходе (в противном "
-#~ "случае application/pdf)\n"
-#~ " -P filename.ppd Указывается PPD-файл\n"
-#~ " -a 'name=value ...' Указываются параметры\n"
-#~ " -U username Указывается имя пользователя для задания\n"
-#~ " -J title Указывается заголовок\n"
-#~ " -c copies Указывается количество копий\n"
-#~ " -u PPD-файл удаляется после выполнения команды\n"
-#~ " -D Файл, поступивший на вход, удаляется после "
-#~ "выполнения команды\n"
-
-#~ msgid ""
-#~ "Usage: convert [ options ]\n"
-#~ "\n"
-#~ "Options:\n"
-#~ "\n"
-#~ " -f filename Set file to be converted (otherwise stdin)\n"
-#~ " -o filename Set file to be generated (otherwise stdout)\n"
-#~ " -i mime/type Set input MIME type (otherwise auto-typed)\n"
-#~ " -j mime/type Set output MIME type (otherwise application/pdf)\n"
-#~ " -P filename.ppd Set PPD file\n"
-#~ " -a 'name=value ...' Set option(s)\n"
-#~ " -U username Set username for job\n"
-#~ " -J title Set title\n"
-#~ " -c copies Set number of copies\n"
-#~ " -u Remove the PPD file when finished\n"
-#~ " -D Remove the input file when finished\n"
-#~ msgstr ""
-#~ "Синтаксис: convert [ options ]\n"
-#~ "\n"
-#~ "Параметры:\n"
-#~ "\n"
-#~ " -f filename Указывается конвертируемый файл (в противном "
-#~ "случае stdin)\n"
-#~ " -o filename Указывается создаваемый файл (в противном случае "
-#~ "stdout)\n"
-#~ " -i mime/type Указывается MIME-тип данных на входе (в противном "
-#~ "случае auto-typed)\n"
-#~ " -j mime/type Указывается MIME-тип данных на выходе (в противном "
-#~ "случае application/pdf)\n"
-#~ " -P filename.ppd Указывается PPD-файл\n"
-#~ " -a 'name=value ...' Указываются параметры\n"
-#~ " -U username Указывается имя пользователя для задания\n"
-#~ " -J title Указывается заголовок\n"
-#~ " -c copies Указывается количество копий\n"
-#~ " -u PPD-файл удаляется после выполнения команды\n"
-#~ " -D Файл, поступивший на вход, удаляется после "
-#~ "выполнения команды\n"
-
-#~ msgid ""
-#~ "Usage: cupsaddsmb [options] printer1 ... printerN\n"
-#~ " cupsaddsmb [options] -a\n"
-#~ "\n"
-#~ "Options:\n"
-#~ " -E Encrypt the connection to the server\n"
-#~ " -H samba-server Use the named SAMBA server\n"
-#~ " -U samba-user Authenticate using the named SAMBA user\n"
-#~ " -a Export all printers\n"
-#~ " -h cups-server Use the named CUPS server\n"
-#~ " -v Be verbose (show commands)\n"
-#~ msgstr ""
-#~ "Синтаксис: cupsaddsmb [options] printer1 ... printerN\n"
-#~ " cupsaddsmb [options] -a\n"
-#~ "\n"
-#~ "Параметры:\n"
-#~ " -E Подключение к серверу шифруется\n"
-#~ " -H samba-server Используется названный сервер SAMBA\n"
-#~ " -U samba-user Выполняется проверка подлинности с использованием "
-#~ "указанного пользователя SAMBA\n"
-#~ " -a Экспортируются все принтеры\n"
-#~ " -h cups-server Используется названный сервер CUPS\n"
-#~ " -v Подробное отображение (показать команды)\n"
-
-#~ msgid ""
-#~ "Usage: cupsctl [options] [param=value ... paramN=valueN]\n"
-#~ "\n"
-#~ "Options:\n"
-#~ "\n"
-#~ " -E Enable encryption\n"
-#~ " -U username Specify username\n"
-#~ " -h server[:port] Specify server address\n"
-#~ "\n"
-#~ " --[no-]debug-logging Turn debug logging on/off\n"
-#~ " --[no-]remote-admin Turn remote administration on/off\n"
-#~ " --[no-]remote-any Allow/prevent access from the Internet\n"
-#~ " --[no-]remote-printers Show/hide remote printers\n"
-#~ " --[no-]share-printers Turn printer sharing on/off\n"
-#~ " --[no-]user-cancel-any Allow/prevent users to cancel any job\n"
-#~ msgstr ""
-#~ "Синтаксис: cupsctl [options] [param=value ... paramN=valueN]\n"
-#~ "\n"
-#~ "Параметры:\n"
-#~ "\n"
-#~ " -E Включается шифрование\n"
-#~ " -U username Указывается имя пользователя\n"
-#~ " -h server[:port] Указывается адрес сервера\n"
-#~ "\n"
-#~ " --[no-]debug-logging Включается/отключается ведение журнала "
-#~ "отладки\n"
-#~ " --[no-]remote-admin Включается/отключается удаленное "
-#~ "администрирование\n"
-#~ " --[no-]remote-any Разрешается/запрещается доступ из Интернета\n"
-#~ " --[no-]remote-printers Отображаются/скрываются удаленные принтеры\n"
-#~ " --[no-]share-printers Включается/отключается совместное "
-#~ "использование принтеров\n"
-#~ " --[no-]user-cancel-any Пользователям разрешается/запрещается "
-#~ "отменять задания\n"
-
-#~ msgid ""
-#~ "Usage: cupsd [-c config-file] [-f] [-F] [-h] [-l]\n"
-#~ "\n"
-#~ "-c config-file Load alternate configuration file\n"
-#~ "-f Run in the foreground\n"
-#~ "-F Run in the foreground but detach\n"
-#~ "-h Show this usage message\n"
-#~ "-l Run cupsd from launchd(8)\n"
-#~ msgstr ""
-#~ "Синтаксис: cupsd [-c config-file] [-f] [-F] [-h] [-l]\n"
-#~ "\n"
-#~ "-c config-file Загружается альтернативный файл конфигурации\n"
-#~ "-f Задание имеет высокий приоритет\n"
-#~ "-F Задание имеет высокий приоритет и выделяется\n"
-#~ "-h Отображается данное сообщение\n"
-#~ "-l cupsd запускается из launchd(8)\n"
-
-#~ msgid ""
-#~ "Usage: cupsfilter -m mime/type [ options ] filename\n"
-#~ "\n"
-#~ "Options:\n"
-#~ "\n"
-#~ " -c cupsd.conf Set cupsd.conf file to use\n"
-#~ " -e Use every filter from the PPD file\n"
-#~ " -j job-id[,N] Filter file N from the specified job (default is file "
-#~ "1)\n"
-#~ " -n copies Set number of copies\n"
-#~ " -o name=value Set option(s)\n"
-#~ " -p filename.ppd Set PPD file\n"
-#~ " -t title Set title\n"
-#~ msgstr ""
-#~ "Синтаксис: cupsfilter -m mime/type [ options ] filename\n"
-#~ "\n"
-#~ "Параметры:\n"
-#~ "\n"
-#~ " -c cupsd.conf Используется файл cupsd.conf\n"
-#~ " -j job-id[,N] Из указанного задания выбирается файл N (по умолчанию "
-#~ "файл 1)\n"
-#~ " -n copies Задается количество копий\n"
-#~ " -o name=value Задаются параметры\n"
-#~ " -p filename.ppd Задается PPD-файл\n"
-#~ " -t title Задается заголовок\n"
-
-#~ msgid ""
-#~ "Usage: cupsfilter -m mime/type [ options ] filename\n"
-#~ "\n"
-#~ "Options:\n"
-#~ "\n"
-#~ " -c cupsd.conf Set cupsd.conf file to use\n"
-#~ " -j job-id[,N] Filter file N from the specified job (default is file "
-#~ "1)\n"
-#~ " -n copies Set number of copies\n"
-#~ " -o name=value Set option(s)\n"
-#~ " -p filename.ppd Set PPD file\n"
-#~ " -t title Set title\n"
-#~ msgstr ""
-#~ "Синтаксис: cupsfilter -m mime/type [ options ] filename\n"
-#~ "\n"
-#~ "Параметры:\n"
-#~ "\n"
-#~ " -c cupsd.conf Используется файл cupsd.conf\n"
-#~ " -j job-id[,N] Из указанного задания выбирается файл N (по умолчанию "
-#~ "файл 1)\n"
-#~ " -n copies Задается количество копий\n"
-#~ " -o name=value Задаются параметры\n"
-#~ " -p filename.ppd Задается PPD-файл\n"
-#~ " -t title Задается заголовок\n"
-
-#~ msgid ""
-#~ "Usage: cupstestdsc [options] filename.ps [... filename.ps]\n"
-#~ " cupstestdsc [options] -\n"
-#~ "\n"
-#~ "Options:\n"
-#~ "\n"
-#~ " -h Show program usage\n"
-#~ "\n"
-#~ " Note: this program only validates the DSC comments, not the "
-#~ "PostScript itself.\n"
-#~ msgstr ""
-#~ "Синтаксис: cupstestdsc [options] filename.ps [... filename.ps]\n"
-#~ " cupstestdsc [options] -\n"
-#~ "\n"
-#~ "Параметры:\n"
-#~ "\n"
-#~ " -h Отображается справка по использованию программы\n"
-#~ "\n"
-#~ " Примечание: данная программа проверяет только комментарии DSC, а не "
-#~ "сам PostScript.\n"
-
-#~ msgid ""
-#~ "Usage: cupstestppd [options] filename1.ppd[.gz] [... filenameN.ppd[.gz]]\n"
-#~ " program | cupstestppd [options] -\n"
-#~ "\n"
-#~ "Options:\n"
-#~ "\n"
-#~ " -I {filename,filters,none,profiles}\n"
-#~ " Ignore specific warnings\n"
-#~ " -R root-directory Set alternate root\n"
-#~ " -W {all,none,constraints,defaults,duplex,filters,profiles,sizes,"
-#~ "translations}\n"
-#~ " Issue warnings instead of errors\n"
-#~ " -q Run silently\n"
-#~ " -r Use 'relaxed' open mode\n"
-#~ " -v Be slightly verbose\n"
-#~ " -vv Be very verbose\n"
-#~ msgstr ""
-#~ "Синтаксис: cupstestppd [options] filename1.ppd[.gz] [... filenameN.ppd[."
-#~ "gz]]\n"
-#~ " program | cupstestppd [options] -\n"
-#~ "\n"
-#~ "Параметры:\n"
-#~ "\n"
-#~ " -R root-directory Задается альтернативный корневой каталог\n"
-#~ " -W {all,none,constraints,defaults,duplex,filters,translations}\n"
-#~ " Вместо ошибок выдаются предупреждения\n"
-#~ " -q Команда выполняется в «тихом» режиме\n"
-#~ " -r Используется открытый режим\n"
-#~ " -v Режим более подробного отображения\n"
-#~ " -vv Режим максимально подробного отображения\n"
-
-#~ msgid ""
-#~ "Usage: cupstestppd [options] filename1.ppd[.gz] [... filenameN.ppd[.gz]]\n"
-#~ " program | cupstestppd [options] -\n"
-#~ "\n"
-#~ "Options:\n"
-#~ "\n"
-#~ " -R root-directory Set alternate root\n"
-#~ " -W {all,none,constraints,defaults,duplex,filters,translations}\n"
-#~ " Issue warnings instead of errors\n"
-#~ " -q Run silently\n"
-#~ " -r Use 'relaxed' open mode\n"
-#~ " -v Be slightly verbose\n"
-#~ " -vv Be very verbose\n"
-#~ msgstr ""
-#~ "Синтаксис: cupstestppd [options] filename1.ppd[.gz] [... filenameN.ppd[."
-#~ "gz]]\n"
-#~ " program | cupstestppd [options] -\n"
-#~ "\n"
-#~ "Параметры:\n"
-#~ "\n"
-#~ " -R root-directory Задается альтернативный корневой каталог\n"
-#~ " -W {all,none,constraints,defaults,duplex,filters,translations}\n"
-#~ " Вместо ошибок выдаются предупреждения\n"
-#~ " -q Команда выполняется в «тихом» режиме\n"
-#~ " -r Используется открытый режим\n"
-#~ " -v Режим более подробного отображения\n"
-#~ " -vv Режим максимально подробного отображения\n"
-
-#~ msgid ""
-#~ "Usage: ipptest [options] URI filename.test [ ... filenameN.test ]\n"
-#~ "\n"
-#~ "Options:\n"
-#~ "\n"
-#~ "-E Test with encryption.\n"
-#~ "-V version Set default IPP version.\n"
-#~ "-X Produce XML instead of plain text.\n"
-#~ "-c Send requests using chunking (default)\n"
-#~ "-d name=value Define variable.\n"
-#~ "-f filename Set default test file.\n"
-#~ "-i seconds Repeat the last test file with the given interval.\n"
-#~ "-l Send requests using content-length\n"
-#~ "-v Show all attributes sent and received.\n"
-#~ msgstr ""
-#~ "Синтаксис: ipptest [options] URI filename.test [ ... filenameN.test ]\n"
-#~ "\n"
-#~ "Параметры:\n"
-#~ "\n"
-#~ "-E\t\tТест с шифрованием.\n"
-#~ "-V version\tЗадается стандартная версия IPP.\n"
-#~ "-X\t\tСоздание XML вместо обычного текста.\n"
-#~ "-c\t\tПередача запроса с использованием chunking (по умолчанию)-d "
-#~ "name=value\tОпределение переменной.\n"
-#~ "-f filename\tСоздание стандартного тест-файла.\n"
-#~ "-i seconds\tПовторение последнего тест-файла с заданным интервалом.\n"
-#~ "-l\t\tПередача запроса с использованием content-length.\n"
-#~ "-v\t\tПоказать все атрибуты отправленных и полученных.\n"
-
-#~ msgid "Usage: lpmove job/src dest\n"
-#~ msgstr "Синтаксис: lpmove job/src dest\n"
-
-#~ msgid ""
-#~ "Usage: lpoptions [-h server] [-E] -d printer\n"
-#~ " lpoptions [-h server] [-E] [-p printer] -l\n"
-#~ " lpoptions [-h server] [-E] -p printer -o option[=value] ...\n"
-#~ " lpoptions [-h server] [-E] -x printer\n"
-#~ msgstr ""
-#~ "Usage: lpoptions [-h server] [-E] -d printer\n"
-#~ " lpoptions [-h server] [-E] [-p printer] -l\n"
-#~ " lpoptions [-h server] [-E] -p printer -o option[=value] ...\n"
-#~ " lpoptions [-h server] [-E] -x printer\n"
-
-#~ msgid "Usage: lppasswd [-g groupname]\n"
-#~ msgstr "Синтаксис: lppasswd [-g groupname]\n"
-
-#~ msgid ""
-#~ "Usage: lppasswd [-g groupname] [username]\n"
-#~ " lppasswd [-g groupname] -a [username]\n"
-#~ " lppasswd [-g groupname] -x [username]\n"
-#~ msgstr ""
-#~ "{>Синтаксис: lppasswd [-g groupname] [username]\n"
-#~ " lppasswd [-g groupname] -a [username]\n"
-#~ " lppasswd [-g groupname] -x [username]\n"
-
-#~ msgid ""
-#~ "Usage: lpq [-P dest] [-U username] [-h hostname[:port]] [-l] [+interval]\n"
-#~ msgstr ""
-#~ "Синтаксис: lpq [-P dest] [-U username] [-h hostname[:port]] [-l] "
-#~ "[+interval]\n"
-
-#~ msgid ""
-#~ "Usage: ppdc [options] filename.drv [ ... filenameN.drv ]\n"
-#~ "Options:\n"
-#~ " -D name=value Set named variable to value.\n"
-#~ " -I include-dir Add include directory to search path.\n"
-#~ " -c catalog.po Load the specified message catalog.\n"
-#~ " -d output-dir Specify the output directory.\n"
-#~ " -l lang[,lang,...] Specify the output language(s) (locale).\n"
-#~ " -m Use the ModelName value as the filename.\n"
-#~ " -t Test PPDs instead of generating them.\n"
-#~ " -v Be verbose (more v's for more verbosity).\n"
-#~ " -z Compress PPD files using GNU zip.\n"
-#~ " --cr End lines with CR (Mac OS 9).\n"
-#~ " --crlf End lines with CR + LF (Windows).\n"
-#~ " --lf End lines with LF (UNIX/Linux/Mac OS X).\n"
-#~ msgstr ""
-#~ "Синтаксис: ppdc [options] filename.drv [ ... filenameN.drv ]\n"
-#~ "Параметры:\n"
-#~ " -D name=value Указанной переменной присваивается значение.\n"
-#~ " -I include-dir Добавляется каталог в путь поиска.\n"
-#~ " -c catalog.po Загружается указанный каталог сообщений.\n"
-#~ " -d output-dir Указывается каталог для выходных данных.\n"
-#~ " -l lang[,lang,...] Указывается язык (регион) для выходных данных.\n"
-#~ " -m В качестве имени файла используется значение "
-#~ "ModelName.\n"
-#~ " -t Вместо создания PPD-файлов выполняется их "
-#~ "проверка.\n"
-#~ " -v Режим подробного отображения (чем больше букв v, "
-#~ "тем выше уровень детализации).\n"
-#~ " -z Файлы PPD сжимаются с использованием GNU zip.\n"
-#~ " --cr Строки заканчиваются на CR (Mac OS 9).\n"
-#~ " --crlf Строки заканчиваются на CR + LF (Windows).\n"
-#~ " --lf Строки заканчиваются на LF (UNIX/Linux/Mac OS X).\n"
-
-#~ msgid ""
-#~ "Usage: ppdhtml [options] filename.drv >filename.html\n"
-#~ " -D name=value Set named variable to value.\n"
-#~ "Options:\n"
-#~ " -I include-dir Add include directory to search path.\n"
-#~ msgstr ""
-#~ "Синтаксис: ppdhtml [options] filename.drv >filename.html\n"
-#~ " -D name=value Указанной переменной присваивается значение.\n"
-#~ "Параметры:\n"
-#~ " -I include-dir Добавляется каталог в путь поиска.\n"
-
-#~ msgid ""
-#~ "Usage: ppdi [options] filename.ppd [ ... filenameN.ppd ]\n"
-#~ "Options:\n"
-#~ " -I include-dir\n"
-#~ " -o filename.drv\n"
-#~ msgstr ""
-#~ "Синтаксис: ppdi [options] filename.ppd [ ... filenameN.ppd ]\n"
-#~ "Параметры:\n"
-#~ " -I include-dir\n"
-#~ " -o filename.drv\n"
-
-#~ msgid ""
-#~ "Usage: ppdmerge [options] filename.ppd [ ... filenameN.ppd ]\n"
-#~ "Options:\n"
-#~ " -o filename.ppd[.gz]\n"
-#~ msgstr ""
-#~ "Синтаксис: ppdmerge [options] filename.ppd [ ... filenameN.ppd ]\n"
-#~ "Параметры:\n"
-#~ " -o filename.ppd[.gz]\n"
-
-#~ msgid ""
-#~ "Usage: ppdpo [options] -o filename.po filename.drv [ ... filenameN.drv ]\n"
-#~ "Options:\n"
-#~ " -D name=value Set named variable to value.\n"
-#~ " -I include-dir Add include directory to search path.\n"
-#~ " -v Be verbose (more v's for more verbosity).\n"
-#~ msgstr ""
-#~ "Синтаксис: ppdpo [options] -o filename.po filename.drv [ ... filenameN."
-#~ "drv ]\n"
-#~ "Параметры:\n"
-#~ " -D name=value Указанной переменной присваивается значение.\n"
-#~ " -I include-dir Добавляется каталог в путь поиска.\n"
-#~ " -v Подробный режим (чем больше букв v, тем выше уровень "
-#~ "детализации).\n"
-
-#~ msgid "Usage: snmp [host-or-ip-address]\n"
-#~ msgstr "Синтаксис: snmp [host-or-ip-address]\n"
-
-#~ msgid "WARNING: Adding only the first %d printers found"
-#~ msgstr "WARNING: Будут добавлены только первые найденные принтеры (%d)"
-
-#~ msgid "WARNING: Boolean expected for waiteof option \"%s\"\n"
-#~ msgstr "WARNING: Параметр waiteof «%s» должен иметь булево значение\n"
-
-#~ msgid "WARNING: Failed to read side-channel request!\n"
-#~ msgstr "WARNING: Не удалось прочитать запрос бокового канала!\n"
-
-#~ msgid "WARNING: Network host '%s' is busy; will retry in %d seconds...\n"
-#~ msgstr ""
-#~ "WARNING: Сетевой узел '%s' занят; повторить попытку через %d секунд...\n"
-
-#~ msgid "WARNING: Option \"%s\" cannot be included via IncludeFeature\n"
-#~ msgstr ""
-#~ "WARNING: Параметр \"%s\" не может быть добавлен через IncludeFeature\n"
-
-#~ msgid "WARNING: Option \"%s\" cannot be included via IncludeFeature!\n"
-#~ msgstr ""
-#~ "WARNING: Параметр «%s» не может быть включен через IncludeFeature!\n"
-
-#~ msgid "WARNING: Printer not responding\n"
-#~ msgstr "WARNING: Принтер не отвечает\n"
-
-#~ msgid "WARNING: Printer sent unexpected EOF\n"
-#~ msgstr "WARNING: Принтер преждевременно передал индикатор EOF\n"
-
-#~ msgid ""
-#~ "WARNING: Remote host did not respond with command status byte after %d "
-#~ "seconds\n"
-#~ msgstr ""
-#~ "WARNING: Удаленный хост не отвечает на команду в течение %d секунд\n"
-
-#~ msgid ""
-#~ "WARNING: Remote host did not respond with command status byte after %d "
-#~ "seconds!\n"
-#~ msgstr ""
-#~ "WARNING: Удаленный хост не ответил байтом command-статуса после %d "
-#~ "секунд!\n"
-
-#~ msgid ""
-#~ "WARNING: Remote host did not respond with control status byte after %d "
-#~ "seconds\n"
-#~ msgstr ""
-#~ "WARNING: Удаленный хост не отвечает на управляющую последовательность в "
-#~ "течение %d секунд\n"
-
-#~ msgid ""
-#~ "WARNING: Remote host did not respond with control status byte after %d "
-#~ "seconds!\n"
-#~ msgstr ""
-#~ "WARNING: Удаленный хост не ответил байтом control-статуса после %d "
-#~ "секунд!\n"
-
-#~ msgid ""
-#~ "WARNING: Remote host did not respond with data status byte after %d "
-#~ "seconds\n"
-#~ msgstr ""
-#~ "WARNING: Удаленный хост не отвечает при передачи данных в течение %d "
-#~ "секунд\n"
-
-#~ msgid ""
-#~ "WARNING: Remote host did not respond with data status byte after %d "
-#~ "seconds!\n"
-#~ msgstr ""
-#~ "WARNING: Удаленный хост не ответил байтом data-статуса после %d секунд!\n"
-
-#~ msgid "WARNING: SCSI command timed out (%d); retrying...\n"
-#~ msgstr "WARNING: Время команды SCSI истекло (%d). Повтор попытки…\n"
-
-#~ msgid ""
-#~ "WARNING: This document does not conform to the Adobe Document Structuring "
-#~ "Conventions and may not print correctly\n"
-#~ msgstr ""
-#~ "WARNING: Этот документ не соответствует Adobe Document Structuring "
-#~ "Conventions и может быть напечатан неправильно\n"
-
-#~ msgid ""
-#~ "WARNING: This document does not conform to the Adobe Document Structuring "
-#~ "Conventions and may not print correctly!\n"
-#~ msgstr ""
-#~ "WARNING: Этот документ не соответствует Adobe Document Structuring "
-#~ "Conventions и может быть напечатан неправильно!\n"
-
-#~ msgid "WARNING: Unable to open \"%s:%s\": %s\n"
-#~ msgstr "WARNING: Не удается открыть «%s:%s»: %s\n"
-
-#~ msgid "WARNING: Unable to send PAP status request"
-#~ msgstr "WARNING: Не удается отправить запрос статуса PAP"
-
-#~ msgid "WARNING: Unexpected PAP packet of type %d\n"
-#~ msgstr "WARNING: Непредвиденный PAP-пакет типа %d\n"
-
-#~ msgid "WARNING: Unknown PAP packet of type %d\n"
-#~ msgstr "WARNING: Неизвестный PAP-пакет типа %d\n"
-
-#~ msgid "WARNING: Unknown choice \"%s\" for option \"%s\"\n"
-#~ msgstr "WARNING: Неизвестный выбор \"%s\" для параметра \"%s\"\n"
-
-#~ msgid "WARNING: Unknown choice \"%s\" for option \"%s\"!\n"
-#~ msgstr "WARNING: Неизвестный выбор «%s» для параметра «%s»!\n"
-
-#~ msgid "WARNING: Unknown option \"%s\"\n"
-#~ msgstr "WARNING: Неизвестный параметр \"%s\"\n"
-
-#~ msgid "WARNING: Unknown option \"%s\"!\n"
-#~ msgstr "WARNING: Неизвестный параметр «%s»!\n"
-
-#~ msgid "WARNING: Unsupported baud rate %s\n"
-#~ msgstr "WARNING: Неподдерживаемая скорость передачи данных в бодах %s\n"
-
-#~ msgid "WARNING: Unsupported baud rate %s!\n"
-#~ msgstr "WARNING: Неподдерживаемая скорость передачи данных в бодах %s!\n"
-
-#~ msgid "WARNING: number expected for status option \"%s\"\n"
-#~ msgstr "WARNING: Параметр статуса «%s» должен иметь числовое значение\n"
-
-#~ msgid ""
-#~ "WARNING: recoverable: Network host '%s' is busy; will retry in %d "
-#~ "seconds...\n"
-#~ msgstr ""
-#~ "WARNING: Восстанавливаемо. Хост сети «%s» занят. Попытка будет повторена "
-#~ "через %d сек…\n"
-
-#~ msgid "Warning, no Windows 2000 printer drivers are installed"
-#~ msgstr "WARNING: Драйверы принтера Windows 2000 не установлены"
-
-#~ msgid "Warning, no Windows 2000 printer drivers are installed!"
-#~ msgstr "Внимание! Нет установленных драйверов принтера Windows 2000!"
-
-#~ msgid "You4 Envelope"
-#~ msgstr "Конверт You4"
-
-#~ msgid "convert: Use the -f option to specify a file to convert.\n"
-#~ msgstr ""
-#~ "convert: Используйте параметр -f для указания конвертируемого файла.\n"
-
-#~ msgid "cupsaddsmb: No PPD file for printer \"%s\" - %s\n"
-#~ msgstr "cupsaddsmb: Нет PPD-файла для принтера «%s» – %s\n"
-
-#~ msgid "cupsctl: Unable to connect to server: %s\n"
-#~ msgstr "cupsctl: Не удается подключиться к серверу: %s\n"
-
-#~ msgid "cupsctl: Unknown option \"%s\"\n"
-#~ msgstr "cupsctl: Неизвестный параметр \"%s\"\n"
-
-#~ msgid "cupsctl: Unknown option \"%s\"!\n"
-#~ msgstr "cupsctl: Неизвестный параметр «%s»!\n"
-
-#~ msgid "cupsctl: Unknown option \"-%c\"\n"
-#~ msgstr "cupsctl: Неизвестный параметр \"-%c\"\n"
-
-#~ msgid "cupsctl: Unknown option \"-%c\"!\n"
-#~ msgstr "cupsctl: Неизвестный параметр «-%c»!\n"
-
-#~ msgid "cupsd: Expected config filename after \"-c\" option\n"
-#~ msgstr "cupsd: Ожидаемое имя файла конфигурации после параметра \"-с\"\n"
-
-#~ msgid "cupsd: Expected config filename after \"-c\" option!\n"
-#~ msgstr "cupsd: Ожидаемое имя файла конфигурации после параметра «-c»!\n"
-
-#~ msgid "cupsd: Unable to get current directory\n"
-#~ msgstr "cupsd: Не удается определить текущий каталог\n"
-
-#~ msgid "cupsd: Unable to get current directory!\n"
-#~ msgstr "cupsd: Не удается определить текущий каталог!\n"
-
-#~ msgid "cupsd: Unknown argument \"%s\" - aborting\n"
-#~ msgstr "cupsd: Неизвестный аргумент \"%s\" - отмена\n"
-
-#~ msgid "cupsd: Unknown argument \"%s\" - aborting!\n"
-#~ msgstr "cupsd: Неизвестный аргумент «%s» – отмена!\n"
-
-#~ msgid "cupsd: Unknown option \"%c\" - aborting\n"
-#~ msgstr "cupsd: Неизвестный параметр \"%c\" - отмена\n"
-
-#~ msgid "cupsd: Unknown option \"%c\" - aborting!\n"
-#~ msgstr "cupsd: Неизвестный параметр «%c» – отмена!\n"
-
-#~ msgid "cupsd: launchd(8) support not compiled in, running in normal mode.\n"
-#~ msgstr ""
-#~ "cupsd: Поддержка launchd(8) не скомпилирована, работа в нормальном "
-#~ "режиме.\n"
-
-#~ msgid "cupsfilter: Invalid document number %d\n"
-#~ msgstr "cupsfilter: Недопустимый номер документа %d\n"
-
-#~ msgid "cupsfilter: Invalid document number %d!\n"
-#~ msgstr "cupsfilter: Недопустимый номер документа %d!\n"
-
-#~ msgid "cupsfilter: Invalid job ID %d\n"
-#~ msgstr "cupsfilter: Недопустимый ID задания %d\n"
-
-#~ msgid "cupsfilter: Invalid job ID %d!\n"
-#~ msgstr "cupsfilter: Недопустимый ID задания %d!\n"
-
-#~ msgid "cupsfilter: Only one filename can be specified\n"
-#~ msgstr "cupsfilter: Может быть указано только одно имя файла\n"
-
-#~ msgid "cupsfilter: Only one filename can be specified!\n"
-#~ msgstr "cupsfilter: Только одно имя файла может быть указано!\n"
-
-#~ msgid "cupsfilter: Unable to create temporary file: %s\n"
-#~ msgstr "cupsfilter: Не удается создать временный файл: %s\n"
-
-#~ msgid "cupsfilter: Unable to get job file - %s\n"
-#~ msgstr "cupsfilter: Не удается получить файл задания - %s\n"
-
-#~ msgid "cupstestppd: The -q option is incompatible with the -v option.\n"
-#~ msgstr "cupstestppd: Параметр «-q» несовместим с параметром «-v».\n"
-
-#~ msgid "cupstestppd: The -v option is incompatible with the -q option.\n"
-#~ msgstr "cupstestppd: Параметр «-v» несовместим с параметром «-q».\n"
-
-#~ msgid "device for %s/%s: %s\n"
-#~ msgstr "устройство для %s/%s: %s\n"
-
-#~ msgid "device for %s: %s\n"
-#~ msgstr "устройство для %s: %s\n"
-
-#~ msgid "help\t\tget help on commands\n"
-#~ msgstr "справка\t\tполучить справку о командах\n"
-
-#~ msgid "ipptest: \"-i\" is incompatible with \"-x\".\n"
-#~ msgstr "ipptest: \"-i\" несовместимо с \"-x\".\n"
-
-#~ msgid "ipptest: Bad URI - %s.\n"
-#~ msgstr "ipptest: Неверный URI - %s.\n"
-
-#~ msgid "ipptest: Bad version %s for \"-V\".\n"
-#~ msgstr "ipptest: Неверная версия %s для \"-V\".\n"
-
-#~ msgid "ipptest: May only specify a single URI.\n"
-#~ msgstr "ipptest: Может быть определен лишь один URI.\n"
-
-#~ msgid "ipptest: Missing filename for \"-f\".\n"
-#~ msgstr "ipptest: Не определено имя файла для \"-f\".\n"
-
-#~ msgid "ipptest: Missing name=value for \"-d\".\n"
-#~ msgstr "ipptest: Не определено name=value для \"-d\".\n"
-
-#~ msgid "ipptest: Missing seconds for \"-i\".\n"
-#~ msgstr "ipptest: Не указаны секунды для \"-i\".\n"
-
-#~ msgid "ipptest: Missing version for \"-V\".\n"
-#~ msgstr "ipptest: Не определена версия для \"-V\".\n"
-
-#~ msgid "ipptest: Only http, https, and ipp URIs are supported."
-#~ msgstr "ipptest: Поддерживаются только http, https и ipp URI."
-
-#~ msgid "ipptest: URI required before test file."
-#~ msgstr "ipptest: Необходим URI перед указанием тест-файла."
-
-#~ msgid "ipptest: Unknown option \"-%c\".\n"
-#~ msgstr "ipptest: Неизвестный параметр \"-%c\".\n"
-
-#~ msgid "job-printer-uri attribute missing"
-#~ msgstr "Атрибут job-printer-uri отсутствует."
-
-#~ msgid "job-printer-uri attribute missing!"
-#~ msgstr "Атрибут job-printer-uri отсутствует!"
-
-#~ msgid "lpadmin: Class name can only contain printable characters\n"
-#~ msgstr "lpadmin: Имя класса может содержать только печатные символы\n"
-
-#~ msgid "lpadmin: Class name can only contain printable characters!\n"
-#~ msgstr "lpadmin: Имя класса может содержать только печатные символы!\n"
-
-#~ msgid "lpadmin: Expected PPD after '-P' option\n"
-#~ msgstr "lpadmin: После параметра '-P' должен быть указан PPD\n"
-
-#~ msgid "lpadmin: Expected PPD after '-P' option!\n"
-#~ msgstr "lpadmin: После параметра «-P» должен быть указан PPD!\n"
-
-#~ msgid "lpadmin: Expected allow/deny:userlist after '-u' option\n"
-#~ msgstr ""
-#~ "lpadmin: После параметра '-u' должен быть указан allow/deny:userlist.\n"
-
-#~ msgid "lpadmin: Expected allow/deny:userlist after '-u' option!\n"
-#~ msgstr ""
-#~ "lpadmin: После параметра «-u» должен быть указан allow/deny:userlist!\n"
-
-#~ msgid "lpadmin: Expected class after '-r' option\n"
-#~ msgstr "lpadmin: После параметра '-r' должно быть указано имя класса\n"
-
-#~ msgid "lpadmin: Expected class after '-r' option!\n"
-#~ msgstr "lpadmin: После параметра «-r» должен быть указан класс!\n"
-
-#~ msgid "lpadmin: Expected class name after '-c' option\n"
-#~ msgstr "lpadmin: После параметра '-c' должно быть указано имя группы\n"
-
-#~ msgid "lpadmin: Expected class name after '-c' option!\n"
-#~ msgstr "lpadmin: После параметра «-c» должно быть указано имя класса!\n"
-
-#~ msgid "lpadmin: Expected description after '-D' option\n"
-#~ msgstr "lpadmin: После параметра '-D' должно быть указано описание\n"
-
-#~ msgid "lpadmin: Expected description after '-D' option!\n"
-#~ msgstr "lpadmin: После параметра «-D» должно идти описание!\n"
-
-#~ msgid "lpadmin: Expected device URI after '-v' option\n"
-#~ msgstr "lpadmin: После параметра '-v' должно быть указано URI\n"
-
-#~ msgid "lpadmin: Expected device URI after '-v' option!\n"
-#~ msgstr "lpadmin: После параметра «-v» должен быть указан URI устройства!\n"
-
-#~ msgid "lpadmin: Expected file type(s) after '-I' option\n"
-#~ msgstr ""
-#~ "lpadmin: После параметра '-I' должен(-ны) быть указан(-ы) тип(-ы) файла(-"
-#~ "ов)\n"
-
-#~ msgid "lpadmin: Expected file type(s) after '-I' option!\n"
-#~ msgstr "lpadmin: После параметра «-I» должны быть указаны типы файлов!\n"
-
-#~ msgid "lpadmin: Expected hostname after '-h' option\n"
-#~ msgstr "lpadmin: После параметра '-h' должно быть указано имя хоста\n"
-
-#~ msgid "lpadmin: Expected hostname after '-h' option!\n"
-#~ msgstr "lpadmin: После параметра «-h» должно быть указано имя хоста!\n"
-
-#~ msgid "lpadmin: Expected interface after '-i' option\n"
-#~ msgstr "lpadmin: После параметра '-i' должен быть указан интерфейс.\n"
-
-#~ msgid "lpadmin: Expected interface after '-i' option!\n"
-#~ msgstr "lpadmin: После параметра «-i» должен быть указан интерфейс!\n"
-
-#~ msgid "lpadmin: Expected location after '-L' option\n"
-#~ msgstr "lpadmin: После параметра '-L' должно быть указано местоположение\n"
-
-#~ msgid "lpadmin: Expected location after '-L' option!\n"
-#~ msgstr "lpadmin: После параметра «-L» должно быть указано местоположение!\n"
-
-#~ msgid "lpadmin: Expected model after '-m' option\n"
-#~ msgstr "lpadmin: После параметра '-m'должна быть указана модель\n"
-
-#~ msgid "lpadmin: Expected model after '-m' option!\n"
-#~ msgstr "lpadmin: После параметра «-m» должна быть указана модель!\n"
-
-#~ msgid "lpadmin: Expected name=value after '-o' option\n"
-#~ msgstr "lpadmin: После параметра '-o' должно быть указано name=value\n"
-
-#~ msgid "lpadmin: Expected name=value after '-o' option!\n"
-#~ msgstr ""
-#~ "lpadmin: После параметра «-o» должно быть указано значение вида "
-#~ "name=value!\n"
-
-#~ msgid "lpadmin: Expected printer after '-p' option\n"
-#~ msgstr "lpadmin: После параметра '-p' должен быть указан принтер\n"
-
-#~ msgid "lpadmin: Expected printer after '-p' option!\n"
-#~ msgstr "lpadmin: После параметра «-p» должен быть указан принтер!\n"
-
-#~ msgid "lpadmin: Expected printer name after '-d' option\n"
-#~ msgstr "lpadmin: После параметра '-d' должно быть указано имя принтера\n"
-
-#~ msgid "lpadmin: Expected printer name after '-d' option!\n"
-#~ msgstr "lpadmin: После параметра «-d» должно быть указано имя принтера!\n"
-
-#~ msgid "lpadmin: Expected printer or class after '-x' option\n"
-#~ msgstr ""
-#~ "lpadmin: После параметра '-x' должен быть указан принтер или класс\n"
-
-#~ msgid "lpadmin: Expected printer or class after '-x' option!\n"
-#~ msgstr ""
-#~ "lpadmin: После параметра «-x» должен быть указан принтер или класс!\n"
-
-#~ msgid "lpadmin: No member names were seen\n"
-#~ msgstr "lpadmin: Имена пользователей не были найдены\n"
-
-#~ msgid "lpadmin: No member names were seen!\n"
-#~ msgstr "lpadmin: Имена участников не обнаружены!\n"
-
-#~ msgid "lpadmin: Printer %s is already a member of class %s.\n"
-#~ msgstr "lpadmin: Принтер %s уже является членом класса %s.\n"
-
-#~ msgid "lpadmin: Printer %s is not a member of class %s.\n"
-#~ msgstr "lpadmin: Принтер %s не является членом класса %s.\n"
-
-#~ msgid "lpadmin: Printer name can only contain printable characters\n"
-#~ msgstr "lpadmin: Имя принтера может содержать только печатные принтеры\n"
-
-#~ msgid "lpadmin: Printer name can only contain printable characters!\n"
-#~ msgstr "lpadmin: Имя принтера может содержать только печатные символы!\n"
-
-#~ msgid ""
-#~ "lpadmin: Unable to add a printer to the class:\n"
-#~ " You must specify a printer name first\n"
-#~ msgstr ""
-#~ "lpadmin: Не удается добавить принтер в класс:\n"
-#~ "\t Необходимо сначала указать имя принтера\n"
-
-#~ msgid ""
-#~ "lpadmin: Unable to add a printer to the class:\n"
-#~ " You must specify a printer name first!\n"
-#~ msgstr ""
-#~ "lpadmin: Не удается добавить принтер к классу:\n"
-#~ " Необходимо сначала указать имя принтера!\n"
-
-#~ msgid "lpadmin: Unable to connect to server: %s\n"
-#~ msgstr "lpadmin: Не удается подключиться к серверу: %s\n"
-
-#~ msgid "lpadmin: Unable to create temporary file - %s\n"
-#~ msgstr "lpadmin: Не удается создать временный файл – %s\n"
-
-#~ msgid "lpadmin: Unable to create temporary file: %s\n"
-#~ msgstr "lpadmin: Не удается создать временный файл: %s\n"
-
-#~ msgid "lpadmin: Unable to open PPD file \"%s\" - %s\n"
-#~ msgstr "lpadmin: Не удается открыть PPD-файл «%s» – %s\n"
-
-#~ msgid "lpadmin: Unable to open file \"%s\": %s\n"
-#~ msgstr "lpadmin: Не удается открыть файл «%s»: %s\n"
-
-#~ msgid ""
-#~ "lpadmin: Unable to remove a printer from the class:\n"
-#~ " You must specify a printer name first\n"
-#~ msgstr ""
-#~ "lpadmin: Не удается удалить принтер из класса:\n"
-#~ "\t Необходимо сначала указать имя принтера\n"
-
-#~ msgid ""
-#~ "lpadmin: Unable to remove a printer from the class:\n"
-#~ " You must specify a printer name first!\n"
-#~ msgstr ""
-#~ "lpadmin: Не удается удалить принтер из класса:\n"
-#~ " Необходимо сначала указать имя принтера!\n"
-
-#~ msgid ""
-#~ "lpadmin: Unable to set the PPD file:\n"
-#~ " You must specify a printer name first\n"
-#~ msgstr ""
-#~ "lpadmin: Не удается настроить PPD-файл:\n"
-#~ "\t Необходимо сначала указать имя принтера\n"
-
-#~ msgid ""
-#~ "lpadmin: Unable to set the PPD file:\n"
-#~ " You must specify a printer name first!\n"
-#~ msgstr ""
-#~ "lpadmin: Не удается настроить PPD-файл:\n"
-#~ " Необходимо сначала указать имя принтера!\n"
-
-#~ msgid ""
-#~ "lpadmin: Unable to set the device URI:\n"
-#~ " You must specify a printer name first\n"
-#~ msgstr ""
-#~ "lpadmin: не удается настроить URI устройства:\n"
-#~ "\t Необходимо сначала указать имя принтера\n"
-
-#~ msgid ""
-#~ "lpadmin: Unable to set the device URI:\n"
-#~ " You must specify a printer name first!\n"
-#~ msgstr ""
-#~ "lpadmin: Не удается настроить URI устройства:\n"
-#~ " Необходимо сначала указать имя принтера!\n"
-
-#~ msgid ""
-#~ "lpadmin: Unable to set the interface script or PPD file:\n"
-#~ " You must specify a printer name first\n"
-#~ msgstr ""
-#~ "lpadmin: Не удается настроить скрипт интерфейса или PPD-файл:\n"
-#~ "\t Необходимо сначала указать имя принтера\n"
-
-#~ msgid ""
-#~ "lpadmin: Unable to set the interface script or PPD file:\n"
-#~ " You must specify a printer name first!\n"
-#~ msgstr ""
-#~ "lpadmin: Не удается настроить скрипт интерфейса или PPD-файл:\n"
-#~ " Необходимо сначала указать имя принтера!\n"
-
-#~ msgid ""
-#~ "lpadmin: Unable to set the interface script:\n"
-#~ " You must specify a printer name first\n"
-#~ msgstr ""
-#~ "lpadmin: не удается настроить скрипт интерфейса:\n"
-#~ "\t Необходимо сначала указать имя принтера\n"
-
-#~ msgid ""
-#~ "lpadmin: Unable to set the interface script:\n"
-#~ " You must specify a printer name first!\n"
-#~ msgstr ""
-#~ "lpadmin: Не удается настроить скрипт интерфейса:\n"
-#~ " Необходимо сначала указать имя принтера!\n"
-
-#~ msgid ""
-#~ "lpadmin: Unable to set the printer description:\n"
-#~ " You must specify a printer name first\n"
-#~ msgstr ""
-#~ "lpadmin: Не удается настроить описание принтера:\n"
-#~ "\t Необходимо сначала указать имя принтера\n"
-
-#~ msgid ""
-#~ "lpadmin: Unable to set the printer description:\n"
-#~ " You must specify a printer name first!\n"
-#~ msgstr ""
-#~ "lpadmin: Не удается настроить описание принтера:\n"
-#~ " Необходимо сначала указать имя принтера!\n"
-
-#~ msgid ""
-#~ "lpadmin: Unable to set the printer location:\n"
-#~ " You must specify a printer name first\n"
-#~ msgstr ""
-#~ "lpadmin: Не удается настроить размещение принтера:\n"
-#~ "\t Необходимо сначала указать имя принтера\n"
-
-#~ msgid ""
-#~ "lpadmin: Unable to set the printer location:\n"
-#~ " You must specify a printer name first!\n"
-#~ msgstr ""
-#~ "lpadmin: Не удается настроить размещение принтера:\n"
-#~ " Необходимо сначала указать имя принтера!\n"
-
-#~ msgid ""
-#~ "lpadmin: Unable to set the printer options:\n"
-#~ " You must specify a printer name first\n"
-#~ msgstr ""
-#~ "lpadmin: Не удается настроить параметры принтера:\n"
-#~ "\t Необходимо сначала указать имя принтера\n"
-
-#~ msgid ""
-#~ "lpadmin: Unable to set the printer options:\n"
-#~ " You must specify a printer name first!\n"
-#~ msgstr ""
-#~ "lpadmin: Не удается настроить параметры принтера:\n"
-#~ " Необходимо сначала указать имя принтера!\n"
-
-#~ msgid "lpadmin: Unknown allow/deny option \"%s\"\n"
-#~ msgstr "lpadmin: Неизвестный параметр allow/deny \"%s\"\n"
-
-#~ msgid "lpadmin: Unknown allow/deny option \"%s\"!\n"
-#~ msgstr "lpadmin: Неизвестный параметр allow/deny «%s»!\n"
-
-#~ msgid "lpadmin: Unknown argument '%s'\n"
-#~ msgstr "lpadmin: Неизвестный аргумент '%s'\n"
-
-#~ msgid "lpadmin: Unknown argument '%s'!\n"
-#~ msgstr "lpadmin: Неизвестный аргумент «%s»!\n"
-
-#~ msgid "lpadmin: Unknown option '%c'\n"
-#~ msgstr "lpadmin: Неизвестный параметр '%c'\n"
-
-#~ msgid "lpadmin: Unknown option '%c'!\n"
-#~ msgstr "lpadmin: Неизвестный параметр «%c»!\n"
-
-#~ msgid "lpadmin: Warning - content type list ignored\n"
-#~ msgstr "lpadmin: Warning - список типов контента пропущен\n"
-
-#~ msgid "lpadmin: Warning - content type list ignored!\n"
-#~ msgstr "lpadmin: Внимание – список типов контента пропущен!\n"
-
-#~ msgid "lpinfo: Expected 1284 device ID string after --device-id\n"
-#~ msgstr "lpinfo: После --device-id должна идти строка ID устройства 1284\n"
-
-#~ msgid "lpinfo: Expected 1284 device ID string after --device-id!\n"
-#~ msgstr "lpinfo: После --device-id должна идти строка ID устройства 1284!\n"
-
-#~ msgid "lpinfo: Expected language after --language\n"
-#~ msgstr "lpinfo: После --language необходимо указать язык\n"
-
-#~ msgid "lpinfo: Expected language after --language!\n"
-#~ msgstr "lpinfo: После –language должен быть указан язык!\n"
-
-#~ msgid "lpinfo: Expected make and model after --make-and-model\n"
-#~ msgstr "lpinfo: После --make-and-model должна быть указана марка и модель\n"
-
-#~ msgid "lpinfo: Expected make and model after --make-and-model!\n"
-#~ msgstr ""
-#~ "lpinfo: После --make-and-model должна быть указана марка и модель!\n"
-
-#~ msgid "lpinfo: Expected product string after --product\n"
-#~ msgstr "lpinfo: После --product должна идти строка продукта\n"
-
-#~ msgid "lpinfo: Expected product string after --product!\n"
-#~ msgstr "lpinfo: После –product должна идти строка продукта!\n"
-
-#~ msgid "lpinfo: Expected scheme list after --exclude-schemes\n"
-#~ msgstr "lpinfo: После --exclude-schemes должен идти список схем\n"
-
-#~ msgid "lpinfo: Expected scheme list after --exclude-schemes!\n"
-#~ msgstr "lpinfo: После --exclude-schemes должен идти список схем!\n"
-
-#~ msgid "lpinfo: Expected scheme list after --include-schemes\n"
-#~ msgstr "lpinfo: После --include-schemes должен идти список схем\n"
-
-#~ msgid "lpinfo: Expected scheme list after --include-schemes!\n"
-#~ msgstr "lpinfo: После --ixclude-schemes должен идти список схем!\n"
-
-#~ msgid "lpinfo: Expected timeout after --timeout\n"
-#~ msgstr "lpinfo: После --timeout должно быть указано время ожидания\n"
-
-#~ msgid "lpinfo: Expected timeout after --timeout!\n"
-#~ msgstr "lpinfo: После –timeout должно быть указано время ожидания!\n"
-
-#~ msgid "lpinfo: Unknown argument '%s'\n"
-#~ msgstr "lpinfo: Неизвестный аргумент '%s'\n"
-
-#~ msgid "lpinfo: Unknown argument '%s'!\n"
-#~ msgstr "lpinfo: Неизвестный аргумент «%s»!\n"
-
-#~ msgid "lpinfo: Unknown option '%c'\n"
-#~ msgstr "lpinfo: Неизвестный параметр '%c'\n"
-
-#~ msgid "lpinfo: Unknown option '%c'!\n"
-#~ msgstr "lpinfo: Неизвестный параметр «%c»!\n"
-
-#~ msgid "lpinfo: Unknown option '%s'\n"
-#~ msgstr "lpinfo: Неизвестный параметр '%s'\n"
-
-#~ msgid "lpinfo: Unknown option '%s'!\n"
-#~ msgstr "lpinfo: Неизвестный параметр «%s»!\n"
-
-#~ msgid "lpmove: Unable to connect to server: %s\n"
-#~ msgstr "lpmove: Не удается подключиться к серверу: %s\n"
-
-#~ msgid "lpmove: Unknown argument '%s'\n"
-#~ msgstr "lpmove: Неизвестный аргумент '%s'\n"
-
-#~ msgid "lpmove: Unknown argument '%s'!\n"
-#~ msgstr "lpmove: Неизвестный аргумент «%s»!\n"
-
-#~ msgid "lpmove: Unknown option '%c'\n"
-#~ msgstr "lpmove: Неизвестный параметр '%c'\n"
-
-#~ msgid "lpmove: Unknown option '%c'!\n"
-#~ msgstr "lpmove: Неизвестный параметр «%c»!\n"
-
-#~ msgid "lpoptions: No printers\n"
-#~ msgstr "lpoptions: Нет принтеров?!\n"
-
-#~ msgid "lpoptions: No printers!?!\n"
-#~ msgstr "lpoptions: Нет принтеров!?!\n"
-
-#~ msgid "lpoptions: Unable to add printer or instance: %s\n"
-#~ msgstr ""
-#~ "lpoptions: Не удается добавить принтер или представителя класса: %s\n"
-
-#~ msgid "lpoptions: Unable to get PPD file for %s: %s\n"
-#~ msgstr "lpoptions: Не удается получить PPD-файл для %s: %s\n"
-
-#~ msgid "lpoptions: Unable to open PPD file for %s\n"
-#~ msgstr "lpoptions: Не удается открыть PPD файл для %s\n"
-
-#~ msgid "lpoptions: Unable to open PPD file for %s!\n"
-#~ msgstr "lpoptions: Не удается открыть PPD-файл для %s!\n"
-
-#~ msgid "lpoptions: Unknown printer or class\n"
-#~ msgstr "lpoptions: Неизвестный принтер или класс\n"
-
-#~ msgid "lpoptions: Unknown printer or class!\n"
-#~ msgstr "lpoptions: Неизвестный принтер или класс!\n"
-
-#~ msgid "lppasswd: Only root can add or delete passwords\n"
-#~ msgstr ""
-#~ "lppasswd: Только пользователь root может добавлять или удалять пароли\n"
-
-#~ msgid "lppasswd: Only root can add or delete passwords!\n"
-#~ msgstr ""
-#~ "lppasswd: Только пользователь root может добавлять или удалять пароли!\n"
-
-#~ msgid "lppasswd: Password file busy\n"
-#~ msgstr "lppasswd: Файл пароля занят\n"
-
-#~ msgid "lppasswd: Password file busy!\n"
-#~ msgstr "lppasswd: Файл пароля занят!\n"
-
-#~ msgid "lppasswd: Password file not updated\n"
-#~ msgstr "lppasswd: Файл пароля не обновлен"
-
-#~ msgid "lppasswd: Password file not updated!\n"
-#~ msgstr "lppasswd: Файл пароля не обновлен!\n"
-
-#~ msgid "lppasswd: Sorry, password doesn't match\n"
-#~ msgstr "lppasswd: Пароль не встретился\n"
-
-#~ msgid "lppasswd: Sorry, password doesn't match!\n"
-#~ msgstr "lppasswd: Пароль не подходит!\n"
-
-#~ msgid ""
-#~ "lppasswd: Sorry, password rejected.\n"
-#~ "Your password must be at least 6 characters long, cannot contain\n"
-#~ "your username, and must contain at least one letter and number.\n"
-#~ msgstr ""
-#~ "lppasswd: Пароль отклонен.\n"
-#~ "Пароль должен состоять как минимум из 6 символов, не может содержать\n"
-#~ "Ваше имя пользователя и должен содержать по крайней мере одну букву и "
-#~ "цифру.\n"
-
-#~ msgid "lppasswd: Sorry, passwords don't match\n"
-#~ msgstr "lppasswd: Пароль не встретился\n"
-
-#~ msgid "lppasswd: Sorry, passwords don't match!\n"
-#~ msgstr "lppasswd: Пароль не подходит!\n"
-
-#~ msgid "lppasswd: Unable to copy password string: %s\n"
-#~ msgstr "lppasswd: Не удается копировать строку пароля: %s\n"
-
-#~ msgid "lppasswd: Unable to open password file: %s\n"
-#~ msgstr "lppasswd: Не удается открыть файл пароля: %s\n"
-
-#~ msgid "lppasswd: Unable to write to password file: %s\n"
-#~ msgstr "lppasswd: Не удается записать файл пароля: %s\n"
-
-#~ msgid "lppasswd: failed to backup old password file: %s\n"
-#~ msgstr "lppasswd: Не удалось создать рез. копию старого файла пароля: %s\n"
-
-#~ msgid "lppasswd: failed to rename password file: %s\n"
-#~ msgstr "lppasswd: Не удалось переименовать файл пароля: %s\n"
-
-#~ msgid "lppasswd: user \"%s\" and group \"%s\" do not exist.\n"
-#~ msgstr "lppasswd: Пользователь «%s» и группа «%s» не существуют.\n"
-
-#~ msgid ""
-#~ "lpstat: error - %s environment variable names non-existent destination "
-#~ "\"%s\"\n"
-#~ msgstr ""
-#~ "lpstat: ошибка - %s переменная окружения указывает несуществующее "
-#~ "назначение \"%s\"\n"
-
-#~ msgid ""
-#~ "lpstat: error - %s environment variable names non-existent destination "
-#~ "\"%s\"!\n"
-#~ msgstr ""
-#~ "lpstat: Ошибка – %s переменная окружения указывает несуществующее "
-#~ "назначение «%s»!\n"
-
-#~ msgid "members of class %s:\n"
-#~ msgstr "члены класса %s:\n"
-
-#~ msgid "no entries\n"
-#~ msgstr "нет записей\n"
-
-#~ msgid "no system default destination\n"
-#~ msgstr "нет назначения системы по умолчанию\n"
-
-#~ msgid "notify-events not specified"
-#~ msgstr "notify-events не указаны"
-
-#~ msgid "notify-events not specified!"
-#~ msgstr "notify-events не указаны!"
-
-#~ msgid "notify-recipient-uri URI \"%s\" is already used"
-#~ msgstr "notify-recipient-uri URI \"%s\" уже используется"
-
-#~ msgid "notify-recipient-uri URI \"%s\" is already used!"
-#~ msgstr "URI-адрес notify-recipient-uri «%s» уже используется!"
-
-#~ msgid "notify-recipient-uri URI \"%s\" uses unknown scheme"
-#~ msgstr "notify-recipient-uri URI \"%s\" использует неизвестную схему"
-
-#~ msgid "notify-recipient-uri URI \"%s\" uses unknown scheme!"
-#~ msgstr "URI-адрес notify-recipient-uri «%s» использует неизвестную схему!"
-
-#~ msgid "notify-subscription-id %d no good"
-#~ msgstr "Неверный notify-subscription-id %d"
-
-#~ msgid "notify-subscription-id %d no good!"
-#~ msgstr "notify-subscription-id %d неверный!"
-
-#~ msgid "ppdc: Adding include directory \"%s\"...\n"
-#~ msgstr "ppdc: Добавляю каталог «%s»...\n"
-
-#~ msgid "ppdc: Adding/updating UI text from %s...\n"
-#~ msgstr "ppdc: Добавляю/обновляю текст интерфейса из %s...\n"
-
-#~ msgid "ppdc: Bad boolean value (%s) on line %d of %s.\n"
-#~ msgstr "ppdc: Недопустимое булево значение (%s) в строке %d из %s.\n"
-
-#~ msgid "ppdc: Bad resolution name \"%s\" on line %d of %s\n"
-#~ msgstr "ppdc: Недопустимое имя разрешения \"%s\" в строке %d bp %s.\n"
-
-#~ msgid "ppdc: Bad resolution name \"%s\" on line %d of %s!\n"
-#~ msgstr "ppdc: Недопустимое имя разрешения «%s» в строке %d из %s.\n"
-
-#~ msgid "ppdc: Bad status keyword %s on line %d of %s\n"
-#~ msgstr "ppdc: Недопустимое ключевое слово статуса %s в строке %d из %s.\n"
-
-#~ msgid "ppdc: Bad status keyword %s on line %d of %s!\n"
-#~ msgstr "ppdc: Недопустимое ключевое слово статуса %s в строке %d из %s.\n"
-
-#~ msgid "ppdc: Bad variable substitution ($%c) on line %d of %s.\n"
-#~ msgstr "ppdc: Недопустимая замена переменной ($%c) в строке %d из %s.\n"
-
-#~ msgid "ppdc: Choice found on line %d of %s with no Option\n"
-#~ msgstr ""
-#~ "ppdc: В строке %d из %s обнаружено значение, не привязанное к параметру\n"
-
-#~ msgid "ppdc: Choice found on line %d of %s with no Option!\n"
-#~ msgstr ""
-#~ "ppdc: В строке %d из %s обнаружено значение, не привязанное к параметру!\n"
-
-#~ msgid "ppdc: Duplicate #po for locale %s on line %d of %s\n"
-#~ msgstr "ppdc: Дубликат #po для региона %s в строке %d из %s\n"
-
-#~ msgid "ppdc: Duplicate #po for locale %s on line %d of %s!\n"
-#~ msgstr "ppdc: Дубликат #po для региона %s в строке %d из %s!\n"
-
-#~ msgid "ppdc: Expected a filter definition on line %d of %s\n"
-#~ msgstr "ppdc: В строке %d из %s должно быть определение фильтра\n"
-
-#~ msgid "ppdc: Expected a filter definition on line %d of %s!\n"
-#~ msgstr "ppdc: В строке %d из %s должно быть определение фильтра!\n"
-
-#~ msgid "ppdc: Expected a program name on line %d of %s\n"
-#~ msgstr "ppdc: В строке %d из %s должно быть имя программы\n"
-
-#~ msgid "ppdc: Expected a program name on line %d of %s!\n"
-#~ msgstr "ppdc: В строке %d из %s должно быть имя программы!\n"
-
-#~ msgid "ppdc: Expected boolean value on line %d of %s.\n"
-#~ msgstr "ppdc: В строке %d из %s должно быть булево значение.\n"
-
-#~ msgid "ppdc: Expected charset after Font on line %d of %s\n"
-#~ msgstr ""
-#~ "ppdc: После Font в строке %d из %s должен быть указан набор символов.\n"
-
-#~ msgid "ppdc: Expected charset after Font on line %d of %s!\n"
-#~ msgstr ""
-#~ "ppdc: После Font в строке %d из %s должен быть указан набор символов!\n"
-
-#~ msgid "ppdc: Expected choice code on line %d of %s.\n"
-#~ msgstr "ppdc: В строке %d из %s должен быть код выбора.\n"
-
-#~ msgid "ppdc: Expected choice name/text on line %d of %s.\n"
-#~ msgstr "ppdc: В строке %d из %s должно быть имя/текст выбора.\n"
-
-#~ msgid "ppdc: Expected color order for ColorModel on line %d of %s\n"
-#~ msgstr ""
-#~ "ppdc: После ColorModel в строке %d из %s должна быть указана цветовая "
-#~ "схема\n"
-
-#~ msgid "ppdc: Expected color order for ColorModel on line %d of %s!\n"
-#~ msgstr ""
-#~ "ppdc: После ColorModel в строке %d из %s должна быть указана цветовая "
-#~ "схема!\n"
-
-#~ msgid "ppdc: Expected colorspace for ColorModel on line %d of %s\n"
-#~ msgstr ""
-#~ "ppdc: Для ColorModel в строке %d из %s должно быть указано пространство "
-#~ "цветов.\n"
-
-#~ msgid "ppdc: Expected colorspace for ColorModel on line %d of %s!\n"
-#~ msgstr ""
-#~ "ppdc: Для ColorModel в строке %d из %s должно быть указано пространство "
-#~ "цветов!\n"
-
-#~ msgid "ppdc: Expected compression for ColorModel on line %d of %s\n"
-#~ msgstr ""
-#~ "ppdc: Для ColorModel в строке %d из %s должно быть указано сжатие.\n"
-
-#~ msgid "ppdc: Expected compression for ColorModel on line %d of %s!\n"
-#~ msgstr ""
-#~ "ppdc: Для ColorModel в строке %d из %s должно быть указано сжатие!\n"
-
-#~ msgid ""
-#~ "ppdc: Expected constraints string for UIConstraints on line %d of %s\n"
-#~ msgstr ""
-#~ "ppdc: Для UIConstraints в строке %d из %s должна быть указана строка "
-#~ "ограничений\n"
-
-#~ msgid ""
-#~ "ppdc: Expected constraints string for UIConstraints on line %d of %s!\n"
-#~ msgstr ""
-#~ "ppdc: Для UIConstraints в строке %d из %s должна быть указана строка "
-#~ "ограничений!\n"
-
-#~ msgid ""
-#~ "ppdc: Expected driver type keyword following DriverType on line %d of %s\n"
-#~ msgstr ""
-#~ "ppdc: После DriverType в строке %d из %s должно быть указано ключевое "
-#~ "слово типа драйвера.\n"
-
-#~ msgid ""
-#~ "ppdc: Expected driver type keyword following DriverType on line %d of "
-#~ "%s!\n"
-#~ msgstr ""
-#~ "ppdc: После DriverType в строке %d из %s должно быть указано ключевое "
-#~ "слово типа драйвера!\n"
-
-#~ msgid "ppdc: Expected duplex type after Duplex on line %d of %s\n"
-#~ msgstr ""
-#~ "ppdc: После Duplex в строке %d из %s должен быть указан тип дуплекса.\n"
-
-#~ msgid "ppdc: Expected duplex type after Duplex on line %d of %s!\n"
-#~ msgstr ""
-#~ "ppdc: После Duplex в строке %d из %s должен быть указан тип дуплекса!\n"
-
-#~ msgid "ppdc: Expected encoding after Font on line %d of %s\n"
-#~ msgstr "ppdc: После Font в строке %d из %s должна быть указана кодировка.\n"
-
-#~ msgid "ppdc: Expected encoding after Font on line %d of %s!\n"
-#~ msgstr "ppdc: После Font в строке %d из %s должна быть указана кодировка!\n"
-
-#~ msgid "ppdc: Expected filename after #po %s on line %d of %s\n"
-#~ msgstr ""
-#~ "ppdc: После #po %s в строке %d из %s должно быть указано имя файла.\n"
-
-#~ msgid "ppdc: Expected filename after #po %s on line %d of %s!\n"
-#~ msgstr ""
-#~ "ppdc: После #po %s в строке %d из %s должно быть указано имя файла!\n"
-
-#~ msgid "ppdc: Expected group name/text on line %d of %s\n"
-#~ msgstr "ppdc: В строке %d из %s должно быть указанно имя группы/текст.\n"
-
-#~ msgid "ppdc: Expected group name/text on line %d of %s!\n"
-#~ msgstr "ppdc: В строке %d из %s должно быть указано имя группы/текст!\n"
-
-#~ msgid "ppdc: Expected include filename on line %d of %s\n"
-#~ msgstr "ppdc: В строке %d из %s должно быть указано имя файла.\n"
-
-#~ msgid "ppdc: Expected include filename on line %d of %s!\n"
-#~ msgstr "ppdc: В строке %d из %s должно быть указано имя файла!\n"
-
-#~ msgid "ppdc: Expected integer on line %d of %s\n"
-#~ msgstr "ppdc: В строке %d из %s должно быть целое число.\n"
-
-#~ msgid "ppdc: Expected integer on line %d of %s!\n"
-#~ msgstr "ppdc: В строке %d из %s должно быть целое число!\n"
-
-#~ msgid "ppdc: Expected locale after #po on line %d of %s\n"
-#~ msgstr "ppdc: После #po в строке %d из %s должен быть указан регион.\n"
-
-#~ msgid "ppdc: Expected locale after #po on line %d of %s!\n"
-#~ msgstr "ppdc: После #po в строке %d из %s должен быть указан регион!\n"
-
-#~ msgid "ppdc: Expected name after %s on line %d of %s\n"
-#~ msgstr "ppdc: После %s в строке %d из %s должно быть указано имя.\n"
-
-#~ msgid "ppdc: Expected name after %s on line %d of %s!\n"
-#~ msgstr "ppdc: После %s в строке %d из %s должно быть имя!\n"
-
-#~ msgid "ppdc: Expected name after FileName on line %d of %s\n"
-#~ msgstr "ppdc: После FileName в строке %d из %s должно быть указано имя.\n"
-
-#~ msgid "ppdc: Expected name after FileName on line %d of %s!\n"
-#~ msgstr "ppdc: После FileName в строке %d из %s должно быть имя!\n"
-
-#~ msgid "ppdc: Expected name after Font on line %d of %s\n"
-#~ msgstr "ppdc: После Font в строке %d из %s должно быть указано имя.\n"
-
-#~ msgid "ppdc: Expected name after Font on line %d of %s!\n"
-#~ msgstr "ppdc: После Font в строке %d из %s должно быть имя!\n"
-
-#~ msgid "ppdc: Expected name after Manufacturer on line %d of %s\n"
-#~ msgstr ""
-#~ "ppdc: После Manufacturer в строке %d из %s должно быть указано имя.\n"
-
-#~ msgid "ppdc: Expected name after Manufacturer on line %d of %s!\n"
-#~ msgstr "ppdc: После Manufacturer в строке %d из %s должно быть имя!\n"
-
-#~ msgid "ppdc: Expected name after MediaSize on line %d of %s\n"
-#~ msgstr "ppdc: После MediaSize в строке %d из %s должно быть указано имя.\n"
-
-#~ msgid "ppdc: Expected name after MediaSize on line %d of %s!\n"
-#~ msgstr "ppdc: После MediaSize в строке %d из %s должно быть имя!\n"
-
-#~ msgid "ppdc: Expected name after ModelName on line %d of %s\n"
-#~ msgstr "ppdc: После ModelName в строке %d из %s должно быть указано имя.\n"
-
-#~ msgid "ppdc: Expected name after ModelName on line %d of %s!\n"
-#~ msgstr "ppdc: После ModelName в строке %d из %s должно быть имя!\n"
-
-#~ msgid "ppdc: Expected name after PCFileName on line %d of %s\n"
-#~ msgstr "ppdc: После PCFileName в строке %d из %s должно быть указано имя.\n"
-
-#~ msgid "ppdc: Expected name after PCFileName on line %d of %s!\n"
-#~ msgstr "ppdc: После PCFileName в строке %d из %s должно быть имя!\n"
-
-#~ msgid "ppdc: Expected name/text after %s on line %d of %s\n"
-#~ msgstr "ppdc: После %s в строке %d из %s должно быть указано имя/текст.\n"
-
-#~ msgid "ppdc: Expected name/text after %s on line %d of %s!\n"
-#~ msgstr "ppdc: После %s в строке %d из %s должно быть имя/текст!\n"
-
-#~ msgid "ppdc: Expected name/text after Installable on line %d of %s\n"
-#~ msgstr ""
-#~ "ppdc: После Installable в строке %d из %s должно быть указано имя/текст.\n"
-
-#~ msgid "ppdc: Expected name/text after Installable on line %d of %s!\n"
-#~ msgstr "ppdc: После Installable в строке %d из %s должно быть имя/текст!\n"
-
-#~ msgid "ppdc: Expected name/text after Resolution on line %d of %s\n"
-#~ msgstr ""
-#~ "ppdc: После Resolution в строке %d из %s должно быть указано имя/текст.\n"
-
-#~ msgid "ppdc: Expected name/text after Resolution on line %d of %s!\n"
-#~ msgstr "ppdc: После Resolution в строке %d из %s должно быть имя/текст!\n"
-
-#~ msgid ""
-#~ "ppdc: Expected name/text combination for ColorModel on line %d of %s\n"
-#~ msgstr ""
-#~ "ppdc: После ColorModel в строке %d из %s должно быть указано имя/текст.\n"
-
-#~ msgid ""
-#~ "ppdc: Expected name/text combination for ColorModel on line %d of %s!\n"
-#~ msgstr "ppdc: После ColorModel в строке %d из %s должно быть имя/текст!\n"
-
-#~ msgid "ppdc: Expected option name/text on line %d of %s\n"
-#~ msgstr "ppdc: В строке %d из %s должно быть указано имя параметра/текст.\n"
-
-#~ msgid "ppdc: Expected option name/text on line %d of %s!\n"
-#~ msgstr "ppdc: В строке %d из %s должно быть указано имя параметра/текст!\n"
-
-#~ msgid "ppdc: Expected option section on line %d of %s\n"
-#~ msgstr "ppdc: В строке %d из %s должен быть указан раздел параметров.\n"
-
-#~ msgid "ppdc: Expected option section on line %d of %s!\n"
-#~ msgstr "ppdc: В строке %d из %s должен быть раздел параметров!\n"
-
-#~ msgid "ppdc: Expected option type on line %d of %s\n"
-#~ msgstr "ppdc: В строке %d из %s должен быть указан тип параметра.\n"
-
-#~ msgid "ppdc: Expected option type on line %d of %s!\n"
-#~ msgstr "ppdc: В строке %d из %s должен быть указан тип параметра!\n"
-
-#~ msgid "ppdc: Expected override field after Resolution on line %d of %s\n"
-#~ msgstr ""
-#~ "ppdc: После Resolution в строке %d из %s должно быть поле "
-#~ "переопределения.\n"
-
-#~ msgid "ppdc: Expected override field after Resolution on line %d of %s!\n"
-#~ msgstr ""
-#~ "ppdc: После Resolution в строке %d из %s должно быть поле "
-#~ "переопределения!\n"
-
-#~ msgid "ppdc: Expected real number on line %d of %s\n"
-#~ msgstr "ppdc: В строке %d из %s должно быть действительное число.\n"
-
-#~ msgid "ppdc: Expected real number on line %d of %s!\n"
-#~ msgstr "ppdc: В строке %d из %s должно быть действительное число!\n"
-
-#~ msgid ""
-#~ "ppdc: Expected resolution/mediatype following ColorProfile on line %d of "
-#~ "%s\n"
-#~ msgstr ""
-#~ "ppdc: После ColorProfile в строке %d из %s должно быть указано разрешение/"
-#~ "тип носителя.\n"
-
-#~ msgid ""
-#~ "ppdc: Expected resolution/mediatype following ColorProfile on line %d of "
-#~ "%s!\n"
-#~ msgstr ""
-#~ "ppdc: После ColorProfile в строке %d из %s должно быть указано разрешение/"
-#~ "тип носителя!\n"
-
-#~ msgid ""
-#~ "ppdc: Expected resolution/mediatype following SimpleColorProfile on line "
-#~ "%d of %s\n"
-#~ msgstr ""
-#~ "ppdc: После SimpleColorProfile в строке %d из %s должно быть указано "
-#~ "разрешение/тип носителя.\n"
-
-#~ msgid ""
-#~ "ppdc: Expected resolution/mediatype following SimpleColorProfile on line "
-#~ "%d of %s!\n"
-#~ msgstr ""
-#~ "ppdc: После SimpleColorProfile в строке %d из %s должно быть указано "
-#~ "разрешение/тип носителя!\n"
-
-#~ msgid "ppdc: Expected selector after %s on line %d of %s\n"
-#~ msgstr "ppdc: После %s в строке %d из %s должен быть селектор.\n"
-
-#~ msgid "ppdc: Expected selector after %s on line %d of %s!\n"
-#~ msgstr "ppdc: После %s в строке %d из %s должен быть селектор!\n"
-
-#~ msgid "ppdc: Expected status after Font on line %d of %s\n"
-#~ msgstr "ppdc: После Font в строке %d из %s должен быть указан статус.\n"
-
-#~ msgid "ppdc: Expected status after Font on line %d of %s!\n"
-#~ msgstr "ppdc: После Font в строке %d из %s должен быть указан статус!\n"
-
-#~ msgid "ppdc: Expected string after Copyright on line %d of %s\n"
-#~ msgstr "ppdc: В строке %d из %s пропущено значение параметра Copyright.\n"
-
-#~ msgid "ppdc: Expected string after Copyright on line %d of %s!\n"
-#~ msgstr "ppdc: После Copyright в строке %d из %s должна быть строка!\n"
-
-#~ msgid "ppdc: Expected string after Version on line %d of %s\n"
-#~ msgstr "ppdc: В строке %d из %s пропущено значение параметра Version.\n"
-
-#~ msgid "ppdc: Expected string after Version on line %d of %s!\n"
-#~ msgstr "ppdc: После Version в строке %d из %s должна быть строка!\n"
-
-#~ msgid "ppdc: Expected two option names on line %d of %s\n"
-#~ msgstr "ppdc: В строке %d из %s должны быть два имени параметра.\n"
-
-#~ msgid "ppdc: Expected two option names on line %d of %s!\n"
-#~ msgstr "ppdc: В строке %d из %s должны быть два имени параметра!\n"
-
-#~ msgid "ppdc: Expected value after %s on line %d of %s\n"
-#~ msgstr "ppdc: После %s в строке %d из %s должно быть значение.\n"
-
-#~ msgid "ppdc: Expected value after %s on line %d of %s!\n"
-#~ msgstr "ppdc: После %s в строке %d из %s должно быть значение!\n"
-
-#~ msgid "ppdc: Expected version after Font on line %d of %s\n"
-#~ msgstr "ppdc: после Font в строке %d из %s должна быть указана версия.\n"
-
-#~ msgid "ppdc: Expected version after Font on line %d of %s!\n"
-#~ msgstr "ppdc: После Font в строке %d из %s должна быть указана версия!\n"
-
-#~ msgid "ppdc: Invalid #include/#po filename \"%s\"\n"
-#~ msgstr "ppdc: Неверное имя файла #include/#po \"%s\"\n"
-
-#~ msgid "ppdc: Invalid #include/#po filename \"%s\"!\n"
-#~ msgstr "ppdc: Неверное имя файла #include/#po «%s»!\n"
-
-#~ msgid "ppdc: Invalid cost for filter on line %d of %s\n"
-#~ msgstr "ppdc: Затраты на фильтр в строке %d из %s указаны неверно.\n"
-
-#~ msgid "ppdc: Invalid cost for filter on line %d of %s!\n"
-#~ msgstr "ppdc: Затраты на фильтр в строке %d из %s указаны неверно!\n"
-
-#~ msgid "ppdc: Invalid empty MIME type for filter on line %d of %s\n"
-#~ msgstr "ppdc: Недопустимый пустой MIME-тип для фильтра в строке %d из %s.\n"
-
-#~ msgid "ppdc: Invalid empty MIME type for filter on line %d of %s!\n"
-#~ msgstr "ppdc: Недопустимый пустой MIME-тип для фильтра в строке %d из %s!\n"
-
-#~ msgid "ppdc: Invalid empty program name for filter on line %d of %s\n"
-#~ msgstr ""
-#~ "ppdc: Недопустимое пустое имя программы для фильтра в строке %d из %s.\n"
-
-#~ msgid "ppdc: Invalid empty program name for filter on line %d of %s!\n"
-#~ msgstr ""
-#~ "ppdc: Недопустимое пустое имя программы для фильтра в строке %d из %s!\n"
-
-#~ msgid "ppdc: Invalid option section \"%s\" on line %d of %s\n"
-#~ msgstr "ppdc: Неверный раздел параметров \"%s\" в строке %d из %s.\n"
-
-#~ msgid "ppdc: Invalid option section \"%s\" on line %d of %s!\n"
-#~ msgstr "ppdc: Неверный раздел параметров «%s» в строке %d из %s!\n"
-
-#~ msgid "ppdc: Invalid option type \"%s\" on line %d of %s\n"
-#~ msgstr "ppdc: Неверный тип параметра \"%s\" в строке %d из %s.\n"
-
-#~ msgid "ppdc: Invalid option type \"%s\" on line %d of %s!\n"
-#~ msgstr "ppdc: Неверный тип параметра «%s» в строке %d из %s!\n"
-
-#~ msgid "ppdc: Loading driver information file \"%s\"...\n"
-#~ msgstr "ppdc: Загружаю файл с информацией о драйвере «%s»...\n"
-
-#~ msgid "ppdc: Loading messages for locale \"%s\"...\n"
-#~ msgstr "ppdc: Загружаю сообщения для региона «%s»...\n"
-
-#~ msgid "ppdc: Loading messages from \"%s\"...\n"
-#~ msgstr "ppdc: Загружаю сообщения из «%s»...\n"
-
-#~ msgid "ppdc: Missing #endif at end of \"%s\"\n"
-#~ msgstr "ppdc: Отсутствует #endif в конце \"%s\".\n"
-
-#~ msgid "ppdc: Missing #endif at end of \"%s\"!\n"
-#~ msgstr "ppdc: Отсутствует #endif в конце «%s»!\n"
-
-#~ msgid "ppdc: Missing #if on line %d of %s\n"
-#~ msgstr "ppdc: Отсутствует #if в строке %d из %s.\n"
-
-#~ msgid "ppdc: Missing #if on line %d of %s!\n"
-#~ msgstr "ppdc: Отсутствует #if в строке %d из %s!\n"
-
-#~ msgid "ppdc: No message catalog provided for locale %s\n"
-#~ msgstr "ppdc: Не указан каталог сообщений для региона %s.\n"
-
-#~ msgid "ppdc: No message catalog provided for locale %s!\n"
-#~ msgstr "ppdc: Не указан каталог сообщений для региона %s!\n"
-
-#~ msgid "ppdc: Option %s defined in two different groups on line %d of %s\n"
-#~ msgstr ""
-#~ "ppdc: Параметр %s определен в двух разных группах в строке %d из %s.\n"
-
-#~ msgid "ppdc: Option %s redefined with a different type on line %d of %s\n"
-#~ msgstr "ppdc: Для параметра %s определен другой тип в строке %d из %s.\n"
-
-#~ msgid "ppdc: Option %s redefined with a different type on line %d of %s!\n"
-#~ msgstr "ppdc: Для параметра %s определен другой тип в строке %d из %s!\n"
-
-#~ msgid "ppdc: Option constraint must *name on line %d of %s\n"
-#~ msgstr ""
-#~ "ppdc: Для ограничения параметра должно быть указано *name в строке %d из "
-#~ "%s.\n"
-
-#~ msgid "ppdc: Option constraint must *name on line %d of %s!\n"
-#~ msgstr ""
-#~ "ppdc: Для ограничения параметра должно быть указано *name в строке %d из "
-#~ "%s!\n"
-
-#~ msgid "ppdc: Too many nested #if's on line %d of %s\n"
-#~ msgstr "ppdc: Слишком много вложенных операторов #if в строке %d из %s.\n"
-
-#~ msgid "ppdc: Too many nested #if's on line %d of %s!\n"
-#~ msgstr "ppdc: Слишком много вложенных операторов #if в строке %d из %s!\n"
-
-#~ msgid "ppdc: Unable to create PPD file \"%s\" - %s.\n"
-#~ msgstr "lpadmin: Не удается создать PPD-файл «%s» – %s\n"
-
-#~ msgid "ppdc: Unable to create output directory %s: %s\n"
-#~ msgstr "ppdc: Не удается создать каталог для выходных данных %s: %s\n"
-
-#~ msgid "ppdc: Unable to create output pipes: %s\n"
-#~ msgstr "ppdc: Не удается создать конвейеры для выходных данных: %s\n"
-
-#~ msgid "ppdc: Unable to execute cupstestppd: %s\n"
-#~ msgstr "ppdc: Не удается выполнить cupstestppd: %s\n"
-
-#~ msgid "ppdc: Unable to find #po file %s on line %d of %s\n"
-#~ msgstr "ppdc: Не удается найти файл #po %s в строке %d из %s.\n"
-
-#~ msgid "ppdc: Unable to find #po file %s on line %d of %s!\n"
-#~ msgstr "ppdc: Не удается найти файл #po %s в строке %d из %s!\n"
-
-#~ msgid "ppdc: Unable to find include file \"%s\" on line %d of %s\n"
-#~ msgstr "ppdc: Не удается найти файл \"%s\" в строке %d из %s.\n"
-
-#~ msgid "ppdc: Unable to find include file \"%s\" on line %d of %s!\n"
-#~ msgstr "ppdc: Не удается найти файл «%s» в строке %d из %s!\n"
-
-#~ msgid "ppdc: Unable to find localization for \"%s\" - %s\n"
-#~ msgstr "ppdc: Не удается найти локализацию для «%s» - %s\n"
-
-#~ msgid "ppdc: Unable to load localization file \"%s\" - %s\n"
-#~ msgstr "ppdc: Не удается загрузить файл локализации «%s» - %s\n"
-
-#~ msgid "ppdc: Undefined variable (%s) on line %d of %s.\n"
-#~ msgstr "ppdc: Не определена переменная (%s) в строке %d из %s.\n"
-
-#~ msgid "ppdc: Unknown driver type %s on line %d of %s\n"
-#~ msgstr "ppdc: Неизвестный тип драйвера %s в строке %d из %s.\n"
-
-#~ msgid "ppdc: Unknown driver type %s on line %d of %s!\n"
-#~ msgstr "ppdc: Неизвестный тип драйвера %s в строке %d из %s!\n"
-
-#~ msgid "ppdc: Unknown duplex type \"%s\" on line %d of %s\n"
-#~ msgstr "ppdc: Неизвестный тип дуплекса \"%s\" в строке %d из %s.\n"
-
-#~ msgid "ppdc: Unknown duplex type \"%s\" on line %d of %s!\n"
-#~ msgstr "ppdc: Неизвестный тип дуплекса «%s» в строке %d из %s!\n"
-
-#~ msgid "ppdc: Unknown media size \"%s\" on line %d of %s\n"
-#~ msgstr "ppdc: Неизвестный размер носителя \"%s\" в строке %d из %s.\n"
-
-#~ msgid "ppdc: Unknown media size \"%s\" on line %d of %s!\n"
-#~ msgstr "ppdc: Неизвестный размер носителя «%s» в строке %d из %s!\n"
-
-#~ msgid "ppdc: Unknown token \"%s\" seen on line %d of %s\n"
-#~ msgstr "ppdc: Неизвестный маркер \"%s\" в строке %d из %s.\n"
-
-#~ msgid "ppdc: Unknown token \"%s\" seen on line %d of %s!\n"
-#~ msgstr "ppdc: Неизвестный маркер «%s» в строке %d из %s!\n"
-
-#~ msgid ""
-#~ "ppdc: Unknown trailing characters in real number \"%s\" on line %d of %s\n"
-#~ msgstr ""
-#~ "ppdc: Неизвестные конечные символы в вещественном числе \"%s\" в строке "
-#~ "%d из %s.\n"
-
-#~ msgid ""
-#~ "ppdc: Unknown trailing characters in real number \"%s\" on line %d of "
-#~ "%s!\n"
-#~ msgstr ""
-#~ "ppdc: Неизвестные конечные символы в вещественном числе «%s» в строке %d "
-#~ "из %s!\n"
-
-#~ msgid "ppdc: Unterminated string starting with %c on line %d of %s\n"
-#~ msgstr "ppdc: Не завершена строка, начинающаяся с %c в строке %d из %s.\n"
-
-#~ msgid "ppdc: Unterminated string starting with %c on line %d of %s!\n"
-#~ msgstr "ppdc: Не завершена строка, начинающаяся с %c в строке %d из %s!\n"
-
-#~ msgid "ppdc: Warning - overlapping filename \"%s\".\n"
-#~ msgstr "ppdc: Внимание - дублирующееся имя \"%s\".\n"
-
-#~ msgid "ppdc: Writing %s...\n"
-#~ msgstr "ppdc: Записываю %s...\n"
-
-#~ msgid "ppdc: Writing PPD files to directory \"%s\"...\n"
-#~ msgstr "ppdc: Записываю PPD-файлы в каталог «%s»...\n"
-
-#~ msgid "ppdmerge: Bad LanguageVersion \"%s\" in %s\n"
-#~ msgstr "ppdmerge: Неверное значение LanguageVersion \"%s\" в %s\n"
-
-#~ msgid "ppdmerge: Bad LanguageVersion \"%s\" in %s!\n"
-#~ msgstr "ppdmerge: Неверное значение LanguageVersion «%s» в %s!\n"
-
-#~ msgid "ppdmerge: Ignoring PPD file %s...\n"
-#~ msgstr "ppdmerge: Пропускаю PPD-файл %s...\n"
-
-#~ msgid "ppdmerge: Unable to backup %s to %s- %s\n"
-#~ msgstr "ppdmerge: Не удается создать резервную копию %s на %s- %s\n"
-
-#~ msgid "printer %s disabled since %s -\n"
-#~ msgstr "принтер %s отключен с момента %s -\n"
-
-#~ msgid "printer %s is idle. enabled since %s\n"
-#~ msgstr "принтер %s свободен. Включен с момента %s\n"
-
-#~ msgid "printer %s now printing %s-%d. enabled since %s\n"
-#~ msgstr "принтер %s сейчас печатает %s-%d. Включен с момента %s\n"
-
-#~ msgid "printer %s/%s disabled since %s -\n"
-#~ msgstr "принтер %s/%s отключен с момента %s -\n"
-
-#~ msgid "printer %s/%s is idle. enabled since %s\n"
-#~ msgstr "принтер %s/%s свободен. Включен с момента %s\n"
-
-#~ msgid "printer %s/%s now printing %s-%d. enabled since %s\n"
-#~ msgstr "принтер %s/%s сейчас печатает %s-%d. Включен с момента %s\n"
-
-#~ msgid "request id is %s-%d (%d file(s))\n"
-#~ msgstr "id запроса %s-%d (%d файл.)\n"
-
-#~ msgid "scheduler is not running\n"
-#~ msgstr "планировщик не запущен\n"
-
-#~ msgid "scheduler is running\n"
-#~ msgstr "планировщик запущен\n"
-
-#~ msgid "status\t\tshow status of daemon and queue\n"
-#~ msgstr "статус\t\tпоказать статус демона и очереди\n"
-
-#~ msgid "system default destination: %s\n"
-#~ msgstr "назначение системы по умолчанию: %s\n"
-
-#~ msgid "system default destination: %s/%s\n"
-#~ msgstr "назначение системы по умолчанию: %s/%s\n"
diff --git a/packaging/cups.spec b/packaging/cups.spec
index d14d19609..0b0293288 100644
--- a/packaging/cups.spec
+++ b/packaging/cups.spec
@@ -44,12 +44,12 @@
Summary: CUPS
Name: cups
-Version: 2.0.2
+Version: 2.0.3
Release: 1
Epoch: 1
License: GPL
Group: System Environment/Daemons
-Source: http://www.cups.org/software/2.0.2/cups-2.0.2-source.tar.bz2
+Source: http://www.cups.org/software/2.0.3/cups-2.0.3-source.tar.bz2
Url: http://www.cups.org
Packager: Anonymous <anonymous@foo.com>
Vendor: Apple Inc.
diff --git a/ppdc/Makefile b/ppdc/Makefile
index bc8bb646a..221ea1893 100644
--- a/ppdc/Makefile
+++ b/ppdc/Makefile
@@ -1,9 +1,9 @@
#
-# "$Id: Makefile 11800 2014-04-08 19:53:57Z msweet $"
+# "$Id: Makefile 12616 2015-05-06 20:22:01Z msweet $"
#
# Makefile for the CUPS PPD Compiler.
#
-# Copyright 2007-2014 by Apple Inc.
+# Copyright 2007-2015 by Apple Inc.
# Copyright 2002-2006 by Easy Software Products.
#
# These coded instructions, statements, and computer programs are the
@@ -354,7 +354,7 @@ libcupsppdc.1.dylib: $(LIBOBJS) ../cups/$(LIBCUPS)
-current_version 1.0.0 \
-compatibility_version 1.0.0 \
-exported_symbols_list t.exp \
- $(LIBOBJS) $(LINKCUPS)
+ $(LIBOBJS) $(LINKCUPS) $(COMMONLIBS)
$(RM) libcupsppdc.dylib t.exp
$(LN) $@ libcupsppdc.dylib
@@ -388,5 +388,5 @@ include Dependencies
#
-# End of "$Id: Makefile 11800 2014-04-08 19:53:57Z msweet $".
+# End of "$Id: Makefile 12616 2015-05-06 20:22:01Z msweet $".
#
diff --git a/ppdc/ppdhtml.cxx b/ppdc/ppdhtml.cxx
index da2167b83..7d47d1d79 100644
--- a/ppdc/ppdhtml.cxx
+++ b/ppdc/ppdhtml.cxx
@@ -1,21 +1,16 @@
//
-// "$Id: ppdhtml.cxx 3071 2011-03-23 00:05:29Z msweet $"
+// "$Id: ppdhtml.cxx 12634 2015-05-15 19:17:07Z msweet $"
//
-// PPD to HTML utility for the CUPS PPD Compiler.
+// PPD to HTML utility for the CUPS PPD Compiler.
//
-// Copyright 2007-2011 by Apple Inc.
-// Copyright 2002-2005 by Easy Software Products.
+// Copyright 2007-2015 by Apple Inc.
+// Copyright 2002-2005 by Easy Software Products.
//
-// These coded instructions, statements, and computer programs are the
-// property of Apple Inc. and are protected by Federal copyright
-// law. Distribution and use rights are outlined in the file "LICENSE.txt"
-// which should have been included with this file. If this file is
-// file is missing or damaged, see the license at "http://www.cups.org/".
-//
-// Contents:
-//
-// main() - Main entry for the PPD to HTML utility.
-// usage() - Show usage and exit.
+// These coded instructions, statements, and computer programs are the
+// property of Apple Inc. and are protected by Federal copyright
+// law. Distribution and use rights are outlined in the file "LICENSE.txt"
+// which should have been included with this file. If this file is
+// file is missing or damaged, see the license at "http://www.cups.org/".
//
//
@@ -58,7 +53,7 @@ main(int argc, // I - Number of command-line arguments
_cupsSetLocale(argv);
// Scan the command-line...
- src = 0;
+ src = new ppdcSource();
for (i = 1; i < argc; i ++)
if (argv[i][0] == '-')
@@ -97,65 +92,75 @@ main(int argc, // I - Number of command-line arguments
else
{
// Open and load the driver info file...
- src = new ppdcSource(argv[i]);
-
- // Create a composite group with all of the features from the
- // drivers in the info file...
- composite = new ppdcGroup("", "");
-
- for (d = (ppdcDriver *)src->drivers->first(); d; d = (ppdcDriver *)src->drivers->next())
- for (g = (ppdcGroup *)d->groups->first(); g; g = (ppdcGroup *)d->groups->next())
- for (o = (ppdcOption *)g->options->first(); o; o = (ppdcOption *)g->options->next())
- {
- if ((compo = composite->find_option(o->name->value)) == NULL)
- composite->add_option(new ppdcOption(o));
- }
-
- puts("<html>");
- printf("<head><title>Driver Summary for %s</title></head>\n", argv[i]);
- printf("<body><h1>Driver Summary for %s</h1>\n", argv[i]);
- printf("<p><table border='1'><thead><tr><th>Printer</th><th>Media Size</th>");
- for (compo = (ppdcOption *)composite->options->first(); compo; compo = (ppdcOption *)composite->options->next())
- printf("<th>%s</th>", compo->text->value);
- puts("</tr></thead><tbody>");
-
- // Write HTML summary...
- for (d = (ppdcDriver *)src->drivers->first(); d; d = (ppdcDriver *)src->drivers->next())
- {
- // Write the summary for this driver...
- printf("<tr valign='top'><td nowrap>%s</td><td nowrap>", d->model_name->value);
- for (size = (ppdcMediaSize *)d->sizes->first(); size;
- size = (ppdcMediaSize *)d->sizes->next())
- printf("%s<br>", size->text->value);
- printf("</td>");
-
- for (compo = (ppdcOption *)composite->options->first(); compo;
- compo = (ppdcOption *)composite->options->next())
- if ((o = d->find_option(compo->name->value)) != NULL)
- {
- printf("<td nowrap>");
- for (c = (ppdcChoice *)o->choices->first(); c;
- c = (ppdcChoice *)o->choices->next())
- printf("%s<br>", c->text->value);
- printf("</td>");
- }
- else
- printf("<td>N/A</td>");
-
- puts("</tr>");
- }
-
- puts("</tbody></table></p>");
- puts("</body>");
- puts("</html>");
- // Delete the printer driver information...
- composite->release();
- src->release();
+ src->read_file(argv[i]);
+ }
+
+ if ((d = (ppdcDriver *)src->drivers->first()) != NULL)
+ {
+ // Create a composite group with all of the features from the
+ // drivers in the info file...
+ composite = new ppdcGroup("", "");
+
+ while (d != NULL)
+ {
+ for (g = (ppdcGroup *)d->groups->first(); g; g = (ppdcGroup *)d->groups->next())
+ for (o = (ppdcOption *)g->options->first(); o; o = (ppdcOption *)g->options->next())
+ {
+ if ((compo = composite->find_option(o->name->value)) == NULL)
+ composite->add_option(new ppdcOption(o));
+ }
+
+ d = (ppdcDriver *)src->drivers->next();
}
- // If no drivers have been loaded, display the program usage message.
- if (!src)
+ puts("<html>");
+ printf("<head><title>Driver Summary for %s</title></head>\n", argv[i]);
+ printf("<body><h1>Driver Summary for %s</h1>\n", argv[i]);
+ printf("<p><table border='1'><thead><tr><th>Printer</th><th>Media Size</th>");
+ for (compo = (ppdcOption *)composite->options->first(); compo; compo = (ppdcOption *)composite->options->next())
+ printf("<th>%s</th>", compo->text->value);
+ puts("</tr></thead><tbody>");
+
+ // Write HTML summary...
+ for (d = (ppdcDriver *)src->drivers->first(); d; d = (ppdcDriver *)src->drivers->next())
+ {
+ // Write the summary for this driver...
+ printf("<tr valign='top'><td nowrap>%s</td><td nowrap>", d->model_name->value);
+ for (size = (ppdcMediaSize *)d->sizes->first(); size;
+ size = (ppdcMediaSize *)d->sizes->next())
+ printf("%s<br>", size->text->value);
+ printf("</td>");
+
+ for (compo = (ppdcOption *)composite->options->first(); compo;
+ compo = (ppdcOption *)composite->options->next())
+ if ((o = d->find_option(compo->name->value)) != NULL)
+ {
+ printf("<td nowrap>");
+ for (c = (ppdcChoice *)o->choices->first(); c;
+ c = (ppdcChoice *)o->choices->next())
+ printf("%s<br>", c->text->value);
+ printf("</td>");
+ }
+ else
+ printf("<td>N/A</td>");
+
+ puts("</tr>");
+ }
+
+ puts("</tbody></table></p>");
+ puts("</body>");
+ puts("</html>");
+
+ // Delete the printer driver information...
+ composite->release();
+ }
+ else
+ {
+ // If no drivers have been loaded, display the program usage message.
usage();
+ }
+
+ src->release();
// Return with no errors.
return (0);
@@ -182,5 +187,5 @@ usage(void)
//
-// End of "$Id: ppdhtml.cxx 3071 2011-03-23 00:05:29Z msweet $".
+// End of "$Id: ppdhtml.cxx 12634 2015-05-15 19:17:07Z msweet $".
//
diff --git a/ppdc/ppdpo.cxx b/ppdc/ppdpo.cxx
index 65032a432..6a0e72919 100644
--- a/ppdc/ppdpo.cxx
+++ b/ppdc/ppdpo.cxx
@@ -1,22 +1,16 @@
//
-// "$Id: ppdpo.cxx 3794 2012-04-23 22:44:16Z msweet $"
+// "$Id: ppdpo.cxx 12634 2015-05-15 19:17:07Z msweet $"
//
-// PPD file message catalog program for the CUPS PPD Compiler.
+// PPD file message catalog program for the CUPS PPD Compiler.
//
-// Copyright 2007-2012 by Apple Inc.
-// Copyright 2002-2005 by Easy Software Products.
+// Copyright 2007-2015 by Apple Inc.
+// Copyright 2002-2005 by Easy Software Products.
//
-// These coded instructions, statements, and computer programs are the
-// property of Apple Inc. and are protected by Federal copyright
-// law. Distribution and use rights are outlined in the file "LICENSE.txt"
-// which should have been included with this file. If this file is
-// file is missing or damaged, see the license at "http://www.cups.org/".
-//
-// Contents:
-//
-// main() - Main entry for the PPD compiler.
-// add_ui_strings() - Add all UI strings from the driver.
-// usage() - Show usage and exit.
+// These coded instructions, statements, and computer programs are the
+// property of Apple Inc. and are protected by Federal copyright
+// law. Distribution and use rights are outlined in the file "LICENSE.txt"
+// which should have been included with this file. If this file is
+// file is missing or damaged, see the license at "http://www.cups.org/".
//
//
@@ -58,7 +52,7 @@ main(int argc, // I - Number of command-line arguments
// Scan the command-line...
catalog = new ppdcCatalog("en");
- src = 0;
+ src = new ppdcSource();
verbose = 0;
outfile = 0;
@@ -123,23 +117,28 @@ main(int argc, // I - Number of command-line arguments
_("ppdc: Loading driver information file \"%s\"."),
argv[i]);
- src = new ppdcSource(argv[i]);
+ src->read_file(argv[i]);
+ }
- // Add UI strings...
- for (d = (ppdcDriver *)src->drivers->first();
- d;
- d = (ppdcDriver *)src->drivers->next())
- {
- if (verbose)
- _cupsLangPrintf(stderr, _("ppdc: Adding/updating UI text from %s."),
- argv[i]);
+ // If no drivers have been loaded, display the program usage message.
+ if ((d = (ppdcDriver *)src->drivers->first()) != NULL)
+ {
+ // Add UI strings...
+ while (d != NULL)
+ {
+ if (verbose)
+ _cupsLangPrintf(stderr, _("ppdc: Adding/updating UI text from %s."), argv[i]);
- add_ui_strings(d, catalog);
- }
+ add_ui_strings(d, catalog);
- // Delete the printer driver information...
- src->release();
+ d = (ppdcDriver *)src->drivers->next();
}
+ }
+ else
+ usage();
+
+ // Delete the printer driver information...
+ src->release();
// Write the message catalog...
if (!outfile)
@@ -149,10 +148,6 @@ main(int argc, // I - Number of command-line arguments
catalog->release();
- // If no drivers have been loaded, display the program usage message.
- if (!src)
- usage();
-
// Return with no errors.
return (0);
}
@@ -263,5 +258,5 @@ usage(void)
//
-// End of "$Id: ppdpo.cxx 3794 2012-04-23 22:44:16Z msweet $".
+// End of "$Id: ppdpo.cxx 12634 2015-05-15 19:17:07Z msweet $".
//
diff --git a/scheduler/auth.c b/scheduler/auth.c
index 4e5ad5b9a..3f3f411be 100644
--- a/scheduler/auth.c
+++ b/scheduler/auth.c
@@ -1,9 +1,9 @@
/*
- * "$Id: auth.c 12124 2014-08-28 15:37:22Z msweet $"
+ * "$Id: auth.c 12604 2015-05-06 01:43:05Z msweet $"
*
* Authorization routines for the CUPS scheduler.
*
- * Copyright 2007-2014 by Apple Inc.
+ * Copyright 2007-2015 by Apple Inc.
* Copyright 1997-2007 by Easy Software Products, all rights reserved.
*
* This file contains Kerberos support code, copyright 2006 by
@@ -835,7 +835,7 @@ cupsdAuthorize(cupsd_client_t *con) /* I - Client connection */
* to use it...
*/
- if (gss_init_sec_context == NULL)
+ if (&gss_init_sec_context == NULL)
{
cupsdLogMessage(CUPSD_LOG_WARN,
"[Client %d] GSSAPI/Kerberos authentication failed "
@@ -1375,6 +1375,7 @@ cupsdCopyLocation(
if (loc->location)
temp->location = _cupsStrAlloc(loc->location);
+ temp->length = loc->length;
temp->limit = loc->limit;
temp->order_type = loc->order_type;
temp->type = loc->type;
@@ -1477,6 +1478,8 @@ cupsdFindBest(const char *path, /* I - Resource path */
CUPSD_AUTH_LIMIT_DELETE,
CUPSD_AUTH_LIMIT_TRACE,
CUPSD_AUTH_LIMIT_ALL,
+ CUPSD_AUTH_LIMIT_ALL,
+ CUPSD_AUTH_LIMIT_ALL,
CUPSD_AUTH_LIMIT_ALL
};
@@ -1502,7 +1505,11 @@ cupsdFindBest(const char *path, /* I - Resource path */
*uriptr = '\0';
}
- cupsdLogMessage(CUPSD_LOG_DEBUG2, "cupsdFindBest: uri = \"%s\"...", uri);
+ if ((uriptr = strchr(uri, '?')) != NULL)
+ *uriptr = '\0'; /* Drop trailing query string */
+
+ if ((uriptr = uri + strlen(uri) - 1) > uri && *uriptr == '/')
+ *uriptr = '\0'; /* Remove trailing '/' */
/*
* Loop through the list of locations to find a match...
@@ -1512,12 +1519,14 @@ cupsdFindBest(const char *path, /* I - Resource path */
best = NULL;
bestlen = 0;
+ cupsdLogMessage(CUPSD_LOG_DEBUG2, "cupsdFindBest: uri = \"%s\", limit=%x...", uri, limit);
+
+
for (loc = (cupsd_location_t *)cupsArrayFirst(Locations);
loc;
loc = (cupsd_location_t *)cupsArrayNext(Locations))
{
- cupsdLogMessage(CUPSD_LOG_DEBUG2, "cupsdFindBest: Location %s Limit %x",
- loc->location ? loc->location : "nil", loc->limit);
+ cupsdLogMessage(CUPSD_LOG_DEBUG2, "cupsdFindBest: Location %s(%d) Limit %x", loc->location ? loc->location : "(null)", (int)loc->length, loc->limit);
if (!strncmp(uri, "/printers/", 10) || !strncmp(uri, "/classes/", 9))
{
@@ -2327,5 +2336,5 @@ to64(char *s, /* O - Output string */
/*
- * End of "$Id: auth.c 12124 2014-08-28 15:37:22Z msweet $".
+ * End of "$Id: auth.c 12604 2015-05-06 01:43:05Z msweet $".
*/
diff --git a/scheduler/client.c b/scheduler/client.c
index 949191000..15abbe3f0 100644
--- a/scheduler/client.c
+++ b/scheduler/client.c
@@ -1,9 +1,9 @@
/*
- * "$Id: client.c 12124 2014-08-28 15:37:22Z msweet $"
+ * "$Id: client.c 12701 2015-06-08 18:33:44Z msweet $"
*
* Client routines for the CUPS scheduler.
*
- * Copyright 2007-2014 by Apple Inc.
+ * Copyright 2007-2015 by Apple Inc.
* Copyright 1997-2007 by Easy Software Products, all rights reserved.
*
* This file contains Kerberos support code, copyright 2006 by
@@ -484,7 +484,12 @@ cupsdCloseClient(cupsd_client_t *con) /* I - Client to close */
httpClose(con->http);
- cupsdClearString(&con->filename);
+ if (con->filename)
+ {
+ unlink(con->filename);
+ cupsdClearString(&con->filename);
+ }
+
cupsdClearString(&con->command);
cupsdClearString(&con->options);
cupsdClearString(&con->query_string);
@@ -585,6 +590,17 @@ cupsdReadClient(cupsd_client_t *con) /* I - Client to read from */
* connection and we need to shut it down...
*/
+ if (!httpGetReady(con->http) && recv(httpGetFd(con->http), buf, 1, MSG_PEEK) < 1)
+ {
+ /*
+ * Connection closed...
+ */
+
+ cupsdLogClient(con, CUPSD_LOG_DEBUG, "Closing on EOF.");
+ cupsdCloseClient(con);
+ return;
+ }
+
cupsdLogClient(con, CUPSD_LOG_DEBUG, "Closing on unexpected HTTP read state %s.",
httpStateString(httpGetState(con->http)));
cupsdCloseClient(con);
@@ -1979,12 +1995,6 @@ cupsdReadClient(cupsd_client_t *con) /* I - Client to read from */
if (httpGetState(con->http) == HTTP_STATE_POST_SEND)
{
- /*
- * Don't listen for activity until we decide to do something with this...
- */
-
- cupsdAddSelect(httpGetFd(con->http), NULL, NULL, con);
-
if (con->file >= 0)
{
fstat(con->file, &filestats);
@@ -3656,7 +3666,7 @@ pipe_command(cupsd_client_t *con, /* I - Client connection */
snprintf(script_filename, sizeof(script_filename), "SCRIPT_FILENAME=%s%s",
DocumentRoot, script_name + 12);
- sprintf(server_port, "SERVER_PORT=%d", con->serverport);
+ snprintf(server_port, sizeof(server_port), "SERVER_PORT=%d", con->serverport);
if (httpGetField(con->http, HTTP_FIELD_HOST)[0])
{
@@ -4055,5 +4065,5 @@ write_pipe(cupsd_client_t *con) /* I - Client connection */
/*
- * End of "$Id: client.c 12124 2014-08-28 15:37:22Z msweet $".
+ * End of "$Id: client.c 12701 2015-06-08 18:33:44Z msweet $".
*/
diff --git a/scheduler/conf.c b/scheduler/conf.c
index 34269c51c..17a17fa5f 100644
--- a/scheduler/conf.c
+++ b/scheduler/conf.c
@@ -1,5 +1,5 @@
/*
- * "$Id: conf.c 12463 2015-01-30 16:34:31Z msweet $"
+ * "$Id: conf.c 12701 2015-06-08 18:33:44Z msweet $"
*
* Configuration routines for the CUPS scheduler.
*
@@ -407,7 +407,7 @@ cupsdDefaultAuthType(void)
* to use it...
*/
- if (gss_init_sec_context == NULL)
+ if (&gss_init_sec_context == NULL)
return (default_auth_type = CUPSD_AUTH_BASIC);
# endif /* __APPLE__ */
@@ -993,7 +993,7 @@ cupsdReadConfiguration(void)
* Log the error and reset the group to a safe value...
*/
- cupsdLogMessage(CUPSD_LOG_NOTICE,
+ cupsdLogMessage(CUPSD_LOG_ERROR,
"Group and SystemGroup cannot use the same groups.");
if (FatalErrors & (CUPSD_FATAL_CONFIG | CUPSD_FATAL_PERMISSIONS))
return (0);
@@ -4143,5 +4143,5 @@ set_policy_defaults(cupsd_policy_t *pol)/* I - Policy */
/*
- * End of "$Id: conf.c 12463 2015-01-30 16:34:31Z msweet $".
+ * End of "$Id: conf.c 12701 2015-06-08 18:33:44Z msweet $".
*/
diff --git a/scheduler/cups-lpd.c b/scheduler/cups-lpd.c
index a84c7b795..7ce14ef62 100644
--- a/scheduler/cups-lpd.c
+++ b/scheduler/cups-lpd.c
@@ -1,5 +1,5 @@
/*
- * "$Id: cups-lpd.c 11594 2014-02-14 20:09:01Z msweet $"
+ * "$Id: cups-lpd.c 12612 2015-05-06 15:30:50Z msweet $"
*
* Line Printer Daemon interface for CUPS.
*
@@ -219,8 +219,10 @@ main(int argc, /* I - Number of command-line arguments */
* resource list, and/or user name.
*/
- command = line[0];
- dest = line + 1;
+ if ((command = line[0]) == '\0')
+ dest = line;
+ else
+ dest = line + 1;
if (command == 0x02)
list = NULL;
@@ -1612,5 +1614,5 @@ smart_gets(char *s, /* I - Pointer to line buffer */
/*
- * End of "$Id: cups-lpd.c 11594 2014-02-14 20:09:01Z msweet $".
+ * End of "$Id: cups-lpd.c 12612 2015-05-06 15:30:50Z msweet $".
*/
diff --git a/scheduler/env.c b/scheduler/env.c
index 620c99c08..3e33afca0 100644
--- a/scheduler/env.c
+++ b/scheduler/env.c
@@ -1,27 +1,16 @@
/*
- * "$Id: env.c 10996 2013-05-29 11:51:34Z msweet $"
+ * "$Id: env.c 12701 2015-06-08 18:33:44Z msweet $"
*
- * Environment management routines for the CUPS scheduler.
+ * Environment management routines for the CUPS scheduler.
*
- * Copyright 2007-2011 by Apple Inc.
- * Copyright 1997-2006 by Easy Software Products, all rights reserved.
+ * Copyright 2007-2014 by Apple Inc.
+ * Copyright 1997-2006 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
- * file is missing or damaged, see the license at "http://www.cups.org/".
- *
- * Contents:
- *
- * cupsdInitEnv() - Initialize the current environment with standard
- * variables.
- * cupsdLoadEnv() - Copy common environment variables into an array.
- * cupsdSetEnv() - Set a common environment variable.
- * cupsdSetEnvf() - Set a formatted common environment variable.
- * cupsdUpdateEnv() - Update the environment for the configured directories.
- * clear_env() - Clear common environment variables.
- * find_env() - Find a common environment variable.
+ * These coded instructions, statements, and computer programs are the
+ * property of Apple Inc. and are protected by Federal copyright
+ * law. Distribution and use rights are outlined in the file "LICENSE.txt"
+ * which should have been included with this file. If this file is
+ * file is missing or damaged, see the license at "http://www.cups.org/".
*/
/*
@@ -131,6 +120,13 @@ cupsdSetEnv(const char *name, /* I - Name of variable */
return;
/*
+ * Do not allow dynamic linker variables when running as root...
+ */
+
+ if (!RunUser && (!strncmp(name, "DYLD_", 5) || !strncmp(name, "LD_", 3)))
+ return;
+
+ /*
* See if this variable has already been defined...
*/
@@ -269,5 +265,5 @@ find_env(const char *name) /* I - Variable name */
/*
- * End of "$Id: env.c 10996 2013-05-29 11:51:34Z msweet $".
+ * End of "$Id: env.c 12701 2015-06-08 18:33:44Z msweet $".
*/
diff --git a/scheduler/ipp.c b/scheduler/ipp.c
index 05371e6de..3251fcd5d 100644
--- a/scheduler/ipp.c
+++ b/scheduler/ipp.c
@@ -1,9 +1,9 @@
/*
- * "$Id: ipp.c 12124 2014-08-28 15:37:22Z msweet $"
+ * "$Id: ipp.c 12701 2015-06-08 18:33:44Z msweet $"
*
* IPP routines for the CUPS scheduler.
*
- * Copyright 2007-2014 by Apple Inc.
+ * Copyright 2007-2015 by Apple Inc.
* Copyright 1997-2007 by Easy Software Products, all rights reserved.
*
* This file contains Kerberos support code, copyright 2006 by
@@ -409,8 +409,7 @@ cupsdProcessIPPRequest(
* Remote unauthenticated user masquerading as local root...
*/
- _cupsStrFree(username->values[0].string.text);
- username->values[0].string.text = _cupsStrAlloc(RemoteRoot);
+ ippSetString(con->request, &username, 0, RemoteRoot);
}
}
@@ -1556,7 +1555,7 @@ add_job(cupsd_client_t *con, /* I - Client connection */
cupsdSetString(&job->username, con->username);
if (attr)
- cupsdSetString(&attr->values[0].string.text, con->username);
+ ippSetString(job->attrs, &attr, 0, con->username);
}
else if (attr)
{
@@ -1574,9 +1573,8 @@ add_job(cupsd_client_t *con, /* I - Client connection */
"job-originating-user-name", NULL, job->username);
else
{
- attr->group_tag = IPP_TAG_JOB;
- _cupsStrFree(attr->name);
- attr->name = _cupsStrAlloc("job-originating-user-name");
+ ippSetGroupTag(job->attrs, &attr, IPP_TAG_JOB);
+ ippSetName(job->attrs, &attr, "job-originating-user-name");
}
if (con->username[0] || auth_info)
@@ -1610,48 +1608,11 @@ add_job(cupsd_client_t *con, /* I - Client connection */
* Also, we can only have 1 value and it must be a name value.
*/
- switch (attr->value_tag)
- {
- case IPP_TAG_STRING :
- case IPP_TAG_TEXTLANG :
- case IPP_TAG_NAMELANG :
- 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 :
- /*
- * Free old strings...
- */
-
- for (i = 0; i < attr->num_values; i ++)
- {
- _cupsStrFree(attr->values[i].string.text);
- attr->values[i].string.text = NULL;
- if (attr->values[i].string.language)
- {
- _cupsStrFree(attr->values[i].string.language);
- attr->values[i].string.language = NULL;
- }
- }
-
- default :
- break;
- }
-
- /*
- * Use the default connection hostname instead...
- */
-
- attr->value_tag = IPP_TAG_NAME;
- attr->num_values = 1;
- attr->values[0].string.text = _cupsStrAlloc(con->http->hostname);
+ ippDeleteAttribute(job->attrs, attr);
+ ippAddString(job->attrs, IPP_TAG_JOB, IPP_TAG_NAME, "job-originating-host-name", NULL, con->http->hostname);
}
-
- attr->group_tag = IPP_TAG_JOB;
+ else
+ ippSetGroupTag(job->attrs, &attr, IPP_TAG_JOB);
}
else
{
@@ -1747,8 +1708,8 @@ add_job(cupsd_client_t *con, /* I - Client connection */
attr = ippAddStrings(job->attrs, IPP_TAG_JOB, IPP_TAG_NAME, "job-sheets",
2, NULL, NULL);
- attr->values[0].string.text = _cupsStrRetain(printer->job_sheets[0]);
- attr->values[1].string.text = _cupsStrRetain(printer->job_sheets[1]);
+ ippSetString(job->attrs, &attr, 0, printer->job_sheets[0]);
+ ippSetString(job->attrs, &attr, 1, printer->job_sheets[1]);
}
job->job_sheets = attr;
@@ -1774,7 +1735,7 @@ add_job(cupsd_client_t *con, /* I - Client connection */
* Force the leading banner to have the classification on it...
*/
- cupsdSetString(&attr->values[0].string.text, Classification);
+ ippSetString(job->attrs, &attr, 0, Classification);
cupsdLogJob(job, CUPSD_LOG_NOTICE, "CLASSIFICATION FORCED "
"job-sheets=\"%s,none\", "
@@ -1791,7 +1752,7 @@ add_job(cupsd_client_t *con, /* I - Client connection */
* Can't put two different security markings on the same document!
*/
- cupsdSetString(&attr->values[1].string.text, attr->values[0].string.text);
+ ippSetString(job->attrs, &attr, 1, attr->values[0].string.text);
cupsdLogJob(job, CUPSD_LOG_NOTICE, "CLASSIFICATION FORCED "
"job-sheets=\"%s,%s\", "
@@ -1831,18 +1792,18 @@ add_job(cupsd_client_t *con, /* I - Client connection */
if (attr->num_values > 1 &&
!strcmp(attr->values[0].string.text, attr->values[1].string.text))
{
- cupsdSetString(&(attr->values[0].string.text), Classification);
- cupsdSetString(&(attr->values[1].string.text), Classification);
+ ippSetString(job->attrs, &attr, 0, Classification);
+ ippSetString(job->attrs, &attr, 1, Classification);
}
else
{
if (attr->num_values == 1 ||
strcmp(attr->values[0].string.text, "none"))
- cupsdSetString(&(attr->values[0].string.text), Classification);
+ ippSetString(job->attrs, &attr, 0, Classification);
if (attr->num_values > 1 &&
strcmp(attr->values[1].string.text, "none"))
- cupsdSetString(&(attr->values[1].string.text), Classification);
+ ippSetString(job->attrs, &attr, 1, Classification);
}
if (attr->num_values > 1)
@@ -3069,8 +3030,8 @@ authenticate_job(cupsd_client_t *con, /* I - Client connection */
if (attr)
{
- attr->value_tag = IPP_TAG_KEYWORD;
- cupsdSetString(&(attr->values[0].string.text), "no-hold");
+ ippSetValueTag(job->attrs, &attr, IPP_TAG_KEYWORD);
+ ippSetString(job->attrs, &attr, 0, "no-hold");
}
/*
@@ -8191,11 +8152,7 @@ print_job(cupsd_client_t *con, /* I - Client connection */
filetype->type);
if (format)
- {
- _cupsStrFree(format->values[0].string.text);
-
- format->values[0].string.text = _cupsStrAlloc(mimetype);
- }
+ ippSetString(con->request, &format, 0, mimetype);
else
ippAddString(con->request, IPP_TAG_JOB, IPP_TAG_MIMETYPE,
"document-format", NULL, mimetype);
@@ -8732,10 +8689,8 @@ release_job(cupsd_client_t *con, /* I - Client connection */
if (attr)
{
- _cupsStrFree(attr->values[0].string.text);
-
- attr->value_tag = IPP_TAG_KEYWORD;
- attr->values[0].string.text = _cupsStrAlloc("no-hold");
+ ippSetValueTag(job->attrs, &attr, IPP_TAG_KEYWORD);
+ ippSetString(job->attrs, &attr, 0, "no-hold");
cupsdAddEvent(CUPSD_EVENT_JOB_CONFIG_CHANGED, cupsdFindDest(job->dest), job,
"Job job-hold-until value changed by user.");
@@ -9425,11 +9380,7 @@ send_document(cupsd_client_t *con, /* I - Client connection */
if ((jformat = ippFindAttribute(job->attrs, "document-format",
IPP_TAG_MIMETYPE)) != NULL)
- {
- _cupsStrFree(jformat->values[0].string.text);
-
- jformat->values[0].string.text = _cupsStrAlloc(mimetype);
- }
+ ippSetString(job->attrs, &jformat, 0, mimetype);
else
ippAddString(job->attrs, IPP_TAG_JOB, IPP_TAG_MIMETYPE,
"document-format", NULL, mimetype);
@@ -11096,5 +11047,5 @@ validate_user(cupsd_job_t *job, /* I - Job */
/*
- * End of "$Id: ipp.c 12124 2014-08-28 15:37:22Z msweet $".
+ * End of "$Id: ipp.c 12701 2015-06-08 18:33:44Z msweet $".
*/
diff --git a/scheduler/job.c b/scheduler/job.c
index 39dbcdc9a..3f0028698 100644
--- a/scheduler/job.c
+++ b/scheduler/job.c
@@ -1,5 +1,5 @@
/*
- * "$Id: job.c 12463 2015-01-30 16:34:31Z msweet $"
+ * "$Id: job.c 12701 2015-06-08 18:33:44Z msweet $"
*
* Job management routines for the CUPS scheduler.
*
@@ -377,7 +377,7 @@ cupsdCheckJobs(void)
if ((attr = ippFindAttribute(job->attrs, "job-actual-printer-uri",
IPP_TAG_URI)) != NULL)
- cupsdSetString(&attr->values[0].string.text, printer->uri);
+ ippSetString(job->attrs, &attr, 0, printer->uri);
else
ippAddString(job->attrs, IPP_TAG_JOB, IPP_TAG_URI,
"job-actual-printer-uri", NULL, printer->uri);
@@ -2066,7 +2066,7 @@ cupsdMoveJob(cupsd_job_t *job, /* I - Job */
if ((attr = ippFindAttribute(job->attrs, "job-printer-uri",
IPP_TAG_URI)) != NULL)
- cupsdSetString(&(attr->values[0].string.text), p->uri);
+ ippSetString(job->attrs, &attr, 0, p->uri);
cupsdAddEvent(CUPSD_EVENT_JOB_STOPPED, p, job,
"Job #%d moved from %s to %s.", job->id, olddest,
@@ -2263,7 +2263,7 @@ cupsdSetJobHoldUntil(cupsd_job_t *job, /* I - Job */
attr = ippFindAttribute(job->attrs, "job-hold-until", IPP_TAG_NAME);
if (attr)
- cupsdSetString(&(attr->values[0].string.text), when);
+ ippSetString(job->attrs, &attr, 0, when);
else
attr = ippAddString(job->attrs, IPP_TAG_JOB, IPP_TAG_KEYWORD,
"job-hold-until", NULL, when);
@@ -2518,8 +2518,8 @@ cupsdSetJobState(
if (attr)
{
- attr->value_tag = IPP_TAG_KEYWORD;
- cupsdSetString(&(attr->values[0].string.text), "no-hold");
+ ippSetValueTag(job->attrs, &attr, IPP_TAG_KEYWORD);
+ ippSetString(job->attrs, &attr, 0, "no-hold");
}
default :
@@ -4565,7 +4565,7 @@ start_job(cupsd_job_t *job, /* I - Job ID */
"job-printer-state-message",
IPP_TAG_TEXT);
if (job->printer_message)
- cupsdSetString(&(job->printer_message->values[0].string.text), "");
+ ippSetString(job->attrs, &job->printer_message, 0, "");
ippSetString(job->attrs, &job->reasons, 0, "job-printing");
cupsdSetJobState(job, IPP_JOB_PROCESSING, CUPSD_JOB_DEFAULT, NULL);
@@ -5205,15 +5205,14 @@ update_job_attrs(cupsd_job_t *job, /* I - Job to update */
if (job->state_value != IPP_JOB_PROCESSING &&
job->status_level == CUPSD_LOG_INFO)
{
- cupsdSetString(&(job->printer_message->values[0].string.text), "");
+ ippSetString(job->attrs, &job->printer_message, 0, "");
job->dirty = 1;
cupsdMarkDirty(CUPSD_DIRTY_JOBS);
}
else if (job->printer->state_message[0] && do_message)
{
- cupsdSetString(&(job->printer_message->values[0].string.text),
- job->printer->state_message);
+ ippSetString(job->attrs, &job->printer_message, 0, job->printer->state_message);
job->dirty = 1;
cupsdMarkDirty(CUPSD_DIRTY_JOBS);
@@ -5281,5 +5280,5 @@ update_job_attrs(cupsd_job_t *job, /* I - Job to update */
/*
- * End of "$Id: job.c 12463 2015-01-30 16:34:31Z msweet $".
+ * End of "$Id: job.c 12701 2015-06-08 18:33:44Z msweet $".
*/
diff --git a/scheduler/main.c b/scheduler/main.c
index 76e095bfd..8069419a2 100644
--- a/scheduler/main.c
+++ b/scheduler/main.c
@@ -1,9 +1,9 @@
/*
- * "$Id: main.c 12248 2014-11-12 16:32:57Z msweet $"
+ * "$Id: main.c 12701 2015-06-08 18:33:44Z msweet $"
*
* Main loop for the CUPS scheduler.
*
- * Copyright 2007-2014 by Apple Inc.
+ * Copyright 2007-2015 by Apple Inc.
* Copyright 1997-2007 by Easy Software Products, all rights reserved.
*
* These coded instructions, statements, and computer programs are the
@@ -1137,8 +1137,8 @@ cupsdAddString(cups_array_t **a, /* IO - String array */
if (!*a)
*a = cupsArrayNew3((cups_array_func_t)strcmp, NULL,
(cups_ahash_func_t)NULL, 0,
- (cups_acopy_func_t)_cupsStrAlloc,
- (cups_afree_func_t)_cupsStrFree);
+ (cups_acopy_func_t)strdup,
+ (cups_afree_func_t)free);
return (cupsArrayAdd(*a, (char *)s));
}
@@ -1168,7 +1168,7 @@ cupsdClearString(char **s) /* O - String value */
{
if (s && *s)
{
- _cupsStrFree(*s);
+ free(*s);
*s = NULL;
}
}
@@ -1249,10 +1249,10 @@ cupsdSetString(char **s, /* O - New string */
return;
if (*s)
- _cupsStrFree(*s);
+ free(*s);
if (v)
- *s = _cupsStrAlloc(v);
+ *s = strdup(v);
else
*s = NULL;
}
@@ -1283,13 +1283,13 @@ cupsdSetStringf(char **s, /* O - New string */
vsnprintf(v, sizeof(v), f, ap);
va_end(ap);
- *s = _cupsStrAlloc(v);
+ *s = strdup(v);
}
else
*s = NULL;
if (olds)
- _cupsStrFree(olds);
+ free(olds);
}
@@ -1449,8 +1449,7 @@ process_children(void)
}
if (job->printer_message)
- cupsdSetString(&(job->printer_message->values[0].string.text),
- message);
+ ippSetString(job->attrs, &job->printer_message, 0, message);
}
}
@@ -2173,5 +2172,5 @@ usage(int status) /* O - Exit status */
/*
- * End of "$Id: main.c 12248 2014-11-12 16:32:57Z msweet $".
+ * End of "$Id: main.c 12701 2015-06-08 18:33:44Z msweet $".
*/
diff --git a/scheduler/process.c b/scheduler/process.c
index 1154043df..33fcc5002 100644
--- a/scheduler/process.c
+++ b/scheduler/process.c
@@ -1,5 +1,5 @@
/*
- * "$Id: process.c 12471 2015-02-01 05:07:10Z msweet $"
+ * "$Id: process.c 12522 2015-02-17 20:01:33Z msweet $"
*
* Process management routines for the CUPS scheduler.
*
@@ -606,7 +606,7 @@ cupsdStartProcess(
if (infd != 0)
{
if (infd < 0)
- posix_spawn_file_actions_addopen(&actions, 0, "/dev/null", O_WRONLY, 0);
+ posix_spawn_file_actions_addopen(&actions, 0, "/dev/null", O_RDONLY, 0);
else
posix_spawn_file_actions_adddup2(&actions, infd, 0);
}
@@ -890,5 +890,5 @@ cupsd_requote(char *dst, /* I - Destination buffer */
/*
- * End of "$Id: process.c 12471 2015-02-01 05:07:10Z msweet $".
+ * End of "$Id: process.c 12522 2015-02-17 20:01:33Z msweet $".
*/
diff --git a/scheduler/type.c b/scheduler/type.c
index 046ce3d1b..2bfaf719b 100644
--- a/scheduler/type.c
+++ b/scheduler/type.c
@@ -1,9 +1,9 @@
/*
- * "$Id: type.c 11594 2014-02-14 20:09:01Z msweet $"
+ * "$Id: type.c 12578 2015-03-30 19:07:29Z msweet $"
*
* MIME typing routines for CUPS.
*
- * Copyright 2007-2014 by Apple Inc.
+ * Copyright 2007-2015 by Apple Inc.
* Copyright 1997-2006 by Easy Software Products, all rights reserved.
*
* These coded instructions, statements, and computer programs are the
@@ -613,8 +613,23 @@ mimeFileType(mime_t *mime, /* I - MIME database */
return (NULL);
}
- fb.offset = -1;
- fb.length = 0;
+ /*
+ * Then preload the first MIME_MAX_BUFFER bytes of the file into the file
+ * buffer, returning an error if we can't read anything...
+ */
+
+ fb.offset = 0;
+ fb.length = (int)cupsFileRead(fb.fp, (char *)fb.buffer, MIME_MAX_BUFFER);
+
+ if (fb.length <= 0)
+ {
+ DEBUG_printf(("1mimeFileType: Unable to read from \"%s\": %s", pathname, strerror(errno)));
+ DEBUG_puts("1mimeFileType: Returning NULL.");
+
+ cupsFileClose(fb.fp);
+
+ return (NULL);
+ }
/*
* Figure out the base filename (without directory portion)...
@@ -780,6 +795,8 @@ mime_check_rules(
fb->length = cupsFileRead(fb->fp, (char *)fb->buffer,
sizeof(fb->buffer));
fb->offset = rules->offset;
+
+ DEBUG_printf(("4mime_check_rules: MIME_MAGIC_ASCII fb->length=%d", fb->length));
}
/*
@@ -822,6 +839,8 @@ mime_check_rules(
fb->length = cupsFileRead(fb->fp, (char *)fb->buffer,
sizeof(fb->buffer));
fb->offset = rules->offset;
+
+ DEBUG_printf(("4mime_check_rules: MIME_MAGIC_PRINTABLE fb->length=%d", fb->length));
}
/*
@@ -870,6 +889,8 @@ mime_check_rules(
sizeof(fb->buffer));
fb->offset = rules->offset;
+ DEBUG_printf(("4mime_check_rules: MIME_MAGIC_REGEX fb->length=%d", fb->length));
+
DEBUG_printf(("5mime_check_rules: loaded %d byte fb->buffer at %d, starts "
"with \"%c%c%c%c\".",
fb->length, fb->offset, fb->buffer[0], fb->buffer[1],
@@ -914,6 +935,8 @@ mime_check_rules(
sizeof(fb->buffer));
fb->offset = rules->offset;
+ DEBUG_printf(("4mime_check_rules: MIME_MAGIC_STRING fb->length=%d", fb->length));
+
DEBUG_printf(("5mime_check_rules: loaded %d byte fb->buffer at %d, starts "
"with \"%c%c%c%c\".",
fb->length, fb->offset, fb->buffer[0], fb->buffer[1],
@@ -948,6 +971,8 @@ mime_check_rules(
fb->length = cupsFileRead(fb->fp, (char *)fb->buffer,
sizeof(fb->buffer));
fb->offset = rules->offset;
+
+ DEBUG_printf(("4mime_check_rules: MIME_MAGIC_ISTRING fb->length=%d", fb->length));
}
/*
@@ -976,6 +1001,8 @@ mime_check_rules(
fb->length = cupsFileRead(fb->fp, (char *)fb->buffer,
sizeof(fb->buffer));
fb->offset = rules->offset;
+
+ DEBUG_printf(("4mime_check_rules: MIME_MAGIC_CHAR fb->length=%d", fb->length));
}
/*
@@ -1006,6 +1033,8 @@ mime_check_rules(
fb->length = cupsFileRead(fb->fp, (char *)fb->buffer,
sizeof(fb->buffer));
fb->offset = rules->offset;
+
+ DEBUG_printf(("4mime_check_rules: MIME_MAGIC_SHORT fb->length=%d", fb->length));
}
/*
@@ -1039,6 +1068,8 @@ mime_check_rules(
fb->length = cupsFileRead(fb->fp, (char *)fb->buffer,
sizeof(fb->buffer));
fb->offset = rules->offset;
+
+ DEBUG_printf(("4mime_check_rules: MIME_MAGIC_INT fb->length=%d", fb->length));
}
/*
@@ -1080,6 +1111,8 @@ mime_check_rules(
fb->length = cupsFileRead(fb->fp, (char *)fb->buffer,
sizeof(fb->buffer));
fb->offset = rules->offset;
+
+ DEBUG_printf(("4mime_check_rules: MIME_MAGIC_CONTAINS fb->length=%d", fb->length));
}
/*
@@ -1246,5 +1279,5 @@ mime_patmatch(const char *s, /* I - String to match against */
/*
- * End of "$Id: type.c 11594 2014-02-14 20:09:01Z msweet $".
+ * End of "$Id: type.c 12578 2015-03-30 19:07:29Z msweet $".
*/
diff --git a/systemv/lpadmin.c b/systemv/lpadmin.c
index 2431edc91..1f6f9da19 100644
--- a/systemv/lpadmin.c
+++ b/systemv/lpadmin.c
@@ -1,9 +1,9 @@
/*
- * "$Id: lpadmin.c 11558 2014-02-06 18:33:34Z msweet $"
+ * "$Id: lpadmin.c 12604 2015-05-06 01:43:05Z msweet $"
*
* "lpadmin" command for CUPS.
*
- * Copyright 2007-2014 by Apple Inc.
+ * Copyright 2007-2015 by Apple Inc.
* Copyright 1997-2006 by Easy Software Products.
*
* These coded instructions, statements, and computer programs are the
@@ -1233,7 +1233,7 @@ set_printer_options(
{
ipp_t *request; /* IPP Request */
const char *ppdfile; /* PPD filename */
- int ppdchanged; /* PPD changed? */
+ int ppdchanged = 0; /* PPD changed? */
ppd_file_t *ppd; /* PPD file */
ppd_choice_t *choice; /* Marked choice */
char uri[HTTP_MAX_URI], /* URI for printer/class */
@@ -1243,11 +1243,13 @@ set_printer_options(
tempfile[1024]; /* Temporary filename */
cups_file_t *in, /* PPD file */
*out; /* Temporary file */
- const char *protocol, /* Old protocol option */
+ const char *ppdname, /* ppd-name value */
+ *protocol, /* Old protocol option */
*customval, /* Custom option value */
*boolval; /* Boolean value */
int wrote_ipp_supplies = 0, /* Wrote cupsIPPSupplies keyword? */
- wrote_snmp_supplies = 0;/* Wrote cupsSNMPSupplies keyword? */
+ wrote_snmp_supplies = 0,/* Wrote cupsSNMPSupplies keyword? */
+ copied_options = 0; /* Copied options? */
DEBUG_printf(("set_printer_options(http=%p, printer=\"%s\", num_options=%d, "
@@ -1294,6 +1296,26 @@ set_printer_options(
if (file)
ppdfile = file;
+ else if ((ppdname = cupsGetOption("ppd-name", num_options, options)) != NULL && strcmp(ppdname, "raw") && num_options > 1)
+ {
+ if ((ppdfile = cupsGetServerPPD(http, ppdname)) != NULL)
+ {
+ /*
+ * Copy options array and remove ppd-name from it...
+ */
+
+ cups_option_t *temp = NULL, *optr;
+ int i, num_temp = 0;
+ for (i = num_options, optr = options; i > 0; i --, optr ++)
+ if (strcmp(optr->name, "ppd-name"))
+ num_temp = cupsAddOption(optr->name, optr->value, num_temp, &temp);
+
+ copied_options = 1;
+ ppdchanged = 1;
+ num_options = num_temp;
+ options = temp;
+ }
+ }
else if (request->request.op.operation_id == CUPS_ADD_MODIFY_PRINTER)
ppdfile = cupsGetPPD(printer);
else
@@ -1305,7 +1327,15 @@ set_printer_options(
* Set default options in the PPD file...
*/
- ppd = ppdOpenFile(ppdfile);
+ if ((ppd = ppdOpenFile(ppdfile)) == NULL)
+ {
+ int linenum; /* Line number of error */
+ ppd_status_t status = ppdLastError(&linenum);
+ /* Status code */
+
+ _cupsLangPrintf(stderr, _("lpadmin: Unable to open PPD \"%s\": %s on line %d."), ppdfile, ppdErrorString(status), linenum);
+ }
+
ppdMarkDefaults(ppd);
cupsMarkOptions(ppd, num_options, options);
@@ -1315,6 +1345,8 @@ set_printer_options(
ippDelete(request);
if (ppdfile != file)
unlink(ppdfile);
+ if (copied_options)
+ cupsFreeOptions(num_options, options);
return (1);
}
@@ -1326,13 +1358,13 @@ set_printer_options(
ippDelete(request);
if (ppdfile != file)
unlink(ppdfile);
+ if (copied_options)
+ cupsFreeOptions(num_options, options);
cupsFileClose(out);
unlink(tempfile);
return (1);
}
- ppdchanged = 0;
-
while (cupsFileGets(in, line, sizeof(line)))
{
if (!strncmp(line, "*cupsIPPSupplies:", 17) &&
@@ -1454,6 +1486,9 @@ set_printer_options(
ippDelete(cupsDoRequest(http, request, "/admin/"));
}
+ if (copied_options)
+ cupsFreeOptions(num_options, options);
+
/*
* Check the response...
*/
@@ -1499,5 +1534,5 @@ validate_name(const char *name) /* I - Name to check */
/*
- * End of "$Id: lpadmin.c 11558 2014-02-06 18:33:34Z msweet $".
+ * End of "$Id: lpadmin.c 12604 2015-05-06 01:43:05Z msweet $".
*/
diff --git a/templates/de/add-class.tmpl b/templates/de/add-class.tmpl
new file mode 100644
index 000000000..4b1fb3e7a
--- /dev/null
+++ b/templates/de/add-class.tmpl
@@ -0,0 +1,37 @@
+<H2 CLASS="title">Klasse hinzufügen</H2>
+
+<FORM METHOD="POST" ACTION="/admin">
+<INPUT TYPE="HIDDEN" NAME="org.cups.sid" VALUE="{$org.cups.sid}">
+<INPUT TYPE="HIDDEN" NAME="OP" VALUE="{op}">
+
+<TABLE>
+<TR>
+<TH CLASS="label">Name:</TH>
+<TD><INPUT TYPE="TEXT" NAME="PRINTER_NAME" SIZE="40" MAXLENGTH="127"><BR>
+<SMALL>(Darf alle druckbaren Zeichen ausser "/", "#", und Leerzeichen enthalten)</SMALL></TD>
+</TR>
+<TR>
+<TH CLASS="label">Beschreibung:</TH>
+<TD><INPUT TYPE="TEXT" NAME="PRINTER_INFO" SIZE="40" MAXLENGTH="127"><BR>
+<SMALL>(Für Menschen lesbare Beschreibung wie "HP LaserJet with Duplexer")</SMALL></TD>
+</TR>
+<TR>
+<TH CLASS="label">Ort:</TH>
+<TD><INPUT TYPE="TEXT" NAME="PRINTER_LOCATION" SIZE="40" MAXLENGTH="127"><BR>
+<SMALL>(Für Menschen lesbarer Ort wie "Lab 1")</SMALL></TD>
+</TR>
+<TR>
+<TH CLASS="label">Mitglieder:</TH>
+<TD>
+<SELECT NAME="MEMBER_URIS" SIZE="10" MULTIPLE>
+{[member_uris]<OPTION VALUE="{member_uris}" {?member_selected}>{member_names}}
+</SELECT>
+</TD>
+</TR>
+<TR>
+<TD></TD>
+<TD><INPUT TYPE="SUBMIT" VALUE="Klasse hinzufügen"></TD>
+</TR>
+</TABLE>
+
+</FORM>
diff --git a/templates/de/add-printer.tmpl b/templates/de/add-printer.tmpl
new file mode 100644
index 000000000..8cc2b1743
--- /dev/null
+++ b/templates/de/add-printer.tmpl
@@ -0,0 +1,44 @@
+<H2 CLASS="title">Drucker hinzufügen (Schritt 3/5)</H2>
+
+<FORM METHOD="POST" ACTION="/admin">
+<INPUT TYPE="HIDDEN" NAME="org.cups.sid" VALUE="{$org.cups.sid}">
+<INPUT TYPE="HIDDEN" NAME="OP" VALUE="{op}">
+<INPUT TYPE="HIDDEN" NAME="BAUDRATE" VALUE="{?baudrate}">
+<INPUT TYPE="HIDDEN" NAME="BITS" VALUE="{?bits}">
+<INPUT TYPE="HIDDEN" NAME="PARITY" VALUE="{?parity}">
+<INPUT TYPE="HIDDEN" NAME="FLOW" VALUE="{?flow}">
+{?current_make!?<INPUT TYPE="HIDDEN" NAME="CURRENT_MAKE" VALUE="{current_make}">:}
+{?current_make_and_model!?<INPUT TYPE="HIDDEN" NAME="CURRENT_MAKE_AND_MODEL" VALUE="{current_make_and_model}">:}
+
+<TABLE>
+<TR>
+<TH CLASS="label">Name:</TH>
+<TD><INPUT TYPE="TEXT" NAME="PRINTER_NAME" SIZE="40" MAXLENGTH="127" VALUE="{?template_name}"><BR>
+<SMALL>(Darf druckbare Zeichen enthalten ausser "/", "#", und Leerzeichen)</SMALL></TD>
+</TR>
+<TR>
+<TH CLASS="label">Beschreibung:</TH>
+<TD><INPUT TYPE="TEXT" NAME="PRINTER_INFO" SIZE="40" MAXLENGTH="127" VALUE="{?PRINTER_INFO}"><BR>
+<SMALL>(Menschenlesbare Beschreibung wie etwa "HP LaserJet mit Duplexer")</SMALL></TD>
+</TR>
+<TR>
+<TH CLASS="label">Ort:</TH>
+<TD><INPUT TYPE="TEXT" NAME="PRINTER_LOCATION" SIZE="40" MAXLENGTH="127" VALUE="{?PRINTER_LOCATION}"><BR>
+<SMALL>(Menschenlesbarer Ort wie etwa "Labor 1")</SMALL></TD>
+</TR>
+<TR>
+<TH CLASS="label">Verbindung:</TH>
+<TD><INPUT TYPE="HIDDEN" NAME="DEVICE_URI" VALUE="{device_uri}">{device_uri}</TD>
+</TR>
+<TR>
+<TH CLASS="label">Freigabe:</TH>
+<TD><INPUT TYPE="CHECKBOX" NAME="PRINTER_IS_SHARED" {PRINTER_IS_SHARED=1?CHECKED:}>
+Gebe diesen Drucker frei</TD>
+</TR>
+<TR>
+<TD></TD>
+<TD><INPUT TYPE="SUBMIT" VALUE="Weiter"></TD>
+</TR>
+</TABLE>
+
+</FORM>
diff --git a/templates/de/add-rss-subscription.tmpl b/templates/de/add-rss-subscription.tmpl
new file mode 100644
index 000000000..4097e33cf
--- /dev/null
+++ b/templates/de/add-rss-subscription.tmpl
@@ -0,0 +1,44 @@
+<FORM METHOD="POST" ACTION="/admin">
+<INPUT TYPE="HIDDEN" NAME="org.cups.sid" VALUE="{$org.cups.sid}">
+<INPUT TYPE="HIDDEN" NAME="OP" VALUE="add-rss-subscription">
+
+<H2 CLASS="title">RSS Subskription hinzufügen</H2>
+
+<TABLE SUMMARY="Forumlar zum Hinzufügen einer RSS Subskription">
+<TR>
+<TH CLASS="label">Name:</TH>
+<TD COLSPAN="5"><INPUT TYPE="TEXT" NAME="SUBSCRIPTION_NAME" SIZE="40" MAXLENGTH="127" VALUE="{?SUBSCRIPTION_NAME}"><BR>
+<SMALL>(Darf alle druckbaren Zeichen ausser Leerzeichen, "/", "?", und "#" enthalten)</SMALL></TD>
+</TR>
+<TR>
+<TH CLASS="label">Warteschlange:</TH>
+<TD COLSPAN="5"><SELECT NAME="PRINTER_URI" SIZE="10"><OPTION VALUE="#ALL#"{?PRINTER_URI=#ALL#? SELECTED:}>Alle Warteschlangen</OPTION>{[printer_name]<OPTION VALUE="{printer_uri_supported}"{?PRINTER_URI={printer_uri_supported}? SELECTED:}>{printer_name}</OPTION>}</SELECT></TD>
+</TR>
+<TR VALIGN="TOP">
+<TH CLASS="label">Ereignisse:</TH>
+<TD><INPUT TYPE="CHECKBOX" NAME="EVENT_JOB_CREATED" {?EVENT_JOB_CREATED}>Auftrag erstellt<BR>
+<INPUT TYPE="CHECKBOX" NAME="EVENT_JOB_COMPLETED" {?EVENT_JOB_COMPLETED}>Auftrag abgeschlossen<BR>
+<INPUT TYPE="CHECKBOX" NAME="EVENT_JOB_STOPPED" {?EVENT_JOB_STOPPED}>Auftrag angehalten<BR>
+<INPUT TYPE="CHECKBOX" NAME="EVENT_JOB_CONFIG_CHANGED" {?EVENT_JOB_CONFIG_CHANGED}>Auftrags Parameter Geändert</TD>
+<TD>&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+<TD><INPUT TYPE="CHECKBOX" NAME="EVENT_PRINTER_STOPPED" {?EVENT_PRINTER_STOPPED}>Warteschlange angehalten<BR>
+<INPUT TYPE="CHECKBOX" NAME="EVENT_PRINTER_ADDED" {?EVENT_PRINTER_ADDED}>Warteschlange hinzugefügt<BR>
+<INPUT TYPE="CHECKBOX" NAME="EVENT_PRINTER_MODIFIED" {?EVENT_PRINTER_MODIFIED}>Warteschlange geändert<BR>
+<INPUT TYPE="CHECKBOX" NAME="EVENT_PRINTER_DELETED" {?EVENT_PRINTER_DELETED}>Warteschlange gelöscht</TD>
+<TD>&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+<TD><INPUT TYPE="CHECKBOX" NAME="EVENT_SERVER_STARTED" {?EVENT_SERVER_STARTED}>Server gestartet<BR>
+<INPUT TYPE="CHECKBOX" NAME="EVENT_SERVER_STOPPED" {?EVENT_SERVER_STOPPED}>Server angehalten<BR>
+<INPUT TYPE="CHECKBOX" NAME="EVENT_SERVER_RESTARTED" {?EVENT_SERVER_RESTARTED}>Server neu gestartet<BR>
+<INPUT TYPE="CHECKBOX" NAME="EVENT_SERVER_AUDIT" {?EVENT_SERVER_AUDIT}>Server Sicherheits Prüfung</TD>
+</TR>
+<TR>
+<TH CLASS="label">Maximale Ereignisse in Durchführung:</TH>
+<TD COLSPAN="5"><INPUT TYPE="NUMBER" NAME="MAX_EVENTS" SIZE="4" MAXLENGTH="4" VALUE="{MAX_EVENTS?{MAX_EVENTS}:20}"></TD>
+</TR>
+<TR>
+<TD></TD>
+<TD COLSPAN="5"><INPUT TYPE="SUBMIT" VALUE="RSS Subskription hinzufügen"></TD>
+</TR>
+</TABLE>
+
+</FORM>
diff --git a/templates/de/admin.tmpl b/templates/de/admin.tmpl
new file mode 100644
index 000000000..965d0726d
--- /dev/null
+++ b/templates/de/admin.tmpl
@@ -0,0 +1,97 @@
+<div class="row">
+ <div class="halves">
+ <H2 CLASS="title">Drucker</H2>
+
+ <P>
+ <FORM ACTION="/admin/" METHOD="POST"><INPUT TYPE="HIDDEN" NAME="org.cups.sid" VALUE="{$org.cups.sid}"><INPUT TYPE="HIDDEN" NAME="OP" VALUE="add-printer"><INPUT TYPE="SUBMIT" VALUE="Füge Drucker hinzu"></FORM>
+ <FORM ACTION="/admin/" METHOD="POST"><INPUT TYPE="HIDDEN" NAME="org.cups.sid" VALUE="{$org.cups.sid}"><INPUT TYPE="HIDDEN" NAME="OP" VALUE="find-new-printers"><INPUT TYPE="SUBMIT" VALUE="Finde neue Drucker"></FORM>
+ <FORM ACTION="/printers/" METHOD="GET"><INPUT TYPE="SUBMIT" VALUE="Manage Drucker"></FORM>
+ {have_samba?<FORM ACTION="/admin/" METHOD="POST"><INPUT TYPE="HIDDEN" NAME="org.cups.sid" VALUE="{$org.cups.sid}"><INPUT TYPE="HIDDEN" NAME="OP" VALUE="export-samba"><INPUT TYPE="SUBMIT" VALUE="Exportiere Drucker nach Samba"></FORM>:}
+ </P>
+
+ <H2 CLASS="title">Klassen</H2>
+
+ <P>
+ <FORM ACTION="/admin/" METHOD="POST"><INPUT TYPE="HIDDEN" NAME="org.cups.sid" VALUE="{$org.cups.sid}"><INPUT TYPE="HIDDEN" NAME="OP" VALUE="add-class"><INPUT TYPE="SUBMIT" VALUE="Klasse hinzufügen"></FORM>
+ <FORM ACTION="/classes/" METHOD="GET"><INPUT TYPE="SUBMIT" VALUE="Klasse managen"></FORM>
+ </P>
+
+ <H2 CLASS="title">Aufträge</H2>
+
+ <P>
+ <FORM ACTION="/jobs/" METHOD="GET"><INPUT TYPE="SUBMIT" VALUE="Aufträge managen"></FORM>
+ </P>
+ </div>
+ <div class="halves">
+ <H2 CLASS="title">Server</H2>
+
+ <P>
+ <FORM ACTION="/admin/" METHOD="POST"><INPUT TYPE="HIDDEN" NAME="org.cups.sid" VALUE="{$org.cups.sid}"><INPUT TYPE="HIDDEN" NAME="OP" VALUE="config-server"><INPUT TYPE="SUBMIT" VALUE="Konfigurationsdatei bearbeiten"></FORM>
+ <FORM ACTION="/admin/log/access_log" METHOD="GET"><INPUT TYPE="SUBMIT" VALUE="Zugriffs-Log zeigen"></FORM>
+ <FORM ACTION="/admin/log/error_log" METHOD="GET"><INPUT TYPE="SUBMIT" VALUE="Fehler-Log zeigen"></FORM>
+ <FORM ACTION="/admin/log/page_log" METHOD="GET"><INPUT TYPE="SUBMIT" VALUE="Seiten-Log zeigen"></FORM>
+ </P>
+
+ {SETTINGS_ERROR?<P>{SETTINGS_MESSAGE}</P>
+ <BLOCKQUOTE>{SETTINGS_ERROR}</BLOCKQUOTE>:
+
+ <FORM METHOD="POST" ACTION="/admin">
+ <INPUT TYPE="HIDDEN" NAME="org.cups.sid" VALUE="{$org.cups.sid}">
+
+ {ADVANCEDSETTINGS?<P><B>Server-Einstellungen\:</B></P>
+
+ <P><A HREF="/admin/">Erweitert <SMALL>&#x25bc;</SMALL></A><BR>
+ <INPUT TYPE="HIDDEN" NAME="OP" VALUE="config-server">
+ <INPUT TYPE="HIDDEN" NAME="ADVANCEDSETTINGS" VALUE="YES">
+ <INPUT TYPE="CHECKBOX" NAME="SHARE_PRINTERS" {?share_printers}> Drucker dieses Systems im Netz freigeben<BR>
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Max clients\:
+ <INPUT TYPE="TEXT" NAME="MAX_CLIENTS" VALUE="{?max_clients}" SIZE="6"><BR>
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<INPUT TYPE="CHECKBOX" NAME="REMOTE_ANY" {?remote_any}> Erlaube Druck aus dem Internet<BR>
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<INPUT TYPE="CHECKBOX" NAME="BROWSE_WEB_IF" {?browse_web_if}> Mache die Web-Schnittstelle bekannt<BR>
+ <INPUT TYPE="CHECKBOX" NAME="REMOTE_ADMIN" {?remote_admin}> Erlaube Fernwartung<BR>
+ {have_gssapi?<INPUT TYPE="CHECKBOX" NAME="KERBEROS" {?kerberos}> Benutze Kerberos-Authentifizierung (<A HREF="/help/kerberos.html?TOPIC=Getting+Started">FAQ</A>)<BR>:}
+ <INPUT TYPE="CHECKBOX" NAME="USER_CANCEL_ANY" {?user_cancel_any}> Erlaube Benutzern beliebige Aufträge abzubrechen (nicht nur die Eigenen)<BR>
+ <INPUT TYPE="CHECKBOX" NAME="PRESERVE_JOBS" {?preserve_jobs}> Behalte die Auftragshistorie<BR>
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Maximale Auftragsanzehl (0 für unbegrenzt)\:
+ <INPUT TYPE="TEXT" NAME="MAX_JOBS" VALUE="{?max_jobs}" SIZE="6"><BR>
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Behalte Metadaten\:
+ <INPUT TYPE="TEXT" NAME="PRESERVE_JOB_HISTORY" VALUE="{?preserve_job_history}" SIZE="6"><BR>
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Behalte Dokumente\:
+ <INPUT TYPE="TEXT" NAME="PRESERVE_JOB_FILES" VALUE="{?preserve_job_files}" SIZE="6"><BR>
+ <INPUT TYPE="CHECKBOX" NAME="DEBUG_LOGGING" {?debug_logging}> Save debugging information for troubleshooting<BR>
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Maximale logDateigrösse\:
+ <INPUT TYPE="TEXT" NAME="MAX_LOG_SIZE" VALUE="{?max_log_size}" SIZE="6"></P>
+
+ :<P><B>Server Einstellungen:</B></P>
+
+ <P><A HREF="/admin/?ADVANCEDSETTINGS=YES">Erweitert <SMALL>&#x25b6;</SMALL></A><BR>
+ <INPUT TYPE="HIDDEN" NAME="OP" VALUE="config-server">
+ <INPUT TYPE="CHECKBOX" NAME="SHARE_PRINTERS" {?share_printers}> Drucker dieses Systems im Netz freigeben<BR>
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<INPUT TYPE="CHECKBOX" NAME="REMOTE_ANY" {?remote_any}> Erlaube den Druck aus dem Internet<BR>
+ <INPUT TYPE="CHECKBOX" NAME="REMOTE_ADMIN" {?remote_admin}> Erlaube Fernwartung<BR>
+ {have_gssapi?<INPUT TYPE="CHECKBOX" NAME="KERBEROS" {?kerberos}> Benutze Kerberos Authentifizierung (<A HREF="/help/kerberos.html?TOPIC=Getting+Started">FAQ</A>)<BR>:}
+ <INPUT TYPE="CHECKBOX" NAME="USER_CANCEL_ANY" {?user_cancel_any}> Erlaube Benutzern alle Aufträge zu löschen (nicht nur die eigenen)<BR>
+ <INPUT TYPE="CHECKBOX" NAME="DEBUG_LOGGING" {?debug_logging}> Speichere debugging Information zur Fehlersuche</P>
+
+ }
+ <P><INPUT TYPE="SUBMIT" NAME="CHANGESETTINGS" VALUE="Ändere Eintellungen"></P>
+
+ </FORM>}
+ </div>
+</div>
+
+<div class="row">
+ <H2 CLASS="title">RSS Subskriptionen</H2>
+
+ <P>
+ <FORM ACTION="/admin/" METHOD="POST"><INPUT TYPE="HIDDEN" NAME="org.cups.sid" VALUE="{$org.cups.sid}"><INPUT TYPE="HIDDEN" NAME="OP" VALUE="add-rss-subscription"><INPUT TYPE="SUBMIT" VALUE="RSS Subskription hinzufügen"></FORM>
+ </P>
+
+ {notify_subscription_id?<TABLE CLASS="list" SUMMARY="RSS Subskriptionen">
+ <THEAD><TR><TH>Name</TH><TH>Ereignisse</TH><TH>Queue Name</TH></TR></THEAD>
+ <TBODY>{[notify_subscription_id]
+ <TR><TD><A HREF="{notify_recipient_uri}">{notify_recipient_name}</A><BR>
+ <FORM ACTION="/admin/" METHOD="POST"><INPUT TYPE="HIDDEN" NAME="org.cups.sid" VALUE="{$org.cups.sid}"><INPUT TYPE="HIDDEN" NAME="OP" VALUE="cancel-subscription"><INPUT TYPE="HIDDEN" NAME="notify_subscription_id" VALUE="{notify_subscription_id}"><INPUT TYPE="SUBMIT" VALUE="RSS Subskription kündigen"></FORM>&nbsp;</TD><TD>{notify_events}</TD><TD NOWRAP>&nbsp;{notify_printer_name?{notify_printer_name}:All Queues}</TD></TR>}
+ </TBODY>
+ </TABLE>:}
+</div> \ No newline at end of file
diff --git a/templates/de/choose-device.tmpl b/templates/de/choose-device.tmpl
new file mode 100644
index 000000000..4aaf8ea27
--- /dev/null
+++ b/templates/de/choose-device.tmpl
@@ -0,0 +1,49 @@
+<H2 CLASS="title">{op=modify-printer?{printer_name} ändern:Drucker hinzufügen (Schritt 1/5)}</H2>
+
+{CUPS_GET_DEVICES_DONE?<FORM METHOD="POST" ACTION="/admin">
+<INPUT TYPE="HIDDEN" NAME="org.cups.sid" VALUE="{$org.cups.sid}">
+<INPUT TYPE="HIDDEN" NAME="OP" VALUE="{op}">
+{printer_name?<INPUT TYPE="HIDDEN" NAME="printer_name" VALUE="{printer_name}">:}
+
+<TABLE>
+{op=add-printer?:<TR>
+<TH CLASS="label">Aktuelle Verbindung\:</TH>
+<TD><INPUT TYPE="RADIO" NAME="DEVICE_URI" VALUE="{current_device_uri}" CHECKED>
+{current_device_uri}</TD>
+</TR>}
+<TR>
+<TH CLASS="label">Lokale Drucker\:</TH>
+<TD>
+{[device_uri]{device_class!network?<INPUT TYPE="RADIO" NAME="DEVICE_URI"
+VALUE="{device_uri}{?device_make_and_model!Unbekannt?|{device_make_and_model}:}">
+{device_info} {?device_make_and_model!Unbekannt?({device_make_and_model}):}<BR>
+:}}
+</TD>
+</TR>
+<TR>
+<TH CLASS="label">Entdeckte Netzwerkdrucker\:</TH>
+<TD>
+{[device_uri]{device_class=network?{device_uri~[a-z]+://?<INPUT TYPE="RADIO" NAME="DEVICE_URI"
+VALUE="{device_uri}{?device_make_and_model!Unbekannt?|{device_make_and_model}:}">
+{device_info} {?device_make_and_model!Unbekannt?({device_make_and_model}):}<BR>
+:}:}}
+</TD>
+</TR>
+<TR>
+<TR>
+<TH CLASS="label">Andere Netzwerkdrucker\:</TH>
+<TD>
+{[device_uri]{device_class=network?{device_uri~[a-z]+://?:<INPUT TYPE="RADIO" NAME="DEVICE_URI"
+VALUE="{device_uri}{?device_make_and_model!Unknown?|{device_make_and_model}:}">
+{device_info} {?device_make_and_model!Unknown?({device_make_and_model}):}<BR>
+}:}}
+</TD>
+</TR>
+<TR>
+<TD></TD>
+<TD><INPUT TYPE="SUBMIT" VALUE="Weiter"></TD>
+</TR>
+</TABLE>
+
+</FORM>:<P><IMG SRC="/images/wait.gif" WIDTH="16" HEIGHT="16" ALIGN="ABSMIDDLE"
+ALT="Busy Indicator"> Suche nach Druckern...</P>}
diff --git a/templates/de/choose-make.tmpl b/templates/de/choose-make.tmpl
new file mode 100644
index 000000000..194453c32
--- /dev/null
+++ b/templates/de/choose-make.tmpl
@@ -0,0 +1,61 @@
+<H2 CLASS="title">{op=modify-printer?{printer_name} ändern:Drucker hinzufügen (Schritt4/5)}</H2>
+
+<FORM METHOD="POST" ACTION="/admin" ENCTYPE="multipart/form-data">
+<INPUT TYPE="HIDDEN" NAME="org.cups.sid" VALUE="{$org.cups.sid}">
+<INPUT TYPE="HIDDEN" NAME="OP" VALUE="{op}">
+{printer_name?<INPUT TYPE="HIDDEN" NAME="printer_name" VALUE="{printer_name}">:}
+<INPUT TYPE="HIDDEN" NAME="BAUDRATE" VALUE="{?baudrate}">
+<INPUT TYPE="HIDDEN" NAME="BITS" VALUE="{?bits}">
+<INPUT TYPE="HIDDEN" NAME="PARITY" VALUE="{?parity}">
+<INPUT TYPE="HIDDEN" NAME="FLOW" VALUE="{?flow}">
+
+<TABLE>
+{op=modify-printer?:<TR>
+<TH CLASS="label">Name:</TH>
+<TD><INPUT TYPE="HIDDEN" NAME="PRINTER_NAME" VALUE="{printer_name}">{printer_name}</TD>
+</TR>}
+<TR>
+<TH CLASS="label">Beschreibung:</TH>
+<TD><INPUT TYPE="HIDDEN" NAME="PRINTER_INFO" VALUE="{printer_info}">{printer_info}</TD>
+</TR>
+<TR>
+<TH CLASS="label">Ort:</TH>
+<TD><INPUT TYPE="HIDDEN" NAME="PRINTER_LOCATION" VALUE="{printer_location}">{printer_location}</TD>
+</TR>
+<TR>
+<TH CLASS="label">Verbindung:</TH>
+<TD><INPUT TYPE="HIDDEN" NAME="DEVICE_URI" VALUE="{device_uri}">{device_uri}</TD>
+</TR>
+<TR>
+<TH CLASS="label">Freigabe:</TH>
+<TD><INPUT TYPE="HIDDEN" NAME="PRINTER_IS_SHARED" VALUE="{?printer_is_shared}">
+Diesen Drucker {?printer_is_shared=?nicht:{?printer_is_shared=0?nicht:}} im Netz freigeben</TD>
+</TR>
+<TR>
+<TH CLASS="label">Marke:</TH>
+<TD>
+<SELECT NAME="PPD_MAKE" SIZE="10">
+{[ppd_make]<OPTION VALUE="{ppd_make}" {?current_make={ppd_make}?SELECTED:}>{ppd_make}}
+</SELECT>
+</TD>
+</TR>
+<TR>
+<TD></TD>
+<TD><INPUT TYPE="SUBMIT" VALUE="Weiter"></TD>
+</TR>
+<TR>
+<TD></TD>
+<TD>&nbsp;</TD>
+</TR>
+<TR>
+<TH CLASS="label">Or Provide a PPD File:</TH>
+<TD><INPUT TYPE="HIDDEN" NAME="MAX_FILE_SIZE" VALUE="262144"><INPUT
+TYPE="FILE" NAME="PPD_FILE"></TD>
+</TR>
+<TR>
+<TD></TD>
+<TD><INPUT TYPE="SUBMIT" VALUE="{op=add-printer?Add Printer:Modify Printer}"></TD>
+</TR>
+</TABLE>
+
+</FORM>
diff --git a/templates/de/choose-model.tmpl b/templates/de/choose-model.tmpl
new file mode 100644
index 000000000..174b9c64d
--- /dev/null
+++ b/templates/de/choose-model.tmpl
@@ -0,0 +1,57 @@
+<H2 CLASS="title">{op=modify-printer?{printer_name} ändern:Drucker hinzufügen (Schritt 5/5)}</H2>
+
+<FORM METHOD="POST" ACTION="/admin" ENCTYPE="multipart/form-data">
+<INPUT TYPE="HIDDEN" NAME="org.cups.sid" VALUE="{$org.cups.sid}">
+<INPUT TYPE="HIDDEN" NAME="OP" VALUE="{op}">
+{printer_name?<INPUT TYPE="HIDDEN" NAME="printer_name" VALUE="{printer_name}">:}
+<INPUT TYPE="HIDDEN" NAME="BAUDRATE" VALUE="{?baudrate}">
+<INPUT TYPE="HIDDEN" NAME="BITS" VALUE="{?bits}">
+<INPUT TYPE="HIDDEN" NAME="PARITY" VALUE="{?parity}">
+<INPUT TYPE="HIDDEN" NAME="FLOW" VALUE="{?flow}">
+<TABLE>
+{op=modify-printer?:<TR>
+<TH CLASS="label">Name:</TH>
+<TD><INPUT TYPE="HIDDEN" NAME="PRINTER_NAME" VALUE="{printer_name}">{printer_name}</TD>
+</TR>}
+<TR>
+<TH CLASS="label">Beschreibung:</TH>
+<TD><INPUT TYPE="HIDDEN" NAME="PRINTER_INFO" VALUE="{printer_info}">{printer_info}</TD>
+</TR>
+<TR>
+<TH CLASS="label">Ort:</TH>
+<TD><INPUT TYPE="HIDDEN" NAME="PRINTER_LOCATION" VALUE="{printer_location}">{printer_location}</TD>
+</TR>
+<TR>
+<TH CLASS="label">Verbindung:</TH>
+<TD><INPUT TYPE="HIDDEN" NAME="DEVICE_URI" VALUE="{device_uri}">{device_uri}</TD>
+</TR>
+<TR>
+<TH CLASS="label">Freigabe:</TH>
+<TD><INPUT TYPE="HIDDEN" NAME="PRINTER_IS_SHARED" VALUE="{?printer_is_shared}">
+Dieser Drucker ist {?printer_is_shared=?nicht:{?printer_is_shared=0?nicht:}} im Netz freigeben</TD>
+</TR>
+<TR>
+<TH CLASS="label">Hersteller:</TH>
+<TD>{PPD_MAKE} <INPUT TYPE="SUBMIT" NAME="SELECT_MAKE" VALUE="Anderen Hersteller/Marke wählen"></TD>
+</TR>
+<TR>
+<TH CLASS="label">Modell:</TH>
+<TD>
+<SELECT NAME="PPD_NAME" SIZE="10">
+{op=add-printer?:<OPTION VALUE="__no_change__" SELECTED>Aktueller Treiber - {current_make_and_model}</OPTION>:}
+{[ppd_name]<OPTION VALUE="{ppd_name}" {op=modify-printer?:{?current_make_and_model={ppd_make_and_model}?SELECTED:}}>{ppd_make_and_model} ({ppd_natural_language})
+}</SELECT>
+</TD>
+</TR>
+<TR>
+<TH CLASS="label">Oder stelle eine PPD Datei zur Verfügung:</TH>
+<TD><INPUT TYPE="HIDDEN" NAME="MAX_FILE_SIZE" VALUE="262144"><INPUT
+TYPE="FILE" NAME="PPD_FILE"></TD>
+</TR>
+<TR>
+<TD></TD>
+<TD><INPUT TYPE="SUBMIT" VALUE="{op=add-printer?Drucker hinzufügen:Drucker ändern}"></TD>
+</TR>
+</TABLE>
+
+</FORM>
diff --git a/templates/de/choose-serial.tmpl b/templates/de/choose-serial.tmpl
new file mode 100644
index 000000000..d41088400
--- /dev/null
+++ b/templates/de/choose-serial.tmpl
@@ -0,0 +1,49 @@
+<H2 CLASS="title">{op=modify-printer?{printer_name} ändern:Drucker hinzufügen}</H2>
+
+<FORM METHOD="POST" ACTION="/admin">
+<INPUT TYPE="HIDDEN" NAME="org.cups.sid" VALUE="{$org.cups.sid}">
+<INPUT TYPE="HIDDEN" NAME="OP" VALUE="{op}">
+{printer_name?<INPUT TYPE="HIDDEN" NAME="printer_name" VALUE="{printer_name}">:}
+
+<TABLE>
+<TR>
+<TH CLASS="label">Verbindung:</TH>
+<TD><INPUT TYPE="HIDDEN" NAME="DEVICE_URI" VALUE="{device_uri}">{device_uri}</TD>
+</TR>
+<TR>
+<TH CLASS="label">Baud Rate:</TH>
+<TD><SELECT NAME="BAUDRATE">
+{[baudrates]<OPTION {?baudrate={baudrates}?SELECTED:}>{baudrates}}
+</SELECT></TD>
+</TR>
+<TR>
+<TH CLASS="label">Parität:</TH>
+<TD><SELECT NAME="PARITY">
+<OPTION VALUE="none" {?parity=none?SELECTED:}>Keine
+<OPTION VALUE="even" {?parity=even?SELECTED:}>Gerade
+<OPTION VALUE="odd" {?parity=odd?SELECTED:}>Ungerade
+</SELECT></TD>
+</TR>
+<TR>
+<TH CLASS="label">Daten Bits:</TH>
+<TD><SELECT NAME="BITS">
+<OPTION {?bits=8?SELECTED:}>8
+<OPTION {?bits=7?SELECTED:}>7
+</SELECT></TD>
+</TR>
+<TR>
+<TH CLASS="label">Flusskontrolle:</TH>
+<TD><SELECT NAME="FLOW">
+<OPTION VALUE="none" {?flow=none?SELECTED:}>None
+<OPTION VALUE="soft" {?flow=soft?SELECTED:}>XON/XOFF (Software)
+<OPTION VALUE="hard" {?flow=hard?SELECTED:}>RTS/CTS (Hardware)
+<OPTION VALUE="dtrdsr" {?flow=dtrdsr?SELECTED:}>DTR/DSR (Hardware)
+</SELECT></TD>
+</TR>
+<TR>
+<TD></TD>
+<TD><INPUT TYPE="SUBMIT" VALUE="Weiter"></TD>
+</TR>
+</TABLE>
+
+</FORM>
diff --git a/templates/de/choose-uri.tmpl b/templates/de/choose-uri.tmpl
new file mode 100644
index 000000000..bbdc5e4a5
--- /dev/null
+++ b/templates/de/choose-uri.tmpl
@@ -0,0 +1,40 @@
+<H2 CLASS="title">{op=modify-printer?{printer_name} ändern:Drucker hinzufügen (Schritt2/5)}</H2>
+
+<FORM METHOD="POST" ACTION="/admin">
+<INPUT TYPE="HIDDEN" NAME="org.cups.sid" VALUE="{$org.cups.sid}">
+<INPUT TYPE="HIDDEN" NAME="OP" VALUE="{op}">
+{printer_name?<INPUT TYPE="HIDDEN" NAME="printer_name" VALUE="{printer_name}">:}
+<INPUT TYPE="HIDDEN" NAME="CURRENT_MAKE_AND_MODEL" VALUE="{?current_make_and_model}">
+
+<TABLE>
+<TR>
+<TH CLASS="label">Verbindung-URI:</TH>
+<TD><INPUT TYPE="URL" SIZE="60" MAXLENGTH="1023" NAME="DEVICE_URI" VALUE="{current_device_uri?{current_device_uri}:{device_uri}}"></TD>
+</TR>
+<TR>
+<TD></TD>
+<TD>Beispiele:
+<PRE>
+ http://hostname:631/ipp/
+ http://hostname:631/ipp/port1
+
+ ipp://hostname/ipp/
+ ipp://hostname/ipp/port1
+
+ lpd://hostname/queue
+
+ socket://hostname
+ socket://hostname:9100
+</PRE>
+
+<P>See <A HREF="/help/network.html" TARGET="_blank">"Netzwerkdrucker"</A> für die korrekte URI ihres Druckers.</P>
+
+</TD>
+</TR>
+<TR>
+<TD></TD>
+<TD><INPUT TYPE="SUBMIT" VALUE="Weiter"></TD>
+</TR>
+</TABLE>
+
+</FORM>
diff --git a/templates/de/class-added.tmpl b/templates/de/class-added.tmpl
new file mode 100644
index 000000000..85027e96e
--- /dev/null
+++ b/templates/de/class-added.tmpl
@@ -0,0 +1,3 @@
+<H2 CLASS="title">Klasse hinzufügen</H2>
+
+<P>Die Klasse <A HREF="/classes/{printer_name}">{printer_name}</A> wurde erfolgreich hinzugefügt.
diff --git a/templates/de/class-confirm.tmpl b/templates/de/class-confirm.tmpl
new file mode 100644
index 000000000..0cbdd785b
--- /dev/null
+++ b/templates/de/class-confirm.tmpl
@@ -0,0 +1,6 @@
+<H2 CLASS="title">Klasse {printer_name} löschen</H2>
+
+<P><B>Warnung:</B> Sind sie sicher dass sie die Klasse
+{printer_name} löschen wollen?</P>
+
+<P ALIGN="CENTER"><FORM ACTION="/admin/" METHOD="POST"><INPUT TYPE="HIDDEN" NAME="org.cups.sid" VALUE="{$org.cups.sid}"><INPUT TYPE="HIDDEN" NAME="op" VALUE="delete-class"><INPUT TYPE="HIDDEN" NAME="printer_name" VALUE="{printer_name}"><INPUT TYPE="SUBMIT" NAME="confirm" VALUE="Klasse löschen"></FORM></P>
diff --git a/templates/de/class-deleted.tmpl b/templates/de/class-deleted.tmpl
new file mode 100644
index 000000000..6d09f989e
--- /dev/null
+++ b/templates/de/class-deleted.tmpl
@@ -0,0 +1,3 @@
+<H2 CLASS="title">Klasse {printer_name} löschen</H2>
+
+<P>Die Klasse {printer_name} wurde erfolgreich gelöscht.
diff --git a/templates/de/class-jobs-header.tmpl b/templates/de/class-jobs-header.tmpl
new file mode 100644
index 000000000..0834c9c50
--- /dev/null
+++ b/templates/de/class-jobs-header.tmpl
@@ -0,0 +1 @@
+<H3 CLASS="title">Aufträge</H3>
diff --git a/templates/de/class-modified.tmpl b/templates/de/class-modified.tmpl
new file mode 100644
index 000000000..658defadb
--- /dev/null
+++ b/templates/de/class-modified.tmpl
@@ -0,0 +1,4 @@
+<H2 CLASS="title">Klasse {printer_name} ändern</H2>
+
+<P>Class <A HREF="/classes/{printer_name}">{printer_name}</A> wurde
+erfolgreich geändert.
diff --git a/templates/de/class.tmpl b/templates/de/class.tmpl
new file mode 100644
index 000000000..c0d9a95e1
--- /dev/null
+++ b/templates/de/class.tmpl
@@ -0,0 +1,41 @@
+<H2 CLASS="title"><A HREF="{printer_uri_supported}">{printer_name}</A>
+({printer_state=3?Im Leerlauf:{printer_state=4?Beschäftigt:Angehalten}},
+{printer_is_accepting_jobs=0?Aufträge werden ablehnt:Aufträge werden akzeptiert},
+{server_is_sharing_printers=0?Keine (Server):{printer_is_shared=0?Keine:}} Netzfreigabe{default_name={printer_name}?, Standarddrucker:})</H2>
+
+<FORM METHOD="POST" ACTION="{printer_uri_supported}" NAME="maintenance">
+<INPUT TYPE="HIDDEN" NAME="org.cups.sid" VALUE="{$org.cups.sid}">
+<SELECT NAME="OP" ONCHANGE="document.maintenance.submit();">
+<OPTION VALUE="">Wartung</OPTION>
+<OPTION VALUE="print-test-page">Drucke Testseite</OPTION>
+{printer_state=5?<OPTION VALUE="start-class">Klasse starten</OPTION>:<OPTION VALUE="stop-class">Klasse stoppen</OPTION>}
+{printer_is_accepting_jobs=0?<OPTION VALUE="accept-jobs">Aufträge akzeptieren</OPTION>:<OPTION VALUE="reject-jobs">Aufträge ablehnen</OPTION>}
+<OPTION VALUE="move-jobs">Alle Aufträge verschieben</OPTION>
+<OPTION VALUE="purge-jobs">Alle Aufträge abbrechen</OPTION>
+</SELECT>
+<INPUT TYPE="SUBMIT" VALUE="Go" STYLE="display: none;">
+</FORM>
+
+<FORM METHOD="POST" ACTION="{admin_uri}" NAME="administration">
+<INPUT TYPE="HIDDEN" NAME="org.cups.sid" VALUE="{$org.cups.sid}">
+<INPUT TYPE="HIDDEN" NAME="printer_name" VALUE="{printer_name}">
+<INPUT TYPE="HIDDEN" NAME="IS_CLASS" VALUE="1">
+<SELECT NAME="OP" ONCHANGE="document.administration.submit();">
+<OPTION VALUE="">Verwaltung</OPTION>
+<OPTION VALUE="modify-class">Klasse ändern</OPTION>
+<OPTION VALUE="delete-class">Klasse löschen</OPTION>
+<OPTION VALUE="set-class-options">Standardeinstellungen festlegen</OPTION>
+<OPTION VALUE="set-as-default">Als Standard festlegen</OPTION>
+<OPTION VALUE="set-allowed-users">Erlaubte Benutzer festlegen</OPTION>
+</SELECT>
+<INPUT TYPE="SUBMIT" VALUE="Go" STYLE="display: none;">
+</FORM>
+
+<TABLE SUMMARY="{printer_name}">
+<TR><TH ALIGN="RIGHT" VALIGN="TOP">Beschreibung:</TH><TD>{printer_info}</TD></TR>
+<TR><TH ALIGN="RIGHT" VALIGN="TOP">Ort:</TH><TD>{printer_location}</TD></TR>
+<TR><TH ALIGN="RIGHT" VALIGN="TOP">Mitglieder:</TH><TD>{?member_uris=?None:{member_uris}}</TD></TR>
+<TR><TH ALIGN="RIGHT" VALIGN="TOP">Standardeinstellungen:</TH><TD>job-sheets={job_sheets_default}
+media={media_default?{media_default}:unbekannt}
+{sides_default?sides={sides_default}:}</TD></TR>
+</TABLE>
diff --git a/templates/de/classes-header.tmpl b/templates/de/classes-header.tmpl
new file mode 100644
index 000000000..5fa4d4ae3
--- /dev/null
+++ b/templates/de/classes-header.tmpl
@@ -0,0 +1 @@
+<P ALIGN="CENTER">{total=0?Keine Klassen:Zeige {#printer_name} von {total} Klasse{total=1?:n}}.</P>
diff --git a/templates/de/classes.tmpl b/templates/de/classes.tmpl
new file mode 100644
index 000000000..c04d02bda
--- /dev/null
+++ b/templates/de/classes.tmpl
@@ -0,0 +1,11 @@
+{#printer_name=0?:
+<TABLE CLASS="list" SUMMARY="Class List">
+<THEAD>
+<TR><TH><A HREF="{THISURL}?QUERY={?QUERY}&amp;WHICH_JOBS={?WHICH_JOBS}&amp;FIRST={FIRST}&amp;ORDER={ORDER=dec?asc:dec}">{ORDER=dec?<SMALL>&#x25b2;</SMALL> Wartweschlange <SMALL>&#x25b2;</SMALL>:<SMALL>&#x25bc;</SMALL> Warteschlange <SMALL>&#x25bc;</SMALL>}</A></TH><TH>Beschreibung</TH><TH>Ort</TH><TH>Mitglieder</TH><TH>Status</TH></TR>
+</THEAD>
+<TBODY>
+{[printer_name]
+<TR><TD><A HREF="{printer_uri_supported}">{printer_name}</A></TD><TD>{printer_info}</TD><TD>{printer_location}</TD><TD>{?member_uris=?Keine:{member_uris}}</TD><TD>{printer_state=3?Im Leerlauf:{printer_state=4?Beschäftigt:Angehalten}}{printer_state_message? - "{printer_state_message}":}</TD></TR>
+}
+</TBODY>
+</TABLE></DIV>}
diff --git a/templates/de/command.tmpl b/templates/de/command.tmpl
new file mode 100644
index 000000000..126389baf
--- /dev/null
+++ b/templates/de/command.tmpl
@@ -0,0 +1,8 @@
+<H2 CLASS="title">{title} auf {printer_name}</H2>
+
+<P>{job_state>5?:<IMG SRC="/images/wait.gif" WIDTH="16" HEIGHT="16"
+ALIGN="ABSMIDDLE" ALT="Busy Indicator"> }Drucker Befehlsauftrag
+{job_state=3?unerledigt:{job_state=4?gehalten:
+{job_state=5?verarbeite:{job_state=6?gestoppt:
+{job_state=7?gelöscht:{job_state=8?abgebrochen:beendet}}}}}}{job_state=9?:{job_printer_state_message?,
+<EM>"{job_printer_state_message}"</EM>:}}</P>
diff --git a/templates/de/edit-config.tmpl b/templates/de/edit-config.tmpl
new file mode 100644
index 000000000..5c289cb49
--- /dev/null
+++ b/templates/de/edit-config.tmpl
@@ -0,0 +1,20 @@
+<SCRIPT TYPE="text/javascript">
+function reset_config()
+{
+ document.cups.CUPSDCONF.value = "{?cupsdconf_default}";
+}
+</SCRIPT>
+
+<H2 CLASS="title">Konfigurationsdatei bearbeiten</H2>
+
+<FORM NAME="cups" METHOD="POST" ACTION="/admin/">
+<INPUT TYPE="HIDDEN" NAME="org.cups.sid" VALUE="{$org.cups.sid}">
+<INPUT TYPE="HIDDEN" NAME="OP" VALUE="config-server">
+
+<TEXTAREA NAME="CUPSDCONF" COLS="80" ROWS="25">{CUPSDCONF}</TEXTAREA>
+
+<P><INPUT TYPE="SUBMIT" NAME="SAVECHANGES" VALUE="Änderungen speichern">
+<INPUT TYPE="BUTTON" VALUE="Standard Konfigurationsdatei verwenden"
+onClick="reset_config();"></P>
+
+</FORM>
diff --git a/templates/de/error-op.tmpl b/templates/de/error-op.tmpl
new file mode 100644
index 000000000..698ee978a
--- /dev/null
+++ b/templates/de/error-op.tmpl
@@ -0,0 +1,6 @@
+<H2 CLASS="title">{?title} {?printer_name} Error</H2>
+
+<P>Fehler:</P>
+
+<BLOCKQUOTE>Unbekannte Operation "{op}"!</BLOCKQUOTE>
+
diff --git a/templates/de/error.tmpl b/templates/de/error.tmpl
new file mode 100644
index 000000000..42d0f19c2
--- /dev/null
+++ b/templates/de/error.tmpl
@@ -0,0 +1,5 @@
+<H2 CLASS="title">{?title} {?printer_name} Error</H2>
+
+<P>{?message?{message}:Fehler:}</P>
+
+<BLOCKQUOTE>{error}</BLOCKQUOTE>
diff --git a/templates/de/header.tmpl.in b/templates/de/header.tmpl.in
new file mode 100644
index 000000000..4974aa630
--- /dev/null
+++ b/templates/de/header.tmpl.in
@@ -0,0 +1,43 @@
+<!DOCTYPE HTML>
+<html>
+ <head>
+ <link rel="stylesheet" href="/cups.css" type="text/css">
+ <link rel="shortcut icon" href="/apple-touch-icon.png" type="image/png">
+ <meta charset="utf-8">
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+ {refresh_page?<meta http-equiv="refresh" content="{refresh_page}">:}
+ <meta http-equiv="X-UA-Compatible" content="IE=9">
+ <meta name="viewport" content="width=device-width">
+ <style>html{display:none;}</style>
+ <script type="text/javascript"><!--
+ /* Only display document if we are not in a frame... */
+ if (self == top) {
+ document.documentElement.style.display = 'block';
+ } else {
+ top.location = self.location;
+ }
+
+ /* Show an error if cookies are disabled */
+ function check_cookies() {
+ if (!navigator.cookieEnabled) {
+ document.getElementById('body').innerHTML = 'This page uses cookies to prevent common cross-site attacks. Please enable cookies in your browser.';
+ }
+ }
+ --></SCRIPT>
+ <title>{title} - CUPS @CUPS_VERSION@@CUPS_REVISION@</title>
+ </head>
+ <body onload="check_cookies();">
+ <div class="header">
+ <ul>
+ <li><a href="http://www.cups.org/" target="_blank">CUPS.org</a></li>
+ <li><a href="/">Home</a></li>
+ <li><a {SECTION=admin?class="active" :}href="/admin">Verwaltung</a></li>
+ <li><a {SECTION=classes?class="active" :}href="/classes/">Klassen</a></li>
+ <li><a {SECTION=help?class="active" :}href="/help/">Hilfe</a></li>
+ <li><a {SECTION=jobs?class="active" :}href="/jobs/">Aufträge</a></li>
+ <li><a {SECTION=printers?class="active" :}href="/printers/">Drucker</a></li>
+ </ul>
+ </div>
+ <div class="body">
+ <div class="row">
+ <h1>{title}</h1>
diff --git a/templates/de/help-header.tmpl b/templates/de/help-header.tmpl
new file mode 100644
index 000000000..45df8de00
--- /dev/null
+++ b/templates/de/help-header.tmpl
@@ -0,0 +1,41 @@
+<FORM ACTION="/help/{?HELPFILE}" METHOD="GET">
+{TOPIC?<INPUT TYPE="HIDDEN" NAME="TOPIC" VALUE="{TOPIC}">:}
+
+<P ALIGN="CENTER"><B>Suche in
+{HELPTITLE?{HELPTITLE}:{TOPIC?{TOPIC}:allen Dokumenten}}:</B> <INPUT
+TYPE="SEARCH" NAME="QUERY" VALUE="{?QUERY}" SIZE="40" PLACEHOLDER=""
+AUTOSAVE="org.cups.help" RESULTS="20">
+<INPUT TYPE="SUBMIT" NAME="SEARCH" VALUE="Suchen">
+<INPUT TYPE="SUBMIT" NAME="CLEAR" VALUE="Leeren"></P>
+
+</FORM>
+
+<!-- Bookmarks -->
+<DIV CLASS="sidebar"><TABLE CLASS="inset" SUMMARY="Inhalt">
+<TR><TD>
+
+<H3 CLASS="title">Online Hilfe Dokumente</H3>
+
+<P CLASS="l0"><A HREF="/help/{QUERY??QUERY={QUERY}:}">Alle Dokumente</A></P>
+<HR>
+
+{[BMTEXT]<P CLASS="l{BMINDENT}"><A HREF="{BMLINK}">{BMTEXT}</A></P>
+}
+</TD></TR>
+</TABLE></DIV>
+
+{QUERY?<P>Suchergebnisse in {HELPFILE?{HELPTITLE}:{TOPIC?{TOPIC}:allen Dokumenten}}\:</P>
+{QTEXT?<UL>
+{[QTEXT]<LI><A HREF="{QLINK}">{QTEXT}</A>{QPTEXT? (in <I><A HREF="{QPLINK}">{QPTEXT}</A></I>):}</LI>}
+{QTEXT?</UL>:}
+:<P>Keine Übereinstimmung gefunden.</P>}
+<HR NOSHADE>:}
+{HELPTITLE?<FORM ACTION="/help/{?HELPFILE}" METHOD="GET"><INPUT TYPE="HIDDEN" NAME="PRINTABLE" VALUE="YES"><INPUT TYPE="SUBMIT" VALUE="Druckversion anzeigen"></FORM>:
+
+<H1>CUPS Hilfeseiten</H1>
+
+<P>Dies ist das CUPS online Hilfesystem. Geben Sie Ihren Suchbegriff oben ein oder klicken Sie auf einen der Dokumentationslinks um sich die Online Hilfe Informationen anzeigen zu lassen.</P>
+
+<P>Wenn Sie noch unerfahren im Umgang mit CUPS sind, lesen Sie die "<a href="/help/overview.html">CUPS Übersicht</a>". Erfahrene Benutzer sollten "<a href="/help/whatsnew.html">Was ist neu in CUPS 2.0</a>" lesen.</P>
+
+<P>Die <A HREF="http://www.cups.org/">CUPS Webseite</A> bietet ebenfalls viele Angebote inklusive Diskussionsforen für Benutzer, Antworten auf häufig gestellte Fragen, und ein Formular für Fehlerberichte und Wünsche.</P>}
diff --git a/templates/de/help-printable.tmpl b/templates/de/help-printable.tmpl
new file mode 100644
index 000000000..2463c1630
--- /dev/null
+++ b/templates/de/help-printable.tmpl
@@ -0,0 +1,9 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<HTML>
+<HEAD>
+ <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=utf-8">
+ <TITLE>{HELPTITLE}</TITLE>
+ <LINK REL="STYLESHEET" TYPE="text/css" HREF="/cups-printable.css">
+ <LINK REL="SHORTCUT ICON" HREF="/images/cups-icon.png" TYPE="image/png">
+</HEAD>
+<BODY>
diff --git a/templates/de/job-cancel.tmpl b/templates/de/job-cancel.tmpl
new file mode 100644
index 000000000..63fc38566
--- /dev/null
+++ b/templates/de/job-cancel.tmpl
@@ -0,0 +1,3 @@
+<H2 CLASS="title">Auftrag {job_id} löschen</H2>
+
+<P><A HREF="{job_printer_uri}">Auftrag {job_id}</A> wurde gelöscht.
diff --git a/templates/de/job-hold.tmpl b/templates/de/job-hold.tmpl
new file mode 100644
index 000000000..15d43a47f
--- /dev/null
+++ b/templates/de/job-hold.tmpl
@@ -0,0 +1,3 @@
+<H2 CLASS="title">Auftrag {job_id} anhalten</H2>
+
+<P><A HREF="{job_printer_uri}">Auftrag {job_id}</A> wurde vom Drucken abgehalten.
diff --git a/templates/de/job-move.tmpl b/templates/de/job-move.tmpl
new file mode 100644
index 000000000..ba790ff11
--- /dev/null
+++ b/templates/de/job-move.tmpl
@@ -0,0 +1,23 @@
+<FORM METHOD="POST" ACTION="/{SECTION}/{job_id?:{printer_name}}">
+<INPUT TYPE="HIDDEN" NAME="org.cups.sid" VALUE="{$org.cups.sid}">
+<INPUT TYPE="HIDDEN" NAME="OP" VALUE="{op}">
+{job_id?<INPUT TYPE="HIDDEN" NAME="JOB_ID" VALUE="{job_id}">:}
+
+<H2 CLASS="title">{job_id?Auftrag {job_id} verschieben:Alle Aufträge verschieben}</H2>
+
+<TABLE>
+<TR>
+<TH CLASS="label">Neues Ziel:</TH>
+<TD>
+<SELECT NAME="JOB_PRINTER_URI" SIZE="10">
+{[job_printer_uri]<OPTION VALUE="{job_printer_uri}">{job_printer_name}}
+</SELECT>
+</TD>
+</TR>
+<TR>
+<TD></TD>
+<TD><INPUT TYPE="SUBMIT" VALUE="{job_id?Auftrag verschieben:Aufträge verschieben}"></TD>
+</TR>
+</TABLE>
+
+</FORM>
diff --git a/templates/de/job-moved.tmpl b/templates/de/job-moved.tmpl
new file mode 100644
index 000000000..795db20d7
--- /dev/null
+++ b/templates/de/job-moved.tmpl
@@ -0,0 +1,4 @@
+<H2 CLASS="title">{job_id?Auftrag {job_id} verschieben:Alle Aufträge verschieben}</H2>
+
+<P>{job_id?<A HREF="/jobs/{job_id}">Auftrag {job_id}</A>:Alle Aufträge} nach
+<A HREF="{job_printer_uri}">{job_printer_name}</A> verschoben.</P>
diff --git a/templates/de/job-release.tmpl b/templates/de/job-release.tmpl
new file mode 100644
index 000000000..5b3c6e48b
--- /dev/null
+++ b/templates/de/job-release.tmpl
@@ -0,0 +1,3 @@
+<H2 CLASS="title">Auftrag {job_id} freigeben</H2>
+
+<P><A HREF="{job_printer_uri}">Auftrag {job_id}</A> wurde zum Drucken freigegeben.
diff --git a/templates/de/job-restart.tmpl b/templates/de/job-restart.tmpl
new file mode 100644
index 000000000..7904376d2
--- /dev/null
+++ b/templates/de/job-restart.tmpl
@@ -0,0 +1,3 @@
+<H2 CLASS="title">Auftrag {job_id} neu starten</H2>
+
+<P><A HREF="{job_printer_uri}">Auftrag {job_id}</A> wurde neu gestartet.
diff --git a/templates/de/jobs-header.tmpl b/templates/de/jobs-header.tmpl
new file mode 100644
index 000000000..e3935fe55
--- /dev/null
+++ b/templates/de/jobs-header.tmpl
@@ -0,0 +1,5 @@
+{?which_jobs=?:<FORM ACTION="{?printer_name=?/jobs:{printer_uri_supported}}" METHOD="GET"><INPUT TYPE="SUBMIT" VALUE="Aktive Aufträge anzeigen"></FORM>}
+{?which_jobs=completed?:<FORM ACTION="{?printer_name=?/jobs:{printer_uri_supported}}" METHOD="GET"><INPUT TYPE="HIDDEN" NAME="which_jobs" VALUE="completed"><INPUT TYPE="SUBMIT" VALUE="Fertige Aufträge anzeigen"></FORM>}
+{?which_jobs=all?:<FORM ACTION="{?printer_name=?/jobs:{printer_uri_supported}}" METHOD="GET"><INPUT TYPE="HIDDEN" NAME="which_jobs" VALUE="all"><INPUT TYPE="SUBMIT" VALUE="Alle Aufträge anzeigen"></FORM>}
+
+<P ALIGN="CENTER">{total=0?Keine Aufträge:Zeige {#job_id} von {total} {?which_jobs=?aktiven:{which_jobs=all?:beendeten}} {total=1?:s}Auftrag:Aufträgen}.</P>
diff --git a/templates/de/jobs.tmpl b/templates/de/jobs.tmpl
new file mode 100644
index 000000000..d24c3a194
--- /dev/null
+++ b/templates/de/jobs.tmpl
@@ -0,0 +1,37 @@
+{#job_id=0?:
+<TABLE CLASS="list" SUMMARY="Auftragsliste">
+<THEAD>
+<TR><TH><A HREF="{THISURL}?QUERY={?QUERY}&amp;WHICH_JOBS={?WHICH_JOBS}&amp;FIRST={FIRST}&amp;ORDER={ORDER=dec?asc:dec}">{ORDER=dec?<SMALL>&#x25b2;</SMALL> ID <SMALL>&#x25b2;</SMALL>:<SMALL>&#x25bc;</SMALL> ID <SMALL>&#x25bc;</SMALL>}</A></TH><TH>Name</TH><TH>Benutzer</TH><TH>Grösse</TH><TH>Seiten</TH><TH>Status</TH><TH>Steuerung</TH></TR>
+</THEAD>
+<TBODY>
+{[job_id]
+<TR VALIGN="TOP">
+<TD><A HREF="{job_printer_uri}">{job_printer_name}</A>-{job_id}{?phone? ({phone}):}&nbsp;</TD>
+<TD>{?job_name=?Unbekannt:{job_name}}&nbsp;</TD>
+<TD>{?job_originating_user_name=?Einbehalten:{job_originating_user_name}}&nbsp;</TD>
+<TD>{job_k_octets}k&nbsp;</TD>
+<TD>{job_media_sheets_completed=0?Unbekannt:{?job_media_sheets_completed}}&nbsp;</TD>
+<TD>{job_state=3?unerledigt seit<BR>{time_at_creation}:{job_state=4?angehalten seit<BR>{time_at_creation}:
+{job_state=5?verarbeitet seit<BR>{time_at_processing}:{job_state=6?gestoppt:
+{job_state=7?gelöscht am<BR>{time_at_completed}:{job_state=8?abgebrochen:beendet am<BR>{time_at_completed}}}}}}}&nbsp;{job_printer_state_message?<BR>
+<EM>"{job_printer_state_message}"</EM>:}</TD>
+<TD>
+{job_preserved>0?{job_state>5?
+<FORM ACTION="/jobs/" METHOD="POST"><INPUT TYPE="HIDDEN" NAME="org.cups.sid" VALUE="{$org.cups.sid}"><INPUT TYPE="HIDDEN" NAME="OP" VALUE="restart-job"><INPUT TYPE="HIDDEN" NAME="job_id" VALUE="{job_id}"><INPUT TYPE="HIDDEN" NAME="job_printer_uri" VALUE="{job_printer_uri}">
+<INPUT TYPE="SUBMIT" VALUE="Auftrag neu drucken"></FORM>:}:}
+{job_state=4?
+<FORM ACTION="/jobs/" METHOD="POST"><INPUT TYPE="HIDDEN" NAME="org.cups.sid" VALUE="{$org.cups.sid}"><INPUT TYPE="HIDDEN" NAME="OP" VALUE="release-job"><INPUT TYPE="HIDDEN" NAME="job_id" VALUE="{job_id}"><INPUT TYPE="HIDDEN" NAME="job_printer_uri" VALUE="{job_printer_uri}">
+<INPUT TYPE="SUBMIT" VALUE="Auftrag freigeben"></FORM>:}
+{job_state=3?
+<FORM ACTION="/jobs/" METHOD="POST"><INPUT TYPE="HIDDEN" NAME="org.cups.sid" VALUE="{$org.cups.sid}"><INPUT TYPE="HIDDEN" NAME="OP" VALUE="hold-job"><INPUT TYPE="HIDDEN" NAME="job_id" VALUE="{job_id}"><INPUT TYPE="HIDDEN" NAME="job_printer_uri" VALUE="{job_printer_uri}">
+<INPUT TYPE="SUBMIT" VALUE="Auftrag anhalten"></FORM>:}
+{job_state<7?
+<FORM ACTION="/jobs/" METHOD="POST"><INPUT TYPE="HIDDEN" NAME="org.cups.sid" VALUE="{$org.cups.sid}"><INPUT TYPE="HIDDEN" NAME="OP" VALUE="cancel-job"><INPUT TYPE="HIDDEN" NAME="job_id" VALUE="{job_id}"><INPUT TYPE="HIDDEN" NAME="job_printer_uri" VALUE="{job_printer_uri}">
+<INPUT TYPE="SUBMIT" VALUE="Auftrag löschen"></FORM>
+<FORM ACTION="/jobs/" METHOD="POST"><INPUT TYPE="HIDDEN" NAME="org.cups.sid" VALUE="{$org.cups.sid}"><INPUT TYPE="HIDDEN" NAME="OP" VALUE="move-job"><INPUT TYPE="HIDDEN" NAME="job_id" VALUE="{job_id}"><INPUT TYPE="SUBMIT" VALUE="Auftrag verschieben"></FORM>:}
+&nbsp;</TD>
+</TR>
+}
+</TBODY>
+</TABLE>
+}
diff --git a/templates/de/list-available-printers.tmpl b/templates/de/list-available-printers.tmpl
new file mode 100644
index 000000000..a19bf5bb3
--- /dev/null
+++ b/templates/de/list-available-printers.tmpl
@@ -0,0 +1,7 @@
+<H2 CLASS="title">Verfügbare Drucker</H2>
+
+{#device_uri=0?<P>Keine Drucker gefunden.</P>
+:<UL>{[device_uri]
+<LI><FORM ACTION="/admin/" METHOD="POST"><INPUT TYPE="HIDDEN" NAME="org.cups.sid" VALUE="{$org.cups.sid}"><INPUT TYPE="HIDDEN" NAME="OP" VALUE="add-printer"><INPUT TYPE="HIDDEN" NAME="TEMPLATE_NAME" VALUE="{template_name}"><INPUT TYPE="HIDDEN" NAME="PRINTER_LOCATION" VALUE="Local Printer"><INPUT TYPE="HIDDEN" NAME="PRINTER_INFO" VALUE="{device_make_and_model}"><INPUT TYPE="HIDDEN" NAME="DEVICE_URI" VALUE="{device_uri}"><INPUT TYPE="SUBMIT" VALUE="Diesen Drucker hinzufügen"></FORM>
+{device_make_and_model} ({device_info})</LI>
+}</UL>}
diff --git a/templates/de/modify-class.tmpl b/templates/de/modify-class.tmpl
new file mode 100644
index 000000000..fd0aa9a5e
--- /dev/null
+++ b/templates/de/modify-class.tmpl
@@ -0,0 +1,31 @@
+<H2 CLASS="title">Klasse {printer_name} ändern</H2>
+
+<FORM METHOD="POST" ACTION="/admin">
+<INPUT TYPE="HIDDEN" NAME="org.cups.sid" VALUE="{$org.cups.sid}">
+<INPUT TYPE="HIDDEN" NAME="OP" VALUE="{op}">
+<INPUT TYPE="HIDDEN" NAME="PRINTER_NAME" VALUE="{printer_name}">
+
+<TABLE>
+<TR>
+<TH CLASS="label">Beschreibung:</TH>
+<TD><INPUT TYPE="TEXT" NAME="PRINTER_INFO" VALUE="{?printer_info}" SIZE="40" MAXLENGTH="127"></TD>
+</TR>
+<TR>
+<TH CLASS="label">Ort:</TH>
+<TD><INPUT TYPE="TEXT" NAME="PRINTER_LOCATION" VALUE="{?printer_location}" SIZE="40" MAXLENGTH="127"></TD>
+</TR>
+<TR>
+<TH CLASS="label">Mitglieder:</TH>
+<TD>
+<SELECT NAME="MEMBER_URIS" SIZE="10" MULTIPLE>
+{[member_uris]<OPTION VALUE="{member_uris}" {?member_selected}>{member_names}}
+</SELECT>
+</TD>
+</TR>
+<TR>
+<TD></TD>
+<TD><INPUT TYPE="SUBMIT" VALUE="Klasse ändern"></TD>
+</TR>
+</TABLE>
+
+</FORM>
diff --git a/templates/de/modify-printer.tmpl b/templates/de/modify-printer.tmpl
new file mode 100644
index 000000000..72b4bc5e2
--- /dev/null
+++ b/templates/de/modify-printer.tmpl
@@ -0,0 +1,39 @@
+<H2 CLASS="title">Modify {printer_name}</H2>
+
+<FORM METHOD="POST" ACTION="/admin">
+<INPUT TYPE="HIDDEN" NAME="org.cups.sid" VALUE="{$org.cups.sid}">
+<INPUT TYPE="HIDDEN" NAME="OP" VALUE="{op}">
+<INPUT TYPE="HIDDEN" NAME="BAUDRATE" VALUE="{?baudrate}">
+<INPUT TYPE="HIDDEN" NAME="BITS" VALUE="{?bits}">
+<INPUT TYPE="HIDDEN" NAME="PARITY" VALUE="{?parity}">
+<INPUT TYPE="HIDDEN" NAME="FLOW" VALUE="{?flow}">
+<INPUT TYPE="HIDDEN" NAME="PRINTER_NAME" VALUE="{printer_name}">
+
+<TABLE>
+<TR>
+<TH CLASS="label">Description:</TH>
+<TD><INPUT TYPE="TEXT" NAME="PRINTER_INFO" VALUE="{?printer_info}" SIZE="40" MAXLENGTH="127"><BR>
+<SMALL>(Human-readable description such as "HP LaserJet with Duplexer")</SMALL></TD>
+</TR>
+<TR>
+<TH CLASS="label">Location:</TH>
+<TD><INPUT TYPE="TEXT" NAME="PRINTER_LOCATION" VALUE="{?printer_location}" SIZE="40" MAXLENGTH="127"><BR>
+<SMALL>(Human-readable location such as "Lab 1")</SMALL></TD>
+</TR>
+<TR>
+<TH CLASS="label">Connection:</TH>
+<TD><INPUT TYPE="HIDDEN" NAME="DEVICE_URI" VALUE="{device_uri}">{device_uri}</TD>
+</TR>
+<TR>
+<TH CLASS="label">Sharing:</TH>
+<TD><INPUT TYPE="CHECKBOX" NAME="PRINTER_IS_SHARED" {PRINTER_IS_SHARED=1?CHECKED:}>
+Share This Printer</TD>
+</TR>
+<TR>
+<TR>
+<TD></TD>
+<TD><INPUT TYPE="SUBMIT" VALUE="Continue"></TD>
+</TR>
+</TABLE>
+
+</FORM>
diff --git a/templates/de/norestart.tmpl b/templates/de/norestart.tmpl
new file mode 100644
index 000000000..a5f12144b
--- /dev/null
+++ b/templates/de/norestart.tmpl
@@ -0,0 +1,3 @@
+<H2 CLASS="title">Einstellungen ändern</H2>
+
+<P>Der Server wurde nicht neu gestartet, da die Konfiguration nicht geändert wurde...</P>
diff --git a/templates/de/option-boolean.tmpl b/templates/de/option-boolean.tmpl
new file mode 100644
index 000000000..e832ee102
--- /dev/null
+++ b/templates/de/option-boolean.tmpl
@@ -0,0 +1,6 @@
+<TR>
+<TH {conflicted=1?CLASS="conflict":CLASS="label"} WIDTH="50%"><A NAME="{keyword}">{keytext}</A>:</TH>
+<TD>
+{[choices]<INPUT TYPE="RADIO" NAME="{keyword-1}" {choices={defchoice-1}?CHECKED:} VALUE="{choices}">{text}}
+</TD>
+</TR>
diff --git a/templates/de/option-conflict.tmpl b/templates/de/option-conflict.tmpl
new file mode 100644
index 000000000..e1f2435c6
--- /dev/null
+++ b/templates/de/option-conflict.tmpl
@@ -0,0 +1,7 @@
+<P><B>Fehler:</B> die folgenden Optionen stehen im Konflikt:</P>
+
+<UL>
+{[ckeyword]<LI><A HREF="#{ckeyword}">{ckeytext}</A>: {cchoice}</LI>
+}</UL>
+
+<P>Bitte ändern sie eine oder mehrere Einstellungen um die Konflikte zu lösen.</P>
diff --git a/templates/de/option-header.tmpl b/templates/de/option-header.tmpl
new file mode 100644
index 000000000..464726a50
--- /dev/null
+++ b/templates/de/option-header.tmpl
@@ -0,0 +1,5 @@
+<DIV CLASS="tab" ID="{group_id}">
+
+<H3 ALIGN="CENTER">{group}</H3>
+
+<TABLE WIDTH="100%">
diff --git a/templates/de/option-pickmany.tmpl b/templates/de/option-pickmany.tmpl
new file mode 100644
index 000000000..0da75e5d2
--- /dev/null
+++ b/templates/de/option-pickmany.tmpl
@@ -0,0 +1,6 @@
+<TR>
+<TH {conflicted=1?CLASS="conflict":CLASS="label"} WIDTH="50%"><A NAME="{keyword}">{keytext}</A>:</TH>
+<TD><SELECT NAME="{keyword}" MULTIPLE SIZE="10">
+{[choices]<OPTION {choices={defchoice-1}?SELECTED:} VALUE="{choices}">{text}}
+</SELECT></TD>
+</TR>
diff --git a/templates/de/option-pickone.tmpl b/templates/de/option-pickone.tmpl
new file mode 100644
index 000000000..1467b3601
--- /dev/null
+++ b/templates/de/option-pickone.tmpl
@@ -0,0 +1,18 @@
+<TR>
+<TH {conflicted=1?CLASS="conflict":CLASS="label"} WIDTH="50%"><A NAME="{keyword}">{keytext}</A>:</TH>
+<TD><SELECT NAME="{keyword}" ID="select-{keyword}" ONCHANGE="update_paramtable('{keyword}')">
+{[choices]<OPTION {choices={defchoice-1}?SELECTED:} VALUE="{choices}">{text}}
+</SELECT>
+{iscustom=1?<TABLE NAME="paramtable" id="{keyword}-params">{[params]
+<TR><TH CLASS="sublabel">{paramtext}:</TH>
+<TD>{params=Units?<SELECT NAME="{keyword-1}.{params}">
+<OPTION VALUE="pt"{paramvalue=pt? SELECTED:}>Punkte</OPTION>
+<OPTION VALUE="mm"{paramvalue=mm? SELECTED:}>Millimeter</OPTION>
+<OPTION VALUE="cm"{paramvalue=cm? SELECTED:}>Zentimeter</OPTION>
+<OPTION VALUE="in"{paramvalue=in? SELECTED:}>Zoll</OPTION>
+<OPTION VALUE="ft"{paramvalue=ft? SELECTED:}>Fuss</OPTION>
+<OPTION VALUE="m"{paramvalue=m? SELECTED:}>Meter</OPTION>
+</SELECT>:<INPUT TYPE="{inputtype}" NAME="{keyword-1}.{params}" VALUE="{paramvalue}">}</TD></TR>
+}</TABLE>
+</TD>:}
+</TR>
diff --git a/templates/de/option-trailer.tmpl b/templates/de/option-trailer.tmpl
new file mode 100644
index 000000000..7da55732d
--- /dev/null
+++ b/templates/de/option-trailer.tmpl
@@ -0,0 +1,5 @@
+</TABLE>
+
+<P ALIGN="CENTER"><INPUT TYPE="SUBMIT" VALUE="Standardeinstellungen festlegen"></P>
+
+</DIV> \ No newline at end of file
diff --git a/templates/de/pager.tmpl b/templates/de/pager.tmpl
new file mode 100644
index 000000000..1164045a3
--- /dev/null
+++ b/templates/de/pager.tmpl
@@ -0,0 +1,6 @@
+<TABLE CLASS="inset" SUMMARY="Seitenverwaltung">
+<TR>
+ <TD WIDTH="50%">{PREV?<FORM ACTION="{THISURL}" METHOD="GET"><INPUT TYPE="HIDDEN" NAME="QUERY" VALUE="{?QUERY}"><INPUT TYPE="HIDDEN" NAME="ORDER" VALUE="{?ORDER}"><INPUT TYPE="HIDDEN" NAME="WHICH_JOBS" VALUE="{?WHICH_JOBS}"><INPUT TYPE="HIDDEN" NAME="FIRST" VALUE="{PREV}"><INPUT TYPE="SUBMIT" VALUE="&#x25c0; Vorherige anzeigen"></FORM>:&nbsp;}</TD>
+ <TD WIDTH="50%" ALIGN="RIGHT">{NEXT?<FORM ACTION="{THISURL}" METHOD="GET"><INPUT TYPE="HIDDEN" NAME="QUERY" VALUE="{?QUERY}"><INPUT TYPE="HIDDEN" NAME="ORDER" VALUE="{?ORDER}"><INPUT TYPE="HIDDEN" NAME="WHICH_JOBS" VALUE="{?WHICH_JOBS}"><INPUT TYPE="HIDDEN" NAME="FIRST" VALUE="{NEXT}"><INPUT TYPE="SUBMIT" VALUE="Nächste anzeigen &#x25b6;"></FORM>:&nbsp;}</TD>
+</TR>
+</TABLE>
diff --git a/templates/de/printer-accept.tmpl b/templates/de/printer-accept.tmpl
new file mode 100644
index 000000000..4babd473d
--- /dev/null
+++ b/templates/de/printer-accept.tmpl
@@ -0,0 +1,5 @@
+<H2 CLASS="title">Aufträge von {is_class?Klasse:Drucker} {printer_name} akzeptieren</H2>
+
+<P>{is_class?Klasse:Drucker} <A
+HREF="/{is_class?classes:printers}/{printer_name}">{printer_name}</A>
+aktzeptiert jetzt Aufträge.</P>
diff --git a/templates/de/printer-added.tmpl b/templates/de/printer-added.tmpl
new file mode 100644
index 000000000..b34529cc3
--- /dev/null
+++ b/templates/de/printer-added.tmpl
@@ -0,0 +1,4 @@
+<H2 CLASS="title">Drucker hinzufügen</H2>
+
+<P>Drucker <A HREF="/printers/{printer_name}">{printer_name}</A> wurde erfolgreich
+hinzufügt.
diff --git a/templates/de/printer-cancel-jobs.tmpl b/templates/de/printer-cancel-jobs.tmpl
new file mode 100644
index 000000000..364284d85
--- /dev/null
+++ b/templates/de/printer-cancel-jobs.tmpl
@@ -0,0 +1,5 @@
+<H2 CLASS="title">Aufträge auf {is_class?Class:Printer} {printer_name} löschen</H2>
+
+<P>Alle Aufträge auf {is_class?class:printer} <A
+HREF="/{is_class?classes:printers}/{printer_name}">{printer_name}</A>
+wurden gelöscht.</P>
diff --git a/templates/de/printer-configured.tmpl b/templates/de/printer-configured.tmpl
new file mode 100644
index 000000000..fff957b15
--- /dev/null
+++ b/templates/de/printer-configured.tmpl
@@ -0,0 +1,4 @@
+<H2 CLASS="title">Standardeinstellungen für {printer_name} festlegen</H2>
+
+<P>Standardeinstellungen für {OP=set-class-options?Klasse <A HREF="/classes/{printer_name}">:Drucker <A HREF="/printers/{printer_name}">}{printer_name}</A>
+wurden erfolgreich gesetzt.
diff --git a/templates/de/printer-confirm.tmpl b/templates/de/printer-confirm.tmpl
new file mode 100644
index 000000000..b8735ab15
--- /dev/null
+++ b/templates/de/printer-confirm.tmpl
@@ -0,0 +1,8 @@
+<H2 CLASS="title">Delete Printer {printer_name}</H2>
+
+<H2 CLASS="title">Drucker {printer_name} löschen</H2>
+
+<P><B>Warnung:</B> Sind Sie sicher, dass Sie den Drucker
+{printer_name} löschen wollen?</P>
+
+<P ALIGN="CENTER"><FORM ACTION="/admin/" METHOD="POST"><INPUT TYPE="HIDDEN" NAME="org.cups.sid" VALUE="{$org.cups.sid}"><INPUT TYPE="HIDDEN" NAME="OP" VALUE="delete-printer"><INPUT TYPE="HIDDEN" NAME="printer_name" VALUE="{printer_name}"><INPUT TYPE="SUBMIT" NAME="confirm" VALUE="Drucker löschen"></FORM></P>
diff --git a/templates/de/printer-default.tmpl b/templates/de/printer-default.tmpl
new file mode 100644
index 000000000..3b35ee9de
--- /dev/null
+++ b/templates/de/printer-default.tmpl
@@ -0,0 +1,9 @@
+<H2 CLASS="title">{is_class?Klasse:Drucker} {printer_name} als Standard festlegen</H2>
+
+<P>{is_class?Klasse:Drucker} <A
+HREF="/{is_class?classes:printers}/{printer_name}">{printer_name}</A>
+wurde zum Standarddrucker für diesen Server gemacht.</P>
+
+<BLOCKQUOTE><B>Notiz:</B> Die Einstellungen des Standarddruckers
+welche von Benutzern mittels dem <TT>lpoptions</TT> Befehl gesetzt wurden,
+überschreiben diese Einstellung.</BLOCKQUOTE>
diff --git a/templates/de/printer-deleted.tmpl b/templates/de/printer-deleted.tmpl
new file mode 100644
index 000000000..c123e50cd
--- /dev/null
+++ b/templates/de/printer-deleted.tmpl
@@ -0,0 +1,3 @@
+<H2 CLASS="title">Drucker {printer_name} löschen</H2>
+
+<P>Drucker {printer_name} wurde erfolgreich gelöscht.
diff --git a/templates/de/printer-jobs-header.tmpl b/templates/de/printer-jobs-header.tmpl
new file mode 100644
index 000000000..0834c9c50
--- /dev/null
+++ b/templates/de/printer-jobs-header.tmpl
@@ -0,0 +1 @@
+<H3 CLASS="title">Aufträge</H3>
diff --git a/templates/de/printer-modified.tmpl b/templates/de/printer-modified.tmpl
new file mode 100644
index 000000000..0289f9f10
--- /dev/null
+++ b/templates/de/printer-modified.tmpl
@@ -0,0 +1,4 @@
+<H2 CLASS="title">Drucker {printer_name} ändern</H2>
+
+<P>Drucker <A HREF="/printers/{printer_name}">{printer_name}</A> wurde
+erfolgreich geändert.
diff --git a/templates/de/printer-reject.tmpl b/templates/de/printer-reject.tmpl
new file mode 100644
index 000000000..47f82cb9a
--- /dev/null
+++ b/templates/de/printer-reject.tmpl
@@ -0,0 +1,5 @@
+<H2 CLASS="title">Aufträge für {is_class?die Klasse:den Drucker} {printer_name} ablehnen</H2>
+
+<P>{is_class?Die Klasse:Der Drucker} <A
+HREF="/{is_class?classes:printers}/{printer_name}">{printer_name}</A>
+akzeptiert keine weiteren Aufträge.</P>
diff --git a/templates/de/printer-start.tmpl b/templates/de/printer-start.tmpl
new file mode 100644
index 000000000..c2d89c958
--- /dev/null
+++ b/templates/de/printer-start.tmpl
@@ -0,0 +1,5 @@
+<H2 CLASS="title">{is_class?Die Klasse:Den Drucker} {printer_name} fortfahren</H2>
+
+<P>{is_class?Die Klassen:Der Drucker} <A
+HREF="/{is_class?classes:printers}/{printer_name}">{printer_name}</A>
+wird fortgesetzt.</P>
diff --git a/templates/de/printer-stop.tmpl b/templates/de/printer-stop.tmpl
new file mode 100644
index 000000000..d519f1a14
--- /dev/null
+++ b/templates/de/printer-stop.tmpl
@@ -0,0 +1,5 @@
+<H2 CLASS="title">{is_class?Die Klasse:Den Drucker} {printer_name} anhalten</H2>
+
+<P>{is_class?Die Klasse:Der Drucker} <A
+HREF="/{is_class?classes:printers}/{printer_name}">{printer_name}</A>
+wurde angehalten.</P>
diff --git a/templates/de/printer.tmpl b/templates/de/printer.tmpl
new file mode 100644
index 000000000..2b9eb25d5
--- /dev/null
+++ b/templates/de/printer.tmpl
@@ -0,0 +1,43 @@
+<H2 CLASS="title"><A HREF="{printer_uri_supported}">{printer_name}</A>
+({printer_state=3?Im Leerlauf:{printer_state=4?Beschäftigt:Angehalten}},
+{printer_is_accepting_jobs=0?Aufträge werden ablehnt:Aufträge werden akzeptiert},
+{server_is_sharing_printers=0?Keine (Server):{printer_is_shared=0?Keine:}} Netzfreigabe{default_name={printer_name}?, Standarddrucker:}, {printer_is_colormanaged=0?Kein Farbmanagement:Farbmanagement})</H2>
+
+<FORM METHOD="POST" ACTION="{printer_uri_supported}" NAME="maintenance">
+<INPUT TYPE="HIDDEN" NAME="org.cups.sid" VALUE="{$org.cups.sid}">
+<SELECT NAME="OP" ONCHANGE="document.maintenance.submit();">
+<OPTION VALUE="">Wartung</OPTION>
+<OPTION VALUE="print-test-page">Testseite drucken</OPTION>
+{printer_commands~.*Clean.*?<OPTION VALUE="clean-print-heads">Druckköpfe reinigen</OPTION>:}
+{printer_commands~.*PrintSelfTestPage.*?<OPTION VALUE="print-self-test-page">Selbsttest-Seite drucken</OPTION>:}
+{printer_state=5?<OPTION VALUE="start-printer">Drucker starten</OPTION>:<OPTION VALUE="stop-printer">Drucker stoppen</OPTION>}
+{printer_is_accepting_jobs=0?<OPTION VALUE="accept-jobs">Aufträge akzeptieren</OPTION>:<OPTION VALUE="reject-jobs">Aufträge ablehnen</OPTION>}
+<OPTION VALUE="move-jobs">Alle Aufträge verschieben</OPTION>
+<OPTION VALUE="purge-jobs">Alle Aufträge abbrechen</OPTION>
+</SELECT>
+<NOSCRIPT><INPUT TYPE="SUBMIT" VALUE="Go"></NOSCRIPT>
+</FORM>
+
+<FORM METHOD="POST" ACTION="{admin_uri}" NAME="administration">
+<INPUT TYPE="HIDDEN" NAME="org.cups.sid" VALUE="{$org.cups.sid}">
+<INPUT TYPE="HIDDEN" NAME="printer_name" VALUE="{printer_name}">
+<SELECT NAME="OP" ONCHANGE="document.administration.submit();">
+<OPTION VALUE="">Administration</OPTION>
+<OPTION VALUE="modify-printer">Drucker ändern</OPTION>
+<OPTION VALUE="delete-printer">Drucker löschen</OPTION>
+<OPTION VALUE="set-printer-options">Standardeinstellungen festlegen</OPTION>
+<OPTION VALUE="set-as-default">Als Standard festlegen</OPTION>
+<OPTION VALUE="set-allowed-users">Erlaubte Benutzer festlegen</OPTION>
+</SELECT>
+<NOSCRIPT><INPUT TYPE="SUBMIT" VALUE="Go"></NOSCRIPT>
+</FORM>
+
+<TABLE SUMMARY="{printer_name}">
+<TR><TH ALIGN="RIGHT" VALIGN="TOP">Beschreibung:</TH><TD>{printer_info}</TD></TR>
+<TR><TH ALIGN="RIGHT" VALIGN="TOP">Ort:</TH><TD>{printer_location}</TD></TR>
+<TR><TH ALIGN="RIGHT" VALIGN="TOP">Treiber:</TH><TD>{printer_make_and_model} ({color_supported=1?color:grayscale}{sides_supported?, 2-sided printing:})<BR>
+<TR><TH ALIGN="RIGHT" VALIGN="TOP">Verbindung:</TH><TD>{device_uri}</TD></TR>
+<TR><TH ALIGN="RIGHT" VALIGN="TOP">Einstellungen:</TH><TD>job-sheets={job_sheets_default}
+media={media_default?{media_default}:unknown}
+{sides_default?sides={sides_default}:}</TD></TR>
+</TABLE>
diff --git a/templates/de/printers-header.tmpl b/templates/de/printers-header.tmpl
new file mode 100644
index 000000000..7ee520e0f
--- /dev/null
+++ b/templates/de/printers-header.tmpl
@@ -0,0 +1 @@
+<P ALIGN="CENTER">{total=0?Keine Drucker:Zeige {#printer_name} von {total} Drucker{total=1?:n}}.</P>
diff --git a/templates/de/printers.tmpl b/templates/de/printers.tmpl
new file mode 100644
index 000000000..360154fec
--- /dev/null
+++ b/templates/de/printers.tmpl
@@ -0,0 +1,11 @@
+{#printer_name=0?:
+<TABLE CLASS="list" SUMMARY="Druckerliste">
+<THEAD>
+<TR><TH><A HREF="{THISURL}?QUERY={?QUERY}&amp;WHICH_JOBS={?WHICH_JOBS}&amp;FIRST={FIRST}&amp;ORDER={ORDER=dec?asc:dec}">{ORDER=dec?<SMALL>&#x25b2;</SMALL> Queue Name <SMALL>&#x25b2;</SMALL>:<SMALL>&#x25bc;</SMALL> Queue Name <SMALL>&#x25bc;</SMALL>}</A></TH><TH>Beschreibung</TH><TH>Ort</TH><TH>Marke und Modell</TH><TH>Status</TH></TR>
+</THEAD>
+<TBODY>
+{[printer_name]
+<TR><TD><A HREF="{printer_uri_supported}">{printer_name}</A></TD><TD>{printer_info}</TD><TD>{printer_location}</TD><TD>{printer_make_and_model}</TD><TD>{printer_state=3?Im Leerlauf:{printer_state=4?Beschäftigt:Angehalten}}{printer_state_message? - "{printer_state_message}":}</TD></TR>
+}
+</TBODY>
+</TABLE></DIV>}
diff --git a/templates/de/restart.tmpl b/templates/de/restart.tmpl
new file mode 100644
index 000000000..f0e5ceef8
--- /dev/null
+++ b/templates/de/restart.tmpl
@@ -0,0 +1,4 @@
+<H2 CLASS="title">Einstellungen ändern</H2>
+
+<P><IMG SRC="data:image/gif;base64,R0lGODlhEAAQAIQAAP///wAAAPDw8IqKiuDg4EZGRnp6egAAAFhYWCQkJKysrL6+vhQUFJycnAQEBDY2NmhoaP///////////////////////////////////////////////////////////yH/C05FVFNDQVBFMi4wAwEAAAAh+QQABQD/ACwAAAAAEAAQAAAFdyAgAgIJIeWoAkRCCMdBkKtIHIngyMKsErPBYbADpkSCwhDmQCBethRB6Vj4kFCkQPG4IlWDgrNRIwnO4UKBXDufzQvDMaoSDBgFb886MiQadgNABAokfCwzBA8LCg0Egl8jAggGAA1kBIA1BAYzlyILczULC2UhACH5BAEFAB8ALAAAAAAQABAAAAV2ICACAmlAZTmOREEIyUEQjLKKxPHADhEvqxlgcGgkGI1DYSVAIAWMx+lwSKkICJ0QsHi9RgKBwnVTiRQQgwF4I4UFDQQEwi6/3YSGWRRmjhEETAJfIgMFCnAKM0KDV4EEEAQLiF18TAYNXDaSe3x6mjidN1s3IQAh+QQBBQAfACwAAAAAEAAQAAAFeCAgAgLZDGU5jgRECEUiCI+yioSDwDJyLKsXoHFQxBSHAoAAFBhqtMJg8DgQBgfrEsJAEAg4YhZIEiwgKtHiMBgtpg3wbUZXGO7kOb1MUKRFMysCChAoggJCIg0GC2aNe4gqQldfL4l/Ag1AXySJgn5LcoE3QXI3IQAh+QQBBQAfACwAAAAAEAAQAAAFdiAgAgLZNGU5joQhCEjxIssqEo8bC9BRjy9Ag7GILQ4QEoE0gBAEBcOpcBA0DoxSK/e8LRIHn+i1cK0IyKdg0VAoljYIg+GgnRrwVS/8IAkICyosBIQpBAMoKy9dImxPhS+GKkFrkX+TigtLlIyKXUF+NjagNiEAIfkEAQUAHwAsAAAAABAAEAAABWwgIAICaRhlOY4EIgjH8R7LKhKHGwsMvb4AAy3WODBIBBKCsYA9TjuhDNDKEVSERezQEL0WrhXucRUQGuik7bFlngzqVW9LMl9XWvLdjFaJtDFqZ1cEZUB0dUgvL3dgP4WJZn4jkomWNpSTIyEAIfkEAQUAHwAsAAAAABAAEAAABX4gIAICuSxlOY6CIgiD8RrEKgqGOwxwUrMlAoSwIzAGpJpgoSDAGifDY5kopBYDlEpAQBwevxfBtRIUGi8xwWkDNBCIwmC9Vq0aiQQDQuK+VgQPDXV9hCJjBwcFYU5pLwwHXQcMKSmNLQcIAExlbH8JBwttaX0ABAcNbWVbKyEAIfkEAQUAHwAsAAAAABAAEAAABXkgIAICSRBlOY7CIghN8zbEKsKoIjdFzZaEgUBHKChMJtRwcWpAWoWnifm6ESAMhO8lQK0EEAV3rFopIBCEcGwDKAqPh4HUrY4ICHH1dSoTFgcHUiZjBhAJB2AHDykpKAwHAwdzf19KkASIPl9cDgcnDkdtNwiMJCshACH5BAEFAB8ALAAAAAAQABAAAAV3ICACAkkQZTmOAiosiyAoxCq+KPxCNVsSMRgBsiClWrLTSWFoIQZHl6pleBh6suxKMIhlvzbAwkBWfFWrBQTxNLq2RG2yhSUkDs2b63AYDAoJXAcFRwADeAkJDX0AQCsEfAQMDAIPBz0rCgcxky0JRWE1AmwpKyEAIfkEAQUAHwAsAAAAABAAEAAABXkgIAICKZzkqJ4nQZxLqZKv4NqNLKK2/Q4Ek4lFXChsg5ypJjs1II3gEDUSRInEGYAw6B6zM4JhrDAtEosVkLUtHA7RHaHAGJQEjsODcEg0FBAFVgkQJQ1pAwcDDw8KcFtSInwJAowCCA6RIwqZAgkPNgVpWndjdyohACH5BAEFAB8ALAAAAAAQABAAAAV5ICACAimc5KieLEuUKvm2xAKLqDCfC2GaO9eL0LABWTiBYmA06W6kHgvCqEJiAIJiu3gcvgUsscHUERm+kaCxyxa+zRPk0SgJEgfIvbAdIAQLCAYlCj4DBw0IBQsMCjIqBAcPAooCBg9pKgsJLwUFOhCZKyQDA3YqIQAh+QQBBQAfACwAAAAAEAAQAAAFdSAgAgIpnOSonmxbqiThCrJKEHFbo8JxDDOZYFFb+A41E4H4OhkOipXwBElYITDAckFEOBgMQ3arkMkUBdxIUGZpEb7kaQBRlASPg0FQQHAbEEMGDSVEAA1QBhAED1E0NgwFAooCDWljaQIQCE5qMHcNhCkjIQAh+QQBBQAfACwAAAAAEAAQAAAFeSAgAgIpnOSoLgxxvqgKLEcCC65KEAByKK8cSpA4DAiHQ/DkKhGKh4ZCtCyZGo6F6iYYPAqFgYy02xkSaLEMV34tELyRYNEsCQyHlvWkGCzsPgMCEAY7Cg04Uk48LAsDhRA8MVQPEF0GAgqYYwSRlycNcWskCkApIyEAOw==" WIDTH="16" HEIGHT="16" ALIGN="ABSMIDDLE"
+ALT="Busy Indicator"> Bitte warten bis der Server neu gestartet ist...</P>
diff --git a/templates/de/samba-export.tmpl b/templates/de/samba-export.tmpl
new file mode 100644
index 000000000..e856ff56a
--- /dev/null
+++ b/templates/de/samba-export.tmpl
@@ -0,0 +1,55 @@
+<SCRIPT TYPE="text/javascript"><!--
+function select_printers() {
+ var list = document.export_samba.EXPORT_NAME;
+ var sel = document.export_samba.EXPORT_ALL.checked;
+
+ for (i = 0; i < list.length; i ++) {
+ list.options[i].selected = sel;
+ }
+}
+--></SCRIPT>
+
+<FORM METHOD="POST" ACTION="/admin/" NAME="export_samba">
+<INPUT TYPE="HIDDEN" NAME="org.cups.sid" VALUE="{$org.cups.sid}">
+<INPUT TYPE="HIDDEN" NAME="OP" VALUE="export-samba">
+
+<H2 CLASS="title">Drucker für Samba freigeben</H2>
+
+{error?<P>Kann Drucker nicht für Samba freigeben\:</P>
+<BLOCKQUOTE>{error}</BLOCKQUOTE>
+<P>Consult the <A HREF="/admin/log/error_log"
+TARGET="_blank">Fehlerprotokoll</A> Datei um mehr Informationen zu erhalten.</P>:
+<P>Diese Seite erlaubt es Ihnen Drucker für Samba bereitzustellen
+damit auf diese mittels Windows Clients über die Desktopsymbole
+<VAR>Netzwerk Nachbarn</VAR> oder <VAR>Netzwerkumgebung</VAR>
+zugegriffen werden kann. Sie müssen zuerst einen
+Windows PostScript Druckerteiber installieren wie diese in der Hilfe für <A
+HREF="/help/man-cupsaddsmb.html"
+TARGET="_blank">cupsaddsmb(8)</A> beschrieben ist.</P>}
+
+<TABLE>
+<TR>
+<TH CLASS="label">Drucker:</TH>
+<TD>
+<SELECT NAME="EXPORT_NAME" SIZE="10" MULTIPLE>
+{[printer_name]<OPTION VALUE="{printer_name}"{export_all? SELECTED:{printer_export? SELECTED:}}>{printer_name}}
+</SELECT><BR>
+<INPUT TYPE="CHECKBOX" NAME="EXPORT_ALL"{export_all? CHECKED:}
+onChange="select_printers()"> Alle Drucker freigeben
+</TD>
+</TR>
+<TR>
+<TH CLASS="label">Samba Benutzername:</TH>
+<TD><INPUT TYPE="TEXT" NAME="USERNAME" VALUE="{?USERNAME}"> (benötigt)</TD>
+</TR>
+<TR>
+<TH CLASS="label">Samba Passwort:</TH>
+<TD><INPUT TYPE="PASSWORD" NAME="PASSWORD" VALUE=""> (benötigt)</TD>
+</TR>
+<TR>
+<TD></TD>
+<TD><INPUT TYPE="SUBMIT" VALUE="Drucker für Samba freigeben"></TD>
+</TR>
+</TABLE>
+
+</FORM>
diff --git a/templates/de/samba-exported.tmpl b/templates/de/samba-exported.tmpl
new file mode 100644
index 000000000..0e088ed51
--- /dev/null
+++ b/templates/de/samba-exported.tmpl
@@ -0,0 +1 @@
+<P>Drucker wurden erfolgreich für Samba freigegeben.</P>
diff --git a/templates/de/search.tmpl b/templates/de/search.tmpl
new file mode 100644
index 000000000..c4e89b8e3
--- /dev/null
+++ b/templates/de/search.tmpl
@@ -0,0 +1,10 @@
+<FORM ACTION="/{SECTION}/{?SEARCH_DEST}" METHOD="GET">
+{WHICH_JOBS?<INPUT TYPE="HIDDEN" NAME="WHICH_JOBS" VALUE="{WHICH_JOBS}">:}
+{ORDER?<INPUT TYPE="HIDDEN" NAME="ORDER" VALUE="{ORDER}">:}
+
+<P ALIGN="CENTER"><B>Suche in
+{SEARCH_DEST?{SEARCH_DEST}:{SECTION=classes?Klassen:{SECTION=jobs?Aufträgen:Drucker}}}:</B>
+<INPUT TYPE="SEARCH" NAME="QUERY" VALUE="{?QUERY}" SIZE="40" PLACEHOLDER="" AUTOSAVE="org.cups.{SECTION}" RESULTS="20"> <INPUT
+TYPE="SUBMIT" VALUE="Suchen"> <INPUT TYPE="SUBMIT" NAME="CLEAR" VALUE="Leeren"></P>
+
+</FORM>
diff --git a/templates/de/set-printer-options-header.tmpl b/templates/de/set-printer-options-header.tmpl
new file mode 100644
index 000000000..e0b64a366
--- /dev/null
+++ b/templates/de/set-printer-options-header.tmpl
@@ -0,0 +1,24 @@
+<H2 CLASS="title">Standardeinstellungen für {printer_name} festlegen</H2>
+
+<FORM METHOD="POST" ACTION="/admin">
+<INPUT TYPE="HIDDEN" NAME="org.cups.sid" VALUE="{$org.cups.sid}">
+<INPUT TYPE="HIDDEN" NAME="PRINTER_NAME" VALUE="{printer_name}">
+<INPUT TYPE="HIDDEN" NAME="OP" VALUE="{op}">
+{HAVE_AUTOCONFIGURE?<INPUT TYPE="SUBMIT" NAME="AUTOCONFIGURE" VALUE="Frage Drucker nach Voreinstellungen">:}
+
+<SCRIPT TYPE="text/javascript"><!--
+function update_paramtable(option)
+{
+ var cb = document.getElementById("select-" + option)
+ var paramstable = document.getElementById(option + "-params");
+ if (cb.value == "Custom")
+ paramstable.style.display = "table";
+ else
+ paramstable.style.display = "none";
+}
+--></SCRIPT>
+
+<H3 CLASS="title">{[group_id]
+<A HREF="#{group_id}">{group}</A>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</H3>
+
+<DIV CLASS="tabs">
diff --git a/templates/de/set-printer-options-trailer.tmpl b/templates/de/set-printer-options-trailer.tmpl
new file mode 100644
index 000000000..b92988a7f
--- /dev/null
+++ b/templates/de/set-printer-options-trailer.tmpl
@@ -0,0 +1,14 @@
+</DIV>
+
+<SCRIPT TYPE="text/javascript"><!--
+// Hide custom options parameters for browsers that understand Javascript
+var paramtables = document.getElementsByName("paramtable");
+for (var i = 0; i < paramtables.length; i++)
+{
+ var opt = paramtables[i].id.substr(0, paramtables[i].id.lastIndexOf("-"));
+ var cb = document.getElementById("select-" + opt);
+ if (cb.value != "Custom")
+ paramtables[i].style.display = "none";
+}
+--></SCRIPT>
+</FORM>
diff --git a/templates/de/subscription-added.tmpl b/templates/de/subscription-added.tmpl
new file mode 100644
index 000000000..813f47fb0
--- /dev/null
+++ b/templates/de/subscription-added.tmpl
@@ -0,0 +1 @@
+<P>Subskription {subscription_name} wurde erfolgreich hinzugefügt.</P>
diff --git a/templates/de/subscription-canceled.tmpl b/templates/de/subscription-canceled.tmpl
new file mode 100644
index 000000000..18e71b9cb
--- /dev/null
+++ b/templates/de/subscription-canceled.tmpl
@@ -0,0 +1 @@
+<P>Subskription #{notify_subscription_id} wurde gekündigt.</P>
diff --git a/templates/de/test-page.tmpl b/templates/de/test-page.tmpl
new file mode 100644
index 000000000..bc776738a
--- /dev/null
+++ b/templates/de/test-page.tmpl
@@ -0,0 +1,4 @@
+<H2 CLASS="title">Drucker Testseite auf {printer_name}</H2>
+
+<P>Testseite gesendet; Auftrags-ID ist <A HREF="/{SECTION}/{printer_name}">
+{printer_name}-{job_id}</A>.</P>
diff --git a/templates/de/trailer.tmpl b/templates/de/trailer.tmpl
new file mode 100644
index 000000000..7fbd1bc2b
--- /dev/null
+++ b/templates/de/trailer.tmpl
@@ -0,0 +1,5 @@
+ </div>
+ </div>
+ <div class="footer">CUPS und das CUPS Logo sind Warenzeichen der <a href="http://www.apple.com">Apple Inc.</a> Copyright &copy; 2007-2015 Apple Inc. Alle Rechte vorbehalten.</div>
+ </body>
+</html>
diff --git a/templates/de/users.tmpl b/templates/de/users.tmpl
new file mode 100644
index 000000000..6364ba91c
--- /dev/null
+++ b/templates/de/users.tmpl
@@ -0,0 +1,27 @@
+<FORM METHOD="POST" ACTION="/admin">
+<INPUT TYPE="HIDDEN" NAME="org.cups.sid" VALUE="{$org.cups.sid}">
+<INPUT TYPE="HIDDEN" NAME="OP" VALUE="{OP}">
+<INPUT TYPE="HIDDEN" NAME="PRINTER_NAME" VALUE="{printer_name}">
+{IS_CLASS?<INPUT TYPE="HIDDEN" NAME="IS_CLASS" VALUE="{IS_CLASS}">:}
+
+<H2 CLASS="title">Erlaubte Benutzer für {printer_name}</H2>
+
+<TABLE>
+<TR>
+<TH CLASS="label">Benutzer:</TH>
+<TD>
+<INPUT TYPE='TEXT' NAME='users' SIZE='60' VALUE='{?requesting_user_name_allowed}{?requesting_user_name_denied}'>
+<BR>
+<INPUT TYPE='RADIO' NAME='type' VALUE='requesting-user-name-allowed' {requesting_user_name_allowed?checked:}>Erlaube diesen Benutzern zu drucken
+<INPUT TYPE='RADIO' NAME='type' VALUE='requesting-user-name-denied' {requesting_user_name_denied?checked:}>Verbiete diesen Benutzern zu drucken
+</TD>
+</TR>
+<TR>
+<TD></TD>
+<TD>
+<INPUT TYPE="SUBMIT" VALUE="Set Allowed Users">
+</TD>
+</TR>
+</TABLE>
+
+</FORM>
diff --git a/templates/es/printer.tmpl b/templates/es/printer.tmpl
index f9838c4fa..717128914 100644
--- a/templates/es/printer.tmpl
+++ b/templates/es/printer.tmpl
@@ -35,7 +35,7 @@
<TABLE SUMMARY="{printer_name}">
<TR><TH ALIGN="RIGHT" VALIGN="TOP">Descripci&oacute;n:</TH><TD>{printer_info}</TD></TR>
<TR><TH ALIGN="RIGHT" VALIGN="TOP">Ubicaci&oacute;n:</TH><TD>{printer_location}</TD></TR>
-<TR><TH ALIGN="RIGHT" VALIGN="TOP">Controlador:</TH><TD>{printer_make_and_model} ({color_supported=1?color:escala de grises}{sides_supported?, d&uacute;plex:})<BR>
+<TR><TH ALIGN="RIGHT" VALIGN="TOP">Controlador:</TH><TD>{printer_make_and_model} ({color_supported=1?color:escala de grises}{sides_supported=one-sided?:, d&uacute;plex})<BR>
<TR><TH ALIGN="RIGHT" VALIGN="TOP">Conexi&oacute;n:</TH><TD>{device_uri}</TD></TR>
<TR><TH ALIGN="RIGHT" VALIGN="TOP">Opciones predeterminadas:</TH><TD>job-sheets={job_sheets_default}
media={media_default?{media_default}:desconocido}
diff --git a/templates/ja/printer.tmpl b/templates/ja/printer.tmpl
index 846999070..2b82c61df 100644
--- a/templates/ja/printer.tmpl
+++ b/templates/ja/printer.tmpl
@@ -35,7 +35,7 @@
<TABLE SUMMARY="{printer_name}">
<TR><TH ALIGN="RIGHT" VALIGN="TOP">説明:</TH><TD>{printer_info}</TD></TR>
<TR><TH ALIGN="RIGHT" VALIGN="TOP">場所:</TH><TD>{printer_location}</TD></TR>
-<TR><TH ALIGN="RIGHT" VALIGN="TOP">プリンタードライバー:</TH><TD>{printer_make_and_model} ({color_supported=1?カラー:白黒}{sides_supported?, 両面可:})<BR>
+<TR><TH ALIGN="RIGHT" VALIGN="TOP">プリンタードライバー:</TH><TD>{printer_make_and_model} ({color_supported=1?カラー:白黒}{sides_supported=one-sided?:, 両面可})<BR>
<TR><TH ALIGN="RIGHT" VALIGN="TOP">接続:</TH><TD>{device_uri}</TD></TR>
<TR><TH ALIGN="RIGHT" VALIGN="TOP">デフォルト設定:</TH><TD>バナー={job_sheets_default}
用紙サイズ={media_default?{media_default}:不明}
diff --git a/templates/printer.tmpl b/templates/printer.tmpl
index ee8d77460..705f69f13 100644
--- a/templates/printer.tmpl
+++ b/templates/printer.tmpl
@@ -35,7 +35,7 @@
<TABLE SUMMARY="{printer_name}">
<TR><TH ALIGN="RIGHT" VALIGN="TOP">Description:</TH><TD>{printer_info}</TD></TR>
<TR><TH ALIGN="RIGHT" VALIGN="TOP">Location:</TH><TD>{printer_location}</TD></TR>
-<TR><TH ALIGN="RIGHT" VALIGN="TOP">Driver:</TH><TD>{printer_make_and_model} ({color_supported=1?color:grayscale}{sides_supported?, 2-sided printing:})<BR>
+<TR><TH ALIGN="RIGHT" VALIGN="TOP">Driver:</TH><TD>{printer_make_and_model} ({color_supported=1?color:grayscale}{sides_supported=one-sided?:, 2-sided printing})<BR>
<TR><TH ALIGN="RIGHT" VALIGN="TOP">Connection:</TH><TD>{device_uri}</TD></TR>
<TR><TH ALIGN="RIGHT" VALIGN="TOP">Defaults:</TH><TD>job-sheets={job_sheets_default}
media={media_default?{media_default}:unknown}
diff --git a/templates/ru/add-class.tmpl b/templates/ru/add-class.tmpl
new file mode 100644
index 000000000..d67c4adc9
--- /dev/null
+++ b/templates/ru/add-class.tmpl
@@ -0,0 +1,37 @@
+<H2 CLASS="title">Новая группа</H2>
+
+<FORM METHOD="POST" ACTION="/admin">
+<INPUT TYPE="HIDDEN" NAME="org.cups.sid" VALUE="{$org.cups.sid}">
+<INPUT TYPE="HIDDEN" NAME="OP" VALUE="{op}">
+
+<TABLE>
+<TR>
+<TH CLASS="label">Название:</TH>
+<TD><INPUT TYPE="TEXT" NAME="PRINTER_NAME" SIZE="40" MAXLENGTH="127"><BR>
+<SMALL>(может содержать любые символы, кроме "/", "#" и пробела)</SMALL></TD>
+</TR>
+<TR>
+<TH CLASS="label">Описание:</TH>
+<TD><INPUT TYPE="TEXT" NAME="PRINTER_INFO" SIZE="40" MAXLENGTH="127"><BR>
+<SMALL>(Расширенное описание группы, например, "Дуплексный принтер")</SMALL></TD>
+</TR>
+<TR>
+<TH CLASS="label">Расположение:</TH>
+<TD><INPUT TYPE="TEXT" NAME="PRINTER_LOCATION" SIZE="40" MAXLENGTH="127"><BR>
+<SMALL>(Месторасположение группы, например, "Кабинет 55")</SMALL></TD>
+</TR>
+<TR>
+<TH CLASS="label">Состав группы:</TH>
+<TD>
+<SELECT NAME="MEMBER_URIS" SIZE="10" MULTIPLE>
+{[member_uris]<OPTION VALUE="{member_uris}" {?member_selected}>{member_names}}
+</SELECT>
+</TD>
+</TR>
+<TR>
+<TD></TD>
+<TD><INPUT TYPE="SUBMIT" VALUE="Добавить группу"></TD>
+</TR>
+</TABLE>
+
+</FORM>
diff --git a/templates/ru/add-printer.tmpl b/templates/ru/add-printer.tmpl
new file mode 100644
index 000000000..824b913c6
--- /dev/null
+++ b/templates/ru/add-printer.tmpl
@@ -0,0 +1,44 @@
+<H2 CLASS="title">Добавление принтера</H2>
+
+<FORM METHOD="POST" ACTION="/admin">
+<INPUT TYPE="HIDDEN" NAME="org.cups.sid" VALUE="{$org.cups.sid}">
+<INPUT TYPE="HIDDEN" NAME="OP" VALUE="{op}">
+<INPUT TYPE="HIDDEN" NAME="BAUDRATE" VALUE="{?baudrate}">
+<INPUT TYPE="HIDDEN" NAME="BITS" VALUE="{?bits}">
+<INPUT TYPE="HIDDEN" NAME="PARITY" VALUE="{?parity}">
+<INPUT TYPE="HIDDEN" NAME="FLOW" VALUE="{?flow}">
+{?current_make!?<INPUT TYPE="HIDDEN" NAME="CURRENT_MAKE" VALUE="{current_make}">:}
+{?current_make_and_model!?<INPUT TYPE="HIDDEN" NAME="CURRENT_MAKE_AND_MODEL" VALUE="{current_make_and_model}">:}
+
+<TABLE>
+<TR>
+<TH CLASS="label">Название:</TH>
+<TD><INPUT TYPE="TEXT" NAME="PRINTER_NAME" SIZE="40" MAXLENGTH="127" VALUE="{?template_name}"><BR>
+<SMALL>(может содержать любые символы, кроме "/","#" и пробела)</SMALL></TD>
+</TR>
+<TR>
+<TH CLASS="label">Описание:</TH>
+<TD><INPUT TYPE="TEXT" NAME="PRINTER_INFO" SIZE="40" MAXLENGTH="127" VALUE="{?PRINTER_INFO}"><BR>
+<SMALL>(расширенное описание, например, "HP LaserJet с дуплексной печатью")</SMALL></TD>
+</TR>
+<TR>
+<TH CLASS="label">Расположение:</TH>
+<TD><INPUT TYPE="TEXT" NAME="PRINTER_LOCATION" SIZE="40" MAXLENGTH="127" VALUE="{?PRINTER_LOCATION}"><BR>
+<SMALL>(месторасположение принтера, например, "Кабинет 55")</SMALL></TD>
+</TR>
+<TR>
+<TH CLASS="label">Подключение:</TH>
+<TD><INPUT TYPE="HIDDEN" NAME="DEVICE_URI" VALUE="{device_uri}">{device_uri}</TD>
+</TR>
+<TR>
+<TH CLASS="label">Совместный доступ:</TH>
+<TD><INPUT TYPE="CHECKBOX" NAME="PRINTER_IS_SHARED" {PRINTER_IS_SHARED=1?CHECKED:}>
+Разрешить совместный доступ к этому принтеру</TD>
+</TR>
+<TR>
+<TD></TD>
+<TD><INPUT TYPE="SUBMIT" VALUE="Продолжить"></TD>
+</TR>
+</TABLE>
+
+</FORM>
diff --git a/templates/ru/add-rss-subscription.tmpl b/templates/ru/add-rss-subscription.tmpl
new file mode 100644
index 000000000..4567b9262
--- /dev/null
+++ b/templates/ru/add-rss-subscription.tmpl
@@ -0,0 +1,44 @@
+<FORM METHOD="POST" ACTION="/admin">
+<INPUT TYPE="HIDDEN" NAME="org.cups.sid" VALUE="{$org.cups.sid}">
+<INPUT TYPE="HIDDEN" NAME="OP" VALUE="add-rss-subscription">
+
+<H2 CLASS="title">Добавление подписки по RSS</H2>
+
+<TABLE SUMMARY="Добавление подписки по RSS">
+<TR>
+<TH CLASS="label">Название:</TH>
+<TD COLSPAN="5"><INPUT TYPE="TEXT" NAME="SUBSCRIPTION_NAME" SIZE="40" MAXLENGTH="127" VALUE="{?SUBSCRIPTION_NAME}"><BR>
+<SMALL>(Может содержать любые символы, кроме "/", "#", "?" и пробела)</SMALL></TD>
+</TR>
+<TR>
+<TH CLASS="label">Очередь:</TH>
+<TD COLSPAN="5"><SELECT NAME="PRINTER_URI" SIZE="10"><OPTION VALUE="#ALL#"{?PRINTER_URI=#ALL#? SELECTED:}>Все очереди</OPTION>{[printer_name]<OPTION VALUE="{printer_uri_supported}"{?PRINTER_URI={printer_uri_supported}? SELECTED:}>{printer_name}</OPTION>}</SELECT></TD>
+</TR>
+<TR VALIGN="TOP">
+<TH CLASS="label">События:</TH>
+<TD><INPUT TYPE="CHECKBOX" NAME="EVENT_JOB_CREATED" {?EVENT_JOB_CREATED}>Новое задание<BR>
+<INPUT TYPE="CHECKBOX" NAME="EVENT_JOB_COMPLETED" {?EVENT_JOB_COMPLETED}>Задание выполнено<BR>
+<INPUT TYPE="CHECKBOX" NAME="EVENT_JOB_STOPPED" {?EVENT_JOB_STOPPED}>Задание остановлено<BR>
+<INPUT TYPE="CHECKBOX" NAME="EVENT_JOB_CONFIG_CHANGED" {?EVENT_JOB_CONFIG_CHANGED}>Изменены параметры задания</TD>
+<TD>&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+<TD><INPUT TYPE="CHECKBOX" NAME="EVENT_PRINTER_STOPPED" {?EVENT_PRINTER_STOPPED}>Очередь остановлена<BR>
+<INPUT TYPE="CHECKBOX" NAME="EVENT_PRINTER_ADDED" {?EVENT_PRINTER_ADDED}>Очередь добавлена<BR>
+<INPUT TYPE="CHECKBOX" NAME="EVENT_PRINTER_MODIFIED" {?EVENT_PRINTER_MODIFIED}>Очередь изменена<BR>
+<INPUT TYPE="CHECKBOX" NAME="EVENT_PRINTER_DELETED" {?EVENT_PRINTER_DELETED}>Очередь удалена</TD>
+<TD>&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+<TD><INPUT TYPE="CHECKBOX" NAME="EVENT_SERVER_STARTED" {?EVENT_SERVER_STARTED}>Сервер запущен<BR>
+<INPUT TYPE="CHECKBOX" NAME="EVENT_SERVER_STOPPED" {?EVENT_SERVER_STOPPED}>Сервер остановлен<BR>
+<INPUT TYPE="CHECKBOX" NAME="EVENT_SERVER_RESTARTED" {?EVENT_SERVER_RESTARTED}>Сервер перезапущен<BR>
+<INPUT TYPE="CHECKBOX" NAME="EVENT_SERVER_AUDIT" {?EVENT_SERVER_AUDIT}>Проверка безопасности сервера</TD>
+</TR>
+<TR>
+<TH CLASS="label">Количество событий в ленте:</TH>
+<TD COLSPAN="5"><INPUT TYPE="NUMBER" NAME="MAX_EVENTS" SIZE="4" MAXLENGTH="4" VALUE="{MAX_EVENTS?{MAX_EVENTS}:20}"></TD>
+</TR>
+<TR>
+<TD></TD>
+<TD COLSPAN="5"><INPUT TYPE="SUBMIT" VALUE="Добавить подписку по RSS"></TD>
+</TR>
+</TABLE>
+
+</FORM>
diff --git a/templates/ru/admin.tmpl b/templates/ru/admin.tmpl
new file mode 100644
index 000000000..49a168cfc
--- /dev/null
+++ b/templates/ru/admin.tmpl
@@ -0,0 +1,97 @@
+<div class="row">
+ <div class="halves">
+ <H2 CLASS="title">Принтеры</H2>
+ <P>
+ <FORM ACTION="/admin/" METHOD="POST"><INPUT TYPE="HIDDEN" NAME="org.cups.sid" VALUE="{$org.cups.sid}"><INPUT TYPE="HIDDEN" NAME="OP" VALUE="add-printer"><INPUT TYPE="SUBMIT" VALUE="Добавить принтер"></FORM>
+ <FORM ACTION="/admin/" METHOD="POST"><INPUT TYPE="HIDDEN" NAME="org.cups.sid" VALUE="{$org.cups.sid}"><INPUT TYPE="HIDDEN" NAME="OP" VALUE="find-new-printers"><INPUT TYPE="SUBMIT" VALUE="Найти новый принтер"></FORM>
+ <FORM ACTION="/printers/" METHOD="GET"><INPUT TYPE="SUBMIT" VALUE="Управление принтерами"></FORM>
+ {have_samba?<FORM ACTION="/admin/" METHOD="POST"><INPUT TYPE="HIDDEN" NAME="org.cups.sid" VALUE="{$org.cups.sid}"><INPUT TYPE="HIDDEN" NAME="OP" VALUE="export-samba"><INPUT TYPE="SUBMIT" VALUE="Экспортировать принтер в Samba"></FORM>:}
+ </P>
+
+ <H2 CLASS="title">Группы</H2>
+
+ <P>
+ <FORM ACTION="/admin/" METHOD="POST"><INPUT TYPE="HIDDEN" NAME="org.cups.sid" VALUE="{$org.cups.sid}"><INPUT TYPE="HIDDEN" NAME="OP" VALUE="add-class"><INPUT TYPE="SUBMIT" VALUE="Добавить группу"></FORM>
+ <FORM ACTION="/classes/" METHOD="GET"><INPUT TYPE="SUBMIT" VALUE="Управление группами"></FORM>
+ </P>
+
+ <H2 CLASS="title">Задания</H2>
+
+ <P>
+ <FORM ACTION="/jobs/" METHOD="GET"><INPUT TYPE="SUBMIT" VALUE="Управление заданиями"></FORM>
+ </P>
+ </div>
+ <div class="halves">
+ <H2 CLASS="title">Сервер</H2>
+
+ <P>
+ <FORM ACTION="/admin/" METHOD="POST"><INPUT TYPE="HIDDEN" NAME="org.cups.sid" VALUE="{$org.cups.sid}"><INPUT TYPE="HIDDEN" NAME="OP" VALUE="config-server"><INPUT TYPE="SUBMIT" VALUE="Редактировать конфигурационный файл"></FORM>
+ <FORM ACTION="/admin/log/access_log" METHOD="GET"><INPUT TYPE="SUBMIT" VALUE="Показать журнал заданий"></FORM>
+ <FORM ACTION="/admin/log/error_log" METHOD="GET"><INPUT TYPE="SUBMIT" VALUE="Показать журнал ошибок"></FORM>
+ <FORM ACTION="/admin/log/page_log" METHOD="GET"><INPUT TYPE="SUBMIT" VALUE="Показать журнал страниц"></FORM>
+ </P>
+
+ {SETTINGS_ERROR?<P>{SETTINGS_MESSAGE}</P>
+ <BLOCKQUOTE>{SETTINGS_ERROR}</BLOCKQUOTE>:
+
+ <FORM METHOD="POST" ACTION="/admin">
+ <INPUT TYPE="HIDDEN" NAME="org.cups.sid" VALUE="{$org.cups.sid}">
+
+ {ADVANCEDSETTINGS?<P><B>Параметры сервера\:</B></P>
+
+ <P><A HREF="/admin/">Дополнительные параметры<SMALL>&#x25bc;</SMALL></A><BR>
+ <INPUT TYPE="HIDDEN" NAME="OP" VALUE="config-server">
+ <INPUT TYPE="HIDDEN" NAME="ADVANCEDSETTINGS" VALUE="YES">
+ <INPUT TYPE="CHECKBOX" NAME="SHARE_PRINTERS" {?share_printers}> Разрешить совместный доступ к принтерам, подключенным к этой системе<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Максимум клиентов\:
+ <INPUT TYPE="TEXT" NAME="MAX_CLIENTS" VALUE="{?max_clients}" SIZE="6"><BR>
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<INPUT TYPE="CHECKBOX" NAME="REMOTE_ANY" {?remote_any}> Разрешить печать из интернет<BR>
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<INPUT TYPE="CHECKBOX" NAME="BROWSE_WEB_IF" {?browse_web_if}> Разрешить доступ через веб-интерфейс<BR>
+ <INPUT TYPE="CHECKBOX" NAME="REMOTE_ADMIN" {?remote_admin}> Разрешить удаленное администрирование<BR>
+ {have_gssapi?<INPUT TYPE="CHECKBOX" NAME="KERBEROS" {?kerberos}> Разрешить аутентификацию Kerberos (<A HREF="/help/kerberos.html?TOPIC=Getting+Started">FAQ</A>)<BR>:}
+ <INPUT TYPE="CHECKBOX" NAME="USER_CANCEL_ANY" {?user_cancel_any}> Разрешать пользователям отменять любое задание(не только их собственные)<BR>
+ <INPUT TYPE="CHECKBOX" NAME="PRESERVE_JOBS" {?preserve_jobs}> Вести журнал заданий<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Количество заданий (0 без ограничений)\:
+ <INPUT TYPE="TEXT" NAME="MAX_JOBS" VALUE="{?max_jobs}" SIZE="6"><BR>
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Записывать метаданные(Retain Metadata)\:
+ <INPUT TYPE="TEXT" NAME="PRESERVE_JOB_HISTORY" VALUE="{?preserve_job_history}" SIZE="6"><BR>
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Существующие документы(Retain Documents)\:
+ <INPUT TYPE="TEXT" NAME="PRESERVE_JOB_FILES" VALUE="{?preserve_job_files}" SIZE="6"><BR>
+ <INPUT TYPE="CHECKBOX" NAME="DEBUG_LOGGING" {?debug_logging}> Сохранять отладочную информацию в журнале<BR>
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Максимальный размер журнала\:
+ <INPUT TYPE="TEXT" NAME="MAX_LOG_SIZE" VALUE="{?max_log_size}" SIZE="6"></P>
+
+ :<P><B>Параметры сервера:</B></P>
+
+ <P><A HREF="/admin/?ADVANCEDSETTINGS=YES">Дополнительные параметры <SMALL>&#x25b6;</SMALL></A><BR>
+ <INPUT TYPE="HIDDEN" NAME="OP" VALUE="config-server">
+ <INPUT TYPE="CHECKBOX" NAME="SHARE_PRINTERS" {?share_printers}> Разрешить совместный доступ к принтерам, подключенным к этой системе<BR>
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<INPUT TYPE="CHECKBOX" NAME="REMOTE_ANY" {?remote_any}> Разрешить печать из
+ интернет<BR>
+ <INPUT TYPE="CHECKBOX" NAME="REMOTE_ADMIN" {?remote_admin}> Разрешить удаленное администрирование<BR>
+ {have_gssapi?<INPUT TYPE="CHECKBOX" NAME="KERBEROS" {?kerberos}> Разрешить аутентификацию Kerberos (<A HREF="/help/kerberos.html?TOPIC=Getting+Started">FAQ</A>)<BR>:}
+ <INPUT TYPE="CHECKBOX" NAME="USER_CANCEL_ANY" {?user_cancel_any}> Разрешить пользователям отменять любое задание(не только их собственные)<BR>
+ <INPUT TYPE="CHECKBOX" NAME="DEBUG_LOGGING" {?debug_logging}> Сохранять отладочную информацию в журнале</P>
+
+ }
+ <P><INPUT TYPE="SUBMIT" NAME="CHANGESETTINGS" VALUE="Сохранить"></P>
+
+ </FORM>}
+ </div>
+</div>
+
+<div class="row">
+ <H2 CLASS="title">Подписка по RSS</H2>
+
+ <P>
+ <FORM ACTION="/admin/" METHOD="POST"><INPUT TYPE="HIDDEN" NAME="org.cups.sid" VALUE="{$org.cups.sid}"><INPUT TYPE="HIDDEN" NAME="OP" VALUE="add-rss-subscription"><INPUT TYPE="SUBMIT" VALUE="Добавить подписку по RSS"></FORM>
+ </P>
+
+ {notify_subscription_id?<TABLE CLASS="list" SUMMARY="Подписки по RSS">
+ <THEAD><TR><TH>Название</TH><TH>События</TH><TH>Очередь</TH></TR></THEAD>
+ <TBODY>{[notify_subscription_id]
+ <TR><TD><A HREF="{notify_recipient_uri}">{notify_recipient_name}</A><BR>
+ <FORM ACTION="/admin/" METHOD="POST"><INPUT TYPE="HIDDEN" NAME="org.cups.sid" VALUE="{$org.cups.sid}"><INPUT TYPE="HIDDEN" NAME="OP" VALUE="cancel-subscription"><INPUT TYPE="HIDDEN" NAME="notify_subscription_id" VALUE="{notify_subscription_id}"><INPUT TYPE="SUBMIT" VALUE="Отменить подписку по RSS"></FORM>&nbsp;</TD><TD>{notify_events}</TD><TD NOWRAP>&nbsp;{notify_printer_name?{notify_printer_name}:Все очереди}</TD></TR>}
+ </TBODY>
+ </TABLE>:}
+</div> \ No newline at end of file
diff --git a/templates/ru/choose-device.tmpl b/templates/ru/choose-device.tmpl
new file mode 100644
index 000000000..8b63ac611
--- /dev/null
+++ b/templates/ru/choose-device.tmpl
@@ -0,0 +1,49 @@
+<H2 CLASS="title">{op=modify-printer?Изменение {printer_name}:Добавление принтера}</H2>
+
+{CUPS_GET_DEVICES_DONE?<FORM METHOD="POST" ACTION="/admin">
+<INPUT TYPE="HIDDEN" NAME="org.cups.sid" VALUE="{$org.cups.sid}">
+<INPUT TYPE="HIDDEN" NAME="OP" VALUE="{op}">
+{printer_name?<INPUT TYPE="HIDDEN" NAME="printer_name" VALUE="{printer_name}">:}
+
+<TABLE>
+{op=add-printer?:<TR>
+<TH CLASS="label">Сейчас подключен\:</TH>
+<TD><INPUT TYPE="RADIO" NAME="DEVICE_URI" VALUE="{current_device_uri}" CHECKED>
+{current_device_uri}</TD>
+</TR>}
+<TR>
+<TH CLASS="label">Установленные принтеры\:</TH>
+<TD>
+{[device_uri]{device_class!network?<INPUT TYPE="RADIO" NAME="DEVICE_URI"
+VALUE="{device_uri}{?device_make_and_model!Unknown?|{device_make_and_model}:}">
+{device_info} {?device_make_and_model!Unknown?({device_make_and_model}):}<BR>
+:}}
+</TD>
+</TR>
+<TR>
+<TH CLASS="label">Найденные сетевые принтеры\:</TH>
+<TD>
+{[device_uri]{device_class=network?{device_uri~[a-z]+://?<INPUT TYPE="RADIO" NAME="DEVICE_URI"
+VALUE="{device_uri}{?device_make_and_model!Unknown?|{device_make_and_model}:}">
+{device_info} {?device_make_and_model!Unknown?({device_make_and_model}):}<BR>
+:}:}}
+</TD>
+</TR>
+<TR>
+<TR>
+<TH CLASS="label">Другие сетевые принтеры\:</TH>
+<TD>
+{[device_uri]{device_class=network?{device_uri~[a-z]+://?:<INPUT TYPE="RADIO" NAME="DEVICE_URI"
+VALUE="{device_uri}{?device_make_and_model!Unknown?|{device_make_and_model}:}">
+{device_info} {?device_make_and_model!Unknown?({device_make_and_model}):}<BR>
+}:}}
+</TD>
+</TR>
+<TR>
+<TD></TD>
+<TD><INPUT TYPE="SUBMIT" VALUE="Продолжить"></TD>
+</TR>
+</TABLE>
+
+</FORM>:<P><IMG SRC="/images/wait.gif" WIDTH="16" HEIGHT="16" ALIGN="ABSMIDDLE"
+ALT="Ожидание"> Поиск принтеров...</P>}
diff --git a/templates/ru/choose-make.tmpl b/templates/ru/choose-make.tmpl
new file mode 100644
index 000000000..d5ef7fe27
--- /dev/null
+++ b/templates/ru/choose-make.tmpl
@@ -0,0 +1,61 @@
+<H2 CLASS="title">{op=modify-printer?Изменение {printer_name}:Добавление принтера}</H2>
+
+<FORM METHOD="POST" ACTION="/admin" ENCTYPE="multipart/form-data">
+<INPUT TYPE="HIDDEN" NAME="org.cups.sid" VALUE="{$org.cups.sid}">
+<INPUT TYPE="HIDDEN" NAME="OP" VALUE="{op}">
+{printer_name?<INPUT TYPE="HIDDEN" NAME="printer_name" VALUE="{printer_name}">:}
+<INPUT TYPE="HIDDEN" NAME="BAUDRATE" VALUE="{?baudrate}">
+<INPUT TYPE="HIDDEN" NAME="BITS" VALUE="{?bits}">
+<INPUT TYPE="HIDDEN" NAME="PARITY" VALUE="{?parity}">
+<INPUT TYPE="HIDDEN" NAME="FLOW" VALUE="{?flow}">
+
+<TABLE>
+{op=modify-printer?:<TR>
+<TH CLASS="label">Название:</TH>
+<TD><INPUT TYPE="HIDDEN" NAME="PRINTER_NAME" VALUE="{printer_name}">{printer_name}</TD>
+</TR>}
+<TR>
+<TH CLASS="label">Описание:</TH>
+<TD><INPUT TYPE="HIDDEN" NAME="PRINTER_INFO" VALUE="{printer_info}">{printer_info}</TD>
+</TR>
+<TR>
+<TH CLASS="label">Расположение:</TH>
+<TD><INPUT TYPE="HIDDEN" NAME="PRINTER_LOCATION" VALUE="{printer_location}">{printer_location}</TD>
+</TR>
+<TR>
+<TH CLASS="label">Подключение:</TH>
+<TD><INPUT TYPE="HIDDEN" NAME="DEVICE_URI" VALUE="{device_uri}">{device_uri}</TD>
+</TR>
+<TR>
+<TH CLASS="label">Совместный доступ:</TH>
+<TD><INPUT TYPE="HIDDEN" NAME="PRINTER_IS_SHARED" VALUE="{?printer_is_shared}">
+{?printer_is_shared=?Нет совместного доступа:{?printer_is_shared=0?Нет совместного доступа:Разрешить совместный доступ}} к этому принтеру</TD>
+</TR>
+<TR>
+<TH CLASS="label">Создать:</TH>
+<TD>
+<SELECT NAME="PPD_MAKE" SIZE="10">
+{[ppd_make]<OPTION VALUE="{ppd_make}" {?current_make={ppd_make}?SELECTED:}>{ppd_make}}
+</SELECT>
+</TD>
+</TR>
+<TR>
+<TD></TD>
+<TD><INPUT TYPE="SUBMIT" VALUE="Продолжить"></TD>
+</TR>
+<TR>
+<TD></TD>
+<TD>&nbsp;</TD>
+</TR>
+<TR>
+<TH CLASS="label">или использовать файл PPD:</TH>
+<TD><INPUT TYPE="HIDDEN" NAME="MAX_FILE_SIZE" VALUE="262144"><INPUT
+TYPE="FILE" NAME="PPD_FILE"></TD>
+</TR>
+<TR>
+<TD></TD>
+<TD><INPUT TYPE="SUBMIT" VALUE="{op=add-printer?Добавить принтер:Сохранить}"></TD>
+</TR>
+</TABLE>
+
+</FORM>
diff --git a/templates/ru/choose-model.tmpl b/templates/ru/choose-model.tmpl
new file mode 100644
index 000000000..2f0d6d9ba
--- /dev/null
+++ b/templates/ru/choose-model.tmpl
@@ -0,0 +1,57 @@
+<H2 CLASS="title">{op=modify-printer?Изменение {printer_name}:Добавление принтера}</H2>
+
+<FORM METHOD="POST" ACTION="/admin" ENCTYPE="multipart/form-data">
+<INPUT TYPE="HIDDEN" NAME="org.cups.sid" VALUE="{$org.cups.sid}">
+<INPUT TYPE="HIDDEN" NAME="OP" VALUE="{op}">
+{printer_name?<INPUT TYPE="HIDDEN" NAME="printer_name" VALUE="{printer_name}">:}
+<INPUT TYPE="HIDDEN" NAME="BAUDRATE" VALUE="{?baudrate}">
+<INPUT TYPE="HIDDEN" NAME="BITS" VALUE="{?bits}">
+<INPUT TYPE="HIDDEN" NAME="PARITY" VALUE="{?parity}">
+<INPUT TYPE="HIDDEN" NAME="FLOW" VALUE="{?flow}">
+<TABLE>
+{op=modify-printer?:<TR>
+<TH CLASS="label">Название:</TH>
+<TD><INPUT TYPE="HIDDEN" NAME="PRINTER_NAME" VALUE="{printer_name}">{printer_name}</TD>
+</TR>}
+<TR>
+<TH CLASS="label">Описание:</TH>
+<TD><INPUT TYPE="HIDDEN" NAME="PRINTER_INFO" VALUE="{printer_info}">{printer_info}</TD>
+</TR>
+<TR>
+<TH CLASS="label">Расположение:</TH>
+<TD><INPUT TYPE="HIDDEN" NAME="PRINTER_LOCATION" VALUE="{printer_location}">{printer_location}</TD>
+</TR>
+<TR>
+<TH CLASS="label">Подключение:</TH>
+<TD><INPUT TYPE="HIDDEN" NAME="DEVICE_URI" VALUE="{device_uri}">{device_uri}</TD>
+</TR>
+<TR>
+<TH CLASS="label">Совместный доступ:</TH>
+<TD><INPUT TYPE="HIDDEN" NAME="PRINTER_IS_SHARED" VALUE="{?printer_is_shared}">
+{?printer_is_shared=?Нет совместного доступа:{?printer_is_shared=0?Нет совместного доступа:Разрешить совместный доступ}} к этому принтеру</TD>
+</TR>
+<TR>
+<TH CLASS="label">Создать:</TH>
+<TD>{PPD_MAKE} <INPUT TYPE="SUBMIT" NAME="SELECT_MAKE" VALUE="Выбрать другую модель"></TD>
+</TR>
+<TR>
+<TH CLASS="label">Модель:</TH>
+<TD>
+<SELECT NAME="PPD_NAME" SIZE="10">
+{op=add-printer?:<OPTION VALUE="__no_change__" SELECTED>Текущий драйвер - {current_make_and_model}</OPTION>:}
+{[ppd_name]<OPTION VALUE="{ppd_name}" {op=modify-printer?:{?current_make_and_model={ppd_make_and_model}?SELECTED:}}>{ppd_make_and_model} ({ppd_natural_language})
+}</SELECT>
+</TD>
+</TR>
+<TR>
+<TH CLASS="label">или использовать файл PPD:</TH>
+<TD><INPUT TYPE="HIDDEN" NAME="MAX_FILE_SIZE" VALUE="262144"><INPUT
+TYPE="FILE" NAME="PPD_FILE"></TD>
+</TR>
+<TR>
+<TD></TD>
+<TD><INPUT TYPE="SUBMIT" VALUE="{op=add-printer?Добавить принтер:Сохранить}"></TD>
+</TR>
+</TABLE>
+
+</FORM>
diff --git a/templates/ru/choose-serial.tmpl b/templates/ru/choose-serial.tmpl
new file mode 100644
index 000000000..2c8d6c7fc
--- /dev/null
+++ b/templates/ru/choose-serial.tmpl
@@ -0,0 +1,49 @@
+<H2 CLASS="title">{op=modify-printer?Изменение {printer_name}:Добавление принтера}</H2>
+
+<FORM METHOD="POST" ACTION="/admin">
+<INPUT TYPE="HIDDEN" NAME="org.cups.sid" VALUE="{$org.cups.sid}">
+<INPUT TYPE="HIDDEN" NAME="OP" VALUE="{op}">
+{printer_name?<INPUT TYPE="HIDDEN" NAME="printer_name" VALUE="{printer_name}">:}
+
+<TABLE>
+<TR>
+<TH CLASS="label">Подключение:</TH>
+<TD><INPUT TYPE="HIDDEN" NAME="DEVICE_URI" VALUE="{device_uri}">{device_uri}</TD>
+</TR>
+<TR>
+<TH CLASS="label">Скорость передачи:</TH>
+<TD><SELECT NAME="BAUDRATE">
+{[baudrates]<OPTION {?baudrate={baudrates}?SELECTED:}>{baudrates}}
+</SELECT></TD>
+</TR>
+<TR>
+<TH CLASS="label">Четность:</TH>
+<TD><SELECT NAME="PARITY">
+<OPTION VALUE="none" {?parity=none?SELECTED:}>None
+<OPTION VALUE="even" {?parity=even?SELECTED:}>Even
+<OPTION VALUE="odd" {?parity=odd?SELECTED:}>Odd
+</SELECT></TD>
+</TR>
+<TR>
+<TH CLASS="label">Биты данных:</TH>
+<TD><SELECT NAME="BITS">
+<OPTION {?bits=8?SELECTED:}>8
+<OPTION {?bits=7?SELECTED:}>7
+</SELECT></TD>
+</TR>
+<TR>
+<TH CLASS="label">Управление:</TH>
+<TD><SELECT NAME="FLOW">
+<OPTION VALUE="none" {?flow=none?SELECTED:}>Нет
+<OPTION VALUE="soft" {?flow=soft?SELECTED:}>XON/XOFF (Программное)
+<OPTION VALUE="hard" {?flow=hard?SELECTED:}>RTS/CTS (Аппаратное)
+<OPTION VALUE="dtrdsr" {?flow=dtrdsr?SELECTED:}>DTR/DSR (Аппаратное)
+</SELECT></TD>
+</TR>
+<TR>
+<TD></TD>
+<TD><INPUT TYPE="SUBMIT" VALUE="Продолжить"></TD>
+</TR>
+</TABLE>
+
+</FORM>
diff --git a/templates/ru/choose-uri.tmpl b/templates/ru/choose-uri.tmpl
new file mode 100644
index 000000000..fff92319f
--- /dev/null
+++ b/templates/ru/choose-uri.tmpl
@@ -0,0 +1,40 @@
+<H2 CLASS="title">{op=modify-printer?Изменение {printer_name}:Добавление принтера}</H2>
+
+<FORM METHOD="POST" ACTION="/admin">
+<INPUT TYPE="HIDDEN" NAME="org.cups.sid" VALUE="{$org.cups.sid}">
+<INPUT TYPE="HIDDEN" NAME="OP" VALUE="{op}">
+{printer_name?<INPUT TYPE="HIDDEN" NAME="printer_name" VALUE="{printer_name}">:}
+<INPUT TYPE="HIDDEN" NAME="CURRENT_MAKE_AND_MODEL" VALUE="{?current_make_and_model}">
+
+<TABLE>
+<TR>
+<TH CLASS="label">Подключение:</TH>
+<TD><INPUT TYPE="URL" SIZE="60" MAXLENGTH="1023" NAME="DEVICE_URI" VALUE="{current_device_uri?{current_device_uri}:{device_uri}}"></TD>
+</TR>
+<TR>
+<TD></TD>
+<TD>Примеры:
+<PRE>
+ http://hostname:631/ipp/
+ http://hostname:631/ipp/port1
+
+ ipp://hostname/ipp/
+ ipp://hostname/ipp/port1
+
+ lpd://hostname/queue
+
+ socket://hostname
+ socket://hostname:9100
+</PRE>
+
+<P>Смотрите раздел <A HREF="/help/network.html" TARGET="_blank">"Сетевые принтеры"</A> для выяснения правильного адреса вашего принтера.</P>
+
+</TD>
+</TR>
+<TR>
+<TD></TD>
+<TD><INPUT TYPE="SUBMIT" VALUE="Продолжить"></TD>
+</TR>
+</TABLE>
+
+</FORM>
diff --git a/templates/ru/class-added.tmpl b/templates/ru/class-added.tmpl
new file mode 100644
index 000000000..f0bf6cd12
--- /dev/null
+++ b/templates/ru/class-added.tmpl
@@ -0,0 +1,3 @@
+<H2 CLASS="title">Новая группа</H2>
+
+<P>Группа <A HREF="/classes/{printer_name}">{printer_name}</A> успешно добавлена.
diff --git a/templates/ru/class-confirm.tmpl b/templates/ru/class-confirm.tmpl
new file mode 100644
index 000000000..9ea80aa50
--- /dev/null
+++ b/templates/ru/class-confirm.tmpl
@@ -0,0 +1,6 @@
+<H2 CLASS="title">Удаление группы {printer_name}</H2>
+
+<P><B>Предупреждение:</B> Вы действительно хотите удалить группу
+{printer_name}?</P>
+
+<P ALIGN="CENTER"><FORM ACTION="/admin/" METHOD="POST"><INPUT TYPE="HIDDEN" NAME="org.cups.sid" VALUE="{$org.cups.sid}"><INPUT TYPE="HIDDEN" NAME="op" VALUE="delete-class"><INPUT TYPE="HIDDEN" NAME="printer_name" VALUE="{printer_name}"><INPUT TYPE="SUBMIT" NAME="confirm" VALUE="Удалить группу"></FORM></P>
diff --git a/templates/ru/class-deleted.tmpl b/templates/ru/class-deleted.tmpl
new file mode 100644
index 000000000..c0b64d9cc
--- /dev/null
+++ b/templates/ru/class-deleted.tmpl
@@ -0,0 +1,3 @@
+<H2 CLASS="title">Удаление группы {printer_name}</H2>
+
+<P>Группа {printer_name} успешно удалена.
diff --git a/templates/ru/class-jobs-header.tmpl b/templates/ru/class-jobs-header.tmpl
new file mode 100644
index 000000000..8bcaa81b4
--- /dev/null
+++ b/templates/ru/class-jobs-header.tmpl
@@ -0,0 +1 @@
+<H3 CLASS="title">Задания</H3>
diff --git a/templates/ru/class-modified.tmpl b/templates/ru/class-modified.tmpl
new file mode 100644
index 000000000..5f23e08bd
--- /dev/null
+++ b/templates/ru/class-modified.tmpl
@@ -0,0 +1,3 @@
+<H2 CLASS="title">Изменение группы {printer_name}</H2>
+
+<P>Группа <A HREF="/classes/{printer_name}">{printer_name}</A> успешно изменена.
diff --git a/templates/ru/class.tmpl b/templates/ru/class.tmpl
new file mode 100644
index 000000000..a5aadff04
--- /dev/null
+++ b/templates/ru/class.tmpl
@@ -0,0 +1,41 @@
+<H2 CLASS="title"><A HREF="{printer_uri_supported}">{printer_name}</A>
+({printer_state=3?ожидает:{printer_state=4?печать:приостановлен}},
+{printer_is_accepting_jobs=0?не принимает задания:принимает задания},
+{server_is_sharing_printers=0?нет совместного доступа:{printer_is_shared=0?нет совместного доступа:разрешен совместный доступ}} {default_name={printer_name}?, Сервер по умолчанию:})</H2>
+
+<FORM METHOD="POST" ACTION="{printer_uri_supported}" NAME="maintenance">
+<INPUT TYPE="HIDDEN" NAME="org.cups.sid" VALUE="{$org.cups.sid}">
+<SELECT NAME="OP" ONCHANGE="document.maintenance.submit();">
+<OPTION VALUE="">Обслуживание</OPTION>
+<OPTION VALUE="print-test-page">Печать пробной страницы</OPTION>
+{printer_state=5?<OPTION VALUE="start-class">Включить группу</OPTION>:<OPTION VALUE="stop-class">Остановить группу</OPTION>}
+{printer_is_accepting_jobs=0?<OPTION VALUE="accept-jobs">Принимать задания</OPTION>:<OPTION VALUE="reject-jobs">Не принимать задания</OPTION>}
+<OPTION VALUE="move-jobs">Переместить все задания</OPTION>
+<OPTION VALUE="purge-jobs">Отменить все задания</OPTION>
+</SELECT>
+<INPUT TYPE="SUBMIT" VALUE="Go" STYLE="display: none;">
+</FORM>
+
+<FORM METHOD="POST" ACTION="{admin_uri}" NAME="administration">
+<INPUT TYPE="HIDDEN" NAME="org.cups.sid" VALUE="{$org.cups.sid}">
+<INPUT TYPE="HIDDEN" NAME="printer_name" VALUE="{printer_name}">
+<INPUT TYPE="HIDDEN" NAME="IS_CLASS" VALUE="1">
+<SELECT NAME="OP" ONCHANGE="document.administration.submit();">
+<OPTION VALUE="">Администрирование</OPTION>
+<OPTION VALUE="modify-class">Изменить группу</OPTION>
+<OPTION VALUE="delete-class">Удалить группу</OPTION>
+<OPTION VALUE="set-class-options">Установить параметры по умолчанию</OPTION>
+<OPTION VALUE="set-as-default">Установить как принтер по умолчанию</OPTION>
+<OPTION VALUE="set-allowed-users">Список разрешенных пользователей</OPTION>
+</SELECT>
+<INPUT TYPE="SUBMIT" VALUE="Go" STYLE="display: none;">
+</FORM>
+
+<TABLE SUMMARY="{printer_name}">
+<TR><TH ALIGN="RIGHT" VALIGN="TOP">Описание:</TH><TD>{printer_info}</TD></TR>
+<TR><TH ALIGN="RIGHT" VALIGN="TOP">Расположение:</TH><TD>{printer_location}</TD></TR>
+<TR><TH ALIGN="RIGHT" VALIGN="TOP">Состав:</TH><TD>{?member_uris=?Нет принтеров:{member_uris}}</TD></TR>
+<TR><TH ALIGN="RIGHT" VALIGN="TOP">По умолчанию:</TH><TD>job-sheets={job_sheets_default}
+media={media_default?{media_default}:неизвестный}
+{sides_default?sides={sides_default}:}</TD></TR>
+</TABLE>
diff --git a/templates/ru/classes-header.tmpl b/templates/ru/classes-header.tmpl
new file mode 100644
index 000000000..51012c500
--- /dev/null
+++ b/templates/ru/classes-header.tmpl
@@ -0,0 +1 @@
+<P ALIGN="CENTER">{total=0?Нет групп:Показать {#printer_name} из {total} группы{total=1?:es}}.</P>
diff --git a/templates/ru/classes.tmpl b/templates/ru/classes.tmpl
new file mode 100644
index 000000000..9b90b761c
--- /dev/null
+++ b/templates/ru/classes.tmpl
@@ -0,0 +1,11 @@
+{#printer_name=0?:
+<TABLE CLASS="list" SUMMARY="Список групп">
+<THEAD>
+<TR><TH><A HREF="{THISURL}?QUERY={?QUERY}&amp;WHICH_JOBS={?WHICH_JOBS}&amp;FIRST={FIRST}&amp;ORDER={ORDER=dec?asc:dec}">{ORDER=dec?<SMALL>&#x25b2;</SMALL> Наименование <SMALL>&#x25b2;</SMALL>:<SMALL>&#x25bc;</SMALL> Наименование <SMALL>&#x25bc;</SMALL>}</A></TH><TH>Описание</TH><TH>Расположение</TH><TH>Состав</TH><TH>Статус</TH></TR>
+</THEAD>
+<TBODY>
+{[printer_name]
+<TR><TD><A HREF="{printer_uri_supported}">{printer_name}</A></TD><TD>{printer_info}</TD><TD>{printer_location}</TD><TD>{?member_uris=?Нет принтеров:{member_uris}}</TD><TD>{printer_state=3?ожидает:{printer_state=4?печатает:приостановлен}}{printer_state_message? - "{printer_state_message}":}</TD></TR>
+}
+</TBODY>
+</TABLE></DIV>}
diff --git a/templates/ru/command.tmpl b/templates/ru/command.tmpl
new file mode 100644
index 000000000..09c26fd53
--- /dev/null
+++ b/templates/ru/command.tmpl
@@ -0,0 +1,8 @@
+<H2 CLASS="title">{title} для {printer_name}</H2>
+
+<P>{job_state>5?:<IMG SRC="/images/wait.gif" WIDTH="16" HEIGHT="16"
+ALIGN="ABSMIDDLE" ALT="Ожидание"> }Обработка задания
+{job_state=3?в очереди:{job_state=4?удерживается:
+{job_state=5?обрабатывается:{job_state=6?остановлено:
+{job_state=7?отменено:{job_state=8?прервано:завершено}}}}}}{job_state=9?:{job_printer_state_message?,
+<EM>"{job_printer_state_message}"</EM>:}}</P>
diff --git a/templates/ru/edit-config.tmpl b/templates/ru/edit-config.tmpl
new file mode 100644
index 000000000..69ebd0fe9
--- /dev/null
+++ b/templates/ru/edit-config.tmpl
@@ -0,0 +1,20 @@
+<SCRIPT TYPE="text/javascript">
+function reset_config()
+{
+ document.cups.CUPSDCONF.value = "{?cupsdconf_default}";
+}
+</SCRIPT>
+
+<H2 CLASS="title">Редактирование файла конфигурации</H2>
+
+<FORM NAME="cups" METHOD="POST" ACTION="/admin/">
+<INPUT TYPE="HIDDEN" NAME="org.cups.sid" VALUE="{$org.cups.sid}">
+<INPUT TYPE="HIDDEN" NAME="OP" VALUE="config-server">
+
+<TEXTAREA NAME="CUPSDCONF" COLS="80" ROWS="25">{CUPSDCONF}</TEXTAREA>
+
+<P><INPUT TYPE="SUBMIT" NAME="SAVECHANGES" VALUE="Сохранить изменения">
+<INPUT TYPE="BUTTON" VALUE="Отменить изменения"
+onClick="reset_config();"></P>
+
+</FORM>
diff --git a/templates/ru/error-op.tmpl b/templates/ru/error-op.tmpl
new file mode 100644
index 000000000..6e7dfb128
--- /dev/null
+++ b/templates/ru/error-op.tmpl
@@ -0,0 +1,5 @@
+<H2 CLASS="title">{?title} {?printer_name} - ошибка </H2>
+
+<P>Ошибка:</P>
+
+<BLOCKQUOTE>Неизвестная операция "{op}"!</BLOCKQUOTE>
diff --git a/templates/ru/error.tmpl b/templates/ru/error.tmpl
new file mode 100644
index 000000000..da563c35b
--- /dev/null
+++ b/templates/ru/error.tmpl
@@ -0,0 +1,5 @@
+<H2 CLASS="title">{?title} {?printer_name} - ошибка</H2>
+
+<P>{?message?{message}:Ошибка}:</P>
+
+<BLOCKQUOTE>{error}</BLOCKQUOTE>
diff --git a/templates/ru/header.tmpl.in b/templates/ru/header.tmpl.in
new file mode 100644
index 000000000..e5f068912
--- /dev/null
+++ b/templates/ru/header.tmpl.in
@@ -0,0 +1,43 @@
+<!DOCTYPE HTML>
+<html>
+ <head>
+ <link rel="stylesheet" href="/cups.css" type="text/css">
+ <link rel="shortcut icon" href="/apple-touch-icon.png" type="image/png">
+ <meta charset="utf-8">
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+ {refresh_page?<meta http-equiv="refresh" content="{refresh_page}">:}
+ <meta http-equiv="X-UA-Compatible" content="IE=9">
+ <meta name="viewport" content="width=device-width">
+ <style>html{display:none;}</style>
+ <script type="text/javascript"><!--
+ /* Only display document if we are not in a frame... */
+ if (self == top) {
+ document.documentElement.style.display = 'block';
+ } else {
+ top.location = self.location;
+ }
+
+ /* Show an error if cookies are disabled */
+ function check_cookies() {
+ if (!navigator.cookieEnabled) {
+ document.getElementById('body').innerHTML = 'Эта страница использует cookies. Пожалуйста включите cookies в вашем браузере.';
+ }
+ }
+ --></SCRIPT>
+ <title>{title} - CUPS @CUPS_VERSION@@CUPS_REVISION@</title>
+ </head>
+ <body onload="check_cookies();">
+ <div class="header">
+ <ul>
+ <li><a href="http://www.cups.org/" target="_blank">CUPS.org</a></li>
+ <li><a href="/">Начало</a></li>
+ <li><a {SECTION=admin?class="active" :}href="/admin">Администрирование</a></li>
+ <li><a {SECTION=classes?class="active" :}href="/classes/">Группы</a></li>
+ <li><a {SECTION=help?class="active" :}href="/help/">Справка</a></li>
+ <li><a {SECTION=jobs?class="active" :}href="/jobs/">Задания</a></li>
+ <li><a {SECTION=printers?class="active" :}href="/printers/">Принтеры</a></li>
+ </ul>
+ </div>
+ <div class="body">
+ <div class="row">
+ <h1>{title}</h1>
diff --git a/templates/ru/help-header.tmpl b/templates/ru/help-header.tmpl
new file mode 100644
index 000000000..fdd361ad4
--- /dev/null
+++ b/templates/ru/help-header.tmpl
@@ -0,0 +1,43 @@
+<FORM ACTION="/help/{?HELPFILE}" METHOD="GET">
+{TOPIC?<INPUT TYPE="HIDDEN" NAME="TOPIC" VALUE="{TOPIC}">:}
+
+<P ALIGN="CENTER"><B>Поиск
+{HELPTITLE?в {HELPTITLE}:{TOPIC?в {TOPIC}:по справке}}:</B> <INPUT
+TYPE="SEARCH" NAME="QUERY" VALUE="{?QUERY}" SIZE="40" PLACEHOLDER=""
+AUTOSAVE="org.cups.help" RESULTS="20">
+<INPUT TYPE="SUBMIT" NAME="SEARCH" VALUE="Поиск">
+<INPUT TYPE="SUBMIT" NAME="CLEAR" VALUE="Очистить"></P>
+
+</FORM>
+
+<!-- Bookmarks -->
+<DIV CLASS="sidebar"><TABLE CLASS="inset" SUMMARY="Содержание">
+<TR><TD>
+
+<H3 CLASS="title">Документация</H3>
+
+<P CLASS="l0"><A HREF="/help/{QUERY??QUERY={QUERY}:}">Все разделы</A></P>
+<HR>
+
+{[BMTEXT]<P CLASS="l{BMINDENT}"><A HREF="{BMLINK}">{BMTEXT}</A></P>
+}
+</TD></TR>
+</TABLE></DIV>
+
+{QUERY?<P>Результаты поиска в {HELPFILE?{HELPTITLE}:{TOPIC?{TOPIC}:всей справке}}\:</P>
+{QTEXT?<UL>
+{[QTEXT]<LI><A HREF="{QLINK}">{QTEXT}</A>{QPTEXT? (in <I><A HREF="{QPLINK}">{QPTEXT}</A></I>):}</LI>}
+{QTEXT?</UL>:}
+:<P>Не найдено совпадений.</P>}
+<HR NOSHADE>:}
+{HELPTITLE?<FORM ACTION="/help/{?HELPFILE}" METHOD="GET"><INPUT TYPE="HIDDEN" NAME="PRINTABLE" VALUE="YES"><INPUT TYPE="SUBMIT" VALUE="Показать версию для печати"></FORM>:
+
+<H1>Справка</H1>
+
+<P>Это справка CUPS. Введите выше слова для поиска в справке и нажмите "Поиск", чтобы показать результаты поиска.</P>
+
+<P>Если вы пока мало знакомы с CUPS, прочтите раздел "<a
+href="/help/overview.html">Введение в CUPS</a>". Опытные пользователи
+могут обратиться к разделу "<a href="/help/whatsnew.html">Что нового в CUPS 1.6</a>".</P>
+
+<P><A HREF="http://www.cups.org/">Веб-сайт CUPS</A> так же содержит большое количество ресурсов для пользователей, включая форум, ответы на часто задаваемые вопросы и форму для регистрации ошибок и пожеланий.</P>}
diff --git a/templates/ru/help-printable.tmpl b/templates/ru/help-printable.tmpl
new file mode 100644
index 000000000..2463c1630
--- /dev/null
+++ b/templates/ru/help-printable.tmpl
@@ -0,0 +1,9 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<HTML>
+<HEAD>
+ <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=utf-8">
+ <TITLE>{HELPTITLE}</TITLE>
+ <LINK REL="STYLESHEET" TYPE="text/css" HREF="/cups-printable.css">
+ <LINK REL="SHORTCUT ICON" HREF="/images/cups-icon.png" TYPE="image/png">
+</HEAD>
+<BODY>
diff --git a/templates/ru/job-cancel.tmpl b/templates/ru/job-cancel.tmpl
new file mode 100644
index 000000000..5cd5fd5be
--- /dev/null
+++ b/templates/ru/job-cancel.tmpl
@@ -0,0 +1,3 @@
+<H2 CLASS="title">Отмена задания {job_id}</H2>
+
+<P><A HREF="{job_printer_uri}">Задание {job_id}</A> отменено.
diff --git a/templates/ru/job-hold.tmpl b/templates/ru/job-hold.tmpl
new file mode 100644
index 000000000..ea56f5bc4
--- /dev/null
+++ b/templates/ru/job-hold.tmpl
@@ -0,0 +1,3 @@
+<H2 CLASS="title">Приостановка задания {job_id}</H2>
+
+<P><A HREF="{job_printer_uri}">Задание {job_id}</A> приостановлено.
diff --git a/templates/ru/job-move.tmpl b/templates/ru/job-move.tmpl
new file mode 100644
index 000000000..3c4e0be3f
--- /dev/null
+++ b/templates/ru/job-move.tmpl
@@ -0,0 +1,23 @@
+<FORM METHOD="POST" ACTION="/{SECTION}/{job_id?:{printer_name}}">
+<INPUT TYPE="HIDDEN" NAME="org.cups.sid" VALUE="{$org.cups.sid}">
+<INPUT TYPE="HIDDEN" NAME="OP" VALUE="{op}">
+{job_id?<INPUT TYPE="HIDDEN" NAME="JOB_ID" VALUE="{job_id}">:}
+
+<H2 CLASS="title">{job_id?Перемещение задания {job_id}:Перемещение всех заданий}</H2>
+
+<TABLE>
+<TR>
+<TH CLASS="label">Переместить на принтер:</TH>
+<TD>
+<SELECT NAME="JOB_PRINTER_URI" SIZE="10">
+{[job_printer_uri]<OPTION VALUE="{job_printer_uri}">{job_printer_name}}
+</SELECT>
+</TD>
+</TR>
+<TR>
+<TD></TD>
+<TD><INPUT TYPE="SUBMIT" VALUE="{job_id?Переместить задание:Переместить все задания}"></TD>
+</TR>
+</TABLE>
+
+</FORM>
diff --git a/templates/ru/job-moved.tmpl b/templates/ru/job-moved.tmpl
new file mode 100644
index 000000000..66ecf8e8d
--- /dev/null
+++ b/templates/ru/job-moved.tmpl
@@ -0,0 +1,4 @@
+<H2 CLASS="title">{job_id?Перемещение задания {job_id}:Перемещение всех заданий}</H2>
+
+<P>{job_id?<A HREF="/jobs/{job_id}">Задание {job_id}</A>:Все задания} перемещены на
+<A HREF="/{is_class?группы:принтеры}/{job_printer_name}">{job_printer_name}</A>.</P>
diff --git a/templates/ru/job-release.tmpl b/templates/ru/job-release.tmpl
new file mode 100644
index 000000000..379cd817b
--- /dev/null
+++ b/templates/ru/job-release.tmpl
@@ -0,0 +1,3 @@
+<H2 CLASS="title">Разблокирование задания {job_id}</H2>
+
+<P><A HREF="{job_printer_uri}">Задание {job_id}</A> разблокировано.
diff --git a/templates/ru/job-restart.tmpl b/templates/ru/job-restart.tmpl
new file mode 100644
index 000000000..2a1810cdc
--- /dev/null
+++ b/templates/ru/job-restart.tmpl
@@ -0,0 +1,3 @@
+<H2 CLASS="title">Перезапуск задания {job_id}</H2>
+
+<P><A HREF="{job_printer_uri}">Задание {job_id}</A> запущено заново.
diff --git a/templates/ru/jobs-header.tmpl b/templates/ru/jobs-header.tmpl
new file mode 100644
index 000000000..6692c44c5
--- /dev/null
+++ b/templates/ru/jobs-header.tmpl
@@ -0,0 +1,5 @@
+{?which_jobs=?:<FORM ACTION="{?printer_name=?/jobs:{printer_uri_supported}}" METHOD="GET"><INPUT TYPE="SUBMIT" VALUE="Показать активные задания"></FORM>}
+{?which_jobs=completed?:<FORM ACTION="{?printer_name=?/jobs:{printer_uri_supported}}" METHOD="GET"><INPUT TYPE="HIDDEN" NAME="which_jobs" VALUE="completed"><INPUT TYPE="SUBMIT" VALUE="Показать завершенные задания"></FORM>}
+{?which_jobs=all?:<FORM ACTION="{?printer_name=?/jobs:{printer_uri_supported}}" METHOD="GET"><INPUT TYPE="HIDDEN" NAME="which_jobs" VALUE="all"><INPUT TYPE="SUBMIT" VALUE="Показать все задания"></FORM>}
+
+<P ALIGN="CENTER">{total=0?Нет заданий:Задание {#job_id} из {total} {?which_jobs=?активных:{which_jobs=all?:завершенных}}}.</P>
diff --git a/templates/ru/jobs.tmpl b/templates/ru/jobs.tmpl
new file mode 100644
index 000000000..ce80fdba2
--- /dev/null
+++ b/templates/ru/jobs.tmpl
@@ -0,0 +1,36 @@
+{#job_id=0?:
+<TABLE CLASS="list" SUMMARY="Задания">
+<THEAD>
+<TR><TH><A HREF="{THISURL}?QUERY={?QUERY}&amp;WHICH_JOBS={?WHICH_JOBS}&amp;FIRST={FIRST}&amp;ORDER={ORDER=dec?asc:dec}">{ORDER=dec?<SMALL>&#x25b2;</SMALL> Номер <SMALL>&#x25b2;</SMALL>:<SMALL>&#x25bc;</SMALL> ID <SMALL>&#x25bc;</SMALL>}</A></TH><TH>Название</TH><TH>Пользователь</TH><TH>Размер</TH><TH>Страниц</TH><TH>Статус</TH><TH>Управление</TH></TR>
+</THEAD>
+<TBODY>
+{[job_id]
+<TR VALIGN="TOP">
+<TD><A HREF="{job_printer_uri}">{job_printer_name}</A>-{job_id}{?phone? ({phone}):}&nbsp;</TD>
+<TD>{?job_name=?Неизвестное:{job_name}}&nbsp;</TD>
+<TD>{?job_originating_user_name=?Приостановлено пользователем:{job_originating_user_name}}&nbsp;</TD>
+<TD>{job_k_octets}k&nbsp;</TD>
+<TD>{job_media_sheets_completed=0?Неизвестно:{?job_media_sheets_completed}}&nbsp;</TD>
+<TD>{job_state=3?В очереди<BR>{time_at_creation}:{job_state=4?Приостановлено с<BR>{time_at_creation}:
+{job_state=5?Создано<BR>{time_at_processing}:{job_state=6?Остановлено:
+{job_state=7?Отменено<BR>{time_at_completed}:{job_state=8?Прервано:Завершено<BR>{time_at_completed}}}}}}}&nbsp;{job_printer_state_message?<BR>
+<EM>"{job_printer_state_message}"</EM>:}</TD>
+<TD>
+{job_preserved>0?{job_state>5?
+<FORM ACTION="/jobs/" METHOD="POST"><INPUT TYPE="HIDDEN" NAME="org.cups.sid" VALUE="{$org.cups.sid}"><INPUT TYPE="HIDDEN" NAME="OP" VALUE="restart-job"><INPUT TYPE="HIDDEN" NAME="job_id" VALUE="{job_id}"><INPUT TYPE="HIDDEN" NAME="job_printer_uri" VALUE="{job_printer_uri}"><INPUT TYPE="SUBMIT" VALUE="Перезапустить"></FORM>:}:}
+{job_state=4?
+<FORM ACTION="/jobs/" METHOD="POST"><INPUT TYPE="HIDDEN" NAME="org.cups.sid" VALUE="{$org.cups.sid}"><INPUT TYPE="HIDDEN" NAME="OP" VALUE="release-job"><INPUT TYPE="HIDDEN" NAME="job_id" VALUE="{job_id}"><INPUT TYPE="HIDDEN" NAME="job_printer_uri" VALUE="{job_printer_uri}">
+<INPUT TYPE="SUBMIT" VALUE="Продолжить"></FORM>:}
+{job_state=3?
+<FORM ACTION="/jobs/" METHOD="POST"><INPUT TYPE="HIDDEN" NAME="org.cups.sid" VALUE="{$org.cups.sid}"><INPUT TYPE="HIDDEN" NAME="OP" VALUE="hold-job"><INPUT TYPE="HIDDEN" NAME="job_id" VALUE="{job_id}"><INPUT TYPE="HIDDEN" NAME="job_printer_uri" VALUE="{job_printer_uri}">
+<INPUT TYPE="SUBMIT" VALUE="Приостановить"></FORM>:}
+{job_state<7?
+<FORM ACTION="/jobs/" METHOD="POST"><INPUT TYPE="HIDDEN" NAME="org.cups.sid" VALUE="{$org.cups.sid}"><INPUT TYPE="HIDDEN" NAME="OP" VALUE="cancel-job"><INPUT TYPE="HIDDEN" NAME="job_id" VALUE="{job_id}"><INPUT TYPE="HIDDEN" NAME="job_printer_uri" VALUE="{job_printer_uri}">
+<INPUT TYPE="SUBMIT" VALUE="Отменить"></FORM>
+<FORM ACTION="/jobs/" METHOD="POST"><INPUT TYPE="HIDDEN" NAME="org.cups.sid" VALUE="{$org.cups.sid}"><INPUT TYPE="HIDDEN" NAME="OP" VALUE="move-job"><INPUT TYPE="HIDDEN" NAME="job_id" VALUE="{job_id}"><INPUT TYPE="SUBMIT" VALUE="Переместить"></FORM>:}
+&nbsp;</TD>
+</TR>
+}
+</TBODY>
+</TABLE>
+}
diff --git a/templates/ru/list-available-printers.tmpl b/templates/ru/list-available-printers.tmpl
new file mode 100644
index 000000000..651de12db
--- /dev/null
+++ b/templates/ru/list-available-printers.tmpl
@@ -0,0 +1,7 @@
+<H2 CLASS="title">Доступные принтеры</H2>
+
+{#device_uri=0?<P>Не обнаружено ни одного принтера.</P>
+:<UL>{[device_uri]
+<LI><FORM ACTION="/admin/" METHOD="POST"><INPUT TYPE="HIDDEN" NAME="org.cups.sid" VALUE="{$org.cups.sid}"><INPUT TYPE="HIDDEN" NAME="OP" VALUE="add-printer"><INPUT TYPE="HIDDEN" NAME="TEMPLATE_NAME" VALUE="{template_name}"><INPUT TYPE="HIDDEN" NAME="PRINTER_LOCATION" VALUE="Локальный принтер"><INPUT TYPE="HIDDEN" NAME="PRINTER_INFO" VALUE="{device_make_and_model}"><INPUT TYPE="HIDDEN" NAME="DEVICE_URI" VALUE="{device_uri}"><INPUT TYPE="SUBMIT" VALUE="Добавить этот принтер"></FORM>
+{device_make_and_model} ({device_info})</LI>
+}</UL>}
diff --git a/templates/ru/modify-class.tmpl b/templates/ru/modify-class.tmpl
new file mode 100644
index 000000000..6549bc6bc
--- /dev/null
+++ b/templates/ru/modify-class.tmpl
@@ -0,0 +1,31 @@
+<H2 CLASS="title">Изменение группы {printer_name}</H2>
+
+<FORM METHOD="POST" ACTION="/admin">
+<INPUT TYPE="HIDDEN" NAME="org.cups.sid" VALUE="{$org.cups.sid}">
+<INPUT TYPE="HIDDEN" NAME="OP" VALUE="{op}">
+<INPUT TYPE="HIDDEN" NAME="PRINTER_NAME" VALUE="{printer_name}">
+
+<TABLE>
+<TR>
+<TH CLASS="label">Описание:</TH>
+<TD><INPUT TYPE="TEXT" NAME="PRINTER_INFO" VALUE="{?printer_info}" SIZE="40" MAXLENGTH="127"></TD>
+</TR>
+<TR>
+<TH CLASS="label">Расположение:</TH>
+<TD><INPUT TYPE="TEXT" NAME="PRINTER_LOCATION" VALUE="{?printer_location}" SIZE="40" MAXLENGTH="127"></TD>
+</TR>
+<TR>
+<TH CLASS="label">Состав группы:</TH>
+<TD>
+<SELECT NAME="MEMBER_URIS" SIZE="10" MULTIPLE>
+{[member_uris]<OPTION VALUE="{member_uris}" {?member_selected}>{member_names}}
+</SELECT>
+</TD>
+</TR>
+<TR>
+<TD></TD>
+<TD><INPUT TYPE="SUBMIT" VALUE="Изменить группу"></TD>
+</TR>
+</TABLE>
+
+</FORM>
diff --git a/templates/ru/modify-printer.tmpl b/templates/ru/modify-printer.tmpl
new file mode 100644
index 000000000..b7371f822
--- /dev/null
+++ b/templates/ru/modify-printer.tmpl
@@ -0,0 +1,39 @@
+<H2 CLASS="title">Изменение принтера {printer_name}</H2>
+
+<FORM METHOD="POST" ACTION="/admin">
+<INPUT TYPE="HIDDEN" NAME="org.cups.sid" VALUE="{$org.cups.sid}">
+<INPUT TYPE="HIDDEN" NAME="OP" VALUE="{op}">
+<INPUT TYPE="HIDDEN" NAME="BAUDRATE" VALUE="{?baudrate}">
+<INPUT TYPE="HIDDEN" NAME="BITS" VALUE="{?bits}">
+<INPUT TYPE="HIDDEN" NAME="PARITY" VALUE="{?parity}">
+<INPUT TYPE="HIDDEN" NAME="FLOW" VALUE="{?flow}">
+<INPUT TYPE="HIDDEN" NAME="PRINTER_NAME" VALUE="{printer_name}">
+
+<TABLE>
+<TR>
+<TH CLASS="label">Описание:</TH>
+<TD><INPUT TYPE="TEXT" NAME="PRINTER_INFO" VALUE="{?printer_info}" SIZE="40" MAXLENGTH="127"><BR>
+<SMALL>(расширенное описание принтера, например, "HP LaserJet с дуплексной печатью")</SMALL></TD>
+</TR>
+<TR>
+<TH CLASS="label">Расположение:</TH>
+<TD><INPUT TYPE="TEXT" NAME="PRINTER_LOCATION" VALUE="{?printer_location}" SIZE="40" MAXLENGTH="127"><BR>
+<SMALL>(местоположение принтера, например, "Кабинет 55")</SMALL></TD>
+</TR>
+<TR>
+<TH CLASS="label">Подключение:</TH>
+<TD><INPUT TYPE="HIDDEN" NAME="DEVICE_URI" VALUE="{device_uri}">{device_uri}</TD>
+</TR>
+<TR>
+<TH CLASS="label">Совместный доступ:</TH>
+<TD><INPUT TYPE="CHECKBOX" NAME="PRINTER_IS_SHARED" {PRINTER_IS_SHARED=1?CHECKED:}>
+Разрешить совместный доступ к этому принтеру</TD>
+</TR>
+<TR>
+<TR>
+<TD></TD>
+<TD><INPUT TYPE="SUBMIT" VALUE="Продолжить"></TD>
+</TR>
+</TABLE>
+
+</FORM>
diff --git a/templates/ru/norestart.tmpl b/templates/ru/norestart.tmpl
new file mode 100644
index 000000000..b56797688
--- /dev/null
+++ b/templates/ru/norestart.tmpl
@@ -0,0 +1,3 @@
+<H2 CLASS="title">Применение изменений</H2>
+
+<P>Сервер не был перезапущен,поскольку не произошло изменений в конфигурации...</P>
diff --git a/templates/ru/option-boolean.tmpl b/templates/ru/option-boolean.tmpl
new file mode 100644
index 000000000..e832ee102
--- /dev/null
+++ b/templates/ru/option-boolean.tmpl
@@ -0,0 +1,6 @@
+<TR>
+<TH {conflicted=1?CLASS="conflict":CLASS="label"} WIDTH="50%"><A NAME="{keyword}">{keytext}</A>:</TH>
+<TD>
+{[choices]<INPUT TYPE="RADIO" NAME="{keyword-1}" {choices={defchoice-1}?CHECKED:} VALUE="{choices}">{text}}
+</TD>
+</TR>
diff --git a/templates/ru/option-conflict.tmpl b/templates/ru/option-conflict.tmpl
new file mode 100644
index 000000000..9497fb777
--- /dev/null
+++ b/templates/ru/option-conflict.tmpl
@@ -0,0 +1,7 @@
+<P><B>Ошибка:</B> следующие параметры конфликтуют:</P>
+
+<UL>
+{[ckeyword]<LI><A HREF="#{ckeyword}">{ckeytext}</A>: {cchoice}</LI>
+}</UL>
+
+<P>Измените один или несколько параметров для того, чтобы избежать конфликта.</P>
diff --git a/templates/ru/option-header.tmpl b/templates/ru/option-header.tmpl
new file mode 100644
index 000000000..464726a50
--- /dev/null
+++ b/templates/ru/option-header.tmpl
@@ -0,0 +1,5 @@
+<DIV CLASS="tab" ID="{group_id}">
+
+<H3 ALIGN="CENTER">{group}</H3>
+
+<TABLE WIDTH="100%">
diff --git a/templates/ru/option-pickmany.tmpl b/templates/ru/option-pickmany.tmpl
new file mode 100644
index 000000000..0da75e5d2
--- /dev/null
+++ b/templates/ru/option-pickmany.tmpl
@@ -0,0 +1,6 @@
+<TR>
+<TH {conflicted=1?CLASS="conflict":CLASS="label"} WIDTH="50%"><A NAME="{keyword}">{keytext}</A>:</TH>
+<TD><SELECT NAME="{keyword}" MULTIPLE SIZE="10">
+{[choices]<OPTION {choices={defchoice-1}?SELECTED:} VALUE="{choices}">{text}}
+</SELECT></TD>
+</TR>
diff --git a/templates/ru/option-pickone.tmpl b/templates/ru/option-pickone.tmpl
new file mode 100644
index 000000000..49a9929ae
--- /dev/null
+++ b/templates/ru/option-pickone.tmpl
@@ -0,0 +1,18 @@
+<TR>
+<TH {conflicted=1?CLASS="conflict":CLASS="label"} WIDTH="50%"><A NAME="{keyword}">{keytext}</A>:</TH>
+<TD><SELECT NAME="{keyword}" ID="select-{keyword}" ONCHANGE="update_paramtable('{keyword}')">
+{[choices]<OPTION {choices={defchoice-1}?SELECTED:} VALUE="{choices}">{text}}
+</SELECT>
+{iscustom=1?<TABLE NAME="paramtable" id="{keyword}-params">{[params]
+<TR><TH CLASS="sublabel">{paramtext}:</TH>
+<TD>{params=Units?<SELECT NAME="{keyword-1}.{params}">
+<OPTION VALUE="pt"{paramvalue=pt? SELECTED:}>Пункты</OPTION>
+<OPTION VALUE="mm"{paramvalue=mm? SELECTED:}>Миллиметры</OPTION>
+<OPTION VALUE="cm"{paramvalue=cm? SELECTED:}>Сантиметры</OPTION>
+<OPTION VALUE="in"{paramvalue=in? SELECTED:}>Дюймы</OPTION>
+<OPTION VALUE="ft"{paramvalue=ft? SELECTED:}>Футы</OPTION>
+<OPTION VALUE="m"{paramvalue=m? SELECTED:}>Метры</OPTION>
+</SELECT>:<INPUT TYPE="{inputtype}" NAME="{keyword-1}.{params}" VALUE="{paramvalue}">}</TD></TR>
+}</TABLE>
+</TD>:}
+</TR>
diff --git a/templates/ru/option-trailer.tmpl b/templates/ru/option-trailer.tmpl
new file mode 100644
index 000000000..9fb252e4b
--- /dev/null
+++ b/templates/ru/option-trailer.tmpl
@@ -0,0 +1,5 @@
+</TABLE>
+
+<P ALIGN="CENTER"><INPUT TYPE="SUBMIT" VALUE="Сохранить параметры"></P>
+
+</DIV> \ No newline at end of file
diff --git a/templates/ru/pager.tmpl b/templates/ru/pager.tmpl
new file mode 100644
index 000000000..0d0459b16
--- /dev/null
+++ b/templates/ru/pager.tmpl
@@ -0,0 +1,6 @@
+<TABLE CLASS="inset" SUMMARY="Просмотр по страницам">
+<TR>
+ <TD WIDTH="50%">{PREV?<FORM ACTION="{THISURL}" METHOD="GET"><INPUT TYPE="HIDDEN" NAME="QUERY" VALUE="{?QUERY}"><INPUT TYPE="HIDDEN" NAME="ORDER" VALUE="{?ORDER}"><INPUT TYPE="HIDDEN" NAME="WHICH_JOBS" VALUE="{?WHICH_JOBS}"><INPUT TYPE="HIDDEN" NAME="FIRST" VALUE="{PREV}"><INPUT TYPE="SUBMIT" VALUE="&#x25c0; Предыдущая"></FORM>:&nbsp;}</TD>
+ <TD WIDTH="50%" ALIGN="RIGHT">{NEXT?<FORM ACTION="{THISURL}" METHOD="GET"><INPUT TYPE="HIDDEN" NAME="QUERY" VALUE="{?QUERY}"><INPUT TYPE="HIDDEN" NAME="ORDER" VALUE="{?ORDER}"><INPUT TYPE="HIDDEN" NAME="WHICH_JOBS" VALUE="{?WHICH_JOBS}"><INPUT TYPE="HIDDEN" NAME="FIRST" VALUE="{NEXT}"><INPUT TYPE="SUBMIT" VALUE="Следующая &#x25b6;"></FORM>:&nbsp;}</TD>
+</TR>
+</TABLE>
diff --git a/templates/ru/printer-accept.tmpl b/templates/ru/printer-accept.tmpl
new file mode 100644
index 000000000..4818dff5e
--- /dev/null
+++ b/templates/ru/printer-accept.tmpl
@@ -0,0 +1,5 @@
+<H2 CLASS="title">Прием заданий {is_class?в группу:на принтер} {printer_name}</H2>
+
+<P>{is_class?Группа:Принтер} <A
+HREF="/{is_class?classes:printers}/{printer_name}">{printer_name}</A>
+теперь принимает задания.</P>
diff --git a/templates/ru/printer-added.tmpl b/templates/ru/printer-added.tmpl
new file mode 100644
index 000000000..c2b3df2fe
--- /dev/null
+++ b/templates/ru/printer-added.tmpl
@@ -0,0 +1,3 @@
+<H2 CLASS="title">Добавить принтер</H2>
+
+<P>Принтер <A HREF="/printers/{printer_name}">{printer_name}</A> успешно добавлен.
diff --git a/templates/ru/printer-cancel-jobs.tmpl b/templates/ru/printer-cancel-jobs.tmpl
new file mode 100644
index 000000000..cd2ad45b1
--- /dev/null
+++ b/templates/ru/printer-cancel-jobs.tmpl
@@ -0,0 +1,5 @@
+<H2 CLASS="title">Отмена заданий для {is_class?Class:Printer} {printer_name}</H2>
+
+<P>Все задания для {is_class?class:printer} <A
+HREF="/{is_class?classes:printers}/{printer_name}">{printer_name}</A>
+были отменены.</P>
diff --git a/templates/ru/printer-configured.tmpl b/templates/ru/printer-configured.tmpl
new file mode 100644
index 000000000..74da09504
--- /dev/null
+++ b/templates/ru/printer-configured.tmpl
@@ -0,0 +1,4 @@
+<H2 CLASS="title">Настройки по умолчанию для {printer_name}</H2>
+
+<P>{OP=set-class-options?Группа <A HREF="/classes/{printer_name}">:Принтер <A HREF="/printers/{printer_name}">}{printer_name}</A>
+теперь использует параметры по умолчанию.
diff --git a/templates/ru/printer-confirm.tmpl b/templates/ru/printer-confirm.tmpl
new file mode 100644
index 000000000..3d502d3d3
--- /dev/null
+++ b/templates/ru/printer-confirm.tmpl
@@ -0,0 +1,6 @@
+<H2 CLASS="title">Удаление принтера {printer_name}</H2>
+
+<P><B>Предупреждение:</B> вы действительно хотите удалить принтер
+{printer_name}?</P>
+
+<P ALIGN="CENTER"><FORM ACTION="/admin/" METHOD="POST"><INPUT TYPE="HIDDEN" NAME="org.cups.sid" VALUE="{$org.cups.sid}"><INPUT TYPE="HIDDEN" NAME="OP" VALUE="delete-printer"><INPUT TYPE="HIDDEN" NAME="printer_name" VALUE="{printer_name}"><INPUT TYPE="SUBMIT" NAME="confirm" VALUE="Удалить принтер"></FORM></P>
diff --git a/templates/ru/printer-default.tmpl b/templates/ru/printer-default.tmpl
new file mode 100644
index 000000000..fd771399a
--- /dev/null
+++ b/templates/ru/printer-default.tmpl
@@ -0,0 +1,8 @@
+<H2 CLASS="title">Установка {is_class?группы:принтера} {printer_name} по умолчанию</H2>
+
+<P>{is_class?Группа:Принтер} <A
+HREF="/{is_class?classes:printers}/{printer_name}">{printer_name}</A>
+установлены на сервере по умолчанию для новых заданий.</P>
+
+<BLOCKQUOTE><B>Примечания:</B> вы можете переопределить это поведение с помощью команды
+ <TT>lpoptions</TT>.</BLOCKQUOTE>
diff --git a/templates/ru/printer-deleted.tmpl b/templates/ru/printer-deleted.tmpl
new file mode 100644
index 000000000..4b280272f
--- /dev/null
+++ b/templates/ru/printer-deleted.tmpl
@@ -0,0 +1,3 @@
+<H2 CLASS="title">Удаление принтера {printer_name}</H2>
+
+<P>Принтер {printer_name} успешно удален.
diff --git a/templates/ru/printer-jobs-header.tmpl b/templates/ru/printer-jobs-header.tmpl
new file mode 100644
index 000000000..8bcaa81b4
--- /dev/null
+++ b/templates/ru/printer-jobs-header.tmpl
@@ -0,0 +1 @@
+<H3 CLASS="title">Задания</H3>
diff --git a/templates/ru/printer-modified.tmpl b/templates/ru/printer-modified.tmpl
new file mode 100644
index 000000000..93df27214
--- /dev/null
+++ b/templates/ru/printer-modified.tmpl
@@ -0,0 +1,3 @@
+<H2 CLASS="title">Изменение принтера {printer_name}</H2>
+
+<P>Параметры принтера <A HREF="/printers/{printer_name}">{printer_name}</A> успешно изменены. \ No newline at end of file
diff --git a/templates/ru/printer-reject.tmpl b/templates/ru/printer-reject.tmpl
new file mode 100644
index 000000000..d8a4722a5
--- /dev/null
+++ b/templates/ru/printer-reject.tmpl
@@ -0,0 +1,5 @@
+<H2 CLASS="title">Отмена заданий для {is_class?группы:принтера} {printer_name}</H2>
+
+<P>{is_class?Группа:Принтер} <A
+HREF="/{is_class?classes:printers}/{printer_name}">{printer_name}</A>
+больше не принимает задания.</P>
diff --git a/templates/ru/printer-start.tmpl b/templates/ru/printer-start.tmpl
new file mode 100644
index 000000000..d7e8fb805
--- /dev/null
+++ b/templates/ru/printer-start.tmpl
@@ -0,0 +1,5 @@
+<H2 CLASS="title">Возобновить работу {is_class?группы:принтера} {printer_name}</H2>
+
+<P>{is_class?Группа:Принтер} <A
+HREF="/{is_class?classes:printers}/{printer_name}">{printer_name}</A>
+теперь принимает задания.</P>
diff --git a/templates/ru/printer-stop.tmpl b/templates/ru/printer-stop.tmpl
new file mode 100644
index 000000000..d9b503526
--- /dev/null
+++ b/templates/ru/printer-stop.tmpl
@@ -0,0 +1,5 @@
+<H2 CLASS="title">Приостановить {is_class?группу:принтер} {printer_name}</H2>
+
+<P>{is_class?Группа:Принтер} <A
+HREF="/{is_class?classes:printers}/{printer_name}">{printer_name}</A>
+{is_class?была приостановлена:был приостановлен}.</P>
diff --git a/templates/ru/printer.tmpl b/templates/ru/printer.tmpl
new file mode 100644
index 000000000..a2e9b40d3
--- /dev/null
+++ b/templates/ru/printer.tmpl
@@ -0,0 +1,43 @@
+<H2 CLASS="title"><A HREF="{printer_uri_supported}">{printer_name}</A>
+({printer_state=3?ожидает:{printer_state=4?печать:приостановлен}},
+{printer_is_accepting_jobs=0?не принимает задания:принимает задания},
+{server_is_sharing_printers=0?нет совместного доступа:{printer_is_shared=0?нет совместного доступа:разрешен совместный доступ}} {default_name={printer_name}?, По умолчанию:})</H2>
+
+<FORM METHOD="POST" ACTION="{printer_uri_supported}" NAME="maintenance">
+<INPUT TYPE="HIDDEN" NAME="org.cups.sid" VALUE="{$org.cups.sid}">
+<SELECT NAME="OP" ONCHANGE="document.maintenance.submit();">
+<OPTION VALUE="">Обслуживание</OPTION>
+<OPTION VALUE="print-test-page">Печать пробной страницы</OPTION>
+{printer_commands~.*Clean.*?<OPTION VALUE="clean-print-heads">Очистить головки</OPTION>:}
+{printer_commands~.*PrintSelfTestPage.*?<OPTION VALUE="print-self-test-page">Печать пробной страницы принтера</OPTION>:}
+{printer_state=5?<OPTION VALUE="start-printer">Восстановить печать</OPTION>:<OPTION VALUE="stop-printer">Приостановить принтер</OPTION>}
+{printer_is_accepting_jobs=0?<OPTION VALUE="accept-jobs">Принимать задания</OPTION>:<OPTION VALUE="reject-jobs">Не принимать задания</OPTION>}
+<OPTION VALUE="move-jobs">Переместить все задания</OPTION>
+<OPTION VALUE="purge-jobs">Отменить все задания</OPTION>
+</SELECT>
+<NOSCRIPT><INPUT TYPE="SUBMIT" VALUE="Go"></NOSCRIPT>
+</FORM>
+
+<FORM METHOD="POST" ACTION="{admin_uri}" NAME="administration">
+<INPUT TYPE="HIDDEN" NAME="org.cups.sid" VALUE="{$org.cups.sid}">
+<INPUT TYPE="HIDDEN" NAME="printer_name" VALUE="{printer_name}">
+<SELECT NAME="OP" ONCHANGE="document.administration.submit();">
+<OPTION VALUE="">Администрирование</OPTION>
+<OPTION VALUE="modify-printer">Изменить принтер</OPTION>
+<OPTION VALUE="delete-printer">Удалить принтер</OPTION>
+<OPTION VALUE="set-printer-options">Установить параметры по умолчанию</OPTION>
+<OPTION VALUE="set-as-default">Установить как принтер по умолчанию</OPTION>
+<OPTION VALUE="set-allowed-users">Список разрешенных пользователей</OPTION>
+</SELECT>
+<NOSCRIPT><INPUT TYPE="SUBMIT" VALUE="Go"></NOSCRIPT>
+</FORM>
+
+<TABLE SUMMARY="{printer_name}">
+<TR><TH ALIGN="RIGHT" VALIGN="TOP">Описание:</TH><TD>{printer_info}</TD></TR>
+<TR><TH ALIGN="RIGHT" VALIGN="TOP">Расположение:</TH><TD>{printer_location}</TD></TR>
+<TR><TH ALIGN="RIGHT" VALIGN="TOP">Драйвер:</TH><TD>{printer_make_and_model} ({color_supported=1?цветной:черно-белый}{sides_supported=one-sided?:, дуплексная печать})<BR>
+<TR><TH ALIGN="RIGHT" VALIGN="TOP">Подключение:</TH><TD>{device_uri}</TD></TR>
+<TR><TH ALIGN="RIGHT" VALIGN="TOP">По умолчанию:</TH><TD>job-sheets={job_sheets_default}
+media={media_default?{media_default}:unknown}
+{sides_default?sides={sides_default}:}</TD></TR>
+</TABLE>
diff --git a/templates/ru/printers-header.tmpl b/templates/ru/printers-header.tmpl
new file mode 100644
index 000000000..6621e067d
--- /dev/null
+++ b/templates/ru/printers-header.tmpl
@@ -0,0 +1 @@
+<P ALIGN="CENTER">{total=0?Нет принтеров:Принтер {#printer_name} из {total}}.</P>
diff --git a/templates/ru/printers.tmpl b/templates/ru/printers.tmpl
new file mode 100644
index 000000000..939835c19
--- /dev/null
+++ b/templates/ru/printers.tmpl
@@ -0,0 +1,11 @@
+{#printer_name=0?:
+<TABLE CLASS="list" SUMMARY="Список принтеров">
+<THEAD>
+<TR><TH><A HREF="{THISURL}?QUERY={?QUERY}&amp;WHICH_JOBS={?WHICH_JOBS}&amp;FIRST={FIRST}&amp;ORDER={ORDER=dec?asc:dec}">{ORDER=dec?<SMALL>&#x25b2;</SMALL> Наименование <SMALL>&#x25b2;</SMALL>:<SMALL>&#x25bc;</SMALL> Наименование <SMALL>&#x25bc;</SMALL>}</A></TH><TH>Описание</TH><TH>Расположение</TH><TH>Драйвер</TH><TH>Статус</TH></TR>
+</THEAD>
+<TBODY>
+{[printer_name]
+<TR><TD><A HREF="{printer_uri_supported}">{printer_name}</A></TD><TD>{printer_info}</TD><TD>{printer_location}</TD><TD>{printer_make_and_model}</TD><TD>{printer_state=3?ожидает:{printer_state=4?печатает:приостановлен}}{printer_state_message? - "{printer_state_message}":}</TD></TR>
+}
+</TBODY>
+</TABLE></DIV>}
diff --git a/templates/ru/restart.tmpl b/templates/ru/restart.tmpl
new file mode 100644
index 000000000..c8fb26581
--- /dev/null
+++ b/templates/ru/restart.tmpl
@@ -0,0 +1,4 @@
+<H2 CLASS="title">Применение изменений параметров</H2>
+
+<P><IMG SRC="data:image/gif;base64,R0lGODlhEAAQAIQAAP///wAAAPDw8IqKiuDg4EZGRnp6egAAAFhYWCQkJKysrL6+vhQUFJycnAQEBDY2NmhoaP///////////////////////////////////////////////////////////yH/C05FVFNDQVBFMi4wAwEAAAAh+QQABQD/ACwAAAAAEAAQAAAFdyAgAgIJIeWoAkRCCMdBkKtIHIngyMKsErPBYbADpkSCwhDmQCBethRB6Vj4kFCkQPG4IlWDgrNRIwnO4UKBXDufzQvDMaoSDBgFb886MiQadgNABAokfCwzBA8LCg0Egl8jAggGAA1kBIA1BAYzlyILczULC2UhACH5BAEFAB8ALAAAAAAQABAAAAV2ICACAmlAZTmOREEIyUEQjLKKxPHADhEvqxlgcGgkGI1DYSVAIAWMx+lwSKkICJ0QsHi9RgKBwnVTiRQQgwF4I4UFDQQEwi6/3YSGWRRmjhEETAJfIgMFCnAKM0KDV4EEEAQLiF18TAYNXDaSe3x6mjidN1s3IQAh+QQBBQAfACwAAAAAEAAQAAAFeCAgAgLZDGU5jgRECEUiCI+yioSDwDJyLKsXoHFQxBSHAoAAFBhqtMJg8DgQBgfrEsJAEAg4YhZIEiwgKtHiMBgtpg3wbUZXGO7kOb1MUKRFMysCChAoggJCIg0GC2aNe4gqQldfL4l/Ag1AXySJgn5LcoE3QXI3IQAh+QQBBQAfACwAAAAAEAAQAAAFdiAgAgLZNGU5joQhCEjxIssqEo8bC9BRjy9Ag7GILQ4QEoE0gBAEBcOpcBA0DoxSK/e8LRIHn+i1cK0IyKdg0VAoljYIg+GgnRrwVS/8IAkICyosBIQpBAMoKy9dImxPhS+GKkFrkX+TigtLlIyKXUF+NjagNiEAIfkEAQUAHwAsAAAAABAAEAAABWwgIAICaRhlOY4EIgjH8R7LKhKHGwsMvb4AAy3WODBIBBKCsYA9TjuhDNDKEVSERezQEL0WrhXucRUQGuik7bFlngzqVW9LMl9XWvLdjFaJtDFqZ1cEZUB0dUgvL3dgP4WJZn4jkomWNpSTIyEAIfkEAQUAHwAsAAAAABAAEAAABX4gIAICuSxlOY6CIgiD8RrEKgqGOwxwUrMlAoSwIzAGpJpgoSDAGifDY5kopBYDlEpAQBwevxfBtRIUGi8xwWkDNBCIwmC9Vq0aiQQDQuK+VgQPDXV9hCJjBwcFYU5pLwwHXQcMKSmNLQcIAExlbH8JBwttaX0ABAcNbWVbKyEAIfkEAQUAHwAsAAAAABAAEAAABXkgIAICSRBlOY7CIghN8zbEKsKoIjdFzZaEgUBHKChMJtRwcWpAWoWnifm6ESAMhO8lQK0EEAV3rFopIBCEcGwDKAqPh4HUrY4ICHH1dSoTFgcHUiZjBhAJB2AHDykpKAwHAwdzf19KkASIPl9cDgcnDkdtNwiMJCshACH5BAEFAB8ALAAAAAAQABAAAAV3ICACAkkQZTmOAiosiyAoxCq+KPxCNVsSMRgBsiClWrLTSWFoIQZHl6pleBh6suxKMIhlvzbAwkBWfFWrBQTxNLq2RG2yhSUkDs2b63AYDAoJXAcFRwADeAkJDX0AQCsEfAQMDAIPBz0rCgcxky0JRWE1AmwpKyEAIfkEAQUAHwAsAAAAABAAEAAABXkgIAICKZzkqJ4nQZxLqZKv4NqNLKK2/Q4Ek4lFXChsg5ypJjs1II3gEDUSRInEGYAw6B6zM4JhrDAtEosVkLUtHA7RHaHAGJQEjsODcEg0FBAFVgkQJQ1pAwcDDw8KcFtSInwJAowCCA6RIwqZAgkPNgVpWndjdyohACH5BAEFAB8ALAAAAAAQABAAAAV5ICACAimc5KieLEuUKvm2xAKLqDCfC2GaO9eL0LABWTiBYmA06W6kHgvCqEJiAIJiu3gcvgUsscHUERm+kaCxyxa+zRPk0SgJEgfIvbAdIAQLCAYlCj4DBw0IBQsMCjIqBAcPAooCBg9pKgsJLwUFOhCZKyQDA3YqIQAh+QQBBQAfACwAAAAAEAAQAAAFdSAgAgIpnOSonmxbqiThCrJKEHFbo8JxDDOZYFFb+A41E4H4OhkOipXwBElYITDAckFEOBgMQ3arkMkUBdxIUGZpEb7kaQBRlASPg0FQQHAbEEMGDSVEAA1QBhAED1E0NgwFAooCDWljaQIQCE5qMHcNhCkjIQAh+QQBBQAfACwAAAAAEAAQAAAFeSAgAgIpnOSoLgxxvqgKLEcCC65KEAByKK8cSpA4DAiHQ/DkKhGKh4ZCtCyZGo6F6iYYPAqFgYy02xkSaLEMV34tELyRYNEsCQyHlvWkGCzsPgMCEAY7Cg04Uk48LAsDhRA8MVQPEF0GAgqYYwSRlycNcWskCkApIyEAOw==" WIDTH="16" HEIGHT="16" ALIGN="ABSMIDDLE"
+ALT="Ожидание"> Дождитесь перезапуска сервера...</P>
diff --git a/templates/ru/samba-export.tmpl b/templates/ru/samba-export.tmpl
new file mode 100644
index 000000000..641ca0b01
--- /dev/null
+++ b/templates/ru/samba-export.tmpl
@@ -0,0 +1,53 @@
+<SCRIPT TYPE="text/javascript"><!--
+function select_printers() {
+ var list = document.export_samba.EXPORT_NAME;
+ var sel = document.export_samba.EXPORT_ALL.checked;
+
+ for (i = 0; i < list.length; i ++) {
+ list.options[i].selected = sel;
+ }
+}
+--></SCRIPT>
+
+<FORM METHOD="POST" ACTION="/admin/" NAME="export_samba">
+<INPUT TYPE="HIDDEN" NAME="org.cups.sid" VALUE="{$org.cups.sid}">
+<INPUT TYPE="HIDDEN" NAME="OP" VALUE="export-samba">
+
+<H2 CLASS="title">Экспорт принтеров в Samba</H2>
+
+{error?<P>Невозможно экспортировать принтеры в Samba\:</P>
+<BLOCKQUOTE>{error}</BLOCKQUOTE>
+<P>Посмотрите файл <A HREF="/admin/log/error_log"
+TARGET="_blank">error_log</A> для более подробной информации.</P>:
+<P>Эта страница позволяет добавить принтеры в Samba так, чтобы
+клиенты Windows могли получить доступ к ним через значок <VAR>Сетевое окружение</VAR> или <VAR>Сетевые подключения</VAR> на их рабочем столе. Вы должны установить на Windows драйвер принтера PostScript
+как описано на странице руководства <A
+HREF="/help/man-cupsaddsmb.html"
+TARGET="_blank">cupsaddsmb(8)</A>.</P>}
+
+<TABLE>
+<TR>
+<TH CLASS="label">Принтеры:</TH>
+<TD>
+<SELECT NAME="EXPORT_NAME" SIZE="10" MULTIPLE>
+{[printer_name]<OPTION VALUE="{printer_name}"{export_all? SELECTED:{printer_export? SELECTED:}}>{printer_name}}
+</SELECT><BR>
+<INPUT TYPE="CHECKBOX" NAME="EXPORT_ALL"{export_all? CHECKED:}
+onChange="select_printers()"> Экспортировать все принтеры
+</TD>
+</TR>
+<TR>
+<TH CLASS="label">Имя пользователя Samba:</TH>
+<TD><INPUT TYPE="TEXT" NAME="USERNAME" VALUE="{?USERNAME}"> (обязательный параметр)</TD>
+</TR>
+<TR>
+<TH CLASS="label">Пароль Samba:</TH>
+<TD><INPUT TYPE="PASSWORD" NAME="PASSWORD" VALUE=""> (обязательный параметр)</TD>
+</TR>
+<TR>
+<TD></TD>
+<TD><INPUT TYPE="SUBMIT" VALUE="Экспортировать принтеры в Samba"></TD>
+</TR>
+</TABLE>
+
+</FORM>
diff --git a/templates/ru/samba-exported.tmpl b/templates/ru/samba-exported.tmpl
new file mode 100644
index 000000000..179b2ad8a
--- /dev/null
+++ b/templates/ru/samba-exported.tmpl
@@ -0,0 +1 @@
+<P>Принтеры успешно экспортированы в Samba.</P>
diff --git a/templates/ru/search.tmpl b/templates/ru/search.tmpl
new file mode 100644
index 000000000..b5f136c87
--- /dev/null
+++ b/templates/ru/search.tmpl
@@ -0,0 +1,10 @@
+<FORM ACTION="/{SECTION}/{?SEARCH_DEST}" METHOD="GET">
+{WHICH_JOBS?<INPUT TYPE="HIDDEN" NAME="WHICH_JOBS" VALUE="{WHICH_JOBS}">:}
+{ORDER?<INPUT TYPE="HIDDEN" NAME="ORDER" VALUE="{ORDER}">:}
+
+<P ALIGN="CENTER"><B>Поиск
+{SEARCH_DEST?{SEARCH_DEST}:{SECTION=classes?группы:{SECTION=jobs?задания:принтера}}}:</B>
+<INPUT TYPE="SEARCH" NAME="QUERY" VALUE="{?QUERY}" SIZE="40" PLACEHOLDER="" AUTOSAVE="org.cups.{SECTION}" RESULTS="20"> <INPUT
+TYPE="SUBMIT" VALUE="Поиск"> <INPUT TYPE="SUBMIT" NAME="CLEAR" VALUE="Очистить"></P>
+
+</FORM>
diff --git a/templates/ru/set-printer-options-header.tmpl b/templates/ru/set-printer-options-header.tmpl
new file mode 100644
index 000000000..59a5a793b
--- /dev/null
+++ b/templates/ru/set-printer-options-header.tmpl
@@ -0,0 +1,24 @@
+<H2 CLASS="title">Установить параметры по умолчанию для {printer_name}</H2>
+
+<FORM METHOD="POST" ACTION="/admin">
+<INPUT TYPE="HIDDEN" NAME="org.cups.sid" VALUE="{$org.cups.sid}">
+<INPUT TYPE="HIDDEN" NAME="PRINTER_NAME" VALUE="{printer_name}">
+<INPUT TYPE="HIDDEN" NAME="OP" VALUE="{op}">
+{HAVE_AUTOCONFIGURE?<INPUT TYPE="SUBMIT" NAME="AUTOCONFIGURE" VALUE="Запрос принтера для параметров по умолчанию">:}
+
+<SCRIPT TYPE="text/javascript"><!--
+function update_paramtable(option)
+{
+ var cb = document.getElementById("select-" + option)
+ var paramstable = document.getElementById(option + "-params");
+ if (cb.value == "Custom")
+ paramstable.style.display = "table";
+ else
+ paramstable.style.display = "none";
+}
+--></SCRIPT>
+
+<H3 CLASS="title">{[group_id]
+<A HREF="#{group_id}">{group}</A>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</H3>
+
+<DIV CLASS="tabs">
diff --git a/templates/ru/set-printer-options-trailer.tmpl b/templates/ru/set-printer-options-trailer.tmpl
new file mode 100644
index 000000000..b92988a7f
--- /dev/null
+++ b/templates/ru/set-printer-options-trailer.tmpl
@@ -0,0 +1,14 @@
+</DIV>
+
+<SCRIPT TYPE="text/javascript"><!--
+// Hide custom options parameters for browsers that understand Javascript
+var paramtables = document.getElementsByName("paramtable");
+for (var i = 0; i < paramtables.length; i++)
+{
+ var opt = paramtables[i].id.substr(0, paramtables[i].id.lastIndexOf("-"));
+ var cb = document.getElementById("select-" + opt);
+ if (cb.value != "Custom")
+ paramtables[i].style.display = "none";
+}
+--></SCRIPT>
+</FORM>
diff --git a/templates/ru/subscription-added.tmpl b/templates/ru/subscription-added.tmpl
new file mode 100644
index 000000000..b5c60ab71
--- /dev/null
+++ b/templates/ru/subscription-added.tmpl
@@ -0,0 +1 @@
+<P>Подписка {subscription_name} была успешно добавлена.</P>
diff --git a/templates/ru/subscription-canceled.tmpl b/templates/ru/subscription-canceled.tmpl
new file mode 100644
index 000000000..1518cbeec
--- /dev/null
+++ b/templates/ru/subscription-canceled.tmpl
@@ -0,0 +1 @@
+<P>Подписка #{notify_subscription_id} была отменена.</P>
diff --git a/templates/ru/test-page.tmpl b/templates/ru/test-page.tmpl
new file mode 100644
index 000000000..ce8837c12
--- /dev/null
+++ b/templates/ru/test-page.tmpl
@@ -0,0 +1,4 @@
+<H2 CLASS="title">Печать пробной страницы на {printer_name}</H2>
+
+<P>Пробная страница отправлена на печать;Номер задания <A HREF="/{SECTION}/{printer_name}">
+{printer_name}-{job_id}</A>.</P>
diff --git a/templates/ru/trailer.tmpl b/templates/ru/trailer.tmpl
new file mode 100644
index 000000000..ef87fea0f
--- /dev/null
+++ b/templates/ru/trailer.tmpl
@@ -0,0 +1,6 @@
+ </div>
+ </div>
+ <div class="footer">CUPS, а так же логотип CUPS являются зарегистрированными торговыми марками
+<A HREF="http://www.apple.com">Apple Inc.</A> Авторские права на CUPS принадлежат (2007-2014) компании Apple Inc. Все права защищены.</div>
+ </body>
+</html>
diff --git a/templates/ru/users.tmpl b/templates/ru/users.tmpl
new file mode 100644
index 000000000..6f3aca573
--- /dev/null
+++ b/templates/ru/users.tmpl
@@ -0,0 +1,27 @@
+<FORM METHOD="POST" ACTION="/admin">
+<INPUT TYPE="HIDDEN" NAME="org.cups.sid" VALUE="{$org.cups.sid}">
+<INPUT TYPE="HIDDEN" NAME="OP" VALUE="{OP}">
+<INPUT TYPE="HIDDEN" NAME="PRINTER_NAME" VALUE="{printer_name}">
+{IS_CLASS?<INPUT TYPE="HIDDEN" NAME="IS_CLASS" VALUE="{IS_CLASS}">:}
+
+<H2 CLASS="title">Доступ пользователей на {printer_name}</H2>
+
+<TABLE>
+<TR>
+<TH CLASS="label">Пользователи:</TH>
+<TD>
+<INPUT TYPE='TEXT' NAME='users' SIZE='60' VALUE='{?requesting_user_name_allowed}{?requesting_user_name_denied}'>
+<BR>
+<INPUT TYPE='RADIO' NAME='type' VALUE='requesting-user-name-allowed' {requesting_user_name_allowed?checked:}>Разрешить этим пользователям печатать
+<INPUT TYPE='RADIO' NAME='type' VALUE='requesting-user-name-denied' {requesting_user_name_denied?checked:}>Запретить этим пользователям печатать
+</TD>
+</TR>
+<TR>
+<TD></TD>
+<TD>
+<INPUT TYPE="SUBMIT" VALUE="Сохранить">
+</TD>
+</TR>
+</TABLE>
+
+</FORM>
diff --git a/test/ipp-1.1.test b/test/ipp-1.1.test
index 7303b70ea..35117c09d 100644
--- a/test/ipp-1.1.test
+++ b/test/ipp-1.1.test
@@ -1,9 +1,9 @@
#
-# "$Id: ipp-1.1.test 11398 2013-11-06 20:11:11Z msweet $"
+# "$Id: ipp-1.1.test 12663 2015-05-25 14:32:17Z msweet $"
#
# IPP/1.1 test suite.
#
-# Copyright 2007-2013 by Apple Inc.
+# Copyright 2007-2015 by Apple Inc.
# Copyright 2001-2006 by Easy Software Products. All rights reserved.
#
# These coded instructions, statements, and computer programs are the
@@ -429,22 +429,22 @@ DEFINE IPP_URI_SCHEME "/^ipps?://.+$$/"
ATTR keyword requested-attributes all
STATUS successful-ok
- EXPECT job-id OF-TYPE integer IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE >0
- EXPECT job-uri OF-TYPE uri IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE "$IPP_URI_SCHEME"
- EXPECT job-printer-uri OF-TYPE uri IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE "$IPP_URI_SCHEME"
+ EXPECT ?job-id OF-TYPE integer IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE >0
+ EXPECT ?job-uri OF-TYPE uri IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE "$IPP_URI_SCHEME"
+ EXPECT ?job-printer-uri OF-TYPE uri IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE "$IPP_URI_SCHEME"
EXPECT ?job-more-info OF-TYPE uri IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE "$HTTP_URI_SCHEME"
- EXPECT job-name OF-TYPE name IN-GROUP job-attributes-tag COUNT 1
- EXPECT job-originating-user-name OF-TYPE name IN-GROUP job-attributes-tag COUNT 1
- EXPECT job-state OF-TYPE unknown|enum IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE >2,<10
- EXPECT job-state-reasons OF-TYPE keyword IN-GROUP job-attributes-tag
+ EXPECT ?job-name OF-TYPE name IN-GROUP job-attributes-tag COUNT 1
+ EXPECT ?job-originating-user-name OF-TYPE name IN-GROUP job-attributes-tag COUNT 1
+ EXPECT ?job-state OF-TYPE unknown|enum IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE >2,<10
+ EXPECT ?job-state-reasons OF-TYPE keyword IN-GROUP job-attributes-tag
EXPECT ?job-state-message OF-TYPE text IN-GROUP job-attributes-tag COUNT 1
EXPECT ?job-detailed-status-messages OF-TYPE text IN-GROUP job-attributes-tag
EXPECT ?number-of-documents OF-TYPE integer IN-GROUP job-attributes-tag COUNT 1
EXPECT ?output-device-assigned OF-TYPE name IN-GROUP job-attributes-tag COUNT 1
- EXPECT time-at-creation OF-TYPE integer IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE >-1
- EXPECT time-at-processing OF-TYPE no-value|integer IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE >-1
- EXPECT time-at-completed OF-TYPE no-value|integer IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE >-1
- EXPECT job-printer-up-time OF-TYPE no-value|integer IN-GROUP job-attributes-tag COUNT 1
+ EXPECT ?time-at-creation OF-TYPE integer IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE >-1
+ EXPECT ?time-at-processing OF-TYPE no-value|integer IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE >-1
+ EXPECT ?time-at-completed OF-TYPE no-value|integer IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE >-1
+ EXPECT ?job-printer-up-time OF-TYPE no-value|integer IN-GROUP job-attributes-tag COUNT 1
EXPECT ?date-time-at-creation OF-TYPE no-value|dateTime IN-GROUP job-attributes-tag COUNT 1
EXPECT ?date-time-at-processing OF-TYPE no-value|dateTime IN-GROUP job-attributes-tag COUNT 1
EXPECT ?date-time-at-completed OF-TYPE no-value|dateTime IN-GROUP job-attributes-tag COUNT 1
@@ -489,8 +489,8 @@ DEFINE IPP_URI_SCHEME "/^ipps?://.+$$/"
ATTR boolean my-jobs true
STATUS successful-ok
- EXPECT job-id OF-TYPE integer IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE >0
- EXPECT job-uri OF-TYPE uri IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE "$IPP_URI_SCHEME"
+ EXPECT ?job-id OF-TYPE integer IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE >0
+ EXPECT ?job-uri OF-TYPE uri IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE "$IPP_URI_SCHEME"
EXPECT !job-printer-uri
EXPECT !job-more-info
EXPECT !job-name
@@ -613,8 +613,8 @@ DEFINE IPP_URI_SCHEME "/^ipps?://.+$$/"
ATTR keyword which-jobs not-completed
STATUS successful-ok
- EXPECT job-id OF-TYPE integer IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE >0
- EXPECT job-uri OF-TYPE uri IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE "$IPP_URI_SCHEME"
+ EXPECT ?job-id OF-TYPE integer IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE >0
+ EXPECT ?job-uri OF-TYPE uri IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE "$IPP_URI_SCHEME"
EXPECT !job-printer-uri
EXPECT !job-more-info
EXPECT !job-name
@@ -2346,5 +2346,5 @@ DEFINE IPP_URI_SCHEME "/^ipps?://.+$$/"
#
-# End of "$Id: ipp-1.1.test 11398 2013-11-06 20:11:11Z msweet $".
+# End of "$Id: ipp-1.1.test 12663 2015-05-25 14:32:17Z msweet $".
#
diff --git a/test/ippfind.c b/test/ippfind.c
index 7e301b134..109944417 100644
--- a/test/ippfind.c
+++ b/test/ippfind.c
@@ -1,5 +1,5 @@
/*
- * "$Id: ippfind.c 12465 2015-02-01 02:47:23Z msweet $"
+ * "$Id: ippfind.c 12639 2015-05-19 02:36:30Z msweet $"
*
* Utility to find IPP printers via Bonjour/DNS-SD and optionally run
* commands such as IPP and Bonjour conformance tests. This tool is
@@ -1978,7 +1978,7 @@ exec_program(ippfind_srv_t *service, /* I - Service */
else if (!strcmp(keyword, "service_path"))
strlcpy(tptr, service->resource, sizeof(temp) - (size_t)(tptr - temp));
else if (!strcmp(keyword, "service_port"))
- strlcpy(tptr, port + 20, sizeof(temp) - (size_t)(tptr - temp));
+ strlcpy(tptr, port + 21, sizeof(temp) - (size_t)(tptr - temp));
else if (!strcmp(keyword, "service_scheme"))
strlcpy(tptr, scheme + 22, sizeof(temp) - (size_t)(tptr - temp));
else if (!strncmp(keyword, "txt_", 4))
@@ -2843,5 +2843,5 @@ show_version(void)
/*
- * End of "$Id: ippfind.c 12465 2015-02-01 02:47:23Z msweet $".
+ * End of "$Id: ippfind.c 12639 2015-05-19 02:36:30Z msweet $".
*/
diff --git a/test/run-stp-tests.sh b/test/run-stp-tests.sh
index d9b9322bf..0f02ba249 100755
--- a/test/run-stp-tests.sh
+++ b/test/run-stp-tests.sh
@@ -1,11 +1,11 @@
#!/bin/sh
#
-# "$Id: run-stp-tests.sh 12398 2014-12-19 16:56:15Z msweet $"
+# "$Id: run-stp-tests.sh 12658 2015-05-22 17:53:45Z msweet $"
#
# Perform the complete set of IPP compliance tests specified in the
# CUPS Software Test Plan.
#
-# Copyright 2007-2014 by Apple Inc.
+# Copyright 2007-2015 by Apple Inc.
# Copyright 1997-2007 by Easy Software Products, all rights reserved.
#
# These coded instructions, statements, and computer programs are the
@@ -401,7 +401,7 @@ instfilter() {
#!/bin/sh
trap "" TERM
trap "" PIPE
-gziptoany "$1" "$2" "$3" "$4" "$5" \$6 \>/dev/null
+gziptoany "$1" "$2" "$3" "$4" "$5" \$6 >/dev/null
case "\$5" in
*media=a4* | *media=iso_a4* | *PageSize=A4*)
gziptoany "$1" "$2" "$3" "$4" "$5" "$root/test/onepage-a4.pdf"
@@ -418,7 +418,7 @@ EOF
#!/bin/sh
trap "" TERM
trap "" PIPE
-gziptoany "$1" "$2" "$3" "$4" "$5" \$6 \>/dev/null
+gziptoany "$1" "$2" "$3" "$4" "$5" \$6 >/dev/null
case "\$5" in
*media=a4* | *media=iso_a4* | *PageSize=A4*)
gziptoany "$1" "$2" "$3" "$4" "$5" "$root/test/onepage-a4.ps"
@@ -435,7 +435,7 @@ EOF
#!/bin/sh
trap "" TERM
trap "" PIPE
-gziptoany "$1" "$2" "$3" "$4" "$5" \$6 \>/dev/null
+gziptoany "$1" "$2" "$3" "$4" "$5" \$6 >/dev/null
case "\$5" in
*media=a4* | *media=iso_a4* | *PageSize=A4*)
gziptoany "$1" "$2" "$3" "$4" "$5" "$root/test/onepage-a4-300-black-1.pwg.gz"
@@ -906,7 +906,7 @@ fi
# Requests logged
count=`wc -l $BASE/log/access_log | awk '{print $1}'`
-expected=`expr 37 + 18 + 29 + $pjobs \* 8 + $pprinters \* $pjobs \* 4`
+expected=`expr 37 + 18 + 30 + $pjobs \* 8 + $pprinters \* $pjobs \* 4`
if test $count != $expected; then
echo "FAIL: $count requests logged, expected $expected."
echo "<P>FAIL: $count requests logged, expected $expected.</P>" >>$strfile
@@ -1103,5 +1103,5 @@ if test $fail != 0; then
fi
#
-# End of "$Id: run-stp-tests.sh 12398 2014-12-19 16:56:15Z msweet $"
+# End of "$Id: run-stp-tests.sh 12658 2015-05-22 17:53:45Z msweet $"
#