Merge lp:~roadmr/checkbox/checkbox-qt-i18n into lp:checkbox

Proposed by Daniel Manrique
Status: Merged
Merged at revision: 1345
Proposed branch: lp:~roadmr/checkbox/checkbox-qt-i18n
Merge into: lp:checkbox
Diff against target: 2602 lines (+1083/-535) (has conflicts)
11 files modified
debian/changelog (+8/-0)
po/Makevars (+42/-0)
po/POTFILES.in (+11/-1)
po/checkbox.pot (+881/-497)
qt/frontend/checkboxtr.cpp (+48/-0)
qt/frontend/checkboxtr.h (+46/-0)
qt/frontend/frontend.pro (+6/-2)
qt/frontend/main.cpp (+4/-0)
qt/frontend/qtfront.cpp (+34/-34)
qt/frontend/qtfront.h (+1/-0)
qt/frontend/treemodel.cpp (+2/-1)
Text conflict in debian/changelog
To merge this branch: bzr merge lp:~roadmr/checkbox/checkbox-qt-i18n
Reviewer Review Type Date Requested Status
TienFu Chen (community) Approve
Daniel Manrique (community) Needs Resubmitting
Sylvain Pineau (community) Needs Information
Review via email: mp+98965@code.launchpad.net

Description of the change

This adds i18n support via gettext to checkbox-qt, to address concerns from the translations team about the new checkbox UI.

What I did basically:

- Adder wrapper checkboxTr functions, inspired from unity-2d's implementation.
- Modified main.cpp and qtfront.h to include headers and initialize gettext.
- Modified frontend.pro to instruct uic-qt4 to use checkboxTr as a translation
  function.
- Added checkbox-qt files to po/POTFILES.in, so intltool gets them. NOTE that
  this depends on uic-qt4 running *before* intltool to generate ui_qtfront.h.
- Added po/Makevars to instruct intltool to extract strings from checkboxTr
  calls. Thanks to Gabor Kelemen for pointers on this.

Note that I didn't wrap all text strings in qt/frontend/*.cpp files, I saw a few that use a "tr" function that I didn't touch, and I'm sure some strings are not wrapped. They need to be wrapped in checkboxTr("string",0).

I'd appreciate review of this in case I did something wrong (maybe run it by the ubuntu-translators crowd), and if it gets merged, it'd be good to go over the .cpp files and checkboxTr-wrap any stray strings in another merge request.

Also note that, due to the criticality of the linked bug, this may be worth a Freeze Exception so it can be merged into the Ubuntu version.

To post a comment you must log in.
lp:~roadmr/checkbox/checkbox-qt-i18n updated
1342. By Daniel Manrique

wrapped a few more strings in checkboxTr

1343. By Daniel Manrique

Updated the checkbox.pot file

Revision history for this message
Sylvain Pineau (sylvain-pineau) wrote :

checkboxTr function works well and the resulting checkbox.pot now includes strings from the header ui file and treemodel.cpp.

But why leaving some strings not wrapped (e.g. qtfront.cpp)?
Do you prefer to include the checkboxTr mechanism asap and do the rest of the job later ?
And last question, do we have to update the checkbox.pot in bzr to reflect the new additions ?

review: Needs Information
Revision history for this message
Daniel Manrique (roadmr) wrote :

I think it'd be worth wrapping the remaining strings in checkboxTr. I translated the ones I spotted, but I may have missed a few.

I'll work on them (I think the ones in lines 87-106 are the main ones to work on) and update the MR in a moment. If you spot any more, please let me know.

review: Needs Fixing
lp:~roadmr/checkbox/checkbox-qt-i18n updated
1344. By Daniel Manrique

Wrapped last batch of strings in checkboxTr

1345. By Daniel Manrique

minor changelog update

Revision history for this message
Daniel Manrique (roadmr) wrote :

I wrapped the remaining strings and did a minor update to the changelog.

review: Needs Resubmitting
lp:~roadmr/checkbox/checkbox-qt-i18n updated
1346. By Daniel Manrique

Set localedir to a sane value - otherwise things *don't* work

Revision history for this message
TienFu Chen (ctf) wrote :

Hi Daniel,
I set up the destination language in system configuration, the Qt string has been translated to the destination locale. Not sure what's wrong with setting up the environment variables LANG,LANGUAGE,LC_ALL that I tried during the sprint.
Thanks for the works.

review: Approve
Revision history for this message
David Planella (dpm) wrote :

Daniel has asked me to have a look at the merge proposal. While I don't think I'll manage to review in detail today, I can say that reading the MP's description all the high level steps make perfect sense to me.

You might have already addressed this, but it would make sense to make the unity 2d translation wrapper function as much generic as possible, as I could well imagine that future Ubuntu projects will make use of it, and it will be much easier to set up those projects if it can be used in a generic way.

As per Sylvain's comment, the .pot file should be updated every time you do a release, or every time you've got a set of new strings that you think translators can work on.

In terms of the Ubuntu packaging, the package will need to generate the .pot file as part of the build so translations for the source package can be shipped in language packs (have a look at dh_translations and have a chat with pitti if you've got questions on this area).

Good work, non-English users will appreciate it!

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== modified file 'debian/changelog'
2--- debian/changelog 2012-03-28 19:09:16 +0000
3+++ debian/changelog 2012-03-28 20:30:26 +0000
4@@ -18,7 +18,15 @@
5 checkbox_qt/qt_interface.py, plugins/jobs_prompt.py: The selection tree is
6 now updated when recovering from a previous run (LP: #937696)
7
8+<<<<<<< TREE
9 -- Jeff Lane <jeff@ubuntu.com> Wed, 28 Mar 2012 15:07:54 -0400
10+=======
11+ [Daniel Manrique]
12+ * Internationalization support in checkbox-qt; updated checkbox.pot file
13+ (LP: #951054)
14+
15+ -- Daniel Manrique <roadmr@ubuntu.com> Thu, 22 Mar 2012 23:56:40 -0400
16+>>>>>>> MERGE-SOURCE
17
18 checkbox (0.13.5) precise; urgency=low
19
20
21=== added file 'po/Makevars'
22--- po/Makevars 1970-01-01 00:00:00 +0000
23+++ po/Makevars 2012-03-28 20:30:26 +0000
24@@ -0,0 +1,42 @@
25+# Makefile variables for PO directory in any package using GNU gettext.
26+#
27+# Usually the message domain is the same as the package name.
28+DOMAIN = $(PACKAGE)
29+
30+# These two variables depend on the location of this directory.
31+subdir = po
32+top_builddir = ..
33+
34+# These options get passed to xgettext.
35+XGETTEXT_OPTIONS = --keyword=_ --keyword=N_ --keyword=g_dngettext:2,3 --keyword=checkboxTr:1,2t --keyword=checkboxTr:1,2,4t
36+
37+# This is the copyright holder that gets inserted into the header of the
38+# $(DOMAIN).pot file. Set this to the copyright holder of the surrounding
39+# package. (Note that the msgstr strings, extracted from the package's
40+# sources, belong to the copyright holder of the package.) Translators are
41+# expected to transfer the copyright for their translations to this person
42+# or entity, or to disclaim their copyright. The empty string stands for
43+# the public domain; in this case the translators are expected to disclaim
44+# their copyright.
45+COPYRIGHT_HOLDER = Canonical Ltd.
46+
47+# This is the email address or URL to which the translators shall report
48+# bugs in the untranslated strings:
49+# - Strings which are not entire sentences, see the maintainer guidelines
50+# in the GNU gettext documentation, section 'Preparing Strings'.
51+# - Strings which use unclear terms or require additional context to be
52+# understood.
53+# - Strings which make invalid assumptions about notation of date, time or
54+# money.
55+# - Pluralisation problems.
56+# - Incorrect English spelling.
57+# - Incorrect formatting.
58+# It can be your email address, or a mailing list address where translators
59+# can write to without being subscribed, or the URL of a web page through
60+# which the translators can contact you.
61+MSGID_BUGS_ADDRESS = https://bugs.launchpad.net/checkbox/+filebug
62+
63+# This is the list of locale categories, beyond LC_MESSAGES, for which the
64+# message catalogs shall be used. It is usually empty.
65+EXTRA_LOCALE_CATEGORIES =
66+
67
68=== modified file 'po/POTFILES.in'
69--- po/POTFILES.in 2012-02-24 21:20:22 +0000
70+++ po/POTFILES.in 2012-03-28 20:30:26 +0000
71@@ -64,4 +64,14 @@
72 plugins/user_interface.py
73 scripts/keyboard_test
74 scripts/internet_test
75-
76+checkbox_qt/qt_interface.py
77+qt/frontend/checkboxtr.cpp
78+qt/frontend/checkboxtr.h
79+qt/frontend/main.cpp
80+qt/frontend/qtfront.cpp
81+qt/frontend/qtfront.h
82+qt/frontend/step.cpp
83+qt/frontend/step.h
84+qt/frontend/treemodel.cpp
85+qt/frontend/treemodel.h
86+qt/frontend/ui_qtfront.h
87
88=== modified file 'po/checkbox.pot'
89--- po/checkbox.pot 2012-01-06 17:51:11 +0000
90+++ po/checkbox.pot 2012-03-28 20:30:26 +0000
91@@ -7,8 +7,8 @@
92 msgid ""
93 msgstr ""
94 "Project-Id-Version: PACKAGE VERSION\n"
95-"Report-Msgid-Bugs-To: \n"
96-"POT-Creation-Date: 2012-01-06 12:39-0500\n"
97+"Report-Msgid-Bugs-To: https://bugs.launchpad.net/checkbox/+filebug\n"
98+"POT-Creation-Date: 2012-03-28 10:50-0400\n"
99 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
100 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
101 "Language-Team: LANGUAGE <LL@li.org>\n"
102@@ -17,8 +17,8 @@
103 "Content-Type: text/plain; charset=CHARSET\n"
104 "Content-Transfer-Encoding: 8bit\n"
105
106-#: ../gtk/checkbox-gtk.ui.h:1 ../checkbox_cli/cli_interface.py:351
107-#: ../checkbox_urwid/urwid_interface.py:261
108+#: ../gtk/checkbox-gtk.ui.h:1 ../checkbox_cli/cli_interface.py:444
109+#: ../checkbox_urwid/urwid_interface.py:267
110 msgid "Further information:"
111 msgstr ""
112
113@@ -27,8 +27,8 @@
114 msgstr ""
115
116 #. Title of the user interface
117-#: ../gtk/checkbox-gtk.ui.h:3 ../gtk/checkbox-gtk.desktop.in.h:1
118-#: ../plugins/user_interface.py:40
119+#: ../gtk/checkbox-gtk.ui.h:3 ../qt/checkbox-qt.desktop.in.h:1
120+#: ../plugins/user_interface.py:43 ../qt/frontend/ui_qtfront.h:589
121 msgid "System Testing"
122 msgstr ""
123
124@@ -52,7 +52,7 @@
125 msgid "_Skip this test"
126 msgstr ""
127
128-#: ../gtk/checkbox-gtk.ui.h:9 ../checkbox_gtk/gtk_interface.py:535
129+#: ../gtk/checkbox-gtk.ui.h:9 ../checkbox_gtk/gtk_interface.py:553
130 msgid "_Test"
131 msgstr ""
132
133@@ -60,7 +60,7 @@
134 msgid "_Yes"
135 msgstr ""
136
137-#: ../gtk/checkbox-gtk.desktop.in.h:2
138+#: ../qt/checkbox-qt.desktop.in.h:2
139 msgid "Test your system and submit results to the Ubuntu Friendly project"
140 msgstr ""
141
142@@ -130,18 +130,14 @@
143 " This test will check that a USB audio device works correctly\n"
144 "STEPS:\n"
145 " 1. Connect a USB audio device to your system\n"
146-" 2. Open the volume control application by left-clicking on the speaker "
147-"icon in the panel and selecting \"Sound Settings\"\n"
148-" 3. Select the \"Input\" tab and choose your USB device\n"
149-" 4. Select the \"Output\" tab and choose your USB device\n"
150-" 5. Click \"Test\", then speak into the microphone\n"
151-" 6. After a few seconds, your speech will be played back to you\n"
152+" 2. Click \"Test\", then speak into the microphone\n"
153+" 3. After a few seconds, your speech will be played back to you\n"
154 "VERIFICATION:\n"
155 " Did you hear your speech played back through the USB headphones?"
156 msgstr ""
157
158 #. description
159-#: ../jobs/audio.txt.in:102
160+#: ../jobs/audio.txt.in:99
161 msgid ""
162 "Play back a sound on the default output and listen for it on the default "
163 "input. This makes the most sense when the output and input are directly "
164@@ -157,19 +153,12 @@
165 msgstr ""
166
167 #. description
168-#: ../jobs/bluetooth.txt.in:7
169-msgid ""
170-"This test will detect your Bluetooth device and output the device's hardware "
171-"address. If no device is found, the test will exit with an error."
172-msgstr ""
173-
174-#. description
175-#: ../jobs/bluetooth.txt.in:16
176+#: ../jobs/bluetooth.txt.in:8
177 msgid "Automated test to store bluetooth device information in checkbox report"
178 msgstr ""
179
180 #. description
181-#: ../jobs/bluetooth.txt.in:22
182+#: ../jobs/bluetooth.txt.in:14
183 msgid ""
184 "PURPOSE:\n"
185 " This test will check that bluetooth connection works correctly\n"
186@@ -188,7 +177,7 @@
187 msgstr ""
188
189 #. description
190-#: ../jobs/bluetooth.txt.in:41
191+#: ../jobs/bluetooth.txt.in:33
192 msgid ""
193 "PURPOSE:\n"
194 " This test will check that you can transfer information through a "
195@@ -202,7 +191,7 @@
196 msgstr ""
197
198 #. description
199-#: ../jobs/bluetooth.txt.in:55
200+#: ../jobs/bluetooth.txt.in:47
201 msgid ""
202 "PURPOSE:\n"
203 " This test will check that you can record and hear audio using a "
204@@ -221,7 +210,7 @@
205 msgstr ""
206
207 #. description
208-#: ../jobs/bluetooth.txt.in:73
209+#: ../jobs/bluetooth.txt.in:65
210 msgid ""
211 "PURPOSE:\n"
212 " This test will check that you can use a bluetooth keyboard\n"
213@@ -237,7 +226,7 @@
214 msgstr ""
215
216 #. description
217-#: ../jobs/bluetooth.txt.in:89
218+#: ../jobs/bluetooth.txt.in:81
219 msgid ""
220 "PURPOSE:\n"
221 " This test will check that you can use a bluetooth mouse\n"
222@@ -263,7 +252,8 @@
223 "PURPOSE:\n"
224 " This test will check that the built-in camera works\n"
225 "STEPS:\n"
226-" 1. Click on Test to display a video capture from the camera\n"
227+" 1. Click on Test to display a video capture from the camera for ten "
228+"seconds.\n"
229 "VERIFICATION:\n"
230 " Did you see the video capture?"
231 msgstr ""
232@@ -280,19 +270,6 @@
233 msgstr ""
234
235 #. description
236-#: ../jobs/camera.txt.in:49
237-msgid ""
238-"PURPOSE:\n"
239-" This test will check that you can capture video with the built-in "
240-"camera\n"
241-"STEPS:\n"
242-" 1. Click on Test to capture video to a file (it will automatically open "
243-"in Totem)\n"
244-"VERIFICATION:\n"
245-" Did you see and hear the capture?"
246-msgstr ""
247-
248-#. description
249 #: ../jobs/codecs.txt.in:7
250 msgid ""
251 "PURPOSE:\n"
252@@ -405,26 +382,31 @@
253
254 #. description
255 #: ../jobs/disk.txt.in:9
256-msgid "Benchmark for each disk "
257-msgstr ""
258-
259-#. description
260-#: ../jobs/disk.txt.in:26
261+msgid "Benchmark for each disk"
262+msgstr ""
263+
264+#. description
265+#: ../jobs/disk.txt.in:23
266+msgid "Check stats changes for each disk"
267+msgstr ""
268+
269+#. description
270+#: ../jobs/disk.txt.in:40
271 msgid "SMART test"
272 msgstr ""
273
274 #. description
275-#: ../jobs/disk.txt.in:42
276+#: ../jobs/disk.txt.in:56
277 msgid "Maximum disk space used during a default installation test"
278 msgstr ""
279
280 #. description
281-#: ../jobs/disk.txt.in:57
282+#: ../jobs/disk.txt.in:71
283 msgid "Verify system storage performs at or above baseline performance"
284 msgstr ""
285
286 #. description
287-#: ../jobs/disk.txt.in:74
288+#: ../jobs/disk.txt.in:88
289 msgid ""
290 "Verify that storage devices, such as Fibre Channel and RAID can be detected "
291 "and perform under stress."
292@@ -471,18 +453,42 @@
293 msgstr ""
294
295 #. description
296-#: ../jobs/firewire.txt.in:3
297+#: ../jobs/firewire.txt.in:4
298 msgid ""
299 "PURPOSE:\n"
300-" This test will check that the firewire port works\n"
301+" This test will check the system can detect the insertion of a FireWire "
302+"HDD\n"
303 "STEPS:\n"
304-" 1. Plug a Firewire HDD into the computer\n"
305-" 2. Either a window asking which action should be performed (open folder, "
306-"photo manager, etc) or a file browser will open.\n"
307-" 3. Copy some files from your internal HDD to the firewire HDD\n"
308-" 4. Copy some files from the firewire HDD to your internal HDD\n"
309+" 1. Click 'Test' to begin the test. This test will\n"
310+" timeout and fail if the insertion has not been detected within 10 "
311+"seconds.\n"
312+" 2. Plug a FireWire HDD into an available FireWire port.\n"
313 "VERIFICATION:\n"
314-" Do the copy operations work as expected?"
315+" The verification of this test is automated. Do not change the "
316+"automatically\n"
317+" selected result"
318+msgstr ""
319+
320+#. description
321+#: ../jobs/firewire.txt.in:19
322+msgid ""
323+"This is an automated test which performs read/write operations on an "
324+"attached FireWire HDD"
325+msgstr ""
326+
327+#. description
328+#: ../jobs/firewire.txt.in:27
329+msgid ""
330+" PURPOSE:\n"
331+" This test will check the system can detect the removal of a FireWire HDD\n"
332+" STEPS:\n"
333+" 1. Click 'Test' to begin the test. This test will timeout and fail if\n"
334+" the removal has not been detected within 10 seconds.\n"
335+" 2. Remove the previously attached FireWire HDD from the FireWire port.\n"
336+" VERIFICATION:\n"
337+" The verification of this test is automated. Do not change the "
338+"automatically\n"
339+" selected result"
340 msgstr ""
341
342 #. description
343@@ -586,21 +592,12 @@
344 msgstr ""
345
346 #. description
347-#: ../jobs/graphics.txt.in:107
348-msgid ""
349-"PURPOSE:\n"
350-" This test checks the detected video modes\n"
351-"STEPS:\n"
352-" 1. The following screens and video modes have been detected on your "
353-"system\n"
354-"INFO:\n"
355-" $output\n"
356-"VERIFICATION:\n"
357-" Are those correct?"
358+#: ../jobs/graphics.txt.in:106
359+msgid "Check that VESA drivers are not in use"
360 msgstr ""
361
362 #. description
363-#: ../jobs/graphics.txt.in:122
364+#: ../jobs/graphics.txt.in:113
365 msgid ""
366 "PURPOSE:\n"
367 " This test cycles through the detected video modes\n"
368@@ -611,12 +608,17 @@
369 msgstr ""
370
371 #. description
372+#: ../jobs/graphics.txt.in:126
373+msgid "Check that hardware is able to run compiz"
374+msgstr ""
375+
376+#. description
377 #: ../jobs/graphics.txt.in:133
378-msgid "Check that the hardware is able to run compiz."
379+msgid "Check that hardware is able to run Unity 3D"
380 msgstr ""
381
382 #. description
383-#: ../jobs/graphics.txt.in:140
384+#: ../jobs/graphics.txt.in:139
385 msgid ""
386 "PURPOSE:\n"
387 " This test tests the basic 3D capabilities of your video card\n"
388@@ -630,6 +632,55 @@
389 msgstr ""
390
391 #. description
392+#: ../jobs/graphics.txt.in:159
393+msgid ""
394+"PURPOSE:\n"
395+" Do some challenging operations and check for lockup on the GPU\n"
396+"STEPS:\n"
397+" 1. Create 2 glxgears windows and move them quickly\n"
398+" 2. Switch workspaces/viewports with wmctrl\n"
399+" 3. Launch a Flash playback in firefox\n"
400+" 4. Suspend/resume\n"
401+"VERIFICATION:\n"
402+" 1. Atfer a 60s workload, check kern.log for reported GPU errors"
403+msgstr ""
404+
405+#. description
406+#: ../jobs/graphics.txt.in:174
407+msgid ""
408+"PURPOSE:\n"
409+" Take a screengrab of the current screen (logged on Unity desktop)\n"
410+"STEPS:\n"
411+" 1. Take picture using USB webcam\n"
412+"VERIFICATION:\n"
413+" 1. Review attachment manually later"
414+msgstr ""
415+
416+#. description
417+#: ../jobs/graphics.txt.in:186 ../jobs/suspend.txt.in:316
418+msgid "Attaches the screenshot captured in graphics/screenshot."
419+msgstr ""
420+
421+#. description
422+#: ../jobs/graphics.txt.in:194
423+msgid ""
424+"PURPOSE:\n"
425+" Take a screengrab of the current screen during fullscreen video "
426+"playback\n"
427+"STEPS:\n"
428+" 1. Start a fullscreen video playback\n"
429+" 2. Take picture using USB webcam after a few seconds\n"
430+"VERIFICATION:\n"
431+" 1. Review attachment manually later"
432+msgstr ""
433+
434+#. description
435+#: ../jobs/graphics.txt.in:207
436+msgid ""
437+"Attaches the screenshot captured in graphics/screenshot_fullscreen_video."
438+msgstr ""
439+
440+#. description
441 #: ../jobs/hibernate.txt.in:7
442 msgid ""
443 "PURPOSE:\n"
444@@ -714,52 +765,42 @@
445 msgstr ""
446
447 #. description
448-#: ../jobs/info.txt.in:85
449-msgid "Captures a screenshot."
450-msgstr ""
451-
452-#. description
453-#: ../jobs/info.txt.in:91
454-msgid "Attaches the screenshot captured in info/screenshot."
455-msgstr ""
456-
457-#. description
458-#: ../jobs/info.txt.in:96
459+#: ../jobs/info.txt.in:82
460 msgid "Gather log from the Firmware Test Suite run."
461 msgstr ""
462
463 #. description
464-#: ../jobs/info.txt.in:103
465+#: ../jobs/info.txt.in:89
466 msgid "Attaches the contents of /proc/acpi/sleep if it exists."
467 msgstr ""
468
469 #. description
470-#: ../jobs/info.txt.in:107
471+#: ../jobs/info.txt.in:93
472 msgid "Bootchart information."
473 msgstr ""
474
475 #. description
476-#: ../jobs/info.txt.in:116
477+#: ../jobs/info.txt.in:102
478 msgid "SATA/IDE device information."
479 msgstr ""
480
481 #. description
482-#: ../jobs/info.txt.in:133
483+#: ../jobs/info.txt.in:119
484 msgid "Attaches the bootchart png file for bootchart runs"
485 msgstr ""
486
487 #. description
488-#: ../jobs/info.txt.in:142
489+#: ../jobs/info.txt.in:128
490 msgid "Attaches the bootchart log for bootchart test runs."
491 msgstr ""
492
493 #. description
494-#: ../jobs/info.txt.in:150
495+#: ../jobs/info.txt.in:136
496 msgid "installs the installer bootchart tarball if it exists."
497 msgstr ""
498
499 #. description
500-#: ../jobs/info.txt.in:155
501+#: ../jobs/info.txt.in:141
502 msgid "Attaches the installer debug log if it exists."
503 msgstr ""
504
505@@ -864,16 +905,14 @@
506 msgstr ""
507
508 #. description
509-#: ../jobs/keys.txt.in:76
510+#: ../jobs/keys.txt.in:74
511 msgid ""
512 "PURPOSE:\n"
513 " This test will test the media keys of your keyboard\n"
514 "STEPS:\n"
515-" 1. Click test to launch the media player\n"
516-" 2. Press the play/pause key on the keyboard\n"
517-" 3. Press the forward key on the keyboard\n"
518-" 4. Press the backward key on the keyboard\n"
519-" 5. Press stop key on the keyboard\n"
520+" 1. Click test to open a window on which to test the media control keys.\n"
521+" 2. If all the keys work, the test will be marked as passed.\n"
522+" 3. If your computer has no media control keys, Skip this test.\n"
523 "VERIFICATION:\n"
524 " Do the keys work as expected?"
525 msgstr ""
526@@ -884,187 +923,187 @@
527 msgstr ""
528
529 #. description
530-#: ../jobs/local.txt.in:8
531+#: ../jobs/local.txt.in:10
532 msgid "Autotest Suite tests"
533 msgstr ""
534
535 #. description
536-#: ../jobs/local.txt.in:13
537+#: ../jobs/local.txt.in:17
538 msgid "Bluetooth tests"
539 msgstr ""
540
541 #. description
542-#: ../jobs/local.txt.in:18
543+#: ../jobs/local.txt.in:24
544 msgid "Camera tests"
545 msgstr ""
546
547 #. description
548-#: ../jobs/local.txt.in:23
549+#: ../jobs/local.txt.in:31
550 msgid "Codec tests"
551 msgstr ""
552
553 #. description
554-#: ../jobs/local.txt.in:28
555+#: ../jobs/local.txt.in:38
556 msgid "CPU tests"
557 msgstr ""
558
559 #. description
560-#: ../jobs/local.txt.in:33
561+#: ../jobs/local.txt.in:45
562 msgid "System Daemon tests"
563 msgstr ""
564
565 #. description
566-#: ../jobs/local.txt.in:38
567+#: ../jobs/local.txt.in:52
568 msgid "Disk tests"
569 msgstr ""
570
571 #. description
572-#: ../jobs/local.txt.in:43
573+#: ../jobs/local.txt.in:59
574 msgid "Fingerprint reader tests"
575 msgstr ""
576
577 #. description
578-#: ../jobs/local.txt.in:48
579+#: ../jobs/local.txt.in:66
580 msgid "Firewire disk tests"
581 msgstr ""
582
583 #. description
584-#: ../jobs/local.txt.in:53
585+#: ../jobs/local.txt.in:73
586 msgid "Floppy disk tests"
587 msgstr ""
588
589 #. description
590-#: ../jobs/local.txt.in:58
591+#: ../jobs/local.txt.in:80
592 msgid "Graphics tests"
593 msgstr ""
594
595 #. description
596-#: ../jobs/local.txt.in:63
597+#: ../jobs/local.txt.in:87
598 msgid "Hibernation tests"
599 msgstr ""
600
601 #. description
602-#: ../jobs/local.txt.in:68
603+#: ../jobs/local.txt.in:94
604 msgid "Informational tests"
605 msgstr ""
606
607 #. description
608-#: ../jobs/local.txt.in:73
609+#: ../jobs/local.txt.in:101
610 msgid "Input Devices tests"
611 msgstr ""
612
613 #. description
614-#: ../jobs/local.txt.in:78
615+#: ../jobs/local.txt.in:108
616 msgid "Software Installation tests"
617 msgstr ""
618
619 #. description
620-#: ../jobs/local.txt.in:83
621+#: ../jobs/local.txt.in:115
622 msgid "Hotkey tests"
623 msgstr ""
624
625 #. description
626-#: ../jobs/local.txt.in:88
627+#: ../jobs/local.txt.in:122
628 msgid "Linux Test Project tests"
629 msgstr ""
630
631 #. description
632-#: ../jobs/local.txt.in:93
633+#: ../jobs/local.txt.in:129
634 msgid "Mago Automated Desktop Testing"
635 msgstr ""
636
637 #. description
638-#: ../jobs/local.txt.in:98
639+#: ../jobs/local.txt.in:136
640 msgid "Media Card tests"
641 msgstr ""
642
643 #. description
644-#: ../jobs/local.txt.in:103
645+#: ../jobs/local.txt.in:143
646 msgid "Memory tests"
647 msgstr ""
648
649 #. description
650-#: ../jobs/local.txt.in:108
651+#: ../jobs/local.txt.in:150
652 msgid "Miscellaneous tests"
653 msgstr ""
654
655 #. description
656-#: ../jobs/local.txt.in:113
657+#: ../jobs/local.txt.in:157
658 msgid "Monitor tests"
659 msgstr ""
660
661 #. description
662-#: ../jobs/local.txt.in:118
663+#: ../jobs/local.txt.in:164
664 msgid "Networking tests"
665 msgstr ""
666
667 #. description
668-#: ../jobs/local.txt.in:123
669+#: ../jobs/local.txt.in:171
670 msgid "Optical Drive tests"
671 msgstr ""
672
673 #. description
674-#: ../jobs/local.txt.in:128
675+#: ../jobs/local.txt.in:178
676 msgid "Panel Clock Verification tests"
677 msgstr ""
678
679 #. description
680-#: ../jobs/local.txt.in:133
681+#: ../jobs/local.txt.in:185
682 msgid "PCMCIA/PCIX Card tests"
683 msgstr ""
684
685 #. description
686-#: ../jobs/local.txt.in:138
687+#: ../jobs/local.txt.in:192
688 msgid "Peripheral tests"
689 msgstr ""
690
691 #. description
692-#: ../jobs/local.txt.in:143
693+#: ../jobs/local.txt.in:199
694 msgid "Phoronix Test Suite tests"
695 msgstr ""
696
697 #. description
698-#: ../jobs/local.txt.in:148
699+#: ../jobs/local.txt.in:206
700 msgid "Power Management tests"
701 msgstr ""
702
703 #. description
704-#: ../jobs/local.txt.in:153
705+#: ../jobs/local.txt.in:213
706 msgid "QA Regression tests"
707 msgstr ""
708
709 #. description
710-#: ../jobs/local.txt.in:158
711+#: ../jobs/local.txt.in:220
712 msgid "Server Services checks"
713 msgstr ""
714
715 #. description
716-#: ../jobs/local.txt.in:163
717+#: ../jobs/local.txt.in:227
718 msgid "Suspend tests"
719 msgstr ""
720
721 #. description
722-#: ../jobs/local.txt.in:168
723+#: ../jobs/local.txt.in:234
724 msgid "Unity tests"
725 msgstr ""
726
727 #. description
728-#: ../jobs/local.txt.in:173
729+#: ../jobs/local.txt.in:241
730 msgid "USB tests"
731 msgstr ""
732
733 #. description
734-#: ../jobs/local.txt.in:178
735+#: ../jobs/local.txt.in:248
736 msgid "User Applications"
737 msgstr ""
738
739 #. description
740-#: ../jobs/local.txt.in:183
741+#: ../jobs/local.txt.in:255
742 msgid "Wireless networking tests"
743 msgstr ""
744
745 #. description
746-#: ../jobs/local.txt.in:188
747+#: ../jobs/local.txt.in:262
748 msgid "Stress tests"
749 msgstr ""
750
751@@ -1083,195 +1122,312 @@
752 msgstr ""
753
754 #. description
755-#: ../jobs/mediacard.txt.in:3
756-msgid ""
757-"PURPOSE:\n"
758-" This test will check your system Secure Digital (SD) media card support\n"
759-"STEPS:\n"
760-" 1. Plug a SD media card into the computer\n"
761-" 2. An icon should appear on the Launcher\n"
762-" 3. Right click on the Launcher icon and select \"Safely Remove Drive\"\n"
763-" 4. The icon should disappear from the Launcher\n"
764-"VERIFICATION:\n"
765-" Does the icon automatically appear/disappear?"
766-msgstr ""
767-
768-#. description
769-#: ../jobs/mediacard.txt.in:17
770-msgid ""
771-"PURPOSE:\n"
772-" This test will check your system Secure Digital (SD) media card support "
773-"after suspend\n"
774-"STEPS:\n"
775-" 1. Plug a SD media card into the computer\n"
776-" 2. An icon should appear on the Launcher\n"
777-" 3. Right click on the Launcher icon and select \"Safely Remove Drive\"\n"
778-" 4. The icon should disappear from the Launcher\n"
779-"VERIFICATION:\n"
780-" Does the icon automatically appear/disappear?"
781-msgstr ""
782-
783-#. description
784-#: ../jobs/mediacard.txt.in:30
785-msgid ""
786-"PURPOSE:\n"
787-" This test will check your system Secure Digital High Capacity (SDHC) "
788-"media card support\n"
789-"STEPS:\n"
790-" 1. Plug a SDHC media card into the computer\n"
791-" 2. An icon should appear on the Launcher\n"
792-" 3. Right click on the Launcher icon and select \"Safely Remove Drive\"\n"
793-" 4. The icon should disappear from the Launcher\n"
794-"VERIFICATION:\n"
795-" Does the icon automatically appear/disappear?"
796-msgstr ""
797-
798-#. description
799-#: ../jobs/mediacard.txt.in:44
800-msgid ""
801-" This test will check your system Secure Digital High Capacity (SDHC) "
802-"media card support after suspend\n"
803-"STEPS:\n"
804-" 1. Plug a SDHC media card into the computer\n"
805-" 2. An icon should appear on the Launcher\n"
806-" 3. Right click on the Launcher icon and select \"Safely Remove Drive\"\n"
807-" 4. The icon should disappear from the Launcher\n"
808-"VERIFICATION:\n"
809-" Does the icon automatically appear/disappear?"
810-msgstr ""
811-
812-#. description
813-#: ../jobs/mediacard.txt.in:56
814-msgid ""
815-"PURPOSE:\n"
816-" This test will check your system Multi Media Card (MMC) media card "
817-"support\n"
818-"STEPS:\n"
819-" 1. Plug a MMC media card into the computer\n"
820-" 2. An icon should appear on the Launcher\n"
821-" 3. Right click on the Launcher icon and select \"Safely Remove Drive\"\n"
822-" 4. The icon should disappear from the Launcher\n"
823-"VERIFICATION:\n"
824-" Does the icon automatically appear/disappear?"
825-msgstr ""
826-
827-#. description
828-#: ../jobs/mediacard.txt.in:70
829-msgid ""
830-"PURPOSE:\n"
831-" This test will check your system Multi Media Card (MMC) media card "
832-"support after suspend\n"
833-"STEPS:\n"
834-" 1. Plug a MMC media card into the computer\n"
835-" 2. An icon should appear on the Launcher\n"
836-" 3. Right click on the Launcher icon and select \"Safely Remove Drive\"\n"
837-" 4. The icon should disappear from the Launcher\n"
838-"VERIFICATION:\n"
839-" Does the icon automatically appear/disappear?"
840-msgstr ""
841-
842-#. description
843-#: ../jobs/mediacard.txt.in:83
844-msgid ""
845-"PURPOSE:\n"
846-" This test will check your system Memory Stick (MS) media card support\n"
847-"STEPS:\n"
848-" 1. Plug a MS media card into the computer\n"
849-" 2. An icon should appear on the Launcher\n"
850-" 3. Right click on the Launcher icon and select \"Safely Remove Drive\"\n"
851-" 4. The icon should disappear from the Launcher\n"
852-"VERIFICATION:\n"
853-" Does the icon automatically appear/disappear?"
854+#: ../jobs/mediacard.txt.in:4
855+msgid ""
856+"PURPOSE:\n"
857+" This test will check that the systems media card reader can\n"
858+" detect the insertion of a Multimedia Card (MMC) media\n"
859+"STEPS:\n"
860+" 1. Click \"Test\" and insert an MMC card into the reader.\n"
861+" (Note: this test will time-out after 10 seconds.)\n"
862+" 2. Do not unplug the device after the test.\n"
863+"VERIFICATION:\n"
864+" The verification of this test is automated. Do not change the\n"
865+" automatically selected result."
866+msgstr ""
867+
868+#. description
869+#: ../jobs/mediacard.txt.in:20
870+msgid ""
871+"This test is automated and executes after the mediacard/mmc-insert test is "
872+"run. It tests reading and writing to the MMC card."
873+msgstr ""
874+
875+#. description
876+#: ../jobs/mediacard.txt.in:28
877+msgid ""
878+"PURPOSE:\n"
879+" This test will check that the system correctly detects\n"
880+" the removal of the MMC card from the systems card reader.\n"
881+"STEPS:\n"
882+" 1. Click \"Test\" and remove the MMC card from the reader.\n"
883+" (Note: this test will time-out after 10 seconds.)\n"
884+"VERIFICATION:\n"
885+" The verification of this test is automated. Do not change the\n"
886+" automatically selected result."
887+msgstr ""
888+
889+#. description
890+#: ../jobs/mediacard.txt.in:43
891+msgid ""
892+"PURPOSE:\n"
893+" This test will check that the systems media card reader can\n"
894+" detect the insertion of an MMC card after the system has been suspended\n"
895+"STEPS:\n"
896+" 1. Click \"Test\" and insert an MMC card into the reader.\n"
897+" (Note: this test will time-out after 10 seconds.)\n"
898+" 2. Do not unplug the device after the test.\n"
899+"VERIFICATION:\n"
900+" The verification of this test is automated. Do not change the\n"
901+" automatically selected result."
902+msgstr ""
903+
904+#. description
905+#: ../jobs/mediacard.txt.in:59
906+msgid ""
907+"This test is automated and executes after the mediacard/mmc-insert-after-"
908+"suspend test is run. It tests reading and writing to the MMC card after the "
909+"system has been suspended."
910+msgstr ""
911+
912+#. description
913+#: ../jobs/mediacard.txt.in:67
914+msgid ""
915+"PURPOSE:\n"
916+" This test will check that the system correctly detects the removal\n"
917+" of an MMC card from the systems card reader after the system has been "
918+"suspended.\n"
919+"STEPS:\n"
920+" 1. Click \"Test\" and remove the MMC card from the reader.\n"
921+" (Note: this test will time-out after 10 seconds.)\n"
922+"VERIFICATION:\n"
923+" The verification of this test is automated. Do not change the\n"
924+" automatically selected result."
925+msgstr ""
926+
927+#. description
928+#: ../jobs/mediacard.txt.in:81
929+msgid ""
930+"PURPOSE:\n"
931+" This test will check that the systems media card reader can\n"
932+" detect the insertion of a Secure Digital (SD) media card\n"
933+"STEPS:\n"
934+" 1. Click \"Test\" and insert an SD card into the reader.\n"
935+" (Note: this test will time-out after 10 seconds.)\n"
936+" 2. Do not unplug the device after the test.\n"
937+"VERIFICATION:\n"
938+" The verification of this test is automated. Do not change the\n"
939+" automatically selected result."
940 msgstr ""
941
942 #. description
943 #: ../jobs/mediacard.txt.in:97
944 msgid ""
945-"PURPOSE:\n"
946-" This test will check your system Memory Stick (MS) media card support "
947-"after suspend\n"
948-"STEPS:\n"
949-" 1. Plug a MS media card into the computer\n"
950-" 2. An icon should appear on the Launcher\n"
951-" 3. Right click on the Launcher icon and select \"Safely Remove Drive\"\n"
952-" 4. The icon should disappear from the Launcher\n"
953-"VERIFICATION:\n"
954-" Does the icon automatically appear/disappear?"
955-msgstr ""
956-
957-#. description
958-#: ../jobs/mediacard.txt.in:110
959-msgid ""
960-"PURPOSE:\n"
961-" This test will check your system Memory Stick Pro (MSP) media card "
962-"support\n"
963-"STEPS:\n"
964-" 1. Plug a MSP media card into the computer\n"
965-" 2. An icon should appear on the Launcher\n"
966-" 3. Right click on the Launcher icon and select \"Safely Remove Drive\"\n"
967-" 4. The icon should disappear from the Launcher\n"
968-"VERIFICATION:\n"
969-" Does the icon automatically appear/disappear?"
970-msgstr ""
971-
972-#. description
973-#: ../jobs/mediacard.txt.in:124
974-msgid ""
975-"PURPOSE:\n"
976-" This test will check your system Memory Stick Pro (MSP) media card "
977-"support after suspend\n"
978-"STEPS:\n"
979-" 1. Plug a MSP media card into the computer\n"
980-" 2. An icon should appear on the Launcher\n"
981-" 3. Right click on the Launcher icon and select \"Safely Remove Drive\"\n"
982-" 4. The icon should disappear from the Launcher\n"
983-"VERIFICATION:\n"
984-" Does the icon automatically appear/disappear?"
985-msgstr ""
986-
987-#. description
988-#: ../jobs/mediacard.txt.in:137
989-msgid ""
990-"PURPOSE:\n"
991-" This test will check your system Compact Flash (CF) media card support\n"
992-"STEPS:\n"
993-" 1. Plug a CF media card into the computer\n"
994-" 2. An icon should appear on the Launcher\n"
995-" 3. Right click on the Launcher icon and select \"Safely Remove Drive\"\n"
996-" 4. The icon should disappear from the Launcher\n"
997-"VERIFICATION:\n"
998-" Does the icon automatically appear/disappear?"
999-msgstr ""
1000-
1001-#. description
1002-#: ../jobs/mediacard.txt.in:151
1003-msgid ""
1004-" This test will check your system Compact Flash (CF) media card support "
1005-"after suspend\n"
1006-"STEPS:\n"
1007-" 1. Plug a CF media card into the computer\n"
1008-" 2. An icon should appear on the Launcher\n"
1009-" 3. Right click on the Launcher icon and select \"Safely Remove Drive\"\n"
1010-" 4. The icon should disappear from the Launcher\n"
1011-"VERIFICATION:\n"
1012-" Does the icon automatically appear/disappear?"
1013-msgstr ""
1014-
1015-#. description
1016-#: ../jobs/memory.txt.in:4
1017-msgid ""
1018-"PURPOSE:\n"
1019-" This test checks the amount of memory that is detected\n"
1020-"STEPS:\n"
1021-" 1. Click Test to see the amount of detected memory\n"
1022-"INFO:\n"
1023-" $output\n"
1024-"VERIFICATION:\n"
1025-" Is the amount of detected memory correct?"
1026-msgstr ""
1027-
1028-#. description
1029-#: ../jobs/memory.txt.in:19
1030+"This test is automated and executes after the mediacard/sd-insert test is "
1031+"run. It tests reading and writing to the SD card."
1032+msgstr ""
1033+
1034+#. description
1035+#: ../jobs/mediacard.txt.in:105
1036+msgid ""
1037+"PURPOSE:\n"
1038+" This test will check that the system correctly detects\n"
1039+" the removal of an SD card from the systems card reader.\n"
1040+"STEPS:\n"
1041+" 1. Click \"Test\" and remove the SD card from the reader.\n"
1042+" (Note: this test will time-out after 10 seconds.)\n"
1043+"VERIFICATION:\n"
1044+" The verification of this test is automated. Do not change the\n"
1045+" automatically selected result."
1046+msgstr ""
1047+
1048+#. description
1049+#: ../jobs/mediacard.txt.in:120
1050+msgid ""
1051+"PURPOSE:\n"
1052+" This test will check that the systems media card reader can\n"
1053+" detect the insertion of an SD card after the system has been suspended\n"
1054+"STEPS:\n"
1055+" 1. Click \"Test\" and insert an SD card into the reader.\n"
1056+" (Note: this test will time-out after 10 seconds.)\n"
1057+" 2. Do not unplug the device after the test.\n"
1058+"VERIFICATION:\n"
1059+" The verification of this test is automated. Do not change the\n"
1060+" automatically selected result."
1061+msgstr ""
1062+
1063+#. description
1064+#: ../jobs/mediacard.txt.in:136
1065+msgid ""
1066+"This test is automated and executes after the mediacard/sd-insert-after-"
1067+"suspend test is run. It tests reading and writing to the SD card after the "
1068+"system has been suspended."
1069+msgstr ""
1070+
1071+#. description
1072+#: ../jobs/mediacard.txt.in:144
1073+msgid ""
1074+"PURPOSE:\n"
1075+" This test will check that the system correctly detects\n"
1076+" the removal of an SD card from the systems card reader after the system "
1077+"has been suspended.\n"
1078+"STEPS:\n"
1079+" 1. Click \"Test\" and remove the SD card from the reader.\n"
1080+" (Note: this test will time-out after 10 seconds.)\n"
1081+"VERIFICATION:\n"
1082+" The verification of this test is automated. Do not change the\n"
1083+" automatically selected result."
1084+msgstr ""
1085+
1086+#. description
1087+#: ../jobs/mediacard.txt.in:158
1088+msgid ""
1089+"PURPOSE:\n"
1090+" This test will check that the systems media card reader can\n"
1091+" detect the insertion of a Secure Digital High-Capacity (SDHC) media "
1092+"card\n"
1093+"STEPS:\n"
1094+" 1. Click \"Test\" and insert an SDHC card into the reader.\n"
1095+" (Note: this test will time-out after 10 seconds.)\n"
1096+" 2. Do not unplug the device after the test.\n"
1097+"VERIFICATION:\n"
1098+" The verification of this test is automated. Do not change the\n"
1099+" automatically selected result."
1100+msgstr ""
1101+
1102+#. description
1103+#: ../jobs/mediacard.txt.in:174
1104+msgid ""
1105+"This test is automated and executes after the mediacard/sdhc-insert test is "
1106+"run. It tests reading and writing to the SDHC card."
1107+msgstr ""
1108+
1109+#. description
1110+#: ../jobs/mediacard.txt.in:182
1111+msgid ""
1112+"PURPOSE:\n"
1113+" This test will check that the system correctly detects\n"
1114+" the removal of an SDHC card from the systems card reader.\n"
1115+"STEPS:\n"
1116+" 1. Click \"Test\" and remove the SDHC card from the reader.\n"
1117+" (Note: this test will time-out after 10 seconds.)\n"
1118+"VERIFICATION:\n"
1119+" The verification of this test is automated. Do not change the\n"
1120+" automatically selected result."
1121+msgstr ""
1122+
1123+#. description
1124+#: ../jobs/mediacard.txt.in:197
1125+msgid ""
1126+"PURPOSE:\n"
1127+" This test will check that the systems media card reader can\n"
1128+" detect the insertion of an SDHC media card after the system has been "
1129+"suspended\n"
1130+"STEPS:\n"
1131+" 1. Click \"Test\" and insert an SDHC card into the reader.\n"
1132+" (Note: this test will time-out after 10 seconds.)\n"
1133+" 2. Do not unplug the device after the test.\n"
1134+"VERIFICATION:\n"
1135+" The verification of this test is automated. Do not change the\n"
1136+" automatically selected result."
1137+msgstr ""
1138+
1139+#. description
1140+#: ../jobs/mediacard.txt.in:213
1141+msgid ""
1142+"This test is automated and executes after the mediacard/sdhc-insert-after-"
1143+"suspend test is run. It tests reading and writing to the SDHC card after the "
1144+"system has been suspended."
1145+msgstr ""
1146+
1147+#. description
1148+#: ../jobs/mediacard.txt.in:221
1149+msgid ""
1150+"PURPOSE:\n"
1151+" This test will check that the system correctly detects the removal\n"
1152+" of an SDHC card from the systems card reader after the system has been "
1153+"suspended.\n"
1154+"STEPS:\n"
1155+" 1. Click \"Test\" and remove the SDHC card from the reader.\n"
1156+" (Note: this test will time-out after 10 seconds.)\n"
1157+"VERIFICATION:\n"
1158+" The verification of this test is automated. Do not change the\n"
1159+" automatically selected result."
1160+msgstr ""
1161+
1162+#. description
1163+#: ../jobs/mediacard.txt.in:235
1164+msgid ""
1165+"PURPOSE:\n"
1166+" This test will check that the systems media card reader can\n"
1167+" detect the insertion of a Compact Flash (CF) media card\n"
1168+"STEPS:\n"
1169+" 1. Click \"Test\" and insert a CF card into the reader.\n"
1170+" (Note: this test will time-out after 10 seconds.)\n"
1171+" 2. Do not unplug the device after the test.\n"
1172+"VERIFICATION:\n"
1173+" The verification of this test is automated. Do not change the\n"
1174+" automatically selected result."
1175+msgstr ""
1176+
1177+#. description
1178+#: ../jobs/mediacard.txt.in:251
1179+msgid ""
1180+"This test is automated and executes after the mediacard/cf-insert test is "
1181+"run. It tests reading and writing to the CF card."
1182+msgstr ""
1183+
1184+#. description
1185+#: ../jobs/mediacard.txt.in:259
1186+msgid ""
1187+"PURPOSE:\n"
1188+" This test will check that the system correctly detects\n"
1189+" the removal of a CF card from the systems card reader.\n"
1190+"STEPS:\n"
1191+" 1. Click \"Test\" and remove the CF card from the reader.\n"
1192+" (Note: this test will time-out after 10 seconds.)\n"
1193+"VERIFICATION:\n"
1194+" The verification of this test is automated. Do not change the\n"
1195+" automatically selected result."
1196+msgstr ""
1197+
1198+#. description
1199+#: ../jobs/mediacard.txt.in:274
1200+msgid ""
1201+"PURPOSE:\n"
1202+" This test will check that the systems media card reader can\n"
1203+" detect the insertion of a CF card after the system has been suspended\n"
1204+"STEPS:\n"
1205+" 1. Click \"Test\" and insert a CF card into the reader.\n"
1206+" (Note: this test will time-out after 10 seconds.)\n"
1207+" 2. Do not unplug the device after the test.\n"
1208+"VERIFICATION:\n"
1209+" The verification of this test is automated. Do not change the\n"
1210+" automatically selected result."
1211+msgstr ""
1212+
1213+#. description
1214+#: ../jobs/mediacard.txt.in:290
1215+msgid ""
1216+"This test is automated and executes after the mediacard/cf-insert-after-"
1217+"suspend test is run. It tests reading and writing to the CF card after the "
1218+"system has been suspended."
1219+msgstr ""
1220+
1221+#. description
1222+#: ../jobs/mediacard.txt.in:298
1223+msgid ""
1224+"PURPOSE:\n"
1225+" This test will check that the system correctly detects the removal\n"
1226+" of a CF card from the systems card reader after the system has been "
1227+"suspended.\n"
1228+"STEPS:\n"
1229+" 1. Click \"Test\" and remove the CF card from the reader.\n"
1230+" (Note: this test will time-out after 10 seconds.)\n"
1231+"VERIFICATION:\n"
1232+" The verification of this test is automated. Do not change the\n"
1233+" automatically selected result."
1234+msgstr ""
1235+
1236+#. description
1237+#: ../jobs/memory.txt.in:5
1238+msgid ""
1239+"This test checks the amount of memory which is reporting in meminfo against "
1240+"the size of the memory modules detected by DMI."
1241+msgstr ""
1242+
1243+#. description
1244+#: ../jobs/memory.txt.in:14
1245 msgid "Test and exercise memory."
1246 msgstr ""
1247
1248@@ -1295,39 +1451,36 @@
1249 msgstr ""
1250
1251 #. description
1252-#: ../jobs/miscellanea.txt.in:30
1253-msgid ""
1254-"ipmitool is required for ipmi testing. This checks for ipmitool and installs "
1255-"it if not available."
1256-msgstr ""
1257-
1258-#. description
1259-#: ../jobs/miscellanea.txt.in:37
1260+#: ../jobs/miscellanea.txt.in:31
1261 msgid ""
1262 "This will run some basic connectivity tests against a BMC, verifying that "
1263 "IPMI works."
1264 msgstr ""
1265
1266 #. description
1267-#: ../jobs/miscellanea.txt.in:43
1268+#: ../jobs/miscellanea.txt.in:37
1269 msgid ""
1270 " Determine if we need to run tests specific to portable computers that may "
1271 "not apply to desktops."
1272 msgstr ""
1273
1274 #. description
1275-#: ../jobs/miscellanea.txt.in:51
1276-msgid ""
1277-"This test checks /var/crash to see if there are any crash reports present."
1278-msgstr ""
1279-
1280-#. description
1281-#: ../jobs/miscellanea.txt.in:51
1282-msgid "If there are, this test will fail."
1283-msgstr ""
1284-
1285-#. description
1286-#: ../jobs/monitor.txt.in:3
1287+#: ../jobs/miscellanea.txt.in:45
1288+msgid ""
1289+"Test that the /var/crash directory doesn't contain anything. Lists the files "
1290+"contained within if it does, or echoes the status of the directory (doesn't "
1291+"exist/is empty)"
1292+msgstr ""
1293+
1294+#. description
1295+#: ../jobs/miscellanea.txt.in:53
1296+msgid ""
1297+"Test to check that virtualization is supported and the test system has at "
1298+"least a minimal amount of RAM to function as an OpenStack Compute Node"
1299+msgstr ""
1300+
1301+#. description
1302+#: ../jobs/monitor.txt.in:4
1303 msgid ""
1304 "PURPOSE:\n"
1305 " This test will check your VGA port. Skip if your system does not have a "
1306@@ -1340,7 +1493,7 @@
1307 msgstr ""
1308
1309 #. description
1310-#: ../jobs/monitor.txt.in:13
1311+#: ../jobs/monitor.txt.in:15
1312 msgid ""
1313 "PURPOSE:\n"
1314 " This test will check your DVI port. Skip if your system does not have a "
1315@@ -1353,7 +1506,7 @@
1316 msgstr ""
1317
1318 #. description
1319-#: ../jobs/monitor.txt.in:23
1320+#: ../jobs/monitor.txt.in:26
1321 msgid ""
1322 "PURPOSE:\n"
1323 " This test will check your DisplayPort port. Skip if your system does not "
1324@@ -1366,7 +1519,7 @@
1325 msgstr ""
1326
1327 #. description
1328-#: ../jobs/monitor.txt.in:33
1329+#: ../jobs/monitor.txt.in:37
1330 msgid ""
1331 "PURPOSE:\n"
1332 " This test will check your HDMI port. Skip if your system does not have a "
1333@@ -1379,7 +1532,7 @@
1334 msgstr ""
1335
1336 #. description
1337-#: ../jobs/monitor.txt.in:43
1338+#: ../jobs/monitor.txt.in:48
1339 msgid ""
1340 "PURPOSE:\n"
1341 " This test will check your S-VIDEO port. Skip if your system does not "
1342@@ -1392,7 +1545,7 @@
1343 msgstr ""
1344
1345 #. description
1346-#: ../jobs/monitor.txt.in:53
1347+#: ../jobs/monitor.txt.in:59
1348 msgid ""
1349 "PURPOSE:\n"
1350 " This test will check your RCA port. Skip if your system does not have a "
1351@@ -1405,7 +1558,7 @@
1352 msgstr ""
1353
1354 #. description
1355-#: ../jobs/monitor.txt.in:64
1356+#: ../jobs/monitor.txt.in:70
1357 msgid ""
1358 "PURPOSE:\n"
1359 " This test will check your monitor power saving capabilities\n"
1360@@ -1432,7 +1585,14 @@
1361 msgstr ""
1362
1363 #. description
1364-#: ../jobs/networking.txt.in:36
1365+#: ../jobs/networking.txt.in:40
1366+msgid ""
1367+"This is an automated test to gather some info on the current state of your "
1368+"network devices. If no devices are found, the test will exit with an error."
1369+msgstr ""
1370+
1371+#. description
1372+#: ../jobs/networking.txt.in:46
1373 msgid ""
1374 "PURPOSE:\n"
1375 " This test will check your wired connection\n"
1376@@ -1446,7 +1606,7 @@
1377 msgstr ""
1378
1379 #. description
1380-#: ../jobs/networking.txt.in:49
1381+#: ../jobs/networking.txt.in:59
1382 msgid ""
1383 "PURPOSE:\n"
1384 " This test will check that a DSL modem can be configured and connected.\n"
1385@@ -1464,44 +1624,44 @@
1386 msgstr ""
1387
1388 #. description
1389-#: ../jobs/networking.txt.in:66
1390+#: ../jobs/networking.txt.in:76
1391 msgid ""
1392 "Automated test case to verify availability of some system on the network "
1393 "using ICMP ECHO packets."
1394 msgstr ""
1395
1396 #. description
1397-#: ../jobs/networking.txt.in:73 ../jobs/peripheral.txt.in:37
1398+#: ../jobs/networking.txt.in:83 ../jobs/peripheral.txt.in:37
1399 msgid ""
1400 "Automated test case to make sure that it's possible to download files "
1401 "through HTTP"
1402 msgstr ""
1403
1404 #. description
1405-#: ../jobs/networking.txt.in:81
1406+#: ../jobs/networking.txt.in:91
1407 msgid "Test to see if we can sync local clock to an NTP server"
1408 msgstr ""
1409
1410 #. description
1411-#: ../jobs/networking.txt.in:87
1412+#: ../jobs/networking.txt.in:97
1413 msgid ""
1414 "Verify that an installation of checkbox-server on the network can be reached "
1415 "over SSH."
1416 msgstr ""
1417
1418 #. description
1419-#: ../jobs/networking.txt.in:93
1420+#: ../jobs/networking.txt.in:103
1421 msgid "Try to enable a remote printer on the network and print a test page."
1422 msgstr ""
1423
1424 #. description
1425-#: ../jobs/networking.txt.in:98
1426+#: ../jobs/networking.txt.in:108
1427 msgid ""
1428 "Automated test to walk multiple network cards and test each one in sequence."
1429 msgstr ""
1430
1431 #. description
1432-#: ../jobs/networking.txt.in:118
1433+#: ../jobs/networking.txt.in:128
1434 msgid "Test to measure the network bandwidth"
1435 msgstr ""
1436
1437@@ -1511,63 +1671,80 @@
1438 msgstr ""
1439
1440 #. description
1441-#: ../jobs/optical.txt.in:13
1442-msgid "Optical Storage device read tests"
1443-msgstr ""
1444-
1445-#. description
1446-#: ../jobs/optical.txt.in:36
1447-msgid ""
1448-"PURPOSE:\n"
1449-" This test will check your system's CDROM writing capabilities. If your "
1450-"drive does not support writing CDs or you do not have any blank CD media, "
1451-"please skip this test.\n"
1452-"STEPS:\n"
1453-" 1. Enter a blank CDROM into your drive\n"
1454-" 2. Write something in the CDROM\n"
1455-" 3. Read the newly written CDROM\n"
1456-"VERIFICATION:\n"
1457-" Was the data correctly written?"
1458-msgstr ""
1459-
1460-#. description
1461-#: ../jobs/optical.txt.in:49
1462+#: ../jobs/optical.txt.in:16
1463+msgid ""
1464+"PURPOSE:\n"
1465+" This test will check your optical devices ability to read CD media\n"
1466+"STEPS:\n"
1467+" 1. Insert appropriate non-blank media into your optical drive(s). Movie "
1468+"and Audio Disks may not work. Self-created data disks have the greatest "
1469+"chance of working.\n"
1470+" 2. If a file browser window opens, you can safely close or ignore that "
1471+"window.\n"
1472+" 3. Click \"Test\" to being the test.\n"
1473+" 4. When the test completes, proceed by clicking \"Next\"\n"
1474+"VERIFICATION:\n"
1475+" This test should automatically select \"Yes\" if it passes, \"No\" if it "
1476+"fails."
1477+msgstr ""
1478+
1479+#. description
1480+#: ../jobs/optical.txt.in:43
1481+msgid ""
1482+"PURPOSE:\n"
1483+" This test will check your system's CD writing capabilities. This test "
1484+"requires a blank CD-R. If you do not have a blank CD-R, skip this test.\n"
1485+"STEPS:\n"
1486+" 1. Enter a blank CD-R into your drive\n"
1487+" 2. Click \"Test\" to begin.\n"
1488+" 3. When the CD tray ejects the media after burning, close it (DO NOT "
1489+"remove the disk, it is needed for the second portion of the test). Note, you "
1490+"must close the drive within 10 seconds or the test will time out.\n"
1491+" 4. When the test completes, proceed by clicking \"Next\"\n"
1492+"VERIFICATION:\n"
1493+" This test should automatically select \"Yes\" if it passes, \"No\" if it "
1494+"fails."
1495+msgstr ""
1496+
1497+#. description
1498+#: ../jobs/optical.txt.in:57
1499 msgid ""
1500 "PURPOSE:\n"
1501 " This test will check your CD audio playback capabilities\n"
1502 "STEPS:\n"
1503 " 1. Insert an audio CD in your optical drive\n"
1504-" 2. Open the Dash (click on the Ubuntu Circle of Friends button on the "
1505-"Launcher)\n"
1506-" 3. Click \"Listen to Music\" to open Banshee\n"
1507-" 4. Select the CD under \"Libraries\" in the left panel of Banshee\n"
1508-" 5. Click the Play button to listen to music\n"
1509+" 2. When prompted, launch the Music Player\n"
1510+" 3. Locate the CD in the display of the Music Player\n"
1511+" 4. Select the CD in the Music Player\n"
1512+" 5. Click the Play button to listen to the music on the CD\n"
1513 " 6. Stop playing after some time\n"
1514-" 7. Right click on the CD icon under \"Libraries\" and select \"Eject Disc"
1515-"\"\n"
1516+" 7. Right click on the CD icon and select \"Eject Disc\"\n"
1517 " 8. The CD should be ejected\n"
1518-" 9. Close Banshee\n"
1519+" 9. Close the Music Player\n"
1520 "VERIFICATION:\n"
1521 " Did all the steps work?"
1522 msgstr ""
1523
1524 #. description
1525-#: ../jobs/optical.txt.in:69
1526+#: ../jobs/optical.txt.in:80
1527 msgid ""
1528 "PURPOSE:\n"
1529-" This test will check your system's DVD writing capabilities. If your "
1530-"drive does not support writing DVDs or you do not have any blank DVD media, "
1531-"please skip this test.\n"
1532+" This test will check your system's DVD writing capabilities. This test "
1533+"requires a blank DVD-R. If you do not have a blank DVD-R, skip this test.\n"
1534 "STEPS:\n"
1535-" 1. Enter a blank DVD into your drive\n"
1536-" 2. Write something in the DVD\n"
1537-" 3. Read the newly written DVD\n"
1538+" 1. Enter a blank DVD-R into your drive\n"
1539+" 2. Click \"Test\" to begin.\n"
1540+" 3. When the CD tray ejects the media after burning, close it (DO NOT "
1541+"remove the disk, it is needed for the second portion of the test). Note, you "
1542+"must close the drive within 10 seconds or the test will time out.\n"
1543+" 4. When the test completes, proceed by clicking \"Next\"\n"
1544 "VERIFICATION:\n"
1545-" Was the data correctly written?"
1546+" This test should automatically select \"Yes\" if it passes, \"No\" if it "
1547+"fails."
1548 msgstr ""
1549
1550 #. description
1551-#: ../jobs/optical.txt.in:82
1552+#: ../jobs/optical.txt.in:94
1553 msgid ""
1554 "PURPOSE:\n"
1555 " This test will check your DVD movie playback capabilities. Note that "
1556@@ -1586,7 +1763,7 @@
1557 msgstr ""
1558
1559 #. description
1560-#: ../jobs/optical.txt.in:100
1561+#: ../jobs/optical.txt.in:112
1562 msgid ""
1563 "PURPOSE:\n"
1564 " This test will check your DVD playback capabilities\n"
1565@@ -1842,35 +2019,40 @@
1566 msgstr ""
1567
1568 #. description
1569-#: ../jobs/suspend.txt.in:3
1570+#: ../jobs/suspend.txt.in:4
1571+msgid "Record the current network before suspending."
1572+msgstr ""
1573+
1574+#. description
1575+#: ../jobs/suspend.txt.in:9
1576 msgid "Record the current resolution before suspending."
1577 msgstr ""
1578
1579 #. description
1580-#: ../jobs/suspend.txt.in:11
1581+#: ../jobs/suspend.txt.in:17
1582 msgid "Record mixer settings before suspending."
1583 msgstr ""
1584
1585 #. description
1586-#: ../jobs/suspend.txt.in:18
1587+#: ../jobs/suspend.txt.in:24
1588 msgid "Verify that all the CPUs are online before suspending"
1589 msgstr ""
1590
1591 #. description
1592-#: ../jobs/suspend.txt.in:25
1593+#: ../jobs/suspend.txt.in:31
1594 msgid ""
1595 "Dumps memory info to a file for comparison after suspend test has been run"
1596 msgstr ""
1597
1598 #. description
1599-#: ../jobs/suspend.txt.in:43
1600+#: ../jobs/suspend.txt.in:40
1601 msgid ""
1602 "This test disconnects all connections and then connects to the wireless "
1603 "interface. It then checks the connection to confirm it's working as expected."
1604 msgstr ""
1605
1606 #. description
1607-#: ../jobs/suspend.txt.in:73
1608+#: ../jobs/suspend.txt.in:74
1609 msgid ""
1610 "PURPOSE:\n"
1611 " This test will check suspend and resume\n"
1612@@ -1886,33 +2068,33 @@
1613 msgstr ""
1614
1615 #. description
1616-#: ../jobs/suspend.txt.in:86
1617+#: ../jobs/suspend.txt.in:87
1618 msgid "Test the network after resuming."
1619 msgstr ""
1620
1621 #. description
1622-#: ../jobs/suspend.txt.in:92
1623+#: ../jobs/suspend.txt.in:93
1624 msgid "Test to see that we have the same resolution after resuming as before."
1625 msgstr ""
1626
1627 #. description
1628-#: ../jobs/suspend.txt.in:101
1629+#: ../jobs/suspend.txt.in:102
1630 msgid ""
1631 "Verify that mixer settings after suspend are the same as before suspend."
1632 msgstr ""
1633
1634 #. description
1635-#: ../jobs/suspend.txt.in:117
1636+#: ../jobs/suspend.txt.in:118
1637 msgid "Verify that all CPUs are online after resuming."
1638 msgstr ""
1639
1640 #. description
1641-#: ../jobs/suspend.txt.in:134
1642+#: ../jobs/suspend.txt.in:135
1643 msgid "Verify that all memory is available after resuming from suspend."
1644 msgstr ""
1645
1646 #. description
1647-#: ../jobs/suspend.txt.in:143
1648+#: ../jobs/suspend.txt.in:144
1649 msgid ""
1650 "PURPOSE:\n"
1651 " This test will check that the display is correct after suspend and "
1652@@ -1922,7 +2104,7 @@
1653 msgstr ""
1654
1655 #. description
1656-#: ../jobs/suspend.txt.in:164
1657+#: ../jobs/suspend.txt.in:155
1658 msgid ""
1659 "This test checks that the wireless interface is working after suspending the "
1660 "system. It disconnects all interfaces and then connects to the wireless "
1661@@ -1930,21 +2112,49 @@
1662 msgstr ""
1663
1664 #. description
1665-#: ../jobs/suspend.txt.in:174
1666+#: ../jobs/suspend.txt.in:167
1667+msgid ""
1668+"Tests that the systems wireless hardware can connect to a router using WPA "
1669+"security and the 802.11b/g protocols after the system has been suspended."
1670+msgstr ""
1671+
1672+#. description
1673+#: ../jobs/suspend.txt.in:178
1674+msgid ""
1675+"Tests that the systems wireless hardware can connect to a router using no "
1676+"security and the 802.11b/g protocols after the system has been suspended."
1677+msgstr ""
1678+
1679+#. description
1680+#: ../jobs/suspend.txt.in:189
1681+msgid ""
1682+"Tests that the systems wireless hardware can connect to a router using WPA "
1683+"security and the 802.11n protocol after the system has been suspended."
1684+msgstr ""
1685+
1686+#. description
1687+#: ../jobs/suspend.txt.in:200
1688+msgid ""
1689+"Tests that the systems wireless hardware can connect to a router using no "
1690+"security and the 802.11n protocol after the system has been suspended."
1691+msgstr ""
1692+
1693+#. description
1694+#: ../jobs/suspend.txt.in:211
1695 msgid ""
1696 "This test grabs the hardware address of the bluetooth adapter after suspend "
1697 "and compares it to the address grabbed before suspend."
1698 msgstr ""
1699
1700 #. description
1701-#: ../jobs/suspend.txt.in:182
1702+#: ../jobs/suspend.txt.in:221
1703 msgid ""
1704 "This is an automated Bluetooth file transfer test. It sends an image to the "
1705 "device specified by the BTDEVADDR environment variable."
1706 msgstr ""
1707
1708 #. description
1709-#: ../jobs/suspend.txt.in:190
1710+#: ../jobs/suspend.txt.in:231
1711 msgid ""
1712 "PURPOSE:\n"
1713 " This test will send the image 'JPEG_Color_Image_Ubuntu.jpg' to a "
1714@@ -1959,7 +2169,7 @@
1715 msgstr ""
1716
1717 #. description
1718-#: ../jobs/suspend.txt.in:204
1719+#: ../jobs/suspend.txt.in:245
1720 msgid ""
1721 "PURPOSE:\n"
1722 " This test will cycle through the detected display modes\n"
1723@@ -1970,7 +2180,7 @@
1724 msgstr ""
1725
1726 #. description
1727-#: ../jobs/suspend.txt.in:216
1728+#: ../jobs/suspend.txt.in:257
1729 msgid ""
1730 "This test will check to make sure supported video modes work after a suspend "
1731 "and resume. This is done automatically by taking screenshots and uploading "
1732@@ -1978,28 +2188,14 @@
1733 msgstr ""
1734
1735 #. description
1736-#: ../jobs/suspend.txt.in:225
1737+#: ../jobs/suspend.txt.in:266
1738 msgid ""
1739 "This attaches screenshots from the suspend/"
1740 "cycle_resolutions_after_suspend_auto test to the results submission."
1741 msgstr ""
1742
1743 #. description
1744-#: ../jobs/suspend.txt.in:231
1745-msgid ""
1746-"PURPOSE:\n"
1747-" This will test that USB functionality is restored after a suspend and "
1748-"resume cycle\n"
1749-"STEPS:\n"
1750-" 1. Plug in at least one USB storage device if one is not already "
1751-"connected\n"
1752-" 2. Click \"Test\" to start\n"
1753-"VERIFICATION:\n"
1754-" Automatically verified"
1755-msgstr ""
1756-
1757-#. description
1758-#: ../jobs/suspend.txt.in:248
1759+#: ../jobs/suspend.txt.in:276
1760 msgid ""
1761 "This will check to make sure that your audio device works properly after a "
1762 "suspend and resume. This may work fine with speakers and onboard "
1763@@ -2008,12 +2204,12 @@
1764 msgstr ""
1765
1766 #. description
1767-#: ../jobs/suspend.txt.in:255
1768+#: ../jobs/suspend.txt.in:285
1769 msgid "This is the automated version of suspend/suspend_advanced."
1770 msgstr ""
1771
1772 #. description
1773-#: ../jobs/suspend.txt.in:264
1774+#: ../jobs/suspend.txt.in:294
1775 msgid ""
1776 "This automatically tests Wake-on-LAN capability with the aid of a suitably "
1777 "configured server. During this process the system will suspend, then "
1778@@ -2021,6 +2217,18 @@
1779 msgstr ""
1780
1781 #. description
1782+#: ../jobs/suspend.txt.in:304
1783+msgid ""
1784+"PURPOSE:\n"
1785+" Take a screengrab of the current screen after suspend (logged on Unity "
1786+"desktop)\n"
1787+"STEPS:\n"
1788+" 1. Take picture using USB webcam\n"
1789+"VERIFICATION:\n"
1790+" 1. Review attachment manually later"
1791+msgstr ""
1792+
1793+#. description
1794 #: ../jobs/unity.txt.in:6
1795 msgid ""
1796 "Xlib is required for unity testing. This checks for Xlib and installs it if "
1797@@ -2043,7 +2251,7 @@
1798 #: ../jobs/usb.txt.in:12
1799 msgid ""
1800 "PURPOSE:\n"
1801-" This test will check your USB connection.\n"
1802+" This test will check that your system detects USB storage devices.\n"
1803 "STEPS:\n"
1804 " 1. Plug in one or more USB keys or hard drives.\n"
1805 " 2. Click on \"Test\".\n"
1806@@ -2081,28 +2289,33 @@
1807 #: ../jobs/usb.txt.in:55
1808 msgid ""
1809 "PURPOSE:\n"
1810-" This test will check your USB connection.\n"
1811+" This test will check that the system correctly detects the insertion of\n"
1812+" a USB storage device\n"
1813 "STEPS:\n"
1814-" 1. Click \"Test\" and insert a USB device within 5 seconds.\n"
1815+" 1. Click \"Test\" and insert a USB storage device (pen-drive/HDD).\n"
1816+" (Note: this test will time-out after 10 seconds.)\n"
1817 " 2. Do not unplug the device after the test.\n"
1818 "VERIFICATION:\n"
1819-" The verification of this test is automated."
1820+" The verification of this test is automated. Do not change the\n"
1821+" automatically selected result."
1822 msgstr ""
1823
1824 #. description
1825-#: ../jobs/usb.txt.in:69
1826+#: ../jobs/usb.txt.in:72
1827 msgid ""
1828 "PURPOSE:\n"
1829-" This test will check your USB connection.\n"
1830+" This test will check that the system correctly detects the removal of\n"
1831+" a USB storage device\n"
1832 "STEPS:\n"
1833-" 1. Click \"Test\" and remove the USB device within 5 seconds.\n"
1834-" 2. Do not unplug the device after the test.\n"
1835+" 1. Click \"Test\" and remove the USB device.\n"
1836+" (Note: this test will time-out after 10 seconds.)\n"
1837 "VERIFICATION:\n"
1838-" The verification of this test is automated."
1839+" The verification of this test is automated. Do not change the\n"
1840+" automatically selected result."
1841 msgstr ""
1842
1843 #. description
1844-#: ../jobs/usb.txt.in:82
1845+#: ../jobs/usb.txt.in:88
1846 msgid ""
1847 "PURPOSE:\n"
1848 " This test will check your USB connection.\n"
1849@@ -2111,18 +2324,25 @@
1850 " 2. An icon should appear on the Launcher.\n"
1851 " 3. Click \"Test\" to begin the test.\n"
1852 "VERIFICATION:\n"
1853-" The verification of this test is automated."
1854-msgstr ""
1855-
1856-#. description
1857-#: ../jobs/usb.txt.in:96
1858+" The verification of this test is automated. Do not change the\n"
1859+" automatically selected result."
1860+msgstr ""
1861+
1862+#. description
1863+#: ../jobs/usb.txt.in:104
1864+msgid "This test is automated and executes after the usb/insert test is run."
1865+msgstr ""
1866+
1867+#. description
1868+#: ../jobs/usb.txt.in:111
1869 msgid ""
1870-"This test is automated and requires that you plug in at least one usb "
1871-"storage device before running checkbox."
1872+"This is an automated version of usb/storage-automated and assumes that the "
1873+"server has usb storage devices plugged in prior to checkbox execution. It "
1874+"is intended for servers and SRU automated testing."
1875 msgstr ""
1876
1877 #. description
1878-#: ../jobs/usb.txt.in:102
1879+#: ../jobs/usb.txt.in:119
1880 msgid ""
1881 "PURPOSE:\n"
1882 " This test will check your USB connection.\n"
1883@@ -2569,7 +2789,7 @@
1884 #. description
1885 #: ../jobs/wireless.txt.in:38
1886 msgid ""
1887-"Tests that the systems wireless hardware can connect to a router using no no "
1888+"Tests that the systems wireless hardware can connect to a router using no "
1889 "security and the 802.11b/g protocols."
1890 msgstr ""
1891
1892@@ -2583,7 +2803,7 @@
1893 #. description
1894 #: ../jobs/wireless.txt.in:58
1895 msgid ""
1896-"Tests that the systems wireless hardware can connect to a router using no no "
1897+"Tests that the systems wireless hardware can connect to a router using no "
1898 "security and the 802.11n protocol."
1899 msgstr ""
1900
1901@@ -2735,17 +2955,17 @@
1902 msgstr ""
1903
1904 #: ../checkbox_cli/cli_interface.py:31
1905-#: ../checkbox_urwid/urwid_interface.py:684
1906+#: ../checkbox_urwid/urwid_interface.py:917 ../checkbox_qt/qt_interface.py:33
1907 msgid "yes"
1908 msgstr ""
1909
1910 #: ../checkbox_cli/cli_interface.py:32
1911-#: ../checkbox_urwid/urwid_interface.py:685
1912+#: ../checkbox_urwid/urwid_interface.py:918 ../checkbox_qt/qt_interface.py:34
1913 msgid "no"
1914 msgstr ""
1915
1916 #: ../checkbox_cli/cli_interface.py:33
1917-#: ../checkbox_urwid/urwid_interface.py:686
1918+#: ../checkbox_urwid/urwid_interface.py:919 ../checkbox_qt/qt_interface.py:35
1919 msgid "skip"
1920 msgstr ""
1921
1922@@ -2753,77 +2973,92 @@
1923 msgid "Press any key to continue..."
1924 msgstr ""
1925
1926-#: ../checkbox_cli/cli_interface.py:135
1927+#: ../checkbox_cli/cli_interface.py:135 ../checkbox_cli/cli_interface.py:234
1928 #, python-format
1929 msgid "Please choose (%s): "
1930 msgstr ""
1931
1932-#: ../checkbox_cli/cli_interface.py:323
1933+#: ../checkbox_cli/cli_interface.py:229 ../checkbox_cli/cli_interface.py:338
1934+#: ../checkbox_cli/cli_interface.py:368
1935+msgid "Space when finished"
1936+msgstr ""
1937+
1938+#: ../checkbox_cli/cli_interface.py:367
1939+msgid "Combine with character above to expand node"
1940+msgstr ""
1941+
1942+#: ../checkbox_cli/cli_interface.py:416
1943 msgid "test"
1944 msgstr ""
1945
1946-#: ../checkbox_cli/cli_interface.py:347
1947+#: ../checkbox_cli/cli_interface.py:440
1948 msgid "test again"
1949 msgstr ""
1950
1951-#: ../checkbox_cli/cli_interface.py:353
1952+#: ../checkbox_cli/cli_interface.py:446
1953 msgid "Please type here and press Ctrl-D when finished:\n"
1954 msgstr ""
1955
1956-#: ../checkbox_urwid/urwid_interface.py:60
1957+#: ../checkbox_urwid/urwid_interface.py:66
1958 msgid "Checkbox System Testing"
1959 msgstr ""
1960
1961-#: ../checkbox_urwid/urwid_interface.py:99
1962+#: ../checkbox_urwid/urwid_interface.py:105
1963 msgid "Continue"
1964 msgstr ""
1965
1966-#: ../checkbox_urwid/urwid_interface.py:192
1967-#: ../checkbox_urwid/urwid_interface.py:268
1968-#: ../checkbox_urwid/urwid_interface.py:416
1969+#: ../checkbox_urwid/urwid_interface.py:198
1970+#: ../checkbox_urwid/urwid_interface.py:274
1971+#: ../checkbox_urwid/urwid_interface.py:425
1972+#: ../checkbox_urwid/urwid_interface.py:547 ../qt/frontend/ui_qtfront.h:609
1973 msgid "Previous"
1974 msgstr ""
1975
1976-#: ../checkbox_urwid/urwid_interface.py:193
1977-#: ../checkbox_urwid/urwid_interface.py:269
1978-#: ../checkbox_urwid/urwid_interface.py:417
1979+#: ../checkbox_urwid/urwid_interface.py:199
1980+#: ../checkbox_urwid/urwid_interface.py:275
1981+#: ../checkbox_urwid/urwid_interface.py:426
1982+#: ../checkbox_urwid/urwid_interface.py:548 ../qt/frontend/ui_qtfront.h:608
1983 msgid "Next"
1984 msgstr ""
1985
1986 #. Show buttons
1987-#: ../checkbox_urwid/urwid_interface.py:414
1988+#: ../checkbox_urwid/urwid_interface.py:423 ../qt/frontend/qtfront.cpp:137
1989 msgid "Select All"
1990 msgstr ""
1991
1992-#: ../checkbox_urwid/urwid_interface.py:415
1993+#: ../checkbox_urwid/urwid_interface.py:424 ../qt/frontend/qtfront.cpp:138
1994 msgid "Deselect All"
1995 msgstr ""
1996
1997-#: ../checkbox_urwid/urwid_interface.py:772
1998+#. Show buttons
1999+#: ../checkbox_urwid/urwid_interface.py:545
2000+msgid "Expand All"
2001+msgstr ""
2002+
2003+#: ../checkbox_urwid/urwid_interface.py:546
2004+msgid "Collapse All"
2005+msgstr ""
2006+
2007+#: ../checkbox_urwid/urwid_interface.py:1013 ../qt/frontend/ui_qtfront.h:603
2008 msgid "Test"
2009 msgstr ""
2010
2011-#: ../checkbox_urwid/urwid_interface.py:787
2012+#: ../checkbox_urwid/urwid_interface.py:1028
2013 msgid "Test Again"
2014 msgstr ""
2015
2016-#: ../checkbox_gtk/gtk_interface.py:500
2017+#: ../checkbox_gtk/gtk_interface.py:517
2018 msgid "_Test Again"
2019 msgstr ""
2020
2021-#: ../checkbox_gtk/gtk_interface.py:548
2022+#: ../checkbox_gtk/gtk_interface.py:566
2023 msgid "Info"
2024 msgstr ""
2025
2026-#: ../checkbox_gtk/gtk_interface.py:567
2027+#: ../checkbox_gtk/gtk_interface.py:590
2028 msgid "Error"
2029 msgstr ""
2030
2031-#: ../checkbox/user_interface.py:136
2032-#, python-format
2033-msgid "Unable to start web browser to open %s."
2034-msgstr ""
2035-
2036 #: ../plugins/apport_prompt.py:83
2037 msgid ""
2038 "Collecting information about this test.\n"
2039@@ -2838,19 +3073,19 @@
2040
2041 #: ../plugins/apport_prompt.py:227
2042 #, python-format
2043-msgid "Test %(name)s from suite %(suite)s failed."
2044+msgid "Test %(name)s failed."
2045+msgstr ""
2046+
2047+#: ../plugins/apport_prompt.py:230
2048+#, python-format
2049+msgid "Test %s failed."
2050 msgstr ""
2051
2052 #: ../plugins/apport_prompt.py:231
2053-#, python-format
2054-msgid "Test %s failed."
2055-msgstr ""
2056-
2057-#: ../plugins/apport_prompt.py:232
2058 msgid "Do you want to report a bug?"
2059 msgstr ""
2060
2061-#: ../plugins/apport_prompt.py:249
2062+#: ../plugins/apport_prompt.py:248
2063 #, python-format
2064 msgid "Is a package upgrade in process? Error: %s"
2065 msgstr ""
2066@@ -2867,7 +3102,7 @@
2067 msgid "Gathering information from your system..."
2068 msgstr ""
2069
2070-#: ../plugins/intro_prompt.py:29
2071+#: ../plugins/intro_prompt.py:28
2072 msgid ""
2073 "Welcome to System Testing!\n"
2074 "\n"
2075@@ -2876,7 +3111,7 @@
2076 "your system."
2077 msgstr ""
2078
2079-#: ../plugins/intro_prompt.py:34
2080+#: ../plugins/intro_prompt.py:33
2081 msgid ""
2082 "\n"
2083 "\n"
2084@@ -2911,7 +3146,7 @@
2085 msgid "Information not posted to Launchpad."
2086 msgstr ""
2087
2088-#: ../plugins/launchpad_prompt.py:71
2089+#: ../plugins/launchpad_prompt.py:74
2090 #, python-format
2091 msgid ""
2092 "The following report has been generated for submission to the Launchpad "
2093@@ -2919,26 +3154,22 @@
2094 "\n"
2095 " [[%s|View Report]]\n"
2096 "\n"
2097-"You can submit this information about your system by providing the e-mail "
2098+"You can submit this information about your system by providing the email "
2099 "address you use to sign in to Launchpad. If you do not have a Launchpad "
2100 "account, please register here:\n"
2101 "\n"
2102 " https://launchpad.net/+login"
2103 msgstr ""
2104
2105-#: ../plugins/launchpad_prompt.py:88
2106-msgid "No e-mail address provided, not submitting to Launchpad."
2107-msgstr ""
2108-
2109-#: ../plugins/launchpad_prompt.py:92
2110+#: ../plugins/launchpad_prompt.py:93
2111 msgid "Email address must be in a proper format."
2112 msgstr ""
2113
2114-#: ../plugins/launchpad_prompt.py:98
2115+#: ../plugins/launchpad_prompt.py:99
2116 msgid "Exchanging information with the server..."
2117 msgstr ""
2118
2119-#: ../plugins/launchpad_report.py:151
2120+#: ../plugins/launchpad_report.py:167
2121 msgid ""
2122 "The generated report seems to have validation errors,\n"
2123 "so it might not be processed by Launchpad."
2124@@ -2948,7 +3179,15 @@
2125 msgid "There is another checkbox running. Please close it first."
2126 msgstr ""
2127
2128+#: ../plugins/recover_prompt.py:53
2129+msgid "Recover"
2130+msgstr ""
2131+
2132 #: ../plugins/recover_prompt.py:54
2133+msgid "Restart"
2134+msgstr ""
2135+
2136+#: ../plugins/recover_prompt.py:56
2137 msgid ""
2138 "Checkbox did not finish completely.\n"
2139 "Do you want to recover from the previous run?"
2140@@ -2964,7 +3203,7 @@
2141 msgstr ""
2142
2143 #. Get results
2144-#: ../plugins/suites_prompt.py:108
2145+#: ../plugins/suites_prompt.py:124
2146 msgid "Select the suites to test"
2147 msgstr ""
2148
2149@@ -2976,14 +3215,159 @@
2150 msgid "Type Text"
2151 msgstr ""
2152
2153-#: ../scripts/internet_test:139
2154+#: ../scripts/internet_test:196
2155 msgid "No Internet connection"
2156 msgstr ""
2157
2158-#: ../scripts/internet_test:142
2159+#: ../scripts/internet_test:199
2160 msgid "Connection established lost a packet"
2161 msgstr ""
2162
2163-#: ../scripts/internet_test:145
2164+#: ../scripts/internet_test:202
2165 msgid "Internet connection fully established"
2166 msgstr ""
2167+
2168+#: ../qt/frontend/qtfront.cpp:108
2169+msgid "Not Started"
2170+msgstr ""
2171+
2172+#: ../qt/frontend/qtfront.cpp:109 ../qt/frontend/qtfront.cpp:110
2173+msgid "Done"
2174+msgstr ""
2175+
2176+#: ../qt/frontend/qtfront.cpp:111
2177+msgid "Not Supported"
2178+msgstr ""
2179+
2180+#: ../qt/frontend/qtfront.cpp:112
2181+msgid "Not Resolved"
2182+msgstr ""
2183+
2184+#: ../qt/frontend/qtfront.cpp:113
2185+msgid "Not Tested"
2186+msgstr ""
2187+
2188+#: ../qt/frontend/qtfront.cpp:114
2189+msgid "In Progress"
2190+msgstr ""
2191+
2192+#: ../qt/frontend/qtfront.cpp:182
2193+msgid "Are you sure?"
2194+msgstr ""
2195+
2196+#: ../qt/frontend/qtfront.cpp:182
2197+msgid "Do you really want to skip this test?"
2198+msgstr ""
2199+
2200+#: ../qt/frontend/qtfront.cpp:183
2201+msgid "Don't ask me again"
2202+msgstr ""
2203+
2204+#: ../qt/frontend/treemodel.cpp:13
2205+msgid ""
2206+"Unselecting a test will invalidate your submission for Ubuntu Friendly. If "
2207+"you plan to participate in Ubuntu Friendly, please, select all tests. You "
2208+"can always skip individual tests if you don't have the needed equipment."
2209+msgstr ""
2210+
2211+#: ../qt/frontend/ui_qtfront.h:588
2212+msgid "Form"
2213+msgstr ""
2214+
2215+#: ../qt/frontend/ui_qtfront.h:590
2216+msgid "OK"
2217+msgstr ""
2218+
2219+#: ../qt/frontend/ui_qtfront.h:591
2220+msgid "Don't show me this message in the future"
2221+msgstr ""
2222+
2223+#: ../qt/frontend/ui_qtfront.h:592 ../qt/frontend/ui_qtfront.h:606
2224+msgid "Tab 1"
2225+msgstr ""
2226+
2227+#: ../qt/frontend/ui_qtfront.h:593
2228+msgid "10 tests completed out of 30 (30%)"
2229+msgstr ""
2230+
2231+#: ../qt/frontend/ui_qtfront.h:595
2232+msgid "Lists of tests to run based on your system:"
2233+msgstr ""
2234+
2235+#: ../qt/frontend/ui_qtfront.h:596
2236+msgid "Components"
2237+msgstr ""
2238+
2239+#: ../qt/frontend/ui_qtfront.h:597
2240+msgid "Status"
2241+msgstr ""
2242+
2243+#: ../qt/frontend/ui_qtfront.h:598
2244+msgid "Start testing"
2245+msgstr ""
2246+
2247+#: ../qt/frontend/ui_qtfront.h:599
2248+msgid " Selection "
2249+msgstr ""
2250+
2251+#: ../qt/frontend/ui_qtfront.h:600 ../qt/frontend/ui_qtfront.h:601
2252+msgid "TextLabel"
2253+msgstr ""
2254+
2255+#: ../qt/frontend/ui_qtfront.h:602
2256+msgid "Yes"
2257+msgstr ""
2258+
2259+#: ../qt/frontend/ui_qtfront.h:604
2260+msgid "No"
2261+msgstr ""
2262+
2263+#: ../qt/frontend/ui_qtfront.h:605
2264+msgid "Comment"
2265+msgstr ""
2266+
2267+#: ../qt/frontend/ui_qtfront.h:607 ../qt/frontend/ui_qtfront.h:623
2268+msgid "Tab 2"
2269+msgstr ""
2270+
2271+#: ../qt/frontend/ui_qtfront.h:610
2272+msgid " Run "
2273+msgstr ""
2274+
2275+#: ../qt/frontend/ui_qtfront.h:611
2276+msgid ""
2277+"<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0//EN\" \"http://www.w3.org/TR/"
2278+"REC-html40/strict.dtd\">\n"
2279+"<html><head><meta name=\"qrichtext\" content=\"1\" /><style type=\"text/css"
2280+"\">\n"
2281+"p, li { white-space: pre-wrap; }\n"
2282+"</style></head><body style=\" font-family:'Ubuntu'; font-size:10pt; font-"
2283+"weight:400; font-style:normal;\">\n"
2284+"<p style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-"
2285+"right:0px; -qt-block-indent:0; text-indent:0px;\"><span style=\" color:"
2286+"#ff0000;\">Warning: Not all tests have been run yet.</span></p>\n"
2287+"<p style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-"
2288+"right:0px; -qt-block-indent:0; text-indent:0px;\"><span style=\" color:"
2289+"#ff0000;\">You can send the results now, but the submission won't make it to "
2290+"Ubuntu Friendly.</span></p></body></html>"
2291+msgstr ""
2292+
2293+#: ../qt/frontend/ui_qtfront.h:617
2294+msgid "Personal details"
2295+msgstr ""
2296+
2297+#: ../qt/frontend/ui_qtfront.h:619
2298+msgid "Email:"
2299+msgstr ""
2300+
2301+#: ../qt/frontend/ui_qtfront.h:620
2302+msgid "Submit results"
2303+msgstr ""
2304+
2305+#: ../qt/frontend/ui_qtfront.h:621
2306+msgid "View results"
2307+msgstr ""
2308+
2309+#: ../qt/frontend/ui_qtfront.h:622
2310+msgid " Results "
2311+msgstr ""
2312
2313=== added file 'qt/frontend/checkboxtr.cpp'
2314--- qt/frontend/checkboxtr.cpp 1970-01-01 00:00:00 +0000
2315+++ qt/frontend/checkboxtr.cpp 2012-03-28 20:30:26 +0000
2316@@ -0,0 +1,48 @@
2317+/*
2318+ * This file is part of checkbox
2319+ *
2320+ * Copyright 2011 Canonical Ltd.
2321+ *
2322+ * Authors:
2323+ * - Aurélien Gâteau <aurelien.gateau@canonical.com>
2324+ *
2325+ * This program is free software; you can redistribute it and/or modify
2326+ * it under the terms of the GNU General Public License as published by
2327+ * the Free Software Foundation; version 3.
2328+ *
2329+ * This program is distributed in the hope that it will be useful,
2330+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
2331+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
2332+ * GNU General Public License for more details.
2333+ *
2334+ * You should have received a copy of the GNU General Public License
2335+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
2336+ */
2337+// Self
2338+#include <checkboxtr.h>
2339+
2340+// Qt
2341+
2342+// libc
2343+#include <libintl.h>
2344+
2345+void trInit(const char* domain, const char* localeDir)
2346+{
2347+ setlocale(LC_ALL, "");
2348+ bindtextdomain(domain, localeDir);
2349+ textdomain(domain);
2350+}
2351+
2352+QString checkboxTr(const char* text, const char* domain)
2353+{
2354+ return QString::fromUtf8(dgettext(domain, text));
2355+}
2356+
2357+QString checkboxTr(const char* singular, const char* plural, int n, const char* domain)
2358+{
2359+ QString text = QString::fromUtf8(dngettext(domain, singular, plural, n));
2360+ // Note: if `text` is "%%n" (meaning the string on screen should be "%n"
2361+ // literally), this will fail. I think we don't care for now.
2362+ text.replace("%n", QString::number(n));
2363+ return text;
2364+}
2365
2366=== added file 'qt/frontend/checkboxtr.h'
2367--- qt/frontend/checkboxtr.h 1970-01-01 00:00:00 +0000
2368+++ qt/frontend/checkboxtr.h 2012-03-28 20:30:26 +0000
2369@@ -0,0 +1,46 @@
2370+/*
2371+ * This file is part of checkbox - taken from unity-2d
2372+ *
2373+ * Copyright 2012 Canonical Ltd.
2374+ *
2375+ * Authors:
2376+ * - Aurélien Gâteau <aurelien.gateau@canonical.com>
2377+ *
2378+ * This program is free software; you can redistribute it and/or modify
2379+ * it under the terms of the GNU General Public License as published by
2380+ * the Free Software Foundation; version 3.
2381+ *
2382+ * This program is distributed in the hope that it will be useful,
2383+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
2384+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
2385+ * GNU General Public License for more details.
2386+ *
2387+ * You should have received a copy of the GNU General Public License
2388+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
2389+ */
2390+#ifndef CHECKBOXTR_H
2391+#define CHECKBOXTR_H
2392+
2393+#include <QObject>
2394+class QString;
2395+
2396+/**
2397+ * Installs our gettext catalog
2398+ */
2399+void trInit(const char* domain, const char* localeDir);
2400+
2401+/**
2402+ * Translate the string text.
2403+ *
2404+ * If domain is NULL, the default domain name (set in init(…)) is used instead.
2405+ */
2406+QString checkboxTr(const char* text, const char* domain = NULL);
2407+
2408+/**
2409+ * Plural version of checkboxTr. Should be called like this:
2410+ *
2411+ * checkboxTr("%n file", "%n files", count, domain)
2412+ */
2413+QString checkboxTr(const char* singular, const char* plural, int n, const char* domain = NULL);
2414+
2415+#endif /* CHECKBOXTR_H */
2416
2417=== modified file 'qt/frontend/frontend.pro'
2418--- qt/frontend/frontend.pro 2012-02-15 19:52:52 +0000
2419+++ qt/frontend/frontend.pro 2012-03-28 20:30:26 +0000
2420@@ -6,6 +6,8 @@
2421
2422 QT += core dbus service
2423
2424+QMAKE_UIC = /usr/bin/uic-qt4 -tr checkboxTr
2425+
2426 TARGET = checkbox-qt-service
2427 TEMPLATE = app
2428
2429@@ -13,11 +15,13 @@
2430 SOURCES += main.cpp\
2431 qtfront.cpp \
2432 treemodel.cpp \
2433- step.cpp
2434+ step.cpp \
2435+ checkboxtr.cpp
2436
2437 HEADERS += qtfront.h \
2438 treemodel.h \
2439- step.h
2440+ step.h \
2441+ checkboxtr.h
2442
2443 FORMS += qtfront.ui
2444
2445
2446=== modified file 'qt/frontend/main.cpp'
2447--- qt/frontend/main.cpp 2012-02-13 22:16:30 +0000
2448+++ qt/frontend/main.cpp 2012-03-28 20:30:26 +0000
2449@@ -1,11 +1,15 @@
2450 #include <QtGui/QApplication>
2451+#include "checkboxtr.h"
2452 #include "qtfront.h"
2453
2454 int main(int argc, char *argv[])
2455 {
2456+ trInit("checkbox","/usr/share/locale/");
2457+
2458 QApplication a(argc, argv);
2459 a.setWindowIcon(QIcon::fromTheme("checkbox"));
2460 new QtFront(&a);
2461+
2462 QDBusConnection::sessionBus().registerObject("/QtCheckbox", &a);
2463 QDBusConnection::sessionBus().registerService("com.canonical.QtCheckbox");
2464 //w.show();
2465
2466=== modified file 'qt/frontend/qtfront.cpp'
2467--- qt/frontend/qtfront.cpp 2012-03-20 22:31:41 +0000
2468+++ qt/frontend/qtfront.cpp 2012-03-28 20:30:26 +0000
2469@@ -83,35 +83,35 @@
2470 m_currentTextComment->setFocus();
2471 m_currentTextComment->setStyleSheet("background-color: white");
2472
2473- m_titleTestTypes["__audio__"] = "Audio Test";
2474- m_titleTestTypes["__bluetooth__"] = "Bluetooth Test";
2475- m_titleTestTypes["__camera__"] = "Camera Test";
2476- m_titleTestTypes["__cpu__"] = "CPU Test";
2477- m_titleTestTypes["__disk__"] = "Disk Test";
2478- m_titleTestTypes["__firewire__"] = "Firewire Test";
2479- m_titleTestTypes["__graphics__"] = "Graphics Test";
2480- m_titleTestTypes["__info__"] = "Info Test";
2481- m_titleTestTypes["__input__"] = "Input Test";
2482- m_titleTestTypes["__keys__"] = "Keys Test";
2483- m_titleTestTypes["__mediacard__"] = "Media Card Test";
2484- m_titleTestTypes["__memory__"] = "Memory Test";
2485- m_titleTestTypes["__miscellanea__"] = "Miscellanea Test";
2486- m_titleTestTypes["__monitor__"] = "Monitor Test";
2487- m_titleTestTypes["__networking__"] = "Networking Test";
2488- m_titleTestTypes["__wireless__"] = "Wireless Test";
2489- m_titleTestTypes["__optical__"] = "Optical Test";
2490- m_titleTestTypes["__pcmcia-pcix__"] = "PCMCIA/PCIX Test";
2491- m_titleTestTypes["__power-management__"] = "Power Management Test";
2492- m_titleTestTypes["__suspend__"] = "Suspend Test";
2493- m_titleTestTypes["__usb__"] = "USB Test";
2494+ m_titleTestTypes["__audio__"] = checkboxTr("Audio Test",0);
2495+ m_titleTestTypes["__bluetooth__"] = checkboxTr("Bluetooth Test", 0);
2496+ m_titleTestTypes["__camera__"] = checkboxTr("Camera Test", 0);
2497+ m_titleTestTypes["__cpu__"] = checkboxTr("CPU Test", 0);
2498+ m_titleTestTypes["__disk__"] = checkboxTr("Disk Test", 0);
2499+ m_titleTestTypes["__firewire__"] = checkboxTr("Firewire Test", 0);
2500+ m_titleTestTypes["__graphics__"] = checkboxTr("Graphics Test", 0);
2501+ m_titleTestTypes["__info__"] = checkboxTr("Info Test", 0);
2502+ m_titleTestTypes["__input__"] = checkboxTr("Input Test", 0);
2503+ m_titleTestTypes["__keys__"] = checkboxTr("Keys Test", 0);
2504+ m_titleTestTypes["__mediacard__"] = checkboxTr("Media Card Test", 0);
2505+ m_titleTestTypes["__memory__"] = checkboxTr("Memory Test", 0);
2506+ m_titleTestTypes["__miscellanea__"] = checkboxTr("Miscellanea Test", 0);
2507+ m_titleTestTypes["__monitor__"] = checkboxTr("Monitor Test", 0);
2508+ m_titleTestTypes["__networking__"] = checkboxTr("Networking Test", 0);
2509+ m_titleTestTypes["__wireless__"] = checkboxTr("Wireless Test", 0);
2510+ m_titleTestTypes["__optical__"] = checkboxTr("Optical Test", 0);
2511+ m_titleTestTypes["__pcmcia-pcix__"] = checkboxTr("PCMCIA/PCIX Test", 0);
2512+ m_titleTestTypes["__power-management__"] = checkboxTr("Power Management Test", 0);
2513+ m_titleTestTypes["__suspend__"] = checkboxTr("Suspend Test", 0);
2514+ m_titleTestTypes["__usb__"] = checkboxTr("USB Test", 0);
2515
2516- m_statusStrings[STATUS_UNINITIATED] = tr("Not Started");
2517- m_statusStrings[STATUS_PASS] = tr("Done");
2518- m_statusStrings[STATUS_FAIL] = tr("Done");
2519- m_statusStrings[STATUS_UNSUPPORTED] = tr("Not Supported");
2520- m_statusStrings[STATUS_UNRESOLVED] = tr("Not Resolved");
2521- m_statusStrings[STATUS_UNTESTED] = tr("Not Tested");
2522- m_statusStrings[STATUS_INPROGRESS] = tr("In Progress");
2523+ m_statusStrings[STATUS_UNINITIATED] = checkboxTr("Not Started", 0);
2524+ m_statusStrings[STATUS_PASS] = checkboxTr("Done", 0);
2525+ m_statusStrings[STATUS_FAIL] = checkboxTr("Done", 0);
2526+ m_statusStrings[STATUS_UNSUPPORTED] = checkboxTr("Not Supported", 0);
2527+ m_statusStrings[STATUS_UNRESOLVED] = checkboxTr("Not Resolved", 0);
2528+ m_statusStrings[STATUS_UNTESTED] = checkboxTr("Not Tested", 0);
2529+ m_statusStrings[STATUS_INPROGRESS] = checkboxTr("In Progress", 0);
2530
2531 }
2532
2533@@ -134,8 +134,8 @@
2534
2535 QPoint position = ui->treeView->mapToGlobal(pos);
2536 QMenu menu;
2537- QAction *selectAll = menu.addAction(tr("Select All"));
2538- QAction *deselectAll = menu.addAction(tr("Deselect All"));
2539+ QAction *selectAll = menu.addAction(checkboxTr("Select All", 0));
2540+ QAction *deselectAll = menu.addAction(checkboxTr("Deselect All", 0));
2541
2542 QAction* selectedItem = menu.exec(position);
2543 if (selectedItem && selectedItem == selectAll)
2544@@ -179,8 +179,8 @@
2545 void QtFront::onNextTestClicked()
2546 {
2547 if (!m_skipTestMessage) {
2548- QMessageBox msgBox(QMessageBox::Question, tr("Are you sure?"), tr("Do you really want to skip this test?"), 0, ui->tabWidget);
2549- QCheckBox dontPrompt(tr("Don't ask me again"), &msgBox);
2550+ QMessageBox msgBox(QMessageBox::Question, checkboxTr("Are you sure?", 0), checkboxTr("Do you really want to skip this test?", 0), 0, ui->tabWidget);
2551+ QCheckBox dontPrompt(checkboxTr("Don't ask me again", 0), &msgBox);
2552 dontPrompt.blockSignals(true);
2553 msgBox.addButton(&dontPrompt, QMessageBox::ActionRole);
2554 QAbstractButton *yesButton = (QAbstractButton*)msgBox.addButton(QMessageBox::Yes);
2555@@ -244,7 +244,7 @@
2556
2557 void QtFront::showError(QString text)
2558 {
2559- QMessageBox::critical(ui->tabWidget, "Error", text);
2560+ QMessageBox::critical(ui->tabWidget, checkboxTr("Error", 0), text);
2561 }
2562
2563 void QtFront::setWindowTitle(QString title)
2564@@ -528,7 +528,7 @@
2565 buttonMap[connectButton] = option;
2566 }
2567 dialog->setText(text);
2568- dialog->setWindowTitle("Info");
2569+ dialog->setWindowTitle(checkboxTr("Info", 0));
2570 dialog->exec();
2571 QString result = buttonMap[dialog->clickedButton()];
2572 delete dialog;
2573
2574=== modified file 'qt/frontend/qtfront.h'
2575--- qt/frontend/qtfront.h 2012-03-20 22:31:41 +0000
2576+++ qt/frontend/qtfront.h 2012-03-28 20:30:26 +0000
2577@@ -6,6 +6,7 @@
2578 #include <QCloseEvent>
2579 #include <QTextEdit>
2580
2581+#include "checkboxtr.h"
2582 #include "treemodel.h"
2583
2584 class Ui_main;
2585
2586=== modified file 'qt/frontend/treemodel.cpp'
2587--- qt/frontend/treemodel.cpp 2012-02-29 18:49:58 +0000
2588+++ qt/frontend/treemodel.cpp 2012-03-28 20:30:26 +0000
2589@@ -1,3 +1,4 @@
2590+#include "checkboxtr.h"
2591 #include "treemodel.h"
2592 #include <QErrorMessage>
2593 TreeModel::TreeModel() : m_messageBox(0)
2594@@ -9,7 +10,7 @@
2595 {
2596 if (!m_messageBox)
2597 m_messageBox = new QErrorMessage();
2598- m_messageBox->showMessage("Unselecting a test will invalidate your submission for Ubuntu Friendly. If you plan to participate in Ubuntu Friendly, please, select all tests. You can always skip individual tests if you don't have the needed equipment.");
2599+ m_messageBox->showMessage(checkboxTr("Unselecting a test will invalidate your submission for Ubuntu Friendly. If you plan to participate in Ubuntu Friendly, please, select all tests. You can always skip individual tests if you don't have the needed equipment.",0));
2600 }
2601
2602 void TreeModel::changeAllChildren(QStandardItem *item, const QVariant &value, int role )

Subscribers

People subscribed via source and target branches