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