@xen-orchestra/web-core 0.20.1 → 0.22.0
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.
- package/lib/assets/css/_typography.pcss +6 -0
- package/lib/assets/no-selection-old.svg +70 -0
- package/lib/assets/no-selection.svg +85 -70
- package/lib/components/backup-state/VtsBackupState.vue +20 -17
- package/lib/components/card/VtsCardRowKeyValue.vue +4 -0
- package/lib/components/cell-object/VtsCellObject.vue +4 -1
- package/lib/components/console/VtsActionsConsole.vue +7 -4
- package/lib/components/console/VtsClipboardConsole.vue +9 -6
- package/lib/components/copy-button/VtsCopyButton.vue +9 -15
- package/lib/components/dropdown/DropdownTitle.vue +5 -2
- package/lib/components/icon/NewVtsIcon.vue +49 -0
- package/lib/components/input-group/VtsInputGroup.vue +41 -0
- package/lib/components/input-wrapper/VtsInputWrapper.vue +2 -2
- package/lib/components/layout/VtsLayoutSidebar.vue +6 -3
- package/lib/components/linear-chart/VtsLinearChart.vue +4 -0
- package/lib/components/object-icon/VtsObjectIcon.vue +22 -0
- package/lib/components/quick-info-card/VtsQuickInfoCard.vue +4 -1
- package/lib/components/select/VtsOption.vue +10 -6
- package/lib/components/select/VtsSelect.vue +74 -50
- package/lib/components/state-hero/VtsAllDoneHero.vue +4 -1
- package/lib/components/state-hero/VtsAllGoodHero.vue +4 -1
- package/lib/components/state-hero/VtsComingSoonHero.vue +4 -1
- package/lib/components/state-hero/VtsErrorNoDataHero.vue +4 -1
- package/lib/components/state-hero/VtsLoadingHero.vue +4 -1
- package/lib/components/state-hero/VtsNoDataHero.vue +4 -1
- package/lib/components/state-hero/VtsNoSelectionHero.vue +4 -1
- package/lib/components/state-hero/VtsObjectNotFoundHero.vue +4 -1
- package/lib/components/state-hero/VtsOfflineHero.vue +4 -1
- package/lib/components/state-hero/VtsPageNotFoundHero.vue +4 -1
- package/lib/components/table/ColumnTitle.vue +2 -2
- package/lib/components/task/VtsQuickTaskButton.vue +4 -1
- package/lib/components/task/VtsQuickTaskList.vue +5 -2
- package/lib/components/task/VtsQuickTaskTabBar.vue +8 -5
- package/lib/components/ui/card-numbers/UiCardNumbers.vue +4 -1
- package/lib/components/ui/character-limit/UiCharacterLimit.vue +4 -1
- package/lib/components/ui/input/UiInput.vue +2 -2
- package/lib/components/ui/label/UiLabel.vue +4 -1
- package/lib/components/ui/panel/UiPanel.vue +16 -3
- package/lib/components/ui/progress-bar/UiProgressBar.vue +5 -2
- package/lib/components/ui/query-search-bar/UiQuerySearchBar.vue +9 -6
- package/lib/components/ui/quick-task-item/UiQuickTaskItem.vue +6 -3
- package/lib/components/ui/quoteCode/UiQuoteCode.vue +104 -0
- package/lib/components/ui/stacked-bar/StackedBarSegment.vue +4 -1
- package/lib/components/ui/table-pagination/UiTablePagination.vue +6 -3
- package/lib/components/ui/text-area/UiTextarea.vue +4 -1
- package/lib/components/ui/top-bottom-table/UiTopBottomTable.vue +6 -3
- package/lib/components/ui/tree-item-label/UiTreeItemLabel.vue +4 -1
- package/lib/composables/local-time-ago.composable.ts +53 -0
- package/lib/composables/locale-time-ago.composable.ts +53 -0
- package/lib/icons/fa-icons.ts +164 -0
- package/lib/icons/index.ts +15 -0
- package/lib/icons/legacy-icons.ts +80 -0
- package/lib/icons/object-icons.ts +187 -0
- package/lib/layouts/CoreLayout.vue +7 -3
- package/lib/locales/cs.json +0 -1
- package/lib/locales/de.json +1 -1
- package/lib/locales/en.json +40 -4
- package/lib/locales/es.json +1 -1
- package/lib/locales/fr.json +39 -3
- package/lib/locales/it.json +1 -1
- package/lib/locales/nl.json +1 -1
- package/lib/locales/ru.json +1 -1
- package/lib/locales/sv.json +1 -2
- package/lib/packages/collection/README.md +23 -18
- package/lib/packages/collection/create-collection.ts +22 -21
- package/lib/packages/collection/create-item.ts +21 -20
- package/lib/packages/collection/create-use-subset.ts +23 -0
- package/lib/packages/collection/guess-item-id.ts +26 -16
- package/lib/packages/collection/index.ts +4 -0
- package/lib/packages/collection/types.ts +65 -37
- package/lib/packages/collection/use-collection.ts +68 -18
- package/lib/packages/collection/use-flag-registry.ts +38 -17
- package/lib/packages/form-select/guess-label.ts +45 -0
- package/lib/packages/form-select/guess-value.ts +23 -0
- package/lib/packages/form-select/index.ts +6 -0
- package/lib/packages/form-select/normalize-search-term.ts +11 -0
- package/lib/packages/form-select/types.ts +90 -42
- package/lib/packages/form-select/use-form-option-controller.ts +7 -3
- package/lib/packages/form-select/use-form-select-controller.ts +38 -27
- package/lib/packages/form-select/use-form-select-keyboard-navigation.ts +1 -1
- package/lib/packages/form-select/use-form-select.ts +308 -130
- package/lib/packages/icon/DisplayIcon.vue +25 -0
- package/lib/packages/icon/DisplayIconAny.vue +16 -0
- package/lib/packages/icon/DisplayIconSingle.vue +35 -0
- package/lib/packages/icon/DisplayIconStack.vue +34 -0
- package/lib/packages/icon/README.md +286 -0
- package/lib/packages/icon/create-icon-bindings.ts +27 -0
- package/lib/packages/icon/define-icon-pack.ts +23 -0
- package/lib/packages/icon/define-icon-single.ts +17 -0
- package/lib/packages/icon/define-icon-stack.ts +20 -0
- package/lib/packages/icon/define-icon.ts +40 -0
- package/lib/packages/icon/generate-icon-variants.ts +17 -0
- package/lib/packages/icon/index.ts +8 -0
- package/lib/packages/icon/is-icon-stack.ts +5 -0
- package/lib/packages/icon/merge-icons.ts +25 -0
- package/lib/packages/icon/merge-transforms.ts +12 -0
- package/lib/packages/icon/normalize-icon.ts +25 -0
- package/lib/packages/icon/to-tuple.ts +7 -0
- package/lib/packages/icon/types.ts +72 -0
- package/lib/packages/job/README.md +2 -2
- package/lib/packages/mapper/README.md +166 -0
- package/lib/packages/mapper/convert-to-map.ts +5 -0
- package/lib/packages/mapper/create-mapper.ts +30 -0
- package/lib/packages/mapper/index.ts +4 -0
- package/lib/packages/mapper/types.ts +1 -0
- package/lib/packages/mapper/use-mapper.ts +31 -0
- package/lib/stores/sidebar.store.ts +1 -1
- package/lib/types/chart.ts +2 -2
- package/lib/types/utility.type.ts +9 -0
- package/lib/utils/object.util.ts +16 -0
- package/lib/utils/size.util.ts +14 -3
- package/package.json +2 -1
- package/lib/assets/zoom.svg +0 -85
- package/lib/components/backup-item/VtsBackupItem.vue +0 -47
- package/lib/composables/mapper.composable.md +0 -74
- package/lib/composables/mapper.composable.ts +0 -18
package/lib/locales/en.json
CHANGED
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
{
|
|
2
|
+
"2nd-last": "2nd last",
|
|
3
|
+
"3rd-last": "3rd last",
|
|
2
4
|
"about": "About",
|
|
3
5
|
"access-forum": "Access forum",
|
|
4
6
|
"access-xoa": "Access XOA",
|
|
@@ -22,9 +24,10 @@
|
|
|
22
24
|
"alarm-type.sr_io_throughput_total_per_host": "SR IO throughput total per host exceeds {n}%",
|
|
23
25
|
"alarm-type.unknown": "Unknown alarm type",
|
|
24
26
|
"alarms": "Alarms",
|
|
25
|
-
"all-good": "All good!",
|
|
26
27
|
"all-done": "All done!",
|
|
28
|
+
"all-good": "All good!",
|
|
27
29
|
"allow-self-signed-ssl": "You may need to allow self-signed SSL certificates in your browser",
|
|
30
|
+
"api-error-details": "API Error details",
|
|
28
31
|
"appearance": "Appearance",
|
|
29
32
|
"ascending": "ascending",
|
|
30
33
|
"auto-generated": "Automatically generated",
|
|
@@ -35,6 +38,7 @@
|
|
|
35
38
|
"back-site-dashboard": "Go back to your site dashboard",
|
|
36
39
|
"backup": "Backup",
|
|
37
40
|
"backup-issues": "Backup issues",
|
|
41
|
+
"backup-network": "Backup network",
|
|
38
42
|
"backup-repository": "Backup repository (local, NFS, SMB)",
|
|
39
43
|
"backups": "Backups",
|
|
40
44
|
"backups.jobs": "Jobs",
|
|
@@ -76,6 +80,10 @@
|
|
|
76
80
|
"confirm-cancel": "Are you sure you want to cancel?",
|
|
77
81
|
"confirm-delete": "You're about to delete {0}",
|
|
78
82
|
"connected": "Connected",
|
|
83
|
+
"connecting": "Connecting",
|
|
84
|
+
"connection": "Connection",
|
|
85
|
+
"connection-failed": "Connection failed",
|
|
86
|
+
"connections": "Connections",
|
|
79
87
|
"console": "Console",
|
|
80
88
|
"console-actions": "Console actions",
|
|
81
89
|
"console-clipboard": "Console clipboard",
|
|
@@ -124,7 +132,9 @@
|
|
|
124
132
|
"cpu-usage": "CPU usage",
|
|
125
133
|
"cpu-weight": "CPU weight",
|
|
126
134
|
"cpus": "CPUs",
|
|
135
|
+
"crash-dump-storage-repository": "Crash dump storage repository",
|
|
127
136
|
"create": "Create",
|
|
137
|
+
"created-on": "Created on",
|
|
128
138
|
"custom-config": "Custom config",
|
|
129
139
|
"dark-mode.auto": "Auto dark mode",
|
|
130
140
|
"dark-mode.disable": "Disable dark mode",
|
|
@@ -132,6 +142,7 @@
|
|
|
132
142
|
"dashboard": "Dashboard",
|
|
133
143
|
"default-behavior": "Default behavior",
|
|
134
144
|
"default-locking-mode": "Default locking mode",
|
|
145
|
+
"default-storage-repository": "Default storage repository",
|
|
135
146
|
"delete": "Delete",
|
|
136
147
|
"delete-vms": "Delete 1 VM | Delete {n} VMs",
|
|
137
148
|
"deploy": "Deploy",
|
|
@@ -162,6 +173,7 @@
|
|
|
162
173
|
"enabled": "Enabled",
|
|
163
174
|
"end-of-life": "End of life",
|
|
164
175
|
"eol": "EOL",
|
|
176
|
+
"error": "Error",
|
|
165
177
|
"error-no-data": "Error, can't collect data.",
|
|
166
178
|
"error-occurred": "An error has occurred",
|
|
167
179
|
"exit-fullscreen": "Exit fullscreen",
|
|
@@ -173,6 +185,7 @@
|
|
|
173
185
|
"export-vm": "Export VM",
|
|
174
186
|
"export-vms": "Export VMs",
|
|
175
187
|
"export-vms-manually-information": "Some VM exports were not able to start automatically, probably due to your browser settings. To export them, you should click on each one. (Alternatively, copy the link as well.)",
|
|
188
|
+
"failure": "Failure",
|
|
176
189
|
"fast-clone": "Fast clone",
|
|
177
190
|
"fetching-fresh-data": "Fetching fresh data",
|
|
178
191
|
"filter.comparison.contains": "Contains",
|
|
@@ -194,6 +207,7 @@
|
|
|
194
207
|
"for-replication": "For replication",
|
|
195
208
|
"force-reboot": "Force reboot",
|
|
196
209
|
"force-shutdown": "Force shutdown",
|
|
210
|
+
"forget": "Forget",
|
|
197
211
|
"fullscreen": "Fullscreen",
|
|
198
212
|
"fullscreen-leave": "Leave fullscreen",
|
|
199
213
|
"gateway": "Gateway",
|
|
@@ -204,6 +218,7 @@
|
|
|
204
218
|
"gzip": "gzip",
|
|
205
219
|
"hardware": "Hardware",
|
|
206
220
|
"hardware-specifications": "Hardware specifications",
|
|
221
|
+
"heartbeat-storage-repository": "Heartbeat storage repository",
|
|
207
222
|
"here": "Here",
|
|
208
223
|
"high-availability": "High availability (HA)",
|
|
209
224
|
"host": "Host",
|
|
@@ -222,10 +237,11 @@
|
|
|
222
237
|
"hosts-status.unknown": "Unknown",
|
|
223
238
|
"hosts-status.unknown.tooltip": "Hosts metrics are unavailable",
|
|
224
239
|
"hyper-threading": "Hyper threading (SMT)",
|
|
225
|
-
"id": "
|
|
240
|
+
"id": "ID",
|
|
226
241
|
"in-last-three-jobs": "In their last three jobs",
|
|
227
242
|
"install-settings": "Install settings",
|
|
228
243
|
"interfaces": "Interface | Interface | Interfaces",
|
|
244
|
+
"interrupted": "Interrupted",
|
|
229
245
|
"invalid-field": "Invalid field",
|
|
230
246
|
"ip-address": "IP address",
|
|
231
247
|
"ip-addresses": "IP addresses",
|
|
@@ -233,6 +249,7 @@
|
|
|
233
249
|
"is-primary-host": "{name} is primary host",
|
|
234
250
|
"iscsi-iqn": "iSCSI IQN",
|
|
235
251
|
"iso-dvd": "ISO/DVD",
|
|
252
|
+
"job-name": "Job name",
|
|
236
253
|
"job.vm-copy.bad-power-state": "VM must be halted",
|
|
237
254
|
"job.vm-copy.in-progress": "Copy in progress…",
|
|
238
255
|
"job.vm-copy.missing-vms": "No VM to copy",
|
|
@@ -280,6 +297,7 @@
|
|
|
280
297
|
"keep-me-logged": "Keep me logged in",
|
|
281
298
|
"keep-page-open": "Do not refresh or quit tab before end of deployment.",
|
|
282
299
|
"language": "Language",
|
|
300
|
+
"last": "Last",
|
|
283
301
|
"last-week": "Last week",
|
|
284
302
|
"learn-more": "Learn more",
|
|
285
303
|
"license-socket": "License socket",
|
|
@@ -308,6 +326,7 @@
|
|
|
308
326
|
"memory-usage": "Memory usage",
|
|
309
327
|
"migrate": "Migrate",
|
|
310
328
|
"migrate-n-vms": "Migrate 1 VM | Migrate {n} VMs",
|
|
329
|
+
"migration-compression": "Migration compression",
|
|
311
330
|
"minimum-cpu-limit": "Minimum CPU limit",
|
|
312
331
|
"minimum-dynamic-memory": "Minimum dynamic memory",
|
|
313
332
|
"minimum-static-memory": "Minimum static memory",
|
|
@@ -353,10 +372,12 @@
|
|
|
353
372
|
"no-results": "No results",
|
|
354
373
|
"no-selected-vm-can-be-exported": "No selected VM can be exported",
|
|
355
374
|
"no-selected-vm-can-be-migrated": "No selected VM can be migrated",
|
|
375
|
+
"no-server-detected": "No server detected",
|
|
356
376
|
"no-tasks": "No tasks",
|
|
357
377
|
"no-vif-detected": "No VIF detected",
|
|
358
378
|
"none": "None",
|
|
359
379
|
"not-found": "Not found",
|
|
380
|
+
"not-running": "Not running",
|
|
360
381
|
"not-yet-available": "Information is not yet available",
|
|
361
382
|
"object": "Object",
|
|
362
383
|
"object-not-found": "Object {id} can't be found…",
|
|
@@ -385,6 +406,7 @@
|
|
|
385
406
|
"please-confirm": "Please confirm",
|
|
386
407
|
"pool": "Pool",
|
|
387
408
|
"pool-cpu-usage": "Pool CPU Usage",
|
|
409
|
+
"pool-management": "Pool management",
|
|
388
410
|
"pool-ram-usage": "Pool RAM Usage",
|
|
389
411
|
"pools": "Pools",
|
|
390
412
|
"pools-status": "Pools status",
|
|
@@ -392,22 +414,24 @@
|
|
|
392
414
|
"pools-status.unknown": "Unknown",
|
|
393
415
|
"pools-status.unknown.tooltip": "Servers currently connecting or in an unknown state",
|
|
394
416
|
"pools-status.unreachable": "Unreachable",
|
|
395
|
-
"pools-status.unreachable.tooltip": "Configured servers that
|
|
417
|
+
"pools-status.unreachable.tooltip": "Configured servers that cannot be reached",
|
|
396
418
|
"power-on-host-for-console": "Power on your host to access its console",
|
|
397
419
|
"power-on-mode": "Power on mode",
|
|
398
420
|
"power-on-vm-for-console": "Power on your VM to access its console",
|
|
399
421
|
"power-state": "Power state",
|
|
400
|
-
"primary-host": "Primary host",
|
|
401
422
|
"professional-support": "Professional support",
|
|
402
423
|
"properties": "Properties",
|
|
403
424
|
"property": "Property",
|
|
404
425
|
"protect-from-accidental-deletion": "Protect from accidental deletion",
|
|
405
426
|
"protect-from-accidental-shutdown": "Protect from accidental shutdown",
|
|
427
|
+
"proxy-url": "Proxy URL",
|
|
406
428
|
"pxe": "PXE",
|
|
407
429
|
"quick-info": "Quick info",
|
|
408
430
|
"ram": "RAM",
|
|
409
431
|
"ram-provisioning": "RAM provisioning",
|
|
410
432
|
"ram-usage": "RAM usage",
|
|
433
|
+
"read": "Read",
|
|
434
|
+
"read-only": "Read-only",
|
|
411
435
|
"reboot": "Reboot",
|
|
412
436
|
"receive": "Receive",
|
|
413
437
|
"reformat": "Reformat",
|
|
@@ -438,6 +462,7 @@
|
|
|
438
462
|
"select.network": "Select a network",
|
|
439
463
|
"select.storage": "Select a storage",
|
|
440
464
|
"selected-vms-in-execution": "Some selected VMs are running",
|
|
465
|
+
"self-signed-certificates": "Self-signed certificates",
|
|
441
466
|
"send": "Send",
|
|
442
467
|
"send-ctrl-alt-del": "Send Ctrl+Alt+Del",
|
|
443
468
|
"send-us-feedback": "Send us feedback",
|
|
@@ -446,6 +471,7 @@
|
|
|
446
471
|
"sidebar.search-tree-view": "Search in treeview",
|
|
447
472
|
"sidebar.vms-treeview": "VMs treeview",
|
|
448
473
|
"size": "Size",
|
|
474
|
+
"skipped": "Skipped",
|
|
449
475
|
"snapshot": "Snapshot",
|
|
450
476
|
"sockets-with-cores-per-socket": "{nSockets} sockets × {nCores} cores/socket",
|
|
451
477
|
"software-tooling": "Software & tooling",
|
|
@@ -473,6 +499,7 @@
|
|
|
473
499
|
"storage-repositories": "Storage repositories",
|
|
474
500
|
"storage-repository": "Storage repository",
|
|
475
501
|
"storage-usage": "Storage usage",
|
|
502
|
+
"success": "Success",
|
|
476
503
|
"summary": "Summary",
|
|
477
504
|
"support": "Support",
|
|
478
505
|
"suspend": "Suspend",
|
|
@@ -511,6 +538,7 @@
|
|
|
511
538
|
"total-storage-repository": "Total storage repository",
|
|
512
539
|
"total-used": "Total used",
|
|
513
540
|
"total-used:": "Total used:",
|
|
541
|
+
"unable-to-connect-to-the-pool": "Unable to connect to the pool",
|
|
514
542
|
"unknown": "Unknown",
|
|
515
543
|
"unlocked": "Unlocked",
|
|
516
544
|
"unreachable-hosts": "Unreachable hosts",
|
|
@@ -518,10 +546,12 @@
|
|
|
518
546
|
"up-to-date": "Up-to-date",
|
|
519
547
|
"used": "Used",
|
|
520
548
|
"user-config": "User config",
|
|
549
|
+
"username": "Username",
|
|
521
550
|
"uuid": "UUID",
|
|
522
551
|
"vcpus": "vCPU | vCPU | vCPUs",
|
|
523
552
|
"vcpus-assigned": "vCPUs assigned",
|
|
524
553
|
"vcpus-used": "vCPUs used",
|
|
554
|
+
"vdi-throughput": "VDI throughput",
|
|
525
555
|
"vdis": "VDI | VDI | VDIs",
|
|
526
556
|
"version": "Version",
|
|
527
557
|
"vga": "VGA",
|
|
@@ -534,12 +564,17 @@
|
|
|
534
564
|
"virtual-tpm": "Virtual TPM (VTPM)",
|
|
535
565
|
"virtualization-boot-settings": "Virtualization & boot settings",
|
|
536
566
|
"virtualization-mode": "Virtualization mode",
|
|
567
|
+
"virtualization-type": "Virtualization type",
|
|
537
568
|
"vlan": "VLAN",
|
|
538
569
|
"vm": "VM",
|
|
539
570
|
"vm-description": "VM description",
|
|
540
571
|
"vm-is-running": "The VM is running",
|
|
541
572
|
"vm-limit-topology": "VM limit topology",
|
|
542
573
|
"vm-management": "VM management",
|
|
574
|
+
"vm-status.halted": "Halted",
|
|
575
|
+
"vm-status.paused": "Paused",
|
|
576
|
+
"vm-status.running": "Running",
|
|
577
|
+
"vm-status.suspended": "Suspended",
|
|
543
578
|
"vm.active": "Active",
|
|
544
579
|
"vm.inactive": "Inactive",
|
|
545
580
|
"vms": "VM | VMs",
|
|
@@ -552,6 +587,7 @@
|
|
|
552
587
|
"vms-status.suspended": "Suspended",
|
|
553
588
|
"vms-status.unknown": "Unknown",
|
|
554
589
|
"vms-status.unknown.tooltip": "For which XO has lost connection to the pool",
|
|
590
|
+
"write": "Write",
|
|
555
591
|
"xo-backups": "XO backups",
|
|
556
592
|
"xo-lite-under-construction": "XOLite is under construction",
|
|
557
593
|
"xo-replications": "XO replications",
|
package/lib/locales/es.json
CHANGED
|
@@ -203,7 +203,7 @@
|
|
|
203
203
|
"hosts-status.running": "En marcha",
|
|
204
204
|
"hosts-status.unknown": "Desconocido",
|
|
205
205
|
"hosts-status.unknown.tooltip": "Métricas de servidores no son disponibles",
|
|
206
|
-
"id": "
|
|
206
|
+
"id": "ID",
|
|
207
207
|
"in-last-three-jobs": "En las últimas tres tareas",
|
|
208
208
|
"install-settings": "Parámetros de instalación",
|
|
209
209
|
"interfaces": "Interfaz | Interfaz | Interfaces",
|
package/lib/locales/fr.json
CHANGED
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
{
|
|
2
|
+
"2nd-last": "Avant-dernier",
|
|
3
|
+
"3rd-last": "Avant-avant-dernier",
|
|
2
4
|
"about": "À propos",
|
|
3
5
|
"access-forum": "Accès au forum",
|
|
4
6
|
"access-xoa": "Accéder à la XOA",
|
|
@@ -22,9 +24,10 @@
|
|
|
22
24
|
"alarm-type.sr_io_throughput_total_per_host": "Le débit total de l'IO SR par hôte dépasse {n}%",
|
|
23
25
|
"alarm-type.unknown": "Type d'alarme inconnu",
|
|
24
26
|
"alarms": "Alarmes",
|
|
25
|
-
"all-good": "Tout va bien !",
|
|
26
27
|
"all-done": "Tout est terminé !",
|
|
28
|
+
"all-good": "Tout va bien !",
|
|
27
29
|
"allow-self-signed-ssl": "Vous devrez peut-être autoriser les certificats SSL auto-signés depuis votre navigateur",
|
|
30
|
+
"api-error-details": "Details de l'erreur API",
|
|
28
31
|
"appearance": "Apparence",
|
|
29
32
|
"ascending": "ascendant",
|
|
30
33
|
"auto-generated": "Généré automatiquement",
|
|
@@ -35,6 +38,7 @@
|
|
|
35
38
|
"back-site-dashboard": "Revenir au tableau de bord du site",
|
|
36
39
|
"backup": "Sauvegarde",
|
|
37
40
|
"backup-issues": "Problèmes de sauvegarde",
|
|
41
|
+
"backup-network": "Réseau de sauvegarde",
|
|
38
42
|
"backup-repository": "Dépôt de sauvegarde (local, NFS, SMB)",
|
|
39
43
|
"backups": "Sauvegardes",
|
|
40
44
|
"backups.jobs": "Jobs",
|
|
@@ -76,6 +80,10 @@
|
|
|
76
80
|
"confirm-cancel": "Êtes-vous sûr de vouloir annuler ?",
|
|
77
81
|
"confirm-delete": "Vous êtes sur le point de supprimer {0}",
|
|
78
82
|
"connected": "Connecté",
|
|
83
|
+
"connecting": "Connexion en cours",
|
|
84
|
+
"connection": "Connexion",
|
|
85
|
+
"connection-failed": "Échec de la connexion",
|
|
86
|
+
"connections": "Connexions",
|
|
79
87
|
"console": "Console",
|
|
80
88
|
"console-actions": "Actions de la console",
|
|
81
89
|
"console-clipboard": "Presse-papiers de la console",
|
|
@@ -124,7 +132,9 @@
|
|
|
124
132
|
"cpu-usage": "Utilisation CPU",
|
|
125
133
|
"cpu-weight": "Pondération CPU",
|
|
126
134
|
"cpus": "CPUs",
|
|
135
|
+
"crash-dump-storage-repository": "Dépôt de stockage des log de crash",
|
|
127
136
|
"create": "Créer",
|
|
137
|
+
"created-on": "Créé le",
|
|
128
138
|
"custom-config": "Configuration personnalisée",
|
|
129
139
|
"dark-mode.auto": "Mode sombre automatique",
|
|
130
140
|
"dark-mode.disable": "Désactiver le mode sombre",
|
|
@@ -132,6 +142,7 @@
|
|
|
132
142
|
"dashboard": "Tableau de bord",
|
|
133
143
|
"default-behavior": "Comportement par défaut",
|
|
134
144
|
"default-locking-mode": "Mode de verrouillage par défaut",
|
|
145
|
+
"default-storage-repository": "Dépôt de stockage par défaut",
|
|
135
146
|
"delete": "Supprimer",
|
|
136
147
|
"delete-vms": "Supprimer 1 VM | Supprimer {n} VMs",
|
|
137
148
|
"deploy": "Déployer",
|
|
@@ -162,6 +173,7 @@
|
|
|
162
173
|
"enabled": "Activé",
|
|
163
174
|
"end-of-life": "Fin de vie",
|
|
164
175
|
"eol": "EOL",
|
|
176
|
+
"error": "Erreur",
|
|
165
177
|
"error-no-data": "Erreur, impossible de collecter les données.",
|
|
166
178
|
"error-occurred": "Une erreur est survenue",
|
|
167
179
|
"exit-fullscreen": "Quitter le plein écran",
|
|
@@ -173,6 +185,7 @@
|
|
|
173
185
|
"export-vm": "Exporter la VM",
|
|
174
186
|
"export-vms": "Exporter les VMs",
|
|
175
187
|
"export-vms-manually-information": "Certaines exportations de VMs n'ont pas pu démarrer automatiquement, peut-être en raison des paramètres du navigateur. Pour les exporter, vous devrez cliquer sur chacune d'entre elles. (Ou copier le lien.)",
|
|
188
|
+
"failure": "Echec",
|
|
176
189
|
"fast-clone": "Clonage rapide",
|
|
177
190
|
"fetching-fresh-data": "Récupération de données à jour",
|
|
178
191
|
"filter.comparison.contains": "Contient",
|
|
@@ -194,6 +207,7 @@
|
|
|
194
207
|
"for-replication": "Pour la réplication",
|
|
195
208
|
"force-reboot": "Forcer le redémarrage",
|
|
196
209
|
"force-shutdown": "Forcer l'arrêt",
|
|
210
|
+
"forget": "Oublier",
|
|
197
211
|
"fullscreen": "Plein écran",
|
|
198
212
|
"fullscreen-leave": "Quitter plein écran",
|
|
199
213
|
"gateway": "Passerelle",
|
|
@@ -204,6 +218,7 @@
|
|
|
204
218
|
"gzip": "gzip",
|
|
205
219
|
"hardware": "Matériel",
|
|
206
220
|
"hardware-specifications": "Spécifications matérielles",
|
|
221
|
+
"heartbeat-storage-repository": "Dépôt de stockage pour le heartbeat de la haute disponibilité",
|
|
207
222
|
"here": "Ici",
|
|
208
223
|
"high-availability": "Haute Disponibilité (HA)",
|
|
209
224
|
"host": "Hôte",
|
|
@@ -222,10 +237,11 @@
|
|
|
222
237
|
"hosts-status.unknown": "Inconnu",
|
|
223
238
|
"hosts-status.unknown.tooltip": "Les métriques de l'hôte sont inaccessibles",
|
|
224
239
|
"hyper-threading": "Hyper-threading (SMT)",
|
|
225
|
-
"id": "
|
|
240
|
+
"id": "ID",
|
|
226
241
|
"in-last-three-jobs": "Dans leurs trois derniers jobs",
|
|
227
242
|
"install-settings": "Paramètres d'installation",
|
|
228
243
|
"interfaces": "Interface | Interface | Interfaces",
|
|
244
|
+
"interrupted": "Interrompu",
|
|
229
245
|
"invalid-field": "Champ invalide",
|
|
230
246
|
"ip-address": "Adresse IP",
|
|
231
247
|
"ip-addresses": "Adresses IP",
|
|
@@ -233,6 +249,7 @@
|
|
|
233
249
|
"is-primary-host": "{name} est l'hôte primaire",
|
|
234
250
|
"iscsi-iqn": "iSCSI IQN",
|
|
235
251
|
"iso-dvd": "ISO/DVD",
|
|
252
|
+
"job-name": "Nom du job",
|
|
236
253
|
"job.vm-copy.bad-power-state": "La VM doit être arrêtée",
|
|
237
254
|
"job.vm-copy.in-progress": "Copie en cours…",
|
|
238
255
|
"job.vm-copy.missing-vms": "Aucune VM à copier",
|
|
@@ -280,6 +297,7 @@
|
|
|
280
297
|
"keep-me-logged": "Rester connecté",
|
|
281
298
|
"keep-page-open": "Ne pas rafraichir ou quitter cette page avant la fin du déploiement.",
|
|
282
299
|
"language": "Langue",
|
|
300
|
+
"last": "Dernier",
|
|
283
301
|
"last-week": "Semaine dernière",
|
|
284
302
|
"learn-more": "En savoir plus",
|
|
285
303
|
"license-socket": "Licence socket",
|
|
@@ -308,6 +326,7 @@
|
|
|
308
326
|
"memory-usage": "Utilisation de la mémoire",
|
|
309
327
|
"migrate": "Migrer",
|
|
310
328
|
"migrate-n-vms": "Migrer 1 VM | Migrer {n} VMs",
|
|
329
|
+
"migration-compression": "Compression des migrations",
|
|
311
330
|
"minimum-cpu-limit": "Nombre minimal de CPU",
|
|
312
331
|
"minimum-dynamic-memory": "Mémoire dynamique minimale",
|
|
313
332
|
"minimum-static-memory": "Mémoire statique minimale",
|
|
@@ -353,10 +372,12 @@
|
|
|
353
372
|
"no-results": "Aucun résultat",
|
|
354
373
|
"no-selected-vm-can-be-exported": "Aucune VM sélectionnée ne peut être exportée",
|
|
355
374
|
"no-selected-vm-can-be-migrated": "Aucune VM sélectionnée ne peut être migrée",
|
|
375
|
+
"no-server-detected": "Aucun serveur détecté",
|
|
356
376
|
"no-tasks": "Aucune tâche",
|
|
357
377
|
"no-vif-detected": "Aucun VIF détecté",
|
|
358
378
|
"none": "Aucun",
|
|
359
379
|
"not-found": "Non trouvé",
|
|
380
|
+
"not-running": "Pas en cours d'exécution",
|
|
360
381
|
"not-yet-available": "Information pas encore disponible",
|
|
361
382
|
"object": "Objet",
|
|
362
383
|
"object-not-found": "L'objet {id} est introuvable…",
|
|
@@ -385,6 +406,7 @@
|
|
|
385
406
|
"please-confirm": "Veuillez confirmer",
|
|
386
407
|
"pool": "Pool",
|
|
387
408
|
"pool-cpu-usage": "Utilisation CPU du Pool",
|
|
409
|
+
"pool-management": "Gestion du Pool",
|
|
388
410
|
"pool-ram-usage": "Utilisation RAM du Pool",
|
|
389
411
|
"pools": "Pools",
|
|
390
412
|
"pools-status": "Statut des pools",
|
|
@@ -397,17 +419,19 @@
|
|
|
397
419
|
"power-on-mode": "Mode d'alimentation",
|
|
398
420
|
"power-on-vm-for-console": "Allumez votre VM pour accéder à sa console",
|
|
399
421
|
"power-state": "État d'alimentation",
|
|
400
|
-
"primary-host": "Hôte primaire",
|
|
401
422
|
"professional-support": "Support professionnel",
|
|
402
423
|
"properties": "Propriétés",
|
|
403
424
|
"property": "Propriété",
|
|
404
425
|
"protect-from-accidental-deletion": "Protection contre les suppressions accidentelles",
|
|
405
426
|
"protect-from-accidental-shutdown": "Protection contre les extinctions accidentelles",
|
|
427
|
+
"proxy-url": "URL du proxy",
|
|
406
428
|
"pxe": "PXE",
|
|
407
429
|
"quick-info": "Informations rapides",
|
|
408
430
|
"ram": "RAM",
|
|
409
431
|
"ram-provisioning": "Provisionnement RAM",
|
|
410
432
|
"ram-usage": "Utilisation de la RAM",
|
|
433
|
+
"read": "Lecture",
|
|
434
|
+
"read-only": "Lecture seule",
|
|
411
435
|
"reboot": "Redémarrer",
|
|
412
436
|
"receive": "Recevoir",
|
|
413
437
|
"reformat": "Reformater",
|
|
@@ -438,6 +462,7 @@
|
|
|
438
462
|
"select.network": "Sélectionner un réseau",
|
|
439
463
|
"select.storage": "Sélectionner un SR",
|
|
440
464
|
"selected-vms-in-execution": "Certaines VMs sélectionnées sont en cours d'exécution",
|
|
465
|
+
"self-signed-certificates": "Certificats auto-signés",
|
|
441
466
|
"send": "Envoyer",
|
|
442
467
|
"send-ctrl-alt-del": "Envoyer Ctrl+Alt+Suppr",
|
|
443
468
|
"send-us-feedback": "Envoyez-nous vos commentaires",
|
|
@@ -446,6 +471,7 @@
|
|
|
446
471
|
"sidebar.search-tree-view": "Rechercher dans l'arborescence",
|
|
447
472
|
"sidebar.vms-treeview": "Arborescence des VMs",
|
|
448
473
|
"size": "Taille",
|
|
474
|
+
"skipped": "Ignoré",
|
|
449
475
|
"snapshot": "Instantané",
|
|
450
476
|
"sockets-with-cores-per-socket": "{nSockets} sockets × {nCores} cœurs/socket",
|
|
451
477
|
"software-tooling": "Logiciels et outils",
|
|
@@ -473,6 +499,7 @@
|
|
|
473
499
|
"storage-repositories": "Dépôts de stockage",
|
|
474
500
|
"storage-repository": "Dépot de stockage",
|
|
475
501
|
"storage-usage": "Utilisation du stockage",
|
|
502
|
+
"success": "Succès",
|
|
476
503
|
"summary": "Résumé",
|
|
477
504
|
"support": "Support",
|
|
478
505
|
"suspend": "Suspendre",
|
|
@@ -511,6 +538,7 @@
|
|
|
511
538
|
"total-storage-repository": "Total dépot de stockage",
|
|
512
539
|
"total-used": "Total utilisé",
|
|
513
540
|
"total-used:": "Total utilisé :",
|
|
541
|
+
"unable-to-connect-to-the-pool": "Impossible de se connecter au Pool",
|
|
514
542
|
"unknown": "Inconnu",
|
|
515
543
|
"unlocked": "Débloqué",
|
|
516
544
|
"unreachable-hosts": "Hôtes inaccessibles",
|
|
@@ -518,10 +546,12 @@
|
|
|
518
546
|
"up-to-date": "À jour",
|
|
519
547
|
"used": "Utilisé",
|
|
520
548
|
"user-config": "Configuration utilisateur",
|
|
549
|
+
"username": "Nom d'utilisateur",
|
|
521
550
|
"uuid": "UUID",
|
|
522
551
|
"vcpus": "vCPU | vCPU | vCPUs",
|
|
523
552
|
"vcpus-assigned": "vCPUs assignés",
|
|
524
553
|
"vcpus-used": "vCPUs utilisés",
|
|
554
|
+
"vdi-throughput": "Débit du VDI",
|
|
525
555
|
"vdis": "VDI | VDI | VDIs",
|
|
526
556
|
"version": "Version",
|
|
527
557
|
"vga": "VGA",
|
|
@@ -534,12 +564,17 @@
|
|
|
534
564
|
"virtual-tpm": "TPM virtuel (VTPM)",
|
|
535
565
|
"virtualization-boot-settings": "Virtualisation & paramètres de démarrage",
|
|
536
566
|
"virtualization-mode": "Mode de virtualisation",
|
|
567
|
+
"virtualization-type": "Type de virtualisation",
|
|
537
568
|
"vlan": "VLAN",
|
|
538
569
|
"vm": "VM",
|
|
539
570
|
"vm-description": "Description de la VM",
|
|
540
571
|
"vm-is-running": "La VM est en cours d'exécution",
|
|
541
572
|
"vm-limit-topology": "Limite de topologie physique des VMs",
|
|
542
573
|
"vm-management": "Gestion de la VM",
|
|
574
|
+
"vm-status.halted": "Éteinte",
|
|
575
|
+
"vm-status.paused": "En pause",
|
|
576
|
+
"vm-status.running": "Démarrée",
|
|
577
|
+
"vm-status.suspended": "Suspendue",
|
|
543
578
|
"vm.active": "Active | Active | Actives",
|
|
544
579
|
"vm.inactive": "Inactive | Inactive | Inactives",
|
|
545
580
|
"vms": "VM | VMs",
|
|
@@ -552,6 +587,7 @@
|
|
|
552
587
|
"vms-status.suspended": "Suspendues",
|
|
553
588
|
"vms-status.unknown": "Inconnu",
|
|
554
589
|
"vms-status.unknown.tooltip": "Dont XO a perdu la connexion avec le pool",
|
|
590
|
+
"write": "Écriture",
|
|
555
591
|
"xo-backups": "Sauvegardes XO",
|
|
556
592
|
"xo-lite-under-construction": "XOLite est en construction",
|
|
557
593
|
"xo-replications": "Réplications XO",
|
package/lib/locales/it.json
CHANGED
|
@@ -197,7 +197,7 @@
|
|
|
197
197
|
"hosts-status.running": "Acceso",
|
|
198
198
|
"hosts-status.unknown": "Sconosciuto",
|
|
199
199
|
"hosts-status.unknown.tooltip": "Misurazioni dall'host non disponibili",
|
|
200
|
-
"id": "
|
|
200
|
+
"id": "ID",
|
|
201
201
|
"in-last-three-jobs": "Nei loro ultimi tre lavori",
|
|
202
202
|
"install-settings": "Impostazioni di installazione",
|
|
203
203
|
"interfaces": "Interfaccia | Interfaccia | Interfacce",
|
package/lib/locales/nl.json
CHANGED
|
@@ -213,7 +213,7 @@
|
|
|
213
213
|
"hosts-status.running": "Draait",
|
|
214
214
|
"hosts-status.unknown": "Onbekend",
|
|
215
215
|
"hosts-status.unknown.tooltip": "Hosts statistieken zijn niet beschikbaar",
|
|
216
|
-
"id": "
|
|
216
|
+
"id": "ID",
|
|
217
217
|
"in-last-three-jobs": "Tijdens hun laatste drie opdrachten",
|
|
218
218
|
"install-settings": "Installatie instellingen",
|
|
219
219
|
"interfaces": "Interface | Interface | Interfaces",
|
package/lib/locales/ru.json
CHANGED
package/lib/locales/sv.json
CHANGED
|
@@ -221,7 +221,7 @@
|
|
|
221
221
|
"hosts-status.unknown": "Okänt",
|
|
222
222
|
"hosts-status.unknown.tooltip": "Host-data är otillgängligt",
|
|
223
223
|
"hyper-threading": "Multitrådning (SMT)",
|
|
224
|
-
"id": "
|
|
224
|
+
"id": "ID",
|
|
225
225
|
"in-last-three-jobs": "I de senaste tre jobben",
|
|
226
226
|
"install-settings": "Installationsinställningar",
|
|
227
227
|
"interfaces": "Gränssnitt | Gränssnitt | Gränssnitten",
|
|
@@ -395,7 +395,6 @@
|
|
|
395
395
|
"power-on-mode": "Strömpåslagningsläge",
|
|
396
396
|
"power-on-vm-for-console": "Starta din VM för att ansluta till konsolen",
|
|
397
397
|
"power-state": "Strömläge",
|
|
398
|
-
"primary-host": "Primär host",
|
|
399
398
|
"professional-support": "Professionell support",
|
|
400
399
|
"properties": "Egenskaper",
|
|
401
400
|
"property": "Egenskap",
|
|
@@ -6,9 +6,9 @@ The `useCollection` composable helps you manage a collection of items with flags
|
|
|
6
6
|
|
|
7
7
|
```typescript
|
|
8
8
|
const { items, useSubset, useFlag } = useCollection(sources, {
|
|
9
|
+
itemId: source => source.theId, // Required only if TSource doesn't have an `id` property
|
|
9
10
|
flags: ['selected', 'active', { highlighted: { multiple: false } }],
|
|
10
11
|
properties: source => ({
|
|
11
|
-
id: source.theId, // Required if TSource doesn't have an `id` property
|
|
12
12
|
isAvailable: source.status === 'available',
|
|
13
13
|
fullName: `${source.firstName} ${source.lastName}`,
|
|
14
14
|
}),
|
|
@@ -18,8 +18,8 @@ const { items, useSubset, useFlag } = useCollection(sources, {
|
|
|
18
18
|
## Core Concepts
|
|
19
19
|
|
|
20
20
|
- **Collection Item**: An object with a unique identifier, a reference to its source object, flags, computed properties, and methods to manipulate flags
|
|
21
|
-
- **Flags**:
|
|
22
|
-
- **Properties**: Additional custom values
|
|
21
|
+
- **Flags**: Arbitrary `boolean` states attached to items (like `selected`, `active`, `highlighted`, etc.)
|
|
22
|
+
- **Properties**: Additional custom values attached to items, computed from the source object (like `fullName`, `isAvailable`, etc.)
|
|
23
23
|
|
|
24
24
|
## `useCollection` parameters
|
|
25
25
|
|
|
@@ -30,21 +30,22 @@ const { items, useSubset, useFlag } = useCollection(sources, {
|
|
|
30
30
|
|
|
31
31
|
### `options` object
|
|
32
32
|
|
|
33
|
-
| Name | Type | Required | Description
|
|
34
|
-
| ------------ | ---------------------------------------------- | :------: |
|
|
35
|
-
| `
|
|
36
|
-
| `
|
|
33
|
+
| Name | Type | Required | Description |
|
|
34
|
+
| ------------ | ---------------------------------------------- | :------: | ----------------------------------------------------------------------------------------------- |
|
|
35
|
+
| `itemId` | `keyof TSource \| ((source: TSource) => TId)` | ~ | Function to retrieve the item ID or property of TSource (if not provided, `TSource.id` is used) |
|
|
36
|
+
| `flags` | `FlagsConfig<TFlag>` | | Flags that can be applied to items in the collection |
|
|
37
|
+
| `properties` | `(source: TSource) => Record<string, unknown>` | | Function that returns additional properties for each item (see below) |
|
|
37
38
|
|
|
38
39
|
### Item ID
|
|
39
40
|
|
|
40
41
|
The item ID will be retrieved automatically from `TSource.id`
|
|
41
42
|
|
|
42
|
-
If `TSource` doesn't provide an `id`, then `options.
|
|
43
|
+
If `TSource` doesn't provide an `id`, then `options.itemId` will be required.
|
|
43
44
|
|
|
44
45
|
### `FlagsConfig` type
|
|
45
46
|
|
|
46
47
|
```typescript
|
|
47
|
-
type FlagsConfig
|
|
48
|
+
type FlagsConfig = string[] | Record<string, { multiple?: MaybeRef<boolean> }>
|
|
48
49
|
```
|
|
49
50
|
|
|
50
51
|
Values for `multiple`:
|
|
@@ -63,13 +64,13 @@ Values for `multiple`:
|
|
|
63
64
|
|
|
64
65
|
### `CollectionItem` object
|
|
65
66
|
|
|
66
|
-
| Name | Type
|
|
67
|
-
| ------------ |
|
|
68
|
-
| `id` | `TId`
|
|
69
|
-
| `source` | `TSource`
|
|
70
|
-
| `flags` | `Record<TFlag, boolean>`
|
|
71
|
-
| `properties` | `TProperties`
|
|
72
|
-
| `toggleFlag` | `(flag,
|
|
67
|
+
| Name | Type | Description |
|
|
68
|
+
| ------------ | ---------------------------------- | --------------------------------------------------------- |
|
|
69
|
+
| `id` | `TId` | Unique identifier for the item (string, number or symbol) |
|
|
70
|
+
| `source` | `TSource` | The original source object |
|
|
71
|
+
| `flags` | `Record<TFlag, boolean>` | Object containing the state of all flags for this item |
|
|
72
|
+
| `properties` | `TProperties` | Object containing all computed properties for this item |
|
|
73
|
+
| `toggleFlag` | `(flag, shouldBeFlagged?) => void` | Method to toggle a flag on this item |
|
|
73
74
|
|
|
74
75
|
### UseFlagReturn object
|
|
75
76
|
|
|
@@ -81,8 +82,8 @@ Values for `multiple`:
|
|
|
81
82
|
| `areAllOn` | `ComputedRef<boolean>` | Whether all items in the collection have this flag set |
|
|
82
83
|
| `areSomeOn` | `ComputedRef<boolean>` | Whether at least one item has this flag set |
|
|
83
84
|
| `areNoneOn` | `ComputedRef<boolean>` | Whether no items have this flag set |
|
|
84
|
-
| `toggle` | `(id,
|
|
85
|
-
| `toggleAll` | `(
|
|
85
|
+
| `toggle` | `(id, shouldBeFlagged?) => void` | Toggle this flag on a specific item |
|
|
86
|
+
| `toggleAll` | `(shouldBeFlagged?) => void` | Toggle this flag on all items in the collection |
|
|
86
87
|
| `useSubset` | `(filter: (item) => boolean) => Collection` | Creates a sub collection matching the filter |
|
|
87
88
|
|
|
88
89
|
## Flag Operations
|
|
@@ -169,4 +170,8 @@ const { items: users, useSubset } = useCollection(rawUsers, {
|
|
|
169
170
|
const { items: admins, useSubset: useAdminSubset } = useSubset(item => item.source.group === 'admin')
|
|
170
171
|
|
|
171
172
|
const { items: activeAdmins } = useAdminSubset(item => item.source.status === 'active')
|
|
173
|
+
|
|
174
|
+
// This would be equivalent to:
|
|
175
|
+
|
|
176
|
+
const { items: activeAdmins } = useSubset(item => item.source.group === 'admin' && item.source.status === 'active')
|
|
172
177
|
```
|