浏览代码

feat(locale): add uk locale

Medoo48 2 年之前
父节点
当前提交
3137e9272b
共有 6 个文件被更改,包括 1361 次插入0 次删除
  1. 1 0
      src/lib/dayjs.js
  2. 779 0
      src/locales/uk/blocks.json
  3. 71 0
      src/locales/uk/common.json
  4. 477 0
      src/locales/uk/newtab.json
  5. 32 0
      src/locales/uk/popup.json
  6. 1 0
      src/utils/shared.js

+ 1 - 0
src/lib/dayjs.js

@@ -5,6 +5,7 @@ import 'dayjs/locale/zh-tw';
 import 'dayjs/locale/vi';
 import 'dayjs/locale/fr';
 import 'dayjs/locale/it';
+import 'dayjs/locale/uk';
 
 dayjs.extend(relativeTime);
 

+ 779 - 0
src/locales/uk/blocks.json

@@ -0,0 +1,779 @@
+{
+  "collection": {
+    "blocks": {
+      "export-result": {
+        "name": "Експортувати результат",
+        "description": "Експортуйте результат збору як JSON"
+      }
+    }
+  },
+  "workflow": {
+    "blocks": {
+      "base": {
+        "title": "Блоки",
+        "moveToGroup": "Перемістити блок до групи блоків",
+        "selector": "Вибір елемента",
+        "selectorOptions": "Опції вибору",
+        "timeout": "Час очікування (мілісекунди)",
+        "noPermission": "У Automa недостатньо прав для виконання цієї дії",
+        "grantPermission": "Надати дозвіл",
+        "action": "Дія",
+        "element": {
+          "select": "Виберіть елемент",
+          "verify": "Підтвердити селектор"
+        },
+        "settings": {
+          "title": "Налаштування блоку",
+          "blockTimeout": {
+            "title": "Час очікування виконання блоку (мілісекунди)",
+            "description": "Максимальний час виконання блоку (0 для вимкнення)"
+          },
+          "line": {
+            "title": "Лінії",
+            "label": "Мітка",
+            "animated": "Анімований",
+            "select": "Виберіть лінію",
+            "to": "Лінія до блоку {name}",
+            "lineColor": "Колір"
+          }
+        },
+        "toggle": {
+          "enable": "Увімкнути блок",
+          "disable": "Вимкнути блок"
+        },
+        "onError": {
+          "info": "Ці правила застосовуватимуться, коли в блоці виникає помилка",
+          "button": "При помилці",
+          "title": "При виникненні помилки",
+          "retry": "Повторити дію",
+          "fallbackTitle": "Виконується, коли в блоці виникає помилка",
+          "times": {
+            "name": "Разів",
+            "description": "Кількість повторів дії"
+          },
+          "interval": {
+            "name": "Інтервал",
+            "description": "Інтервал часу між кожною спробою",
+            "second": "секунд"
+          },
+          "toDo": {
+            "error": "Викликати помилку",
+            "continue": "Продовжити flow",
+            "fallback": "Виконати резервний варіант",
+            "restart": "Перезапустити flow"
+          },
+          "insertData": {
+            "name": "Вставити дані"
+          }
+        },
+        "table": {
+          "checkbox": "Вставити в таблицю",
+          "select": "Виберіть стовпець",
+          "extraRow": {
+            "checkbox": "Додати додатковий ряд",
+            "placeholder": "Значення",
+            "title": "Значення додаткового ряду"
+          }
+        },
+        "findElement": {
+          "placeholder": "Знайти елемент по",
+          "options": {
+            "cssSelector": "Селектор CSS",
+            "xpath": "XPath"
+          }
+        },
+        "markElement": {
+          "title": "Елемент не буде вибрано, якщо він був вибраний раніше",
+          "text": "Позначити елемент"
+        },
+        "multiple": {
+          "title": "Виберати кілька елементів",
+          "text": "Кілька"
+        },
+        "waitSelector": {
+          "title": "Зачекайте на селектор",
+          "timeout": "Час очікування селектора (мс)"
+        },
+        "downloads": {
+          "onConflict": {
+            "uniquify": "Уніфікувати",
+            "overwrite": "Перезаписати",
+            "prompt": "Підказати"
+          }
+        }
+      },
+      "wait-connections": {
+        "name": "Зачекати підключення",
+        "description": "Зачекати на всі підключення, перш ніж перейти до наступного блоку",
+        "specificFlow": "Продовжити лише певний flow",
+        "selectFlow": "Вибрати flow"
+      },
+      "cookie": {
+        "name": "Cookie",
+        "description": "Отримати, встановити або видалити файли куки",
+        "types": {
+          "get": "Отримати куки",
+          "set": "Встановити куки",
+          "remove": "Видалити куки",
+          "getAll": "Отримати всі куки"
+        },
+        "useJson": "Використовувати формат JSON"
+      },
+      "note": {
+        "name": "Примітка"
+      },
+      "slice-variable": {
+        "name": "Зріз змінної",
+        "description": "Виділяє частину значення змінної",
+        "start": "Початковий індекс",
+        "end": "Кінцевий індекс"
+      },
+      "workflow-state": {
+        "workflow-state": {
+        "name": "Стан робочого процесу",
+        "description": "Управління станами робочих процесів",
+        "actions": {
+          "stop": "Зупинити робочі процеси"
+        }
+      },
+      "regex-variable": {
+        "name": "RegEx змінна",
+        "description": "Зіставлення значення змінної з регулярним виразом"
+      },
+      "data-mapping": {
+        "source": "Джерело",
+        "destination": "Призначення",
+        "name": "Відображення даних",
+        "edit": "Редагувати відображення даних",
+        "dataSource": "Джерело даних",
+        "description": "Відображення даних змінної або таблиці",
+        "addSource": "Додати джерело",
+        "addDestination": "Додати призначення"
+      },
+      "sort-data": {
+        "name": "Сортування даних",
+        "description": "Сортувати елементи даних",
+        "property": "Сортувати за властивістю елементів",
+        "addProperty": "Додати властивість"
+      },
+      "increase-variable": {
+        "name": "Збільшити змінну",
+        "description": "Збільшити значення змінної на певну величину",
+        "increase": "Збільшити на"
+      },
+      "notification": {
+        "name": "сповіщення",
+        "description": "Відобразити сповіщення",
+        "title": "Заголовок",
+        "message": "Повідомлення",
+        "imageUrl": "URL зображення (необов'язково)",
+        "iconUrl": "URL значка (необов’язково)"
+      },
+      "delete-data": {
+        "name": "Видалити дані",
+        "description": "Видалити дані таблиці або змінної",
+        "from": "Дані з",
+        "allColumns": "[Усі колонки]"
+      },
+      "log-data": {
+        "name": "Отримати дані журналу",
+        "description": "Отримати останні дані журналу робочого процесу",
+        "data": "Дані журналу"
+      },
+      "tab-url": {
+        "name": "Отримати URL вкладки",
+        "description": "Отримати URL вкладки",
+        "select": "Вибір вкладки",
+        "types": {
+          "active-tab": "Активна вкладка",
+          "all": "Усі вкладки"
+        },
+        "query": {
+          "title": "Запит",
+          "matchPatterns": "@:workflow.blocks.switch-tab.matchPattern (необов'язково)",
+          "tabTitle": "Назва вкладки (необов'язково)"
+        }
+      },
+      "reload-tab": {
+        "name": "Перезавантажити вкладку",
+        "description": "Перезавантажити активну вкладку"
+      },
+      "press-key": {
+        "name": "Натиснути клавішу",
+        "description": "Натиснути клавішу або комбінацію",
+        "target": "Цільовий елемент (необов'язково)",
+        "key": "Клавіша",
+        "detect": "Визначити клавішу",
+        "actions": {
+          "press-key": "Натисніть клавішу",
+          "multiple-keys": "Натиснути декілька клавіш"
+        }
+      },
+      "save-assets": {
+        "name": "Зберегти ресурси",
+        "description": "Зберегти ресурси (зображення, відео, аудіо або файл) з елемента або URL-адреси",
+        "filename": "Ім'я файлу (необов'язково)",
+        "saveDownloadIds": "Зберегти ідентифікатори завантажень елементів",
+        "contentTypes": {
+          "title": "Тип",
+          "element": "Медіа-елемент (зображення, аудіо або відео)",
+          "url": "URL"
+        }
+      },
+      "handle-dialog": {
+        "name": "Опрацювати діалог",
+        "description": "Приймає або відхиляє діалогове вікно, ініційоване JavaScript (сповіщення, підтвердження, підказка або перед завантаженням)",
+        "accept": "Діалогове вікно прийняття",
+        "promptText": {
+          "label": "Текст підказки (необов'язково)",
+          "description": "Текст, який потрібно ввести в діалоговому вікні підказки перед прийняттям"
+        }
+      },
+      "handle-download": {
+        "name": "Керувати завантаженням",
+        "description": "Керувати завантаженим файлом",
+        "timeout": "Час очікування (мілісекунди)",
+        "noPermission": "Немає дозволу на доступ до завантажень",
+        "onConflict": "При конфлікті",
+        "waitFile": "Зачекати, поки файл буде завантажений",
+        "downloadId": "Ідентифікатор завантаження файлу (необов'язково)",
+        "filePath": "Шлях до файлу"
+      },
+      "insert-data": {
+        "name": "Вставити дані",
+        "description": "Вставити дані в таблицю або змінну"
+      },
+      "clipboard": {
+        "name": "Буфер обміну",
+        "description": "Отримати скопійований текст із буфера обміну",
+        "data": "Дані буфера обміну",
+        "noPermission": "Немає дозволу на доступ до буфера обміну",
+        "grantPermission": "Надати дозвіл",
+        "copySelection": "Скопіювати виділений текст на сторінці",
+        "types": {
+          "get": "Отримати дані буфера обміну",
+          "insert": "Вставити текст у буфер обміну"
+        }
+      },
+      "hover-element": {
+        "name": "Навестись на елемент",
+        "description": "Навести курсор на елемент"
+      },
+      "create-element": {
+        "name": "Створити елемент",
+        "description": "Створити елемент і вставити його на сторінку",
+        "edit": "Редагувати елемент",
+        "wrap": "Загорнути елемент всередину",
+        "insertEl": {
+          "title": "Вставити елемент",
+          "items": {
+            "before": "Як перша дитина",
+            "after": "Як остання дитина",
+            "next-sibling": "Як наступний родич",
+            "prev-sibling": "Як попередній родич",
+            "replace": "Замінити цільовий елемент"
+          }
+        }
+      },
+      "upload-file": {
+        "name": "Завантажити файл",
+        "description": "Завантажити файл в елемент <input type=\"file\">",
+        "filePath": "URL або шлях до файлу",
+        "addFile": "Додати файл",
+        "onlyURL": "У браузері Firefox підтримується лише завантаження файлів з URL-адреси",
+        "requirement": "Прочитайте вимоги перед використанням цього блоку",
+        "noFileAccess": "Automa не має доступу до файлів"
+      },
+      "browser-event": {
+        "name": "Події браузера",
+        "description": "Виконує наступний блок, коли спрацьовує зазначена подія",
+        "events": "Події",
+        "timeout": "Час очікування (мілісекунди)",
+        "activeTabLoaded": "Активна вкладка",
+        "setAsActiveTab": "Установити як активну вкладку"
+      },
+      "blocks-group-2": {
+        "name": "@:workflow.blocks.blocks-group.name 2",
+        "description": "@:workflow.blocks.blocks-group.description"
+      },
+      "blocks-group": {
+        "name": "Група блоків",
+        "groupName": "Назва групи",
+        "description": "Групування блоків",
+        "dropText": "Перетягніть блок сюди",
+        "cantAdd": "Неможливо додати блок \"{blockName}\" до групи"
+      },
+      "trigger": {
+        "name": "Тригер",
+        "description": "Блок, де почнеться виконання робочого процесу",
+        "addTime": "Додати час",
+        "selectDay": "Виберіть день",
+        "timeExist": "Ви вже додали тригер о {time} {day}",
+        "fixedDelay": "Фіксована затримка",
+        "contextMenus": {
+          "noPermission": "Для роботи цього тригера потрібен дозвіл \"contextMenus\",
+          "grantPermission": "Надати дозвіл",
+          "appearIn": "З'явиться в",
+          "contextName": "Назва робочого процесу в контекстному меню"
+        },
+        "days": [
+          "Понеділок",
+		  "Вівторок",
+	      "Середа",
+	      "Четвер",
+	      "П`ятниця",
+	      "Субота",
+	      "Неділя"
+        ],
+        "useRegex": "Використовувати регулярний вираз",
+        "shortcut": {
+          "tooltip": "Відстежити комбінацію",
+          "stopRecord": "Зупинити запис",
+          "checkboxTitle": "Виконувати ярлик, навіть коли ви перебуваєте в елементі введення",
+          "checkbox": "Активний під час введення",
+          "note": "Примітка: комбінація клавіш працює, лише коли ви перебуваєте на веб-сторінці"
+        },
+        "forms": {
+          "triggerWorkflow": "Активувати робочі процеси",
+          "interval": "Інтервал (хвилини)",
+          "delay": "Затримка (хвилини)",
+          "date": "Дата",
+          "time": "Час",
+	      "url": "URL або регулярний вираз",
+          "shortcut": "Комбінація клавіш",
+          "cron-expression": "Вираз Cron"
+        },
+        "element-change": {
+          "target": "Цільовий елемент для спостереження",
+          "optionsInfo": "Мутація якого елемента запустить робочий процес",
+          "targetWebsite": "Шаблон відповідності веб-сайту, де знаходиться цільовий елемент (клацніть, щоб побачити більше прикладів шаблонів відповідності)",
+          "baseEl": {
+            "title": "Базовий елемент (необов'язково)",
+            "description": "Automa перезапустить спостереження за цільовим елементом, коли цей елемент зміниться"
+          },
+          "subtree": {
+            "title": "Включити піддерево",
+            "description": "Поширити моніторинг на все піддерево цільового елемента"
+          },
+          "childList": {
+            "title": "Список дітей",
+            "description": "Моніторинг додавання нових дочірніх елементів або видалення існуючих"
+          },
+          "attributes": {
+            "title": "Атрибути",
+            "description": "Стежте за змінами значень атрибутів цільового елемента"
+          },
+          "attributeFilter": {
+            "title": "Фільтр атрибутів",
+            "separate": "Використовуйте коми (,) для розділення імен атрибутів",
+            "description": "Моніторинг лише певних атрибутів (залиште порожнім, щоб контролювати всі)"
+          },
+          "characterData": {
+            "title": "Дані символів",
+            "description": "Моніторинг змін даних/тексту у цільовому елементі"
+          }
+        },
+        "items": {
+          "manual": "Вручну",
+          "interval": "Інтервал",
+          "cron-job": "Завдання Cron",
+          "date": "В певну дату",
+          "context-menu": "Контекстне меню",
+          "element-change": "При зміні елемента",
+          "specific-day": "В певний день",
+          "visit-web": "Під час відвідування веб-сайту",
+          "on-startup": "Під час запуску браузера",
+          "keyboard-shortcut": "Комбінація клавіш"
+        }
+      },
+      "execute-workflow": {
+        "name": "Виконати робочий процес",
+        "overwriteNote": "Це перезапише глобальні дані вибраного робочого процесу",
+        "select": "Виберіть робочий процес",
+        "executeId": "Ідентифікатор виконання (необов'язково)",
+        "description": "Виконати сторонній робочий процес",
+        "insertAllVars": "Використовувати всі змінні робочого процесу",
+        "insertVars": "Вставити змінні робочого процесу",
+        "useCommas": "Використовуйте коми для відокремлення імені змінної"
+      },
+      "google-sheets": {
+        "name": "Google Таблиці",
+        "description": "Читати або оновлювати дані Google Таблиць",
+        "previewData": "Попередній перегляд даних",
+        "firstRow": "Використовувати перший рядок як ключі",
+        "keysAsFirstRow": "Використовувати клавіші як перший рядок",
+        "insertData": "Вставити дані",
+        "valueInputOption": "Параметр введення значення",
+        "insertDataOption": "Вставити параметр даних",
+        "rangeToSearch": "Діапазон для початку пошуку",
+        "dataFrom": {
+          "label": "Дані з",
+          "options": {
+            "data-columns": "Таблиця",
+            "custom": "Спеціальний"
+          }
+        },
+        "refKey": {
+          "label": "Довідковий ключ (необов'язково)",
+          "placeholder": "Назва ключа"
+        },
+        "spreadsheetId": {
+          "label": "Ідентифікатор електронної таблиці",
+          "link": "Дивіться, як отримати ідентифікатор електронної таблиці"
+        },
+        "range": {
+          "label": "Діапазон",
+          "link": "Натисніть, щоб переглянути більше прикладів"
+        },
+        "select": {
+          "get": "Отримати значення клітинок електронної таблиці",
+          "getRange": "Отримати діапазон електронної таблиці",
+          "update": "Оновити значення клітинок електронної таблиці",
+          "append": "Додати значення клітинок електронної таблиці",
+          "clear": "Очистити значення клітинок електронної таблиці"
+        }
+      },
+      "active-tab": {
+        "name": "Активна вкладка",
+        "description": "Установити вкладку, на якій ви перебуваєте, як активну"
+      },
+      "proxy": {
+        "name": "Проксі",
+        "description": "Установити проксі браузера",
+        "clear": "Очистити всі проксі",
+        "bypass": {
+          "label": "Список обходу",
+          "note": "Використовуйте коми (,) для розділення URL"
+        }
+      },
+      "new-window": {
+        "name": "Нове вікно",
+        "description": "Створити нове вікно",
+        "top": "Вгорі",
+        "left": "Ліворуч",
+        "height": "Висота",
+        "width": "Ширина",
+        "note": "Примітка: використовуйте 0 для вимкнення",
+        "position": "Позиція вікна",
+        "size": "Розмір вікна",
+        "windowState": {
+          "placeholder": "Стан вікна",
+          "options": {
+            "normal": "Звичайний",
+            "minimized": "Згорнутий",
+            "maximized": "Розгорнутий",
+            "fullscreen": "На весь екран"
+          }
+        },
+        "incognito": {
+          "text": "Установити як вікно анонімного перегляду",
+          "note": "Ви повинні спочатку ввімкнути 'Дозволити в анонімному режимі' для цього додатка"
+        }
+      },
+      "go-back": {
+        "name": "Повернутися",
+        "description": "Повернутися до попередньої сторінки"
+      },
+      "forward-page": {
+        "name": "Ідти вперед",
+        "description": "Перейти до наступної сторінки"
+      },
+      "close-tab": {
+        "name": "Закрити вкладку/вікно",
+        "description": "",
+        "url": "Відповідність шаблонам",
+        "activeTab": "Закрити активну вкладку",
+        "allWindows": "Закрити всі вікна"
+      },
+      "event-click": {
+        "name": "Натиснути на елемент",
+        "description": ""
+      },
+      "delay": {
+        "name": "Затримка",
+        "description": "Додати затримку перед виконанням наступного блоку",
+        "input": {
+          "title": "Затримка в мілісекундах",
+          "placeholder": "(мілісекунди)"
+        }
+      },
+      "parameter-prompt": {
+        "name": "Запросити параметри"
+      },
+      "get-text": {
+        "name": "Отримати текст",
+        "description": "Отримати текст з елемента",
+        "checkbox": "Вставити в таблицю",
+        "includeTags": "Включити теги HTML",
+        "prefixText": {
+          "placeholder": "Текстовий префікс",
+          "title": "Додати префікс до тексту"
+        },
+        "suffixText": {
+          "placeholder": "Текстовий суфікс",
+          "title": "Додати суфікс до тексту"
+        }
+      },
+      "export-data": {
+        "name": "Експорт даних",
+        "description": "Експорт даних робочого процесу",
+        "exportAs": "Експортувати як",
+        "refKey": "Довідковий ключ",
+        "bomHeader": "Додати UTF-8 BOM",
+        "dataToExport": {
+          "placeholder": "Дані для експорту",
+          "options": {
+            "data-columns": "Таблиця",
+            "google-sheets": "Google Таблиці",
+            "variable": "Змінна"
+          }
+        }
+      },
+      "element-scroll": {
+        "name": "Елемент прокручування",
+        "description": "",
+        "scrollY": "Прокрутити по вертикалі",
+        "scrollX": "Прокрутити по горизонталі",
+        "intoView": "Прокрутити до перегляду",
+        "smooth": "Плавне прокручування",
+        "incScrollX": "Збільшити горизонтальне прокручування",
+        "incScrollY": "Збільшити вертикальне прокручування"
+      },
+      "switch-tab": {
+        "name": "Переключити вкладку",
+        "description": "Перемикатися між вкладками",
+        "matchPattern": "Відповідність шаблонам",
+        "url": "URL нової вкладки",
+        "createIfNoMatch": "Створити, якщо немає відповідності"
+      },
+      "new-tab": {
+        "name": "Нова вкладка",
+        "description": "",
+        "url": "URL нової вкладки",
+        "customUserAgent": "Використовувати спеціальний User-Agent",
+        "activeTab": "Встановити як активну вкладку",
+        "tabToGroup": "Додати вкладку до групи",
+        "waitTabLoaded": "Зачекати, поки вкладка завантажиться",
+        "updatePrevTab": {
+          "title": "Використовувати раніше відкриту нову вкладку замість створення нової",
+          "text": "Оновити раніше відкриту вкладку"
+        }
+      },
+      "link": {
+        "name": "Посилання",
+        "description": "Відкрити елемент посилання",
+        "openInNewTab": "Відкрити в новій вкладці"
+      },
+      "attribute-value": {
+        "name": "Значення атрибута",
+        "description": "Отримати значення атрибута елемента",
+        "forms": {
+          "name": "Ім'я атрибута",
+          "checkbox": "Вставити в таблицю",
+          "column": "Вибрати стовпець",
+          "extraRow": {
+            "checkbox": "Додати додатковий рядок",
+            "placeholder": "Значення",
+            "title": "Значення додаткового рядка"
+          }
+        }
+      },
+      "forms": {
+        "name": "Форми",
+        "description": "",
+        "selected": "Вибрано",
+        "type": "Тип форми",
+        "getValue": "Отримати значення форми",
+        "text-field": {
+          "name": "Текстове поле",
+          "value": "Значення",
+          "clearValue": "Очистити значення форми",
+          "delay": {
+            "placeholder": "Затримка",
+            "label": "Затримка введення (мілісекунди) (0 для вимкнення)"
+          }
+        },
+        "select": {
+          "name": "Вибрати"
+        },
+        "radio": {
+          "name": "Радіо"
+        },
+        "checkbox": {
+          "name": "Прапорець"
+        }
+      },
+      "repeat-task": {
+        "name": "Повторити завдання",
+        "description": "",
+        "times": "разів",
+        "repeatFrom": "Повторити з"
+      },
+      "javascript-code": {
+        "name": "Код JavaScript",
+        "description": "Виконайте свій код JavaScript на веб-сторінці",
+        "availabeFuncs": "Доступні функції:",
+        "removeAfterExec": "Видалити після виконання блоку",
+        "everyNewTab": "Виконувати в кожній новій вкладці",
+        "context": {
+          "name": "Контекст виконання",
+          "items": {
+            "website": "Активна вкладка",
+            "background": "Тло"
+          }
+        },
+        "modal": {
+          "tabs": {
+            "code": "Код JavaScript",
+            "preloadScript": "Попереднє завантаження сценарію"
+          }
+        },
+        "timeout": {
+          "placeholder": "Час очікування (мілісекунди)",
+          "title": "Час очікування виконання коду JavaScript"
+        }
+      },
+      "trigger-event": {
+        "name": "Викликати подію",
+        "description": "Викликати подію єлемента",
+        "selectEvent": "Вибрати подію"
+      },
+      "conditions": {
+        "name": "Умови",
+        "add": "Додати шлях",
+        "retryConditions": "Повторити, якщо не виконано жодних умов",
+        "description": "Умовний блок",
+        "refresh": "Оновити підключення умов",
+        "fallbackTitle": "Виконується, якщо всі порівняння не відповідають вимогам",
+        "equals": "Дорівнює",
+        "gt": "Більше ніж",
+        "gte": "Більше або дорівнює",
+        "lt": "Менше ніж",
+        "lte": "Менше або дорівнює",
+        "ne": "Не дорівнює",
+        "contains": "Містить"
+      },
+      "element-exists": {
+        "name": "Елемент існує",
+        "description": "Перевірити, чи існує елемент",
+        "selector": "Селектор елемента",
+        "fallbackTitle": "Виконується, коли елемент не існує",
+        "throwError": "Виклакати помилку, якщо не існує",
+        "tryFor": {
+          "title": "Скільки разів перевірити, чи існує елемент",
+          "label": "Спробувати"
+        },
+        "timeout": {
+          "label": "Час очікування (мілісекунди)",
+          "title": "Час очікування для кожної спроби"
+        }
+      },
+      "webhook": {
+        "name": "HTTP запит",
+        "description": "Зробити HTTP-запит",
+        "contentType": "Тип вмісту",
+        "method": "Метод запиту",
+        "url": "URL запиту",
+        "fallback": "Виконується, коли HTTP-запит не вдається",
+        "buttons": {
+          "header": "Додати заголовок"
+        },
+        "timeout": {
+          "placeholder": "Час очікування",
+          "title": "Час очікування виконання запиту HTTP (мс)"
+        },
+        "tabs": {
+          "headers": "Заголовки",
+          "body": "Тіло",
+          "response": "Відповідь"
+        }
+      },
+      "while-loop": {
+        "name": "Цикл While",
+        "description": "Виконує блоки, поки виконується умова",
+        "editCondition": "Редагувати умову",
+        "fallback": "Виконується, коли умова хибна"
+      },
+      "loop-elements": {
+        "name": "Елементи циклу",
+        "description": "Ітерація по елементах",
+        "loadMore": "Завантажити більше елементів",
+        "scrollToBottom": "Прокрутити вниз",
+        "scrollToTop": "Прокрутити вгору",
+        "actions": {
+          "none": "Жодного",
+          "click-element": "Натисніть елемент",
+          "scroll": "Прокрутити вниз",
+          "click-link": "Натисніть посилання",
+          "scroll-up": "Прокрутити вгору"
+        }
+      },
+      "loop-data": {
+        "name": "Дані циклу",
+        "description": "Перехід по таблиці або вашим даним",
+        "loopId": "Ідентифікатор циклу",
+        "refKey": "Довідковий ключ",
+        "startIndex": "Почати з індексу",
+        "resumeLastWorkflow": "Відновити останній робочий процес",
+        "reverse": "Зворотний порядок циклу",
+        "modal": {
+          "fileTooLarge": "Файл завеликий для редагування",
+          "maxFile": "Максимальний розмір файлу 1 Мб",
+          "options": {
+            "firstRow": "Використовувати перший рядок як ключі"
+          }
+        },
+        "buttons": {
+          "clear": "Очистити дані",
+          "insert": "Вставити дані",
+          "import": "Імпортувати файл"
+        },
+        "maxLoop": {
+          "title": "Максимальна кількість даних для циклу",
+          "label": "Максимум даних для циклу (0 для вимкнення)"
+        },
+        "loopThrough": {
+          "placeholder": "Пройтись по",
+          "fromNumber": "З числа",
+          "toNumber": "У число",
+          "options": {
+            "numbers": "Числа",
+            "variable": "Змінна",
+            "data-columns": "Таблиця",
+            "table": "Таблиця",
+            "custom-data": "Користувацькі дані",
+            "google-sheets": "Google Таблиці",
+            "elements": "Елементи"
+          }
+        }
+      },
+      "loop-breakpoint": {
+        "name": "Точка зупинки циклу",
+        "description": "Щоб вказати, де має зупинитися блок циклу"
+      },
+      "take-screenshot": {
+        "name": "Зробити знімок екрана",
+        "fullPage": "Зробити знімок екрана на всю сторінку",
+        "description": "Зробити знімок екрана активної вкладки",
+        "imageQuality": "Якість зображення",
+        "saveToColumn": "Вставити знімок екрана в таблицю",
+        "saveToComputer": "Зберегти знімок екрана на комп'ютер",
+        "types": {
+          "title": "Зробити знімок екрана",
+          "page": "Сторінка",
+          "fullpage": "Повна сторінка",
+          "element": "Елемент"
+        }
+      },
+      "switch-to": {
+        "name": "Переключити frame",
+        "description": "Переключатися між головним вікном та iframe",
+        "iframeSelector": "Селектор елементів",
+        "windowTypes": {
+          "main": "Головне вікно",
+          "iframe": "Iframe"
+        }
+      }
+    }
+  }
+}

+ 71 - 0
src/locales/uk/common.json

@@ -0,0 +1,71 @@
+{
+  "common": {
+    "dashboard": "Dashboard",
+    "workflow": "Workflow | Workflows",
+    "collection": "Колекція | Колекції",
+    "log": "Журнал | Журнали",
+    "block": "Блок | Блоки",
+    "schedule": "Графік",
+    "folder": "Папка | Папки",
+    "new": "Новий",
+    "docs": "Документація",
+    "search": "Пошук",
+    "example": "Приклад | Приклади",
+    "import": "Імпорт",
+    "export": "Експорт",
+    "rename": "Перейменувати",
+    "execute": "Виконати",
+    "delete": "Видалити",
+    "cancel": "Скасувати",
+    "settings": "Налаштування",
+    "options": "Опції",
+    "confirm": "Підтвердити",
+    "name": "Ім'я",
+    "all": "Всі",
+    "add": "Додати",
+    "save": "Зберегти",
+    "data": "дані",
+    "stop": "Стоп",
+    "action": "Дія | Дії",
+    "packages": "Пакети",
+    "storage": "Зберігання",
+    "editor": "Редактор",
+    "running": "Запущений",
+    "globalData": "Глобальні дані",
+    "fileName": "Ім'я файлу",
+    "description": "Опис",
+    "disable": "Вимкнути",
+    "disabled": "Вимкнено",
+    "enable": "Увімкнути",
+    "fallback": "Резервний",
+    "update": "Оновити",
+    "feature": "Функція",
+    "duplicate": "Дубліковати",
+    "password": "Пароль",
+    "category": "Категорія",
+    "optional": "Необов'язково"
+  },
+  "message": {
+    "noBlock": "Жодного блоку",
+    "noData": "Дані для відображення відсутні",
+    "noTriggerBlock": "Не вдається знайти тригерний блок",
+    "useDynamicData": "Дізнайтеся, як додавати динамічні дані",
+    "delete": "Ви впевнені, що хочете видалити \"{name}\"?",
+    "empty": "Ой... Схоже, у вас немає жодного елемента",
+    "maxSizeExceeded": "Розмір файлу перевищив максимально допустимий",
+    "notSaved": "Ви дійсно хочете піти? У вас є незбережені зміни!",
+    "somethingWrong": "Щось пішло не так",
+    "limitExceeded": "Ви перевищили ліміт"
+  },
+  "sort": {
+    "sortBy": "Сортувати за",
+    "name": "Ім'я",
+    "createdAt": "Дата створення",
+    "mostUsed": "Найбільш використовувані"
+  },
+  "logStatus": {
+    "stopped": "зупинено",
+    "error": "помилка",
+    "success": "успіх"
+  }
+}

+ 477 - 0
src/locales/uk/newtab.json

@@ -0,0 +1,477 @@
+{
+  "home": {
+    "viewAll": "Переглянути все",
+    "communities": "Спільноти"
+  },
+  "welcome": {
+    "title": "Ласкаво просимо до Automa! 🎉",
+    "text": "Почніть з перегляду документації або з робочих процесів в Automa Marketplace.",
+    "marketplace": "Marketplace"
+  },
+  "packages": {
+    "name": "Пакет | Пакети",
+    "add": "Додати пакет",
+    "icon": "Піктограма пакета",
+    "open": "Відкрити пакети",
+    "new": "Новий пакет",
+    "set": "Установити як пакет",
+    "settings": {
+      "asBlock": "Установити пакет як блок"
+    },
+    "categories": {
+      "my": "Мої пакети",
+      "installed": "Встановлені пакети"
+    }
+  },
+  "scheduledWorkflow": {
+    "title": "Заплановані робочі процеси",
+    "nextRun": "Наступний запуск",
+    "active": "Активний",
+    "refresh": "Оновити",
+    "schedule":{
+      "title": "Розклад",
+      "types": {
+        "everyDay": "Щодня",
+        "general": "Кожного {time}",
+        "interval": "Кожні {time} хвилин"
+      }
+    }
+  },
+  "storage": {
+    "title": "Сховище",
+    "table": {
+      "add": "Додати таблицю",
+      "createdAt": "Створено о",
+      "modifiedAt": "Змінено о",
+      "rowsCount": "Кількість рядків",
+      "delete": "Видалити таблицю"
+    }
+  },
+  "credential": {
+    "title": "Облікові дані | Облікові дані",
+    "add": "Додати облікові дані",
+    "use": {
+      "title": "Використані облікові дані",
+      "description": "Цей робочий процес використовує ці облікові дані"
+    }
+  },
+  "workflowPermissions": {
+    "title": "Дозволи робочого процесу",
+    "description": "Для належної роботи цього робочого процесу потрібні ці дозволи",
+    "contextMenus": {
+      "title": "Контекстне меню",
+      "description": "Щоб виконати робочий процес через контекстне меню"
+    },
+    "clipboardRead": {
+      "title": "Буфер обміну",
+      "description": "Для доступу до даних буфера обміну"
+    },
+    "notifications": {
+      "title": "Сповіщення",
+      "description": "Для відображення сповіщення"
+    },
+    "downloads": {
+      "title": "Завантажити",
+      "description": "Збереження ресурсів сторінки та перейменування завантаженого файлу"
+    },
+    "cookies": {
+      "title": "Файли cookie",
+      "description": "Прочитати, встановити або видалити файли cookie"
+    }
+  },
+  "updateMessage": {
+    "text1": "Automa оновлена до v{version},",
+    "text2": "подивитися, що нового."
+  },
+  "workflows": {
+    "folder": {
+      "new": "Нова папка",
+      "name": "Назва папки",
+      "delete": "Видалити папку",
+      "rename": "Перейменувати папку"
+    }
+  },
+  "auth": {
+    "title": "Аутентифікація",
+    "signIn": "Увійти",
+    "username": "Вам потрібно спочатку встановити ім'я користувача",
+    "clickHere": "Натисніть тут",
+    "text": "Вам потрібно ввійти, перш ніж ви зможете це зробити"
+  },
+  "running": {
+    "start": "Розпочато {date}",
+    "message": "Відображаються лише останні 5 журналів"
+  },
+  "settings": {
+    "theme": "Тема",
+    "shortcuts": {
+      "duplicate": "Комбінація вже використовується \"{name}\""
+    },
+    "editor": {
+      "title": "Назва",
+      "curvature": {
+        "title": "Кривизна лінії",
+        "line": "Лінія",
+        "reroute": "Перенаправити",
+        "rerouteFirstLast": "Змінити перший і останній пункт"
+      },
+      "arrow": {
+        "title": "Стрілка лінії",
+        "description": "Додати стрілку в кінці рядка"
+      },
+      "snapGrid": {
+        "title": "Прив'язати до сітки",
+        "description": "Прив'язка до сітки під час переміщення блоку"
+      }
+    },
+    "deleteLog": {
+      "title": "Автоматичне видалення журналів робочого процесу",
+      "after": "Видалити після",
+      "deleteAfter": {
+        "never": "Ніколи",
+        "days": "{day} днів"
+      }
+    },
+    "language": {
+      "label": "Мова",
+      "helpTranslate": "Не можете знайти свою мову? Допоможіть перекласти.",
+      "reloadPage": "Перезавантажте сторінку, щоб зміни набули чинності"
+    },
+    "menu": {
+      "backup": "Резервна копія робочих процесів",
+      "editor": "Редактор",
+      "general": "Загальні",
+      "shortcuts": "Комбінації клавіш",
+      "about": "Про додаток"
+    },
+    "backupWorkflows": {
+      "title": "Локальна резервна копія",
+      "invalidPassword": "Невірний пароль",
+      "workflowsAdded": "додано {count} робочих процесів",
+      "name": "Резервна копія робочих процесів",
+      "needSignin": "Вам потрібно спочатку ввійти",
+      "backup": {
+        "button": "Резервне копіювання",
+        "encrypt": "Шифрувати паролем"
+      },
+      "restore": {
+        "title": "Відновити робочі процеси",
+        "button": "Відновити",
+        "update": "Оновити, якщо робочий процес існує"
+      },
+      "cloud": {
+        "buttons": {
+          "local": "Місцевий",
+          "cloud": "Хмара"
+        },
+        "location": "Розташування",
+        "delete": "Видалити резервну копію",
+        "title": "Резервне копіювання у хмару",
+        "sync": "Синхронізувати",
+        "lastSync": "Остання синхронізація",
+        "lastBackup": "Останнє резервне копіювання",
+        "select": "Виберіть робочі процеси",
+        "storedWorkflows": "Робочі процеси, які зберігаються у хмарі",
+        "selected": "Вибрано",
+        "selectText": "Виберіть робочі процеси, для яких потрібно створити резервну копію",
+        "selectAll": "Вибрати все",
+        "deselectAll": "Скасувати вибір усіх",
+        "needSelectWorkflow": "Вам потрібно вибрати робочі процеси, для яких ви хочете створити резервну копію"
+      }
+    }
+  },
+  "workflow": {
+    "previewMode": {
+      "title": "Режим попереднього перегляду",
+      "description": "Ви перебуваєте в режимі попереднього перегляду, внесені вами зміни не будуть збережені"
+    },
+    "pinWorkflow": {
+      "pin": "Закріпити робочий процес",
+      "unpin": "Відкріпити робочий процес",
+      "pinned": "Закріплені робочі процеси"
+    },
+    "parameters": {
+      "add": "Додати параметр",
+      "preferInTab": "Надавати перевагу параметрам введення на вкладці"
+    },
+    "my": "Мої робочі процеси",
+    "import": "Імпортувати робочий процес",
+    "new": "Новий робочий процес",
+    "delete": "Видалити робочий процес",
+    "browse": "Перегляд робочих процесів",
+    "name": "Назва робочого процесу",
+    "rename": "Перейменувати робочий процес",
+    "backupCloud": "Резервне копіювання робочого процесу у хмару",
+    "add": "Додати робочий процес",
+    "clickToEnable": "Натисніть, щоб увімкнути",
+    "toggleSidebar": "Перемкнути стан бічної панелі",
+    "cantEdit": "Неможливо редагувати спільний робочий процес",
+    "undo": "Скасувати",
+    "redo": "Повторити",
+    "autoAlign": {
+      "title": "Автоматичне вирівнювання"
+    },
+    "blocksFolder": {
+      "title": "Папка блоків",
+      "add": "Додати блоки до папки",
+      "save": "Зберегти до папки"
+    },
+    "searchBlocks": {
+      "title": "Пошук блоків у редакторі"
+    },
+    "conditionBuilder": {
+      "title": "Конструктор умов",
+      "add": "Додати умову",
+      "and": "І",
+      "or": "АБО",
+      "topAwait": "Підтримка високорівневого очікування та функції \"automaRefData\""
+    },
+    "host": {
+      "title": "Розмістити робочий процес",
+      "set": "Установити як робочий процес хоста",
+      "id": "Ідентифікатор хоста",
+      "add": "Додати розміщений робочий процес",
+      "sync": {
+        "title": "Синхронізувати",
+        "description": "Синхронізувати з робочим процесом хоста"
+      },
+      "messages": {
+        "hostExist": "Ви вже додали цей хост",
+        "notFound": "Не вдається знайти розміщений робочий процес з ідентифікатором \"{id}\""
+      }
+    },
+    "type": {
+      "local": "Місцевий",
+      "shared": "Спільний",
+      "host": "Хост"
+    },
+    "unpublish": {
+      "title": "Скасувати публікацію робочого процесу",
+      "button": "Скасувати публікацію",
+      "body": "Ви впевнені, що хочете скасувати публікацію робочого процесу \"{name}\"?"
+    },
+    "share": {
+      "url": "Поділитися URL",
+      "publish": "Опублікувати",
+      "sharedAs": "Спільно доступний як \"{name}\"",
+      "title": "Поділитися робочим процесом",
+      "download": "Зберегти робочий процес локально",
+      "edit": "Редагувати опис",
+      "fetchLocal": "Отримати локальний робочий процес",
+      "update": "Оновити",
+      "unpublish": "Скасувати публікацію"
+    },
+    "variables": {
+      "title": "Змінна | Змінні",
+      "name": "Ім'я змінної",
+      "assign": "Призначити змінній"
+    },
+    "protect": {
+      "title": "Захист робочого процесу",
+      "remove": "Зняти захист",
+      "button": "Захистити",
+      "note": "Примітка: цей пароль знадобиться пізніше для редагування або видалення робочого процесу"
+    },
+    "locked": {
+      "title": "Цей робочий процес захищено паролем",
+      "body": "Введіть пароль, щоб розблокувати",
+      "unlock": "Розблокувати",
+      "messages": {
+        "incorrect-password": "Неправильний пароль"
+      }
+    },
+    "state": {
+      "executeBy": "Виконано: \"{name}\""
+    },
+    "table": {
+      "title": "Таблиця | Таблиці",
+      "placeholder": "Пошук або додавання стовпця",
+      "select": "Вибрати стовпець",
+      "column": {
+        "name": "Назва стовпця",
+        "type": "Тип даних"
+      }
+    },
+    "sidebar": {
+      "workflowIcon": "Піктограма робочого процесу"
+    },
+    "editor": {
+      "zoomIn": "Збільшити",
+      "zoomOut": "Зменшити",
+      "resetZoom": "Скинути масштаб",
+      "duplicate": "Дублювати",
+      "copy": "Копіювати",
+      "paste": "Вставити",
+      "group": "Блоки групи",
+      "ungroup": "Розгрупувати блоки"
+    },
+    "settings": {
+      "saveLog": "Зберегти журнал робочого процесу",
+      "executedBlockOnWeb": "Показати виконаний блок на веб-сторінці",
+      "notification": {
+        "title": "Повідомлення робочого процесу",
+        "description": "Показати статус робочого процесу (успішно або невдало) після його виконання",
+        "noPermission": "Для роботи цієї опції додатку потрібен дозвіл на \"повідомлення\""
+      },
+      "publicId": {
+        "title": "Публічний ідентифікатор робочого процесу",
+        "description": "Встановіть загальнодоступний ідентифікатор для виконання робочого процесу через спеціальну подію JavaScript"
+      },
+      "defaultColumn": {
+        "title": "Вставити в стовпець за замовчуванням",
+        "description": "Вставити дані в стовпець за замовчуванням, якщо в блоці не вибрано жодного стовпця",
+        "name": "Назва стовпця за замовчуванням"
+      },
+      "autocomplete": {
+        "title": "Автозаповнення",
+        "description": "Увімкнути автозаповнення у блоці введення (вимкнути, якщо воно робить Automa нестабільним)"
+      },
+      "clearCache": {
+        "title": "Очистити кеш",
+        "description": "Очистити кеш (стан та індекс циклу) робочого процесу",
+        "info": "Кеш робочого циклу успішно очищено",
+        "btn": "Очистити"
+      },
+      "reuseLastState": {
+        "title": "Повторне використання стану останнього робочого процесу",
+        "description": "Використовувати дані стану (таблицю, змінні та глобальні дані) з останнього виконаного робочого процесу"
+      },
+      "debugMode": {
+        "title": "Режим налагодження",
+        "description": "Виконати робочий процес за допомогою протоколу Chrome DevTools"
+      },
+      "restartWorkflow": {
+        "for": "Перезапустити",
+        "times": "Разів",
+        "description": "Максимальна кількість перезапусків робочого процесу"
+      },
+      "onError": {
+        "title": "При помилці у робочому процесі",
+        "description": "Встановити дію, яку потрібно виконати, якщо в робочому процесі станеться помилка",
+        "items": {
+          "keepRunning": "Продовжити працювати",
+          "stopWorkflow": "Зупинити робочий процес",
+          "restartWorkflow": "Перезапустити робочий процес"
+        }
+      },
+      "timeout": {
+        "title": "Час очікування робочого процесу (мілісекунди)"
+      },
+      "blockDelay": {
+        "title": "Затримка блоку (мілісекунди)",
+        "description": "Додати затримку перед виконанням кожного з блоків"
+      },
+      "tabLoadTimeout": {
+        "title": "Час очікування завантаження вкладки",
+        "description": "Максимальний час очікування завантаження вкладки в мілісекундах(0, щоб вимкнути очікування)"
+      }
+    }
+  },
+  "collection": {
+    "description": "Послідовно виконувати ваші робочі процеси",
+    "new": "Нова колекція",
+    "delete": "Видалити колекцію",
+    "add": "Додати колекцію",
+    "rename": "Перейменувати колекцію",
+    "flow": "Flow",
+    "dragDropText": "Перетягніть робочий процес або блок сюди",
+    "options": {
+      "atOnce": {
+        "title": "Виконати всі робочі процеси в колекції одночасно",
+        "description": "Блоки не виконуватимуться, коли використовується цей параметр"
+      }
+    },
+    "globalData": {
+      "note": "Це перезапише глобальні дані робочого процесу"
+    }
+  },
+  "log": {
+    "flowId": "Ідентифікатор процесу",
+    "goBack": "Повернутися до журналів \"{name}\"",
+    "goWorkflow": "Перейти до робочого процесу",
+    "startedDate": "Дата початку",
+    "duration": "Тривалість",
+    "selectAll": "Вибрати все",
+    "deselectAll": "Скасувати вибір усіх",
+    "deleteSelected": "Видалити вибрані журнали",
+    "clearLogs": {
+      "title": "Очистити журнали",
+      "description": "Ви впевнені, що бажаєте очистити всі журнали?"
+    },
+    "types": {
+      "stop": "Робочий процес зупинено",
+      "finish": "Закінчити"
+    },
+    "messages": {
+      "url-empty": "URL порожня",
+      "invalid-url": "URL недійсний",
+      "conditions-empty": "Умови порожні",
+      "invalid-proxy-host": "Недійсний хост проксі",
+      "workflow-disabled": "Робочий процес вимкнено",
+      "selector-empty": "Селектор елемента порожній",
+      "invalid-body": "Тіло вмісту не є дійсним JSON",
+      "invalid-active-tab": "\"{url}\" є недійсною URL",
+      "empty-spreadsheet-id": "Ідентифікатор електронної таблиці порожній",
+      "invalid-loop-data": "Недійсні дані для циклу",
+      "empty-workflow": "Ви повинні спочатку вибрати робочий процес",
+      "active-tab-removed": "Активну вкладку робочого процесу видалено",
+      "empty-spreadsheet-range": "Діапазон таблиці порожній",
+      "stop-timeout": "Робочий процес зупинено через тайм-аут",
+      "no-file-access": "Automa не має доступу до файлу",
+      "no-workflow": "Не вдається знайти робочий цикл з ідентифікатором \"{workflowId}\"",
+      "no-match-tab": "Не вдається знайти вкладку, що відповідає шаблону \"{pattern}\"",
+      "no-clipboard-acces": "Немає дозволу на доступ до буфера обміну",
+      "browser-not-supported": "Ця функція не підтримується у браузері {browser}",
+      "element-not-found": "Не вдається знайти елемент за допомогою селектора \"{selector}\"",
+      "no-permission": "Немає дозволу \"{permission}\" для виконання цієї дії",
+      "not-iframe": "Елемент із селектором \"{selector}\" не є елементом iframe",
+      "iframe-not-found": "Не вдається знайти елемент iframe за допомогою селектора \"{selector}\"",
+      "workflow-infinite-loop": "Неможливо виконати робочий процес, щоб запобігти нескінченному циклу",
+      "not-debug-mode": "Робочий процес має працювати в режимі налагодження, щоб цей блок працював належним чином",
+      "no-iframe-id": "Не вдається знайти ID фрейму для елемента iframe за допомогою селектора \"{selector}\"",
+      "no-tab": "Не вдається підключитися до вкладки, скористайтеся блоком \"Нова вкладка\" або \"Активна вкладка\" перед використанням блоку \"{name}\""
+    },
+    "description": {
+      "text": "{status} {date} протягом {duration}",
+      "status": {
+        "success": "Успіх",
+        "error": "Помилка",
+        "stopped": "Зупинено"
+      }
+    },
+    "delete": {
+      "title": "Видалити журнал",
+      "description": "Ви впевнені, що хочете видалити всі вибрані журнали?"
+    },
+    "exportData": {
+      "title": "Експорт даних",
+      "types": {
+        "json": "JSON",
+        "csv": "CSV",
+        "plain-text": "Звичайний текст"
+      }
+    },
+    "filter": {
+      "title": "Фільтр",
+      "byStatus": "За статусом",
+      "byDate": {
+        "title": "За датою",
+        "items": {
+          "lastDay": "Останній день",
+          "last7Days": "Останні сім днів",
+          "last30Days": "Останні тридцять днів"
+        }
+      }
+    }
+  },
+  "components": {
+    "pagination": {
+      "text1": "Показ",
+      "text2": "елементи з {count}",
+      "nextPage": "Наступна сторінка",
+      "currentPage": "Поточна сторінка",
+      "prevPage": "Попередня сторінка",
+      "of": "з {page}"
+    }
+  }
+}

+ 32 - 0
src/locales/uk/popup.json

@@ -0,0 +1,32 @@
+{
+  "recording": {
+    "stop": "Зупинити запис",
+    "title": "Запис"
+  },
+  "home": {
+    "record": {
+      "title": "Запис workflow",
+      "button": "Запис",
+      "name": "Назва workflow",
+      "selectBlock": "Виберіть блок, з якого потрібно розпочати",
+      "anotherBlock": "Неможливо почати з цього блоку",
+      "tabs": {
+        "new": "Новий workflow",
+        "existing": "Існуючий workflow"
+      }
+    },
+    "elementSelector": {
+      "name": "Вибір елемента",
+      "noAccess": "Немає доступу до цього сайту"
+    },
+    "workflow": {
+      "new": "Новий workflow",
+      "rename": "Перейменувати workflow",
+      "delete": "Видалити workflow",
+      "type": {
+        "host": "Хост",
+        "local": "Локальний"
+      }
+    }
+  }
+}

+ 1 - 0
src/utils/shared.js

@@ -1491,6 +1491,7 @@ export const supportLocales = [
   { id: 'en', name: 'English' },
   { id: 'fr', name: 'Français' },
   { id: 'it', name: 'Italiano' },
+  { id: 'uk', name: 'Україньська' },
   { id: 'vi', name: 'Tiếng Việt' },
   { id: 'zh', name: '简体中文' },
   { id: 'zh-tw', name: '繁體中文' },