@xen-orchestra/web-core 0.37.0 → 0.39.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/components/card/VtsCardRowKeyValue.vue +2 -4
- package/lib/components/cell-object/VtsCellObject.vue +1 -1
- package/lib/components/console/VtsActionsConsole.vue +3 -3
- package/lib/components/console/VtsClipboardConsole.vue +4 -4
- package/lib/components/copy-button/VtsCopyButton.vue +1 -1
- package/lib/components/dropdown/VtsDropdownTitle.vue +2 -2
- package/lib/components/layout/VtsLayoutSidebar.vue +1 -1
- package/lib/components/{label-value-list/VtsLabelValueList.vue → recursive-fields/VtsRecursiveFields.vue} +4 -4
- package/lib/components/select/VtsSelect.vue +1 -1
- package/lib/components/state-hero/VtsStateHero.vue +1 -1
- package/lib/components/table/cells/VtsTruncatedTextCell.vue +1 -1
- package/lib/components/task/VtsQuickTaskButton.vue +2 -2
- package/lib/components/task/VtsQuickTaskList.vue +3 -2
- package/lib/components/task/VtsQuickTaskTabBar.vue +6 -6
- package/lib/components/ui/account-menu-button/UiAccountMenuButton.vue +1 -1
- package/lib/components/ui/breadcrumb/UiBreadcrumb.vue +1 -1
- package/lib/components/ui/character-limit/UiCharacterLimit.vue +1 -1
- package/lib/components/ui/circle-progress-bar/UiCircleProgressBar.vue +1 -1
- package/lib/components/ui/collapsible-list/UiCollapsibleList.vue +1 -1
- package/lib/components/ui/log-entry-viewer/UiLogEntryViewer.vue +1 -1
- package/lib/components/ui/query-search-bar/UiQuerySearchBar.vue +6 -6
- package/lib/components/ui/quick-task-item/UiQuickTaskItem.vue +2 -13
- package/lib/components/ui/quick-task-panel/UiQuickTaskPanel.vue +1 -1
- package/lib/components/ui/table-pagination/UiTablePagination.vue +3 -3
- package/lib/components/ui/task-item/UiTaskItem.vue +26 -16
- package/lib/components/ui/task-list/UiTaskList.vue +14 -3
- package/lib/components/ui/text-area/UiTextarea.vue +1 -1
- package/lib/components/ui/top-bottom-table/UiTopBottomTable.vue +3 -3
- package/lib/components/ui/tree-item-label/UiTreeItemLabel.vue +1 -1
- package/lib/i18n.ts +14 -2
- package/lib/layouts/CoreLayout.vue +1 -1
- package/lib/locales/cs.json +337 -282
- package/lib/locales/da.json +301 -123
- package/lib/locales/de.json +243 -251
- package/lib/locales/en.json +312 -310
- package/lib/locales/es.json +331 -280
- package/lib/locales/fa.json +239 -239
- package/lib/locales/fr.json +314 -312
- package/lib/locales/it.json +191 -186
- package/lib/locales/ja.json +23 -0
- package/lib/locales/ko.json +23 -0
- package/lib/locales/nb-NO.json +696 -0
- package/lib/locales/nl.json +336 -274
- package/lib/locales/pt-BR.json +170 -0
- package/lib/locales/ru.json +231 -160
- package/lib/locales/sv.json +244 -254
- package/lib/locales/uk.json +151 -149
- package/lib/packages/remote-resource/define-remote-resource.ts +37 -4
- package/lib/types/task.type.ts +15 -0
- package/package.json +1 -1
- package/lib/locales/pt_BR.json +0 -156
package/lib/locales/uk.json
CHANGED
|
@@ -6,27 +6,70 @@
|
|
|
6
6
|
"access-forum": "Доступ до форуму",
|
|
7
7
|
"access-xoa": "Доступ до XOA",
|
|
8
8
|
"account-organization-more": "Обліковий запис, організація та інше…",
|
|
9
|
-
"add": "Додати",
|
|
10
|
-
"add-filter": "Додати фільтр",
|
|
9
|
+
"action:add": "Додати",
|
|
10
|
+
"action:add-filter": "Додати фільтр",
|
|
11
|
+
"action:add-sort": "Додати сортування",
|
|
12
|
+
"action:boot-vm": "Завантажувальна ВМ",
|
|
13
|
+
"action:change-state": "Змінити стан",
|
|
14
|
+
"action:close": "Закрити",
|
|
15
|
+
"action:connect-another-pool": "Підключити інший пул",
|
|
16
|
+
"action:connect-pool": "Підключити пул",
|
|
17
|
+
"action:copy": "Копіювати",
|
|
18
|
+
"action:copy-all": "Копіювати все",
|
|
19
|
+
"action:copy-host": "Скопіювати хост",
|
|
20
|
+
"action:copy-id": "Скопіювати ID",
|
|
21
|
+
"action:copy-info-json": "Копіювати інформацію в JSON",
|
|
22
|
+
"action:create": "Створити",
|
|
23
|
+
"action:delete": "Видалити",
|
|
24
|
+
"action:delete-vms": "Видалено 1 VM | Видалено {n} VMs",
|
|
25
|
+
"action:deploy": "Розгорнути",
|
|
26
|
+
"action:deploy-xoa": "Розгорнути XOA",
|
|
27
|
+
"action:edit": "Редагувати",
|
|
28
|
+
"action:edit-config": "Редагувати конфіг",
|
|
29
|
+
"action:export": "Експорт",
|
|
30
|
+
"action:export-n-vms": "Експортовано 1 VM | Експортовано {n} VMs",
|
|
31
|
+
"action:export-n-vms-manually": "Експорт однієї ВМ вручну | Експорт {n} ВМ вручну",
|
|
32
|
+
"action:export-table-to": "Експорт таблиці в {type}",
|
|
33
|
+
"action:export-vm": "Експорт VM | Експорт VMs",
|
|
34
|
+
"action:filter": "Фільтрувати",
|
|
35
|
+
"action:force-reboot": "Примусове перезавантаження",
|
|
36
|
+
"action:force-shutdown": "Примусове вимкнення",
|
|
37
|
+
"action:forget": "Забути",
|
|
38
|
+
"action:go-back": "Назад",
|
|
39
|
+
"action:group": "Група",
|
|
40
|
+
"action:hide": "Приховати",
|
|
41
|
+
"action:open": "Відкрити",
|
|
42
|
+
"action:search": "Пошук",
|
|
43
|
+
"action:select-all": "Вибрати все",
|
|
44
|
+
"action:select-n-objects-of": "{from} - {to} з {total} об'єктів",
|
|
45
|
+
"action:select-none": "Нічого не вибирати",
|
|
46
|
+
"action:send": "Відправити",
|
|
47
|
+
"action:send-ctrl-alt-del": "Надіслати Ctrl+Alt+Del",
|
|
48
|
+
"action:sidebar-close": "Закрити бічну панель",
|
|
49
|
+
"action:sidebar-lock": "Закріпити бічну панель",
|
|
50
|
+
"action:sidebar-open": "Відкрити бічну панель",
|
|
51
|
+
"action:sidebar-unlock": "Розблокувати бічну панель",
|
|
52
|
+
"action:sort-ascending": "Сортувати за зростанням",
|
|
53
|
+
"action:sort-descending": "Сортувати за спаданням",
|
|
54
|
+
"action:unselect-all": "Зняти вибір",
|
|
11
55
|
"add-or": "+АБО",
|
|
12
|
-
"add-sort": "Додати сортування",
|
|
13
56
|
"admin-login": "Логін адміністратора",
|
|
14
57
|
"admin-password": "Пароль адміністратора",
|
|
15
58
|
"admin-password-confirm": "Підтвердіть пароль адміністратора",
|
|
16
59
|
"affinity-host": "Близький хост",
|
|
17
|
-
"alarm
|
|
18
|
-
"alarm-type
|
|
19
|
-
"alarm-type
|
|
20
|
-
"alarm-type
|
|
21
|
-
"alarm-type
|
|
22
|
-
"alarm-type
|
|
23
|
-
"alarm-type
|
|
24
|
-
"alarm-type
|
|
25
|
-
"alarm-type
|
|
26
|
-
"alarm-type
|
|
27
|
-
"
|
|
28
|
-
"all-done": "Виконано!",
|
|
29
|
-
"all-good": "Все гаразд!",
|
|
60
|
+
"alarm": "Тривога",
|
|
61
|
+
"alarm-type:cpu_usage": "Завантаження ЦПУ перевищує @:n-percent",
|
|
62
|
+
"alarm-type:disk_usage": "Використання диска перевищує @:n-percent",
|
|
63
|
+
"alarm-type:fs_usage": "Використання файлової системи перевищує @:n-percent",
|
|
64
|
+
"alarm-type:log_fs_usage": "Використання файлової системи Log перевищує @:n-percent",
|
|
65
|
+
"alarm-type:mem_usage": "Використання пам'яті перевищує @:n-percent",
|
|
66
|
+
"alarm-type:memory_free_kib": "Вільна пам'ять менше @:n-percent",
|
|
67
|
+
"alarm-type:network_usage": "Використання мережі перевищує @:n-percent",
|
|
68
|
+
"alarm-type:physical_utilisation": "Фізичне використання перевищує @:n-percent",
|
|
69
|
+
"alarm-type:sr_io_throughput_total_per_host": "Загальна пропускна здатність SR IO на один хост перевищує @:n-percent",
|
|
70
|
+
"alarm-type:unknown": "Невідомий тип сповіщення",
|
|
71
|
+
"all-done!": "Виконано!",
|
|
72
|
+
"all-good!": "Все гаразд!",
|
|
30
73
|
"allow-self-signed-ssl": "Можливо, вам потрібно дозволити самопідписані SSL-сертифікати у вашому браузері",
|
|
31
74
|
"api-error-details": "Деталі помилки API",
|
|
32
75
|
"appearance": "Зовнішній вигляд",
|
|
@@ -34,7 +77,7 @@
|
|
|
34
77
|
"auto-generated": "Автоматично згенерований",
|
|
35
78
|
"auto-power": "Автоматичне увімкнення",
|
|
36
79
|
"available": "Доступно",
|
|
37
|
-
"available-properties-for-advanced-filter": "Доступні властивості розширеного фільтра:",
|
|
80
|
+
"available-properties-for-advanced-filter:": "Доступні властивості розширеного фільтра:",
|
|
38
81
|
"back-pool-dashboard": "Повернення до панелі управління пулом",
|
|
39
82
|
"back-site-dashboard": "Поверніться до панелі керування вашого сайту",
|
|
40
83
|
"backed-up-vms": "ВМ з резервними копіями",
|
|
@@ -44,23 +87,22 @@
|
|
|
44
87
|
"backup-network": "Резервна мережа",
|
|
45
88
|
"backup-repository": "Сховище резервних копій (local, NFS, SMB)",
|
|
46
89
|
"backup-targets": "Призначення для резервної копії",
|
|
47
|
-
"backup
|
|
48
|
-
"backup
|
|
49
|
-
"backup
|
|
50
|
-
"backup
|
|
51
|
-
"backup
|
|
90
|
+
"backup:full": "Повна резервна копія",
|
|
91
|
+
"backup:incremental": "Інкрементальна резервна копія",
|
|
92
|
+
"backup:pool-metadata": "Метадані пулу",
|
|
93
|
+
"backup:rolling-snapshot": "Ковзний знімок",
|
|
94
|
+
"backup:xo-config": "Конфігурація XO",
|
|
52
95
|
"backups": "Резервні копії",
|
|
53
|
-
"backups
|
|
54
|
-
"backups
|
|
55
|
-
"backups
|
|
56
|
-
"backups
|
|
57
|
-
"backups
|
|
58
|
-
"backups
|
|
59
|
-
"backups
|
|
60
|
-
"backups
|
|
61
|
-
"backups
|
|
62
|
-
"backups
|
|
63
|
-
"backups.vms-protection.unprotected": "Принаймні на 1 роботі, але без захисту",
|
|
96
|
+
"backups:jobs:at-least-one-skipped": "Як мінімум один пропущений",
|
|
97
|
+
"backups:jobs:based-on-last-three": "На основі трьох останніх робіт",
|
|
98
|
+
"backups:jobs:disabled": "Вимкнено",
|
|
99
|
+
"backups:jobs:looks-like-issue": "Схоже, є якась проблема",
|
|
100
|
+
"backups:jobs:running-good": "Працює добре",
|
|
101
|
+
"backups:vms-protection": "Захист ВМ",
|
|
102
|
+
"backups:vms-protection:no-job": "На жодній роботі",
|
|
103
|
+
"backups:vms-protection:protected": "Принаймні на 1 роботі і захищений",
|
|
104
|
+
"backups:vms-protection:tooltip": "ВМ захищена, якщо резервне копіювання за розкладом, і попередній запуск пройшов успішно",
|
|
105
|
+
"backups:vms-protection:unprotected": "Принаймні на 1 роботі, але без захисту",
|
|
64
106
|
"best-effort": "найкращі зусилля",
|
|
65
107
|
"bios-default": "bios (за замовчуванням)",
|
|
66
108
|
"bios-info": "Інформація про BIOS",
|
|
@@ -69,75 +111,38 @@
|
|
|
69
111
|
"bond-status": "Статус Bond",
|
|
70
112
|
"boot-firmware": "Завантажувальна прошивка",
|
|
71
113
|
"boot-firmware-uefi": "Завантажувальна прошивка - UEFI",
|
|
72
|
-
"boot-vm": "Завантажувальна ВМ",
|
|
73
114
|
"build-number": "Номер збірки",
|
|
74
|
-
"bytes
|
|
75
|
-
"bytes
|
|
76
|
-
"bytes
|
|
115
|
+
"bytes:gi": "ГБ",
|
|
116
|
+
"bytes:ki": "Кб",
|
|
117
|
+
"bytes:mi": "МіБ",
|
|
77
118
|
"cancel": "Скасування",
|
|
78
|
-
"
|
|
79
|
-
"check-errors": "Перевірте помилки:",
|
|
119
|
+
"character-limit": "{count}/{max} символ | {count}/{max} символів",
|
|
120
|
+
"check-errors:": "Перевірте помилки:",
|
|
80
121
|
"check-summing": "Контрольна сума TX",
|
|
81
|
-
"click-to-display-alarms": "Натисніть, щоб відобразити тривоги:",
|
|
122
|
+
"click-to-display-alarms:": "Натисніть, щоб відобразити тривоги:",
|
|
82
123
|
"click-to-return-default-pool": "Натисніть тут, щоб повернутися до пулу за замовчуванням",
|
|
83
|
-
"
|
|
84
|
-
"coming-soon": "Скоро!",
|
|
124
|
+
"coming-soon!": "Скоро!",
|
|
85
125
|
"community": "Спільнота",
|
|
86
126
|
"community-name": "{name} спільнота",
|
|
87
127
|
"configuration": "Налаштування",
|
|
88
128
|
"configure-in-xo-5": "Налаштувати в XO 5",
|
|
89
|
-
"confirm-cancel": "Ви впевнені, що хочете скасувати?",
|
|
129
|
+
"confirm-cancel?": "Ви впевнені, що хочете скасувати?",
|
|
90
130
|
"confirm-delete": "Ви збираєтеся видалити {0}",
|
|
91
131
|
"connect": "Підключитися",
|
|
92
|
-
"connect-another-pool": "Підключити інший пул",
|
|
93
|
-
"connect-pool": "Підключити пул",
|
|
94
132
|
"connected": "Підключено",
|
|
95
133
|
"connected-to-ip": "Підключитися до {ip}",
|
|
96
134
|
"connecting": "з'єднується",
|
|
97
135
|
"connection": "з'єднання",
|
|
98
136
|
"connection-failed": "З'єднання невдале",
|
|
99
|
-
"connections": "З'єднання",
|
|
100
137
|
"console": "Консоль",
|
|
101
138
|
"console-actions": "Дії з консолі",
|
|
102
139
|
"console-clipboard": "Буфер обміну консолі",
|
|
103
140
|
"console-unavailable": "Консоль недоступна",
|
|
104
141
|
"control-domain-memory": "Пам'ять домену управління",
|
|
105
|
-
"
|
|
106
|
-
"copy-all": "Копіювати все",
|
|
107
|
-
"copy-host": "Скопіювати хост",
|
|
108
|
-
"copy-info-json": "Копіювати інформацію в JSON",
|
|
142
|
+
"copied": "Скопійовано",
|
|
109
143
|
"core-socket": "Ядро (сокет)",
|
|
110
|
-
"core.character-limit": "{count}/{max} символ | {count}/{max} символів",
|
|
111
|
-
"core.close": "Закрити",
|
|
112
|
-
"core.copied": "Скопійовано",
|
|
113
|
-
"core.copy-id": "Скопіювати ID",
|
|
114
|
-
"core.current": "Поточний",
|
|
115
|
-
"core.filter": "Фільтрувати",
|
|
116
|
-
"core.group": "Група",
|
|
117
|
-
"core.hide": "Приховати",
|
|
118
|
-
"core.open": "Відкрити",
|
|
119
|
-
"core.open-in-new-tab": "Відкрити в новій вкладці",
|
|
120
|
-
"core.pagination.all": "Все",
|
|
121
|
-
"core.pagination.show-by": "Показати за",
|
|
122
|
-
"core.query-search-bar.label": "пошуковий движок",
|
|
123
|
-
"core.query-search-bar.placeholder": "Введіть свій запит…",
|
|
124
|
-
"core.query-search-bar.use-query-builder": "Використовувати конструктор запитів",
|
|
125
|
-
"core.quick-actions": "Швидкі дії",
|
|
126
|
-
"core.search": "Пошук",
|
|
127
|
-
"core.select.all": "Вибрати все",
|
|
128
|
-
"core.select.n-object-of": "{from} - {to} з {total} об'єктів",
|
|
129
|
-
"core.select.n-selected-of": "{count} вибрано з {total} об'єктів",
|
|
130
|
-
"core.select.none": "Нічого не вибирати",
|
|
131
|
-
"core.select.unselect": "Зняти вибір",
|
|
132
|
-
"core.show-by": "Показати за",
|
|
133
|
-
"core.sidebar.close": "Закрити бічну панель",
|
|
134
|
-
"core.sidebar.lock": "Закріпити бічну панель",
|
|
135
|
-
"core.sidebar.open": "Відкрити бічну панель",
|
|
136
|
-
"core.sidebar.unlock": "Розблокувати бічну панель",
|
|
137
|
-
"core.sort.ascending": "Сортувати за зростанням",
|
|
138
|
-
"core.sort.descending": "Сортувати за спаданням",
|
|
139
|
-
"core.textarea.exceeds-max-characters": "Значення не повинно перевищувати {max} символів.",
|
|
140
144
|
"cores-with-sockets": "Ядра (сокеты)",
|
|
145
|
+
"cpu": "CPU",
|
|
141
146
|
"cpu-cap": "Обмеження ЦП",
|
|
142
147
|
"cpu-mask": "Маска ЦП",
|
|
143
148
|
"cpu-model": "Модель ЦП",
|
|
@@ -147,30 +152,26 @@
|
|
|
147
152
|
"cpu-weight": "Вага ЦП",
|
|
148
153
|
"cpus": "CPUs",
|
|
149
154
|
"crash-dump-storage-repository": "Репозиторій дампів критичних помилок",
|
|
150
|
-
"create": "Створити",
|
|
151
155
|
"created-on": "Створено на",
|
|
152
156
|
"cron-pattern": "Патерн cron",
|
|
157
|
+
"current": "Поточний",
|
|
153
158
|
"custom-config": "Користувацька конфігурація",
|
|
154
|
-
"dark-mode
|
|
155
|
-
"dark-mode
|
|
156
|
-
"dark-mode
|
|
159
|
+
"dark-mode:auto": "Автоматичний темний режим",
|
|
160
|
+
"dark-mode:disable": "Вимкнути темний режим",
|
|
161
|
+
"dark-mode:enable": "Увімкнути темний режим",
|
|
157
162
|
"dashboard": "Панель управління",
|
|
158
163
|
"date": "Дата",
|
|
159
164
|
"default-behavior": "Стандартна поведінка",
|
|
160
165
|
"default-locking-mode": "Режим блокування за замовчуванням",
|
|
161
166
|
"default-storage-repository": "Репозиторій сховища за замовчуванням",
|
|
162
|
-
"delete": "Видалити",
|
|
163
|
-
"delete-vms": "Видалено 1 VM | Видалено {n} VMs",
|
|
164
|
-
"deploy": "Розгорнути",
|
|
165
|
-
"deploy-xoa": "Розгорнути XOA",
|
|
166
167
|
"deploy-xoa-available-on-desktop": "Розгортання XOA доступне на вашому інтерфейсі робочого столу",
|
|
167
168
|
"deploy-xoa-custom-ntp-servers": "Ваші NTP-сервери (розділені пробілом)",
|
|
168
|
-
"deploy-xoa-status
|
|
169
|
-
"deploy-xoa-status
|
|
170
|
-
"deploy-xoa-status
|
|
171
|
-
"deploy-xoa-status
|
|
172
|
-
"deploy-xoa-status
|
|
173
|
-
"deploy-xoa-status
|
|
169
|
+
"deploy-xoa-status:configuring": "Налаштовуємо XOA…",
|
|
170
|
+
"deploy-xoa-status:importing": "Імпортуємо XOA…",
|
|
171
|
+
"deploy-xoa-status:not-responding": "XOA не відповідає",
|
|
172
|
+
"deploy-xoa-status:ready": "XOA готова!",
|
|
173
|
+
"deploy-xoa-status:starting": "XOA запускається…",
|
|
174
|
+
"deploy-xoa-status:waiting": "Чекаємо відповіді XOA…",
|
|
174
175
|
"descending": "за спаданням",
|
|
175
176
|
"description": "Опис",
|
|
176
177
|
"device": "Пристрій",
|
|
@@ -179,13 +180,10 @@
|
|
|
179
180
|
"disconnected": "Відключено",
|
|
180
181
|
"disconnected-from-physical-device": "Відключено від фізичного пристрою",
|
|
181
182
|
"disk-name": "Ім'я диска",
|
|
182
|
-
"display": "Відобразити",
|
|
183
183
|
"dns": "DNS",
|
|
184
184
|
"do-you-have-needs": "Є зауваження/пропозиції? Повідомте нас",
|
|
185
185
|
"documentation": "Документація",
|
|
186
186
|
"documentation-name": "{name} документація",
|
|
187
|
-
"edit": "Редагувати",
|
|
188
|
-
"edit-config": "Редагувати конфіг",
|
|
189
187
|
"enabled": "Enabled",
|
|
190
188
|
"end-of-life": "Більше не підтримується",
|
|
191
189
|
"eol": "Більше не підтримується",
|
|
@@ -194,85 +192,72 @@
|
|
|
194
192
|
"error-occurred": "Сталася помилка",
|
|
195
193
|
"exit-fullscreen": "Вийти з повноекранного режиму",
|
|
196
194
|
"expiration-date": "Термін придатності",
|
|
197
|
-
"export": "Експорт",
|
|
198
|
-
"export-n-vms": "Експортовано 1 VM | Експортовано {n} VMs",
|
|
199
|
-
"export-n-vms-manually": "Експорт однієї ВМ вручну | Експорт {n} ВМ вручну",
|
|
200
|
-
"export-table-to": "Експорт таблиці в {type}",
|
|
201
|
-
"export-vm": "Експорт VM",
|
|
202
|
-
"export-vms": "Експорт VMs",
|
|
203
195
|
"export-vms-manually-information": "Експорт деяких ВМ не вдалося запустити автоматично, ймовірно, через ваші налаштування браузера. Для експорту натисніть на кожну ВМ. (Або скопіюйте посилання.)",
|
|
204
196
|
"failure": "Критична помилка",
|
|
205
197
|
"fast-clone": "Швидке клонування",
|
|
206
198
|
"fetching-fresh-data": "Отримання свіжих даних",
|
|
207
|
-
"
|
|
208
|
-
"filter
|
|
209
|
-
"filter
|
|
210
|
-
"filter
|
|
211
|
-
"filter
|
|
212
|
-
"filter
|
|
213
|
-
"filter
|
|
214
|
-
"filter
|
|
215
|
-
"filter
|
|
216
|
-
"filter
|
|
217
|
-
"filter
|
|
218
|
-
"filter
|
|
219
|
-
"filter
|
|
220
|
-
"filter
|
|
199
|
+
"field:exceeds-max-characters": "Значення не повинно перевищувати {max} символів.",
|
|
200
|
+
"filter:comparison:contains": "Містить",
|
|
201
|
+
"filter:comparison:ends-with": "Закінчується на",
|
|
202
|
+
"filter:comparison:equals": "Дорівнює",
|
|
203
|
+
"filter:comparison:is": "Є",
|
|
204
|
+
"filter:comparison:is-false": "Є хибним",
|
|
205
|
+
"filter:comparison:is-not": "Не є",
|
|
206
|
+
"filter:comparison:is-true": "Є істинним",
|
|
207
|
+
"filter:comparison:matches-regex": "Збігається з регулярним виразом",
|
|
208
|
+
"filter:comparison:not-contain": "Не містить",
|
|
209
|
+
"filter:comparison:not-end-with": "Не закінчується на",
|
|
210
|
+
"filter:comparison:not-equal": "Не дорівнює",
|
|
211
|
+
"filter:comparison:not-match-regex": "Не відповідає регулярному виразу",
|
|
212
|
+
"filter:comparison:not-start-with": "Не починається з",
|
|
213
|
+
"filter:comparison:starts-with": "Починається з",
|
|
221
214
|
"following-hosts-unreachable": "Наступні вузли недоступні",
|
|
222
215
|
"for-backup": "Для резервної копії",
|
|
223
216
|
"for-replication": "Для реплікації",
|
|
224
|
-
"force-reboot": "Примусове перезавантаження",
|
|
225
|
-
"force-shutdown": "Примусове вимкнення",
|
|
226
|
-
"forget": "Забути",
|
|
227
217
|
"fullscreen": "Повний екран",
|
|
228
|
-
"fullscreen-leave": "Залишити повний екран",
|
|
229
218
|
"gateway": "Шлюз",
|
|
230
219
|
"general-information": "Загальна інформація",
|
|
231
|
-
"
|
|
220
|
+
"gpu": "Графічний процесор",
|
|
232
221
|
"gpus": "Графічні процесори",
|
|
233
222
|
"graphics-display": "Графіка % Відображення",
|
|
234
|
-
"gzip": "gzip",
|
|
235
223
|
"hardware": "Апаратне забезпечення",
|
|
236
224
|
"hardware-specifications": "Характеристики апаратного забезпечення",
|
|
237
225
|
"heartbeat-storage-repository": "Репозиторій heartbeat-сховищ",
|
|
238
226
|
"here": "Тут",
|
|
239
227
|
"high-availability": "Висока доступність (HA)",
|
|
240
228
|
"host": "Вузол",
|
|
241
|
-
"host-description": "Опис вузла",
|
|
242
229
|
"host-internal-networks": "Внутрішні мережі вузла",
|
|
243
|
-
"host-status.halted": "Зупинено",
|
|
244
|
-
"host-status.running": "Запущений",
|
|
245
|
-
"host-status.unknown": "Невідомо",
|
|
246
230
|
"host-unknown": "Вузол невідомий",
|
|
247
|
-
"host
|
|
248
|
-
"host
|
|
231
|
+
"host:status:active": "Активний",
|
|
232
|
+
"host:status:halted": "@:status:halted",
|
|
233
|
+
"host:status:inactive": "Неактивний",
|
|
234
|
+
"host:status:running": "@:status:running",
|
|
235
|
+
"host:status:unknown:tooltip": "Метрики вузла недоступні",
|
|
249
236
|
"hosts": "Вузли",
|
|
250
237
|
"hosts-status": "Статус вузла",
|
|
251
|
-
"hosts-status.halted": "Зупинено",
|
|
252
|
-
"hosts-status.running": "Запущений",
|
|
253
|
-
"hosts-status.unknown": "Невідомо",
|
|
254
|
-
"hosts-status.unknown.tooltip": "Метрики вузла недоступні",
|
|
255
238
|
"hyper-threading": "Багатопотоковість (SMT)",
|
|
256
239
|
"id": "ID",
|
|
257
240
|
"ip-address": "IP-адреса",
|
|
258
241
|
"ip-addresses": "IP адреси",
|
|
259
242
|
"ip-mode": "Режим IP",
|
|
260
243
|
"is-primary-host": "{name} - основний хост",
|
|
244
|
+
"iscsi-iqn": "iSCSI IQN",
|
|
261
245
|
"iso-dvd": "ISO/DVD",
|
|
246
|
+
"jobs": "Роботи",
|
|
262
247
|
"language": "Мова",
|
|
263
248
|
"mac-address": "MAC-адреса",
|
|
264
249
|
"mac-addresses": "MAC адреси",
|
|
265
|
-
"memory": "Пам'ять",
|
|
266
250
|
"memory-usage": "Використання пам'яті",
|
|
267
251
|
"mtu": "MTU",
|
|
268
252
|
"n-gb-left": "{n} Гб залишилося",
|
|
269
253
|
"n-gb-required": "{n} Гб потрібно",
|
|
270
254
|
"n-percent": "{n} %",
|
|
255
|
+
"n-selected-of": "{count} вибрано з {total} об'єктів",
|
|
271
256
|
"new-vif": "Новий VIF",
|
|
272
257
|
"new-vm": "Нова ВМ",
|
|
273
|
-
"new-vm
|
|
274
|
-
"new-vm
|
|
275
|
-
"new-vm
|
|
258
|
+
"new-vm:add": "Додати нову ВМ",
|
|
259
|
+
"new-vm:description": "Опис ВМ",
|
|
260
|
+
"new-vm:name": "Назва ВМ",
|
|
276
261
|
"news": "Новини",
|
|
277
262
|
"not-found": "Не знайдено",
|
|
278
263
|
"not-running": "не запущено",
|
|
@@ -283,6 +268,7 @@
|
|
|
283
268
|
"offline": "Не в мережі",
|
|
284
269
|
"ok": "OK",
|
|
285
270
|
"or": "Або",
|
|
271
|
+
"pagination:all": "Все",
|
|
286
272
|
"password": "Пароль",
|
|
287
273
|
"password-invalid": "Неправильний пароль",
|
|
288
274
|
"pif": "PIF",
|
|
@@ -290,13 +276,17 @@
|
|
|
290
276
|
"pifs": "PIFs",
|
|
291
277
|
"pifs-status": "Статус PIF",
|
|
292
278
|
"please-confirm": "Будь ласка, підтвердіть",
|
|
279
|
+
"proxy": "Proxy",
|
|
293
280
|
"pxe": "PXE",
|
|
281
|
+
"query-search-bar:label": "пошуковий движок",
|
|
282
|
+
"query-search-bar:placeholder": "Введіть свій запит…",
|
|
283
|
+
"query-search-bar:use-query-builder": "Використовувати конструктор запитів",
|
|
294
284
|
"read": "читати",
|
|
285
|
+
"rest-api": "REST API",
|
|
295
286
|
"scan-pifs": "Сканувати PIFs",
|
|
296
|
-
"send": "Відправити",
|
|
297
|
-
"send-ctrl-alt-del": "Надіслати Ctrl+Alt+Del",
|
|
298
287
|
"send-us-feedback": "Надіслати відгук",
|
|
299
288
|
"settings": "Налаштування",
|
|
289
|
+
"show-by": "Показати за",
|
|
300
290
|
"size": "Розмір",
|
|
301
291
|
"speed": "Швидкість",
|
|
302
292
|
"sr": "SR",
|
|
@@ -306,30 +296,42 @@
|
|
|
306
296
|
"ssh-password": "пароль SSH",
|
|
307
297
|
"ssh-password-confirm": "Підтвердіть пароль SSH",
|
|
308
298
|
"static-ip": "Статична IP-адреса",
|
|
299
|
+
"status:halted": "Зупинено",
|
|
300
|
+
"status:running": "Запущений",
|
|
301
|
+
"status:unknown": "Невідомо",
|
|
309
302
|
"template-has-bios-strings": "Шаблон вже містить налаштування BIOS",
|
|
310
303
|
"uuid": "UUID",
|
|
311
|
-
"
|
|
304
|
+
"vcpu": "vCPU",
|
|
305
|
+
"vcpus": "vCPUs",
|
|
306
|
+
"vdi": "VDI",
|
|
312
307
|
"vdi-throughput": "Пропускна здатність VDI",
|
|
313
|
-
"vdis": "
|
|
308
|
+
"vdis": "VDIs",
|
|
309
|
+
"vga": "VGA",
|
|
314
310
|
"vif": "VIF",
|
|
315
311
|
"vif-device": "VIF #{device}",
|
|
316
312
|
"vifs": "VIFs",
|
|
313
|
+
"viridian": "Viridian",
|
|
317
314
|
"virtualization-type": "Тип віртуалізації",
|
|
318
315
|
"vlan": "VLAN",
|
|
319
|
-
"vm
|
|
320
|
-
"vm
|
|
321
|
-
"vm
|
|
322
|
-
"vm
|
|
323
|
-
"vm
|
|
324
|
-
"
|
|
316
|
+
"vm:status:halted": "@:status:halted",
|
|
317
|
+
"vm:status:paused": "Пауза",
|
|
318
|
+
"vm:status:running": "@:status:running",
|
|
319
|
+
"vm:status:suspended": "Призупинено",
|
|
320
|
+
"vm:status:unknown": "Невідомий",
|
|
321
|
+
"weblate": "Weblate",
|
|
325
322
|
"write": "Писати",
|
|
323
|
+
"xcp-ng": "XCP-ng",
|
|
324
|
+
"xen-orchestra": "Xen Orchestra",
|
|
325
|
+
"xo": "XO",
|
|
326
|
+
"xo-5": "XO-5",
|
|
326
327
|
"xo-backups": "резервні копії XO",
|
|
327
328
|
"xo-lite-under-construction": "XOLite знаходиться в розробці",
|
|
328
329
|
"xo-replications": "Реплікації XO",
|
|
330
|
+
"xoa": "XOA",
|
|
329
331
|
"xoa-admin-account": "Акаунт адміністратора XOA",
|
|
330
332
|
"xoa-deploy": "Розгортання XOA",
|
|
331
|
-
"xoa-deploy-failed": "Розгортання не вдалося!",
|
|
333
|
+
"xoa-deploy-failed!": "Розгортання не вдалося!",
|
|
332
334
|
"xoa-deploy-retry": "Спробуйте ще раз розгорнути XOA",
|
|
333
|
-
"xoa-deploy-successful": "XOA успішно розгорнуто!",
|
|
335
|
+
"xoa-deploy-successful!": "XOA успішно розгорнуто!",
|
|
334
336
|
"xoa-ip": "IP-адреса XOA"
|
|
335
337
|
}
|
|
@@ -133,6 +133,25 @@ export function defineRemoteResource<
|
|
|
133
133
|
})
|
|
134
134
|
}
|
|
135
135
|
|
|
136
|
+
const bufferedEvents: ['update' | 'remove', TData][] = []
|
|
137
|
+
let isBufferEventsProcessed = false
|
|
138
|
+
function handleBuffer(data: Ref<TData[]>) {
|
|
139
|
+
while (bufferedEvents.length > 0) {
|
|
140
|
+
const buffer = bufferedEvents.shift()
|
|
141
|
+
if (buffer === undefined) {
|
|
142
|
+
continue
|
|
143
|
+
}
|
|
144
|
+
|
|
145
|
+
const type = buffer[0]
|
|
146
|
+
const event = buffer[1]
|
|
147
|
+
|
|
148
|
+
removeData(data.value, event)
|
|
149
|
+
if (type !== 'remove') {
|
|
150
|
+
data.value.push(event)
|
|
151
|
+
}
|
|
152
|
+
}
|
|
153
|
+
}
|
|
154
|
+
|
|
136
155
|
const onDataReceived =
|
|
137
156
|
config.onDataReceived ??
|
|
138
157
|
((data: Ref<TData>, receivedData: any, context?: ResourceContext<TArgs>) => {
|
|
@@ -140,14 +159,24 @@ export function defineRemoteResource<
|
|
|
140
159
|
if (config.watchCollection?.predicate?.(receivedData, context) === false) {
|
|
141
160
|
return
|
|
142
161
|
}
|
|
162
|
+
|
|
143
163
|
if (data.value === undefined || (Array.isArray(data.value) && Array.isArray(receivedData))) {
|
|
144
164
|
data.value = receivedData
|
|
165
|
+
|
|
166
|
+
if (config.watchCollection !== undefined && Array.isArray(data.value)) {
|
|
167
|
+
handleBuffer(data as Ref<TData[]>)
|
|
168
|
+
isBufferEventsProcessed = true
|
|
169
|
+
}
|
|
145
170
|
return
|
|
146
171
|
}
|
|
147
172
|
|
|
148
173
|
if (Array.isArray(data.value)) {
|
|
149
|
-
|
|
150
|
-
|
|
174
|
+
if (!isBufferEventsProcessed) {
|
|
175
|
+
bufferedEvents.push(['update', receivedData])
|
|
176
|
+
} else {
|
|
177
|
+
removeData(data.value, receivedData)
|
|
178
|
+
data.value.push(receivedData)
|
|
179
|
+
}
|
|
151
180
|
return
|
|
152
181
|
}
|
|
153
182
|
|
|
@@ -164,7 +193,11 @@ export function defineRemoteResource<
|
|
|
164
193
|
|
|
165
194
|
// for now only support `onDataRemoved` when watching XapiXoRecord collection
|
|
166
195
|
if (Array.isArray(data.value) && !Array.isArray(receivedData)) {
|
|
167
|
-
|
|
196
|
+
if (!isBufferEventsProcessed) {
|
|
197
|
+
bufferedEvents.push(['remove', receivedData])
|
|
198
|
+
} else {
|
|
199
|
+
removeData(data.value, receivedData)
|
|
200
|
+
}
|
|
168
201
|
return
|
|
169
202
|
}
|
|
170
203
|
|
|
@@ -262,7 +295,6 @@ export function defineRemoteResource<
|
|
|
262
295
|
|
|
263
296
|
pause = () => unwatch({ collectionId, resource, handleDelete })
|
|
264
297
|
resume = async function () {
|
|
265
|
-
await execute()
|
|
266
298
|
await watch({
|
|
267
299
|
collectionId,
|
|
268
300
|
handleWatching,
|
|
@@ -271,6 +303,7 @@ export function defineRemoteResource<
|
|
|
271
303
|
onDataReceived: receivedData => onDataReceived(data, receivedData, context),
|
|
272
304
|
onDataRemoved: receivedData => onDataRemoved(data, receivedData, context),
|
|
273
305
|
})
|
|
306
|
+
await execute()
|
|
274
307
|
}
|
|
275
308
|
} else if (pollingInterval !== false) {
|
|
276
309
|
const timeoutPoll = useTimeoutPoll(execute, pollingInterval, {
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
export type TaskStatus = 'failure' | 'interrupted' | 'pending' | 'success'
|
|
2
|
+
|
|
3
|
+
export type Task = {
|
|
4
|
+
id: string
|
|
5
|
+
infos?: { data: unknown; message: string }[]
|
|
6
|
+
name?: string
|
|
7
|
+
progress?: number
|
|
8
|
+
tag?: string
|
|
9
|
+
userName?: string
|
|
10
|
+
start?: number
|
|
11
|
+
end?: number
|
|
12
|
+
status: TaskStatus
|
|
13
|
+
subtasks?: Task[]
|
|
14
|
+
warnings?: { data: unknown; message: string }[]
|
|
15
|
+
}
|