virtui-manager 1.1.6__py3-none-any.whl → 1.4.0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (62) hide show
  1. {virtui_manager-1.1.6.dist-info → virtui_manager-1.4.0.dist-info}/METADATA +1 -1
  2. virtui_manager-1.4.0.dist-info/RECORD +76 -0
  3. vmanager/constants.py +739 -108
  4. vmanager/dialog.css +24 -0
  5. vmanager/firmware_manager.py +4 -1
  6. vmanager/i18n.py +32 -0
  7. vmanager/libvirt_utils.py +132 -3
  8. vmanager/locales/de/LC_MESSAGES/virtui-manager.mo +0 -0
  9. vmanager/locales/de/LC_MESSAGES/virtui-manager.po +3158 -0
  10. vmanager/locales/fr/LC_MESSAGES/virtui-manager.mo +0 -0
  11. vmanager/locales/fr/LC_MESSAGES/virtui-manager.po +3155 -0
  12. vmanager/locales/it/LC_MESSAGES/virtui-manager.mo +0 -0
  13. vmanager/locales/it/LC_MESSAGES/virtui-manager.po +3132 -0
  14. vmanager/locales/virtui-manager.pot +3033 -0
  15. vmanager/modals/bulk_modals.py +13 -12
  16. vmanager/modals/cache_stats_modal.py +6 -5
  17. vmanager/modals/capabilities_modal.py +133 -0
  18. vmanager/modals/config_modal.py +25 -24
  19. vmanager/modals/cpu_mem_pc_modals.py +22 -21
  20. vmanager/modals/custom_migration_modal.py +10 -9
  21. vmanager/modals/disk_pool_modals.py +60 -59
  22. vmanager/modals/host_dashboard_modal.py +137 -0
  23. vmanager/modals/host_stats.py +199 -0
  24. vmanager/modals/howto_disk_modal.py +2 -1
  25. vmanager/modals/howto_network_modal.py +2 -1
  26. vmanager/modals/howto_overlay_modal.py +2 -1
  27. vmanager/modals/howto_ssh_modal.py +2 -1
  28. vmanager/modals/howto_virtiofs_modal.py +2 -1
  29. vmanager/modals/input_modals.py +11 -10
  30. vmanager/modals/log_modal.py +2 -1
  31. vmanager/modals/migration_modals.py +21 -19
  32. vmanager/modals/network_modals.py +45 -36
  33. vmanager/modals/provisioning_modals.py +56 -56
  34. vmanager/modals/select_server_modals.py +8 -7
  35. vmanager/modals/selection_modals.py +7 -6
  36. vmanager/modals/server_modals.py +24 -23
  37. vmanager/modals/server_prefs_modals.py +78 -71
  38. vmanager/modals/utils_modals.py +10 -9
  39. vmanager/modals/virsh_modals.py +3 -2
  40. vmanager/modals/virtiofs_modals.py +6 -5
  41. vmanager/modals/vm_type_info_modal.py +2 -1
  42. vmanager/modals/vmanager_modals.py +19 -19
  43. vmanager/modals/vmcard_dialog.py +57 -57
  44. vmanager/modals/vmdetails_modals.py +115 -123
  45. vmanager/modals/xml_modals.py +3 -2
  46. vmanager/network_manager.py +4 -1
  47. vmanager/storage_manager.py +157 -39
  48. vmanager/utils.py +54 -7
  49. vmanager/vm_actions.py +48 -24
  50. vmanager/vm_migration.py +4 -1
  51. vmanager/vm_queries.py +67 -25
  52. vmanager/vm_service.py +8 -5
  53. vmanager/vmanager.css +55 -1
  54. vmanager/vmanager.py +247 -120
  55. vmanager/vmcard.css +3 -1
  56. vmanager/vmcard.py +270 -205
  57. vmanager/webconsole_manager.py +22 -22
  58. virtui_manager-1.1.6.dist-info/RECORD +0 -65
  59. {virtui_manager-1.1.6.dist-info → virtui_manager-1.4.0.dist-info}/WHEEL +0 -0
  60. {virtui_manager-1.1.6.dist-info → virtui_manager-1.4.0.dist-info}/entry_points.txt +0 -0
  61. {virtui_manager-1.1.6.dist-info → virtui_manager-1.4.0.dist-info}/licenses/LICENSE +0 -0
  62. {virtui_manager-1.1.6.dist-info → virtui_manager-1.4.0.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,3155 @@
1
+ # French translations for VirtUI Manager package.
2
+ # Copyright (C) 2026 VirtUI Manager
3
+ # This file is distributed under the same license as the VirtUI Manager package.
4
+ # aginies <aginies@suse.com>, 2026.
5
+ #
6
+ msgid ""
7
+ msgstr ""
8
+ "Project-Id-Version: VirtUI Manager 1.2.0\n"
9
+ "Report-Msgid-Bugs-To: https://github.com/aginies/virtui-manager/issues\n"
10
+ "POT-Creation-Date: 2026-02-02 20:49+0100\n"
11
+ "PO-Revision-Date: 2026-01-29 12:34+0100\n"
12
+ "Last-Translator: aginies <aginies@suse.com>\n"
13
+ "Language-Team: French <traduc@traduc.org>\n"
14
+ "Language: fr\n"
15
+ "MIME-Version: 1.0\n"
16
+ "Content-Type: text/plain; charset=UTF-8\n"
17
+ "Content-Transfer-Encoding: 8bit\n"
18
+ "Plural-Forms: nplurals=2; plural=(n > 1);\n"
19
+
20
+ #: constants.py:64
21
+ msgid "Add"
22
+ msgstr "Ajouter"
23
+
24
+ #: constants.py:65
25
+ msgid "Save"
26
+ msgstr "Enregistrer"
27
+
28
+ #: constants.py:66
29
+ msgid "Hibernate VM"
30
+ msgstr ""
31
+
32
+ #: constants.py:67
33
+ msgid "Save Changes"
34
+ msgstr "Enregistrer les modifications"
35
+
36
+ #: constants.py:68
37
+ msgid "Create Network"
38
+ msgstr "Créer un réseau"
39
+
40
+ #: constants.py:69
41
+ msgid "Install"
42
+ msgstr "Installer"
43
+
44
+ #: constants.py:70
45
+ msgid "Info"
46
+ msgstr "Infos"
47
+
48
+ #: constants.py:71
49
+ msgid "Browse"
50
+ msgstr "Parcourir"
51
+
52
+ #: constants.py:72
53
+ msgid "Start"
54
+ msgstr "Démarrer"
55
+
56
+ #: constants.py:73
57
+ msgid "Shutdown"
58
+ msgstr "Éteindre"
59
+
60
+ #: constants.py:74
61
+ msgid "Force Off"
62
+ msgstr "Forcer l'arrêt"
63
+
64
+ #: constants.py:75
65
+ msgid "Remove"
66
+ msgstr "Supprimer"
67
+
68
+ #: constants.py:76
69
+ msgid "Pause"
70
+ msgstr "Pause"
71
+
72
+ #: constants.py:77
73
+ msgid "Resume"
74
+ msgstr "Reprendre"
75
+
76
+ #: constants.py:78
77
+ msgid "Configure"
78
+ msgstr "Configurer"
79
+
80
+ #: constants.py:79
81
+ msgid "Web Console"
82
+ msgstr "Console Web"
83
+
84
+ #: constants.py:80
85
+ #, fuzzy
86
+ msgid "Text Console"
87
+ msgstr "Console Web"
88
+
89
+ #: constants.py:81
90
+ msgid "Connect"
91
+ msgstr "Se connecter"
92
+
93
+ #: constants.py:82
94
+ msgid "Snapshot"
95
+ msgstr "Instantané"
96
+
97
+ #: constants.py:83
98
+ msgid "Restore Snapshot"
99
+ msgstr "Restaurer l'instantané"
100
+
101
+ #: constants.py:84
102
+ msgid "Del Snapshot"
103
+ msgstr "Suppr. instantané"
104
+
105
+ #: constants.py:85 constants.py:117
106
+ msgid "Delete"
107
+ msgstr "Supprimer"
108
+
109
+ #: constants.py:86
110
+ msgid "Edit"
111
+ msgstr "Modifier"
112
+
113
+ #: constants.py:87
114
+ msgid "Custom URL"
115
+ msgstr "URL personnalisée"
116
+
117
+ #: constants.py:88
118
+ msgid "SSH Help"
119
+ msgstr "Aide SSH"
120
+
121
+ #: constants.py:89
122
+ msgid "View"
123
+ msgstr "Voir"
124
+
125
+ #: constants.py:90 constants.py:113 constants.py:118 constants.py:174
126
+ msgid "Help"
127
+ msgstr "Aide"
128
+
129
+ #: constants.py:91
130
+ msgid "Add Pool"
131
+ msgstr "Ajouter un pool"
132
+
133
+ #: constants.py:92
134
+ msgid "Delete Pool"
135
+ msgstr "Supprimer le pool"
136
+
137
+ #: constants.py:93
138
+ msgid "New Volume"
139
+ msgstr "Nouveau volume"
140
+
141
+ #: constants.py:94
142
+ msgid "Attach Vol"
143
+ msgstr "Attacher vol."
144
+
145
+ #: constants.py:95
146
+ msgid "Move Volume"
147
+ msgstr "Déplacer le volume"
148
+
149
+ #: constants.py:96
150
+ msgid "Delete Volume"
151
+ msgstr "Supprimer le volume"
152
+
153
+ #: constants.py:97
154
+ msgid "Edit XML"
155
+ msgstr "Modifier l'XML"
156
+
157
+ #: constants.py:98
158
+ msgid "Edit CPU Tune"
159
+ msgstr "Modifier CPU Tune"
160
+
161
+ #: constants.py:99
162
+ msgid "Edit NUMA Tune"
163
+ msgstr "Modifier NUMA Tune"
164
+
165
+ #: constants.py:100
166
+ msgid "Switch to BIOS"
167
+ msgstr "Passer en BIOS"
168
+
169
+ #: constants.py:101
170
+ msgid "Switch to UEFI"
171
+ msgstr "Passer en UEFI"
172
+
173
+ #: constants.py:102
174
+ msgid "Save Boot Order"
175
+ msgstr "Enregistrer l'ordre de démarrage"
176
+
177
+ #: constants.py:103
178
+ msgid "<"
179
+ msgstr "<"
180
+
181
+ #: constants.py:104
182
+ msgid ">"
183
+ msgstr ">"
184
+
185
+ #: constants.py:105
186
+ msgid "Up"
187
+ msgstr "Haut"
188
+
189
+ #: constants.py:106
190
+ msgid "Down"
191
+ msgstr "Bas"
192
+
193
+ #: constants.py:107
194
+ msgid "Remove Disk"
195
+ msgstr "Supprimer le disque"
196
+
197
+ #: constants.py:108
198
+ msgid "Disable Disk"
199
+ msgstr "Désactiver le disque"
200
+
201
+ #: constants.py:109
202
+ msgid "Enable Disk"
203
+ msgstr "Activer le disque"
204
+
205
+ #: constants.py:110
206
+ msgid "Add Disk"
207
+ msgstr "Ajouter un disque"
208
+
209
+ #: constants.py:111
210
+ msgid "Attach Existing Disk"
211
+ msgstr "Attacher un disque existant"
212
+
213
+ #: constants.py:112
214
+ msgid "Edit Disk"
215
+ msgstr "Modifier le disque"
216
+
217
+ #: constants.py:114
218
+ msgid "Edit Interface"
219
+ msgstr "Modifier l'interface"
220
+
221
+ #: constants.py:115
222
+ msgid "Add Interface"
223
+ msgstr "Ajouter une interface"
224
+
225
+ #: constants.py:116
226
+ msgid "Remove Interface"
227
+ msgstr "Supprimer l'interface"
228
+
229
+ #: constants.py:119
230
+ msgid "Apply Graphics Settings"
231
+ msgstr "Appliquer les paramètres graphiques"
232
+
233
+ #: constants.py:120
234
+ msgid "Apply TPM Settings"
235
+ msgstr "Appliquer les paramètres TPM"
236
+
237
+ #: constants.py:121
238
+ msgid "Apply RNG Settings"
239
+ msgstr "Appliquer les paramètres RNG"
240
+
241
+ #: constants.py:122
242
+ msgid "Add PTY Console"
243
+ msgstr "Ajouter une console PTY"
244
+
245
+ #: constants.py:123
246
+ msgid "Remove Console"
247
+ msgstr "Supprimer la console"
248
+
249
+ #: constants.py:124
250
+ msgid "Apply Watchdog Settings"
251
+ msgstr "Appliquer les paramètres Watchdog"
252
+
253
+ #: constants.py:125
254
+ msgid "Remove Watchdog"
255
+ msgstr "Supprimer le Watchdog"
256
+
257
+ #: constants.py:126
258
+ msgid "Add Input"
259
+ msgstr "Ajouter une entrée"
260
+
261
+ #: constants.py:127
262
+ msgid "Remove Input"
263
+ msgstr "Supprimer l'entrée"
264
+
265
+ #: constants.py:128
266
+ msgid "Add USB2"
267
+ msgstr "Ajouter USB2"
268
+
269
+ #: constants.py:129
270
+ msgid "Add USB3"
271
+ msgstr "Ajouter USB3"
272
+
273
+ #: constants.py:130
274
+ msgid "Add SCSI"
275
+ msgstr "Ajouter SCSI"
276
+
277
+ #: constants.py:131
278
+ msgid "Attach >"
279
+ msgstr "Attacher >"
280
+
281
+ #: constants.py:132
282
+ msgid "< Detach"
283
+ msgstr "< Détacher"
284
+
285
+ #: constants.py:133
286
+ msgid "Add Channel"
287
+ msgstr "Ajouter un canal"
288
+
289
+ #: constants.py:134
290
+ msgid "Remove Channel"
291
+ msgstr "Supprimer le canal"
292
+
293
+ #: constants.py:135
294
+ msgid "Other Tabs"
295
+ msgstr "Autres onglets"
296
+
297
+ #: constants.py:136
298
+ msgid "Apply"
299
+ msgstr "Appliquer"
300
+
301
+ #: constants.py:137
302
+ msgid "! Clone !"
303
+ msgstr "! Cloner !"
304
+
305
+ #: constants.py:138
306
+ msgid "! Migration !"
307
+ msgstr "! Migration !"
308
+
309
+ #: constants.py:139
310
+ msgid "View XML"
311
+ msgstr "Voir l'XML"
312
+
313
+ #: constants.py:140
314
+ msgid "Rename"
315
+ msgstr "Renommer"
316
+
317
+ #: constants.py:141
318
+ msgid "[b][#FFD700]S[/][/]elect Servers"
319
+ msgstr "[b][#FFD700]S[/][/]électionner les serveurs"
320
+
321
+ #: constants.py:142
322
+ msgid "Servers [b][#FFD700]L[/][/]ist"
323
+ msgstr "[b][#FFD700]L[/][/]iste des serveurs"
324
+
325
+ #: constants.py:143
326
+ msgid "Server Prefs"
327
+ msgstr "Préf. serveur"
328
+
329
+ #: constants.py:144
330
+ msgid "[b][#FFD700]F[/][/]ilter VM"
331
+ msgstr "[b][#FFD700]F[/][/]iltrer VM"
332
+
333
+ #: constants.py:145 constants.py:182
334
+ msgid "Log"
335
+ msgstr "Journal"
336
+
337
+ #: constants.py:146
338
+ msgid "[b][#FFD700]B[/][/]ulk CMD"
339
+ msgstr "[b][#FFD700]B[/][/]ulk CMD"
340
+
341
+ #: constants.py:147
342
+ msgid "[b][#FFD700]P[/][/]attern Sel"
343
+ msgstr "Sél. [b][#FFD700]p[/][/]ar Motif"
344
+
345
+ #: constants.py:148 constants.py:186
346
+ msgid "Config"
347
+ msgstr "Configuration"
348
+
349
+ #: constants.py:149
350
+ #, fuzzy
351
+ msgid "\\[Previous Page]"
352
+ msgstr "\\[Page précédente]"
353
+
354
+ #: constants.py:150
355
+ #, fuzzy
356
+ msgid "\\[Next Page]"
357
+ msgstr "\\[Page suivante]"
358
+
359
+ #: constants.py:151
360
+ msgid "Yes"
361
+ msgstr "Oui"
362
+
363
+ #: constants.py:152
364
+ msgid "No"
365
+ msgstr "Non"
366
+
367
+ #: constants.py:153
368
+ msgid "Cancel"
369
+ msgstr "Annuler"
370
+
371
+ #: constants.py:154
372
+ msgid "Create"
373
+ msgstr "Créer"
374
+
375
+ #: constants.py:155
376
+ msgid "Change"
377
+ msgstr "Changer"
378
+
379
+ #: constants.py:156
380
+ msgid "Stop"
381
+ msgstr "Arrêter"
382
+
383
+ #: constants.py:157
384
+ msgid "Close"
385
+ msgstr "Fermer"
386
+
387
+ #: constants.py:158
388
+ msgid "Move"
389
+ msgstr "Déplacer"
390
+
391
+ #: constants.py:159
392
+ msgid "Attach"
393
+ msgstr "Attacher"
394
+
395
+ #: constants.py:160
396
+ msgid "De/Active"
397
+ msgstr "Dés/Activer"
398
+
399
+ #: constants.py:161
400
+ msgid "Autostart"
401
+ msgstr "Démarrage auto"
402
+
403
+ #: constants.py:162
404
+ msgid "Execute"
405
+ msgstr "Exécuter"
406
+
407
+ #: constants.py:163
408
+ msgid "Done"
409
+ msgstr "Terminé"
410
+
411
+ #: constants.py:164
412
+ msgid "Search VMs"
413
+ msgstr "Rechercher VMs"
414
+
415
+ #: constants.py:165
416
+ msgid "Select Matching"
417
+ msgstr "Sél. correspondances"
418
+
419
+ #: constants.py:166
420
+ msgid "Refresh"
421
+ msgstr "Actualiser"
422
+
423
+ #: constants.py:167
424
+ msgid "Clear All Caches"
425
+ msgstr "Vider tous les caches"
426
+
427
+ #: constants.py:168
428
+ msgid "Confirm"
429
+ msgstr "Confirmer"
430
+
431
+ #: constants.py:169
432
+ msgid "Check Compatibility"
433
+ msgstr "Vérifier la compatibilité"
434
+
435
+ #: constants.py:170
436
+ msgid "Start Migration"
437
+ msgstr "Démarrer la migration"
438
+
439
+ #: constants.py:171
440
+ msgid "New Overlay"
441
+ msgstr "Nouvel overlay"
442
+
443
+ #: constants.py:172
444
+ msgid "Commit Disk"
445
+ msgstr "Commit disque"
446
+
447
+ #: constants.py:173
448
+ msgid "Discard Overlay"
449
+ msgstr "Jeter l'overlay"
450
+
451
+ #: constants.py:175
452
+ msgid "Compact"
453
+ msgstr "Compact"
454
+
455
+ #: constants.py:176
456
+ msgid "Select"
457
+ msgstr "Séléctionner"
458
+
459
+ #: constants.py:177
460
+ msgid "OK"
461
+ msgstr "OK"
462
+
463
+ #: constants.py:183
464
+ msgid "Filter"
465
+ msgstr "Filtrer"
466
+
467
+ #: constants.py:184
468
+ msgid "CompactView"
469
+ msgstr "VueCompacte"
470
+
471
+ #: constants.py:185
472
+ msgid "ServerPrefs"
473
+ msgstr "Préf.Serveur"
474
+
475
+ #: constants.py:187
476
+ msgid "BulkCMD"
477
+ msgstr "CMD Masse"
478
+
479
+ #: constants.py:188
480
+ msgid "SelServers"
481
+ msgstr "Sél.Serveurs"
482
+
483
+ #: constants.py:189
484
+ msgid "ServList"
485
+ msgstr "ListeServeurs"
486
+
487
+ #: constants.py:190
488
+ msgid "PatternSel"
489
+ msgstr "SélMotif"
490
+
491
+ #: constants.py:191
492
+ msgid "Sel/Des All"
493
+ msgstr "Sél/Dés Tout"
494
+
495
+ #: constants.py:192
496
+ msgid "Unselect All"
497
+ msgstr "Désélectionner Tout"
498
+
499
+ #: constants.py:193
500
+ msgid "Previous Page"
501
+ msgstr "Page précédente"
502
+
503
+ #: constants.py:194
504
+ msgid "Next Page"
505
+ msgstr "Page suivante"
506
+
507
+ #: constants.py:195
508
+ msgid "Running VMs"
509
+ msgstr "VMs en cours"
510
+
511
+ #: constants.py:196
512
+ msgid "All VMs"
513
+ msgstr "Toutes les VMs"
514
+
515
+ #: constants.py:197
516
+ msgid "Virsh"
517
+ msgstr "Virsh"
518
+
519
+ #: constants.py:198
520
+ msgid "Host Caps"
521
+ msgstr "Caps Hôte"
522
+
523
+ #: constants.py:199
524
+ msgid "InstallVM"
525
+ msgstr "InstallVM"
526
+
527
+ #: constants.py:200
528
+ msgid "Log Stats"
529
+ msgstr "Journal Stats"
530
+
531
+ #: constants.py:201
532
+ msgid "Show cache Stats"
533
+ msgstr "Stats Cache"
534
+
535
+ #: constants.py:202
536
+ msgid "Quit"
537
+ msgstr "Quitter"
538
+
539
+ #: constants.py:203
540
+ msgid "Host Dashboard"
541
+ msgstr "Tableau de bord de l'hôte"
542
+
543
+ #: constants.py:208
544
+ msgid "Manage"
545
+ msgstr "Gérer"
546
+
547
+ #: constants.py:209
548
+ msgid "Other"
549
+ msgstr "Autre"
550
+
551
+ #: constants.py:210
552
+ #, fuzzy
553
+ msgid "State Management"
554
+ msgstr "Gestion de la liste des serveurs"
555
+
556
+ #: constants.py:211
557
+ msgid "Updating Data..."
558
+ msgstr "Mise à jour des données..."
559
+
560
+ #: constants.py:212 constants.py:403
561
+ msgid "Active Allocation"
562
+ msgstr "Allocation active"
563
+
564
+ #: constants.py:213 constants.py:404
565
+ msgid "Total Allocation"
566
+ msgstr "Allocation totale"
567
+
568
+ #: constants.py:217 constants.py:307
569
+ msgid "Stopped"
570
+ msgstr "Arrêté"
571
+
572
+ #: constants.py:218 constants.py:303
573
+ msgid "Running"
574
+ msgstr "Active"
575
+
576
+ #: constants.py:219 constants.py:304
577
+ msgid "Paused"
578
+ msgstr "En pause"
579
+
580
+ #: constants.py:220 constants.py:305
581
+ msgid "PMSuspended"
582
+ msgstr "PMSuspended"
583
+
584
+ #: constants.py:221 constants.py:306
585
+ msgid "Blocked"
586
+ msgstr "Bloqué"
587
+
588
+ #: constants.py:222
589
+ msgid "Loading"
590
+ msgstr "Chargement"
591
+
592
+ #: constants.py:223
593
+ msgid "Unknown"
594
+ msgstr "Inconnu"
595
+
596
+ #: constants.py:228
597
+ msgid "Cache Performance Statistics"
598
+ msgstr "Statistiques de performance du cache"
599
+
600
+ #: constants.py:229
601
+ #, python-brace-format
602
+ msgid "(Editing: {get_user_config_path})"
603
+ msgstr "(Édition : {get_user_config_path})"
604
+
605
+ #: constants.py:230
606
+ msgid "[bold]Custom Migration Plan[/bold]"
607
+ msgstr "[bold]Plan de migration personnalisé[/bold]"
608
+
609
+ #: constants.py:231
610
+ #, python-brace-format
611
+ msgid "Disk: [b]{volume_name}[/b]"
612
+ msgstr "Disque : [b]{volume_name}[/b]"
613
+
614
+ #: constants.py:232
615
+ #, python-brace-format
616
+ msgid " Source Pool: {source_pool}"
617
+ msgstr " Pool source : {source_pool}"
618
+
619
+ #: constants.py:233
620
+ msgid " No destination pools available."
621
+ msgstr " Aucun pool de destination disponible."
622
+
623
+ #: constants.py:234
624
+ #, python-brace-format
625
+ msgid "Disk: [b]{disk_path}[/b]"
626
+ msgstr "Disque : [b]{disk_path}[/b]"
627
+
628
+ #: constants.py:235
629
+ #, python-brace-format
630
+ msgid " Action: {message}"
631
+ msgstr " Action : {message}"
632
+
633
+ #: constants.py:236
634
+ #, python-brace-format
635
+ msgid "From Pool: {source_pool_name}"
636
+ msgstr "Depuis le pool : {source_pool_name}"
637
+
638
+ #: constants.py:237
639
+ msgid "Select destination server:"
640
+ msgstr "Sélectionner le serveur de destination :"
641
+
642
+ #: constants.py:238
643
+ msgid "Migration Options:"
644
+ msgstr "Options de migration :"
645
+
646
+ #: constants.py:239
647
+ msgid "Compatibility Check Results / Migration Log:"
648
+ msgstr "Résultats du test de compatibilité / Journal de migration :"
649
+
650
+ #: constants.py:240
651
+ msgid "[b]VMs [green]Ready[/] for Migration[/b]"
652
+ msgstr "[b]VMs [green]prêtes[/] pour la migration[/b]"
653
+
654
+ #: constants.py:241
655
+ msgid "[b]VMs [red]Not[/] Ready for Migration[/b]"
656
+ msgstr "[b]VMs [red]non prêtes[/] pour la migration[/b]"
657
+
658
+ #: constants.py:242
659
+ msgid "Delete associated storage"
660
+ msgstr "Supprimer le stockage associé"
661
+
662
+ #: constants.py:243
663
+ msgid "Create new disk image"
664
+ msgstr "Créer une nouvelle image disque"
665
+
666
+ #: constants.py:244
667
+ msgid "CD-ROM"
668
+ msgstr "CD-ROM"
669
+
670
+ #: constants.py:245
671
+ msgid "Copy storage all"
672
+ msgstr "Copier tout le stockage"
673
+
674
+ #: constants.py:246
675
+ msgid "Unsafe migration"
676
+ msgstr "Migration non sécurisée"
677
+
678
+ #: constants.py:247
679
+ msgid "Persistent migration"
680
+ msgstr "Migration persistante"
681
+
682
+ #: constants.py:248
683
+ msgid "Compress data"
684
+ msgstr "Compresser les données"
685
+
686
+ #: constants.py:249
687
+ msgid "Tunnelled migration"
688
+ msgstr "Migration tunnélisée"
689
+
690
+ #: constants.py:250
691
+ msgid "Custom migration"
692
+ msgstr "Migration personnalisée"
693
+
694
+ #: constants.py:251
695
+ msgid "Enable remote web console"
696
+ msgstr "Activer la console web distante"
697
+
698
+ #: constants.py:252
699
+ msgid "Enable DHCPv4"
700
+ msgstr "Activer DHCPv4"
701
+
702
+ #: constants.py:253
703
+ msgid "Validate Checksum"
704
+ msgstr "Valider la somme de contrôle"
705
+
706
+ #: constants.py:254
707
+ msgid "UEFI"
708
+ msgstr "UEFI"
709
+
710
+ #: constants.py:255
711
+ msgid "Configure before install"
712
+ msgstr "Configurer avant l'installation"
713
+
714
+ #: constants.py:256
715
+ #, python-brace-format
716
+ msgid "Install OpenSUSE VM on {uri}"
717
+ msgstr "Installer une VM OpenSUSE sur {uri}"
718
+
719
+ #: constants.py:257
720
+ msgid "VM Name:"
721
+ msgstr "Nom de la VM :"
722
+
723
+ #: constants.py:258
724
+ msgid "VM Type:"
725
+ msgstr "Type de VM :"
726
+
727
+ #: constants.py:259
728
+ msgid "Distribution:"
729
+ msgstr "Distribution :"
730
+
731
+ #: constants.py:260
732
+ msgid "ISO Image (Repo):"
733
+ msgstr "Image ISO (Dépôt) :"
734
+
735
+ #: constants.py:261
736
+ #, python-brace-format
737
+ msgid "ISOs will be downloaded to: {iso_path}"
738
+ msgstr "Les ISOs seront téléchargées vers : {iso_path}"
739
+
740
+ #: constants.py:262
741
+ msgid "Custom ISO (Local Path):"
742
+ msgstr "ISO personnalisée (Chemin local) :"
743
+
744
+ #: constants.py:263
745
+ msgid "Select Storage Pool:"
746
+ msgstr "Sélectionner le pool de stockage :"
747
+
748
+ #: constants.py:264
749
+ msgid "Select ISO Volume:"
750
+ msgstr "Sélectionner le volume ISO :"
751
+
752
+ #: constants.py:265
753
+ msgid "Storage Pool:"
754
+ msgstr "Pool de stockage :"
755
+
756
+ #: constants.py:266
757
+ msgid " Memory (GB)"
758
+ msgstr " Mémoire (Go)"
759
+
760
+ #: constants.py:267
761
+ msgid " CPUs"
762
+ msgstr " CPUs"
763
+
764
+ #: constants.py:268
765
+ msgid " Disk Size(GB)"
766
+ msgstr " Taille disque (Go)"
767
+
768
+ #: constants.py:269
769
+ msgid " Disk Format"
770
+ msgstr " Format disque"
771
+
772
+ #: constants.py:270
773
+ msgid " Firmware"
774
+ msgstr " Firmware"
775
+
776
+ #: constants.py:271
777
+ msgid "Delete storage volumes"
778
+ msgstr "Supprimer les volumes de stockage"
779
+
780
+ #: constants.py:272
781
+ msgid "Quiesce guest (requires agent)"
782
+ msgstr "Figer l'invité (requiert l'agent)"
783
+
784
+ #: constants.py:273
785
+ msgid "Select interface and new network"
786
+ msgstr "Sélectionner l'interface et le nouveau réseau"
787
+
788
+ #: constants.py:274
789
+ msgid "Enter base name for new VM(s)"
790
+ msgstr "Entrer le nom de base pour la/les nouvelle(s) VM(s)"
791
+
792
+ #: constants.py:275
793
+ msgid "Suffix for clone names (e.g., _C)"
794
+ msgstr "Suffixe pour les noms des clones (ex : _C)"
795
+
796
+ #: constants.py:276
797
+ msgid "Number of clones to create"
798
+ msgstr "Nombre de clones à créer"
799
+
800
+ #: constants.py:277
801
+ msgid "Do Not Clone storage"
802
+ msgstr "Ne pas cloner le stockage"
803
+
804
+ #: constants.py:278
805
+ #, python-brace-format
806
+ msgid "Current name: {current_name}"
807
+ msgstr "Nom actuel : {current_name}"
808
+
809
+ #: constants.py:279
810
+ msgid "Enter new VM name"
811
+ msgstr "Entrer le nouveau nom de la VM"
812
+
813
+ #: constants.py:280
814
+ #, python-brace-format
815
+ msgid "Current time: {now}"
816
+ msgstr "Heure actuelle : {now}"
817
+
818
+ #: constants.py:281
819
+ msgid "Enter snapshot name"
820
+ msgstr "Entrer le nom de l'instantané"
821
+
822
+ #: constants.py:282
823
+ msgid "Description (optional)"
824
+ msgstr "Description (facultatif)"
825
+
826
+ #: constants.py:283
827
+ msgid "Web Console Configuration"
828
+ msgstr "Configuration de la console web"
829
+
830
+ #: constants.py:284
831
+ msgid "Remote"
832
+ msgstr "Distant"
833
+
834
+ #: constants.py:285
835
+ msgid "Enter QEMU Connection URI:"
836
+ msgstr "Entrer l'URI de connexion QEMU :"
837
+
838
+ #: constants.py:286
839
+ msgid "Add New Server"
840
+ msgstr "Ajouter un nouveau serveur"
841
+
842
+ #: constants.py:287
843
+ msgid "Autoconnect at startup"
844
+ msgstr "Connexion auto au démarrage"
845
+
846
+ #: constants.py:288
847
+ msgid "Edit Server"
848
+ msgstr "Modifier le serveur"
849
+
850
+ #: constants.py:289
851
+ msgid "Server List Management"
852
+ msgstr "Gestion de la liste des serveurs"
853
+
854
+ #: constants.py:290
855
+ msgid "Select Servers to Display"
856
+ msgstr "Sélectionner les serveurs à afficher"
857
+
858
+ #: constants.py:291
859
+ msgid "Enter new VCPU count"
860
+ msgstr "Entrer le nouveau nombre de VCPU"
861
+
862
+ #: constants.py:292
863
+ msgid "Enter new memory size (MB)"
864
+ msgstr "Entrer la nouvelle taille mémoire (Mo)"
865
+
866
+ #: constants.py:293
867
+ msgid "Select Machine Type:"
868
+ msgstr "Sélectionner le type de machine :"
869
+
870
+ #: constants.py:294
871
+ msgid "Format: 0:0-3; 1:4-7"
872
+ msgstr "Format : 0:0-3; 1:4-7"
873
+
874
+ #: constants.py:295
875
+ msgid "NUMA Memory Mode"
876
+ msgstr "Mode mémoire NUMA"
877
+
878
+ #: constants.py:296
879
+ msgid "Nodeset"
880
+ msgstr "Nodeset"
881
+
882
+ #: constants.py:297
883
+ #, python-brace-format
884
+ msgid "Enter CPU Pinning (max vcpu: {max_vcpus})"
885
+ msgstr "Entrer le CPU Pinning (vcpu max : {max_vcpus})"
886
+
887
+ #: constants.py:298
888
+ msgid "Select VMs by Pattern (ctrl+u to unselect All VMS)"
889
+ msgstr "Sél. VMs par motif (ctrl+u pour tout désélectionner)"
890
+
891
+ #: constants.py:299
892
+ msgid "Regex"
893
+ msgstr "Regex"
894
+
895
+ #: constants.py:300
896
+ msgid "Matching VMs:"
897
+ msgstr "VMs correspondantes :"
898
+
899
+ #: constants.py:301
900
+ msgid "Filter by Name"
901
+ msgstr "Filtrer par nom"
902
+
903
+ #: constants.py:302
904
+ msgid "All"
905
+ msgstr "Tous"
906
+
907
+ #: constants.py:308
908
+ msgid "Manually Selected"
909
+ msgstr "Sélection manuelle"
910
+
911
+ #: constants.py:309
912
+ msgid "Create New VM"
913
+ msgstr "Créer une nouvelle VM"
914
+
915
+ #: constants.py:310
916
+ msgid "Start VMs"
917
+ msgstr "Démarrer les VMs"
918
+
919
+ #: constants.py:311
920
+ msgid "Stop VMs (Graceful Shutdown)"
921
+ msgstr "Arrêter les VMs (Arrêt propre)"
922
+
923
+ #: constants.py:312
924
+ msgid "Force Off VMs"
925
+ msgstr "Forcer l'arrêt des VMs"
926
+
927
+ #: constants.py:313
928
+ msgid "Pause VMs"
929
+ msgstr "Mettre les VMs en pause"
930
+
931
+ #: constants.py:314
932
+ msgid "Delete VMs"
933
+ msgstr "Supprimer les VMs"
934
+
935
+ #: constants.py:315
936
+ msgid "Edit Configuration"
937
+ msgstr "Modifier la configuration"
938
+
939
+ #: constants.py:316
940
+ msgid "Hypervisor default"
941
+ msgstr "Défaut hyperviseur"
942
+
943
+ #: constants.py:317
944
+ msgid "Localhost only"
945
+ msgstr "Localhost uniquement"
946
+
947
+ #: constants.py:318
948
+ msgid "All interfaces"
949
+ msgstr "Toutes les interfaces"
950
+
951
+ #: constants.py:319
952
+ msgid "NAT Network"
953
+ msgstr "Réseau NAT"
954
+
955
+ #: constants.py:320
956
+ msgid "Routed Network"
957
+ msgstr "Réseau routé"
958
+
959
+ #: constants.py:321
960
+ msgid "e.g., 192.168.1.0/24"
961
+ msgstr "ex : 192.168.1.0/24"
962
+
963
+ #: constants.py:322
964
+ msgid "e.g., 192.168.1.10"
965
+ msgstr "ex : 192.168.1.10"
966
+
967
+ #: constants.py:323
968
+ msgid "e.g., 192.168.1.200"
969
+ msgstr "ex : 192.168.1.200"
970
+
971
+ #: constants.py:324
972
+ msgid "Select Network and Model"
973
+ msgstr "Sélectionner le réseau et le modèle"
974
+
975
+ #: constants.py:325
976
+ msgid "Use Custom DNS Domain"
977
+ msgstr "Utiliser un domaine DNS personnalisé"
978
+
979
+ #: constants.py:326
980
+ msgid "Use Network Name for DNS"
981
+ msgstr "Utiliser le nom du réseau pour le DNS"
982
+
983
+ #: constants.py:327
984
+ msgid "Custom DNS Domain"
985
+ msgstr "Domaine DNS personnalisé"
986
+
987
+ #: constants.py:328
988
+ msgid "Network Details"
989
+ msgstr "Détails du réseau"
990
+
991
+ #: constants.py:329
992
+ msgid "Undefine source VM"
993
+ msgstr "Supprimer la définition de la VM source"
994
+
995
+ #: constants.py:330
996
+ #, python-brace-format
997
+ msgid "Edit Disk: {path}"
998
+ msgstr "Modifier le disque : {path}"
999
+
1000
+ #: constants.py:331
1001
+ #, python-brace-format
1002
+ msgid "Move Volume: {volume_name}"
1003
+ msgstr "Déplacer le volume : {volume_name}"
1004
+
1005
+ #: constants.py:332
1006
+ #, python-brace-format
1007
+ msgid "[{migration_type}] Migrate VMs: [b]{vm_names}[/b]"
1008
+ msgstr "[{migration_type}] Migrer les VMs : [b]{vm_names}[/b]"
1009
+
1010
+ #: constants.py:334
1011
+ msgid "Server Preferences"
1012
+ msgstr "Préférences du serveur"
1013
+
1014
+ #: constants.py:335 constants.py:390
1015
+ msgid "Select a Directory"
1016
+ msgstr "Sélectionner un répertoire"
1017
+
1018
+ #: constants.py:336 constants.py:391
1019
+ msgid "Select a File"
1020
+ msgstr "Sélectionner un fichier"
1021
+
1022
+ #: constants.py:337
1023
+ msgid "Select Disk to Remove"
1024
+ msgstr "Sélectionner le disque à supprimer"
1025
+
1026
+ #: constants.py:338
1027
+ msgid "Add New Disk"
1028
+ msgstr "Ajouter un nouveau disque"
1029
+
1030
+ #: constants.py:339
1031
+ msgid "Add New Storage Pool"
1032
+ msgstr "Ajouter un nouveau pool de stockage"
1033
+
1034
+ #: constants.py:340
1035
+ msgid "Target Path (for volumes)"
1036
+ msgstr "Chemin cible (pour les volumes)"
1037
+
1038
+ #: constants.py:341
1039
+ msgid "Target Path (on this host)"
1040
+ msgstr "Chemin cible (sur cet hôte)"
1041
+
1042
+ #: constants.py:342
1043
+ msgid "Source Hostname"
1044
+ msgstr "Nom d'hôte source"
1045
+
1046
+ #: constants.py:343
1047
+ msgid "Source Path (on remote host)"
1048
+ msgstr "Chemin source (sur l'hôte distant)"
1049
+
1050
+ #: constants.py:344
1051
+ msgid "Create New Storage Volume"
1052
+ msgstr "Créer un nouveau volume de stockage"
1053
+
1054
+ #: constants.py:345
1055
+ msgid "Device Type:"
1056
+ msgstr "Type de périphérique :"
1057
+
1058
+ #: constants.py:346
1059
+ msgid "Bus Type:"
1060
+ msgstr "Type de bus :"
1061
+
1062
+ #: constants.py:347
1063
+ msgid "Cache Mode:"
1064
+ msgstr "Mode cache :"
1065
+
1066
+ #: constants.py:348
1067
+ msgid "Discard Mode:"
1068
+ msgstr "Mode discard :"
1069
+
1070
+ #: constants.py:349 constants.py:623
1071
+ msgid "VM must be stopped to edit disk settings."
1072
+ msgstr "La VM doit être arrêtée pour modifier les paramètres du disque."
1073
+
1074
+ #: constants.py:350
1075
+ msgid "Destination Pool:"
1076
+ msgstr "Pool de destination :"
1077
+
1078
+ #: constants.py:351
1079
+ msgid "New Volume Name:"
1080
+ msgstr "Nom du nouveau volume :"
1081
+
1082
+ #: constants.py:352
1083
+ msgid "Attach Existing Disk as Volume"
1084
+ msgstr "Attacher un disque existant comme volume"
1085
+
1086
+ #: constants.py:353
1087
+ msgid "Boot Order"
1088
+ msgstr "Ordre de démarrage"
1089
+
1090
+ #: constants.py:354
1091
+ msgid "Available Devices"
1092
+ msgstr "Périphériques disponibles"
1093
+
1094
+ #: constants.py:355
1095
+ msgid "Type:"
1096
+ msgstr "Type :"
1097
+
1098
+ #: constants.py:356
1099
+ msgid "Listen Type:"
1100
+ msgstr "Type d'écoute :"
1101
+
1102
+ #: constants.py:357
1103
+ msgid "Address:"
1104
+ msgstr "Adresse :"
1105
+
1106
+ #: constants.py:358
1107
+ msgid "TPM Model:"
1108
+ msgstr "Modèle TPM :"
1109
+
1110
+ #: constants.py:359
1111
+ msgid "TPM Type:"
1112
+ msgstr "Type TPM :"
1113
+
1114
+ #: constants.py:360
1115
+ msgid "Device Path (for passthrough):"
1116
+ msgstr "Chemin du périphérique (pour passthrough) :"
1117
+
1118
+ #: constants.py:361
1119
+ msgid "Backend Type (for passthrough):"
1120
+ msgstr "Type de backend (pour passthrough) :"
1121
+
1122
+ #: constants.py:362
1123
+ msgid "Backend Path (for passthrough):"
1124
+ msgstr "Chemin du backend (pour passthrough) :"
1125
+
1126
+ #: constants.py:363
1127
+ msgid "Host device"
1128
+ msgstr "Périphérique hôte"
1129
+
1130
+ #: constants.py:364
1131
+ msgid "Watchdog Model:"
1132
+ msgstr "Modèle Watchdog :"
1133
+
1134
+ #: constants.py:365
1135
+ msgid "Action:"
1136
+ msgstr "Action :"
1137
+
1138
+ #: constants.py:366
1139
+ msgid "Available Host USB Devices"
1140
+ msgstr "Périphériques USB hôtes disponibles"
1141
+
1142
+ #: constants.py:367
1143
+ msgid "Attached to VM"
1144
+ msgstr "Attaché à la VM"
1145
+
1146
+ #: constants.py:368
1147
+ msgid "Available Host PCI Devices"
1148
+ msgstr "Périphériques PCI hôtes disponibles"
1149
+
1150
+ #: constants.py:369
1151
+ msgid "Virsh Interactive Shell (esc to quit)"
1152
+ msgstr "Shell interactif Virsh (esc pour quitter)"
1153
+
1154
+ #: constants.py:370
1155
+ msgid ""
1156
+ "Note: This shell starts a new `virsh` process, which may require re-"
1157
+ "authentication for remote connections. Using SSH keys is recommended."
1158
+ msgstr ""
1159
+ "Note : Ce shell démarre un nouveau processus `virsh`, ce qui peut nécessiter "
1160
+ "une ré-authentification pour les connexions distantes. L'utilisation de clés "
1161
+ "SSH est recommandée."
1162
+
1163
+ #: constants.py:371
1164
+ msgid "Input Device"
1165
+ msgstr "Périphérique d'entrée"
1166
+
1167
+ #: constants.py:372
1168
+ msgid "Add Channel Device"
1169
+ msgstr "Ajouter un périphérique canal"
1170
+
1171
+ #: constants.py:373
1172
+ msgid "Standard Target Names:"
1173
+ msgstr "Noms de cibles standards :"
1174
+
1175
+ #: constants.py:374
1176
+ msgid "Target Name:"
1177
+ msgstr "Nom de la cible :"
1178
+
1179
+ #: constants.py:375
1180
+ msgid "Selected VMs for Bulk Action"
1181
+ msgstr "VMs sélectionnées pour action en masse"
1182
+
1183
+ #: constants.py:376
1184
+ msgid "Choose Action:"
1185
+ msgstr "Choisir l'action :"
1186
+
1187
+ #: constants.py:377
1188
+ msgid "Performance"
1189
+ msgstr "Performance"
1190
+
1191
+ #: constants.py:378
1192
+ msgid "Stats Interval (seconds):"
1193
+ msgstr "Intervalle stats (secondes) :"
1194
+
1195
+ #: constants.py:379
1196
+ msgid "Log File Path:"
1197
+ msgstr "Chemin fichier journal :"
1198
+
1199
+ #: constants.py:380
1200
+ msgid "Logging Level:"
1201
+ msgstr "Niveau journalisation :"
1202
+
1203
+ #: constants.py:381
1204
+ msgid "Remote Viewer"
1205
+ msgstr "Remote Viewer"
1206
+
1207
+ #: constants.py:382
1208
+ msgid "No remote viewers found (virt-viewer or virtui-remote-viewer)"
1209
+ msgstr "Aucun visualiseur distant trouvé (virt-viewer ou virtui-remote-viewer)"
1210
+
1211
+ #: constants.py:383
1212
+ msgid "Websockify Path:"
1213
+ msgstr "Chemin Websockify :"
1214
+
1215
+ #: constants.py:384
1216
+ msgid "noVNC Path:"
1217
+ msgstr "Chemin noVNC :"
1218
+
1219
+ #: constants.py:385
1220
+ msgid "Websockify Port Range:"
1221
+ msgstr "Plage de ports Websockify :"
1222
+
1223
+ #: constants.py:386
1224
+ msgid "VNC Quality (0-9):"
1225
+ msgstr "Qualité VNC (0-9) :"
1226
+
1227
+ #: constants.py:387
1228
+ msgid "VNC Compression (0-9):"
1229
+ msgstr "Compression VNC (0-9) :"
1230
+
1231
+ #: constants.py:388
1232
+ msgid "Host Capabilities"
1233
+ msgstr "Capacités de l'hôte"
1234
+
1235
+ #: constants.py:389
1236
+ msgid "Capabilities"
1237
+ msgstr "Capacités"
1238
+
1239
+ #: constants.py:392
1240
+ msgid "Export filesystem as readonly mount"
1241
+ msgstr "Exporter le système de fichiers en montage lecture seule"
1242
+
1243
+ #: constants.py:393
1244
+ msgid "Web console will run locally."
1245
+ msgstr "La console web s'exécutera localement."
1246
+
1247
+ #: constants.py:394
1248
+ msgid "Enable boot menu"
1249
+ msgstr "Activer le menu de démarrage"
1250
+
1251
+ #: constants.py:395
1252
+ msgid "Web Console (novnc)"
1253
+ msgstr "Console Web (novnc)"
1254
+
1255
+ #: constants.py:396
1256
+ msgid "Host Resource Dashboard"
1257
+ msgstr "Tableau de bord des ressources de l'hôte"
1258
+
1259
+ #: constants.py:397
1260
+ msgid "Host Details"
1261
+ msgstr "Détails de l'hôte"
1262
+
1263
+ #: constants.py:398
1264
+ msgid "VM Allocation"
1265
+ msgstr "Allocation VM"
1266
+
1267
+ #: constants.py:399
1268
+ msgid "CPU Usage"
1269
+ msgstr "Utilisation CPU"
1270
+
1271
+ #: constants.py:400
1272
+ msgid "Memory Usage"
1273
+ msgstr "Utilisation Mémoire"
1274
+
1275
+ #: constants.py:401
1276
+ msgid "Allocated VCPUs"
1277
+ msgstr "VCPUs alloués"
1278
+
1279
+ #: constants.py:402
1280
+ msgid "Allocated Memory"
1281
+ msgstr "Mémoire allouée"
1282
+
1283
+ #: constants.py:405
1284
+ msgid "Model:"
1285
+ msgstr "Modèle :"
1286
+
1287
+ #: constants.py:406
1288
+ msgid "Topology:"
1289
+ msgstr "Topologie :"
1290
+
1291
+ #: constants.py:407
1292
+ msgid "Waiting to start collection..."
1293
+ msgstr "En attente du démarrage de la collecte..."
1294
+
1295
+ #: constants.py:408
1296
+ #, python-brace-format
1297
+ msgid "Collecting VM info: {current}/{total}"
1298
+ msgstr "Collecte des infos VM : {current}/{total}"
1299
+
1300
+ #: constants.py:409
1301
+ msgid "Edit VirtIO-FS"
1302
+ msgstr ""
1303
+
1304
+ #: constants.py:413
1305
+ #, python-brace-format
1306
+ msgid "Disk R/W {read:.2f}/{write:.2f} MB/s"
1307
+ msgstr "Disque L/É {read:.2f}/{write:.2f} Mo/s"
1308
+
1309
+ #: constants.py:414
1310
+ #, python-brace-format
1311
+ msgid "Net Rx/Tx {rx:.2f}/{tx:.2f} MB/s"
1312
+ msgstr "Net Rx/Tx {rx:.2f}/{tx:.2f} Mo/s"
1313
+
1314
+ #: constants.py:415
1315
+ #, python-brace-format
1316
+ msgid "{cpu} VCPU"
1317
+ msgstr "{cpu} VCPU"
1318
+
1319
+ #: constants.py:416
1320
+ #, python-brace-format
1321
+ msgid "{mem} Gb"
1322
+ msgstr "{mem} Go"
1323
+
1324
+ #: constants.py:420
1325
+ msgid "Remote viewer command not found. Please ensure it is installed."
1326
+ msgstr ""
1327
+ "Commande remote viewer non trouvée. Veuillez vérifier son installation."
1328
+
1329
+ #: constants.py:421
1330
+ msgid "Could not open display. Ensure you are in a graphical session."
1331
+ msgstr ""
1332
+ "Impossible d'ouvrir l'affichage. Vérifiez que vous êtes dans une session "
1333
+ "graphique."
1334
+
1335
+ #: constants.py:422
1336
+ msgid "This is a hard stop, like unplugging the power cord."
1337
+ msgstr "C'est un arrêt brutal, comme débrancher le cordon d'alimentation."
1338
+
1339
+ #: constants.py:423
1340
+ msgid ""
1341
+ "Migration from localhost (qemu:///system) is not supported.\n"
1342
+ "A full remote URI (e.g., qemu+ssh://user@host/system) is required."
1343
+ msgstr ""
1344
+ "La migration depuis localhost (qemu:///system) n'est pas supportée.\n"
1345
+ "Une URI distante complète (ex: qemu+ssh://user@host/system) est requise."
1346
+
1347
+ #: constants.py:424
1348
+ msgid "No destination servers available."
1349
+ msgstr "Aucun serveur de destination disponible."
1350
+
1351
+ #: constants.py:425
1352
+ msgid "Cannot migrate VMs from different source hosts at the same time."
1353
+ msgstr ""
1354
+ "Impossible de migrer des VMs depuis des hôtes sources différents "
1355
+ "simultanément."
1356
+
1357
+ #: constants.py:426
1358
+ msgid "Cannot migrate running/paused and stopped VMs at the same time."
1359
+ msgstr "Impossible de migrer des VMs en cours/pause et arrêtées simultanément."
1360
+
1361
+ #: constants.py:427
1362
+ msgid "websockify is not installed. 'Web Console' button will be disabled."
1363
+ msgstr "websockify n'est pas installé. Le bouton 'Console Web' sera désactivé."
1364
+
1365
+ #: constants.py:428
1366
+ msgid "novnc is not installed. 'Web Console' button will be disabled."
1367
+ msgstr "novnc n'est pas installé. Le bouton 'Console Web' sera désactivé."
1368
+
1369
+ #: constants.py:429
1370
+ #, python-brace-format
1371
+ msgid "Failed to open connection to [b]{uri}[/b]"
1372
+ msgstr "Échec de l'ouverture de la connexion à [b]{uri}[/b]"
1373
+
1374
+ #: constants.py:430 constants.py:553
1375
+ msgid "Not connected to any server."
1376
+ msgstr "Connecté à aucun serveur."
1377
+
1378
+ #: constants.py:431
1379
+ #, python-brace-format
1380
+ msgid "Could not connect to {uri}"
1381
+ msgstr "Impossible de se connecter à {uri}"
1382
+
1383
+ #: constants.py:432
1384
+ msgid "No action type received from bulk action modal."
1385
+ msgstr "Aucun type d'action reçu du modal d'action en masse."
1386
+
1387
+ #: constants.py:433
1388
+ msgid "Could not find any of the selected VMs for editing."
1389
+ msgstr "Impossible de trouver les VMs sélectionnées pour modification."
1390
+
1391
+ #: constants.py:434
1392
+ #, python-brace-format
1393
+ msgid "All VMs must be stopped for bulk editing. Running VMs: {running_vms}"
1394
+ msgstr ""
1395
+ "Toutes les VMs doivent être arrêtées pour modification en masse. VMs en "
1396
+ "cours : {running_vms}"
1397
+
1398
+ #: constants.py:435
1399
+ msgid "Could not load details for reference VM."
1400
+ msgstr "Impossible de charger les détails de la VM de référence."
1401
+
1402
+ #: constants.py:436
1403
+ #, python-brace-format
1404
+ msgid ""
1405
+ "Server(s) {names} disconnected and autoconnect disabled due to connection "
1406
+ "failures."
1407
+ msgstr ""
1408
+ "Le(s) serveur(s) {names} déconnecté(s) et connexion auto désactivée suite à "
1409
+ "des échecs de connexion."
1410
+
1411
+ #: constants.py:437
1412
+ msgid "No active servers."
1413
+ msgstr "Aucun serveur actif."
1414
+
1415
+ #: constants.py:438
1416
+ msgid "No VMs found in cache. Try refreshing first."
1417
+ msgstr "Aucune VM trouvée dans le cache. Essayez d'actualiser d'abord."
1418
+
1419
+ #: constants.py:439
1420
+ msgid "No VMs selected."
1421
+ msgstr "Aucune VM sélectionnée."
1422
+
1423
+ #: constants.py:440
1424
+ #, python-brace-format
1425
+ msgid "Error fetching VM data: {error}"
1426
+ msgstr "Erreur lors de la récupération des données VM : {error}"
1427
+
1428
+ #: constants.py:441
1429
+ #, python-brace-format
1430
+ msgid "Error during initial cache loading: {error}"
1431
+ msgstr "Erreur lors du chargement initial du cache : {error}"
1432
+
1433
+ #: constants.py:442
1434
+ #, python-brace-format
1435
+ msgid "Error on VM [b]{vm_name}[/b] during '{action}': {error}"
1436
+ msgstr "Erreur sur la VM [b]{vm_name}[/b] pendant '{action}' : {error}"
1437
+
1438
+ #: constants.py:443
1439
+ #, python-brace-format
1440
+ msgid "A fatal error occurred during bulk action: {error}"
1441
+ msgstr "Une erreur fatale est survenue pendant l'action en masse : {error}"
1442
+
1443
+ #: constants.py:444
1444
+ #, python-brace-format
1445
+ msgid "Error getting info for VM '{vm_name}': {error}"
1446
+ msgstr ""
1447
+ "Erreur lors de la récupération des infos de la VM '{vm_name}' : {error}"
1448
+
1449
+ #: constants.py:445
1450
+ #, python-brace-format
1451
+ msgid "Could not find VM with ID [b]{vm_id}[/b]"
1452
+ msgstr "Impossible de trouver la VM avec l'ID [b]{vm_id}[/b]"
1453
+
1454
+ #: constants.py:446
1455
+ #, python-brace-format
1456
+ msgid "Error preparing bulk edit: {error}"
1457
+ msgstr "Erreur lors de la préparation de la modification en masse : {error}"
1458
+
1459
+ #: constants.py:447
1460
+ #, python-brace-format
1461
+ msgid "Server [b]{server_name}[/b]: {error_msg}"
1462
+ msgstr "Serveur [b]{server_name}[/b] : {error_msg}"
1463
+
1464
+ #: constants.py:448
1465
+ #, python-brace-format
1466
+ msgid "Failed to connect to [b]{server_name}[/b]: {error_msg}"
1467
+ msgstr "Échec de connexion au serveur [b]{server_name}[/b] : {error_msg}"
1468
+
1469
+ #: constants.py:449
1470
+ #, python-brace-format
1471
+ msgid "Bulk action [b]{action_type}[/b] failed for {count} VMs."
1472
+ msgstr "L'action en masse [b]{action_type}[/b] a échoué pour {count} VMs."
1473
+
1474
+ #: constants.py:450
1475
+ #, python-brace-format
1476
+ msgid "Error launching preferences: {error}"
1477
+ msgstr "Erreur lors du lancement des préférences : {error}"
1478
+
1479
+ #: constants.py:451
1480
+ msgid "Could not retrieve names for selected VMs."
1481
+ msgstr "Impossible de récupérer les noms des VMs sélectionnées."
1482
+
1483
+ #: constants.py:452
1484
+ #, python-brace-format
1485
+ msgid "Failed to clone to: {vm_names}"
1486
+ msgstr "Échec du clonage vers : {vm_names}"
1487
+
1488
+ #: constants.py:453
1489
+ #, fuzzy
1490
+ msgid "No suitable disks found for overlay."
1491
+ msgstr "Aucun disque approprié pour l'overlay."
1492
+
1493
+ #: constants.py:454
1494
+ msgid "Overlay volume name cannot be empty after sanitization."
1495
+ msgstr "Le nom du volume overlay ne peut pas être vide après nettoyage."
1496
+
1497
+ #: constants.py:455
1498
+ #, python-brace-format
1499
+ msgid "Error creating overlay: {error}"
1500
+ msgstr "Erreur lors de la création de l'overlay : {error}"
1501
+
1502
+ #: constants.py:456
1503
+ #, python-brace-format
1504
+ msgid "Error preparing overlay creation: {error}"
1505
+ msgstr "Erreur lors de la préparation de la création de l'overlay : {error}"
1506
+
1507
+ #: constants.py:457
1508
+ msgid "No overlay disks found."
1509
+ msgstr "Aucun disque overlay trouvé."
1510
+
1511
+ #: constants.py:458
1512
+ #, python-brace-format
1513
+ msgid "Error discarding overlay: {error}"
1514
+ msgstr "Erreur lors du rejet de l'overlay : {error}"
1515
+
1516
+ #: constants.py:459
1517
+ #, python-brace-format
1518
+ msgid "Error preparing discard overlay: {error}"
1519
+ msgstr "Erreur lors de la préparation du rejet de l'overlay : {error}"
1520
+
1521
+ #: constants.py:460
1522
+ msgid "No disks found to commit."
1523
+ msgstr "Aucun disque trouvé à commiter."
1524
+
1525
+ #: constants.py:461
1526
+ #, python-brace-format
1527
+ msgid "Error committing disk: {error}"
1528
+ msgstr "Erreur lors du commit disque : {error}"
1529
+
1530
+ #: constants.py:462
1531
+ #, python-brace-format
1532
+ msgid "Error preparing commit: {error}"
1533
+ msgstr "Erreur lors de la préparation du commit : {error}"
1534
+
1535
+ #: constants.py:463
1536
+ #, python-brace-format
1537
+ msgid ""
1538
+ "Invalid XML for '[b]{vm_name}[/b]': {error}. Your changes have been "
1539
+ "discarded."
1540
+ msgstr ""
1541
+ "XML invalide pour '[b]{vm_name}[/b]' : {error}. Vos modifications ont été "
1542
+ "rejetées."
1543
+
1544
+ #: constants.py:464
1545
+ #, python-brace-format
1546
+ msgid "Error getting XML for VM [b]{vm_name}[/b]: {error}"
1547
+ msgstr ""
1548
+ "Erreur lors de la récupération de l'XML pour la VM [b]{vm_name}[/b] : {error}"
1549
+
1550
+ #: constants.py:465 constants.py:563
1551
+ #, python-brace-format
1552
+ msgid "An unexpected error occurred: {error}"
1553
+ msgstr "Une erreur inattendue est survenue : {error}"
1554
+
1555
+ #: constants.py:466
1556
+ msgid "Connection info not available for this VM."
1557
+ msgstr "Infos de connexion non disponibles pour cette VM."
1558
+
1559
+ #: constants.py:467
1560
+ #, python-brace-format
1561
+ msgid "{viewer} failed to start for {domain_name}: {error}"
1562
+ msgstr "{viewer} n'a pas pu démarrer pour {domain_name} : {error}"
1563
+
1564
+ #: constants.py:468
1565
+ #, python-brace-format
1566
+ msgid "Error getting VM details for [b]{vm_name}[/b]: {error}"
1567
+ msgstr ""
1568
+ "Erreur lors de la récupération des détails VM pour [b]{vm_name}[/b] : {error}"
1569
+
1570
+ #: constants.py:469
1571
+ msgid "An unexpected error occurred while trying to connect."
1572
+ msgstr "Une erreur inattendue est survenue lors de la tentative de connexion."
1573
+
1574
+ #: constants.py:470
1575
+ #, python-brace-format
1576
+ msgid "Error checking web console status for [b]{vm_name}[/b]: {error}"
1577
+ msgstr ""
1578
+ "Erreur lors de la vérification du statut de la console web pour [b]{vm_name}"
1579
+ "[/b] : {error}"
1580
+
1581
+ #: constants.py:471
1582
+ #, python-brace-format
1583
+ msgid "Snapshot error for [b]{vm_name}[/b]: {error}"
1584
+ msgstr "Erreur d'instantané pour [b]{vm_name}[/b] : {error}"
1585
+
1586
+ #: constants.py:472
1587
+ msgid "No snapshots to restore."
1588
+ msgstr "Aucun instantané à restaurer."
1589
+
1590
+ #: constants.py:473
1591
+ #, python-brace-format
1592
+ msgid "Error fetching snapshots: {error}"
1593
+ msgstr "Erreur lors de la récupération des instantanés : {error}"
1594
+
1595
+ #: constants.py:474
1596
+ msgid "No snapshots to delete."
1597
+ msgstr "Aucun instantané à supprimer."
1598
+
1599
+ #: constants.py:475
1600
+ #, python-brace-format
1601
+ msgid "Error deleting VM '{vm_name}': {error}"
1602
+ msgstr "Erreur lors de la suppression de la VM '{vm_name}' : {error}"
1603
+
1604
+ #: constants.py:476
1605
+ msgid "VM name cannot be empty after sanitization."
1606
+ msgstr "Le nom de la VM ne peut pas être vide après nettoyage."
1607
+
1608
+ #: constants.py:477
1609
+ #, python-brace-format
1610
+ msgid "Error renaming VM [b]{vm_name}[/b]: {error}"
1611
+ msgstr "Erreur lors du renommage de la VM [b]{vm_name}[/b] : {error}"
1612
+
1613
+ #: constants.py:478
1614
+ #, python-brace-format
1615
+ msgid ""
1616
+ "VM [b]{vm_name}[/b] with internal ID [b]{uuid}[/b] not found on any active "
1617
+ "server."
1618
+ msgstr ""
1619
+ "La VM [b]{vm_name}[/b] avec l'ID interne [b]{uuid}[/b] n'a été trouvée sur "
1620
+ "aucun serveur actif."
1621
+
1622
+ #: constants.py:479
1623
+ #, python-brace-format
1624
+ msgid "Error getting ID for [b]{vm_name}[/b]: {error}"
1625
+ msgstr "Erreur lors de la récupération de l'ID pour [b]{vm_name}[/b] : {error}"
1626
+
1627
+ #: constants.py:480
1628
+ msgid ""
1629
+ "Please select at least two servers in 'Select Servers' to enable migration."
1630
+ msgstr ""
1631
+ "Veuillez sélectionner au moins deux serveurs dans 'Sélectionner les "
1632
+ "serveurs' pour activer la migration."
1633
+
1634
+ #: constants.py:481
1635
+ #, python-brace-format
1636
+ msgid "Selected VM with ID [b]{uuid}[/b] not found on any active server."
1637
+ msgstr ""
1638
+ "La VM sélectionnée avec l'ID [b]{uuid}[/b] n'a été trouvée sur aucun serveur "
1639
+ "actif."
1640
+
1641
+ #: constants.py:482
1642
+ #, python-brace-format
1643
+ msgid "Error getting existing VM names: {error}"
1644
+ msgstr "Erreur lors de la récupération des noms de VMs existantes : {error}"
1645
+
1646
+ #: constants.py:483
1647
+ msgid "Web console only supports VNC graphics."
1648
+ msgstr "La console web ne supporte que les graphismes VNC."
1649
+
1650
+ #: constants.py:484
1651
+ msgid "Could not determine VNC port for the VM."
1652
+ msgstr "Impossible de déterminer le port VNC pour la VM."
1653
+
1654
+ #: constants.py:485
1655
+ #, python-brace-format
1656
+ msgid "Failed to start web console: {error}"
1657
+ msgstr "Échec du démarrage de la console web : {error}"
1658
+
1659
+ #: constants.py:486
1660
+ msgid ""
1661
+ "Could not find a free port for the web console (all ports in range used by "
1662
+ "other sessions)."
1663
+ msgstr ""
1664
+ "Impossible de trouver un port libre pour la console web (tous les ports de "
1665
+ "la plage sont utilisés)."
1666
+
1667
+ #: constants.py:487
1668
+ msgid "Remote key generation failed. Falling back to insecure ws connection."
1669
+ msgstr ""
1670
+ "Échec de génération de la clé distante. Rabattement sur une connexion ws non "
1671
+ "sécurisée."
1672
+
1673
+ #: constants.py:488
1674
+ #, python-brace-format
1675
+ msgid "Failed to start remote websockify for [b]{vm_name}[/b]. Check logs."
1676
+ msgstr ""
1677
+ "Échec du démarrage de websockify distant pour [b]{vm_name}[/b]. Vérifiez les "
1678
+ "journaux."
1679
+
1680
+ #: constants.py:489
1681
+ #, python-brace-format
1682
+ msgid ""
1683
+ "Remote web console process for [b]{vm_name}[/b] failed to start or crashed. "
1684
+ "Check remote logs."
1685
+ msgstr ""
1686
+ "Le processus de console web distante pour [b]{vm_name}[/b] n'a pas pu "
1687
+ "démarrer ou a planté. Vérifiez les journaux distants."
1688
+
1689
+ #: constants.py:490
1690
+ msgid "Could not find a free local port for SSH tunnel."
1691
+ msgstr "Impossible de trouver un port local libre pour le tunnel SSH."
1692
+
1693
+ #: constants.py:491
1694
+ #, python-brace-format
1695
+ msgid "Failed to create SSH tunnel: {error}"
1696
+ msgstr "Échec de la création du tunnel SSH : {error}"
1697
+
1698
+ #: constants.py:492
1699
+ msgid "SSH command not found. Cannot create tunnel."
1700
+ msgstr "Commande SSH non trouvée. Impossible de créer le tunnel."
1701
+
1702
+ #: constants.py:493
1703
+ msgid "Failed to create SSH tunnel..."
1704
+ msgstr "Échec de la création du tunnel SSH..."
1705
+
1706
+ #: constants.py:494
1707
+ msgid "Please select an action."
1708
+ msgstr "Veuillez sélectionner une action."
1709
+
1710
+ #: constants.py:495
1711
+ #, python-brace-format
1712
+ msgid "Error saving configuration: {e}"
1713
+ msgstr "Erreur lors de l'enregistrement de la configuration : {e}"
1714
+
1715
+ #: constants.py:496
1716
+ #, python-brace-format
1717
+ msgid "Validation error: {error}"
1718
+ msgstr "Erreur de validation : {error}"
1719
+
1720
+ #: constants.py:497
1721
+ #, python-brace-format
1722
+ msgid "Invalid format: {error}"
1723
+ msgstr "Format invalide : {error}"
1724
+
1725
+ #: constants.py:498
1726
+ #, python-brace-format
1727
+ msgid "Invalid nodeset syntax: {nodeset}"
1728
+ msgstr "Syntaxe nodeset invalide : {nodeset}"
1729
+
1730
+ #: constants.py:499
1731
+ msgid "Pool, Volume Name, and Size are required to create a new disk."
1732
+ msgstr ""
1733
+ "Le pool, le nom du volume et la taille sont requis pour créer un nouveau "
1734
+ "disque."
1735
+
1736
+ #: constants.py:500
1737
+ msgid "Path to disk image is required."
1738
+ msgstr "Le chemin vers l'image disque est requis."
1739
+
1740
+ #: constants.py:501
1741
+ msgid "Pool name is required."
1742
+ msgstr "Le nom du pool est requis."
1743
+
1744
+ #: constants.py:502
1745
+ msgid "Target Path is required for `dir` type."
1746
+ msgstr "Le chemin cible est requis pour le type `dir`."
1747
+
1748
+ #: constants.py:503
1749
+ msgid "For `netfs`, all fields are required."
1750
+ msgstr "Pour `netfs`, tous les champs sont requis."
1751
+
1752
+ #: constants.py:504
1753
+ msgid "Name and size are required."
1754
+ msgstr "Le nom et la taille sont requis."
1755
+
1756
+ #: constants.py:505
1757
+ msgid "Size must be an integer."
1758
+ msgstr "La taille doit être un entier."
1759
+
1760
+ #: constants.py:506
1761
+ msgid "Destination pool and new name are required."
1762
+ msgstr "Le pool de destination et le nouveau nom sont requis."
1763
+
1764
+ #: constants.py:507
1765
+ msgid "Name, path, and format are required. Ensure a file is selected."
1766
+ msgstr ""
1767
+ "Le nom, le chemin et le format sont requis. Vérifiez qu'un fichier est "
1768
+ "sélectionné."
1769
+
1770
+ #: constants.py:508 constants.py:576
1771
+ #, python-brace-format
1772
+ msgid "Error creating storage pool: {error}"
1773
+ msgstr "Erreur lors de la création du pool de stockage : {error}"
1774
+
1775
+ #: constants.py:509
1776
+ msgid "Please select a destination server."
1777
+ msgstr "Veuillez sélectionner un serveur de destination."
1778
+
1779
+ #: constants.py:510
1780
+ msgid "Please run compatibility check first."
1781
+ msgstr "Veuillez d'abord exécuter le test de compatibilité."
1782
+
1783
+ #: constants.py:511
1784
+ msgid "Cannot start migration due to compatibility errors."
1785
+ msgstr ""
1786
+ "Impossible de démarrer la migration suite à des erreurs de compatibilité."
1787
+
1788
+ #: constants.py:512 constants.py:526
1789
+ #, python-brace-format
1790
+ msgid "Network '{network}' not found. Please select an available network."
1791
+ msgstr ""
1792
+ "Réseau '{network}' non trouvé. Veuillez sélectionner un réseau disponible."
1793
+
1794
+ #: constants.py:513
1795
+ msgid "Please select a network."
1796
+ msgstr "Veuillez sélectionner un réseau."
1797
+
1798
+ #: constants.py:514
1799
+ #, python-brace-format
1800
+ msgid "Forward device '{device}' not found on host."
1801
+ msgstr "Périphérique de transfert '{device}' non trouvé sur l'hôte."
1802
+
1803
+ #: constants.py:515
1804
+ #, python-brace-format
1805
+ msgid "Error getting host interfaces: {error}"
1806
+ msgstr "Erreur lors de la récupération des interfaces hôtes : {error}"
1807
+
1808
+ #: constants.py:516
1809
+ #, python-brace-format
1810
+ msgid "Invalid Network Name: {error}"
1811
+ msgstr "Nom de réseau invalide : {error}"
1812
+
1813
+ #: constants.py:517
1814
+ #, python-brace-format
1815
+ msgid "Invalid Custom DNS Domain: {error}"
1816
+ msgstr "Domaine DNS personnalisé invalide : {error}"
1817
+
1818
+ #: constants.py:518
1819
+ msgid "Network Name cannot be empty."
1820
+ msgstr "Le nom du réseau ne peut pas être vide."
1821
+
1822
+ #: constants.py:519
1823
+ #, python-brace-format
1824
+ msgid "DHCP IPs are not in the network {network}"
1825
+ msgstr "Les IPs DHCP ne sont pas dans le réseau {network}"
1826
+
1827
+ #: constants.py:520
1828
+ msgid "DHCP start IP must be before the end IP."
1829
+ msgstr "L'IP de début DHCP doit être avant l'IP de fin."
1830
+
1831
+ #: constants.py:521
1832
+ #, python-brace-format
1833
+ msgid "Invalid IP address or network: {error}"
1834
+ msgstr "Adresse IP ou réseau invalide : {error}"
1835
+
1836
+ #: constants.py:522
1837
+ msgid "DHCP cannot be enabled without an IP network."
1838
+ msgstr "Le DHCP ne peut pas être activé sans réseau IP."
1839
+
1840
+ #: constants.py:523
1841
+ #, python-brace-format
1842
+ msgid "Subnet {subnet} overlaps with an existing network."
1843
+ msgstr "Le sous-réseau {subnet} chevauche un réseau existant."
1844
+
1845
+ #: constants.py:524
1846
+ #, python-brace-format
1847
+ msgid "Error creating network: {error}"
1848
+ msgstr "Erreur lors de la création du réseau : {error}"
1849
+
1850
+ #: constants.py:525 constants.py:605
1851
+ #, python-brace-format
1852
+ msgid "Error updating network: {error}"
1853
+ msgstr "Erreur lors de la mise à jour du réseau : {error}"
1854
+
1855
+ #: constants.py:527
1856
+ #, python-brace-format
1857
+ msgid ""
1858
+ "A VM with the name '{vm_name}' already exists. Please choose a different "
1859
+ "name."
1860
+ msgstr "Une VM nommée '{vm_name}' existe déjà. Veuillez choisir un autre nom."
1861
+
1862
+ #: constants.py:528
1863
+ #, python-brace-format
1864
+ msgid "Error checking VM name: {error}"
1865
+ msgstr "Erreur lors de la vérification du nom de la VM : {error}"
1866
+
1867
+ #: constants.py:529
1868
+ msgid "Please select a valid storage pool."
1869
+ msgstr "Veuillez sélectionner un pool de stockage valide."
1870
+
1871
+ #: constants.py:530
1872
+ #, python-brace-format
1873
+ msgid "Selected ISO volume does not exist: {iso_url}"
1874
+ msgstr "Le volume ISO sélectionné n'existe pas : {iso_url}"
1875
+
1876
+ #: constants.py:531
1877
+ msgid "Please select a valid ISO volume from the storage pool."
1878
+ msgstr "Veuillez sélectionner un volume ISO valide depuis le pool de stockage."
1879
+
1880
+ #: constants.py:532
1881
+ msgid "Invalid input for expert settings. Using defaults."
1882
+ msgstr ""
1883
+ "Saisie invalide pour les paramètres experts. Utilisation des valeurs par "
1884
+ "défaut."
1885
+
1886
+ #: constants.py:533
1887
+ msgid "Memory must be between 1 and 8192 GB."
1888
+ msgstr "La mémoire doit être entre 1 et 8192 Go."
1889
+
1890
+ #: constants.py:534
1891
+ msgid "CPU count must be between 1 and 768."
1892
+ msgstr "Le nombre de CPU doit être entre 1 et 768."
1893
+
1894
+ #: constants.py:535
1895
+ msgid "Disk size must be between 1 and 10000 GB."
1896
+ msgstr "La taille du disque doit être entre 1 et 10000 Go."
1897
+
1898
+ #: constants.py:536
1899
+ #, python-brace-format
1900
+ msgid "Storage pool '{pool_name}' is not active. Please activate it first."
1901
+ msgstr ""
1902
+ "Le pool de stockage '{pool_name}' n'est pas actif. Veuillez l'activer "
1903
+ "d'abord."
1904
+
1905
+ #: constants.py:537
1906
+ #, python-brace-format
1907
+ msgid "Error accessing storage pool '{pool_name}': {error}"
1908
+ msgstr "Erreur lors de l'accès au pool de stockage '{pool_name}' : {error}"
1909
+
1910
+ #: constants.py:538
1911
+ #, python-brace-format
1912
+ msgid "Custom ISO path does not exist: {path}"
1913
+ msgstr "Le chemin de l'ISO personnalisée n'existe pas : {path}"
1914
+
1915
+ #: constants.py:539
1916
+ #, python-brace-format
1917
+ msgid "Custom ISO path is not a file: {path}"
1918
+ msgstr "Le chemin de l'ISO personnalisée n'est pas un fichier : {path}"
1919
+
1920
+ #: constants.py:540
1921
+ msgid "Checksum validation enabled but no checksum provided"
1922
+ msgstr "Validation de somme de contrôle activée mais aucune somme fournie"
1923
+
1924
+ #: constants.py:541
1925
+ msgid "Checksum validation failed!"
1926
+ msgstr "Échec de la validation de la somme de contrôle !"
1927
+
1928
+ #: constants.py:542
1929
+ msgid "No ISO URL specified for provisioning"
1930
+ msgstr "Aucune URL ISO spécifiée pour le provisionnement"
1931
+
1932
+ #: constants.py:543
1933
+ #, python-brace-format
1934
+ msgid "Could not get details for {vm_name}"
1935
+ msgstr "Impossible d'obtenir les détails pour {vm_name}"
1936
+
1937
+ #: constants.py:544
1938
+ #, python-brace-format
1939
+ msgid "Failed to start VM or viewer: {error}"
1940
+ msgstr "Échec du démarrage de la VM ou du visualiseur : {error}"
1941
+
1942
+ #: constants.py:545
1943
+ #, python-brace-format
1944
+ msgid "Provisioning failed: {error}"
1945
+ msgstr "Échec du provisionnement : {error}"
1946
+
1947
+ #: constants.py:546
1948
+ #, python-brace-format
1949
+ msgid "Failed to fetch ISO volumes from {pool_name}: {error}"
1950
+ msgstr "Échec de récupération des volumes ISO depuis {pool_name} : {error}"
1951
+
1952
+ #: constants.py:547
1953
+ #, python-brace-format
1954
+ msgid "Failed to fetch ISOs: {error}"
1955
+ msgstr "Échec de récupération des ISOs : {error}"
1956
+
1957
+ #: constants.py:548 constants.py:600
1958
+ msgid "VM name cannot be empty."
1959
+ msgstr "Le nom de la VM ne peut pas être vide."
1960
+
1961
+ #: constants.py:549
1962
+ #, python-brace-format
1963
+ msgid "Connecting to {uri}..."
1964
+ msgstr "Connexion à {uri}..."
1965
+
1966
+ #: constants.py:550
1967
+ #, python-brace-format
1968
+ msgid "Failed to connect to {uri}"
1969
+ msgstr "Échec de connexion à {uri}"
1970
+
1971
+ #: constants.py:551
1972
+ #, python-brace-format
1973
+ msgid "Error deleting server '{server_name}': {error}"
1974
+ msgstr "Erreur lors de la suppression du serveur '{server_name}' : {error}"
1975
+
1976
+ #: constants.py:552
1977
+ #, fuzzy, python-brace-format
1978
+ msgid ""
1979
+ "Are you sure you want to delete Server;\n"
1980
+ "'{server_name}'\n"
1981
+ "from list?"
1982
+ msgstr ""
1983
+ "Voulez-vous vraiment supprimer le serveur ;\n"
1984
+ "'{server_name}'\n"
1985
+ "de la liste ?"
1986
+
1987
+ #: constants.py:554
1988
+ msgid "Multiple servers active but none selected for preferences."
1989
+ msgstr "Plusieurs serveurs actifs mais aucun sélectionné pour les préférences."
1990
+
1991
+ #: constants.py:555
1992
+ #, python-brace-format
1993
+ msgid "Failed to get connection for server preferences on {uri}."
1994
+ msgstr "Échec d'obtention de connexion pour les préférences serveur sur {uri}."
1995
+
1996
+ #: constants.py:556
1997
+ msgid "Could not find object to display XML for."
1998
+ msgstr "Impossible de trouver l'objet dont afficher l'XML."
1999
+
2000
+ #: constants.py:557
2001
+ #, python-brace-format
2002
+ msgid "Error getting XML for {obj_type}: {error}"
2003
+ msgstr "Erreur lors de la récupération de l'XML pour {obj_type} : {error}"
2004
+
2005
+ #: constants.py:558
2006
+ msgid "Could not find pool object to edit."
2007
+ msgstr "Impossible de trouver l'objet pool à modifier."
2008
+
2009
+ #: constants.py:559
2010
+ msgid "Pool must be inactive to edit its XML definition."
2011
+ msgstr "Le pool doit être inactif pour modifier sa définition XML."
2012
+
2013
+ #: constants.py:560
2014
+ #, python-brace-format
2015
+ msgid "Error getting XML for pool: {error}"
2016
+ msgstr "Erreur lors de la récupération de l'XML pour le pool : {error}"
2017
+
2018
+ #: constants.py:561
2019
+ #, python-brace-format
2020
+ msgid "Storage pool '{pool_name}' updated successfully."
2021
+ msgstr "Pool de stockage '{pool_name}' mis à jour avec succès."
2022
+
2023
+ #: constants.py:562
2024
+ #, python-brace-format
2025
+ msgid "Error updating pool XML: {error}"
2026
+ msgstr "Erreur lors de la mise à jour de l'XML du pool : {error}"
2027
+
2028
+ #: constants.py:564
2029
+ msgid ""
2030
+ "Editing a pool's XML definition is an advanced operation.\n"
2031
+ "An invalid configuration may make its volumes inaccessible to VMs.\n"
2032
+ "\n"
2033
+ "Are you sure you want to proceed?"
2034
+ msgstr ""
2035
+ "Modifier la définition XML d'un pool est une opération avancée.\n"
2036
+ "Une configuration invalide peut rendre ses volumes inaccessibles aux VMs.\n"
2037
+ "\n"
2038
+ "Voulez-vous vraiment continuer ?"
2039
+
2040
+ #: constants.py:567
2041
+ #, python-brace-format
2042
+ msgid "Error toggling pool active state: {error}"
2043
+ msgstr "Erreur lors du basculement de l'état actif du pool : {error}"
2044
+
2045
+ #: constants.py:568
2046
+ #, python-brace-format
2047
+ msgid "Error toggling pool autostart state: {error}"
2048
+ msgstr "Erreur lors du basculement de l'état autostart du pool : {error}"
2049
+
2050
+ #: constants.py:569
2051
+ #, python-brace-format
2052
+ msgid "Volume [b]{name} {size_gb}Gb {format}[/b] created successfully."
2053
+ msgstr "Volume [b]{name} {size_gb}Go {format}[/b] créé avec succès."
2054
+
2055
+ #: constants.py:570
2056
+ #, python-brace-format
2057
+ msgid "Invalid or non-existent path: {path}"
2058
+ msgstr "Chemin invalide ou inexistant : {path}"
2059
+
2060
+ #: constants.py:571
2061
+ #, python-brace-format
2062
+ msgid "Error refreshing pool: {error}"
2063
+ msgstr "Erreur lors du rafraîchissement du pool : {error}"
2064
+
2065
+ #: constants.py:572 constants.py:761
2066
+ #, python-brace-format
2067
+ msgid ""
2068
+ "A pool named '{pool_name}' already manages this directory.\n"
2069
+ "Refreshed pool to include the new volume."
2070
+ msgstr ""
2071
+ "Un pool nommé '{pool_name}' gère déjà ce répertoire.\n"
2072
+ "Pool rafraîchi pour inclure le nouveau volume."
2073
+
2074
+ #: constants.py:574
2075
+ #, python-brace-format
2076
+ msgid ""
2077
+ "No storage pool exists for the directory:\n"
2078
+ "'{directory}'.\n"
2079
+ "\n"
2080
+ "Create a new pool named '{pool_name}'?"
2081
+ msgstr ""
2082
+ "Aucun pool de stockage n'existe pour le répertoire :\n"
2083
+ "'{directory}'.\n"
2084
+ "\n"
2085
+ "Créer un nouveau pool nommé '{pool_name}' ?"
2086
+
2087
+ #: constants.py:577 constants.py:672
2088
+ msgid "Could not determine the source pool."
2089
+ msgstr "Impossible de déterminer le pool source."
2090
+
2091
+ #: constants.py:578
2092
+ #, python-brace-format
2093
+ msgid "Volume '{volume_name}' moved to pool '{dest_pool_name}'."
2094
+ msgstr "Volume '{volume_name}' déplacé vers le pool '{dest_pool_name}'."
2095
+
2096
+ #: constants.py:579
2097
+ #, python-brace-format
2098
+ msgid "Updated VM configurations for: {vm_list}"
2099
+ msgstr "Configurations VM mises à jour pour : {vm_list}"
2100
+
2101
+ #: constants.py:580
2102
+ #, python-brace-format
2103
+ msgid "Move operation failed: {error}"
2104
+ msgstr "L'opération de déplacement a échoué : {error}"
2105
+
2106
+ #: constants.py:581
2107
+ #, python-brace-format
2108
+ msgid "Error getting network XML: {error}"
2109
+ msgstr "Erreur lors de la récupération de l'XML réseau : {error}"
2110
+
2111
+ #: constants.py:582
2112
+ #, python-brace-format
2113
+ msgid "Could not retrieve info for network '{network_name}'."
2114
+ msgstr "Impossible de récupérer les infos du réseau '{network_name}'."
2115
+
2116
+ #: constants.py:583
2117
+ #, python-brace-format
2118
+ msgid "Network '{network_name}' deleted successfully."
2119
+ msgstr "Réseau '{network_name}' supprimé avec succès."
2120
+
2121
+ #: constants.py:584
2122
+ #, python-brace-format
2123
+ msgid "Error deleting network '{network_name}': {error}"
2124
+ msgstr "Erreur lors de la suppression du réseau '{network_name}' : {error}"
2125
+
2126
+ #: constants.py:585
2127
+ #, python-brace-format
2128
+ msgid ""
2129
+ "Are you sure you want to delete network:\n"
2130
+ "'{network_name}'"
2131
+ msgstr ""
2132
+ "Voulez-vous vraiment supprimer le réseau :\n"
2133
+ "'{network_name}'"
2134
+
2135
+ #: constants.py:586
2136
+ #, python-brace-format
2137
+ msgid ""
2138
+ "\n"
2139
+ "This network is currently in use by the following VMs:\n"
2140
+ "{vm_list}."
2141
+ msgstr ""
2142
+ "\n"
2143
+ "Ce réseau est actuellement utilisé par les VMs suivantes :\n"
2144
+ "{vm_list}."
2145
+
2146
+ #: constants.py:587
2147
+ msgid "Not connected to libvirt."
2148
+ msgstr "Non connecté à libvirt."
2149
+
2150
+ #: constants.py:588
2151
+ msgid "Pool is not active"
2152
+ msgstr "Le pool n'est pas actif"
2153
+
2154
+ #: constants.py:589
2155
+ #, python-brace-format
2156
+ msgid "Storage pool '{pool_name}' deleted successfully."
2157
+ msgstr "Pool de stockage '{pool_name}' supprimé avec succès."
2158
+
2159
+ #: constants.py:590
2160
+ #, python-brace-format
2161
+ msgid ""
2162
+ "Are you sure you want to delete storage pool:\n"
2163
+ "' {pool_name}'\n"
2164
+ "This will delete the pool definition but not the data on it."
2165
+ msgstr ""
2166
+ "Voulez-vous vraiment supprimer le pool de stockage :\n"
2167
+ "' {pool_name}'\n"
2168
+ "Ceci supprimera la définition du pool mais pas les données qu'il contient."
2169
+
2170
+ #: constants.py:591
2171
+ #, python-brace-format
2172
+ msgid "Volume '{volume_name}' deleted successfully."
2173
+ msgstr "Volume '{volume_name}' supprimé avec succès."
2174
+
2175
+ #: constants.py:592
2176
+ #, python-brace-format
2177
+ msgid ""
2178
+ "Are you sure you want to delete volume:\n"
2179
+ "'{vol_name}'"
2180
+ msgstr ""
2181
+ "Voulez-vous vraiment supprimer le volume :\n"
2182
+ "'{vol_name}'"
2183
+
2184
+ #: constants.py:593
2185
+ msgid "Source Path and Target Path cannot be empty."
2186
+ msgstr "Le chemin source et le chemin cible ne peuvent pas être vides."
2187
+
2188
+ #: constants.py:594
2189
+ #, python-brace-format
2190
+ msgid "{error}"
2191
+ msgstr "{error}"
2192
+
2193
+ #: constants.py:595
2194
+ msgid "Please select an interface and a network."
2195
+ msgstr "Veuillez sélectionner une interface et un réseau."
2196
+
2197
+ #: constants.py:596
2198
+ msgid "Base name cannot be empty."
2199
+ msgstr "Le nom de base ne peut pas être vide."
2200
+
2201
+ #: constants.py:597
2202
+ #, python-brace-format
2203
+ msgid "Invalid characters in suffix: {error}"
2204
+ msgstr "Caractères invalides dans le suffixe : {error}"
2205
+
2206
+ #: constants.py:598
2207
+ msgid "Number of clones must be a positive integer."
2208
+ msgstr "Le nombre de clones doit être un entier positif."
2209
+
2210
+ #: constants.py:599
2211
+ msgid "Suffix is mandatory when creating multiple clones."
2212
+ msgstr "Le suffixe est obligatoire lors de la création de plusieurs clones."
2213
+
2214
+ #: constants.py:601
2215
+ msgid "Snapshot name cannot be empty."
2216
+ msgstr "Le nom de l'instantané ne peut pas être vide."
2217
+
2218
+ #: constants.py:602
2219
+ msgid ""
2220
+ "QEMU Guest Agent not detected. It is recommended to pause the VM before "
2221
+ "taking a snapshot."
2222
+ msgstr ""
2223
+ "Agent invité QEMU non détecté. Il est recommandé de mettre la VM en pause "
2224
+ "avant de prendre un instantané."
2225
+
2226
+ #: constants.py:603
2227
+ #, python-brace-format
2228
+ msgid "Could not load networks: {error}"
2229
+ msgstr "Impossible de charger les réseaux : {error}"
2230
+
2231
+ #: constants.py:604
2232
+ msgid "Cannot enable secure boot without a UEFI file selected."
2233
+ msgstr "Impossible d'activer le secure boot sans fichier UEFI sélectionné."
2234
+
2235
+ #: constants.py:606
2236
+ msgid "VM must be stopped to apply graphics settings."
2237
+ msgstr "La VM doit être arrêtée pour appliquer les paramètres graphiques."
2238
+
2239
+ #: constants.py:607
2240
+ msgid "VM must be stopped to apply RNG settings."
2241
+ msgstr "La VM doit être arrêtée pour appliquer les paramètres RNG."
2242
+
2243
+ #: constants.py:608
2244
+ msgid "RNG device path cannot be empty."
2245
+ msgstr "Le chemin du périphérique RNG ne peut pas être vide."
2246
+
2247
+ #: constants.py:609
2248
+ msgid "VM must be stopped to apply TPM settings."
2249
+ msgstr "La VM doit être arrêtée pour appliquer les paramètres TPM."
2250
+
2251
+ #: constants.py:610
2252
+ msgid "Device path is required for passthrough TPM."
2253
+ msgstr "Le chemin du périphérique est requis pour le passthrough TPM."
2254
+
2255
+ #: constants.py:611
2256
+ msgid "PCI passthrough not implemented yet."
2257
+ msgstr "Le passthrough PCI n'est pas encore implémenté."
2258
+
2259
+ #: constants.py:612
2260
+ msgid "Selected channel has no target name."
2261
+ msgstr "Le canal sélectionné n'a pas de nom de cible."
2262
+
2263
+ #: constants.py:613
2264
+ #, python-brace-format
2265
+ msgid "Error adding channel: {error}"
2266
+ msgstr "Erreur lors de l'ajout du canal : {error}"
2267
+
2268
+ #: constants.py:614
2269
+ #, python-brace-format
2270
+ msgid "Error removing channel: {error}"
2271
+ msgstr "Erreur lors de la suppression du canal : {error}"
2272
+
2273
+ #: constants.py:615
2274
+ #, python-brace-format
2275
+ msgid "VM '{vm_name}' not found for details."
2276
+ msgstr "VM '{vm_name}' non trouvée pour les détails."
2277
+
2278
+ #: constants.py:616
2279
+ #, python-brace-format
2280
+ msgid "Could not get XML for VM '{vm_name}': {error}"
2281
+ msgstr "Impossible d'obtenir l'XML pour la VM '{vm_name}' : {error}"
2282
+
2283
+ #: constants.py:617
2284
+ msgid "VM must be stopped to edit CPU settings."
2285
+ msgstr "La VM doit être arrêtée pour modifier les paramètres CPU."
2286
+
2287
+ #: constants.py:618
2288
+ msgid "VM must be stopped to edit memory settings."
2289
+ msgstr "La VM doit être arrêtée pour modifier les paramètres mémoire."
2290
+
2291
+ #: constants.py:619
2292
+ msgid "VM must be stopped to change machine type."
2293
+ msgstr "La VM doit être arrêtée pour changer le type de machine."
2294
+
2295
+ #: constants.py:620
2296
+ msgid "VM must be stopped to change shared memory settings."
2297
+ msgstr ""
2298
+ "La VM doit être arrêtée pour changer les paramètres de mémoire partagée."
2299
+
2300
+ #: constants.py:621
2301
+ msgid "VM must be stopped to change firmware settings."
2302
+ msgstr "La VM doit être arrêtée pour changer les paramètres du firmware."
2303
+
2304
+ #: constants.py:622
2305
+ msgid "VM must be stopped to edit boot order."
2306
+ msgstr "La VM doit être arrêtée pour modifier l'ordre de démarrage."
2307
+
2308
+ #: constants.py:624
2309
+ msgid "VM must be stopped to edit network settings."
2310
+ msgstr "La VM doit être arrêtée pour modifier les paramètres réseau."
2311
+
2312
+ #: constants.py:625
2313
+ msgid "VM must be stopped to edit VirtIO-FS settings."
2314
+ msgstr "La VM doit être arrêtée pour modifier les paramètres VirtIO-FS."
2315
+
2316
+ #: constants.py:626
2317
+ msgid "VM must be stopped to edit video settings."
2318
+ msgstr "La VM doit être arrêtée pour modifier les paramètres vidéo."
2319
+
2320
+ #: constants.py:627
2321
+ msgid "VM must be stopped to edit sound settings."
2322
+ msgstr "La VM doit être arrêtée pour modifier les paramètres son."
2323
+
2324
+ #: constants.py:628
2325
+ msgid "VM must be stopped to edit graphics settings."
2326
+ msgstr "La VM doit être arrêtée pour modifier les paramètres graphiques."
2327
+
2328
+ #: constants.py:629
2329
+ msgid "VM must be stopped to edit TPM settings."
2330
+ msgstr "La VM doit être arrêtée pour modifier les paramètres TPM."
2331
+
2332
+ #: constants.py:630
2333
+ msgid "VM must be stopped to edit RNG settings."
2334
+ msgstr "La VM doit être arrêtée pour modifier les paramètres RNG."
2335
+
2336
+ #: constants.py:631
2337
+ msgid "VM must be stopped to edit serial settings."
2338
+ msgstr "La VM doit être arrêtée pour modifier les paramètres série."
2339
+
2340
+ #: constants.py:632
2341
+ msgid "VM must be stopped to edit watchdog settings."
2342
+ msgstr "La VM doit être arrêtée pour modifier les paramètres watchdog."
2343
+
2344
+ #: constants.py:633
2345
+ msgid "VM must be stopped to edit PCI settings."
2346
+ msgstr "La VM doit être arrêtée pour modifier les paramètres PCI."
2347
+
2348
+ #: constants.py:634
2349
+ msgid "VM must be stopped to edit USB settings."
2350
+ msgstr "La VM doit être arrêtée pour modifier les paramètres USB."
2351
+
2352
+ #: constants.py:635
2353
+ msgid "VM must be stopped to edit controller settings."
2354
+ msgstr "La VM doit être arrêtée pour modifier les paramètres du contrôleur."
2355
+
2356
+ #: constants.py:636
2357
+ msgid "VM must be stopped to edit channel settings."
2358
+ msgstr "La VM doit être arrêtée pour modifier les paramètres du canal."
2359
+
2360
+ #: constants.py:637
2361
+ msgid "VM must be stopped to edit input settings."
2362
+ msgstr "La VM doit être arrêtée pour modifier les paramètres d'entrée."
2363
+
2364
+ #: constants.py:638
2365
+ #, python-brace-format
2366
+ msgid "Error toggling disk state: {error}"
2367
+ msgstr "Erreur lors du basculement de l'état du disque : {error}"
2368
+
2369
+ #: constants.py:639
2370
+ #, python-brace-format
2371
+ msgid "Error removing disk: {error}"
2372
+ msgstr "Erreur lors de la suppression du disque : {error}"
2373
+
2374
+ #: constants.py:640
2375
+ #, python-brace-format
2376
+ msgid "Error adding disk: {error}"
2377
+ msgstr "Erreur lors de l'ajout du disque : {error}"
2378
+
2379
+ #: constants.py:641
2380
+ #, python-brace-format
2381
+ msgid "Error attaching existing disk: {error}"
2382
+ msgstr "Erreur lors de l'attachement d'un disque existant : {error}"
2383
+
2384
+ #: constants.py:642
2385
+ #, python-brace-format
2386
+ msgid "Error editing disk: {error}"
2387
+ msgstr "Erreur lors de la modification du disque : {error}"
2388
+
2389
+ #: constants.py:643
2390
+ #, python-brace-format
2391
+ msgid "Error setting VM video model: {error}"
2392
+ msgstr "Erreur lors du réglage du modèle vidéo de la VM : {error}"
2393
+
2394
+ #: constants.py:644
2395
+ #, python-brace-format
2396
+ msgid "Error setting CPU model: {error}"
2397
+ msgstr "Erreur lors du réglage du modèle CPU : {error}"
2398
+
2399
+ #: constants.py:645
2400
+ #, python-brace-format
2401
+ msgid "Error setting UEFI file: {error}"
2402
+ msgstr "Erreur lors du réglage du fichier UEFI : {error}"
2403
+
2404
+ #: constants.py:646
2405
+ #, python-brace-format
2406
+ msgid "Error setting shared memory: {error}"
2407
+ msgstr "Erreur lors du réglage de la mémoire partagée : {error}"
2408
+
2409
+ #: constants.py:647
2410
+ #, python-brace-format
2411
+ msgid "Error setting VM graphics: {error}"
2412
+ msgstr "Erreur lors du réglage graphisme VM : {error}"
2413
+
2414
+ #: constants.py:648
2415
+ #, python-brace-format
2416
+ msgid "Error setting VM sound model: {error}"
2417
+ msgstr "Erreur lors du réglage du modèle son VM : {error}"
2418
+
2419
+ #: constants.py:649
2420
+ #, python-brace-format
2421
+ msgid "Error setting VM RNG: {error}"
2422
+ msgstr "Erreur lors du réglage RNG VM : {error}"
2423
+
2424
+ #: constants.py:650
2425
+ #, python-brace-format
2426
+ msgid "Error setting VM TPM: {error}"
2427
+ msgstr "Erreur lors du réglage TPM VM : {error}"
2428
+
2429
+ #: constants.py:651
2430
+ #, python-brace-format
2431
+ msgid "Error attaching USB device: {error}"
2432
+ msgstr "Erreur lors de l'attachement d'un périphérique USB : {error}"
2433
+
2434
+ #: constants.py:652
2435
+ #, python-brace-format
2436
+ msgid "Error detaching USB device: {error}"
2437
+ msgstr "Erreur lors du détachement d'un périphérique USB : {error}"
2438
+
2439
+ #: constants.py:653
2440
+ #, python-brace-format
2441
+ msgid "Error adding serial console: {error}"
2442
+ msgstr "Erreur lors de l'ajout d'une console série : {error}"
2443
+
2444
+ #: constants.py:654
2445
+ #, python-brace-format
2446
+ msgid "Error removing serial console: {error}"
2447
+ msgstr "Erreur lors de la suppression de la console série : {error}"
2448
+
2449
+ #: constants.py:655
2450
+ #, python-brace-format
2451
+ msgid "Error adding input device: {error}"
2452
+ msgstr "Erreur lors de l'ajout d'un périphérique d'entrée : {error}"
2453
+
2454
+ #: constants.py:656
2455
+ #, python-brace-format
2456
+ msgid "Error removing input device: {error}"
2457
+ msgstr "Erreur lors de la suppression du périphérique d'entrée : {error}"
2458
+
2459
+ #: constants.py:657
2460
+ #, python-brace-format
2461
+ msgid "Error setting VM watchdog: {error}"
2462
+ msgstr "Erreur lors du réglage du watchdog VM : {error}"
2463
+
2464
+ #: constants.py:658
2465
+ #, python-brace-format
2466
+ msgid "Error removing VM watchdog: {error}"
2467
+ msgstr "Erreur lors de la suppression du watchdog VM : {error}"
2468
+
2469
+ #: constants.py:659
2470
+ #, python-brace-format
2471
+ msgid "Error adding USB device: {error}"
2472
+ msgstr "Erreur lors de l'ajout d'un périphérique USB : {error}"
2473
+
2474
+ #: constants.py:660
2475
+ #, python-brace-format
2476
+ msgid "Error removing USB device: {error}"
2477
+ msgstr "Erreur lors de la suppression du périphérique USB : {error}"
2478
+
2479
+ #: constants.py:661
2480
+ #, python-brace-format
2481
+ msgid "Error adding SCSI controller: {error}"
2482
+ msgstr "Erreur lors de l'ajout d'un contrôleur SCSI : {error}"
2483
+
2484
+ #: constants.py:662
2485
+ #, python-brace-format
2486
+ msgid "Error removing SCSI controller: {error}"
2487
+ msgstr "Erreur lors de la suppression du contrôleur SCSI : {error}"
2488
+
2489
+ #: constants.py:663
2490
+ #, python-brace-format
2491
+ msgid "Error migrating VM machine type: {error}"
2492
+ msgstr "Erreur lors de la migration du type de machine VM : {error}"
2493
+
2494
+ #: constants.py:664
2495
+ #, python-brace-format
2496
+ msgid "Error setting VM NUMA tune: {error}"
2497
+ msgstr "Erreur lors du réglage NUMA tune VM : {error}"
2498
+
2499
+ #: constants.py:665
2500
+ #, python-brace-format
2501
+ msgid "Error setting VM CPU tune: {error}"
2502
+ msgstr "Erreur lors du réglage CPU tune VM : {error}"
2503
+
2504
+ #: constants.py:666
2505
+ #, python-brace-format
2506
+ msgid "Error removing VirtIO-FS: {error}"
2507
+ msgstr "Erreur lors de la suppression de VirtIO-FS : {error}"
2508
+
2509
+ #: constants.py:667
2510
+ #, python-brace-format
2511
+ msgid "Error adding VirtIO-FS: {error}"
2512
+ msgstr "Erreur lors de l'ajout de VirtIO-FS : {error}"
2513
+
2514
+ #: constants.py:668
2515
+ #, python-brace-format
2516
+ msgid "Error checking for other SPICE devices: {error}"
2517
+ msgstr "Erreur lors de la recherche d'autres périphériques SPICE : {error}"
2518
+
2519
+ #: constants.py:669
2520
+ #, python-brace-format
2521
+ msgid "Error removing SPICE devices: {error}"
2522
+ msgstr "Erreur lors de la suppression des périphériques SPICE : {error}"
2523
+
2524
+ #: constants.py:670
2525
+ #, fuzzy
2526
+ msgid ""
2527
+ "This VM has other SPICE-related devices (e.g., channels, QXL video).\\nDo "
2528
+ "you want to remove them for a clean switch to VNC?"
2529
+ msgstr ""
2530
+ "Cette VM a d'autres périphériques liés à SPICE (ex : canaux, vidéo QXL).\n"
2531
+ "Voulez-vous les supprimer pour passer proprement à VNC ?"
2532
+
2533
+ #: constants.py:671
2534
+ #, fuzzy
2535
+ msgid ""
2536
+ "Some selected VMs have other SPICE-related devices.\\nDo you want to remove "
2537
+ "them from ALL selected VMs for a clean switch to VNC?"
2538
+ msgstr ""
2539
+ "Certaines VMs sélectionnées ont d'autres périphériques liés à SPICE.\n"
2540
+ "Voulez-vous les supprimer de TOUTES les VMs sélectionnées pour passer "
2541
+ "proprement à VNC ?"
2542
+
2543
+ #: constants.py:673
2544
+ #, python-brace-format
2545
+ msgid "Error saving boot order: {error}"
2546
+ msgstr "Erreur lors de l'enregistrement de l'ordre de démarrage : {error}"
2547
+
2548
+ #: constants.py:678
2549
+ #, python-brace-format
2550
+ msgid "Are you sure you want to delete '{name}'?"
2551
+ msgstr "Voulez-vous vraiment supprimer '{name}' ?"
2552
+
2553
+ #: constants.py:679
2554
+ #, python-brace-format
2555
+ msgid "Are you sure you want to delete snapshot '{name}'?"
2556
+ msgstr "Voulez-vous vraiment supprimer l'instantané '{name}' ?"
2557
+
2558
+ #: constants.py:680
2559
+ #, python-brace-format
2560
+ msgid ""
2561
+ "VM has {count} snapshot(s). To rename, they must be deleted.\n"
2562
+ "Delete snapshots and continue?"
2563
+ msgstr ""
2564
+ "La VM a {count} instantané(s). Pour la renommer, ils doivent être "
2565
+ "supprimés.\n"
2566
+ "Supprimer les instantanés et continuer ?"
2567
+
2568
+ #: constants.py:681
2569
+ msgid ""
2570
+ "Experimental Feature! Still contains bugs, fix in progress. You have been "
2571
+ "informed"
2572
+ msgstr ""
2573
+ "Fonctionnalité expérimentale ! Contient encore des bugs, correctif en cours. "
2574
+ "Vous avez été prévenu."
2575
+
2576
+ #: constants.py:682
2577
+ #, python-brace-format
2578
+ msgid "Are you sure you want to remove channel '{target_name}'?"
2579
+ msgstr "Voulez-vous vraiment supprimer le canal '{target_name}' ?"
2580
+
2581
+ #: constants.py:683
2582
+ #, python-brace-format
2583
+ msgid "Are you sure you want to remove input device '{device_type}'?"
2584
+ msgstr ""
2585
+ "Voulez-vous vraiment supprimer le périphérique d'entrée '{device_type}' ?"
2586
+
2587
+ #: constants.py:684
2588
+ #, python-brace-format
2589
+ msgid "Are you sure you want to remove serial console '{port}'?"
2590
+ msgstr "Voulez-vous vraiment supprimer la console série '{port}' ?"
2591
+
2592
+ #: constants.py:685
2593
+ #, python-brace-format
2594
+ msgid "Are you sure you want to remove USB device '{description}'?"
2595
+ msgstr "Voulez-vous vraiment supprimer le périphérique USB '{description}' ?"
2596
+
2597
+ #: constants.py:686
2598
+ #, python-brace-format
2599
+ msgid ""
2600
+ "Are you sure you want to remove SCSI controller '{model}' at index '{index}'?"
2601
+ msgstr ""
2602
+ "Voulez-vous vraiment supprimer le contrôleur SCSI '{model}' à l'index "
2603
+ "'{index}' ?"
2604
+
2605
+ #: constants.py:687
2606
+ #, python-brace-format
2607
+ msgid "Are you sure you want to remove VirtIO-FS mount '{target_path}'?"
2608
+ msgstr "Voulez-vous vraiment supprimer le montage VirtIO-FS '{target_path}' ?"
2609
+
2610
+ #: constants.py:692 constants.py:715
2611
+ #, python-brace-format
2612
+ msgid "The remove viewer {viewer} has been selected."
2613
+ msgstr "Le visualiseur distant {viewer} a été sélectionné."
2614
+
2615
+ #: constants.py:693
2616
+ msgid "VM data loaded. Displaying VMs..."
2617
+ msgstr "Données VM chargées. Affichage des VMs..."
2618
+
2619
+ #: constants.py:694
2620
+ msgid "Filter: Running VMs"
2621
+ msgstr "Filtre : VMs en cours"
2622
+
2623
+ #: constants.py:695
2624
+ msgid "Filter: All VMs"
2625
+ msgstr "Filtre : Toutes les VMs"
2626
+
2627
+ #: constants.py:696
2628
+ msgid "All VMs unselected."
2629
+ msgstr "Toutes les VMs sont désélectionnées."
2630
+
2631
+ #: constants.py:697
2632
+ #, python-brace-format
2633
+ msgid "Caching VM state for: {vms_list}"
2634
+ msgstr "Mise en cache de l'état VM pour : {vms_list}"
2635
+
2636
+ #: constants.py:702
2637
+ msgid "Compact view is locked during bulk operations."
2638
+ msgstr "La vue compacte est verrouillée pendant les opérations en masse."
2639
+
2640
+ #: constants.py:703
2641
+ #, python-brace-format
2642
+ msgid ""
2643
+ "Displaying [b]{vms_per_page}[/b] VMs per page. CPU usage may increase; 9 is "
2644
+ "recommended for optimal performance."
2645
+ msgstr ""
2646
+ "Affichage de [b]{vms_per_page}[/b] VMs par page. L'usage CPU peut "
2647
+ "augmenter ; 9 est recommandé pour des performances optimales."
2648
+
2649
+ #: constants.py:704
2650
+ #, python-brace-format
2651
+ msgid "VM '{vm_name}' is not in a pausable state."
2652
+ msgstr "La VM '{vm_name}' n'est pas dans un état permettant la pause."
2653
+
2654
+ #: constants.py:705
2655
+ #, python-brace-format
2656
+ msgid ""
2657
+ "VM [b]{vm_name}[/b]: Libvirt accepted the XML but the configuration remains "
2658
+ "unchanged. Your changes may have been ignored or normalized away."
2659
+ msgstr ""
2660
+ "VM [b]{vm_name}[/b] : Libvirt a accepté l'XML mais la configuration reste "
2661
+ "inchangée. Vos modifications ont pu être ignorées ou normalisées."
2662
+
2663
+ #: constants.py:706
2664
+ msgid "No remote viewer selected. Auto-detection will be used."
2665
+ msgstr "Aucun visualiseur distant sélectionné. L'auto-détection sera utilisée."
2666
+
2667
+ #: constants.py:707
2668
+ msgid ""
2669
+ "Running network usage scan, this can freeze the UI for larger numbers of VMs."
2670
+ msgstr ""
2671
+ "Scan de l'usage réseau en cours, ceci peut figer l'interface pour un grand "
2672
+ "nombre de VMs."
2673
+
2674
+ #: constants.py:708
2675
+ #, python-brace-format
2676
+ msgid ""
2677
+ "More than {count} VMs detected on this server.\n"
2678
+ "Skipping disk usage scan to prevent UI freeze."
2679
+ msgstr ""
2680
+ "Plus de {count} VMs détectées sur ce serveur.\n"
2681
+ "Saut du scan d'usage disque pour éviter de figer l'interface."
2682
+
2683
+ #: constants.py:709
2684
+ msgid ""
2685
+ "Running disk usage scan, this can freeze the UI for larger numbers of VMs "
2686
+ "and disks."
2687
+ msgstr ""
2688
+ "Scan de l'usage disque en cours, ceci peut figer l'interface pour un grand "
2689
+ "nombre de VMs et de disques."
2690
+
2691
+ #: constants.py:710
2692
+ #, fuzzy
2693
+ msgid ""
2694
+ "! Shared Memory is Mandatory to use VirtIO-FS.\\n! Enable it in Mem tab."
2695
+ msgstr ""
2696
+ "! La mémoire partagée est obligatoire pour utiliser VirtIO-FS.\n"
2697
+ "! Activez-la dans l'onglet Mem."
2698
+
2699
+ #: constants.py:716
2700
+ #, python-brace-format
2701
+ msgid "Connected to [b]{uri}[/b]"
2702
+ msgstr "Connecté à [b]{uri}[/b]"
2703
+
2704
+ #: constants.py:717
2705
+ msgid "Statistics logging and monitoring disabled."
2706
+ msgstr "Journalisation et surveillance des statistiques désactivées."
2707
+
2708
+ #: constants.py:718
2709
+ msgid "Statistics logging and monitoring enabled (every 10s)."
2710
+ msgstr ""
2711
+ "Journalisation et surveillance des statistiques activées (toutes les 10s)."
2712
+
2713
+ #: constants.py:719
2714
+ msgid "Configuration updated."
2715
+ msgstr "Configuration mise à jour."
2716
+
2717
+ #: constants.py:720
2718
+ #, python-brace-format
2719
+ msgid "Selected {count} VMs matching pattern."
2720
+ msgstr "{count} VMs correspondant au motif sélectionnées."
2721
+
2722
+ #: constants.py:721
2723
+ msgid ""
2724
+ "In some Terminal use [b]Shift[/b] key while selecting text with the mouse to "
2725
+ "copy it."
2726
+ msgstr ""
2727
+ "Dans certains terminaux, utilisez la touche [b]Shift[/b] lors de la "
2728
+ "sélection de texte à la souris pour le copier."
2729
+
2730
+ #: constants.py:722
2731
+ msgid "No servers configured. Please add one via 'Servers List'."
2732
+ msgstr ""
2733
+ "Aucun serveur configuré. Veuillez en ajouter un via 'Liste des serveurs'."
2734
+
2735
+ #: constants.py:723
2736
+ #, python-brace-format
2737
+ msgid "Log level changed to {level}"
2738
+ msgstr "Niveau de journalisation changé en {level}"
2739
+
2740
+ #: constants.py:724
2741
+ #, python-brace-format
2742
+ msgid "Bulk action [b]{action_type}[/b] successful for {count} VMs."
2743
+ msgstr "Action en masse [b]{action_type}[/b] réussie pour {count} VMs."
2744
+
2745
+ #: constants.py:725
2746
+ #, python-brace-format
2747
+ msgid "Connected to [b]{name}[/b]"
2748
+ msgstr "Connecté à [b]{name}[/b]"
2749
+
2750
+ #: constants.py:726
2751
+ #, python-brace-format
2752
+ msgid "Input sanitized: '{original_input}' changed to '{sanitized_input}'"
2753
+ msgstr "Saisie nettoyée : '{original_input}' changé en '{sanitized_input}'"
2754
+
2755
+ #: constants.py:727
2756
+ #, python-brace-format
2757
+ msgid "Overlay [b]{overlay_name}[/b] created and attached."
2758
+ msgstr "Overlay [b]{overlay_name}[/b] créé et attaché."
2759
+
2760
+ #: constants.py:728
2761
+ #, python-brace-format
2762
+ msgid "Overlay for [b]{target_disk}[/b] discarded and reverted to base image."
2763
+ msgstr "Overlay pour [b]{target_disk}[/b] rejeté et retour à l'image de base."
2764
+
2765
+ #: constants.py:729
2766
+ msgid "Disk changes committed successfully."
2767
+ msgstr "Modifications disque commitées avec succès."
2768
+
2769
+ #: constants.py:730
2770
+ #, python-brace-format
2771
+ msgid "VM [b]{vm_name}[/b] configuration updated successfully."
2772
+ msgstr "Configuration de la VM [b]{vm_name}[/b] mise à jour avec succès."
2773
+
2774
+ #: constants.py:731
2775
+ msgid "No changes made to the XML configuration."
2776
+ msgstr "Aucune modification apportée à la configuration XML."
2777
+
2778
+ #: constants.py:732
2779
+ #, python-brace-format
2780
+ msgid "Snapshot [b]{snapshot_name}[/b] created successfully."
2781
+ msgstr "Instantané [b]{snapshot_name}[/b] créé avec succès."
2782
+
2783
+ #: constants.py:733
2784
+ #, python-brace-format
2785
+ msgid "Restored to snapshot [b]{snapshot_name}[/b] successfully."
2786
+ msgstr "Restauration de l'instantané [b]{snapshot_name}[/b] réussie."
2787
+
2788
+ #: constants.py:734
2789
+ #, python-brace-format
2790
+ msgid "Snapshot [b]{snapshot_name}[/b] deleted successfully."
2791
+ msgstr "Instantané [b]{snapshot_name}[/b] supprimé avec succès."
2792
+
2793
+ #: constants.py:735
2794
+ #, python-brace-format
2795
+ msgid "VM '{vm_name}' deleted successfully."
2796
+ msgstr "VM '{vm_name}' supprimée avec succès."
2797
+
2798
+ #: constants.py:736
2799
+ #, python-brace-format
2800
+ msgid "VM '{old_name}' renamed to '{new_name}' successfully."
2801
+ msgstr "VM '{old_name}' renommée en '{new_name}' avec succès."
2802
+
2803
+ #: constants.py:737
2804
+ msgid "VM rename cancelled."
2805
+ msgstr "Renommage VM annulé."
2806
+
2807
+ #: constants.py:738
2808
+ msgid "New VM name is the same as the old name. No rename performed."
2809
+ msgstr ""
2810
+ "Le nouveau nom de la VM est le même que l'ancien. Aucun renommage effectué."
2811
+
2812
+ #: constants.py:739
2813
+ #, python-brace-format
2814
+ msgid "Successfully cloned to: {vm_names}"
2815
+ msgstr "Clonage réussi vers : {vm_names}"
2816
+
2817
+ #: constants.py:740
2818
+ msgid "Web console stopped."
2819
+ msgstr "Console web arrêtée."
2820
+
2821
+ #: constants.py:741
2822
+ msgid "Remote user cert/key found, using secure wss connection."
2823
+ msgstr ""
2824
+ "Cert/clé utilisateur distant trouvé, utilisation d'une connexion wss "
2825
+ "sécurisée."
2826
+
2827
+ #: constants.py:742
2828
+ msgid "Remote system cert/key found, using secure wss connection."
2829
+ msgstr ""
2830
+ "Cert/clé système distant trouvé, utilisation d'une connexion wss sécurisée."
2831
+
2832
+ #: constants.py:743
2833
+ msgid "No remote cert/key found. Attempting to generate in system directory..."
2834
+ msgstr ""
2835
+ "Aucun cert/clé distant trouvé. Tentative de génération dans le répertoire "
2836
+ "système..."
2837
+
2838
+ #: constants.py:744
2839
+ msgid "Could not check for remote cert/key, using insecure ws connection."
2840
+ msgstr ""
2841
+ "Impossible de vérifier le cert/clé distant, utilisation d'une connexion ws "
2842
+ "non sécurisée."
2843
+
2844
+ #: constants.py:745
2845
+ msgid "Remote connection detected. Setting up SSH tunnel..."
2846
+ msgstr "Connexion distante détectée. Mise en place du tunnel SSH..."
2847
+
2848
+ #: constants.py:746
2849
+ msgid "Found cert/key, using secure wss connection."
2850
+ msgstr "Cert/clé trouvé, utilisation d'une connexion wss sécurisée."
2851
+
2852
+ #: constants.py:747
2853
+ msgid "All caches cleared"
2854
+ msgstr "Tous les caches vidés"
2855
+
2856
+ #: constants.py:748
2857
+ msgid "Configuration saved successfully."
2858
+ msgstr "Configuration enregistrée avec succès."
2859
+
2860
+ #: constants.py:749
2861
+ #, python-brace-format
2862
+ msgid "Storage pool '{name}' created and started."
2863
+ msgstr "Pool de stockage '{name}' créé et démarré."
2864
+
2865
+ #: constants.py:750
2866
+ #, python-brace-format
2867
+ msgid "Network {name} created successfully."
2868
+ msgstr "Réseau {name} créé avec succès."
2869
+
2870
+ #: constants.py:751
2871
+ #, python-brace-format
2872
+ msgid "Network {name} updated successfully."
2873
+ msgstr "Réseau {name} mis à jour avec succès."
2874
+
2875
+ #: constants.py:752
2876
+ #, python-brace-format
2877
+ msgid "VM name sanitized: '{original}' -> '{sanitized}'"
2878
+ msgstr "Nom VM nettoyé : '{original}' -> '{sanitized}'"
2879
+
2880
+ #: constants.py:753
2881
+ #, python-brace-format
2882
+ msgid "VM '{vm_name}' started."
2883
+ msgstr "VM '{vm_name}' démarrée."
2884
+
2885
+ #: constants.py:754
2886
+ #, fuzzy, python-brace-format
2887
+ msgid "VM '{vm_name}' saved (hibernated)."
2888
+ msgstr "VM '{vm_name}' démarrée."
2889
+
2890
+ #: constants.py:755
2891
+ #, python-brace-format
2892
+ msgid "Remote viewer {viewer} started for {vm_name}"
2893
+ msgstr "Remote viewer {viewer} démarré pour {vm_name}"
2894
+
2895
+ #: constants.py:756
2896
+ #, python-brace-format
2897
+ msgid "VM '{vm_name}' defined. Please configure and start it."
2898
+ msgstr "VM '{vm_name}' définie. Veuillez la configurer et la démarrer."
2899
+
2900
+ #: constants.py:757
2901
+ #, python-brace-format
2902
+ msgid "VM '{vm_name}' created successfully!"
2903
+ msgstr "VM '{vm_name}' créée avec succès !"
2904
+
2905
+ #: constants.py:758
2906
+ #, python-brace-format
2907
+ msgid "Server '{server_name}' deleted successfully."
2908
+ msgstr "Serveur '{server_name}' supprimé avec succès."
2909
+
2910
+ #: constants.py:759
2911
+ #, python-brace-format
2912
+ msgid "Pool '{pool_name}' is now {status}."
2913
+ msgstr "Le pool '{pool_name}' est maintenant {status}."
2914
+
2915
+ #: constants.py:760
2916
+ #, python-brace-format
2917
+ msgid "Autostart for pool '{pool_name}' is now {status}."
2918
+ msgstr "L'autostart pour le pool '{pool_name}' est maintenant {status}."
2919
+
2920
+ #: constants.py:762
2921
+ #, python-brace-format
2922
+ msgid "Network '{net_name}' is now {status}."
2923
+ msgstr "Le réseau '{net_name}' est maintenant {status}."
2924
+
2925
+ #: constants.py:763
2926
+ #, python-brace-format
2927
+ msgid "Autostart for network '{net_name}' is now {status}."
2928
+ msgstr "L'autostart pour le réseau '{net_name}' est maintenant {status}."
2929
+
2930
+ #: constants.py:764
2931
+ #, python-brace-format
2932
+ msgid "Base name sanitized: [b]{original}[/b] changed to [b]{sanitized}[/b]"
2933
+ msgstr "Nom de base nettoyé : [b]{original}[/b] changé en [b]{sanitized}[/b]"
2934
+
2935
+ #: constants.py:765
2936
+ #, python-brace-format
2937
+ msgid "Suffix sanitized: [b]{original}[/b] changed to [b]{sanitized}[/b]"
2938
+ msgstr "Suffixe nettoyé : [b]{original}[/b] changé en [b]{sanitized}[/b]"
2939
+
2940
+ #: constants.py:766
2941
+ #, python-brace-format
2942
+ msgid "Input sanitized: [b]{original}[/b] changed to [b]{sanitized}[/b]"
2943
+ msgstr "Saisie nettoyée : [b]{original}[/b] changée en [b]{sanitized}[/b]"
2944
+
2945
+ #: constants.py:767
2946
+ msgid "Boot order saved successfully."
2947
+ msgstr "Ordre de démarrage enregistré avec succès."
2948
+
2949
+ #: constants.py:768
2950
+ msgid "Graphics settings applied successfully"
2951
+ msgstr "Paramètres graphiques appliqués avec succès"
2952
+
2953
+ #: constants.py:769
2954
+ #, python-brace-format
2955
+ msgid "RNG settings applied successfully. Device: {rng_device}"
2956
+ msgstr "Paramètres RNG appliqués avec succès. Périphérique : {rng_device}"
2957
+
2958
+ #: constants.py:770
2959
+ msgid "TPM settings applied successfully"
2960
+ msgstr "Paramètres TPM appliqués avec succès"
2961
+
2962
+ #: constants.py:771
2963
+ #, python-brace-format
2964
+ msgid "Attached USB device: {description}"
2965
+ msgstr "Périphérique USB attaché : {description}"
2966
+
2967
+ #: constants.py:772
2968
+ #, python-brace-format
2969
+ msgid "Detached USB device: {description}"
2970
+ msgstr "Périphérique USB détaché : {description}"
2971
+
2972
+ #: constants.py:773
2973
+ msgid "Channel added successfully."
2974
+ msgstr "Canal ajouté avec succès."
2975
+
2976
+ #: constants.py:774
2977
+ #, python-brace-format
2978
+ msgid "Channel '{target_name}' removed successfully."
2979
+ msgstr "Canal '{target_name}' supprimé avec succès."
2980
+
2981
+ #: constants.py:775
2982
+ #, python-brace-format
2983
+ msgid "Input device '{device_type}' added successfully."
2984
+ msgstr "Périphérique d'entrée '{device_type}' ajouté avec succès."
2985
+
2986
+ #: constants.py:776
2987
+ #, python-brace-format
2988
+ msgid "Input device '{device_type}' removed successfully."
2989
+ msgstr "Périphérique d'entrée '{device_type}' supprimé avec succès."
2990
+
2991
+ #: constants.py:777
2992
+ msgid "Serial console added successfully."
2993
+ msgstr "Console série ajoutée avec succès."
2994
+
2995
+ #: constants.py:778
2996
+ msgid "Serial console removed successfully."
2997
+ msgstr "Console série supprimée avec succès."
2998
+
2999
+ #: constants.py:779
3000
+ msgid "Watchdog settings applied successfully."
3001
+ msgstr "Paramètres watchdog appliqués avec succès."
3002
+
3003
+ #: constants.py:780
3004
+ msgid "Watchdog removed successfully."
3005
+ msgstr "Watchdog supprimé avec succès."
3006
+
3007
+ #: constants.py:781
3008
+ #, python-brace-format
3009
+ msgid "USB device '{description}' attached successfully."
3010
+ msgstr "Périphérique USB '{description}' attaché avec succès."
3011
+
3012
+ #: constants.py:782
3013
+ #, python-brace-format
3014
+ msgid "USB device '{description}' removed successfully."
3015
+ msgstr "Périphérique USB '{description}' supprimé avec succès."
3016
+
3017
+ #: constants.py:783
3018
+ msgid "SCSI controller added successfully."
3019
+ msgstr "Contrôleur SCSI ajouté avec succès."
3020
+
3021
+ #: constants.py:784
3022
+ msgid "SCSI controller removed successfully."
3023
+ msgstr "Contrôleur SCSI supprimé avec succès."
3024
+
3025
+ #: constants.py:785
3026
+ msgid "VirtIO-FS mount added successfully."
3027
+ msgstr "Montage VirtIO-FS ajouté avec succès."
3028
+
3029
+ #: constants.py:786
3030
+ msgid "VirtIO-FS mount removed successfully."
3031
+ msgstr "Montage VirtIO-FS supprimé avec succès."
3032
+
3033
+ #: constants.py:787
3034
+ msgid "Removed associated SPICE devices"
3035
+ msgstr "Périphériques SPICE associés supprimés"
3036
+
3037
+ #: constants.py:788
3038
+ #, python-brace-format
3039
+ msgid "Video model set to {new_model}"
3040
+ msgstr "Modèle vidéo réglé sur {new_model}"
3041
+
3042
+ #: constants.py:789
3043
+ #, python-brace-format
3044
+ msgid "3D Acceleration {state}"
3045
+ msgstr "Accélération 3D {state}"
3046
+
3047
+ #: constants.py:790
3048
+ #, python-brace-format
3049
+ msgid "Sound model set to {new_model}"
3050
+ msgstr "Modèle son réglé sur {new_model}"
3051
+
3052
+ #: constants.py:791
3053
+ #, python-brace-format
3054
+ msgid "Secure Boot {state}"
3055
+ msgstr "Secure Boot {state}"
3056
+
3057
+ #: constants.py:792
3058
+ #, python-brace-format
3059
+ msgid "Shared memory {state}"
3060
+ msgstr "Mémoire partagée {state}"
3061
+
3062
+ #: constants.py:793
3063
+ #, python-brace-format
3064
+ msgid "Machine type set to {new_machine_type}"
3065
+ msgstr "Type de machine réglé sur {new_machine_type}"
3066
+
3067
+ #: constants.py:794
3068
+ #, python-brace-format
3069
+ msgid "VCPU set to {vcpu_count}"
3070
+ msgstr "VCPU réglé sur {vcpu_count}"
3071
+
3072
+ #: constants.py:795
3073
+ #, python-brace-format
3074
+ msgid "Memory set to {memory_mb} MB"
3075
+ msgstr "Mémoire réglée sur {memory_mb} Mo"
3076
+
3077
+ #: constants.py:796
3078
+ #, python-brace-format
3079
+ msgid "CPU model set to {new_cpu_model}"
3080
+ msgstr "Modèle CPU réglé sur {new_cpu_model}"
3081
+
3082
+ #: constants.py:797
3083
+ #, fuzzy, python-brace-format
3084
+ msgid "UEFI file set to {uefi_file_name}"
3085
+ msgstr "Fichier UEFI réglé sur {ui_file_name}"
3086
+
3087
+ #: constants.py:798
3088
+ #, python-brace-format
3089
+ msgid "Disk '{disk_path}' enabled successfully."
3090
+ msgstr "Disque '{disk_path}' activé avec succès."
3091
+
3092
+ #: constants.py:799
3093
+ #, python-brace-format
3094
+ msgid "Disk '{disk_path}' disabled successfully."
3095
+ msgstr "Disque '{disk_path}' désactivé avec succès."
3096
+
3097
+ #: constants.py:800
3098
+ #, python-brace-format
3099
+ msgid "Disk '{disk_path}' removed successfully."
3100
+ msgstr "Disque '{disk_path}' supprimé avec succès."
3101
+
3102
+ #: constants.py:801
3103
+ #, python-brace-format
3104
+ msgid "Disk '{disk_path}' added successfully."
3105
+ msgstr "Disque '{disk_path}' ajouté avec succès."
3106
+
3107
+ #: constants.py:802
3108
+ #, python-brace-format
3109
+ msgid "Existing disk '{disk_path}' attached successfully."
3110
+ msgstr "Disque existant '{disk_path}' attaché avec succès."
3111
+
3112
+ #: constants.py:803
3113
+ #, python-brace-format
3114
+ msgid "Disk '{disk_path}' updated successfully."
3115
+ msgstr "Disque '{disk_path}' mis à jour avec succès."
3116
+
3117
+ #: constants.py:804
3118
+ msgid "Network interface added successfully."
3119
+ msgstr "Interface réseau ajoutée avec succès."
3120
+
3121
+ #: constants.py:805
3122
+ msgid "Network interface removed successfully."
3123
+ msgstr "Interface réseau supprimée avec succès."
3124
+
3125
+ #: constants.py:806
3126
+ #, python-brace-format
3127
+ msgid "Interface {mac_address} switched to {new_network}"
3128
+ msgstr "Interface {mac_address} basculée vers {new_network}"
3129
+
3130
+ #: constants.py:807
3131
+ msgid "CPU pinning settings applied successfully."
3132
+ msgstr "Paramètres CPU pinning appliqués avec succès."
3133
+
3134
+ #: constants.py:808
3135
+ msgid "NUMA tuning settings applied successfully."
3136
+ msgstr "Paramètres NUMA tuning appliqués avec succès."
3137
+
3138
+ #: constants.py:813
3139
+ #, python-brace-format
3140
+ msgid "Connecting to [b]{uri}[/b]..."
3141
+ msgstr "Connexion à [b]{uri}[/b]..."
3142
+
3143
+ #: constants.py:814
3144
+ msgid "Configuration updated. Refreshing VM list..."
3145
+ msgstr "Configuration mise à jour. Actualisation de la liste des VMs..."
3146
+
3147
+ #: constants.py:815
3148
+ msgid "Loading VM data from remote server(s)..."
3149
+ msgstr "Chargement des données VM depuis le(s) serveur(s) distant(s)..."
3150
+
3151
+ #~ msgid "Snapshots"
3152
+ #~ msgstr "Instantanés"
3153
+
3154
+ #~ msgid "Overlay"
3155
+ #~ msgstr "Overlay"