1
# English (Canada) translation for plainbox
2
# Copyright (c) 2014 Rosetta Contributors and Canonical Ltd 2014
3
# This file is distributed under the same license as the plainbox package.
4
# FIRST AUTHOR <EMAIL@ADDRESS>, 2014.
8
"Project-Id-Version: plainbox\n"
9
"Report-Msgid-Bugs-To: \n"
10
"POT-Creation-Date: 2016-01-11 16:06+0800\n"
11
"PO-Revision-Date: 2014-03-31 18:03+0000\n"
12
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
13
"Language-Team: English (Canada) <en_CA@li.org>\n"
15
"Content-Type: text/plain; charset=UTF-8\n"
16
"Content-Transfer-Encoding: 8bit\n"
17
"Plural-Forms: nplurals=2; plural=n != 1;\n"
18
"X-Launchpad-Export-Date: 2016-05-14 05:13+0000\n"
19
"X-Generator: Launchpad (build 18025)\n"
22
#: .././plainbox/impl/_argparse.py:139
23
#: .././plainbox/vendor/argparse/py32-argparse.py:298
24
#: .././plainbox/vendor/argparse/py33-argparse.py:300
25
#: .././plainbox/vendor/argparse/py34-argparse.py:300
29
#: .././plainbox/impl/applogic.py:62
30
msgid "None of the providers had a whitelist named '{}'"
33
#: .././plainbox/impl/applogic.py:104
34
msgid "Environment variables for scripts and jobs"
37
#: .././plainbox/impl/applogic.py:109
38
msgid "Which implementation of extcmd to use"
41
#. TRANSLATORS: '--help' and '--version' are not translatable,
42
#. but '[options]' and '<command>' are.
43
#: .././plainbox/impl/box.py:82
44
msgid "{0} [--help] [--version] | [options] <command> ..."
47
#. set in _early_init()
49
#: .././plainbox/impl/clitools.py:279
51
msgid "Constructed %r"
54
#: .././plainbox/impl/clitools.py:288
55
msgid "Activated early logging via environment variables"
58
#: .././plainbox/impl/clitools.py:300
59
msgid "Tool initialization (early mode)"
62
#: .././plainbox/impl/clitools.py:302
63
msgid "Parsing command line arguments (early mode)"
66
#: .././plainbox/impl/clitools.py:305
68
msgid "Command line parsed to (early mode): %r"
71
#: .././plainbox/impl/clitools.py:306
72
msgid "Tool initialization (late mode)"
75
#. Construct the full command line argument parser
76
#: .././plainbox/impl/clitools.py:309
77
msgid "Parser construction"
80
#. parse the full command line arguments, this is also where we
81
#. do argcomplete-dictated exit if bash shell completion
83
#: .././plainbox/impl/clitools.py:314
84
msgid "Parsing command line arguments"
87
#: .././plainbox/impl/clitools.py:316
89
msgid "Command line parsed to: %r"
92
#: .././plainbox/impl/clitools.py:317
93
msgid "Tool initialization (final steps)"
96
#: .././plainbox/impl/clitools.py:319
97
msgid "Tool initialization complete"
100
#: .././plainbox/impl/clitools.py:323
101
msgid "Dispatching command..."
104
#: .././plainbox/impl/clitools.py:460 .././plainbox/provider_manager.py:1403
105
#: .././plainbox/vendor/argparse/py32-argparse.py:1625
106
msgid "show program's version number and exit"
109
#: .././plainbox/impl/clitools.py:484
110
msgid "logging and debugging"
113
#. TRANSLATORS: please keep --log-level=INFO untranslated
114
#: .././plainbox/impl/clitools.py:499
115
msgid "be more verbose (same as --log-level=INFO)"
118
#. TRANSLATORS: please keep DEBUG untranslated
119
#: .././plainbox/impl/clitools.py:507
120
msgid "enable DEBUG messages on the root logger"
123
#. TRANSLATORS: please keep DEBUG untranslated
124
#: .././plainbox/impl/clitools.py:513
125
msgid "display DEBUG messages in the console"
128
#: .././plainbox/impl/clitools.py:517
132
#. TRANSLATORS: please keep DEBUG untranslated
133
#: .././plainbox/impl/clitools.py:521
135
"enable DEBUG messages on the specified logger (can be used multiple times)"
138
#. TRANSLATORS: please keep pdb untranslated
139
#: .././plainbox/impl/clitools.py:529
140
msgid "jump into pdb (python debugger) when a command crashes"
143
#. TRANSLATORS: please keep SIGINT/KeyboardInterrupt and --pdb
145
#: .././plainbox/impl/clitools.py:537
146
msgid "crash on SIGINT/KeyboardInterrupt, useful with --pdb"
149
#: .././plainbox/impl/clitools.py:554
150
#: .././plainbox/vendor/argparse/py32-argparse.py:1956
151
msgid "too few arguments"
154
#. Don't let SystemExit be caught in the logic below, we really
155
#. just want to exit when that gets thrown.
156
#. TRANSLATORS: please keep SystemExit untranslated
157
#: .././plainbox/impl/clitools.py:566
158
msgid "caught SystemExit, exiting"
161
#: .././plainbox/impl/clitools.py:571
163
msgid "caught %r, deciding on what to do next"
166
#: .././plainbox/impl/clitools.py:591
168
msgid "action for exception %r is %s"
171
#: .././plainbox/impl/clitools.py:596
173
msgid "Executable %r invoked with %r has crashed"
176
#: .././plainbox/impl/clitools.py:600
178
msgid "caught runaway exception: %r"
181
#: .././plainbox/impl/clitools.py:601
182
msgid "starting debugger..."
185
#: .././plainbox/impl/clitools.py:695
187
msgid "Trying to load exactly the right command: %r"
190
#: .././plainbox/impl/clitools.py:711
192
msgid "Cost of registering guessed command: %f"
195
#: .././plainbox/impl/clitools.py:742
197
msgid "Cost of loading all top-level commands: %f"
200
#: .././plainbox/impl/clitools.py:749
202
msgid "Cost of registering all top-level commands: %f"
205
#: .././plainbox/impl/clitools.py:898
206
msgid "Unable to find any of the executables {}"
209
#: .././plainbox/impl/commands/cmd_analyze.py:54
210
msgid "analyze how selected jobs would be executed"
213
#: .././plainbox/impl/commands/cmd_analyze.py:60
214
msgid "run all selected local jobs, required to see true data"
217
#. TRANSLATORS: please keep the word 'local' untranslated.
218
#. It designates special type of jobs, not their location.
219
#: .././plainbox/impl/commands/cmd_analyze.py:66
220
msgid "do not run local jobs"
223
#: .././plainbox/impl/commands/cmd_analyze.py:70
224
msgid "print general job statistics"
227
#: .././plainbox/impl/commands/cmd_analyze.py:73
228
msgid "print dependency report"
231
#: .././plainbox/impl/commands/cmd_analyze.py:76
232
msgid "print interactivity report"
235
#: .././plainbox/impl/commands/cmd_analyze.py:79
236
msgid "print estimated duration report"
239
#: .././plainbox/impl/commands/cmd_analyze.py:82
240
msgid "print validation report"
243
#: .././plainbox/impl/commands/cmd_analyze.py:85
244
msgid "print requirement report"
247
#: .././plainbox/impl/commands/cmd_analyze.py:89
248
msgid "when coupled with -v, only problematic jobs will be listed"
251
#: .././plainbox/impl/commands/cmd_analyze.py:92
252
msgid "print desired job list"
255
#: .././plainbox/impl/commands/cmd_analyze.py:95
256
msgid "print run list"
259
#: .././plainbox/impl/commands/cmd_check_config.py:43
260
msgid "check and display plainbox configuration"
263
#: .././plainbox/impl/commands/cmd_checkbox.py:47
264
msgid "test selection options"
267
#: .././plainbox/impl/commands/cmd_checkbox.py:51
271
#. TRANSLATORS: this is in imperative form
272
#: .././plainbox/impl/commands/cmd_checkbox.py:54
273
msgid "load the specified test plan"
276
#: .././plainbox/impl/commands/cmd_checkbox.py:57
277
#: .././plainbox/impl/commands/cmd_checkbox.py:62
281
#. TRANSLATORS: this is in imperative form
282
#: .././plainbox/impl/commands/cmd_checkbox.py:59
283
msgid "include jobs matching the given regular expression"
286
#. TRANSLATORS: this is in imperative form
287
#: .././plainbox/impl/commands/cmd_checkbox.py:64
288
msgid "exclude jobs matching the given regular expression"
291
#: .././plainbox/impl/commands/cmd_checkbox.py:69
295
#. TRANSLATORS: this is in imperative form
296
#: .././plainbox/impl/commands/cmd_checkbox.py:73
297
msgid "load whitelist containing run patterns"
300
#: .././plainbox/impl/commands/cmd_device.py:36
303
" device management commands\n"
305
" This command can be used to show the device that plainbox is executing\n"
313
#: .././plainbox/impl/commands/cmd_list.py:41
314
msgid "list and describe various objects"
317
#: .././plainbox/impl/commands/cmd_list.py:45
318
msgid "show object attributes"
321
#: .././plainbox/impl/commands/cmd_list.py:48
322
msgid "list objects from the specified group"
325
#: .././plainbox/impl/commands/cmd_parse.py:45
326
msgid "The following parsers are available:"
329
#: .././plainbox/impl/commands/cmd_parse.py:52
330
msgid "parse stdin with the specified parser"
333
#. TRANSLATORS: please keep plainbox.parsers untranslated.
334
#: .././plainbox/impl/commands/cmd_parse.py:55
337
" This command can be used to invoke any of the parsers exposed\n"
338
" to the `plainbox.parsers` entry point, parse standard input and\n"
339
" produce a JSON dump of the resulting data structure on stdout.\n"
341
" Keep in mind that most parsers were designed with the 'C' locale "
343
" mind. You may have to override the environment variable LANG to\n"
348
#: .././plainbox/impl/commands/cmd_parse.py:64
352
#: .././plainbox/impl/commands/cmd_parse.py:70
356
#: .././plainbox/impl/commands/cmd_parse.py:72
357
msgid "Name of the parser to use"
360
#: .././plainbox/impl/commands/cmd_run.py:48
361
msgid "run a test job"
364
#: .././plainbox/impl/commands/cmd_run.py:50
365
msgid "user interface options"
368
#: .././plainbox/impl/commands/cmd_run.py:56
369
msgid "skip tests that require interactivity"
372
#: .././plainbox/impl/commands/cmd_run.py:59
373
msgid "don't really run most jobs"
376
#: .././plainbox/impl/commands/cmd_run.py:62
377
msgid "don't suppress the output of certain job plugin types"
380
#: .././plainbox/impl/commands/cmd_run.py:63
381
#: .././plainbox/impl/commands/cmd_session.py:112
382
msgid "output options"
385
#: .././plainbox/impl/commands/cmd_run.py:67
386
#: .././plainbox/impl/commands/cmd_session.py:115
390
#: .././plainbox/impl/commands/cmd_run.py:68
391
#: .././plainbox/impl/commands/cmd_session.py:116
393
"save test results in the specified FORMAT (pass ? for a list of choices)"
396
#: .././plainbox/impl/commands/cmd_run.py:72
397
#: .././plainbox/impl/commands/cmd_run.py:92
398
#: .././plainbox/impl/commands/cmd_session.py:120
402
#: .././plainbox/impl/commands/cmd_run.py:73
403
#: .././plainbox/impl/commands/cmd_session.py:121
405
"comma-separated list of options for the export mechanism (pass ? for a list "
409
#: .././plainbox/impl/commands/cmd_run.py:77
410
#: .././plainbox/impl/commands/cmd_session.py:125
414
#: .././plainbox/impl/commands/cmd_run.py:78
415
#: .././plainbox/impl/commands/cmd_session.py:126
416
msgid "save test results to the specified FILE (or to stdout if FILE is -)"
419
#: .././plainbox/impl/commands/cmd_run.py:82
423
#: .././plainbox/impl/commands/cmd_run.py:82
424
#: .././plainbox/impl/commands/cmd_session.py:115
425
#: .././plainbox/impl/commands/inv_run.py:362
426
#: .././plainbox/impl/commands/inv_run.py:380
427
#: .././plainbox/impl/commands/inv_run.py:383
428
#: .././plainbox/impl/commands/inv_session.py:143
429
#: .././plainbox/impl/commands/inv_session.py:146
433
#: .././plainbox/impl/commands/cmd_run.py:84
435
"use TRANSPORT to send results somewhere (pass ? for a list of choices)"
438
#: .././plainbox/impl/commands/cmd_run.py:88
442
#: .././plainbox/impl/commands/cmd_run.py:89
443
msgid "where to send data using the selected transport"
446
#: .././plainbox/impl/commands/cmd_run.py:93
448
"comma-separated list of key-value options (k=v) to be passed to the transport"
451
#: .././plainbox/impl/commands/cmd_script.py:49
452
msgid "run a command from a job"
455
#: .././plainbox/impl/commands/cmd_script.py:53
459
#: .././plainbox/impl/commands/cmd_script.py:54
460
msgid "Id of the job to run"
463
#: .././plainbox/impl/commands/cmd_selftest.py:41
464
msgid "run unit and integration tests"
467
#: .././plainbox/impl/commands/cmd_selftest.py:48
468
msgid "abort the test on first failure"
471
#: .././plainbox/impl/commands/cmd_selftest.py:53
472
msgid "run tests quietly"
475
#: .././plainbox/impl/commands/cmd_selftest.py:56
476
msgid "run tests with normal verbosity (default)"
479
#: .././plainbox/impl/commands/cmd_selftest.py:59
480
msgid "run tests verbosely, printing each test case name"
483
#: .././plainbox/impl/commands/cmd_selftest.py:89
484
msgid "run integration test suite (this verifies checkbox jobs)"
487
#: .././plainbox/impl/commands/cmd_selftest.py:95
488
msgid "run unit tests (this only verifies plainbox core)"
491
#: .././plainbox/impl/commands/cmd_selftest.py:97
495
#: .././plainbox/impl/commands/cmd_selftest.py:100
496
msgid "run custom test suite"
499
#: .././plainbox/impl/commands/cmd_session.py:32
502
" session management commands\n"
504
" This command can be used to list, show and remove sessions owned by the\n"
509
" Each session has a small amount of meta-data that is available for\n"
510
" inspection. Each session has an application identifier (set by the\n"
511
" application that created that session), a title, that is human readable\n"
512
" piece of text that helps to distinguish sessions, and a set of flags.\n"
514
" Flags are particularly useful for determining what is the overall state\n"
515
" of any particular session. Two flags are standardized (other flags can "
517
" used by applications): incomplete and submitted. The 'incomplete' flag "
519
" removed after all desired jobs have been executed. The 'submitted' flag\n"
520
" is set after a submission is made using any of the transport "
525
#: .././plainbox/impl/commands/cmd_session.py:69
526
msgid "available session subcommands"
529
#: .././plainbox/impl/commands/cmd_session.py:71
530
msgid "list available sessions"
533
#: .././plainbox/impl/commands/cmd_session.py:73
534
msgid "print one id per line only"
537
#: .././plainbox/impl/commands/cmd_session.py:77
538
msgid "remove one more more sessions"
541
#: .././plainbox/impl/commands/cmd_session.py:79
542
#: .././plainbox/impl/commands/cmd_session.py:85
543
#: .././plainbox/impl/commands/cmd_session.py:97
544
#: .././plainbox/impl/commands/cmd_session.py:106
548
#: .././plainbox/impl/commands/cmd_session.py:80
549
msgid "Identifier of the session to remove"
552
#: .././plainbox/impl/commands/cmd_session.py:83
553
msgid "show a single session"
556
#: .././plainbox/impl/commands/cmd_session.py:86
557
msgid "Identifier of the session to show"
560
#: .././plainbox/impl/commands/cmd_session.py:89
561
msgid "resume the session (useful for debugging)"
564
#: .././plainbox/impl/commands/cmd_session.py:91
565
#: .././plainbox/impl/commands/cmd_session.py:109
569
#: .././plainbox/impl/commands/cmd_session.py:92
570
#: .././plainbox/impl/commands/cmd_session.py:110
571
msgid "pass this resume flag to the session resume code"
574
#: .././plainbox/impl/commands/cmd_session.py:95
575
msgid "archive a single session"
578
#: .././plainbox/impl/commands/cmd_session.py:98
579
msgid "Identifier of the session to archive"
582
#: .././plainbox/impl/commands/cmd_session.py:100
586
#: .././plainbox/impl/commands/cmd_session.py:101
587
msgid "Name of the archive to create"
590
#: .././plainbox/impl/commands/cmd_session.py:104
591
msgid "export a single session"
594
#: .././plainbox/impl/commands/cmd_session.py:107
595
msgid "Identifier of the session to export"
598
#: .././plainbox/impl/commands/cmd_special.py:42
599
msgid "special/internal commands"
602
#: .././plainbox/impl/commands/cmd_special.py:48
603
msgid "list jobs instead of running them"
606
#: .././plainbox/impl/commands/cmd_special.py:52
607
msgid "list jobs with cheksums instead of running them"
610
#: .././plainbox/impl/commands/cmd_special.py:56
611
msgid "list all unique resource expressions"
614
#: .././plainbox/impl/commands/cmd_special.py:60
615
msgid "print a graph of jobs instead of running them"
618
#. TRANSLATORS: please keep --dot untranslated
619
#: .././plainbox/impl/commands/cmd_special.py:65
620
msgid "show resource relationships (for --dot)"
623
#. TRANSLATORS: please leave various options (both long and short forms),
624
#. environment variables and paths in their original form. Also keep the
625
#. special @EPILOG@ string. The first line of the translation is special and
626
#. is used as the help message. Please keep the pseudo-statement form and
627
#. don't finish the sentence with a dot. Pay extra attention to whitespace.
628
#. It must be correctly preserved or the result won't work. In particular
629
#. the leading whitespace *must* be preserved and *must* have the same
630
#. length on each line.
631
#: .././plainbox/impl/commands/cmd_startprovider.py:52
634
" create a new provider (directory)\n"
636
" Creates a new provider from a built-in skeleton.\n"
640
" The name of the provider must follow the pattern "
641
"``YYYY.example.org:name``\n"
642
" where ``YYYY`` is a four-digit year when the author of the provider "
644
" the domain (here, ``example.org``) and ``name`` is arbitrary identifier\n"
645
" that is managed by the owner of that domain. The identifier should be\n"
646
" constrained to ASCII, digits and the dash character.\n"
648
" This naming scheme allows anyone that ever owned a domain name to come "
650
" with non-clashing provider identifiers. Those identifiers are going to "
652
" used in fully qualified names of various objects.\n"
654
" This command creates a new skeleton test provider for PlainBox. The\n"
655
" generated content should be edited to fit a particular purpose.\n"
659
#: .././plainbox/impl/commands/cmd_startprovider.py:86
663
#. TRANSLATORS: please keep the YYYY.example... text unchanged or at
664
#. the very least translate only YYYY and some-name. In either case
665
#. some-name must be a reasonably-ASCII string (should be safe for a
666
#. portable directory name)
667
#: .././plainbox/impl/commands/cmd_startprovider.py:92
668
msgid "provider name, eg: YYYY.example.org:some-name"
671
#: .././plainbox/impl/commands/cmd_startprovider.py:96
672
msgid "create an empty provider"
675
#: .././plainbox/impl/commands/crash.py:43
676
msgid "crashing as requested"
679
#: .././plainbox/impl/commands/crash.py:59
680
msgid "crash the application"
683
#: .././plainbox/impl/commands/crash.py:67
684
msgid "raise an exception"
687
#: .././plainbox/impl/commands/crash.py:73
688
msgid "hang the application with a busy loop"
691
#: .././plainbox/impl/commands/dev.py:57
692
msgid "development commands"
695
#: .././plainbox/impl/commands/dev.py:59
696
msgid "plainbox dev <subcommand> ..."
699
#: .././plainbox/impl/commands/inv_analyze.py:83
700
msgid "[Desired Job List]"
703
#: .././plainbox/impl/commands/inv_analyze.py:88
707
#: .././plainbox/impl/commands/inv_analyze.py:93
708
msgid "[Running Local Jobs]"
711
#: .././plainbox/impl/commands/inv_analyze.py:129
715
#: .././plainbox/impl/commands/inv_analyze.py:133
716
msgid "[General Statistics]"
719
#: .././plainbox/impl/commands/inv_analyze.py:134
720
msgid "Known jobs: {}"
723
#: .././plainbox/impl/commands/inv_analyze.py:135
724
msgid "Selected jobs: {}"
727
#: .././plainbox/impl/commands/inv_analyze.py:138
728
msgid "[Dependency Report]"
731
#: .././plainbox/impl/commands/inv_analyze.py:143
732
msgid "Selected jobs have no dependency problems"
735
#: .././plainbox/impl/commands/inv_analyze.py:146
736
msgid "[Interactivity Report]"
739
#: .././plainbox/impl/commands/inv_analyze.py:157
743
#: .././plainbox/impl/commands/inv_analyze.py:157
747
#: .././plainbox/impl/commands/inv_analyze.py:163
748
#: .././plainbox/impl/commands/inv_run.py:748
752
#: .././plainbox/impl/commands/inv_analyze.py:168
753
msgid "[Estimated Duration Report]"
756
#: .././plainbox/impl/commands/inv_analyze.py:169
757
msgid "Estimated test duration:"
760
#: .././plainbox/impl/commands/inv_analyze.py:171
761
msgid "automated tests: {}"
764
#: .././plainbox/impl/commands/inv_analyze.py:173
765
#: .././plainbox/impl/commands/inv_analyze.py:176
766
#: .././plainbox/impl/commands/inv_analyze.py:180
767
msgid "cannot estimate"
770
#: .././plainbox/impl/commands/inv_analyze.py:174
771
msgid "manual tests: {}"
774
#: .././plainbox/impl/commands/inv_analyze.py:177
778
#: .././plainbox/impl/commands/inv_analyze.py:183
779
msgid "[Validation Report]"
782
#: .././plainbox/impl/commands/inv_analyze.py:200
783
msgid "Job defined in {}"
786
#: .././plainbox/impl/commands/inv_analyze.py:202
787
msgid "No problems found"
790
#: .././plainbox/impl/commands/inv_analyze.py:205
791
msgid "[Requirement Report]"
794
#: .././plainbox/impl/commands/inv_check_config.py:38
795
msgid "Configuration files:"
798
#: .././plainbox/impl/commands/inv_check_config.py:43
799
msgid " - {0} (not present)"
802
#: .././plainbox/impl/commands/inv_check_config.py:44
806
#: .././plainbox/impl/commands/inv_check_config.py:50
810
#: .././plainbox/impl/commands/inv_check_config.py:58
814
#: .././plainbox/impl/commands/inv_check_config.py:61
815
msgid " - variable {0}: {1}"
818
#: .././plainbox/impl/commands/inv_check_config.py:66
819
msgid "No validation problems found"
822
#: .././plainbox/impl/commands/inv_checkbox.py:101
824
msgid "Using whitelist %r obtained from provider %r"
827
#: .././plainbox/impl/commands/inv_checkbox.py:112
829
msgid "Unable to load whitelist %r: %s"
832
#: .././plainbox/impl/commands/inv_checkbox.py:128
834
msgid "There is no test plan: %s"
837
#: .././plainbox/impl/commands/inv_checkbox.py:143
838
#: .././plainbox/impl/commands/inv_checkbox.py:154
840
msgid "Incorrect pattern %r: %s"
843
#: .././plainbox/impl/commands/inv_device.py:45
844
msgid "No supported devices detected?"
847
#: .././plainbox/impl/commands/inv_list.py:51
851
#: .././plainbox/impl/commands/inv_parse.py:64
852
msgid "Unable to decode input stream, must be valid UTF-8"
855
#: .././plainbox/impl/commands/inv_run.py:81
856
msgid "Pick an action"
859
#: .././plainbox/impl/commands/inv_run.py:171
863
#: .././plainbox/impl/commands/inv_run.py:172
864
msgid "Category: {0}"
867
#: .././plainbox/impl/commands/inv_run.py:179
868
msgid "press ENTER to continue"
871
#: .././plainbox/impl/commands/inv_run.py:180
872
#: .././plainbox/impl/commands/inv_run.py:893
873
msgid "add a comment"
876
#: .././plainbox/impl/commands/inv_run.py:181
877
msgid "skip this job"
880
#: .././plainbox/impl/commands/inv_run.py:182
881
msgid "save the session and quit"
884
#: .././plainbox/impl/commands/inv_run.py:192
885
msgid "Command output hidden"
888
#: .././plainbox/impl/commands/inv_run.py:223
892
#: .././plainbox/impl/commands/inv_run.py:232
896
#: .././plainbox/impl/commands/inv_run.py:239
897
msgid "Verification:"
900
#: .././plainbox/impl/commands/inv_run.py:245
901
msgid "Job cannot be started because:"
904
#: .././plainbox/impl/commands/inv_run.py:253
908
#: .././plainbox/impl/commands/inv_run.py:259
909
msgid "Waiting for the system to shut down or reboot..."
912
#: .././plainbox/impl/commands/inv_run.py:387
913
msgid "invalid choice: '{}'"
916
#: .././plainbox/impl/commands/inv_run.py:437
917
msgid "Resume Incomplete Session"
920
#: .././plainbox/impl/commands/inv_run.py:439
921
msgid "There is {0} incomplete session that might be resumed"
922
msgid_plural "There are {0} incomplete sessions that might be resumed"
926
#: .././plainbox/impl/commands/inv_run.py:446
927
msgid "resume this session"
930
#: .././plainbox/impl/commands/inv_run.py:447
934
#: .././plainbox/impl/commands/inv_run.py:448
935
msgid "create new session"
938
#: .././plainbox/impl/commands/inv_run.py:449
939
msgid "Do you want to resume session {0!a}?"
942
#: .././plainbox/impl/commands/inv_run.py:463
943
msgid "ignore this problem"
946
#: .././plainbox/impl/commands/inv_run.py:464
947
msgid "erase this session"
950
#: .././plainbox/impl/commands/inv_run.py:467
951
#: .././plainbox/impl/commands/inv_session.py:93
952
msgid "Session removed"
955
#. TRANSLATORS: This is the exit message
956
#: .././plainbox/impl/commands/inv_run.py:479
957
msgid "Session not resumed"
960
#: .././plainbox/impl/commands/inv_run.py:485
961
msgid "Available output formats:"
964
#: .././plainbox/impl/commands/inv_run.py:490
965
#: .././plainbox/impl/commands/inv_session.py:184
966
msgid "Each format may support a different set of options"
969
#: .././plainbox/impl/commands/inv_run.py:496
970
msgid "Available transports: {}"
973
#: .././plainbox/impl/commands/inv_run.py:512
975
msgid "Corrupted session %s: %s"
978
#: .././plainbox/impl/commands/inv_run.py:522
982
#: .././plainbox/impl/commands/inv_run.py:523
986
#: .././plainbox/impl/commands/inv_run.py:528
987
msgid "Do you want to start a new session?"
990
#: .././plainbox/impl/commands/inv_run.py:534
991
msgid "Previous session run tried to execute job: {}"
994
#: .././plainbox/impl/commands/inv_run.py:537
995
msgid "skip that job"
998
#: .././plainbox/impl/commands/inv_run.py:538
999
msgid "mark it as passed and continue"
1002
#: .././plainbox/impl/commands/inv_run.py:539
1003
msgid "mark it as failed and continue"
1006
#: .././plainbox/impl/commands/inv_run.py:540
1007
msgid "run it again"
1010
#: .././plainbox/impl/commands/inv_run.py:541
1011
msgid "What do you want to do with that job?"
1014
#: .././plainbox/impl/commands/inv_run.py:545
1015
msgid "Skipped after resuming execution"
1018
#: .././plainbox/impl/commands/inv_run.py:550
1019
msgid "Passed after resuming execution"
1022
#: .././plainbox/impl/commands/inv_run.py:555
1023
msgid "Failed after resuming execution"
1026
#: .././plainbox/impl/commands/inv_run.py:623
1027
msgid "The job database you are currently using is broken"
1030
#: .././plainbox/impl/commands/inv_run.py:625
1031
msgid "At least two jobs contend for the id {0}"
1034
#: .././plainbox/impl/commands/inv_run.py:628
1035
msgid "First job defined in: {0}"
1038
#: .././plainbox/impl/commands/inv_run.py:630
1039
msgid "Second job defined in: {0}"
1042
#: .././plainbox/impl/commands/inv_run.py:635
1043
msgid "This session cannot be resumed"
1046
#: .././plainbox/impl/commands/inv_run.py:699
1047
msgid "Analyzing Jobs"
1050
#: .././plainbox/impl/commands/inv_run.py:717
1051
msgid "Authentication"
1054
#: .././plainbox/impl/commands/inv_run.py:725
1055
msgid "Running Selected Jobs"
1058
#: .././plainbox/impl/commands/inv_run.py:745
1059
msgid "Running job {} / {}. Estimated time left: {}"
1062
#: .././plainbox/impl/commands/inv_run.py:813
1063
#: .././plainbox/impl/commands/inv_run.py:940
1064
#: .././plainbox/impl/commands/inv_run.py:950
1065
msgid "Please enter your comments:"
1068
#: .././plainbox/impl/commands/inv_run.py:820
1069
msgid "Explicitly skipped before execution"
1072
#: .././plainbox/impl/commands/inv_run.py:868
1076
#: .././plainbox/impl/commands/inv_run.py:875
1077
#: .././plainbox/impl/commands/inv_session.py:169
1078
msgid "Saving results to {}"
1081
#: .././plainbox/impl/commands/inv_run.py:887
1082
msgid "Select an outcome or an action: "
1085
#: .././plainbox/impl/commands/inv_run.py:897
1086
#: .././plainbox/impl/commands/inv_run.py:902
1087
#: .././plainbox/impl/commands/inv_run.py:907
1088
msgid "set outcome to {0}"
1091
#: .././plainbox/impl/commands/inv_run.py:898
1092
msgctxt "set outcome to <pass>"
1096
#: .././plainbox/impl/commands/inv_run.py:903
1097
msgctxt "set outcome to <fail>"
1101
#: .././plainbox/impl/commands/inv_run.py:908
1102
msgctxt "set outcome to <skip>"
1106
#: .././plainbox/impl/commands/inv_run.py:912
1107
msgid "re-run this job"
1110
#: .././plainbox/impl/commands/inv_run.py:919
1111
msgid "set suggested outcome [{0}]"
1114
#: .././plainbox/impl/commands/inv_run.py:922
1115
msgid "Please decide what to do next:"
1118
#: .././plainbox/impl/commands/inv_run.py:923
1122
#: .././plainbox/impl/commands/inv_run.py:926
1123
#: .././plainbox/impl/commands/inv_run.py:929
1127
#: .././plainbox/impl/commands/inv_run.py:927
1128
msgctxt "none comment"
1132
#: .././plainbox/impl/commands/inv_run.py:960
1136
#: .././plainbox/impl/commands/inv_run.py:961
1137
msgid "There were some problems with the selected jobs"
1140
#: .././plainbox/impl/commands/inv_run.py:964
1141
msgid "Problematic jobs will not be considered"
1144
#: .././plainbox/impl/commands/inv_run.py:967
1145
msgid "Session Statistics"
1148
#: .././plainbox/impl/commands/inv_run.py:968
1149
msgid "This session is about {0:.2f}{percent} complete"
1152
#: .././plainbox/impl/commands/inv_run.py:973
1153
msgid "Estimated duration is {:.2f} for automated jobs."
1156
#: .././plainbox/impl/commands/inv_run.py:977
1157
msgid "Estimated duration cannot be determined for automated jobs."
1160
#: .././plainbox/impl/commands/inv_run.py:979
1161
msgid "Estimated duration is {:.2f} for manual jobs."
1164
#: .././plainbox/impl/commands/inv_run.py:983
1165
msgid "Estimated duration cannot be determined for manual jobs."
1168
#: .././plainbox/impl/commands/inv_run.py:984
1169
msgid "Size of the desired job list: {0}"
1172
#: .././plainbox/impl/commands/inv_run.py:986
1173
msgid "Size of the effective execution plan: {0}"
1176
#: .././plainbox/impl/commands/inv_script.py:58
1177
msgid "There is no job called {!a}"
1180
#: .././plainbox/impl/commands/inv_script.py:60
1181
msgid "See `plainbox special --list-jobs` for a list of choices"
1184
#: .././plainbox/impl/commands/inv_script.py:63
1185
msgid "Selected job does not have a command"
1188
#: .././plainbox/impl/commands/inv_script.py:87
1189
msgid "Leftover file detected: {!a}:"
1192
#: .././plainbox/impl/commands/inv_script.py:94
1193
msgid "Leftover directory detected: {!a}"
1196
#: .././plainbox/impl/commands/inv_script.py:98
1197
msgid "Leftover thing detected: {!a}"
1200
#: .././plainbox/impl/commands/inv_script.py:102
1201
msgid "job {} returned {}"
1204
#: .././plainbox/impl/commands/inv_script.py:103
1208
#: .././plainbox/impl/commands/inv_session.py:78
1209
msgid "session {0} app:{1}, flags:{2!r}, title:{3!r}"
1212
#: .././plainbox/impl/commands/inv_session.py:82
1213
msgid "session {0} (not saved yet)"
1216
#: .././plainbox/impl/commands/inv_session.py:84
1217
msgid "There are no stored sessions"
1220
#: .././plainbox/impl/commands/inv_session.py:90
1221
#: .././plainbox/impl/commands/inv_session.py:99
1222
msgid "No such session"
1225
#: .././plainbox/impl/commands/inv_session.py:102
1229
#: .././plainbox/impl/commands/inv_session.py:107
1230
msgid "application ID: {0!r}"
1233
#: .././plainbox/impl/commands/inv_session.py:108
1234
msgid "application-specific blob: {0}"
1237
#: .././plainbox/impl/commands/inv_session.py:111
1238
msgid "session title: {0!r}"
1241
#: .././plainbox/impl/commands/inv_session.py:112
1242
msgid "session flags: {0!r}"
1245
#: .././plainbox/impl/commands/inv_session.py:113
1246
msgid "current job ID: {0!r}"
1249
#: .././plainbox/impl/commands/inv_session.py:115
1250
msgid "data size: {0}"
1253
#: .././plainbox/impl/commands/inv_session.py:117
1254
msgid "Resuming session {0} ..."
1257
#: .././plainbox/impl/commands/inv_session.py:121
1258
msgid "Failed to resume session:"
1261
#: .././plainbox/impl/commands/inv_session.py:123
1262
msgid "session resumed successfully"
1265
#: .././plainbox/impl/commands/inv_session.py:133
1266
#: .././plainbox/impl/commands/inv_session.py:151
1267
msgid "No such session: {0}"
1270
#: .././plainbox/impl/commands/inv_session.py:135
1271
msgid "Archiving session..."
1274
#: .././plainbox/impl/commands/inv_session.py:140
1275
msgid "Created archive: {0}"
1278
#: .././plainbox/impl/commands/inv_session.py:153
1279
msgid "Exporting session..."
1282
#: .././plainbox/impl/commands/inv_session.py:180
1283
msgid "Available output formats: {}"
1286
#: .././plainbox/impl/commands/inv_startprovider.py:58
1287
msgid "refusing to overwrite {!a}"
1290
#: .././plainbox/impl/commands/logtest.py:39
1291
msgid "a debug message"
1294
#: .././plainbox/impl/commands/logtest.py:40
1295
msgid "a info message"
1296
msgstr "an info message"
1298
#: .././plainbox/impl/commands/logtest.py:41
1299
msgid "a warning message"
1302
#: .././plainbox/impl/commands/logtest.py:42
1303
msgid "an error message"
1306
#: .././plainbox/impl/commands/logtest.py:43
1307
msgid "a critical message"
1310
#: .././plainbox/impl/commands/logtest.py:57
1311
msgid "log messages at various levels"
1314
#: .././plainbox/impl/ctrl.py:295
1316
msgid "Storing resource record %r: %s"
1319
#: .././plainbox/impl/ctrl.py:311 .././plainbox/impl/secure/launcher1.py:138
1321
msgid "Instantiating unit: %s"
1324
#: .././plainbox/impl/ctrl.py:318
1326
msgid "Ignoring invalid instantiated unit %s: %s"
1329
#: .././plainbox/impl/ctrl.py:344
1331
msgid "Ignoring invalid generated job %s: %s"
1334
#. TRANSLATORS: keep the word "local" untranslated. It is a
1335
#. special type of job that needs to be distinguished.
1336
#: .././plainbox/impl/ctrl.py:361
1339
"Local job %s produced job %s that collides with an existing job %s (from "
1340
"%s), the new job was discarded"
1343
#: .././plainbox/impl/ctrl.py:387
1345
msgid "Automatically breaking via-cycle: %s"
1348
#: .././plainbox/impl/ctrl.py:434
1350
msgid "processing output from a job: %r"
1353
#. TRANSLATORS: keep the word "local" untranslated. It is a
1354
#. special type of job that needs to be distinguished.
1355
#: .././plainbox/impl/ctrl.py:453
1357
msgid "local script %s returned invalid RFC822 data: %s"
1360
#: .././plainbox/impl/ctrl.py:483
1362
msgid "Adding executable %s to nest %s"
1365
#: .././plainbox/impl/ctrl.py:492
1367
msgid "Unable to create symlink s%s -> %s: %r"
1371
#: .././plainbox/impl/ctrl.py:554
1373
msgid "job[%s] executing %r with env %r in cwd %r"
1376
#: .././plainbox/impl/ctrl.py:581
1378
msgid "Symlink nest for executables: %s"
1381
#: .././plainbox/impl/ctrl.py:611
1383
msgid "Job temporary current working directory: %s"
1386
#: .././plainbox/impl/ctrl.py:968
1388
msgid "Generating job repr for job: %r"
1392
#: .././plainbox/impl/ctrl.py:1042
1394
msgid "job[%s] executing %r withenv %r in cwd %r"
1397
#: .././plainbox/impl/ctrl.py:1178
1399
msgid "Cannot check if plainbox-trusted-launcher-1 is available: %s"
1402
#: .././plainbox/impl/depmgr.py:97
1403
msgid "unknown job referenced: {!a}"
1406
#: .././plainbox/impl/depmgr.py:153
1407
msgid "dependency cycle detected: {}"
1410
#: .././plainbox/impl/depmgr.py:196
1411
msgid "missing dependency: {!r} ({})"
1414
#: .././plainbox/impl/depmgr.py:249
1415
msgid "duplicate job id: {!r}"
1418
#. Visit the visit list
1419
#: .././plainbox/impl/depmgr.py:337
1420
msgid "Starting solve"
1423
#: .././plainbox/impl/depmgr.py:338
1425
msgid "Solver job list: %r"
1428
#: .././plainbox/impl/depmgr.py:339
1430
msgid "Solver visit list: %r"
1433
#: .././plainbox/impl/depmgr.py:344
1434
msgid "Done solving"
1437
#: .././plainbox/impl/depmgr.py:360
1439
msgid "Visiting job that's not on the job_list: %r"
1442
#: .././plainbox/impl/depmgr.py:362
1444
msgid "Visiting job %s (color %s)"
1447
#: .././plainbox/impl/depmgr.py:377
1449
msgid "Found missing dependency: %r from %r"
1452
#. For each dependency that we visit let's reuse the trail
1453
#. to give proper error messages if a dependency loop exists
1454
#: .././plainbox/impl/depmgr.py:383
1456
msgid "Visiting dependency: %r"
1459
#. We've visited (recursively) all dependencies of this node,
1460
#. let's color it black and append it to the solution list.
1461
#: .././plainbox/impl/depmgr.py:390
1463
msgid "Appending %r to solution"
1466
#: .././plainbox/impl/depmgr.py:399
1468
msgid "Found dependency cycle: %r"
1471
#: .././plainbox/impl/device.py:98
1473
msgid "Unsupported platform: %s"
1476
#: .././plainbox/impl/exporter/__init__.py:250
1477
msgid "Uncategorised"
1480
#: .././plainbox/impl/exporter/__init__.py:384
1483
"Incorrect stream encoding. Got %s, expected %s. some characters won't be "
1487
#: .././plainbox/impl/exporter/text.py:59
1488
msgid " history: {0}\n"
1491
#: .././plainbox/impl/exporter/text.py:73
1495
#: .././plainbox/impl/exporter/xlsx.py:88
1496
#: .././plainbox/impl/exporter/xlsx.py:93
1497
msgid "Unsupported option: {}"
1500
#: .././plainbox/impl/exporter/xlsx.py:327
1501
msgid "Platform Name"
1504
#: .././plainbox/impl/exporter/xlsx.py:329
1508
#: .././plainbox/impl/exporter/xlsx.py:331
1512
#: .././plainbox/impl/exporter/xlsx.py:333
1516
#: .././plainbox/impl/exporter/xlsx.py:335
1520
#. TRANSLATORS: on board as in 'built in card'
1521
#: .././plainbox/impl/exporter/xlsx.py:338
1522
msgid "Video (on board)"
1525
#. TRANSLATORS: add-on as in dedicated graphics card
1526
#: .././plainbox/impl/exporter/xlsx.py:341
1527
msgid "Video (add-on)"
1530
#: .././plainbox/impl/exporter/xlsx.py:343
1531
msgid "Video memory"
1534
#: .././plainbox/impl/exporter/xlsx.py:345
1538
#. TRANSLATORS: NIC is network interface card
1539
#: .././plainbox/impl/exporter/xlsx.py:348
1543
#. TRANSLTORS: Wireless as in wireless network cards
1544
#: .././plainbox/impl/exporter/xlsx.py:351
1548
#: .././plainbox/impl/exporter/xlsx.py:353
1552
#: .././plainbox/impl/exporter/xlsx.py:358
1553
msgid "Packages Installed"
1556
#: .././plainbox/impl/exporter/xlsx.py:360
1557
#: .././plainbox/impl/exporter/xlsx.py:648
1558
#: .././plainbox/impl/exporter/xlsx.py:660
1562
#: .././plainbox/impl/exporter/xlsx.py:360
1566
#: .././plainbox/impl/exporter/xlsx.py:385
1567
#: .././plainbox/impl/exporter/xlsx.py:386
1568
#: .././plainbox/impl/exporter/xlsx.py:387
1572
#: .././plainbox/impl/exporter/xlsx.py:391
1573
msgid "Failures summary"
1576
#: .././plainbox/impl/exporter/xlsx.py:396
1577
msgid "{} Test passed"
1578
msgid_plural "{} Tests passed"
1582
#: .././plainbox/impl/exporter/xlsx.py:399
1583
msgid "Success Rate: {} ({}/{})"
1586
#: .././plainbox/impl/exporter/xlsx.py:406
1587
msgid "{} Test failed"
1588
msgid_plural "{} Tests failed"
1592
#: .././plainbox/impl/exporter/xlsx.py:409
1593
msgid "Failure Rate: {} ({}/{})"
1596
#: .././plainbox/impl/exporter/xlsx.py:416
1597
msgid "{} Test skipped"
1598
msgid_plural "{} Tests skipped"
1602
#: .././plainbox/impl/exporter/xlsx.py:419
1603
msgid "Skip Rate: {} ({}/{})"
1606
#: .././plainbox/impl/exporter/xlsx.py:438
1607
#: .././plainbox/impl/exporter/xlsx.py:439
1608
#: .././plainbox/impl/exporter/xlsx.py:736
1612
#: .././plainbox/impl/exporter/xlsx.py:560
1613
#: .././plainbox/impl/exporter/xlsx.py:652
1614
#: .././plainbox/impl/exporter/xlsx.py:733
1615
msgid "Test Descriptions"
1618
#: .././plainbox/impl/exporter/xlsx.py:636
1619
msgid "Tests Performed"
1622
#: .././plainbox/impl/exporter/xlsx.py:648
1626
#: .././plainbox/impl/exporter/xlsx.py:648
1627
msgid "Certification Status"
1630
#: .././plainbox/impl/exporter/xlsx.py:648
1634
#: .././plainbox/impl/exporter/xlsx.py:649
1638
#: .././plainbox/impl/exporter/xlsx.py:660
1642
#: .././plainbox/impl/exporter/xlsx.py:728
1646
#: .././plainbox/impl/exporter/xlsx.py:730
1647
msgid "Test Results"
1650
#: .././plainbox/impl/exporter/xlsx.py:739
1654
#: .././plainbox/impl/exporter/xlsx.py:741
1655
msgid "Resources Logs"
1658
#: .././plainbox/impl/exporter/xlsx.py:747
1659
msgid "System Testing Report"
1662
#: .././plainbox/impl/logging.py:98
1664
msgid "Unable to create log directory: %s"
1667
#: .././plainbox/impl/logging.py:99
1669
msgid "Reason: %s. All logs will go to console instead."
1672
#: .././plainbox/impl/logging.py:110
1674
msgid "Enabled %r on root logger"
1677
#: .././plainbox/impl/logging.py:117
1679
msgid "Enabled debugging on logger %r"
1682
#. TODO: portable parser error would be nice, to know where it
1683
#. fails. This is difficult at this stage.
1684
#: .././plainbox/impl/parsers.py:142
1685
msgid "Cannot parse input"
1688
#: .././plainbox/impl/providers/special.py:47
1689
msgid "StubBox (dummy data for development)"
1692
#: .././plainbox/impl/providers/special.py:66
1693
msgid "Common test category definitions"
1696
#: .././plainbox/impl/providers/special.py:86
1697
msgid "Hardware Manifest Provider"
1700
#: .././plainbox/impl/providers/special.py:105
1701
msgid "Exporters Provider"
1704
#: .././plainbox/impl/resource.py:53
1705
msgid "expression {!r} evaluated to a non-true result"
1708
#: .././plainbox/impl/resource.py:76
1709
msgid "expression {!r} needs unavailable resource {!r}"
1712
#: .././plainbox/impl/resource.py:287
1713
msgid "this kind of python code is not allowed: {}"
1716
#: .././plainbox/impl/resource.py:492
1717
msgid "expression did not reference any resources"
1720
#: .././plainbox/impl/resource.py:498
1721
msgid "syntax error in resource expression"
1724
#: .././plainbox/impl/resource.py:616
1726
msgid "Exception in requirement expression %r (with %s=%r): %r"
1729
#: .././plainbox/impl/resource.py:670
1731
"unable to parse imports statement {0!r}: expected exactly four or six tokens"
1734
#: .././plainbox/impl/resource.py:674
1735
msgid "unable to parse imports statement {0!r}: expected 'from' keyword"
1738
#: .././plainbox/impl/resource.py:679
1740
"unable to parse imports statement {0!r}: expected a namespace, not fully "
1741
"qualified job identifier"
1744
#: .././plainbox/impl/resource.py:683
1745
msgid "unable to parse imports statement {0!r}: expected 'import' keyword"
1748
#: .././plainbox/impl/resource.py:688
1750
"unable to parse imports statement {0!r}: expected a partial job identifier, "
1751
"not a fully qualified job identifier"
1754
#: .././plainbox/impl/resource.py:694
1755
msgid "unable to parse imports statement {0!r}: expected 'as' keyword"
1758
#: .././plainbox/impl/result.py:126
1759
msgctxt "textual outcome"
1760
msgid "job didn't run"
1763
#: .././plainbox/impl/result.py:127
1764
msgctxt "chart label"
1768
#: .././plainbox/impl/result.py:137
1769
msgctxt "textual outcome"
1773
#: .././plainbox/impl/result.py:138
1774
msgctxt "chart label"
1778
#: .././plainbox/impl/result.py:148
1779
msgctxt "textual outcome"
1783
#: .././plainbox/impl/result.py:149
1784
msgctxt "chart label"
1788
#: .././plainbox/impl/result.py:159
1789
msgctxt "textual outcome"
1793
#: .././plainbox/impl/result.py:160
1794
msgctxt "chart label"
1798
#: .././plainbox/impl/result.py:170
1799
msgctxt "textual outcome"
1800
msgid "job cannot be started"
1803
#: .././plainbox/impl/result.py:171
1804
msgctxt "chart label"
1805
msgid "not supported"
1808
#: .././plainbox/impl/result.py:181
1809
msgctxt "textual outcome"
1810
msgid "job is not implemented"
1813
#: .././plainbox/impl/result.py:182
1814
msgctxt "chart label"
1815
msgid "not implemented"
1818
#: .././plainbox/impl/result.py:192
1819
msgctxt "textual outcome"
1820
msgid "job needs verification"
1823
#: .././plainbox/impl/result.py:193
1824
msgctxt "chart label"
1828
#: .././plainbox/impl/result.py:203
1829
msgctxt "textual outcome"
1833
#: .././plainbox/impl/result.py:204
1834
msgctxt "chart label"
1838
#. TRANSLATORS: please keep DiskJobResult.io_log untranslated
1839
#: .././plainbox/impl/result.py:535
1841
msgid "Expensive DiskJobResult.io_log property access from %s:%d"
1844
#: .././plainbox/impl/result.py:557
1846
msgid "Encoded %r into string %r"
1849
#. TRANSLATORS: io means input-output
1850
#: .././plainbox/impl/runner.py:96
1852
msgid "io log generated %r"
1855
#. TRANSLATORS: %r is the name of the job
1856
#: .././plainbox/impl/runner.py:419
1861
#: .././plainbox/impl/runner.py:426
1862
msgid "This type of job is not supported"
1865
#. TRANSLATORS: please keep 'plugin' untranslated
1866
#: .././plainbox/impl/runner.py:459 .././plainbox/impl/runner.py:484
1867
#: .././plainbox/impl/runner.py:510 .././plainbox/impl/runner.py:536
1868
#: .././plainbox/impl/runner.py:562 .././plainbox/impl/runner.py:604
1869
#: .././plainbox/impl/runner.py:648 .././plainbox/impl/runner.py:696
1870
#: .././plainbox/impl/runner.py:721
1871
msgid "bad job plugin value"
1874
#: .././plainbox/impl/runner.py:727 .././plainbox/impl/runner.py:800
1875
msgid "No suitable execution controller is available)"
1878
#: .././plainbox/impl/runner.py:750
1880
msgid "job[%s] starting qml shell: %s"
1883
#: .././plainbox/impl/runner.py:755
1885
msgid "job[%s] shell return code: %r"
1888
#: .././plainbox/impl/runner.py:785
1889
msgid "Job skipped in dry-run mode"
1892
#: .././plainbox/impl/runner.py:861
1894
msgid "job[%s] extcmd delegate: %r"
1897
#: .././plainbox/impl/runner.py:876
1898
msgid "job {0} has no command to run"
1901
#: .././plainbox/impl/runner.py:903
1903
msgid "job[%s] starting command: %s"
1906
#: .././plainbox/impl/runner.py:908
1908
msgid "job[%s] command return code: %r"
1911
#: .././plainbox/impl/runner.py:944 .././plainbox/impl/session/state.py:483
1912
msgid "No exec controller supports job {}"
1915
#: .././plainbox/impl/runner.py:946 .././plainbox/impl/session/state.py:485
1917
msgid "Selected execution controller %s (score %d) for job %r"
1920
#: .././plainbox/impl/runner.py:974
1922
"Job {0} created leftover filesystem artefacts in its working directory"
1925
#: .././plainbox/impl/runner.py:977
1927
msgid "Leftover file/directory: %r"
1930
#: .././plainbox/impl/runner.py:980
1932
"Please store desired files in $PLAINBOX_SESSION_SHARE and use regular "
1933
"temporary files for everything else"
1936
#: .././plainbox/impl/secure/config.py:87
1940
#: .././plainbox/impl/secure/config.py:124
1941
msgid "unsupported kind"
1944
#: .././plainbox/impl/secure/config.py:572
1946
msgid "Loading configuration from %s"
1949
#: .././plainbox/impl/secure/config.py:699
1950
msgid "expected a boolean"
1953
#: .././plainbox/impl/secure/config.py:700
1954
msgid "expected an integer"
1957
#: .././plainbox/impl/secure/config.py:701
1958
msgid "expected a floating point number"
1961
#: .././plainbox/impl/secure/config.py:702
1962
msgid "expected a string"
1965
#: .././plainbox/impl/secure/config.py:717
1966
msgid "does not match pattern: {!r}"
1969
#: .././plainbox/impl/secure/config.py:736
1970
msgid "must be one of {}"
1973
#: .././plainbox/impl/secure/config.py:760
1974
msgid "must be set to something"
1977
#: .././plainbox/impl/secure/config.py:781
1978
msgid "cannot be empty"
1981
#: .././plainbox/impl/secure/launcher1.py:63
1982
msgid "Cannot find job with checksum {}"
1985
#: .././plainbox/impl/secure/launcher1.py:121
1987
msgid "Syntax error in record generated from %s: %s"
1990
#: .././plainbox/impl/secure/launcher1.py:189
1991
msgid "Security elevation mechanism for plainbox"
1994
#. TRANSLATORS: don't translate pkexec(1)
1995
#: .././plainbox/impl/secure/launcher1.py:195
1996
msgid "return immediately, only useful when used with pkexec(1)"
1999
#: .././plainbox/impl/secure/launcher1.py:198
2000
#: .././plainbox/impl/secure/launcher1.py:210
2004
#: .././plainbox/impl/secure/launcher1.py:199
2005
msgid "run a job with this checksum"
2008
#: .././plainbox/impl/secure/launcher1.py:200
2009
msgid "target job specification"
2012
#: .././plainbox/impl/secure/launcher1.py:202
2013
#: .././plainbox/impl/secure/launcher1.py:219
2017
#: .././plainbox/impl/secure/launcher1.py:206
2018
msgid "environment passed to the target job"
2021
#: .././plainbox/impl/secure/launcher1.py:207
2022
msgid "generator job specification"
2025
#. TRANSLATORS: don't translate 'local' in the sentence below. It
2026
#. denotes a special type of job, not its location.
2027
#: .././plainbox/impl/secure/launcher1.py:213
2028
msgid "also run a job with this checksum (assuming it is a local job)"
2031
#: .././plainbox/impl/secure/launcher1.py:221
2032
msgid "environment passed to the generator job"
2035
#: .././plainbox/impl/secure/origin.py:216
2039
#: .././plainbox/impl/secure/origin.py:348
2040
msgid "command line argument {}={!a}"
2043
#: .././plainbox/impl/secure/origin.py:351
2044
msgid "command line argument {!a}"
2047
#: .././plainbox/impl/secure/plugins.py:407
2049
msgid "Unable to prepare plugin %s: %s"
2052
#: .././plainbox/impl/secure/plugins.py:423
2053
msgid "discovery_time is meaningful after calling load()"
2056
#: .././plainbox/impl/secure/plugins.py:493
2058
msgid "Unable to import %s"
2061
#: .././plainbox/impl/secure/plugins.py:569
2063
msgid "Unable to load %r: %s"
2066
#: .././plainbox/impl/secure/plugins.py:708
2068
msgid "Loading everything in %r"
2071
#: .././plainbox/impl/secure/plugins.py:725
2076
#: .././plainbox/impl/secure/plugins.py:728
2078
msgid "Unable to load: %r"
2081
#: .././plainbox/impl/secure/plugins.py:731
2086
#: .././plainbox/impl/secure/plugins.py:745
2088
msgid "Importing %s"
2091
#: .././plainbox/impl/secure/plugins.py:750
2093
msgid "Calling %r with %r"
2096
#: .././plainbox/impl/secure/providers/v1.py:89
2097
msgid "Cannot load {!r}: {}"
2100
#: .././plainbox/impl/secure/providers/v1.py:260
2102
msgid "Loading units from %r..."
2105
#: .././plainbox/impl/secure/providers/v1.py:266
2106
msgid "Cannot load job definitions from {!r}: {}"
2109
#: .././plainbox/impl/secure/providers/v1.py:275
2110
msgid "Unknown unit type: {!r}"
2113
#: .././plainbox/impl/secure/providers/v1.py:280
2114
msgid "Cannot define unit from record {!r}: {}"
2117
#: .././plainbox/impl/secure/providers/v1.py:286
2118
msgid "Problem in unit definition, {}"
2121
#: .././plainbox/impl/secure/providers/v1.py:292
2122
msgid "Problem in unit definition, field {}: {}"
2125
#: .././plainbox/impl/secure/providers/v1.py:295
2130
#: .././plainbox/impl/secure/providers/v1.py:1241
2131
#: .././plainbox/impl/secure/providers/v1.py:1270
2132
msgid "must look like RFC3720 IQN"
2135
#: .././plainbox/impl/secure/providers/v1.py:1287
2136
msgid "must be a sequence of digits separated by dots"
2139
#: .././plainbox/impl/secure/providers/v1.py:1297
2140
msgid "no such directory"
2143
#: .././plainbox/impl/secure/providers/v1.py:1307
2144
msgid "cannot be relative"
2147
#: .././plainbox/impl/secure/providers/v1.py:1328
2148
msgid "Flag indicating if the provider is relocatable"
2151
#: .././plainbox/impl/secure/providers/v1.py:1334
2152
msgid "Base directory with provider data"
2155
#: .././plainbox/impl/secure/providers/v1.py:1344
2156
msgid "Name of the provider"
2159
#: .././plainbox/impl/secure/providers/v1.py:1353
2160
msgid "Namespace of the provider"
2163
#: .././plainbox/impl/secure/providers/v1.py:1368
2164
msgid "Version of the provider"
2167
#: .././plainbox/impl/secure/providers/v1.py:1377
2168
msgid "Description of the provider"
2171
#: .././plainbox/impl/secure/providers/v1.py:1381
2172
msgid "Name of the gettext domain for translations"
2175
#: .././plainbox/impl/secure/providers/v1.py:1400
2176
msgid "Pathname of the directory with unit definitions"
2179
#: .././plainbox/impl/secure/providers/v1.py:1436
2180
msgid "Pathname of the directory with job definitions"
2183
#: .././plainbox/impl/secure/providers/v1.py:1472
2184
msgid "Pathname of the directory with whitelists definitions"
2187
#: .././plainbox/impl/secure/providers/v1.py:1509
2188
msgid "Pathname of the directory with provider data"
2191
#: .././plainbox/impl/secure/providers/v1.py:1545
2192
msgid "Pathname of the directory with provider executables"
2195
#: .././plainbox/impl/secure/providers/v1.py:1581
2196
msgid "Pathname of the directory with locale data"
2199
#: .././plainbox/impl/secure/providers/v1.py:1681
2200
msgid "Problem in provider definition, field {!a}: {}"
2203
#: .././plainbox/impl/secure/qualifiers.py:57
2204
#: .././plainbox/impl/secure/qualifiers.py:60
2205
msgid "argument {!a}, expected {}, got {}"
2208
#: .././plainbox/impl/secure/rfc822.py:311
2210
msgid "Committed key/value %r=%r"
2213
#: .././plainbox/impl/secure/rfc822.py:336
2215
msgid "Looking at line %d:%r"
2218
#: .././plainbox/impl/secure/rfc822.py:348
2219
#: .././plainbox/impl/secure/rfc822.py:416
2221
msgid "yielding record: %r"
2224
#. If we have not seen any keys yet then this is a syntax error
2225
#: .././plainbox/impl/secure/rfc822.py:357
2226
msgid "Unexpected multi-line value"
2229
#: .././plainbox/impl/secure/rfc822.py:385
2230
msgid "Job has a duplicate key {!r} with old value {!r} and new value {!r}"
2233
#: .././plainbox/impl/secure/rfc822.py:411
2234
msgid "Unexpected non-empty line: {!r}"
2237
#: .././plainbox/impl/session/jobs.py:83
2238
msgid "unsupported value for cause"
2241
#. TRANSLATORS: please don't translate related_job, None and
2243
#: .././plainbox/impl/session/jobs.py:175
2244
msgid "related_job must not be None when cause is {}"
2247
#. TRANSLATORS: please don't translate related_expression, None
2249
#: .././plainbox/impl/session/jobs.py:183
2250
msgid "related_expression must not be None when cause is {}"
2253
#. TRANSLATORS: as in undesired job
2254
#: .././plainbox/impl/session/jobs.py:196
2258
#: .././plainbox/impl/session/jobs.py:198
2259
msgid "required dependency {!r} did not run yet"
2262
#: .././plainbox/impl/session/jobs.py:201
2263
msgid "required dependency {!r} has failed"
2266
#: .././plainbox/impl/session/jobs.py:205
2268
"resource expression {!r} could not be evaluated because the resource it "
2269
"depends on did not run yet"
2272
#: .././plainbox/impl/session/jobs.py:210
2273
msgid "resource expression {!r} evaluates to false"
2276
#: .././plainbox/impl/session/jobs.py:361
2277
msgid "job cannot be started: {}"
2280
#: .././plainbox/impl/session/jobs.py:365
2281
msgid "job can be started"
2284
#: .././plainbox/impl/session/jobs.py:412
2285
msgid "{!r} is not overridable"
2288
#: .././plainbox/impl/session/manager.py:99
2289
#: .././plainbox/impl/session/manager.py:457
2291
"session manager currently doesn't support sessions involving multiple "
2292
"devices (a.k.a multi-node testing)"
2295
#: .././plainbox/impl/session/manager.py:365
2297
msgid "Saving %d byte of checkpoint data to %r"
2298
msgid_plural "Saving %d bytes of checkpoint data to %r"
2302
#: .././plainbox/impl/session/manager.py:400
2304
"attmpting to add a context for device {} which is already represented in "
2305
"this session manager"
2308
#: .././plainbox/impl/session/manager.py:430
2310
"attempting to remove a device context not present in this session manager"
2313
#: .././plainbox/impl/session/manager.py:441
2315
msgid "Device context %s added to session manager %s"
2318
#: .././plainbox/impl/session/manager.py:451
2320
msgid "Device context %s removed from session manager %s"
2323
#: .././plainbox/impl/session/manager.py:462
2324
msgid "Propagating test plans to all devices"
2327
#: .././plainbox/impl/session/resume.py:148
2328
msgid "Cannot decompress session data"
2331
#: .././plainbox/impl/session/resume.py:152
2332
msgid "Cannot decode session text"
2335
#: .././plainbox/impl/session/resume.py:156
2336
msgid "Cannot interpret session JSON"
2339
#: .././plainbox/impl/session/resume.py:187
2340
msgid "Peeking at json... (see below)"
2343
#: .././plainbox/impl/session/resume.py:205
2344
#: .././plainbox/impl/session/resume.py:333
2345
msgid "Unsupported version {}"
2348
#: .././plainbox/impl/session/resume.py:309
2349
msgid "Resuming from json... (see below)"
2352
#: .././plainbox/impl/session/resume.py:382
2353
msgid "Each flag must be a string"
2356
#. TRANSLATORS: please don't translate app_blob
2357
#: .././plainbox/impl/session/resume.py:414
2358
msgid "app_blob is not ASCII"
2361
#. TRANSLATORS: please don't translate app_blob
2362
#: .././plainbox/impl/session/resume.py:419
2363
msgid "Cannot base64 decode app_blob"
2366
#: .././plainbox/impl/session/resume.py:478
2367
#: .././plainbox/impl/session/resume.py:664
2368
#: .././plainbox/impl/session/resume.py:1108
2369
msgid "Starting to restore metadata..."
2372
#: .././plainbox/impl/session/resume.py:648
2373
#: .././plainbox/impl/session/resume.py:1092
2375
msgid "Constructed new session for resume %r"
2378
#: .././plainbox/impl/session/resume.py:654
2379
#: .././plainbox/impl/session/resume.py:1098
2381
msgid "Invoking early callback %r"
2384
#: .././plainbox/impl/session/resume.py:658
2385
#: .././plainbox/impl/session/resume.py:1102
2387
msgid "Using different session for resume: %r"
2390
#: .././plainbox/impl/session/resume.py:662
2391
#: .././plainbox/impl/session/resume.py:1106
2393
msgid "Starting to restore jobs and results to %r..."
2396
#: .././plainbox/impl/session/resume.py:666
2397
#: .././plainbox/impl/session/resume.py:1110
2399
msgid "restored metadata %r"
2402
#: .././plainbox/impl/session/resume.py:667
2403
#: .././plainbox/impl/session/resume.py:1113
2404
msgid "Starting to restore desired job list..."
2407
#: .././plainbox/impl/session/resume.py:669
2408
#: .././plainbox/impl/session/resume.py:1115
2409
msgid "Starting to restore job list..."
2412
#. Return whatever we've got
2413
#: .././plainbox/impl/session/resume.py:672
2414
#: .././plainbox/impl/session/resume.py:1118
2415
msgid "Resume complete!"
2418
#: .././plainbox/impl/session/resume.py:729
2419
msgid "Unknown jobs remaining: {}"
2422
#: .././plainbox/impl/session/resume.py:764
2424
msgid "Ignoring changes to job %r)"
2427
#: .././plainbox/impl/session/resume.py:767
2428
msgid "Definition of job {!r} has changed"
2431
#: .././plainbox/impl/session/resume.py:783
2433
msgid "calling update_job_result(%r, %r)"
2436
#: .././plainbox/impl/session/resume.py:802
2437
#: .././plainbox/impl/session/resume.py:831
2438
msgid "Each job id must be a string"
2441
#: .././plainbox/impl/session/resume.py:807
2443
msgid "calling update_desired_job_list(%r)"
2446
#: .././plainbox/impl/session/resume.py:814
2447
msgid "'desired_job_list' refers to unknown job {!r}"
2450
#: .././plainbox/impl/session/resume.py:836
2452
msgid "calling update_mandatory_job_list(%r)"
2455
#: .././plainbox/impl/session/resume.py:843
2456
msgid "'mandatory_job_list' refers to unknown job {!r}"
2459
#: .././plainbox/impl/session/resume.py:912
2461
msgid "Rewrote file name from %r to %r"
2464
#: .././plainbox/impl/session/resume.py:918
2465
msgid "cannot access file: {!r}"
2468
#. TRANSLATORS: please keep delay untranslated
2469
#: .././plainbox/impl/session/resume.py:955
2470
msgid "delay cannot be negative"
2473
#: .././plainbox/impl/session/resume.py:967
2474
msgid "record data {!r} is not ASCII"
2477
#: .././plainbox/impl/session/resume.py:972
2478
msgid "record data {!r} is not correct base64"
2481
#: .././plainbox/impl/session/resume.py:1111
2482
msgid "Starting to restore mandatory job list..."
2485
#: .././plainbox/impl/session/resume.py:1127
2489
#: .././plainbox/impl/session/resume.py:1133
2490
msgid "Missing value for key {!r}"
2493
#: .././plainbox/impl/session/resume.py:1137
2497
#: .././plainbox/impl/session/resume.py:1143
2498
msgid "Value of {} cannot be None"
2501
#: .././plainbox/impl/session/resume.py:1151
2502
msgid "Value of {} is of incorrect type {}"
2505
#: .././plainbox/impl/session/resume.py:1160
2506
msgid "Value for {} not in allowed set {!r}"
2509
#. TRANSLATORS: please don't translate app_blob, None and bytes
2510
#: .././plainbox/impl/session/state.py:167
2511
msgid "app_blob must be either None or bytes"
2514
#. TRANSLATORS: please don't translate app_blob, None and bytes
2515
#: .././plainbox/impl/session/state.py:185
2516
msgid "app_id must be either None or str"
2519
#: .././plainbox/impl/session/state.py:393
2520
msgid "attempting to add the same provider twice"
2523
#: .././plainbox/impl/session/state.py:415
2524
msgid "attempting to add the same unit twice"
2527
#: .././plainbox/impl/session/state.py:431
2528
msgid "attempting to remove unit not in this context"
2531
#: .././plainbox/impl/session/state.py:492
2533
msgid "Provider %s added to context %s"
2536
#: .././plainbox/impl/session/state.py:500
2538
msgid "Unit %s added to context %s"
2541
#: .././plainbox/impl/session/state.py:514
2543
msgid "Unit %s removed from context %s"
2546
#: .././plainbox/impl/session/state.py:719
2548
msgid "Job %s result changed to %r"
2551
#: .././plainbox/impl/session/state.py:835
2552
msgid "cannot remove jobs that are on the run list: {}"
2555
#: .././plainbox/impl/session/storage.py:116
2557
msgid "Enumerating sessions in %s"
2560
#: .././plainbox/impl/session/storage.py:138
2562
msgid "Found possible session in %r"
2565
#: .././plainbox/impl/session/storage.py:176
2567
msgid "Session repository %s it not a directory"
2570
#: .././plainbox/impl/session/storage.py:181
2572
msgid "Session repository %s is read-only"
2575
#: .././plainbox/impl/session/storage.py:186
2577
msgid "Using temporary directory %s as session repository"
2580
#: .././plainbox/impl/session/storage.py:283
2582
msgid "Created new storage in %r"
2585
#: .././plainbox/impl/session/storage.py:307
2587
msgid "%r is not a symlink, repository %r must be corrupted"
2590
#: .././plainbox/impl/session/storage.py:311
2592
msgid "Unable to read symlink target from %r: %r"
2595
#: .././plainbox/impl/session/storage.py:315
2597
msgid "Removing storage associated with last session %r"
2600
#: .././plainbox/impl/session/storage.py:322
2602
msgid "Removing symlink associated with last session: %r"
2605
#: .././plainbox/impl/session/storage.py:328
2607
msgid "Linking storage %r to last session"
2610
#: .././plainbox/impl/session/storage.py:333
2612
msgid "Cannot link %r as %r: %r"
2615
#: .././plainbox/impl/session/storage.py:340
2617
msgid "Removing session storage from %r"
2620
#. TRANSLATORS: unlinking as in deleting a file
2621
#. Please keep the 'next' string untranslated
2622
#: .././plainbox/impl/session/storage.py:422
2624
msgid "Forcibly unlinking 'next' file %r"
2627
#: .././plainbox/impl/session/storage.py:426
2629
msgid "Loading checkpoint (%s)"
2632
#: .././plainbox/impl/session/storage.py:432
2633
#: .././plainbox/impl/session/storage.py:474
2635
msgid "Opened session state file %r as descriptor %d"
2638
#. TRANSLATORS: stat is a system call name, don't translate it
2639
#: .././plainbox/impl/session/storage.py:438
2640
#: .././plainbox/impl/session/storage.py:480
2642
msgid "Stat'ed session state file: %s"
2645
#: .././plainbox/impl/session/storage.py:442
2646
#: .././plainbox/impl/session/storage.py:484
2648
msgid "Reading %d byte of session state"
2649
msgid_plural "Reading %d bytes of session state"
2653
#: .././plainbox/impl/session/storage.py:447
2654
#: .././plainbox/impl/session/storage.py:489
2656
msgid "Read %d byte of session state"
2657
msgid_plural "Read %d bytes of session state"
2661
#: .././plainbox/impl/session/storage.py:450
2662
#: .././plainbox/impl/session/storage.py:492
2663
#: .././plainbox/impl/session/storage.py:522
2664
msgid "partial read?"
2667
#. Close the session file
2668
#. Close the location directory
2669
#: .././plainbox/impl/session/storage.py:453
2670
#: .././plainbox/impl/session/storage.py:495
2671
#: .././plainbox/impl/session/storage.py:506
2673
msgid "Closed descriptor %d"
2676
#: .././plainbox/impl/session/storage.py:468
2678
msgid "Opened session directory %r as descriptor %d"
2681
#: .././plainbox/impl/session/storage.py:548
2682
#: .././plainbox/impl/session/storage.py:646
2683
#: .././plainbox/impl/session/storage.py:759
2685
msgid "Saving %d byte of data (%s)"
2686
msgid_plural "Saving %d bytes of data (%s)"
2690
#: .././plainbox/impl/session/storage.py:576
2691
#: .././plainbox/impl/session/storage.py:680
2692
#: .././plainbox/impl/session/storage.py:791
2694
msgid "Opened next session file %s as descriptor %d"
2697
#: .././plainbox/impl/session/storage.py:587
2698
#: .././plainbox/impl/session/storage.py:691
2699
#: .././plainbox/impl/session/storage.py:802
2701
msgid "Wrote %d byte of data to descriptor %d"
2702
msgid_plural "Wrote %d bytes of data to descriptor %d"
2706
#: .././plainbox/impl/session/storage.py:591
2707
#: .././plainbox/impl/session/storage.py:695
2708
#: .././plainbox/impl/session/storage.py:806
2709
msgid "partial write?"
2712
#: .././plainbox/impl/session/storage.py:593
2714
msgid "Unable to complete write: %s"
2717
#. If anything goes wrong we should unlink the next file.
2718
#. TRANSLATORS: unlinking as in deleting a file
2719
#: .././plainbox/impl/session/storage.py:596
2721
msgid "Unlinking %r: %r"
2724
#. TRANSLATORS: please don't translate fsync()
2725
#. Flush kernel buffers on the directory.
2727
#. This should ensure the rename operation is really on disk by now.
2728
#. As noted above, this is essential for being able to survive
2729
#. system crash immediately after exiting this method.
2730
#. TRANSLATORS: please don't translate fsync()
2731
#: .././plainbox/impl/session/storage.py:605
2732
#: .././plainbox/impl/session/storage.py:709
2733
#: .././plainbox/impl/session/storage.py:744
2734
#: .././plainbox/impl/session/storage.py:822
2735
#: .././plainbox/impl/session/storage.py:859
2737
msgid "Calling fsync() on descriptor %d"
2740
#: .././plainbox/impl/session/storage.py:609
2741
#: .././plainbox/impl/session/storage.py:713
2742
#: .././plainbox/impl/session/storage.py:826
2744
msgid "Cannot synchronize file %r: %s"
2747
#. Close the new session file
2748
#. Close the location directory
2749
#. Close the new session file
2750
#. Close the location directory
2751
#: .././plainbox/impl/session/storage.py:613
2752
#: .././plainbox/impl/session/storage.py:717
2753
#: .././plainbox/impl/session/storage.py:752
2754
#: .././plainbox/impl/session/storage.py:830
2755
#: .././plainbox/impl/session/storage.py:867
2757
msgid "Closing descriptor %d"
2760
#. Rename FILE_NEXT over FILE.
2761
#: .././plainbox/impl/session/storage.py:616
2762
#: .././plainbox/impl/session/storage.py:720
2763
#: .././plainbox/impl/session/storage.py:837
2765
msgid "Renaming %r to %r"
2768
#: .././plainbox/impl/session/storage.py:625
2769
#: .././plainbox/impl/session/storage.py:729
2770
#: .././plainbox/impl/session/storage.py:847
2772
msgid "Unable to rename/overwrite %r to %r: %r"
2775
#. TRANSLATORS: unlinking as in deleting a file
2776
#. If anything goes wrong we should unlink the next file.
2777
#. TRANSLATORS: unlinking as in deleting a file
2778
#. Same as above, if we fail we need to unlink the next file
2779
#. otherwise any other attempts will not be able to open() it
2780
#. with O_EXCL flag.
2781
#. TRANSLATORS: unlinking as in deleting a file
2782
#. If anything goes wrong we should unlink the next file. As
2783
#. with the open() call above we use unlinkat to prevent race
2785
#. TRANSLATORS: unlinking as in deleting a file
2786
#: .././plainbox/impl/session/storage.py:628
2787
#: .././plainbox/impl/session/storage.py:700
2788
#: .././plainbox/impl/session/storage.py:735
2789
#: .././plainbox/impl/session/storage.py:813
2790
#: .././plainbox/impl/session/storage.py:850
2792
msgid "Unlinking %r"
2795
#: .././plainbox/impl/session/storage.py:657
2796
#: .././plainbox/impl/session/storage.py:766
2798
msgid "Opened %r as descriptor %d"
2801
#: .././plainbox/impl/session/storage.py:697
2802
#: .././plainbox/impl/session/storage.py:808
2804
msgid "Unable to complete write: %r"
2807
#: .././plainbox/impl/session/storage.py:748
2808
#: .././plainbox/impl/session/storage.py:863
2810
msgid "Cannot synchronize directory %r: %s"
2813
#: .././plainbox/impl/transport.py:98
2814
msgid "No valid options in option string"
2817
#: .././plainbox/impl/transport.py:204
2819
msgid "Sending to %s, hardware id is %s"
2822
#: .././plainbox/impl/transport.py:212
2824
msgid "submit_to_hexr set to %s by config"
2827
#: .././plainbox/impl/transport.py:216
2829
msgid "submit_to_hexr set to %s by UI"
2832
#: .././plainbox/impl/transport.py:232
2833
msgid "Request to {0} timed out: {1}"
2836
#: .././plainbox/impl/transport.py:235
2837
msgid "Invalid destination URL: {0}"
2840
#: .././plainbox/impl/transport.py:238
2841
msgid "Unable to connect to {0}: {1}"
2844
#: .././plainbox/impl/transport.py:256
2845
msgid "secure_id must be 15 or 18-character alphanumeric string"
2848
#: .././plainbox/impl/transport.py:271
2849
msgid "Unable to import {}: {}"
2852
#: .././plainbox/impl/unit/_legacy.py:298
2853
msgid "invalid regular expression: {0}"
2856
#: .././plainbox/impl/unit/category.py:102
2860
#: .././plainbox/impl/unit/category.py:119
2861
#: .././plainbox/impl/unit/exporter.py:123 .././plainbox/impl/unit/job.py:714
2862
#: .././plainbox/impl/unit/testplan.py:563
2863
msgid "please use only one line"
2866
#: .././plainbox/impl/unit/category.py:125
2867
#: .././plainbox/impl/unit/exporter.py:129 .././plainbox/impl/unit/job.py:720
2868
#: .././plainbox/impl/unit/testplan.py:569
2869
msgid "please stay under 80 characters"
2872
#: .././plainbox/impl/unit/exporter.py:161
2873
msgid "Jinja2 template not found"
2876
#: .././plainbox/impl/unit/file.py:123
2880
#: .././plainbox/impl/unit/file.py:142
2882
"please use .pxu as an extension for all files with plainbox units, see: {}"
2885
#: .././plainbox/impl/unit/file.py:152 .././plainbox/impl/unit/job.py:730
2886
#: .././plainbox/impl/unit/job.py:1004
2887
msgid "valid values are: {}"
2890
#: .././plainbox/impl/unit/job.py:450
2894
#: .././plainbox/impl/unit/job.py:451
2898
#: .././plainbox/impl/unit/job.py:452
2899
msgid "VERIFICATION"
2902
#: .././plainbox/impl/unit/job.py:583 .././plainbox/impl/unit/job.py:613
2904
msgid "unable to parse depends: %s"
2907
#. TRANSLATORS: don't translate record.origin or JobOutputTextSource
2908
#: .././plainbox/impl/unit/job.py:663
2909
msgid "record.origin must be a JobOutputTextSource"
2912
#. TRANSLATORS: don't translate record.origin.source.job
2913
#: .././plainbox/impl/unit/job.py:666
2914
msgid "record.origin.source.job must be this job"
2917
#: .././plainbox/impl/unit/job.py:671
2921
#: .././plainbox/impl/unit/job.py:703
2922
msgid "use 'id' and 'summary' instead of 'name'"
2925
#: .././plainbox/impl/unit/job.py:736
2927
"please migrate to job templates, see plainbox-template-unit(7) for details"
2930
#: .././plainbox/impl/unit/job.py:741
2931
msgid "please migrate to user-interact-verify"
2934
#: .././plainbox/impl/unit/job.py:747
2935
msgid "command is mandatory for non-manual jobs"
2938
#: .././plainbox/impl/unit/job.py:751
2939
msgid "command on a manual or qml job makes no sense"
2942
#: .././plainbox/impl/unit/job.py:757
2943
msgid "please use PLAINBOX_PROVIDER_DATA instead of CHECKBOX_SHARE"
2946
#: .././plainbox/impl/unit/job.py:764
2947
msgid "please use PLAINBOX_SESSION_SHARE instead of CHECKBOX_DATA"
2950
#: .././plainbox/impl/unit/job.py:775
2952
"manual jobs must have a description field, or a set of purpose, steps, and "
2953
"verification fields"
2956
#: .././plainbox/impl/unit/job.py:786
2958
"all jobs should have a description field, or a set of purpose, steps and "
2959
"verification fields"
2962
#: .././plainbox/impl/unit/job.py:831
2963
msgid "user can only be 'root'"
2966
#: .././plainbox/impl/unit/job.py:835
2967
msgid "user without a command makes no sense"
2970
#: .././plainbox/impl/unit/job.py:843
2971
msgid "environ without a command makes no sense"
2974
#: .././plainbox/impl/unit/job.py:869 .././plainbox/impl/unit/job.py:883
2975
#: .././plainbox/impl/unit/job.py:895 .././plainbox/impl/unit/job.py:928
2976
#: .././plainbox/impl/unit/template.py:438
2977
#: .././plainbox/impl/unit/testplan.py:595
2978
msgid "the referenced unit is not a job"
2981
#: .././plainbox/impl/unit/job.py:902 .././plainbox/impl/unit/template.py:445
2982
msgid "the referenced job is not a resource job"
2985
#: .././plainbox/impl/unit/job.py:913
2986
msgid "only /bin/sh and /bin/bash are allowed"
2989
#: .././plainbox/impl/unit/job.py:943
2990
msgid "the referenced unit is not a category"
2993
#: .././plainbox/impl/unit/job.py:956
2995
"please ensure that the command supports non-C locale then set the preserve-"
2999
#: .././plainbox/impl/unit/job.py:967
3001
"explicit-fail makes no sense for job which outcome is automatically "
3005
#: .././plainbox/impl/unit/job.py:976
3006
msgid "has-leftovers makes no sense without a command"
3009
#: .././plainbox/impl/unit/job.py:988
3010
msgid "use the .qml extension for all QML files"
3013
#: .././plainbox/impl/unit/job.py:993
3014
msgid "please point to an existing QML file"
3017
#: .././plainbox/impl/unit/packaging.py:176
3018
msgid "Operating System: {}"
3021
#: .././plainbox/impl/unit/packaging.py:182
3025
#: .././plainbox/impl/unit/packaging.py:184
3026
msgid "Recommends: {}"
3029
#: .././plainbox/impl/unit/packaging.py:186
3030
msgid "Suggests: {}"
3033
#: .././plainbox/impl/unit/packaging.py:299
3034
#: .././plainbox/impl/unit/packaging.py:310
3035
#: .././plainbox/impl/unit/packaging.py:320
3037
msgid "Considering strategy: %s"
3040
#: .././plainbox/impl/unit/packaging.py:300
3041
msgid "os-id == ID and os-version-id == VERSION_ID"
3044
#: .././plainbox/impl/unit/packaging.py:311
3045
msgid "os-id == ID and os-version-id == undefined"
3048
#: .././plainbox/impl/unit/packaging.py:321
3049
msgid "os-id == ID_LIKE and os-version-id == undefined"
3052
#: .././plainbox/impl/unit/packaging.py:343
3053
msgid "All strategies unsuccessful"
3056
#: .././plainbox/impl/unit/packaging.py:345
3057
msgid "Last strategy was successful"
3060
#: .././plainbox/impl/unit/packaging.py:404
3062
"There are no applicable binary packages.\n"
3063
"Add 'X-Plainbox-Provider: yes' to each binary package that contains a "
3067
#: .././plainbox/impl/unit/packaging.py:426
3072
#: .././plainbox/impl/unit/packaging.py:441
3073
msgid "Loading debian/control"
3076
#: .././plainbox/impl/unit/packaging.py:450
3078
msgid "Found binary provider package: %s"
3081
#: .././plainbox/impl/unit/packaging.py:455
3083
"There is no appropriate packaging in this directory.\n"
3084
"The file debian/control could not be found"
3087
#: .././plainbox/impl/unit/packaging.py:465
3088
msgid "Using Debian packaging driver"
3091
#: .././plainbox/impl/unit/packaging.py:467
3092
msgid "Using null packaging driver"
3095
#: .././plainbox/impl/unit/template.py:72
3096
msgid "unable to instantiate template: {}"
3099
#: .././plainbox/impl/unit/template.py:406
3103
#: .././plainbox/impl/unit/template.py:426
3104
msgid "template should explicitly define instantiated unit type"
3107
#: .././plainbox/impl/unit/template.py:466
3108
msgid "at most one import statement is allowed"
3111
#. TODO: compute potential_id_map
3112
#: .././plainbox/impl/unit/testplan.py:82
3113
msgid "selector {!a} may not match any known or generated job"
3116
#: .././plainbox/impl/unit/testplan.py:134
3118
"selector {!a} will select a job already matched by the 'include' field "
3122
#: .././plainbox/impl/unit/testplan.py:313
3124
msgid "unable to parse bootstrap_include: %s"
3127
#: .././plainbox/impl/unit/testplan.py:599
3128
msgid "only local and resource jobs are allowed in bootstrapping_include"
3131
#: .././plainbox/impl/unit/unit.py:117
3132
msgid "{}.Meta.fields[{!r}] is not a validator"
3135
#: .././plainbox/impl/unit/unit.py:129
3136
msgid "{}.Meta.fields[{!r}][{}] is not a validator"
3139
#: .././plainbox/impl/unit/unit.py:198
3140
msgid "unable to deduce message and no message provided"
3143
#: .././plainbox/impl/unit/unit.py:240
3144
msgid "field {field!a}, {message}"
3147
#: .././plainbox/impl/unit/unit.py:244
3148
msgid "required field missing"
3151
#: .././plainbox/impl/unit/unit.py:245 .././plainbox/provider_manager.py:999
3152
msgid "incorrect value supplied"
3155
#: .././plainbox/impl/unit/unit.py:246
3156
msgid "definition useless in this context"
3159
#: .././plainbox/impl/unit/unit.py:247
3160
msgid "deprecated field used"
3163
#: .././plainbox/impl/unit/unit.py:248
3164
msgid "value must be variant (parametrized)"
3167
#: .././plainbox/impl/unit/unit.py:249
3168
msgid "value must be invariant (unparametrized)"
3171
#: .././plainbox/impl/unit/unit.py:250
3172
msgid "field refers to unknown parameter"
3175
#: .././plainbox/impl/unit/unit.py:251
3176
msgid "field value is not unique"
3179
#: .././plainbox/impl/unit/unit.py:252
3180
msgid "field should be marked as translatable"
3183
#: .././plainbox/impl/unit/unit.py:254
3184
msgid "field should not be marked as translatable"
3187
#: .././plainbox/impl/unit/unit.py:255
3188
msgid "syntax error inside the field"
3191
#: .././plainbox/impl/unit/unit.py:256
3192
msgid "bad reference to another unit"
3195
#: .././plainbox/impl/unit/unit.py:348
3196
msgid "Please define 'name' in {}.Meta"
3199
#: .././plainbox/impl/unit/unit.py:852
3200
msgid "unit should explicitly define its type"
3203
#: .././plainbox/impl/unit/unit_with_id.py:68
3204
msgid "{unit} {id!a}, field {field!a}, {message}"
3207
#: .././plainbox/impl/unit/unit_with_id.py:107
3208
msgid "unit-with-id"
3211
#: .././plainbox/impl/unit/unit_with_id.py:128
3212
msgid "identifier cannot define a custom namespace"
3215
#: .././plainbox/impl/unit/validators.py:458
3216
msgid "reference to unknown parameter {!r}"
3219
#: .././plainbox/impl/unit/validators.py:556
3220
msgid "clashes with {0} other unit"
3221
msgid_plural "clashes with {0} other units"
3225
#: .././plainbox/impl/unit/validators.py:627
3226
msgid "unit {!a} is not available"
3229
#: .././plainbox/impl/unit/validators.py:643
3230
msgid "referee constraint failed"
3233
#: .././plainbox/impl/unit/validators.py:649
3234
msgid "multiple units with id {!a}: {}"
3237
#: .././plainbox/impl/validation.py:59
3241
#: .././plainbox/impl/validation.py:60
3245
#: .././plainbox/impl/validation.py:61
3249
#: .././plainbox/impl/validation.py:119
3250
msgid "Problem with field {}: {}"
3253
#: .././plainbox/impl/xparsers.py:469 .././plainbox/impl/xparsers.py:479
3254
msgid "expected {!a} near {!r}"
3257
#: .././plainbox/impl/xparsers.py:473 .././plainbox/impl/xparsers.py:620
3258
msgid "expected override value"
3261
#: .././plainbox/impl/xparsers.py:483
3262
msgid "expected override pattern"
3265
#: .././plainbox/impl/xparsers.py:489
3266
msgid "unexpected garbage: {!r}"
3269
#: .././plainbox/impl/xparsers.py:600
3270
msgid "expected pattern"
3273
#: .././plainbox/impl/xparsers.py:611
3274
msgid "expected override field"
3277
#: .././plainbox/impl/xparsers.py:616
3278
msgid "expected '='"
3281
#: .././plainbox/impl/xparsers.py:633
3282
msgid "expected ','"
3285
#. TRANSLATORS: please leave various options (both long and short forms),
3286
#. environment variables and paths in their original form. Also keep the
3287
#. special @EPILOG@, @UNIX_LAYOUT@ and @FLAT_LAYOUT@ strings. The first line
3288
#. of the translation is special and is used as the help message. Please
3289
#. keep the pseudo-statement form and don't finish the sentence with a dot.
3290
#. Pay extra attention to whitespace. It must be correctly preserved or the
3291
#. result won't work. In particular the leading whitespace *must* be
3292
#. preserved and *must* have the same length on each line.
3293
#: .././plainbox/provider_manager.py:119
3296
" install this provider in the system\n"
3298
" This command installs the provider to the specified prefix.\n"
3302
" Installation Layouts\n"
3303
" ====================\n"
3305
" There are two possible installation layouts: flat, perfect for keeping "
3307
" whole provider in one directory, and unix, which is optimized for\n"
3308
" packaging and respecting the filesystem hierarchy.\n"
3310
" In both cases, a generated file is created at a fixed location:\n"
3312
" {prefix}/share/plainbox-providers-1/{provider.name}.provider\n"
3314
" This file is essential for plainbox to discover providers. It contains\n"
3315
" meta-data collected from the manage.py setup() call.\n"
3320
" System-wide installations should typically use `--prefix=/usr` coupled\n"
3321
" with `--layout=unix`. For packaging you will want to use the `--root=`\n"
3322
" argument to place all of the copied and generated files into your "
3324
" system staging area. This will not affect generated content, which only\n"
3325
" respects the prefix argument.\n"
3330
" In the unix layout, following transformation is applied:\n"
3339
" Relocatable Layout\n"
3340
" ------------------\n"
3342
" @LAYOUT[relocatable]@\n"
3344
" This layout is perfect for Click and Snappy environments where /prefix "
3346
" effectively variable.\n"
3350
#. TRANSLATORS: not installed as in 'will not be installed'
3351
#: .././plainbox/provider_manager.py:246
3352
msgid "not installed"
3355
#: .././plainbox/provider_manager.py:270
3356
msgid "installation prefix"
3359
#. TRANSLATORS: don't translate %(defaults)s
3360
#: .././plainbox/provider_manager.py:276
3362
msgid "installation directory layout (default: %(default)s)"
3365
#: .././plainbox/provider_manager.py:279
3366
msgid "install everything relative to this alternate root directory"
3369
#: .././plainbox/provider_manager.py:338
3371
msgid "copying: %s => %s"
3374
#. TRANSLATORS: please leave various options (both long and short forms),
3375
#. environment variables and paths in their original form. Also keep the
3376
#. special @EPILOG@ string. The first line of the translation is special and
3377
#. is used as the help message. Please keep the pseudo-statement form and
3378
#. don't finish the sentence with a dot. Pay extra attention to whitespace.
3379
#. It must be correctly preserved or the result won't work. In particular
3380
#. the leading whitespace *must* be preserved and *must* have the same
3381
#. length on each line.
3382
#: .././plainbox/provider_manager.py:406
3385
" create a source tarball\n"
3387
" This commands creates a source distribution (tarball) of all of the\n"
3388
" essential provider files. This command takes no arguments and places "
3390
" resulting tarball in the dist/ directory, relative to the ``manage.py``\n"
3391
" file. The tarball name is derived from provider name and version.\n"
3395
" The items included in the tarball are:\n"
3397
" - the manage.py script itself\n"
3398
" - the README.md file\n"
3399
" - the jobs directory, and everything in it\n"
3400
" - the whitelists directory, and everything in it\n"
3401
" - the bin directory, and everything in it\n"
3402
" - the src directory, and everything in it\n"
3403
" - the data directory, and everything in it\n"
3404
" - the po directory, and everything in it\n"
3406
" Any of the missing items are silently ignored.\n"
3410
#. TRANSLATORS: please leave various options (both long and short forms),
3411
#. environment variables and paths in their original form. Also keep the
3412
#. special @EPILOG@ string. The first line of the translation is special and
3413
#. is used as the help message. Please keep the pseudo-statement form and
3414
#. don't finish the sentence with a dot. Pay extra attention to whitespace.
3415
#. It must be correctly preserved or the result won't work. In particular
3416
#. the leading whitespace *must* be preserved and *must* have the same
3417
#. length on each line.
3418
#: .././plainbox/provider_manager.py:498
3421
" install/remove this provider, only for development\n"
3423
" This commands creates or removes the ``.provider`` file describing the\n"
3424
" provider associated with this ``manage.py`` script. Unlike ``manage.py\n"
3425
" install`` the provider is installed without copying anything to a\n"
3426
" system-wide location and does not need to be re-executed after every\n"
3429
" The generated file removed by passing the ``--uninstall| -u`` option.\n"
3433
" By default the .provider file is created in\n"
3434
" ``$XDG_DATA_HOME/plainbox-providers-1/`` directory. The filename is "
3436
" from the name of the provider (version is not included in the "
3439
" Note that the full path of the source directory is placed in the "
3441
" file so you will need to re-run develop if you move this directory "
3446
#. TRANSLATORS: don't translate the extension name
3447
#: .././plainbox/provider_manager.py:536
3448
msgid "remove the generated .provider file"
3451
#: .././plainbox/provider_manager.py:539
3452
msgid "overwrite existing provider files"
3455
#: .././plainbox/provider_manager.py:543
3456
msgid "directory to use (defaults to user's home provider path)"
3459
#: .././plainbox/provider_manager.py:551
3461
msgid "Removing provider file: %s"
3464
#: .././plainbox/provider_manager.py:555
3465
msgid "Provider file already exists: {}"
3468
#: .././plainbox/provider_manager.py:558
3470
msgid "Creating provider file: %s"
3473
#. TRANSLATORS: please leave various options (both long and short forms),
3474
#. environment variables and paths in their original form. Also keep the
3475
#. special @EPILOG@ string. The first line of the translation is special and
3476
#. is used as the help message. Please keep the pseudo-statement form and
3477
#. don't finish the sentence with a dot. Pay extra attention to whitespace.
3478
#. It must be correctly preserved or the result won't work. In particular
3479
#. the leading whitespace *must* be preserved and *must* have the same
3480
#. length on each line.
3481
#: .././plainbox/provider_manager.py:573
3484
" build provider specific executables from source\n"
3486
" This command builds provider specific executables from source code.\n"
3488
" The actual logic on how that is done is supplied by provider authors as "
3490
" part of setup() call inside this manage.py script, as the build_cmd\n"
3491
" keyword argument.\n"
3495
" PlainBox comes with a pluggable system for doing the right thing so,\n"
3496
" hopefully, in most cases, you don't need to do anything. If your src/\n"
3497
" directory has a Makefile or .go source files you should be good to go.\n"
3499
" If the automatic defaults are somehow unsuitable you need to edit "
3501
" so that it specifies the build command.\n"
3503
" IMPORTANT: It is expected that the build command will create binary "
3505
" in the current directory. The build command is executed from within the\n"
3506
" 'build/bin' subdirectory (which is created automatically). The relative\n"
3507
" path of the 'src/' directory is available as the $PLAINBOX_SRC_DIR\n"
3508
" environment variable.\n"
3512
#. TRANSLATORS: please leave various options (both long and short forms),
3513
#. environment variables and paths in their original form. Also keep the
3514
#. special @EPILOG@ string. The first line of the translation is special and
3515
#. is used as the help message. Please keep the pseudo-statement form and
3516
#. don't finish the sentence with a dot. Pay extra attention to whitespace.
3517
#. It must be correctly preserved or the result won't work. In particular
3518
#. the leading whitespace *must* be preserved and *must* have the same
3519
#. length on each line.
3520
#: .././plainbox/provider_manager.py:722
3523
" clean build results\n"
3525
" This command complements the build command and is intended to clean-up\n"
3526
" after the build process.\n"
3528
" The actual logic on how that is done is supplied by provider authors as "
3530
" part of setup() call inside this manage.py script, as the clean_cmd\n"
3531
" keyword argument\n"
3535
" IMPORTANT: the clean command is executed from the directory with the\n"
3536
" 'manage.py' script. The relative path of the src/ directory is "
3538
" as the $PLAINBOX_SRC_DIR environment variable.\n"
3540
" For virtually every case, the following command should be sufficient to\n"
3541
" clean up all build artifacts. It is also the default command so you "
3543
" need to specify it explicitly.\n"
3546
" clean_cmd='rm -rf build/bin'\n"
3551
#. TRANSLATORS: please leave various options (both long and short forms),
3552
#. environment variables and paths in their original form. Also keep the
3553
#. special @EPILOG@ string. The first line of the translation is special and
3554
#. is used as the help message. Please keep the pseudo-statement form and
3555
#. don't finish the sentence with a dot. Pay extra attention to whitespace.
3556
#. It must be correctly preserved or the result won't work. In particular
3557
#. the leading whitespace *must* be preserved and *must* have the same
3558
#. length on each line.
3559
#: .././plainbox/provider_manager.py:825
3562
" display basic information about this provider\n"
3564
" This command displays various essential facts about the provider "
3566
" with the ``manage.py`` script. Displayed data includes provider name "
3568
" other meta-data, all of the jobs and whitelist, with their precise\n"
3573
#: .././plainbox/provider_manager.py:851
3574
msgid "[Provider MetaData]"
3577
#. TRANSLATORS: {} is the name of the test provider
3578
#: .././plainbox/provider_manager.py:853
3582
#. TRANSLATORS: {} is the namespace of the test provider
3583
#: .././plainbox/provider_manager.py:856
3584
msgid "namespace: {}"
3587
#. TRANSLATORS: {} is the namespace of the test provider
3588
#: .././plainbox/provider_manager.py:859
3589
msgid "namespace: {} (derived from name)"
3592
#. TRANSLATORS: {} is the name of the test provider
3593
#: .././plainbox/provider_manager.py:862
3594
msgid "description: {}"
3597
#. TRANSLATORS: {} is the version of the test provider
3598
#: .././plainbox/provider_manager.py:864
3602
#. TRANSLATORS: {} is the gettext translation domain of the provider
3603
#: .././plainbox/provider_manager.py:866
3604
msgid "gettext domain: {}"
3607
#: .././plainbox/provider_manager.py:868
3608
msgid "[Job Definitions]"
3611
#: .././plainbox/provider_manager.py:871
3612
msgid "[Test Plans]"
3615
#: .././plainbox/provider_manager.py:874
3616
msgid "[Test Plans] (legacy)"
3619
#: .././plainbox/provider_manager.py:877
3620
msgid "{0} from {1}"
3623
#: .././plainbox/provider_manager.py:880
3624
msgid "[Other Units]"
3627
#: .././plainbox/provider_manager.py:885
3628
msgid "Some units could not be parsed correctly"
3631
#. TRANSLATORS: please don't translate `manage.py validate`
3632
#: .././plainbox/provider_manager.py:887
3633
msgid "Please run `manage.py validate` for details"
3636
#: .././plainbox/provider_manager.py:888
3637
msgid "[Executables]"
3640
#: .././plainbox/provider_manager.py:898
3641
msgid "{0} {1}, role {2}"
3644
#: .././plainbox/provider_manager.py:903
3645
msgid "{0} {1}, from {2}"
3648
#. TRANSLATORS: please leave various options (both long and short forms),
3649
#. environment variables and paths in their original form. Also keep the
3650
#. special @EPILOG@ string. The first line of the translation is special and
3651
#. is used as the help message. Please keep the pseudo-statement form and
3652
#. don't finish the sentence with a dot. Pay extra attention to whitespace.
3653
#. It must be correctly preserved or the result won't work. In particular
3654
#. the leading whitespace *must* be preserved and *must* have the same
3655
#. length on each line.
3656
#: .././plainbox/provider_manager.py:918
3659
" perform various static analysis and validation\n"
3661
" This command inspects all of the jobs defined in the provider "
3663
" with the ``manage.py`` script. It checks for both syntax issues and\n"
3664
" semantic issues. Anything reported as incorrect will likely result in a\n"
3665
" run-time failure.\n"
3669
" Refer to the online documentation for plainbox to understand how "
3671
" job definitions look like and how to resolve problems reported by\n"
3674
" The exit code can be used to determine if there were any failures. If "
3676
" have any, ``manage.py validate`` is something that could run in a CI "
3681
#: .././plainbox/provider_manager.py:970
3682
msgid "validation options"
3685
#: .././plainbox/provider_manager.py:973
3686
msgid "Be strict about correctness"
3689
#: .././plainbox/provider_manager.py:976
3690
msgid "Report deprecated syntax and features"
3693
#: .././plainbox/provider_manager.py:979
3694
msgid "Be loose about correctness"
3697
#: .././plainbox/provider_manager.py:982
3698
msgid "Support deprecated syntax and features"
3701
#: .././plainbox/provider_manager.py:998
3702
msgid "missing definition of required field"
3705
#: .././plainbox/provider_manager.py:1000
3706
msgid "useless field in this context"
3709
#: .././plainbox/provider_manager.py:1001
3710
msgid "usage of deprecated field"
3713
#: .././plainbox/provider_manager.py:1002
3714
msgid "template field is constant"
3717
#: .././plainbox/provider_manager.py:1003
3718
msgid "template field is variable"
3721
#: .././plainbox/provider_manager.py:1020
3722
msgid "allowed values are: {0}"
3725
#. TRANSLATORS: fields are as follows:
3726
#. 0: filename with job definition
3727
#. 1: unit type name
3728
#. 2: unit identifier
3730
#. 4: explanation of the problem
3731
#: .././plainbox/provider_manager.py:1028
3732
msgid "{0}: {1} {2!a}, field {3!a}: {4}"
3735
#: .././plainbox/provider_manager.py:1039
3736
#: .././plainbox/provider_manager.py:1123
3737
msgid "The provider seems to be valid"
3740
#: .././plainbox/provider_manager.py:1051
3741
#: .././plainbox/provider_manager.py:1135
3742
msgid "NOTE: subsequent units from problematic files are ignored"
3745
#: .././plainbox/provider_manager.py:1065
3746
msgid "Loading provider..."
3749
#: .././plainbox/provider_manager.py:1067
3750
msgid "Loading other providers..."
3753
#: .././plainbox/provider_manager.py:1084
3754
msgid "Validating everything..."
3757
#: .././plainbox/provider_manager.py:1110
3758
msgid "NOTE: {0} advice was hidden"
3759
msgid_plural "NOTE: {0} advices where hidden"
3763
#: .././plainbox/provider_manager.py:1115
3764
msgid "Run 'manage.py validate --strict --deprecated' for details"
3767
#: .././plainbox/provider_manager.py:1119
3768
msgid "Validation of provider {0} has failed"
3771
#: .././plainbox/provider_manager.py:1140
3773
msgid "Validating unit %s"
3776
#. TRANSLATORS: please leave various options (both long and short forms),
3777
#. environment variables and paths in their original form. Also keep the
3778
#. special @EPILOG@ string. The first line of the translation is special and
3779
#. is used as the help message. Please keep the pseudo-statement form and
3780
#. don't finish the sentence with a dot. Pay extra attention to whitespace.
3781
#. It must be correctly preserved or the result won't work. In particular
3782
#. the leading whitespace *must* be preserved and *must* have the same
3783
#. length on each line.
3784
#: .././plainbox/provider_manager.py:1189
3787
" update, merge and build translation catalogs\n"
3789
" This command exposes facilities for updating, merging and building\n"
3790
" message translation catalogs.\n"
3794
#: .././plainbox/provider_manager.py:1212
3795
msgid "don't actually do anything"
3798
#: .././plainbox/provider_manager.py:1213
3799
msgid "actions to perform"
3802
#: .././plainbox/provider_manager.py:1216
3803
msgid "do not update the translation template"
3806
#: .././plainbox/provider_manager.py:1219
3807
msgid "do not merge translation files with the template"
3810
#: .././plainbox/provider_manager.py:1222
3811
msgid "do not build binary translation files"
3814
#. TRANSLATORS: please leave various options (both long and short forms),
3815
#. environment variables and paths in their original form. Also keep the
3816
#. special @EPILOG@ string. The first line of the translation is special and
3817
#. is used as the help message. Please keep the pseudo-statement form and
3818
#. don't finish the sentence with a dot. Pay extra attention to whitespace.
3819
#. It must be correctly preserved or the result won't work. In particular
3820
#. the leading whitespace *must* be preserved and *must* have the same
3821
#. length on each line.
3822
#: .././plainbox/provider_manager.py:1304
3825
" generate packaging meta-data\n"
3827
" This command should not be invoked manually. It is applicable for "
3829
" maintainers to allow them to extract packaging meta-data applicable for\n"
3830
" the current operating system from within the provider itself.\n"
3834
#: .././plainbox/provider_manager.py:1396
3835
msgid "Per-provider management script"
3838
#. TRANSLATORS: please keep 'manage.py', '--help', '--version'
3839
#. untranslated. Translate only '[options]'
3840
#: .././plainbox/provider_manager.py:1400
3841
msgid "manage.py [--help] [--version] [options]"
3844
#: .././plainbox/provider_manager.py:1485
3845
msgid "{}: bad value of {!r}, {}"
3848
#. TRANSLATORS: please leave various options (both long and short forms),
3849
#. environment variables and paths in their original form. Also keep the
3850
#. special @EPILOG@ string. The first line of the translation is special and
3851
#. is used as the help message. Please keep the pseudo-statement form and
3852
#. don't finish the sentence with a dot. Pay extra attention to whitespace.
3853
#. It must be correctly preserved or the result won't work. In particular
3854
#. the leading whitespace *must* be preserved and *must* have the same
3855
#. length on each line.
3856
#: .././plainbox/qml_shell/qml_shell.py:44
3859
" run qml job in standalone shell\n"
3861
" Runs specified file as it would be a plainbox' qml job.\n"
3862
" Returns 0 if job returned 'pass', 1 if job returned 'fail', or\n"
3863
" other value in case of an error.\n"
3867
" General purpose of this command is to make development of qml-native "
3869
" faster, by making it easier to test qml file(s) that constitute to job\n"
3870
" without resorting to installation of provider and running plainbox run.\n"
3871
" Typical approach to the development of new qml job would be as follows:\n"
3873
" - have an idea for a job\n"
3875
" - create a qml file in Ubuntu-SDK or Your Favourite Editor\n"
3877
" - hack on the file and iterate using qmlscene (or use plainbox-qml-"
3879
" immediately if you start with next point)\n"
3881
" - make it conformant to plainbox qml-native API described in CEP-5\n"
3882
" (calling test-done at the end)\n"
3884
" - copy qml file over to data dir of a provider and add a job unit to it\n"
3889
#: .././plainbox/qml_shell/qml_shell.py:75
3890
msgid "run qml-native test in a standalone shell"
3893
#: .././plainbox/qml_shell/qml_shell.py:81
3894
msgid "qml file with job to be run"
3897
#: .././plainbox/qml_shell/qml_shell.py:106
3898
msgid "Job did not return any result"
3901
#: .././plainbox/qml_shell/qml_shell.py:108
3902
msgid "Test outcome: {}"
3905
#: .././plainbox/test_i18n.py:62 .././plainbox/test_i18n.py:69
3906
#: .././plainbox/test_i18n.py:123 .././plainbox/test_i18n.py:137
3910
#: .././plainbox/test_i18n.py:65 .././plainbox/test_i18n.py:66
3911
#: .././plainbox/test_i18n.py:73 .././plainbox/test_i18n.py:75
3912
#: .././plainbox/test_i18n.py:130 .././plainbox/test_i18n.py:144
3914
msgid_plural "msgid2"
3918
#: .././plainbox/vendor/argparse/py32-argparse.py:806
3919
#: .././plainbox/vendor/argparse/py33-argparse.py:832
3920
#: .././plainbox/vendor/argparse/py34-argparse.py:831
3921
msgid ".__call__() not defined"
3924
#: .././plainbox/vendor/argparse/py32-argparse.py:1102
3925
#: .././plainbox/vendor/argparse/py33-argparse.py:1128
3926
#: .././plainbox/vendor/argparse/py34-argparse.py:1128
3928
msgid "unknown parser %(parser_name)r (choices: %(choices)s)"
3931
#: .././plainbox/vendor/argparse/py32-argparse.py:1143
3932
#: .././plainbox/vendor/argparse/py33-argparse.py:1169
3933
#: .././plainbox/vendor/argparse/py34-argparse.py:1175
3935
msgid "argument \"-\" with mode %r"
3938
#: .././plainbox/vendor/argparse/py32-argparse.py:1150
3939
#: .././plainbox/vendor/argparse/py33-argparse.py:1176
3940
#: .././plainbox/vendor/argparse/py34-argparse.py:1183
3942
msgid "can't open '%s': %s"
3945
#: .././plainbox/vendor/argparse/py32-argparse.py:1352
3946
#: .././plainbox/vendor/argparse/py33-argparse.py:1378
3947
#: .././plainbox/vendor/argparse/py34-argparse.py:1388
3949
msgid "cannot merge actions - two groups are named %r"
3952
#: .././plainbox/vendor/argparse/py32-argparse.py:1390
3953
#: .././plainbox/vendor/argparse/py33-argparse.py:1416
3954
#: .././plainbox/vendor/argparse/py34-argparse.py:1426
3955
msgid "'required' is an invalid argument for positionals"
3958
#: .././plainbox/vendor/argparse/py32-argparse.py:1412
3959
#: .././plainbox/vendor/argparse/py33-argparse.py:1438
3960
#: .././plainbox/vendor/argparse/py34-argparse.py:1448
3963
"invalid option string %(option)r: must start with a character "
3967
#: .././plainbox/vendor/argparse/py32-argparse.py:1432
3968
#: .././plainbox/vendor/argparse/py33-argparse.py:1458
3969
#: .././plainbox/vendor/argparse/py34-argparse.py:1468
3971
msgid "dest= is required for options like %r"
3974
#: .././plainbox/vendor/argparse/py32-argparse.py:1449
3975
#: .././plainbox/vendor/argparse/py33-argparse.py:1475
3976
#: .././plainbox/vendor/argparse/py34-argparse.py:1485
3978
msgid "invalid conflict_resolution value: %r"
3981
#: .././plainbox/vendor/argparse/py32-argparse.py:1467
3982
#: .././plainbox/vendor/argparse/py33-argparse.py:1493
3983
#: .././plainbox/vendor/argparse/py34-argparse.py:1503
3985
msgid "conflicting option string: %s"
3986
msgid_plural "conflicting option strings: %s"
3990
#: .././plainbox/vendor/argparse/py32-argparse.py:1533
3991
#: .././plainbox/vendor/argparse/py33-argparse.py:1559
3992
#: .././plainbox/vendor/argparse/py34-argparse.py:1569
3993
msgid "mutually exclusive arguments must be optional"
3996
#: .././plainbox/vendor/argparse/py32-argparse.py:1603
3997
#: .././plainbox/vendor/argparse/py33-argparse.py:1619
3998
#: .././plainbox/vendor/argparse/py34-argparse.py:1629
3999
msgid "positional arguments"
4002
#: .././plainbox/vendor/argparse/py32-argparse.py:1604
4003
#: .././plainbox/vendor/argparse/py33-argparse.py:1620
4004
#: .././plainbox/vendor/argparse/py34-argparse.py:1630
4005
msgid "optional arguments"
4008
#: .././plainbox/vendor/argparse/py32-argparse.py:1619
4009
#: .././plainbox/vendor/argparse/py33-argparse.py:1635
4010
#: .././plainbox/vendor/argparse/py34-argparse.py:1645
4011
msgid "show this help message and exit"
4014
#: .././plainbox/vendor/argparse/py32-argparse.py:1657
4015
#: .././plainbox/vendor/argparse/py33-argparse.py:1666
4016
#: .././plainbox/vendor/argparse/py34-argparse.py:1676
4017
msgid "cannot have multiple subparser arguments"
4020
#: .././plainbox/vendor/argparse/py32-argparse.py:1709
4021
#: .././plainbox/vendor/argparse/py33-argparse.py:1718
4022
#: .././plainbox/vendor/argparse/py34-argparse.py:1728
4024
msgid "unrecognized arguments: %s"
4027
#: .././plainbox/vendor/argparse/py32-argparse.py:1806
4028
#: .././plainbox/vendor/argparse/py33-argparse.py:1815
4029
#: .././plainbox/vendor/argparse/py34-argparse.py:1825
4031
msgid "not allowed with argument %s"
4034
#: .././plainbox/vendor/argparse/py32-argparse.py:1852
4035
#: .././plainbox/vendor/argparse/py32-argparse.py:1866
4036
#: .././plainbox/vendor/argparse/py33-argparse.py:1861
4037
#: .././plainbox/vendor/argparse/py33-argparse.py:1875
4038
#: .././plainbox/vendor/argparse/py34-argparse.py:1871
4039
#: .././plainbox/vendor/argparse/py34-argparse.py:1885
4041
msgid "ignored explicit argument %r"
4044
#: .././plainbox/vendor/argparse/py32-argparse.py:1963
4046
msgid "argument %s is required"
4049
#: .././plainbox/vendor/argparse/py32-argparse.py:1977
4050
#: .././plainbox/vendor/argparse/py33-argparse.py:1997
4051
#: .././plainbox/vendor/argparse/py34-argparse.py:2007
4053
msgid "one of the arguments %s is required"
4056
#: .././plainbox/vendor/argparse/py32-argparse.py:2023
4057
#: .././plainbox/vendor/argparse/py33-argparse.py:2043
4058
#: .././plainbox/vendor/argparse/py34-argparse.py:2050
4059
msgid "expected one argument"
4062
#: .././plainbox/vendor/argparse/py32-argparse.py:2024
4063
#: .././plainbox/vendor/argparse/py33-argparse.py:2044
4064
#: .././plainbox/vendor/argparse/py34-argparse.py:2051
4065
msgid "expected at most one argument"
4068
#: .././plainbox/vendor/argparse/py32-argparse.py:2025
4069
#: .././plainbox/vendor/argparse/py33-argparse.py:2045
4070
#: .././plainbox/vendor/argparse/py34-argparse.py:2052
4071
msgid "expected at least one argument"
4074
#: .././plainbox/vendor/argparse/py32-argparse.py:2027
4075
#: .././plainbox/vendor/argparse/py33-argparse.py:2047
4076
#: .././plainbox/vendor/argparse/py34-argparse.py:2054
4078
msgid "expected %s argument"
4079
msgid_plural "expected %s arguments"
4083
#: .././plainbox/vendor/argparse/py32-argparse.py:2086
4084
#: .././plainbox/vendor/argparse/py33-argparse.py:2106
4085
#: .././plainbox/vendor/argparse/py34-argparse.py:2113
4087
msgid "ambiguous option: %(option)s could match %(matches)s"
4090
#: .././plainbox/vendor/argparse/py32-argparse.py:2149
4091
#: .././plainbox/vendor/argparse/py33-argparse.py:2169
4092
#: .././plainbox/vendor/argparse/py34-argparse.py:2176
4094
msgid "unexpected option string: %s"
4097
#: .././plainbox/vendor/argparse/py32-argparse.py:2250
4098
#: .././plainbox/vendor/argparse/py33-argparse.py:2273
4099
#: .././plainbox/vendor/argparse/py34-argparse.py:2280
4101
msgid "%r is not callable"
4104
#: .././plainbox/vendor/argparse/py32-argparse.py:2267
4105
#: .././plainbox/vendor/argparse/py33-argparse.py:2290
4106
#: .././plainbox/vendor/argparse/py34-argparse.py:2297
4108
msgid "invalid %(type)s value: %(value)r"
4111
#: .././plainbox/vendor/argparse/py32-argparse.py:2278
4112
#: .././plainbox/vendor/argparse/py33-argparse.py:2301
4113
#: .././plainbox/vendor/argparse/py34-argparse.py:2308
4115
msgid "invalid choice: %(value)r (choose from %(choices)s)"
4118
#: .././plainbox/vendor/argparse/py32-argparse.py:2372
4119
#: .././plainbox/vendor/argparse/py33-argparse.py:2377
4120
#: .././plainbox/vendor/argparse/py34-argparse.py:2384
4122
msgid "%(prog)s: error: %(message)s\n"
4125
#: .././plainbox/vendor/argparse/py33-argparse.py:1982
4126
#: .././plainbox/vendor/argparse/py34-argparse.py:1992
4128
msgid "the following arguments are required: %s"
4131
#: .././plainbox/vendor/phablet.py:58
4132
msgid "Unable to start SSH on the phablet device"
4135
#: .././plainbox/vendor/phablet.py:68
4136
msgid "Unable to setup port forwarding to the phablet device"
4139
#: .././plainbox/vendor/phablet.py:77
4140
msgid "No phablet devices detected"
4143
#: .././plainbox/vendor/phablet.py:87
4144
msgid "Multiple phablet devices detected"
4147
#: .././plainbox/vendor/phablet.py:98
4148
msgid "Unable to purge phablet device entry from ~/.ssh/known_hosts"
4151
#: .././plainbox/vendor/phablet.py:108
4152
msgid "Unable to copy public ssh key over to the phablet device"
4155
#: .././plainbox/vendor/phablet.py:118
4156
msgid "No public ssh keys found on the local account"
4159
#: .././plainbox/vendor/phablet.py:127
4160
msgid "Programming error: {0}"
4163
#: .././plainbox/vendor/phablet.py:531
4164
msgid "Run a command on Ubuntu Phablet"
4167
#: .././plainbox/vendor/phablet.py:547
4168
msgid "device connection options"
4171
#: .././plainbox/vendor/phablet.py:550
4172
msgid "connect to the device with the specified serial number"
4175
#: .././plainbox/vendor/phablet.py:555
4176
msgid "timeout for device discovery"
4179
#: .././plainbox/vendor/phablet.py:562
4180
msgid "use the specified public key"
4183
#: .././plainbox/vendor/phablet.py:563
4184
msgid "logging options"
4187
#: .././plainbox/vendor/phablet.py:566
4188
msgid "be more verbose during connection set-up"
4191
#: .././plainbox/vendor/phablet.py:569
4192
msgid "set log level (for debugging)"
4195
#: .././plainbox/vendor/phablet.py:577
4197
"command to run on the phablet, if left out an interactive shell is started"