# French translation for checkbox
# Copyright (c) 2015 Rosetta Contributors and Canonical Ltd 2015
# This file is distributed under the same license as the checkbox package.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2015.
#
msgid ""
msgstr ""
"Project-Id-Version: checkbox\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2015-05-19 13:10+0800\n"
"PO-Revision-Date: 2015-11-09 09:54+0000\n"
"Last-Translator: Jean-Marc <Unknown>\n"
"Language-Team: French <fr@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n > 1;\n"
"X-Launchpad-Export-Date: 2015-11-28 04:34+0000\n"
"X-Generator: Launchpad (build 17850)\n"

#: .././plainbox/impl/_argparse.py:139
#: .././plainbox/vendor/argparse/py32-argparse.py:298
#: .././plainbox/vendor/argparse/py33-argparse.py:300
#: .././plainbox/vendor/argparse/py34-argparse.py:300
msgid "usage: "
msgstr "utilisation : "

#: .././plainbox/impl/applogic.py:61
msgid "None of the providers had a whitelist named '{}'"
msgstr ""

#: .././plainbox/impl/applogic.py:103
msgid "Environment variables for scripts and jobs"
msgstr "Variables d'environnement pour les scripts et les tâches"

#: .././plainbox/impl/applogic.py:108
msgid "Which implementation of extcmd to use"
msgstr ""

#. TRANSLATORS: '--help' and '--version' are not translatable,
#. but '[options]' and '<command>' are.
#: .././plainbox/impl/box.py:82
#, python-brace-format
msgid "{0} [--help] [--version] | [options] <command> ..."
msgstr ""

#. set in _early_init()
#. set in main()
#: .././plainbox/impl/clitools.py:279
#, python-format
msgid "Constructed %r"
msgstr ""

#: .././plainbox/impl/clitools.py:288
msgid "Activated early logging via environment variables"
msgstr ""

#: .././plainbox/impl/clitools.py:300
msgid "Tool initialization (early mode)"
msgstr ""

#: .././plainbox/impl/clitools.py:302
msgid "Parsing command line arguments (early mode)"
msgstr ""

#: .././plainbox/impl/clitools.py:305
#, python-format
msgid "Command line parsed to (early mode): %r"
msgstr ""

#: .././plainbox/impl/clitools.py:306
msgid "Tool initialization (late mode)"
msgstr ""

#. Construct the full command line argument parser
#: .././plainbox/impl/clitools.py:309
msgid "Parser construction"
msgstr ""

#. parse the full command line arguments, this is also where we
#. do argcomplete-dictated exit if bash shell completion
#. is requested
#: .././plainbox/impl/clitools.py:314
msgid "Parsing command line arguments"
msgstr ""

#: .././plainbox/impl/clitools.py:316
#, python-format
msgid "Command line parsed to: %r"
msgstr ""

#: .././plainbox/impl/clitools.py:317
msgid "Tool initialization (final steps)"
msgstr ""

#: .././plainbox/impl/clitools.py:319
msgid "Tool initialization complete"
msgstr ""

#: .././plainbox/impl/clitools.py:323
msgid "Dispatching command..."
msgstr ""

#: .././plainbox/impl/clitools.py:460 .././plainbox/provider_manager.py:1373
#: .././plainbox/vendor/argparse/py32-argparse.py:1625
msgid "show program's version number and exit"
msgstr "afficher le numéro de version du programme et quitter"

#: .././plainbox/impl/clitools.py:484
msgid "logging and debugging"
msgstr ""

#. TRANSLATORS: please keep --log-level=INFO untranslated
#: .././plainbox/impl/clitools.py:499
msgid "be more verbose (same as --log-level=INFO)"
msgstr ""

#. TRANSLATORS: please keep DEBUG untranslated
#: .././plainbox/impl/clitools.py:507
msgid "enable DEBUG messages on the root logger"
msgstr ""

#. TRANSLATORS: please keep DEBUG untranslated
#: .././plainbox/impl/clitools.py:513
msgid "display DEBUG messages in the console"
msgstr ""

#: .././plainbox/impl/clitools.py:517
msgid "LOGGER"
msgstr ""

#. TRANSLATORS: please keep DEBUG untranslated
#: .././plainbox/impl/clitools.py:521
msgid ""
"enable DEBUG messages on the specified logger (can be used multiple times)"
msgstr ""

#. TRANSLATORS: please keep pdb untranslated
#: .././plainbox/impl/clitools.py:529
msgid "jump into pdb (python debugger) when a command crashes"
msgstr ""

#. TRANSLATORS: please keep SIGINT/KeyboardInterrupt and --pdb
#. untranslated
#: .././plainbox/impl/clitools.py:537
msgid "crash on SIGINT/KeyboardInterrupt, useful with --pdb"
msgstr ""

#: .././plainbox/impl/clitools.py:554
#: .././plainbox/vendor/argparse/py32-argparse.py:1956
msgid "too few arguments"
msgstr "trop peu d'arguments"

#. Don't let SystemExit be caught in the logic below, we really
#. just want to exit when that gets thrown.
#. TRANSLATORS: please keep SystemExit untranslated
#: .././plainbox/impl/clitools.py:566
msgid "caught SystemExit, exiting"
msgstr ""

#: .././plainbox/impl/clitools.py:571
#, python-format
msgid "caught %r, deciding on what to do next"
msgstr ""

#: .././plainbox/impl/clitools.py:591
#, python-format
msgid "action for exception %r is %s"
msgstr ""

#: .././plainbox/impl/clitools.py:596
#, python-format
msgid "Executable %r invoked with %r has crashed"
msgstr ""

#: .././plainbox/impl/clitools.py:600
#, python-format
msgid "caught runaway exception: %r"
msgstr ""

#: .././plainbox/impl/clitools.py:601
msgid "starting debugger..."
msgstr ""

#: .././plainbox/impl/clitools.py:695
#, python-format
msgid "Trying to load exactly the right command: %r"
msgstr ""

#: .././plainbox/impl/clitools.py:711
#, python-format
msgid "Cost of registering guessed command: %f"
msgstr ""

#: .././plainbox/impl/clitools.py:742
#, python-format
msgid "Cost of loading all top-level commands: %f"
msgstr ""

#: .././plainbox/impl/clitools.py:749
#, python-format
msgid "Cost of registering all top-level commands: %f"
msgstr ""

#: .././plainbox/impl/clitools.py:898
msgid "Unable to find any of the executables {}"
msgstr ""

#: .././plainbox/impl/commands/cmd_analyze.py:54
msgid "analyze how selected jobs would be executed"
msgstr ""

#: .././plainbox/impl/commands/cmd_analyze.py:60
msgid "run all selected local jobs, required to see true data"
msgstr ""

#. TRANSLATORS: please keep the word 'local' untranslated.
#. It designates special type of jobs, not their location.
#: .././plainbox/impl/commands/cmd_analyze.py:66
msgid "do not run local jobs"
msgstr ""

#: .././plainbox/impl/commands/cmd_analyze.py:70
msgid "print general job statistics"
msgstr ""

#: .././plainbox/impl/commands/cmd_analyze.py:73
msgid "print dependency report"
msgstr ""

#: .././plainbox/impl/commands/cmd_analyze.py:76
msgid "print interactivity report"
msgstr ""

#: .././plainbox/impl/commands/cmd_analyze.py:79
msgid "print estimated duration report"
msgstr ""

#: .././plainbox/impl/commands/cmd_analyze.py:82
msgid "print validation report"
msgstr ""

#: .././plainbox/impl/commands/cmd_analyze.py:85
msgid "print requirement report"
msgstr ""

#: .././plainbox/impl/commands/cmd_analyze.py:89
msgid "when coupled with -v, only problematic jobs will be listed"
msgstr ""

#: .././plainbox/impl/commands/cmd_analyze.py:92
msgid "print desired job list"
msgstr ""

#: .././plainbox/impl/commands/cmd_analyze.py:95
msgid "print run list"
msgstr ""

#: .././plainbox/impl/commands/cmd_check_config.py:43
msgid "check and display plainbox configuration"
msgstr ""

#: .././plainbox/impl/commands/cmd_checkbox.py:47
msgid "test selection options"
msgstr ""

#: .././plainbox/impl/commands/cmd_checkbox.py:51
msgid "TEST-PLAN-ID"
msgstr ""

#. TRANSLATORS: this is in imperative form
#: .././plainbox/impl/commands/cmd_checkbox.py:54
msgid "load the specified test plan"
msgstr ""

#: .././plainbox/impl/commands/cmd_checkbox.py:57
#: .././plainbox/impl/commands/cmd_checkbox.py:62
msgid "PATTERN"
msgstr ""

#. TRANSLATORS: this is in imperative form
#: .././plainbox/impl/commands/cmd_checkbox.py:59
msgid "include jobs matching the given regular expression"
msgstr ""

#. TRANSLATORS: this is in imperative form
#: .././plainbox/impl/commands/cmd_checkbox.py:64
msgid "exclude jobs matching the given regular expression"
msgstr ""

#: .././plainbox/impl/commands/cmd_checkbox.py:69
msgid "WHITELIST"
msgstr ""

#. TRANSLATORS: this is in imperative form
#: .././plainbox/impl/commands/cmd_checkbox.py:73
msgid "load whitelist containing run patterns"
msgstr ""

#: .././plainbox/impl/commands/cmd_device.py:36
msgid ""
"\n"
"    device management commands\n"
"\n"
"    This command can be used to show the device that plainbox is executing\n"
"\n"
"    @EPILOG@\n"
"\n"
"    TBD\n"
"    "
msgstr ""

#: .././plainbox/impl/commands/cmd_list.py:41
msgid "list and describe various objects"
msgstr ""

#: .././plainbox/impl/commands/cmd_list.py:45
msgid "show object attributes"
msgstr ""

#: .././plainbox/impl/commands/cmd_list.py:48
msgid "list objects from the specified group"
msgstr ""

#: .././plainbox/impl/commands/cmd_parse.py:45
msgid "The following parsers are available:"
msgstr ""

#: .././plainbox/impl/commands/cmd_parse.py:52
msgid "parse stdin with the specified parser"
msgstr ""

#. TRANSLATORS: please keep plainbox.parsers untranslated.
#: .././plainbox/impl/commands/cmd_parse.py:55
msgid ""
"\n"
"            This command can be used to invoke any of the parsers exposed\n"
"            to the `plainbox.parsers` entry point, parse standard input and\n"
"            produce a JSON dump of the resulting data structure on stdout.\n"
"\n"
"            Keep in mind that most parsers were designed with the 'C' locale "
"in\n"
"            mind. You may have to override the environment variable LANG to\n"
"            \"C\".\n"
"            "
msgstr ""

#: .././plainbox/impl/commands/cmd_parse.py:64
msgid "Example: "
msgstr ""

#: .././plainbox/impl/commands/cmd_parse.py:70
msgid "PARSER-NAME"
msgstr ""

#: .././plainbox/impl/commands/cmd_parse.py:72
msgid "Name of the parser to use"
msgstr ""

#: .././plainbox/impl/commands/cmd_run.py:49
msgid "run a test job"
msgstr ""

#: .././plainbox/impl/commands/cmd_run.py:51
msgid "user interface options"
msgstr ""

#: .././plainbox/impl/commands/cmd_run.py:57
msgid "skip tests that require interactivity"
msgstr ""

#: .././plainbox/impl/commands/cmd_run.py:60
msgid "don't really run most jobs"
msgstr ""

#: .././plainbox/impl/commands/cmd_run.py:63
msgid "don't suppress the output of certain job plugin types"
msgstr ""

#: .././plainbox/impl/commands/cmd_run.py:64
#: .././plainbox/impl/commands/cmd_session.py:112
msgid "output options"
msgstr ""

#: .././plainbox/impl/commands/cmd_run.py:68
#: .././plainbox/impl/commands/cmd_session.py:115
msgid "FORMAT"
msgstr ""

#: .././plainbox/impl/commands/cmd_run.py:68
#: .././plainbox/impl/commands/cmd_run.py:84
#: .././plainbox/impl/commands/cmd_session.py:115
#: .././plainbox/impl/commands/inv_run.py:350
#: .././plainbox/impl/commands/inv_run.py:353
#: .././plainbox/impl/commands/inv_run.py:356
#: .././plainbox/impl/commands/inv_session.py:143
#: .././plainbox/impl/commands/inv_session.py:146
msgid "?"
msgstr ""

#: .././plainbox/impl/commands/cmd_run.py:70
#: .././plainbox/impl/commands/cmd_session.py:117
msgid ""
"save test results in the specified FORMAT (pass ? for a list of choices)"
msgstr ""

#: .././plainbox/impl/commands/cmd_run.py:74
#: .././plainbox/impl/commands/cmd_run.py:94
#: .././plainbox/impl/commands/cmd_session.py:121
msgid "OPTIONS"
msgstr ""

#: .././plainbox/impl/commands/cmd_run.py:75
#: .././plainbox/impl/commands/cmd_session.py:122
msgid ""
"comma-separated list of options for the export mechanism (pass ? for a list "
"of choices)"
msgstr ""

#: .././plainbox/impl/commands/cmd_run.py:79
#: .././plainbox/impl/commands/cmd_session.py:126
msgid "FILE"
msgstr ""

#: .././plainbox/impl/commands/cmd_run.py:80
#: .././plainbox/impl/commands/cmd_session.py:127
msgid "save test results to the specified FILE (or to stdout if FILE is -)"
msgstr ""

#: .././plainbox/impl/commands/cmd_run.py:84
msgid "TRANSPORT"
msgstr ""

#: .././plainbox/impl/commands/cmd_run.py:86
msgid ""
"use TRANSPORT to send results somewhere (pass ? for a list of choices)"
msgstr ""

#: .././plainbox/impl/commands/cmd_run.py:90
msgid "WHERE"
msgstr ""

#: .././plainbox/impl/commands/cmd_run.py:91
msgid "where to send data using the selected transport"
msgstr ""

#: .././plainbox/impl/commands/cmd_run.py:95
msgid ""
"comma-separated list of key-value options (k=v) to be passed to the transport"
msgstr ""

#: .././plainbox/impl/commands/cmd_script.py:49
msgid "run a command from a job"
msgstr ""

#: .././plainbox/impl/commands/cmd_script.py:53
msgid "JOB-ID"
msgstr ""

#: .././plainbox/impl/commands/cmd_script.py:54
msgid "Id of the job to run"
msgstr ""

#: .././plainbox/impl/commands/cmd_selftest.py:41
msgid "run unit and integration tests"
msgstr ""

#: .././plainbox/impl/commands/cmd_selftest.py:48
msgid "abort the test on first failure"
msgstr ""

#: .././plainbox/impl/commands/cmd_selftest.py:53
msgid "run tests quietly"
msgstr ""

#: .././plainbox/impl/commands/cmd_selftest.py:56
msgid "run tests with normal verbosity (default)"
msgstr ""

#: .././plainbox/impl/commands/cmd_selftest.py:59
msgid "run tests verbosely, printing each test case name"
msgstr ""

#: .././plainbox/impl/commands/cmd_selftest.py:89
msgid "run integration test suite (this verifies checkbox jobs)"
msgstr ""

#: .././plainbox/impl/commands/cmd_selftest.py:95
msgid "run unit tests (this only verifies plainbox core)"
msgstr ""

#: .././plainbox/impl/commands/cmd_selftest.py:97
msgid "SUITE"
msgstr ""

#: .././plainbox/impl/commands/cmd_selftest.py:100
msgid "run custom test suite"
msgstr ""

#: .././plainbox/impl/commands/cmd_session.py:32
msgid ""
"\n"
"    session management commands\n"
"\n"
"    This command can be used to list, show and remove sessions owned by the\n"
"    current user.\n"
"\n"
"    @EPILOG@\n"
"\n"
"    Each session has a small amount of meta-data that is available for\n"
"    inspection. Each session has an application identifier (set by the\n"
"    application that created that session), a title, that is human readable\n"
"    piece of text that helps to distinguish sessions, and a set of flags.\n"
"\n"
"    Flags are particularly useful for determining what is the overall state\n"
"    of any particular session. Two flags are standardized (other flags can "
"be\n"
"    used by applications): incomplete and submitted. The 'incomplete' flag "
"is\n"
"    removed after all desired jobs have been executed. The 'submitted' flag\n"
"    is set after a submission is made using any of the transport "
"mechanisms.\n"
"    "
msgstr ""

#: .././plainbox/impl/commands/cmd_session.py:69
msgid "available session subcommands"
msgstr ""

#: .././plainbox/impl/commands/cmd_session.py:71
msgid "list available sessions"
msgstr ""

#: .././plainbox/impl/commands/cmd_session.py:73
msgid "print one id per line only"
msgstr ""

#: .././plainbox/impl/commands/cmd_session.py:77
msgid "remove one more more sessions"
msgstr ""

#: .././plainbox/impl/commands/cmd_session.py:79
#: .././plainbox/impl/commands/cmd_session.py:85
#: .././plainbox/impl/commands/cmd_session.py:97
#: .././plainbox/impl/commands/cmd_session.py:106
msgid "SESSION-ID"
msgstr ""

#: .././plainbox/impl/commands/cmd_session.py:80
msgid "Identifier of the session to remove"
msgstr ""

#: .././plainbox/impl/commands/cmd_session.py:83
msgid "show a single session"
msgstr ""

#: .././plainbox/impl/commands/cmd_session.py:86
msgid "Identifier of the session to show"
msgstr ""

#: .././plainbox/impl/commands/cmd_session.py:89
msgid "resume the session (useful for debugging)"
msgstr ""

#: .././plainbox/impl/commands/cmd_session.py:91
#: .././plainbox/impl/commands/cmd_session.py:109
msgid "FLAG"
msgstr ""

#: .././plainbox/impl/commands/cmd_session.py:92
#: .././plainbox/impl/commands/cmd_session.py:110
msgid "pass this resume flag to the session resume code"
msgstr ""

#: .././plainbox/impl/commands/cmd_session.py:95
msgid "archive a single session"
msgstr ""

#: .././plainbox/impl/commands/cmd_session.py:98
msgid "Identifier of the session to archive"
msgstr ""

#: .././plainbox/impl/commands/cmd_session.py:100
msgid "ARCHIVE"
msgstr ""

#: .././plainbox/impl/commands/cmd_session.py:101
msgid "Name of the archive to create"
msgstr ""

#: .././plainbox/impl/commands/cmd_session.py:104
msgid "export a single session"
msgstr ""

#: .././plainbox/impl/commands/cmd_session.py:107
msgid "Identifier of the session to export"
msgstr ""

#: .././plainbox/impl/commands/cmd_special.py:42
msgid "special/internal commands"
msgstr ""

#: .././plainbox/impl/commands/cmd_special.py:48
msgid "list jobs instead of running them"
msgstr ""

#: .././plainbox/impl/commands/cmd_special.py:52
msgid "list jobs with cheksums instead of running them"
msgstr ""

#: .././plainbox/impl/commands/cmd_special.py:56
msgid "list all unique resource expressions"
msgstr ""

#: .././plainbox/impl/commands/cmd_special.py:60
msgid "print a graph of jobs instead of running them"
msgstr ""

#. TRANSLATORS: please keep --dot untranslated
#: .././plainbox/impl/commands/cmd_special.py:65
msgid "show resource relationships (for --dot)"
msgstr ""

#. TRANSLATORS: please leave various options (both long and short forms),
#. environment variables and paths in their original form. Also keep the
#. special @EPILOG@ string. The first line of the translation is special and
#. is used as the help message. Please keep the pseudo-statement form and
#. don't finish the sentence with a dot. Pay extra attention to whitespace.
#. It must be correctly preserved or the result won't work. In particular
#. the leading whitespace *must* be preserved and *must* have the same
#. length on each line.
#: .././plainbox/impl/commands/cmd_startprovider.py:52
msgid ""
"\n"
"    create a new provider (directory)\n"
"\n"
"    Creates a new provider from a built-in skeleton.\n"
"\n"
"    @EPILOG@\n"
"\n"
"    The name of the provider must follow the pattern "
"``YYYY.example.org:name``\n"
"    where ``YYYY`` is a four-digit year when the author of the provider "
"owned\n"
"    the domain (here, ``example.org``) and ``name`` is arbitrary identifier\n"
"    that is managed by the owner of that domain. The identifier should be\n"
"    constrained to ASCII, digits and the dash character.\n"
"\n"
"    This naming scheme allows anyone that ever owned a domain name to come "
"up\n"
"    with non-clashing provider identifiers. Those identifiers are going to "
"be\n"
"    used in fully qualified names of various objects.\n"
"\n"
"    This command creates a new skeleton test provider for PlainBox. The\n"
"    generated content should be edited to fit a particular purpose.\n"
"    "
msgstr ""

#: .././plainbox/impl/commands/cmd_startprovider.py:84
msgid "name"
msgstr ""

#. TRANSLATORS: please keep the YYYY.example... text unchanged or at
#. the very least translate only YYYY and some-name. In either case
#. some-name must be a reasonably-ASCII string (should be safe for a
#. portable directory name)
#: .././plainbox/impl/commands/cmd_startprovider.py:90
msgid "provider name, eg: YYYY.example.org:some-name"
msgstr ""

#: .././plainbox/impl/commands/crash.py:43
msgid "crashing as requested"
msgstr ""

#: .././plainbox/impl/commands/crash.py:59
msgid "crash the application"
msgstr ""

#: .././plainbox/impl/commands/crash.py:67
msgid "raise an exception"
msgstr ""

#: .././plainbox/impl/commands/crash.py:73
msgid "hang the application with a busy loop"
msgstr ""

#: .././plainbox/impl/commands/dev.py:57
msgid "development commands"
msgstr ""

#: .././plainbox/impl/commands/dev.py:59
msgid "plainbox dev <subcommand> ..."
msgstr ""

#: .././plainbox/impl/commands/inv_analyze.py:83
msgid "[Desired Job List]"
msgstr ""

#: .././plainbox/impl/commands/inv_analyze.py:88
msgid "[Run List]"
msgstr ""

#: .././plainbox/impl/commands/inv_analyze.py:93
msgid "[Running Local Jobs]"
msgstr ""

#: .././plainbox/impl/commands/inv_analyze.py:129
msgid "Problem list"
msgstr ""

#: .././plainbox/impl/commands/inv_analyze.py:133
msgid "[General Statistics]"
msgstr ""

#: .././plainbox/impl/commands/inv_analyze.py:134
msgid "Known jobs: {}"
msgstr ""

#: .././plainbox/impl/commands/inv_analyze.py:135
msgid "Selected jobs: {}"
msgstr ""

#: .././plainbox/impl/commands/inv_analyze.py:138
msgid "[Dependency Report]"
msgstr ""

#: .././plainbox/impl/commands/inv_analyze.py:143
msgid "Selected jobs have no dependency problems"
msgstr ""

#: .././plainbox/impl/commands/inv_analyze.py:146
msgid "[Interactivity Report]"
msgstr ""

#: .././plainbox/impl/commands/inv_analyze.py:157
msgid "automatic"
msgstr ""

#: .././plainbox/impl/commands/inv_analyze.py:157
msgid "interactive"
msgstr ""

#: .././plainbox/impl/commands/inv_analyze.py:163
#: .././plainbox/impl/commands/inv_run.py:736
msgid "unknown"
msgstr ""

#: .././plainbox/impl/commands/inv_analyze.py:168
msgid "[Estimated Duration Report]"
msgstr ""

#: .././plainbox/impl/commands/inv_analyze.py:169
msgid "Estimated test duration:"
msgstr ""

#: .././plainbox/impl/commands/inv_analyze.py:171
msgid "automated tests: {}"
msgstr ""

#: .././plainbox/impl/commands/inv_analyze.py:173
#: .././plainbox/impl/commands/inv_analyze.py:176
#: .././plainbox/impl/commands/inv_analyze.py:180
msgid "cannot estimate"
msgstr ""

#: .././plainbox/impl/commands/inv_analyze.py:174
msgid "manual tests: {}"
msgstr ""

#: .././plainbox/impl/commands/inv_analyze.py:177
msgid "total: {}"
msgstr ""

#: .././plainbox/impl/commands/inv_analyze.py:183
msgid "[Validation Report]"
msgstr ""

#: .././plainbox/impl/commands/inv_analyze.py:200
msgid "Job defined in {}"
msgstr ""

#: .././plainbox/impl/commands/inv_analyze.py:202
msgid "No problems found"
msgstr ""

#: .././plainbox/impl/commands/inv_analyze.py:205
msgid "[Requirement Report]"
msgstr ""

#: .././plainbox/impl/commands/inv_check_config.py:38
msgid "Configuration files:"
msgstr ""

#: .././plainbox/impl/commands/inv_check_config.py:43
#, python-brace-format
msgid " - {0} (not present)"
msgstr ""

#: .././plainbox/impl/commands/inv_check_config.py:44
msgid "Variables:"
msgstr ""

#: .././plainbox/impl/commands/inv_check_config.py:50
msgid "Sections:"
msgstr ""

#: .././plainbox/impl/commands/inv_check_config.py:58
msgid "Problems:"
msgstr ""

#: .././plainbox/impl/commands/inv_check_config.py:61
#, python-brace-format
msgid " - variable {0}: {1}"
msgstr ""

#: .././plainbox/impl/commands/inv_check_config.py:66
msgid "No validation problems found"
msgstr ""

#: .././plainbox/impl/commands/inv_checkbox.py:101
#, python-format
msgid "Using whitelist %r obtained from provider %r"
msgstr ""

#: .././plainbox/impl/commands/inv_checkbox.py:112
#, python-format
msgid "Unable to load whitelist %r: %s"
msgstr ""

#: .././plainbox/impl/commands/inv_checkbox.py:128
#, python-format
msgid "There is no test plan: %s"
msgstr ""

#: .././plainbox/impl/commands/inv_checkbox.py:143
#: .././plainbox/impl/commands/inv_checkbox.py:154
#, python-format
msgid "Incorrect pattern %r: %s"
msgstr ""

#: .././plainbox/impl/commands/inv_device.py:45
msgid "No supported devices detected?"
msgstr ""

#: .././plainbox/impl/commands/inv_list.py:51
msgid "children"
msgstr ""

#: .././plainbox/impl/commands/inv_parse.py:64
msgid "Unable to decode input stream, must be valid UTF-8"
msgstr ""

#: .././plainbox/impl/commands/inv_run.py:80
msgid "Pick an action"
msgstr ""

#: .././plainbox/impl/commands/inv_run.py:170
#, python-brace-format
msgid "ID: {0}"
msgstr ""

#: .././plainbox/impl/commands/inv_run.py:171
#, python-brace-format
msgid "Category: {0}"
msgstr ""

#: .././plainbox/impl/commands/inv_run.py:178
msgid "press ENTER to continue"
msgstr ""

#: .././plainbox/impl/commands/inv_run.py:179
#: .././plainbox/impl/commands/inv_run.py:873
msgid "add a comment"
msgstr ""

#: .././plainbox/impl/commands/inv_run.py:180
msgid "skip this job"
msgstr ""

#: .././plainbox/impl/commands/inv_run.py:181
msgid "save the session and quit"
msgstr ""

#: .././plainbox/impl/commands/inv_run.py:191
msgid "Command output hidden"
msgstr ""

#: .././plainbox/impl/commands/inv_run.py:217
msgid "Purpose:"
msgstr ""

#: .././plainbox/impl/commands/inv_run.py:224
msgid "Steps:"
msgstr ""

#: .././plainbox/impl/commands/inv_run.py:229
msgid "Verification:"
msgstr ""

#: .././plainbox/impl/commands/inv_run.py:233
msgid "Job cannot be started because:"
msgstr ""

#: .././plainbox/impl/commands/inv_run.py:241
msgid "Outcome"
msgstr ""

#: .././plainbox/impl/commands/inv_run.py:247
msgid "Waiting for the system to shut down or reboot..."
msgstr ""

#: .././plainbox/impl/commands/inv_run.py:419
msgid "Resume Incomplete Session"
msgstr ""

#: .././plainbox/impl/commands/inv_run.py:421
#, python-brace-format
msgid "There is {0} incomplete session that might be resumed"
msgid_plural "There are {0} incomplete sessions that might be resumed"
msgstr[0] ""
msgstr[1] ""

#: .././plainbox/impl/commands/inv_run.py:428
msgid "resume this session"
msgstr ""

#: .././plainbox/impl/commands/inv_run.py:429
msgid "next session"
msgstr ""

#: .././plainbox/impl/commands/inv_run.py:430
msgid "create new session"
msgstr ""

#: .././plainbox/impl/commands/inv_run.py:431
msgid "Do you want to resume session {0!a}?"
msgstr ""

#: .././plainbox/impl/commands/inv_run.py:445
msgid "ignore this problem"
msgstr ""

#: .././plainbox/impl/commands/inv_run.py:446
msgid "erase this session"
msgstr ""

#: .././plainbox/impl/commands/inv_run.py:449
#: .././plainbox/impl/commands/inv_session.py:93
msgid "Session removed"
msgstr ""

#. TRANSLATORS: This is the exit message
#: .././plainbox/impl/commands/inv_run.py:461
msgid "Session not resumed"
msgstr ""

#: .././plainbox/impl/commands/inv_run.py:467
#: .././plainbox/impl/commands/inv_session.py:180
msgid "Available output formats: {}"
msgstr ""

#: .././plainbox/impl/commands/inv_run.py:471
#: .././plainbox/impl/commands/inv_session.py:184
msgid "Each format may support a different set of options"
msgstr ""

#: .././plainbox/impl/commands/inv_run.py:477
msgid "Available transports: {}"
msgstr ""

#: .././plainbox/impl/commands/inv_run.py:493
#, python-format
msgid "Corrupted session %s: %s"
msgstr ""

#: .././plainbox/impl/commands/inv_run.py:503
msgid "yes"
msgstr ""

#: .././plainbox/impl/commands/inv_run.py:504
msgid "no"
msgstr ""

#: .././plainbox/impl/commands/inv_run.py:509
msgid "Do you want to start a new session?"
msgstr ""

#: .././plainbox/impl/commands/inv_run.py:515
msgid "Previous session run tried to execute job: {}"
msgstr ""

#: .././plainbox/impl/commands/inv_run.py:518
msgid "skip that job"
msgstr ""

#: .././plainbox/impl/commands/inv_run.py:519
msgid "mark it as passed and continue"
msgstr ""

#: .././plainbox/impl/commands/inv_run.py:520
msgid "mark it as failed and continue"
msgstr ""

#: .././plainbox/impl/commands/inv_run.py:521
msgid "run it again"
msgstr ""

#: .././plainbox/impl/commands/inv_run.py:522
msgid "What do you want to do with that job?"
msgstr ""

#: .././plainbox/impl/commands/inv_run.py:526
msgid "Skipped after resuming execution"
msgstr ""

#: .././plainbox/impl/commands/inv_run.py:531
msgid "Passed after resuming execution"
msgstr ""

#: .././plainbox/impl/commands/inv_run.py:536
msgid "Failed after resuming execution"
msgstr ""

#: .././plainbox/impl/commands/inv_run.py:611
msgid "The job database you are currently using is broken"
msgstr ""

#: .././plainbox/impl/commands/inv_run.py:613
#, python-brace-format
msgid "At least two jobs contend for the id {0}"
msgstr ""

#: .././plainbox/impl/commands/inv_run.py:616
#, python-brace-format
msgid "First job defined in: {0}"
msgstr ""

#: .././plainbox/impl/commands/inv_run.py:618
#, python-brace-format
msgid "Second job defined in: {0}"
msgstr ""

#: .././plainbox/impl/commands/inv_run.py:623
msgid "This session cannot be resumed"
msgstr ""

#: .././plainbox/impl/commands/inv_run.py:687
msgid "Analyzing Jobs"
msgstr ""

#: .././plainbox/impl/commands/inv_run.py:705
msgid "Authentication"
msgstr ""

#: .././plainbox/impl/commands/inv_run.py:713
msgid "Running Selected Jobs"
msgstr ""

#: .././plainbox/impl/commands/inv_run.py:733
msgid "Running job {} / {}. Estimated time left: {}"
msgstr ""

#: .././plainbox/impl/commands/inv_run.py:795
#: .././plainbox/impl/commands/inv_run.py:923
msgid "Please enter your comments:"
msgstr ""

#: .././plainbox/impl/commands/inv_run.py:802
msgid "Explicitly skipped before execution"
msgstr ""

#: .././plainbox/impl/commands/inv_run.py:849
msgid "Results"
msgstr ""

#: .././plainbox/impl/commands/inv_run.py:856
#: .././plainbox/impl/commands/inv_session.py:169
msgid "Saving results to {}"
msgstr ""

#: .././plainbox/impl/commands/inv_run.py:867
msgid "Select an outcome or an action: "
msgstr ""

#: .././plainbox/impl/commands/inv_run.py:877
#: .././plainbox/impl/commands/inv_run.py:882
#: .././plainbox/impl/commands/inv_run.py:887
#, python-brace-format
msgid "set outcome to {0}"
msgstr ""

#: .././plainbox/impl/commands/inv_run.py:878
msgctxt "set outcome to <pass>"
msgid "pass"
msgstr ""

#: .././plainbox/impl/commands/inv_run.py:883
msgctxt "set outcome to <fail>"
msgid "fail"
msgstr ""

#: .././plainbox/impl/commands/inv_run.py:888
msgctxt "set outcome to <skip>"
msgid "skip"
msgstr ""

#: .././plainbox/impl/commands/inv_run.py:892
msgid "re-run this job"
msgstr ""

#: .././plainbox/impl/commands/inv_run.py:899
#, python-brace-format
msgid "set suggested outcome [{0}]"
msgstr ""

#: .././plainbox/impl/commands/inv_run.py:902
msgid "Please decide what to do next:"
msgstr ""

#: .././plainbox/impl/commands/inv_run.py:903
msgid "outcome"
msgstr ""

#: .././plainbox/impl/commands/inv_run.py:905
#: .././plainbox/impl/commands/inv_run.py:908
msgid "comments"
msgstr ""

#: .././plainbox/impl/commands/inv_run.py:906
msgctxt "none comment"
msgid "none"
msgstr ""

#: .././plainbox/impl/commands/inv_run.py:933
msgid "Warning"
msgstr ""

#: .././plainbox/impl/commands/inv_run.py:934
msgid "There were some problems with the selected jobs"
msgstr ""

#: .././plainbox/impl/commands/inv_run.py:937
msgid "Problematic jobs will not be considered"
msgstr ""

#: .././plainbox/impl/commands/inv_run.py:940
msgid "Session Statistics"
msgstr ""

#: .././plainbox/impl/commands/inv_run.py:941
#, python-brace-format
msgid "This session is about {0:.2f}{percent} complete"
msgstr ""

#: .././plainbox/impl/commands/inv_run.py:946
msgid "Estimated duration is {:.2f} for automated jobs."
msgstr ""

#: .././plainbox/impl/commands/inv_run.py:950
msgid "Estimated duration cannot be determined for automated jobs."
msgstr ""

#: .././plainbox/impl/commands/inv_run.py:952
msgid "Estimated duration is {:.2f} for manual jobs."
msgstr ""

#: .././plainbox/impl/commands/inv_run.py:956
msgid "Estimated duration cannot be determined for manual jobs."
msgstr ""

#: .././plainbox/impl/commands/inv_run.py:957
#, python-brace-format
msgid "Size of the desired job list: {0}"
msgstr ""

#: .././plainbox/impl/commands/inv_run.py:959
#, python-brace-format
msgid "Size of the effective execution plan: {0}"
msgstr ""

#: .././plainbox/impl/commands/inv_script.py:58
msgid "There is no job called {!a}"
msgstr ""

#: .././plainbox/impl/commands/inv_script.py:60
msgid "See `plainbox special --list-jobs` for a list of choices"
msgstr ""

#: .././plainbox/impl/commands/inv_script.py:63
msgid "Selected job does not have a command"
msgstr ""

#: .././plainbox/impl/commands/inv_script.py:87
msgid "Leftover file detected: {!a}:"
msgstr ""

#: .././plainbox/impl/commands/inv_script.py:94
msgid "Leftover directory detected: {!a}"
msgstr ""

#: .././plainbox/impl/commands/inv_script.py:98
msgid "Leftover thing detected: {!a}"
msgstr ""

#: .././plainbox/impl/commands/inv_script.py:102
msgid "job {} returned {}"
msgstr ""

#: .././plainbox/impl/commands/inv_script.py:103
msgid "command:"
msgstr ""

#: .././plainbox/impl/commands/inv_session.py:78
msgid "session {0} app:{1}, flags:{2!r}, title:{3!r}"
msgstr ""

#: .././plainbox/impl/commands/inv_session.py:82
#, python-brace-format
msgid "session {0} (not saved yet)"
msgstr ""

#: .././plainbox/impl/commands/inv_session.py:84
msgid "There are no stored sessions"
msgstr ""

#: .././plainbox/impl/commands/inv_session.py:90
#: .././plainbox/impl/commands/inv_session.py:99
msgid "No such session"
msgstr ""

#: .././plainbox/impl/commands/inv_session.py:102
msgid "location:"
msgstr ""

#: .././plainbox/impl/commands/inv_session.py:107
msgid "application ID: {0!r}"
msgstr ""

#: .././plainbox/impl/commands/inv_session.py:108
#, python-brace-format
msgid "application-specific blob: {0}"
msgstr ""

#: .././plainbox/impl/commands/inv_session.py:111
msgid "session title: {0!r}"
msgstr ""

#: .././plainbox/impl/commands/inv_session.py:112
msgid "session flags: {0!r}"
msgstr ""

#: .././plainbox/impl/commands/inv_session.py:113
msgid "current job ID: {0!r}"
msgstr ""

#: .././plainbox/impl/commands/inv_session.py:115
#, python-brace-format
msgid "data size: {0}"
msgstr ""

#: .././plainbox/impl/commands/inv_session.py:117
#, python-brace-format
msgid "Resuming session {0} ..."
msgstr ""

#: .././plainbox/impl/commands/inv_session.py:121
msgid "Failed to resume session:"
msgstr ""

#: .././plainbox/impl/commands/inv_session.py:123
msgid "session resumed successfully"
msgstr ""

#: .././plainbox/impl/commands/inv_session.py:133
#: .././plainbox/impl/commands/inv_session.py:152
#, python-brace-format
msgid "No such session: {0}"
msgstr ""

#: .././plainbox/impl/commands/inv_session.py:135
msgid "Archiving session..."
msgstr ""

#: .././plainbox/impl/commands/inv_session.py:140
#, python-brace-format
msgid "Created archive: {0}"
msgstr ""

#: .././plainbox/impl/commands/inv_session.py:154
msgid "Exporting session..."
msgstr ""

#: .././plainbox/impl/commands/inv_startprovider.py:58
msgid "refusing to overwrite {!a}"
msgstr ""

#: .././plainbox/impl/commands/logtest.py:39
msgid "a debug message"
msgstr ""

#: .././plainbox/impl/commands/logtest.py:40
msgid "a info message"
msgstr ""

#: .././plainbox/impl/commands/logtest.py:41
msgid "a warning message"
msgstr ""

#: .././plainbox/impl/commands/logtest.py:42
msgid "an error message"
msgstr ""

#: .././plainbox/impl/commands/logtest.py:43
msgid "a critical message"
msgstr ""

#: .././plainbox/impl/commands/logtest.py:57
msgid "log messages at various levels"
msgstr ""

#: .././plainbox/impl/ctrl.py:277
#, python-format
msgid "Storing resource record %r: %s"
msgstr ""

#: .././plainbox/impl/ctrl.py:293 .././plainbox/impl/secure/launcher1.py:138
#, python-format
msgid "Instantiating unit: %s"
msgstr ""

#: .././plainbox/impl/ctrl.py:300
#, python-format
msgid "Ignoring invalid instantiated unit %s: %s"
msgstr ""

#: .././plainbox/impl/ctrl.py:326
#, python-format
msgid "Ignoring invalid generated job %s: %s"
msgstr ""

#. TRANSLATORS: keep the word "local" untranslated. It is a
#. special type of job that needs to be distinguished.
#: .././plainbox/impl/ctrl.py:343
#, python-format
msgid ""
"Local job %s produced job %s that collides with an existing job %s (from "
"%s), the new job was discarded"
msgstr ""

#: .././plainbox/impl/ctrl.py:369
#, python-format
msgid "Automatically breaking via-cycle: %s"
msgstr ""

#: .././plainbox/impl/ctrl.py:416
#, python-format
msgid "processing output from a job: %r"
msgstr ""

#. TRANSLATORS: keep the word "local" untranslated. It is a
#. special type of job that needs to be distinguished.
#: .././plainbox/impl/ctrl.py:435
#, python-format
msgid "local script %s returned invalid RFC822 data: %s"
msgstr ""

#: .././plainbox/impl/ctrl.py:465
#, python-format
msgid "Adding executable %s to nest %s"
msgstr ""

#: .././plainbox/impl/ctrl.py:474
#, python-format
msgid "Unable to create symlink s%s -> %s: %r"
msgstr ""

#. run the command
#: .././plainbox/impl/ctrl.py:536
#, python-format
msgid "job[%s] executing %r with env %r in cwd %r"
msgstr ""

#: .././plainbox/impl/ctrl.py:563
#, python-format
msgid "Symlink nest for executables: %s"
msgstr ""

#: .././plainbox/impl/ctrl.py:593
#, python-format
msgid "Job temporary current working directory: %s"
msgstr ""

#: .././plainbox/impl/ctrl.py:947
#, python-format
msgid "Generating job repr for job: %r"
msgstr ""

#. run the command
#: .././plainbox/impl/ctrl.py:1021
#, python-format
msgid "job[%s] executing %r withenv %r in cwd %r"
msgstr ""

#: .././plainbox/impl/ctrl.py:1150
#, python-format
msgid "Cannot check if plainbox-trusted-launcher-1 is available: %s"
msgstr ""

#: .././plainbox/impl/depmgr.py:97
msgid "unknown job referenced: {!a}"
msgstr ""

#: .././plainbox/impl/depmgr.py:153
msgid "dependency cycle detected: {}"
msgstr ""

#: .././plainbox/impl/depmgr.py:195
msgid "missing dependency: {!r} ({})"
msgstr ""

#: .././plainbox/impl/depmgr.py:248
msgid "duplicate job id: {!r}"
msgstr ""

#. Visit the visit list
#: .././plainbox/impl/depmgr.py:336
msgid "Starting solve"
msgstr ""

#: .././plainbox/impl/depmgr.py:337
#, python-format
msgid "Solver job list: %r"
msgstr ""

#: .././plainbox/impl/depmgr.py:338
#, python-format
msgid "Solver visit list: %r"
msgstr ""

#: .././plainbox/impl/depmgr.py:343
msgid "Done solving"
msgstr ""

#: .././plainbox/impl/depmgr.py:359
#, python-format
msgid "Visiting job that's not on the job_list: %r"
msgstr ""

#: .././plainbox/impl/depmgr.py:361
#, python-format
msgid "Visiting job %s (color %s)"
msgstr ""

#: .././plainbox/impl/depmgr.py:376
#, python-format
msgid "Found missing dependency: %r from %r"
msgstr ""

#. For each dependency that we visit let's reuse the trail
#. to give proper error messages if a dependency loop exists
#: .././plainbox/impl/depmgr.py:382
#, python-format
msgid "Visiting dependency: %r"
msgstr ""

#. We've visited (recursively) all dependencies of this node,
#. let's color it black and append it to the solution list.
#: .././plainbox/impl/depmgr.py:389
#, python-format
msgid "Appending %r to solution"
msgstr ""

#: .././plainbox/impl/depmgr.py:398
#, python-format
msgid "Found dependency cycle: %r"
msgstr ""

#: .././plainbox/impl/device.py:98
#, python-format
msgid "Unsupported platform: %s"
msgstr ""

#: .././plainbox/impl/exporter/__init__.py:228
msgid "Uncategorised"
msgstr ""

#: .././plainbox/impl/exporter/__init__.py:374
#, python-format
msgid "Unable to load %s: %s"
msgstr ""

#: .././plainbox/impl/exporter/__init__.py:376
#, python-format
msgid "Unable to import %s: %s"
msgstr ""

#: .././plainbox/impl/exporter/xlsx.py:88
msgid "Unsupported option: {}"
msgstr ""

#: .././plainbox/impl/exporter/xlsx.py:316
msgid "Platform Name"
msgstr ""

#: .././plainbox/impl/exporter/xlsx.py:318
msgid "BIOS"
msgstr ""

#: .././plainbox/impl/exporter/xlsx.py:320
msgid "Processors"
msgstr ""

#: .././plainbox/impl/exporter/xlsx.py:322
msgid "Chipset"
msgstr ""

#: .././plainbox/impl/exporter/xlsx.py:324
msgid "Memory"
msgstr ""

#. TRANSLATORS: on board as in 'built in card'
#: .././plainbox/impl/exporter/xlsx.py:327
msgid "Video (on board)"
msgstr ""

#. TRANSLATORS: add-on as in dedicated graphics card
#: .././plainbox/impl/exporter/xlsx.py:330
msgid "Video (add-on)"
msgstr ""

#: .././plainbox/impl/exporter/xlsx.py:332
msgid "Video memory"
msgstr ""

#: .././plainbox/impl/exporter/xlsx.py:334
msgid "Audio"
msgstr ""

#. TRANSLATORS: NIC is network interface card
#: .././plainbox/impl/exporter/xlsx.py:337
msgid "NIC"
msgstr ""

#. TRANSLTORS: Wireless as in wireless network cards
#: .././plainbox/impl/exporter/xlsx.py:340
msgid "Wireless"
msgstr ""

#: .././plainbox/impl/exporter/xlsx.py:342
msgid "Bluetooth"
msgstr ""

#: .././plainbox/impl/exporter/xlsx.py:346
msgid "Packages Installed"
msgstr ""

#: .././plainbox/impl/exporter/xlsx.py:348
#: .././plainbox/impl/exporter/xlsx.py:639
#: .././plainbox/impl/exporter/xlsx.py:651
msgid "Name"
msgstr ""

#: .././plainbox/impl/exporter/xlsx.py:348
msgid "Version"
msgstr ""

#: .././plainbox/impl/exporter/xlsx.py:373
#: .././plainbox/impl/exporter/xlsx.py:374
#: .././plainbox/impl/exporter/xlsx.py:375
msgid "N/A"
msgstr ""

#: .././plainbox/impl/exporter/xlsx.py:379
msgid "Failures summary"
msgstr ""

#: .././plainbox/impl/exporter/xlsx.py:384
msgid "{} Test passed"
msgid_plural "{} Tests passed"
msgstr[0] ""
msgstr[1] ""

#: .././plainbox/impl/exporter/xlsx.py:387
msgid "Success Rate: {} ({}/{})"
msgstr ""

#: .././plainbox/impl/exporter/xlsx.py:394
msgid "{} Test failed"
msgid_plural "{} Tests failed"
msgstr[0] ""
msgstr[1] ""

#: .././plainbox/impl/exporter/xlsx.py:397
msgid "Failure Rate: {} ({}/{})"
msgstr ""

#: .././plainbox/impl/exporter/xlsx.py:404
msgid "{} Test skipped"
msgid_plural "{} Tests skipped"
msgstr[0] ""
msgstr[1] ""

#: .././plainbox/impl/exporter/xlsx.py:407
msgid "Skip Rate: {} ({}/{})"
msgstr ""

#: .././plainbox/impl/exporter/xlsx.py:426
#: .././plainbox/impl/exporter/xlsx.py:427
#: .././plainbox/impl/exporter/xlsx.py:698
msgid "Summary"
msgstr ""

#: .././plainbox/impl/exporter/xlsx.py:552
#: .././plainbox/impl/exporter/xlsx.py:643
#: .././plainbox/impl/exporter/xlsx.py:695
msgid "Test Descriptions"
msgstr ""

#: .././plainbox/impl/exporter/xlsx.py:627
msgid "Tests Performed"
msgstr ""

#: .././plainbox/impl/exporter/xlsx.py:639
msgid "Result"
msgstr ""

#: .././plainbox/impl/exporter/xlsx.py:639
msgid "Certification Status"
msgstr ""

#: .././plainbox/impl/exporter/xlsx.py:639
msgid "I/O Log"
msgstr ""

#: .././plainbox/impl/exporter/xlsx.py:640
msgid "Comments"
msgstr ""

#: .././plainbox/impl/exporter/xlsx.py:651
msgid "Description"
msgstr ""

#: .././plainbox/impl/exporter/xlsx.py:690
msgid "System Info"
msgstr ""

#: .././plainbox/impl/exporter/xlsx.py:692
msgid "Test Results"
msgstr ""

#: .././plainbox/impl/exporter/xlsx.py:701
msgid "Log Files"
msgstr ""

#: .././plainbox/impl/exporter/xlsx.py:707
msgid "System Testing Report"
msgstr ""

#: .././plainbox/impl/logging.py:98
#, python-format
msgid "Unable to create log directory: %s"
msgstr ""

#: .././plainbox/impl/logging.py:99
#, python-format
msgid "Reason: %s. All logs will go to console instead."
msgstr ""

#: .././plainbox/impl/logging.py:110
#, python-format
msgid "Enabled %r on root logger"
msgstr ""

#: .././plainbox/impl/logging.py:117
#, python-format
msgid "Enabled debugging on logger %r"
msgstr ""

#. TODO: portable parser error would be nice, to know where it
#. fails. This is difficult at this stage.
#: .././plainbox/impl/parsers.py:142
msgid "Cannot parse input"
msgstr ""

#: .././plainbox/impl/providers/special.py:47
msgid "StubBox (dummy data for development)"
msgstr ""

#: .././plainbox/impl/providers/special.py:66
msgid "Common test category definitions"
msgstr ""

#: .././plainbox/impl/providers/special.py:86
msgid "Hardware Manifest Provider"
msgstr ""

#: .././plainbox/impl/resource.py:52
msgid "expression {!r} evaluated to a non-true result"
msgstr ""

#: .././plainbox/impl/resource.py:71
msgid "expression {!r} needs unavailable resource {!r}"
msgstr ""

#: .././plainbox/impl/resource.py:275
msgid "this kind of python code is not allowed: {}"
msgstr ""

#: .././plainbox/impl/resource.py:470
msgid "expression did not reference any resources"
msgstr ""

#: .././plainbox/impl/resource.py:479
msgid "expression referenced multiple resources"
msgstr ""

#: .././plainbox/impl/resource.py:485
msgid "syntax error in resource expression"
msgstr ""

#: .././plainbox/impl/resource.py:596
#, python-format
msgid "Exception in requirement expression %r (with %s=%r): %r"
msgstr ""

#: .././plainbox/impl/resource.py:651
msgid ""
"unable to parse imports statement {0!r}: expected exactly four or six tokens"
msgstr ""

#: .././plainbox/impl/resource.py:655
msgid "unable to parse imports statement {0!r}: expected 'from' keyword"
msgstr ""

#: .././plainbox/impl/resource.py:660
msgid ""
"unable to parse imports statement {0!r}: expected a namespace, not fully "
"qualified job identifier"
msgstr ""

#: .././plainbox/impl/resource.py:664
msgid "unable to parse imports statement {0!r}: expected 'import' keyword"
msgstr ""

#: .././plainbox/impl/resource.py:669
msgid ""
"unable to parse imports statement {0!r}: expected a partial job identifier, "
"not a fully qualified job identifier"
msgstr ""

#: .././plainbox/impl/resource.py:675
msgid "unable to parse imports statement {0!r}: expected 'as' keyword"
msgstr ""

#: .././plainbox/impl/result.py:123
msgctxt "textual outcome"
msgid "job didn't run"
msgstr ""

#: .././plainbox/impl/result.py:124
msgctxt "chart label"
msgid "not started"
msgstr ""

#: .././plainbox/impl/result.py:134
msgctxt "textual outcome"
msgid "job passed"
msgstr ""

#: .././plainbox/impl/result.py:135
msgctxt "chart label"
msgid "passed"
msgstr ""

#: .././plainbox/impl/result.py:145
msgctxt "textual outcome"
msgid "job failed"
msgstr ""

#: .././plainbox/impl/result.py:146
msgctxt "chart label"
msgid "failed"
msgstr ""

#: .././plainbox/impl/result.py:156
msgctxt "textual outcome"
msgid "job skipped"
msgstr ""

#: .././plainbox/impl/result.py:157
msgctxt "chart label"
msgid "skipped"
msgstr ""

#: .././plainbox/impl/result.py:167
msgctxt "textual outcome"
msgid "job cannot be started"
msgstr ""

#: .././plainbox/impl/result.py:168
msgctxt "chart label"
msgid "not supported"
msgstr ""

#: .././plainbox/impl/result.py:178
msgctxt "textual outcome"
msgid "job is not implemented"
msgstr ""

#: .././plainbox/impl/result.py:179
msgctxt "chart label"
msgid "not implemented"
msgstr ""

#: .././plainbox/impl/result.py:189
msgctxt "textual outcome"
msgid "job needs verification"
msgstr ""

#: .././plainbox/impl/result.py:190
msgctxt "chart label"
msgid "undecided"
msgstr ""

#: .././plainbox/impl/result.py:200
msgctxt "textual outcome"
msgid "job crashed"
msgstr ""

#: .././plainbox/impl/result.py:201
msgctxt "chart label"
msgid "crashed"
msgstr ""

#. TRANSLATORS: please keep DiskJobResult.io_log untranslated
#: .././plainbox/impl/result.py:516
#, python-format
msgid "Expensive DiskJobResult.io_log property access from %s:%d"
msgstr ""

#: .././plainbox/impl/result.py:541
#, python-format
msgid "Encoded %r into string %r"
msgstr ""

#. TRANSLATORS: io means input-output
#: .././plainbox/impl/runner.py:100
#, python-format
msgid "io log generated %r"
msgstr ""

#. TRANSLATORS: %r is the name of the job
#: .././plainbox/impl/runner.py:410
#, python-format
msgid "Running %r"
msgstr ""

#: .././plainbox/impl/runner.py:417
msgid "This type of job is not supported"
msgstr ""

#. TRANSLATORS: please keep 'plugin' untranslated
#: .././plainbox/impl/runner.py:450 .././plainbox/impl/runner.py:475
#: .././plainbox/impl/runner.py:501 .././plainbox/impl/runner.py:527
#: .././plainbox/impl/runner.py:553 .././plainbox/impl/runner.py:594
#: .././plainbox/impl/runner.py:638 .././plainbox/impl/runner.py:687
#: .././plainbox/impl/runner.py:712
msgid "bad job plugin value"
msgstr ""

#: .././plainbox/impl/runner.py:718 .././plainbox/impl/runner.py:790
msgid "No suitable execution controller is available)"
msgstr ""

#: .././plainbox/impl/runner.py:743
#, python-format
msgid "job[%s] starting qml shell: %s"
msgstr ""

#: .././plainbox/impl/runner.py:748
#, python-format
msgid "job[%s] shell return code: %r"
msgstr ""

#: .././plainbox/impl/runner.py:774
msgid "Job skipped in dry-run mode"
msgstr ""

#: .././plainbox/impl/runner.py:853
#, python-format
msgid "job[%s] extcmd delegate: %r"
msgstr ""

#: .././plainbox/impl/runner.py:868
#, python-brace-format
msgid "job {0} has no command to run"
msgstr ""

#: .././plainbox/impl/runner.py:895
#, python-format
msgid "job[%s] starting command: %s"
msgstr ""

#: .././plainbox/impl/runner.py:900
#, python-format
msgid "job[%s] command return code: %r"
msgstr ""

#: .././plainbox/impl/runner.py:936 .././plainbox/impl/session/state.py:455
msgid "No exec controller supports job {}"
msgstr ""

#: .././plainbox/impl/runner.py:938 .././plainbox/impl/session/state.py:457
#, python-format
msgid "Selected execution controller %s (score %d) for job %r"
msgstr ""

#: .././plainbox/impl/runner.py:965
#, python-brace-format
msgid ""
"Job {0} created leftover filesystem artefacts in its working directory"
msgstr ""

#: .././plainbox/impl/runner.py:968
#, python-format
msgid "Leftover file/directory: %r"
msgstr ""

#: .././plainbox/impl/runner.py:971
msgid ""
"Please store desired files in $PLAINBOX_SESSION_SHARE and use regular "
"temporary files for everything else"
msgstr ""

#: .././plainbox/impl/secure/config.py:87
msgid "unset"
msgstr ""

#: .././plainbox/impl/secure/config.py:124
msgid "unsupported kind"
msgstr ""

#: .././plainbox/impl/secure/config.py:568
#, python-format
msgid "Loading configuration from %s"
msgstr ""

#: .././plainbox/impl/secure/config.py:691
msgid "expected a boolean"
msgstr ""

#: .././plainbox/impl/secure/config.py:692
msgid "expected an integer"
msgstr ""

#: .././plainbox/impl/secure/config.py:693
msgid "expected a floating point number"
msgstr ""

#: .././plainbox/impl/secure/config.py:694
msgid "expected a string"
msgstr ""

#: .././plainbox/impl/secure/config.py:709
msgid "does not match pattern: {!r}"
msgstr ""

#: .././plainbox/impl/secure/config.py:728
msgid "must be one of {}"
msgstr ""

#: .././plainbox/impl/secure/config.py:752
msgid "must be set to something"
msgstr ""

#: .././plainbox/impl/secure/config.py:773
msgid "cannot be empty"
msgstr ""

#: .././plainbox/impl/secure/launcher1.py:63
msgid "Cannot find job with checksum {}"
msgstr ""

#: .././plainbox/impl/secure/launcher1.py:121
#, python-format
msgid "Syntax error in record generated from %s: %s"
msgstr ""

#: .././plainbox/impl/secure/launcher1.py:189
msgid "Security elevation mechanism for plainbox"
msgstr ""

#. TRANSLATORS: don't translate pkexec(1)
#: .././plainbox/impl/secure/launcher1.py:195
msgid "return immediately, only useful when used with pkexec(1)"
msgstr ""

#: .././plainbox/impl/secure/launcher1.py:198
#: .././plainbox/impl/secure/launcher1.py:210
msgid "CHECKSUM"
msgstr ""

#: .././plainbox/impl/secure/launcher1.py:199
msgid "run a job with this checksum"
msgstr ""

#: .././plainbox/impl/secure/launcher1.py:200
msgid "target job specification"
msgstr ""

#: .././plainbox/impl/secure/launcher1.py:202
#: .././plainbox/impl/secure/launcher1.py:219
msgid "NAME=VALUE"
msgstr ""

#: .././plainbox/impl/secure/launcher1.py:206
msgid "environment passed to the target job"
msgstr ""

#: .././plainbox/impl/secure/launcher1.py:207
msgid "generator job specification"
msgstr ""

#. TRANSLATORS: don't translate 'local' in the sentence below. It
#. denotes a special type of job, not its location.
#: .././plainbox/impl/secure/launcher1.py:213
msgid "also run a job with this checksum (assuming it is a local job)"
msgstr ""

#: .././plainbox/impl/secure/launcher1.py:221
msgid "environment passed to the generator job"
msgstr ""

#: .././plainbox/impl/secure/origin.py:216
msgid "???"
msgstr ""

#: .././plainbox/impl/secure/origin.py:348
msgid "command line argument {}={!a}"
msgstr ""

#: .././plainbox/impl/secure/origin.py:351
msgid "command line argument {!a}"
msgstr ""

#: .././plainbox/impl/secure/plugins.py:407
#, python-format
msgid "Unable to prepare plugin %s: %s"
msgstr ""

#: .././plainbox/impl/secure/plugins.py:423
msgid "discovery_time is meaningful after calling load()"
msgstr ""

#: .././plainbox/impl/secure/plugins.py:493
#, python-format
msgid "Unable to import %s"
msgstr ""

#: .././plainbox/impl/secure/plugins.py:569
#, python-format
msgid "Unable to load %r: %s"
msgstr ""

#: .././plainbox/impl/secure/plugins.py:708
#, python-format
msgid "Loading everything in %r"
msgstr ""

#: .././plainbox/impl/secure/plugins.py:725
#, python-format
msgid "Loading %r"
msgstr ""

#: .././plainbox/impl/secure/plugins.py:728
#, python-format
msgid "Unable to load: %r"
msgstr ""

#: .././plainbox/impl/secure/plugins.py:731
#, python-format
msgid "Wrapping %r"
msgstr ""

#: .././plainbox/impl/secure/plugins.py:745
#, python-format
msgid "Importing %s"
msgstr ""

#: .././plainbox/impl/secure/plugins.py:750
#, python-format
msgid "Calling %r with %r"
msgstr ""

#: .././plainbox/impl/secure/providers/v1.py:87
msgid "Cannot load {!r}: {}"
msgstr ""

#: .././plainbox/impl/secure/providers/v1.py:258
#, python-format
msgid "Loading units from %r..."
msgstr ""

#: .././plainbox/impl/secure/providers/v1.py:264
msgid "Cannot load job definitions from {!r}: {}"
msgstr ""

#: .././plainbox/impl/secure/providers/v1.py:273
msgid "Unknown unit type: {!r}"
msgstr ""

#: .././plainbox/impl/secure/providers/v1.py:278
msgid "Cannot define unit from record {!r}: {}"
msgstr ""

#: .././plainbox/impl/secure/providers/v1.py:284
msgid "Problem in unit definition, {}"
msgstr ""

#: .././plainbox/impl/secure/providers/v1.py:290
msgid "Problem in unit definition, field {}: {}"
msgstr ""

#: .././plainbox/impl/secure/providers/v1.py:293
#, python-format
msgid "Loaded %r"
msgstr ""

#: .././plainbox/impl/secure/providers/v1.py:1223
msgid "must look like RFC3720 IQN"
msgstr ""

#: .././plainbox/impl/secure/providers/v1.py:1240
msgid "must be a sequence of digits separated by dots"
msgstr ""

#: .././plainbox/impl/secure/providers/v1.py:1250
msgid "no such directory"
msgstr ""

#: .././plainbox/impl/secure/providers/v1.py:1260
msgid "cannot be relative"
msgstr ""

#: .././plainbox/impl/secure/providers/v1.py:1279
msgid "Base directory with provider data"
msgstr ""

#: .././plainbox/impl/secure/providers/v1.py:1289
msgid "Name of the provider"
msgstr ""

#: .././plainbox/impl/secure/providers/v1.py:1302
msgid "Version of the provider"
msgstr ""

#: .././plainbox/impl/secure/providers/v1.py:1311
msgid "Description of the provider"
msgstr ""

#: .././plainbox/impl/secure/providers/v1.py:1315
msgid "Name of the gettext domain for translations"
msgstr ""

#: .././plainbox/impl/secure/providers/v1.py:1334
msgid "Pathname of the directory with unit definitions"
msgstr ""

#: .././plainbox/impl/secure/providers/v1.py:1370
msgid "Pathname of the directory with job definitions"
msgstr ""

#: .././plainbox/impl/secure/providers/v1.py:1406
msgid "Pathname of the directory with whitelists definitions"
msgstr ""

#: .././plainbox/impl/secure/providers/v1.py:1443
msgid "Pathname of the directory with provider data"
msgstr ""

#: .././plainbox/impl/secure/providers/v1.py:1479
msgid "Pathname of the directory with provider executables"
msgstr ""

#: .././plainbox/impl/secure/providers/v1.py:1515
msgid "Pathname of the directory with locale data"
msgstr ""

#: .././plainbox/impl/secure/providers/v1.py:1585
msgid "Problem in provider definition, field {!a}: {}"
msgstr ""

#: .././plainbox/impl/secure/qualifiers.py:56
#: .././plainbox/impl/secure/qualifiers.py:59
msgid "argument {!a}, expected {}, got {}"
msgstr ""

#: .././plainbox/impl/secure/rfc822.py:311
#, python-format
msgid "Committed key/value %r=%r"
msgstr ""

#: .././plainbox/impl/secure/rfc822.py:336
#, python-format
msgid "Looking at line %d:%r"
msgstr ""

#: .././plainbox/impl/secure/rfc822.py:348
#: .././plainbox/impl/secure/rfc822.py:416
#, python-format
msgid "yielding record: %r"
msgstr ""

#. If we have not seen any keys yet then this is a syntax error
#: .././plainbox/impl/secure/rfc822.py:357
msgid "Unexpected multi-line value"
msgstr ""

#: .././plainbox/impl/secure/rfc822.py:385
msgid "Job has a duplicate key {!r} with old value {!r} and new value {!r}"
msgstr ""

#: .././plainbox/impl/secure/rfc822.py:411
msgid "Unexpected non-empty line: {!r}"
msgstr ""

#: .././plainbox/impl/session/jobs.py:77
msgid "unsupported value for cause"
msgstr ""

#. TRANSLATORS: please don't translate related_job, None and
#. cause
#: .././plainbox/impl/session/jobs.py:167
msgid "related_job must not be None when cause is {}"
msgstr ""

#. TRANSLATORS: please don't translate related_expression, None
#. and cause.
#: .././plainbox/impl/session/jobs.py:175
msgid "related_expression must not be None when cause is {}"
msgstr ""

#. TRANSLATORS: as in undesired job
#: .././plainbox/impl/session/jobs.py:186
msgid "undesired"
msgstr ""

#: .././plainbox/impl/session/jobs.py:188
msgid "required dependency {!r} did not run yet"
msgstr ""

#: .././plainbox/impl/session/jobs.py:191
msgid "required dependency {!r} has failed"
msgstr ""

#: .././plainbox/impl/session/jobs.py:195
msgid ""
"resource expression {!r} could not be evaluated because the resource it "
"depends on did not run yet"
msgstr ""

#: .././plainbox/impl/session/jobs.py:200
msgid "resource expression {!r} evaluates to false"
msgstr ""

#: .././plainbox/impl/session/jobs.py:313
msgid "job cannot be started: {}"
msgstr ""

#: .././plainbox/impl/session/jobs.py:317
msgid "job can be started"
msgstr ""

#: .././plainbox/impl/session/jobs.py:364
msgid "{!r} is not overridable"
msgstr ""

#: .././plainbox/impl/session/legacy.py:182
msgid ".manager accessed"
msgstr ""

#: .././plainbox/impl/session/legacy.py:186
msgid "Session not ready, did you call open()?"
msgstr ""

#: .././plainbox/impl/session/legacy.py:227
msgid "_commit_resume() finished"
msgstr ""

#: .././plainbox/impl/session/manager.py:96
#: .././plainbox/impl/session/manager.py:453
msgid ""
"session manager currently doesn't support sessions involving multiple "
"devices (a.k.a multi-node testing)"
msgstr ""

#: .././plainbox/impl/session/manager.py:362
#, python-format
msgid "Saving %d byte of checkpoint data to %r"
msgid_plural "Saving %d bytes of checkpoint data to %r"
msgstr[0] ""
msgstr[1] ""

#: .././plainbox/impl/session/manager.py:397
msgid ""
"attmpting to add a context for device {} which is already represented in "
"this session manager"
msgstr ""

#: .././plainbox/impl/session/manager.py:426
msgid ""
"attempting to remove a device context not present in this session manager"
msgstr ""

#: .././plainbox/impl/session/manager.py:437
#, python-format
msgid "Device context %s added to session manager %s"
msgstr ""

#: .././plainbox/impl/session/manager.py:447
#, python-format
msgid "Device context %s removed from session manager %s"
msgstr ""

#: .././plainbox/impl/session/manager.py:458
msgid "Propagating test plans to all devices"
msgstr ""

#: .././plainbox/impl/session/resume.py:126
msgid "Cannot decompress session data"
msgstr ""

#: .././plainbox/impl/session/resume.py:130
msgid "Cannot decode session text"
msgstr ""

#: .././plainbox/impl/session/resume.py:134
msgid "Cannot interpret session JSON"
msgstr ""

#: .././plainbox/impl/session/resume.py:163
msgid "Peeking at json... (see below)"
msgstr ""

#: .././plainbox/impl/session/resume.py:179
#: .././plainbox/impl/session/resume.py:303
msgid "Unsupported version {}"
msgstr ""

#: .././plainbox/impl/session/resume.py:282
msgid "Resuming from json... (see below)"
msgstr ""

#: .././plainbox/impl/session/resume.py:338
msgid "Each flag must be a string"
msgstr ""

#. TRANSLATORS: please don't translate app_blob
#: .././plainbox/impl/session/resume.py:366
msgid "app_blob is not ASCII"
msgstr ""

#. TRANSLATORS: please don't translate app_blob
#: .././plainbox/impl/session/resume.py:371
msgid "Cannot base64 decode app_blob"
msgstr ""

#: .././plainbox/impl/session/resume.py:425
#: .././plainbox/impl/session/resume.py:593
msgid "Starting to restore metadata..."
msgstr ""

#: .././plainbox/impl/session/resume.py:577
#, python-format
msgid "Constructed new session for resume %r"
msgstr ""

#: .././plainbox/impl/session/resume.py:583
#, python-format
msgid "Invoking early callback %r"
msgstr ""

#: .././plainbox/impl/session/resume.py:587
#, python-format
msgid "Using different session for resume: %r"
msgstr ""

#: .././plainbox/impl/session/resume.py:591
#, python-format
msgid "Starting to restore jobs and results to %r..."
msgstr ""

#: .././plainbox/impl/session/resume.py:595
#, python-format
msgid "restored metadata %r"
msgstr ""

#: .././plainbox/impl/session/resume.py:596
msgid "Starting to restore desired job list..."
msgstr ""

#: .././plainbox/impl/session/resume.py:598
msgid "Starting to restore job list..."
msgstr ""

#. Return whatever we've got
#: .././plainbox/impl/session/resume.py:601
msgid "Resume complete!"
msgstr ""

#: .././plainbox/impl/session/resume.py:658
msgid "Unknown jobs remaining: {}"
msgstr ""

#: .././plainbox/impl/session/resume.py:693
#, python-format
msgid "Ignoring changes to job %r)"
msgstr ""

#: .././plainbox/impl/session/resume.py:696
msgid "Definition of job {!r} has changed"
msgstr ""

#: .././plainbox/impl/session/resume.py:715
#, python-format
msgid "calling update_job_result(%r, %r)"
msgstr ""

#: .././plainbox/impl/session/resume.py:732
msgid "Each job id must be a string"
msgstr ""

#: .././plainbox/impl/session/resume.py:737
#, python-format
msgid "calling update_desired_job_list(%r)"
msgstr ""

#: .././plainbox/impl/session/resume.py:744
msgid "'desired_job_list' refers to unknown job {!r}"
msgstr ""

#: .././plainbox/impl/session/resume.py:809
#, python-format
msgid "Rewrote file name from %r to %r"
msgstr ""

#: .././plainbox/impl/session/resume.py:815
msgid "cannot access file: {!r}"
msgstr ""

#. TRANSLATORS: please keep delay untranslated
#: .././plainbox/impl/session/resume.py:854
msgid "delay cannot be negative"
msgstr ""

#: .././plainbox/impl/session/resume.py:866
msgid "record data {!r} is not ASCII"
msgstr ""

#: .././plainbox/impl/session/resume.py:871
msgid "record data {!r} is not correct base64"
msgstr ""

#: .././plainbox/impl/session/resume.py:968
msgid "key {!r}"
msgstr ""

#: .././plainbox/impl/session/resume.py:974
msgid "Missing value for key {!r}"
msgstr ""

#: .././plainbox/impl/session/resume.py:978
msgid "object"
msgstr ""

#: .././plainbox/impl/session/resume.py:984
msgid "Value of {} cannot be None"
msgstr ""

#: .././plainbox/impl/session/resume.py:992
msgid "Value of {} is of incorrect type {}"
msgstr ""

#: .././plainbox/impl/session/resume.py:1001
msgid "Value for {} not in allowed set {!r}"
msgstr ""

#. TRANSLATORS: please don't translate app_blob, None and bytes
#: .././plainbox/impl/session/state.py:165
msgid "app_blob must be either None or bytes"
msgstr ""

#. TRANSLATORS: please don't translate app_blob, None and bytes
#: .././plainbox/impl/session/state.py:183
msgid "app_id must be either None or str"
msgstr ""

#: .././plainbox/impl/session/state.py:385
msgid "attempting to add the same provider twice"
msgstr ""

#: .././plainbox/impl/session/state.py:407
msgid "attempting to add the same unit twice"
msgstr ""

#: .././plainbox/impl/session/state.py:423
msgid "attempting to remove unit not in this context"
msgstr ""

#: .././plainbox/impl/session/state.py:464
#, python-format
msgid "Provider %s added to context %s"
msgstr ""

#: .././plainbox/impl/session/state.py:472
#, python-format
msgid "Unit %s added to context %s"
msgstr ""

#: .././plainbox/impl/session/state.py:484
#, python-format
msgid "Unit %s removed from context %s"
msgstr ""

#: .././plainbox/impl/session/state.py:678
#, python-format
msgid "Job %s result changed to %r"
msgstr ""

#: .././plainbox/impl/session/state.py:793
msgid "cannot remove jobs that are on the run list: {}"
msgstr ""

#: .././plainbox/impl/session/storage.py:115
#, python-format
msgid "Enumerating sessions in %s"
msgstr ""

#: .././plainbox/impl/session/storage.py:135
#, python-format
msgid "Found possible session in %r"
msgstr ""

#: .././plainbox/impl/session/storage.py:173
#, python-format
msgid "Session repository %s it not a directory"
msgstr ""

#: .././plainbox/impl/session/storage.py:178
#, python-format
msgid "Session repository %s is read-only"
msgstr ""

#: .././plainbox/impl/session/storage.py:183
#, python-format
msgid "Using temporary directory %s as session repository"
msgstr ""

#: .././plainbox/impl/session/storage.py:280
#, python-format
msgid "Created new storage in %r"
msgstr ""

#: .././plainbox/impl/session/storage.py:304
#, python-format
msgid "%r is not a symlink, repository %r must be corrupted"
msgstr ""

#: .././plainbox/impl/session/storage.py:308
#, python-format
msgid "Unable to read symlink target from %r: %r"
msgstr ""

#: .././plainbox/impl/session/storage.py:312
#, python-format
msgid "Removing storage associated with last session %r"
msgstr ""

#: .././plainbox/impl/session/storage.py:319
#, python-format
msgid "Removing symlink associated with last session: %r"
msgstr ""

#: .././plainbox/impl/session/storage.py:325
#, python-format
msgid "Linking storage %r to last session"
msgstr ""

#: .././plainbox/impl/session/storage.py:330
#, python-format
msgid "Cannot link %r as %r: %r"
msgstr ""

#: .././plainbox/impl/session/storage.py:337
#, python-format
msgid "Removing session storage from %r"
msgstr ""

#. TRANSLATORS: unlinking as in deleting a file
#. Please keep the 'next' string untranslated
#: .././plainbox/impl/session/storage.py:419
#, python-format
msgid "Forcibly unlinking 'next' file %r"
msgstr ""

#: .././plainbox/impl/session/storage.py:423
#, python-format
msgid "Loading checkpoint (%s)"
msgstr ""

#: .././plainbox/impl/session/storage.py:429
#: .././plainbox/impl/session/storage.py:471
#, python-format
msgid "Opened session state file %r as descriptor %d"
msgstr ""

#. TRANSLATORS: stat is a system call name, don't translate it
#: .././plainbox/impl/session/storage.py:435
#: .././plainbox/impl/session/storage.py:477
#, python-format
msgid "Stat'ed session state file: %s"
msgstr ""

#: .././plainbox/impl/session/storage.py:439
#: .././plainbox/impl/session/storage.py:481
#, python-format
msgid "Reading %d byte of session state"
msgid_plural "Reading %d bytes of session state"
msgstr[0] ""
msgstr[1] ""

#: .././plainbox/impl/session/storage.py:444
#: .././plainbox/impl/session/storage.py:486
#, python-format
msgid "Read %d byte of session state"
msgid_plural "Read %d bytes of session state"
msgstr[0] ""
msgstr[1] ""

#: .././plainbox/impl/session/storage.py:447
#: .././plainbox/impl/session/storage.py:489
#: .././plainbox/impl/session/storage.py:519
msgid "partial read?"
msgstr ""

#. Close the session file
#. Close the location directory
#: .././plainbox/impl/session/storage.py:450
#: .././plainbox/impl/session/storage.py:492
#: .././plainbox/impl/session/storage.py:503
#, python-format
msgid "Closed descriptor %d"
msgstr ""

#: .././plainbox/impl/session/storage.py:465
#, python-format
msgid "Opened session directory %r as descriptor %d"
msgstr ""

#: .././plainbox/impl/session/storage.py:545
#: .././plainbox/impl/session/storage.py:643
#: .././plainbox/impl/session/storage.py:756
#, python-format
msgid "Saving %d byte of data (%s)"
msgid_plural "Saving %d bytes of data (%s)"
msgstr[0] ""
msgstr[1] ""

#: .././plainbox/impl/session/storage.py:573
#: .././plainbox/impl/session/storage.py:677
#: .././plainbox/impl/session/storage.py:788
#, python-format
msgid "Opened next session file %s as descriptor %d"
msgstr ""

#: .././plainbox/impl/session/storage.py:584
#: .././plainbox/impl/session/storage.py:688
#: .././plainbox/impl/session/storage.py:799
#, python-format
msgid "Wrote %d byte of data to descriptor %d"
msgid_plural "Wrote %d bytes of data to descriptor %d"
msgstr[0] ""
msgstr[1] ""

#: .././plainbox/impl/session/storage.py:588
#: .././plainbox/impl/session/storage.py:692
#: .././plainbox/impl/session/storage.py:803
msgid "partial write?"
msgstr ""

#: .././plainbox/impl/session/storage.py:590
#, python-format
msgid "Unable to complete write: %s"
msgstr ""

#. If anything goes wrong we should unlink the next file.
#. TRANSLATORS: unlinking as in deleting a file
#: .././plainbox/impl/session/storage.py:593
#, python-format
msgid "Unlinking %r: %r"
msgstr ""

#. TRANSLATORS: please don't translate fsync()
#. Flush kernel buffers on the directory.
#. 
#. This should ensure the rename operation is really on disk by now.
#. As noted above, this is essential for being able to survive
#. system crash immediately after exiting this method.
#. TRANSLATORS: please don't translate fsync()
#: .././plainbox/impl/session/storage.py:602
#: .././plainbox/impl/session/storage.py:706
#: .././plainbox/impl/session/storage.py:741
#: .././plainbox/impl/session/storage.py:819
#: .././plainbox/impl/session/storage.py:856
#, python-format
msgid "Calling fsync() on descriptor %d"
msgstr ""

#: .././plainbox/impl/session/storage.py:606
#: .././plainbox/impl/session/storage.py:710
#: .././plainbox/impl/session/storage.py:823
#, python-format
msgid "Cannot synchronize file %r: %s"
msgstr ""

#. Close the new session file
#. Close the location directory
#. Close the new session file
#. Close the location directory
#: .././plainbox/impl/session/storage.py:610
#: .././plainbox/impl/session/storage.py:714
#: .././plainbox/impl/session/storage.py:749
#: .././plainbox/impl/session/storage.py:827
#: .././plainbox/impl/session/storage.py:864
#, python-format
msgid "Closing descriptor %d"
msgstr ""

#. Rename FILE_NEXT over FILE.
#: .././plainbox/impl/session/storage.py:613
#: .././plainbox/impl/session/storage.py:717
#: .././plainbox/impl/session/storage.py:834
#, python-format
msgid "Renaming %r to %r"
msgstr ""

#: .././plainbox/impl/session/storage.py:622
#: .././plainbox/impl/session/storage.py:726
#: .././plainbox/impl/session/storage.py:844
#, python-format
msgid "Unable to rename/overwrite %r to %r: %r"
msgstr ""

#. TRANSLATORS: unlinking as in deleting a file
#. If anything goes wrong we should unlink the next file.
#. TRANSLATORS: unlinking as in deleting a file
#. Same as above, if we fail we need to unlink the next file
#. otherwise any other attempts will not be able to open() it
#. with O_EXCL flag.
#. TRANSLATORS: unlinking as in deleting a file
#. If anything goes wrong we should unlink the next file. As
#. with the open() call above we use unlinkat to prevent race
#. conditions.
#. TRANSLATORS: unlinking as in deleting a file
#: .././plainbox/impl/session/storage.py:625
#: .././plainbox/impl/session/storage.py:697
#: .././plainbox/impl/session/storage.py:732
#: .././plainbox/impl/session/storage.py:810
#: .././plainbox/impl/session/storage.py:847
#, python-format
msgid "Unlinking %r"
msgstr ""

#: .././plainbox/impl/session/storage.py:654
#: .././plainbox/impl/session/storage.py:763
#, python-format
msgid "Opened %r as descriptor %d"
msgstr ""

#: .././plainbox/impl/session/storage.py:694
#: .././plainbox/impl/session/storage.py:805
#, python-format
msgid "Unable to complete write: %r"
msgstr ""

#: .././plainbox/impl/session/storage.py:745
#: .././plainbox/impl/session/storage.py:860
#, python-format
msgid "Cannot synchronize directory %r: %s"
msgstr ""

#: .././plainbox/impl/transport.py:76
msgid "No valid options in option string"
msgstr ""

#: .././plainbox/impl/transport.py:91
msgid "Unable to import {}: {}"
msgstr ""

#: .././plainbox/impl/unit/_legacy.py:300
#, python-brace-format
msgid "invalid regular expression: {0}"
msgstr ""

#: .././plainbox/impl/unit/category.py:102
msgid "category"
msgstr ""

#: .././plainbox/impl/unit/category.py:119 .././plainbox/impl/unit/job.py:650
#: .././plainbox/impl/unit/testplan.py:415
msgid "please use only one line"
msgstr ""

#: .././plainbox/impl/unit/category.py:125 .././plainbox/impl/unit/job.py:656
#: .././plainbox/impl/unit/testplan.py:421
msgid "please stay under 80 characters"
msgstr ""

#: .././plainbox/impl/unit/file.py:123
msgid "file"
msgstr ""

#: .././plainbox/impl/unit/file.py:142
msgid ""
"please use .pxu as an extension for all files with plainbox units, see: {}"
msgstr ""

#: .././plainbox/impl/unit/file.py:152 .././plainbox/impl/unit/job.py:666
#: .././plainbox/impl/unit/job.py:902
msgid "valid values are: {}"
msgstr ""

#: .././plainbox/impl/unit/job.py:417
msgid "PURPOSE"
msgstr ""

#: .././plainbox/impl/unit/job.py:418
msgid "STEPS"
msgstr ""

#: .././plainbox/impl/unit/job.py:419
msgid "VERIFICATION"
msgstr ""

#: .././plainbox/impl/unit/job.py:550
#, python-format
msgid "unable to parse depends: %s"
msgstr ""

#. TRANSLATORS: don't translate record.origin or JobOutputTextSource
#: .././plainbox/impl/unit/job.py:600
msgid "record.origin must be a JobOutputTextSource"
msgstr ""

#. TRANSLATORS: don't translate record.origin.source.job
#: .././plainbox/impl/unit/job.py:603
msgid "record.origin.source.job must be this job"
msgstr ""

#: .././plainbox/impl/unit/job.py:608
msgid "job"
msgstr ""

#: .././plainbox/impl/unit/job.py:639
msgid "use 'id' and 'summary' instead of 'name'"
msgstr ""

#: .././plainbox/impl/unit/job.py:672
msgid ""
"please migrate to job templates, see plainbox-template-unit(7) for details"
msgstr ""

#: .././plainbox/impl/unit/job.py:677
msgid "please migrate to user-interact-verify"
msgstr ""

#: .././plainbox/impl/unit/job.py:683
msgid "command is mandatory for non-manual jobs"
msgstr ""

#: .././plainbox/impl/unit/job.py:687
msgid "command on a manual or qml job makes no sense"
msgstr ""

#: .././plainbox/impl/unit/job.py:693
msgid "please use PLAINBOX_PROVIDER_DATA instead of CHECKBOX_SHARE"
msgstr ""

#: .././plainbox/impl/unit/job.py:700
msgid "please use PLAINBOX_SESSION_SHARE instead of CHECKBOX_DATA"
msgstr ""

#: .././plainbox/impl/unit/job.py:711
msgid ""
"manual jobs must have a description field, or a set of purpose, steps, and "
"verification fields"
msgstr ""

#: .././plainbox/impl/unit/job.py:722
msgid ""
"all jobs should have a description field, or a set of purpose, steps and "
"verification fields"
msgstr ""

#: .././plainbox/impl/unit/job.py:764
msgid "user can only be 'root'"
msgstr ""

#: .././plainbox/impl/unit/job.py:768
msgid "user without a command makes no sense"
msgstr ""

#: .././plainbox/impl/unit/job.py:776
msgid "environ without a command makes no sense"
msgstr ""

#: .././plainbox/impl/unit/job.py:799 .././plainbox/impl/unit/job.py:813
#: .././plainbox/impl/unit/job.py:846 .././plainbox/impl/unit/template.py:433
msgid "the referenced unit is not a job"
msgstr ""

#: .././plainbox/impl/unit/job.py:820 .././plainbox/impl/unit/template.py:440
msgid "the referenced job is not a resource job"
msgstr ""

#: .././plainbox/impl/unit/job.py:831
msgid "only /bin/sh and /bin/bash are allowed"
msgstr ""

#: .././plainbox/impl/unit/job.py:861
msgid "the referenced unit is not a category"
msgstr ""

#: .././plainbox/impl/unit/job.py:873
msgid ""
"please ensure that the command supports non-C locale then set the preserve-"
"locale flag"
msgstr ""

#: .././plainbox/impl/unit/job.py:886
msgid "use the .qml extension for all QML files"
msgstr ""

#: .././plainbox/impl/unit/job.py:891
msgid "please point to an existing QML file"
msgstr ""

#: .././plainbox/impl/unit/packaging.py:220
#: .././plainbox/impl/unit/packaging.py:227
#: .././plainbox/impl/unit/packaging.py:233
#, python-format
msgid "Considering strategy: %s"
msgstr ""

#: .././plainbox/impl/unit/packaging.py:221
msgid "os-id == ID and os-version-id == VERSION"
msgstr ""

#: .././plainbox/impl/unit/packaging.py:228
msgid "os-id == ID and os-version-id == undefined"
msgstr ""

#: .././plainbox/impl/unit/packaging.py:234
msgid "os-id == ID_LIKE and os-version-id == undefined"
msgstr ""

#: .././plainbox/impl/unit/packaging.py:252
msgid "All strategies unsuccessful"
msgstr ""

#: .././plainbox/impl/unit/packaging.py:254
msgid "Last strategy was successful"
msgstr ""

#: .././plainbox/impl/unit/packaging.py:308
msgid ""
"There are no applicable binary packages.\n"
"Add 'X-Plainbox-Provider: yes' to each binary package that contains a "
"provider"
msgstr ""

#: .././plainbox/impl/unit/packaging.py:326
#, python-format
msgid "Writing %s"
msgstr ""

#: .././plainbox/impl/unit/packaging.py:341
msgid "Loading debian/control"
msgstr ""

#: .././plainbox/impl/unit/packaging.py:350
#, python-format
msgid "Found binary provider package: %s"
msgstr ""

#: .././plainbox/impl/unit/packaging.py:355
msgid ""
"There is no appropriate packaging in this directory.\n"
"The file debian/control could not be found"
msgstr ""

#: .././plainbox/impl/unit/packaging.py:365
msgid "Using Debian packaging driver"
msgstr ""

#: .././plainbox/impl/unit/packaging.py:367
msgid "Using null packaging driver"
msgstr ""

#: .././plainbox/impl/unit/template.py:73
msgid "unable to instantiate template: {}"
msgstr ""

#: .././plainbox/impl/unit/template.py:401
msgid "template"
msgstr ""

#: .././plainbox/impl/unit/template.py:421
msgid "template should explicitly define instantiated unit type"
msgstr ""

#: .././plainbox/impl/unit/template.py:461
msgid "at most one import statement is allowed"
msgstr ""

#. TODO: compute potential_id_map
#: .././plainbox/impl/unit/testplan.py:77
msgid "selector {!a} may not match any known or generated job"
msgstr ""

#: .././plainbox/impl/unit/unit.py:117
msgid "{}.Meta.fields[{!r}] is not a validator"
msgstr ""

#: .././plainbox/impl/unit/unit.py:129
msgid "{}.Meta.fields[{!r}][{}] is not a validator"
msgstr ""

#: .././plainbox/impl/unit/unit.py:198
msgid "unable to deduce message and no message provided"
msgstr ""

#: .././plainbox/impl/unit/unit.py:240
msgid "field {field!a}, {message}"
msgstr ""

#: .././plainbox/impl/unit/unit.py:244
msgid "required field missing"
msgstr ""

#: .././plainbox/impl/unit/unit.py:245 .././plainbox/provider_manager.py:969
msgid "incorrect value supplied"
msgstr ""

#: .././plainbox/impl/unit/unit.py:246
msgid "definition useless in this context"
msgstr ""

#: .././plainbox/impl/unit/unit.py:247
msgid "deprecated field used"
msgstr ""

#: .././plainbox/impl/unit/unit.py:248
msgid "value must be variant (parametrized)"
msgstr ""

#: .././plainbox/impl/unit/unit.py:249
msgid "value must be invariant (unparametrized)"
msgstr ""

#: .././plainbox/impl/unit/unit.py:250
msgid "field refers to unknown parameter"
msgstr ""

#: .././plainbox/impl/unit/unit.py:251
msgid "field value is not unique"
msgstr ""

#: .././plainbox/impl/unit/unit.py:252
msgid "field should be marked as translatable"
msgstr ""

#: .././plainbox/impl/unit/unit.py:254
msgid "field should not be marked as translatable"
msgstr ""

#: .././plainbox/impl/unit/unit.py:255
msgid "syntax error inside the field"
msgstr ""

#: .././plainbox/impl/unit/unit.py:256
msgid "bad reference to another unit"
msgstr ""

#: .././plainbox/impl/unit/unit.py:348
msgid "Please define 'name' in {}.Meta"
msgstr ""

#: .././plainbox/impl/unit/unit.py:852
msgid "unit should explicitly define its type"
msgstr ""

#: .././plainbox/impl/unit/unit_with_id.py:68
msgid "{unit} {id!a}, field {field!a}, {message}"
msgstr ""

#: .././plainbox/impl/unit/unit_with_id.py:107
msgid "unit-with-id"
msgstr ""

#: .././plainbox/impl/unit/unit_with_id.py:128
msgid "identifier cannot define a custom namespace"
msgstr ""

#: .././plainbox/impl/unit/validators.py:454
msgid "reference to unknown parameter {!r}"
msgstr ""

#: .././plainbox/impl/unit/validators.py:552
#, python-brace-format
msgid "clashes with {0} other unit"
msgid_plural "clashes with {0} other units"
msgstr[0] ""
msgstr[1] ""

#: .././plainbox/impl/unit/validators.py:623
msgid "unit {!a} is not available"
msgstr ""

#: .././plainbox/impl/unit/validators.py:639
msgid "referee constraint failed"
msgstr ""

#: .././plainbox/impl/unit/validators.py:645
msgid "multiple units with id {!a}: {}"
msgstr ""

#: .././plainbox/impl/validation.py:59
msgid "error"
msgstr ""

#: .././plainbox/impl/validation.py:60
msgid "warning"
msgstr ""

#: .././plainbox/impl/validation.py:61
msgid "advice"
msgstr ""

#: .././plainbox/impl/validation.py:119
msgid "Problem with field {}: {}"
msgstr ""

#: .././plainbox/impl/xparsers.py:461 .././plainbox/impl/xparsers.py:471
msgid "expected {!a} near {!r}"
msgstr ""

#: .././plainbox/impl/xparsers.py:465 .././plainbox/impl/xparsers.py:612
msgid "expected override value"
msgstr ""

#: .././plainbox/impl/xparsers.py:475
msgid "expected override pattern"
msgstr ""

#: .././plainbox/impl/xparsers.py:481
msgid "unexpected garbage: {!r}"
msgstr ""

#: .././plainbox/impl/xparsers.py:592
msgid "expected pattern"
msgstr ""

#: .././plainbox/impl/xparsers.py:603
msgid "expected override field"
msgstr ""

#: .././plainbox/impl/xparsers.py:608
msgid "expected '='"
msgstr ""

#: .././plainbox/impl/xparsers.py:625
msgid "expected ','"
msgstr ""

#. TRANSLATORS: please leave various options (both long and short forms),
#. environment variables and paths in their original form. Also keep the
#. special @EPILOG@, @UNIX_LAYOUT@ and @FLAT_LAYOUT@ strings. The first line
#. of the translation is special and is used as the help message. Please
#. keep the pseudo-statement form and don't finish the sentence with a dot.
#. Pay extra attention to whitespace.  It must be correctly preserved or the
#. result won't work. In particular the leading whitespace *must* be
#. preserved and *must* have the same length on each line.
#: .././plainbox/provider_manager.py:119
#, python-brace-format
msgid ""
"\n"
"    install this provider in the system\n"
"\n"
"    This command installs the provider to the specified prefix.\n"
"\n"
"    @EPILOG@\n"
"\n"
"    Installation Layouts\n"
"    ====================\n"
"\n"
"    There are two possible installation layouts: flat, perfect for keeping "
"the\n"
"    whole provider in one directory, and unix, which is optimized for\n"
"    packaging and respecting the filesystem hierarchy.\n"
"\n"
"    In both cases, a generated file is created at a fixed location:\n"
"\n"
"        {prefix}/share/plainbox-providers-1/{provider.name}.provider\n"
"\n"
"    This file is essential for plainbox to discover providers. It contains\n"
"    meta-data collected from the manage.py setup() call.\n"
"\n"
"    For Packaging\n"
"    -------------\n"
"\n"
"    System-wide installations should typically use `--prefix=/usr` coupled\n"
"    with `--layout=unix`. For packaging you will want to use the `--root=`\n"
"    argument to place all of the copied and generated files into your "
"packaging\n"
"    system staging area. This will not affect generated content, which only\n"
"    respects the prefix argument.\n"
"\n"
"    UNIX Layout\n"
"    -----------\n"
"\n"
"    In the unix layout, following transformation is applied:\n"
"\n"
"    @LAYOUT[unix]@\n"
"\n"
"    Flat Layout\n"
"    -----------\n"
"\n"
"    @LAYOUT[flat]@\n"
"    "
msgstr ""

#. TRANSLATORS: not installed as in 'will not be installed'
#: .././plainbox/provider_manager.py:226
msgid "not installed"
msgstr ""

#: .././plainbox/provider_manager.py:250
msgid "installation prefix"
msgstr ""

#. TRANSLATORS: don't translate %(defaults)s
#: .././plainbox/provider_manager.py:256
#, python-format
msgid "installation directory layout (default: %(default)s)"
msgstr ""

#: .././plainbox/provider_manager.py:259
msgid "install everything relative to this alternate root directory"
msgstr ""

#: .././plainbox/provider_manager.py:318
#, python-format
msgid "copying: %s => %s"
msgstr ""

#. TRANSLATORS: please leave various options (both long and short forms),
#. environment variables and paths in their original form. Also keep the
#. special @EPILOG@ string. The first line of the translation is special and
#. is used as the help message. Please keep the pseudo-statement form and
#. don't finish the sentence with a dot. Pay extra attention to whitespace.
#. It must be correctly preserved or the result won't work. In particular
#. the leading whitespace *must* be preserved and *must* have the same
#. length on each line.
#: .././plainbox/provider_manager.py:380
msgid ""
"\n"
"    create a source tarball\n"
"\n"
"    This commands creates a source distribution (tarball) of all of the\n"
"    essential provider files. This command takes no arguments and places "
"the\n"
"    resulting tarball in the dist/ directory, relative to the ``manage.py``\n"
"    file. The tarball name is derived from provider name and version.\n"
"\n"
"    @EPILOG@\n"
"\n"
"    The items included in the tarball are:\n"
"\n"
"    - the manage.py script itself\n"
"    - the README.md file\n"
"    - the jobs directory, and everything in it\n"
"    - the whitelists directory, and everything in it\n"
"    - the bin directory, and everything in it\n"
"    - the src directory, and everything in it\n"
"    - the data directory, and everything in it\n"
"    - the po directory, and everything in it\n"
"\n"
"    Any of the missing items are silently ignored.\n"
"    "
msgstr ""

#. TRANSLATORS: please leave various options (both long and short forms),
#. environment variables and paths in their original form. Also keep the
#. special @EPILOG@ string. The first line of the translation is special and
#. is used as the help message. Please keep the pseudo-statement form and
#. don't finish the sentence with a dot. Pay extra attention to whitespace.
#. It must be correctly preserved or the result won't work. In particular
#. the leading whitespace *must* be preserved and *must* have the same
#. length on each line.
#: .././plainbox/provider_manager.py:472
msgid ""
"\n"
"    install/remove this provider, only for development\n"
"\n"
"    This commands creates or removes the ``.provider`` file describing the\n"
"    provider associated with this ``manage.py`` script. Unlike ``manage.py\n"
"    install`` the provider is installed without copying anything to a\n"
"    system-wide location and does not need to be re-executed after every\n"
"    change.\n"
"\n"
"    The generated file removed by passing the ``--uninstall| -u`` option.\n"
"\n"
"    @EPILOG@\n"
"\n"
"    By default the .provider file is created in\n"
"    ``$XDG_DATA_HOME/plainbox-providers-1/`` directory. The filename is "
"derived\n"
"    from the name of the provider (version is not included in the "
"filename).\n"
"\n"
"    Note that the full path of the source directory is placed in the "
"generated\n"
"    file so you will need to re-run develop if you move this directory "
"around.\n"
"    "
msgstr ""

#. TRANSLATORS: don't translate the extension name
#: .././plainbox/provider_manager.py:510
msgid "remove the generated .provider file"
msgstr ""

#: .././plainbox/provider_manager.py:513
msgid "overwrite existing provider files"
msgstr ""

#: .././plainbox/provider_manager.py:517
msgid "directory to use (defaults to user's home provider path)"
msgstr ""

#: .././plainbox/provider_manager.py:525
#, python-format
msgid "Removing provider file: %s"
msgstr ""

#: .././plainbox/provider_manager.py:529
msgid "Provider file already exists: {}"
msgstr ""

#: .././plainbox/provider_manager.py:532
#, python-format
msgid "Creating provider file: %s"
msgstr ""

#. TRANSLATORS: please leave various options (both long and short forms),
#. environment variables and paths in their original form. Also keep the
#. special @EPILOG@ string. The first line of the translation is special and
#. is used as the help message. Please keep the pseudo-statement form and
#. don't finish the sentence with a dot.  Pay extra attention to whitespace.
#. It must be correctly preserved or the result won't work. In particular
#. the leading whitespace *must* be preserved and *must* have the same
#. length on each line.
#: .././plainbox/provider_manager.py:547
msgid ""
"\n"
"    build provider specific executables from source\n"
"\n"
"    This command builds provider specific executables from source code.\n"
"\n"
"    The actual logic on how that is done is supplied by provider authors as "
"a\n"
"    part of setup() call inside this manage.py script, as the build_cmd\n"
"    keyword argument.\n"
"\n"
"    @EPILOG@\n"
"\n"
"    PlainBox comes with a pluggable system for doing the right thing so,\n"
"    hopefully, in most cases, you don't need to do anything. If your src/\n"
"    directory has a Makefile or .go source files you should be good to go.\n"
"\n"
"    If the automatic defaults are somehow unsuitable you need to edit "
"manage.py\n"
"    so that it specifies the build command.\n"
"\n"
"    IMPORTANT: It is expected that the build command will create binary "
"files\n"
"    in the current directory. The build command is executed from within the\n"
"    'build/bin' subdirectory (which is created automatically). The relative\n"
"    path of the 'src/' directory is available as the $PLAINBOX_SRC_DIR\n"
"    environment variable.\n"
"    "
msgstr ""

#. TRANSLATORS: please leave various options (both long and short forms),
#. environment variables and paths in their original form. Also keep the
#. special @EPILOG@ string. The first line of the translation is special and
#. is used as the help message. Please keep the pseudo-statement form and
#. don't finish the sentence with a dot.  Pay extra attention to whitespace.
#. It must be correctly preserved or the result won't work. In particular
#. the leading whitespace *must* be preserved and *must* have the same
#. length on each line.
#: .././plainbox/provider_manager.py:696
msgid ""
"\n"
"    clean build results\n"
"\n"
"    This command complements the build command and is intended to clean-up\n"
"    after the build process.\n"
"\n"
"    The actual logic on how that is done is supplied by provider authors as "
"a\n"
"    part of setup() call inside this manage.py script, as the clean_cmd\n"
"    keyword argument\n"
"\n"
"    @EPILOG@\n"
"\n"
"    IMPORTANT: the clean command is executed from the directory with the\n"
"    'manage.py' script.  The relative path of the src/ directory is "
"available\n"
"    as the $PLAINBOX_SRC_DIR environment variable.\n"
"\n"
"    For virtually every case, the following command should be sufficient to\n"
"    clean up all build artifacts. It is also the default command so you "
"don't\n"
"    need to specify it explicitly.\n"
"\n"
"    setup(\n"
"       clean_cmd='rm -rf build/bin'\n"
"    )\n"
"    "
msgstr ""

#. TRANSLATORS: please leave various options (both long and short forms),
#. environment variables and paths in their original form. Also keep the
#. special @EPILOG@ string. The first line of the translation is special and
#. is used as the help message. Please keep the pseudo-statement form and
#. don't finish the sentence with a dot. Pay extra attention to whitespace.
#. It must be correctly preserved or the result won't work. In particular
#. the leading whitespace *must* be preserved and *must* have the same
#. length on each line.
#: .././plainbox/provider_manager.py:799
msgid ""
"\n"
"    display basic information about this provider\n"
"\n"
"    This command displays various essential facts about the provider "
"associated\n"
"    with the ``manage.py`` script. Displayed data includes provider name "
"and\n"
"    other meta-data, all of the jobs and whitelist, with their precise\n"
"    locations.\n"
"    "
msgstr ""

#: .././plainbox/provider_manager.py:825
msgid "[Provider MetaData]"
msgstr ""

#. TRANSLATORS: {} is the name of the test provider
#: .././plainbox/provider_manager.py:827
msgid "name: {}"
msgstr ""

#. TRANSLATORS: {} is the namenamespace of the test provider
#: .././plainbox/provider_manager.py:829
msgid "namespace: {} (derived from name)"
msgstr ""

#. TRANSLATORS: {} is the name of the test provider
#: .././plainbox/provider_manager.py:832
msgid "description: {}"
msgstr ""

#. TRANSLATORS: {} is the version of the test provider
#: .././plainbox/provider_manager.py:834
msgid "version: {}"
msgstr ""

#. TRANSLATORS: {} is the gettext translation domain of the provider
#: .././plainbox/provider_manager.py:836
msgid "gettext domain: {}"
msgstr ""

#: .././plainbox/provider_manager.py:838
msgid "[Job Definitions]"
msgstr ""

#: .././plainbox/provider_manager.py:841
msgid "[Test Plans]"
msgstr ""

#: .././plainbox/provider_manager.py:844
msgid "[Test Plans] (legacy)"
msgstr ""

#: .././plainbox/provider_manager.py:847
#, python-brace-format
msgid "{0} from {1}"
msgstr ""

#: .././plainbox/provider_manager.py:850
msgid "[Other Units]"
msgstr ""

#: .././plainbox/provider_manager.py:855
msgid "Some units could not be parsed correctly"
msgstr ""

#. TRANSLATORS: please don't translate `manage.py validate`
#: .././plainbox/provider_manager.py:857
msgid "Please run `manage.py validate` for details"
msgstr ""

#: .././plainbox/provider_manager.py:858
msgid "[Executables]"
msgstr ""

#: .././plainbox/provider_manager.py:868
#, python-brace-format
msgid "{0} {1}, role {2}"
msgstr ""

#: .././plainbox/provider_manager.py:873
#, python-brace-format
msgid "{0} {1}, from {2}"
msgstr ""

#. TRANSLATORS: please leave various options (both long and short forms),
#. environment variables and paths in their original form. Also keep the
#. special @EPILOG@ string. The first line of the translation is special and
#. is used as the help message. Please keep the pseudo-statement form and
#. don't finish the sentence with a dot. Pay extra attention to whitespace.
#. It must be correctly preserved or the result won't work. In particular
#. the leading whitespace *must* be preserved and *must* have the same
#. length on each line.
#: .././plainbox/provider_manager.py:888
msgid ""
"\n"
"    perform various static analysis and validation\n"
"\n"
"    This command inspects all of the jobs defined in the provider "
"associated\n"
"    with the ``manage.py`` script. It checks for both syntax issues and\n"
"    semantic issues. Anything reported as incorrect will likely result in a\n"
"    run-time failure.\n"
"\n"
"    @EPILOG@\n"
"\n"
"    Refer to the online documentation for plainbox to understand how "
"correct\n"
"    job definitions look like and how to resolve problems reported by\n"
"    ``validate``.\n"
"\n"
"    The exit code can be used to determine if there were any failures. If "
"you\n"
"    have any, ``manage.py validate`` is something that could run in a CI "
"loop.\n"
"    "
msgstr ""

#: .././plainbox/provider_manager.py:940
msgid "validation options"
msgstr ""

#: .././plainbox/provider_manager.py:943
msgid "Be strict about correctness"
msgstr ""

#: .././plainbox/provider_manager.py:946
msgid "Report deprecated syntax and features"
msgstr ""

#: .././plainbox/provider_manager.py:949
msgid "Be loose about correctness"
msgstr ""

#: .././plainbox/provider_manager.py:952
msgid "Support deprecated syntax and features"
msgstr ""

#: .././plainbox/provider_manager.py:968
msgid "missing definition of required field"
msgstr ""

#: .././plainbox/provider_manager.py:970
msgid "useless field in this context"
msgstr ""

#: .././plainbox/provider_manager.py:971
msgid "usage of deprecated field"
msgstr ""

#: .././plainbox/provider_manager.py:972
msgid "template field is constant"
msgstr ""

#: .././plainbox/provider_manager.py:973
msgid "template field is variable"
msgstr ""

#: .././plainbox/provider_manager.py:990
#, python-brace-format
msgid "allowed values are: {0}"
msgstr ""

#. TRANSLATORS: fields are as follows:
#. 0: filename with job definition
#. 1: unit type name
#. 2: unit identifier
#. 3: field name
#. 4: explanation of the problem
#: .././plainbox/provider_manager.py:998
msgid "{0}: {1} {2!a}, field {3!a}: {4}"
msgstr ""

#: .././plainbox/provider_manager.py:1009
#: .././plainbox/provider_manager.py:1093
msgid "The provider seems to be valid"
msgstr ""

#: .././plainbox/provider_manager.py:1021
#: .././plainbox/provider_manager.py:1105
msgid "NOTE: subsequent units from problematic files are ignored"
msgstr ""

#: .././plainbox/provider_manager.py:1035
msgid "Loading provider..."
msgstr ""

#: .././plainbox/provider_manager.py:1037
msgid "Loading other providers..."
msgstr ""

#: .././plainbox/provider_manager.py:1054
msgid "Validating everything..."
msgstr ""

#: .././plainbox/provider_manager.py:1080
#, python-brace-format
msgid "NOTE: {0} advice was hidden"
msgid_plural "NOTE: {0} advices where hidden"
msgstr[0] ""
msgstr[1] ""

#: .././plainbox/provider_manager.py:1085
msgid "Run 'manage.py validate --strict --deprecated' for details"
msgstr ""

#: .././plainbox/provider_manager.py:1089
#, python-brace-format
msgid "Validation of provider {0} has failed"
msgstr ""

#: .././plainbox/provider_manager.py:1110
#, python-format
msgid "Validating unit %s"
msgstr ""

#. TRANSLATORS: please leave various options (both long and short forms),
#. environment variables and paths in their original form. Also keep the
#. special @EPILOG@ string. The first line of the translation is special and
#. is used as the help message. Please keep the pseudo-statement form and
#. don't finish the sentence with a dot. Pay extra attention to whitespace.
#. It must be correctly preserved or the result won't work. In particular
#. the leading whitespace *must* be preserved and *must* have the same
#. length on each line.
#: .././plainbox/provider_manager.py:1159
msgid ""
"\n"
"    update, merge and build translation catalogs\n"
"\n"
"    This command exposes facilities for updating, merging and building\n"
"    message translation catalogs.\n"
"    "
msgstr ""

#: .././plainbox/provider_manager.py:1182
msgid "don't actually do anything"
msgstr ""

#: .././plainbox/provider_manager.py:1183
msgid "actions to perform"
msgstr ""

#: .././plainbox/provider_manager.py:1186
msgid "do not update the translation template"
msgstr ""

#: .././plainbox/provider_manager.py:1189
msgid "do not merge translation files with the template"
msgstr ""

#: .././plainbox/provider_manager.py:1192
msgid "do not build binary translation files"
msgstr ""

#. TRANSLATORS: please leave various options (both long and short forms),
#. environment variables and paths in their original form. Also keep the
#. special @EPILOG@ string. The first line of the translation is special and
#. is used as the help message. Please keep the pseudo-statement form and
#. don't finish the sentence with a dot. Pay extra attention to whitespace.
#. It must be correctly preserved or the result won't work. In particular
#. the leading whitespace *must* be preserved and *must* have the same
#. length on each line.
#: .././plainbox/provider_manager.py:1274
msgid ""
"\n"
"    generate packaging meta-data\n"
"\n"
"    This command should not be invoked manually. It is applicable for "
"package\n"
"    maintainers to allow them to extract packaging meta-data applicable for\n"
"    the current operating system from within the provider itself.\n"
"    "
msgstr ""

#: .././plainbox/provider_manager.py:1366
msgid "Per-provider management script"
msgstr ""

#. TRANSLATORS: please keep 'manage.py', '--help', '--version'
#. untranslated. Translate only '[options]'
#: .././plainbox/provider_manager.py:1370
msgid "manage.py [--help] [--version] [options]"
msgstr ""

#: .././plainbox/provider_manager.py:1454
msgid "{}: bad value of {!r}, {}"
msgstr ""

#. TRANSLATORS: please leave various options (both long and short forms),
#. environment variables and paths in their original form. Also keep the
#. special @EPILOG@ string. The first line of the translation is special and
#. is used as the help message. Please keep the pseudo-statement form and
#. don't finish the sentence with a dot. Pay extra attention to whitespace.
#. It must be correctly preserved or the result won't work. In particular
#. the leading whitespace *must* be preserved and *must* have the same
#. length on each line.
#: .././plainbox/qml_shell/qml_shell.py:44
msgid ""
"\n"
"    run qml job in standalone shell\n"
"\n"
"    Runs specified file as it would be a plainbox' qml job.\n"
"    Returns 0 if job returned 'pass', 1 if job returned 'fail', or\n"
"    other value in case of an error.\n"
"\n"
"    @EPILOG@\n"
"\n"
"    General purpose of this command is to make development of qml-native "
"jobs\n"
"    faster, by making it easier to test qml file(s) that constitute to job\n"
"    without resorting to installation of provider and running plainbox run.\n"
"    Typical approach to the development of new qml job would be as follows:\n"
"\n"
"    - have an idea for a job\n"
"\n"
"    - create a qml file in Ubuntu-SDK or Your Favourite Editor\n"
"\n"
"    - hack on the file and iterate using qmlscene (or use plainbox-qml-"
"shell\n"
"      immediately if you start with next point)\n"
"\n"
"    - make it conformant to plainbox qml-native API described in CEP-5\n"
"      (calling test-done at the end)\n"
"\n"
"    - copy qml file over to data dir of a provider and add a job unit to it\n"
"\n"
"    "
msgstr ""

#: .././plainbox/qml_shell/qml_shell.py:75
msgid "run qml-native test in a standalone shell"
msgstr ""

#: .././plainbox/qml_shell/qml_shell.py:81
msgid "qml file with job to be run"
msgstr ""

#: .././plainbox/qml_shell/qml_shell.py:104
msgid "Job did not return any result"
msgstr ""

#: .././plainbox/qml_shell/qml_shell.py:106
msgid "Test outcome: {}"
msgstr ""

#: .././plainbox/test_i18n.py:62 .././plainbox/test_i18n.py:69
#: .././plainbox/test_i18n.py:123 .././plainbox/test_i18n.py:137
msgid "msgid"
msgstr ""

#: .././plainbox/test_i18n.py:65 .././plainbox/test_i18n.py:66
#: .././plainbox/test_i18n.py:73 .././plainbox/test_i18n.py:75
#: .././plainbox/test_i18n.py:130 .././plainbox/test_i18n.py:144
msgid "msgid1"
msgid_plural "msgid2"
msgstr[0] ""
msgstr[1] ""

#: .././plainbox/vendor/argparse/py32-argparse.py:806
#: .././plainbox/vendor/argparse/py33-argparse.py:832
#: .././plainbox/vendor/argparse/py34-argparse.py:831
msgid ".__call__() not defined"
msgstr ""

#: .././plainbox/vendor/argparse/py32-argparse.py:1102
#: .././plainbox/vendor/argparse/py33-argparse.py:1128
#: .././plainbox/vendor/argparse/py34-argparse.py:1128
#, python-format
msgid "unknown parser %(parser_name)r (choices: %(choices)s)"
msgstr ""

#: .././plainbox/vendor/argparse/py32-argparse.py:1143
#: .././plainbox/vendor/argparse/py33-argparse.py:1169
#: .././plainbox/vendor/argparse/py34-argparse.py:1175
#, python-format
msgid "argument \"-\" with mode %r"
msgstr ""

#: .././plainbox/vendor/argparse/py32-argparse.py:1150
#: .././plainbox/vendor/argparse/py33-argparse.py:1176
#: .././plainbox/vendor/argparse/py34-argparse.py:1183
#, python-format
msgid "can't open '%s': %s"
msgstr ""

#: .././plainbox/vendor/argparse/py32-argparse.py:1352
#: .././plainbox/vendor/argparse/py33-argparse.py:1378
#: .././plainbox/vendor/argparse/py34-argparse.py:1388
#, python-format
msgid "cannot merge actions - two groups are named %r"
msgstr ""

#: .././plainbox/vendor/argparse/py32-argparse.py:1390
#: .././plainbox/vendor/argparse/py33-argparse.py:1416
#: .././plainbox/vendor/argparse/py34-argparse.py:1426
msgid "'required' is an invalid argument for positionals"
msgstr ""

#: .././plainbox/vendor/argparse/py32-argparse.py:1412
#: .././plainbox/vendor/argparse/py33-argparse.py:1438
#: .././plainbox/vendor/argparse/py34-argparse.py:1448
#, python-format
msgid ""
"invalid option string %(option)r: must start with a character "
"%(prefix_chars)r"
msgstr ""

#: .././plainbox/vendor/argparse/py32-argparse.py:1432
#: .././plainbox/vendor/argparse/py33-argparse.py:1458
#: .././plainbox/vendor/argparse/py34-argparse.py:1468
#, python-format
msgid "dest= is required for options like %r"
msgstr ""

#: .././plainbox/vendor/argparse/py32-argparse.py:1449
#: .././plainbox/vendor/argparse/py33-argparse.py:1475
#: .././plainbox/vendor/argparse/py34-argparse.py:1485
#, python-format
msgid "invalid conflict_resolution value: %r"
msgstr ""

#: .././plainbox/vendor/argparse/py32-argparse.py:1467
#: .././plainbox/vendor/argparse/py33-argparse.py:1493
#: .././plainbox/vendor/argparse/py34-argparse.py:1503
#, python-format
msgid "conflicting option string: %s"
msgid_plural "conflicting option strings: %s"
msgstr[0] ""
msgstr[1] ""

#: .././plainbox/vendor/argparse/py32-argparse.py:1533
#: .././plainbox/vendor/argparse/py33-argparse.py:1559
#: .././plainbox/vendor/argparse/py34-argparse.py:1569
msgid "mutually exclusive arguments must be optional"
msgstr ""

#: .././plainbox/vendor/argparse/py32-argparse.py:1603
#: .././plainbox/vendor/argparse/py33-argparse.py:1619
#: .././plainbox/vendor/argparse/py34-argparse.py:1629
msgid "positional arguments"
msgstr ""

#: .././plainbox/vendor/argparse/py32-argparse.py:1604
#: .././plainbox/vendor/argparse/py33-argparse.py:1620
#: .././plainbox/vendor/argparse/py34-argparse.py:1630
msgid "optional arguments"
msgstr ""

#: .././plainbox/vendor/argparse/py32-argparse.py:1619
#: .././plainbox/vendor/argparse/py33-argparse.py:1635
#: .././plainbox/vendor/argparse/py34-argparse.py:1645
msgid "show this help message and exit"
msgstr ""

#: .././plainbox/vendor/argparse/py32-argparse.py:1657
#: .././plainbox/vendor/argparse/py33-argparse.py:1666
#: .././plainbox/vendor/argparse/py34-argparse.py:1676
msgid "cannot have multiple subparser arguments"
msgstr ""

#: .././plainbox/vendor/argparse/py32-argparse.py:1709
#: .././plainbox/vendor/argparse/py33-argparse.py:1718
#: .././plainbox/vendor/argparse/py34-argparse.py:1728
#, python-format
msgid "unrecognized arguments: %s"
msgstr ""

#: .././plainbox/vendor/argparse/py32-argparse.py:1806
#: .././plainbox/vendor/argparse/py33-argparse.py:1815
#: .././plainbox/vendor/argparse/py34-argparse.py:1825
#, python-format
msgid "not allowed with argument %s"
msgstr ""

#: .././plainbox/vendor/argparse/py32-argparse.py:1852
#: .././plainbox/vendor/argparse/py32-argparse.py:1866
#: .././plainbox/vendor/argparse/py33-argparse.py:1861
#: .././plainbox/vendor/argparse/py33-argparse.py:1875
#: .././plainbox/vendor/argparse/py34-argparse.py:1871
#: .././plainbox/vendor/argparse/py34-argparse.py:1885
#, python-format
msgid "ignored explicit argument %r"
msgstr ""

#: .././plainbox/vendor/argparse/py32-argparse.py:1963
#, python-format
msgid "argument %s is required"
msgstr ""

#: .././plainbox/vendor/argparse/py32-argparse.py:1977
#: .././plainbox/vendor/argparse/py33-argparse.py:1997
#: .././plainbox/vendor/argparse/py34-argparse.py:2007
#, python-format
msgid "one of the arguments %s is required"
msgstr ""

#: .././plainbox/vendor/argparse/py32-argparse.py:2023
#: .././plainbox/vendor/argparse/py33-argparse.py:2043
#: .././plainbox/vendor/argparse/py34-argparse.py:2050
msgid "expected one argument"
msgstr ""

#: .././plainbox/vendor/argparse/py32-argparse.py:2024
#: .././plainbox/vendor/argparse/py33-argparse.py:2044
#: .././plainbox/vendor/argparse/py34-argparse.py:2051
msgid "expected at most one argument"
msgstr ""

#: .././plainbox/vendor/argparse/py32-argparse.py:2025
#: .././plainbox/vendor/argparse/py33-argparse.py:2045
#: .././plainbox/vendor/argparse/py34-argparse.py:2052
msgid "expected at least one argument"
msgstr ""

#: .././plainbox/vendor/argparse/py32-argparse.py:2027
#: .././plainbox/vendor/argparse/py33-argparse.py:2047
#: .././plainbox/vendor/argparse/py34-argparse.py:2054
#, python-format
msgid "expected %s argument"
msgid_plural "expected %s arguments"
msgstr[0] ""
msgstr[1] ""

#: .././plainbox/vendor/argparse/py32-argparse.py:2086
#: .././plainbox/vendor/argparse/py33-argparse.py:2106
#: .././plainbox/vendor/argparse/py34-argparse.py:2113
#, python-format
msgid "ambiguous option: %(option)s could match %(matches)s"
msgstr ""

#: .././plainbox/vendor/argparse/py32-argparse.py:2149
#: .././plainbox/vendor/argparse/py33-argparse.py:2169
#: .././plainbox/vendor/argparse/py34-argparse.py:2176
#, python-format
msgid "unexpected option string: %s"
msgstr ""

#: .././plainbox/vendor/argparse/py32-argparse.py:2250
#: .././plainbox/vendor/argparse/py33-argparse.py:2273
#: .././plainbox/vendor/argparse/py34-argparse.py:2280
#, python-format
msgid "%r is not callable"
msgstr ""

#: .././plainbox/vendor/argparse/py32-argparse.py:2267
#: .././plainbox/vendor/argparse/py33-argparse.py:2290
#: .././plainbox/vendor/argparse/py34-argparse.py:2297
#, python-format
msgid "invalid %(type)s value: %(value)r"
msgstr ""

#: .././plainbox/vendor/argparse/py32-argparse.py:2278
#: .././plainbox/vendor/argparse/py33-argparse.py:2301
#: .././plainbox/vendor/argparse/py34-argparse.py:2308
#, python-format
msgid "invalid choice: %(value)r (choose from %(choices)s)"
msgstr ""

#: .././plainbox/vendor/argparse/py32-argparse.py:2372
#: .././plainbox/vendor/argparse/py33-argparse.py:2377
#: .././plainbox/vendor/argparse/py34-argparse.py:2384
#, python-format
msgid "%(prog)s: error: %(message)s\n"
msgstr ""

#: .././plainbox/vendor/argparse/py33-argparse.py:1982
#: .././plainbox/vendor/argparse/py34-argparse.py:1992
#, python-format
msgid "the following arguments are required: %s"
msgstr ""

#: .././plainbox/vendor/phablet.py:58
msgid "Unable to start SSH on the phablet device"
msgstr ""

#: .././plainbox/vendor/phablet.py:68
msgid "Unable to setup port forwarding to the phablet device"
msgstr ""

#: .././plainbox/vendor/phablet.py:77
msgid "No phablet devices detected"
msgstr ""

#: .././plainbox/vendor/phablet.py:87
msgid "Multiple phablet devices detected"
msgstr ""

#: .././plainbox/vendor/phablet.py:98
msgid "Unable to purge phablet device entry from ~/.ssh/known_hosts"
msgstr ""

#: .././plainbox/vendor/phablet.py:108
msgid "Unable to copy public ssh key over to the phablet device"
msgstr ""

#: .././plainbox/vendor/phablet.py:118
msgid "No public ssh keys found on the local account"
msgstr ""

#: .././plainbox/vendor/phablet.py:127
#, python-brace-format
msgid "Programming error: {0}"
msgstr ""

#: .././plainbox/vendor/phablet.py:531
msgid "Run a command on Ubuntu Phablet"
msgstr ""

#: .././plainbox/vendor/phablet.py:547
msgid "device connection options"
msgstr ""

#: .././plainbox/vendor/phablet.py:550
msgid "connect to the device with the specified serial number"
msgstr ""

#: .././plainbox/vendor/phablet.py:555
msgid "timeout for device discovery"
msgstr ""

#: .././plainbox/vendor/phablet.py:562
msgid "use the specified public key"
msgstr ""

#: .././plainbox/vendor/phablet.py:563
msgid "logging options"
msgstr ""

#: .././plainbox/vendor/phablet.py:566
msgid "be more verbose during connection set-up"
msgstr ""

#: .././plainbox/vendor/phablet.py:569
msgid "set log level (for debugging)"
msgstr ""

#: .././plainbox/vendor/phablet.py:577
msgid ""
"command to run on the phablet,  if left out an interactive shell is started"
msgstr ""
