From e14302bdc0038b84a1a06089753205149cd1a92b Mon Sep 17 00:00:00 2001 From: Fabio Di Stasio Date: Mon, 6 Nov 2023 18:01:19 +0100 Subject: [PATCH] feat(translation): add Ukrainian language, thanks to #707 --- src/renderer/i18n/index.ts | 4 +- src/renderer/i18n/supported-locales.ts | 3 +- src/renderer/i18n/uk-UA.ts | 550 +++++++++++++++++++++++++ 3 files changed, 555 insertions(+), 2 deletions(-) create mode 100644 src/renderer/i18n/uk-UA.ts diff --git a/src/renderer/i18n/index.ts b/src/renderer/i18n/index.ts index f22e0569..fffbfb4f 100644 --- a/src/renderer/i18n/index.ts +++ b/src/renderer/i18n/index.ts @@ -14,6 +14,7 @@ import { koKR } from './ko-KR'; import { nlNL } from './nl-NL'; import { ptBR } from './pt-BR'; import { ruRU } from './ru-RU'; +import { ukUA } from './uk-UA'; import { viVN } from './vi-VN'; import { zhCN } from './zh-CN'; const messages = { @@ -32,7 +33,8 @@ const messages = { 'ko-KR': koKR, 'nl-NL': nlNL, 'ca-ES': caES, - 'cs-CZ': csCZ + 'cs-CZ': csCZ, + 'uk-UA': ukUA }; type NestedPartial = { diff --git a/src/renderer/i18n/supported-locales.ts b/src/renderer/i18n/supported-locales.ts index 7ce5208d..08fda12d 100644 --- a/src/renderer/i18n/supported-locales.ts +++ b/src/renderer/i18n/supported-locales.ts @@ -14,5 +14,6 @@ export const localesNames: {[key: string]: string} = { 'ko-KR': '한국어', 'nl-NL': 'Nederlands', 'ca-ES': 'Català', - 'cs-CZ': 'Čeština' + 'cs-CZ': 'Čeština', + 'uk-UA': 'Українська' }; diff --git a/src/renderer/i18n/uk-UA.ts b/src/renderer/i18n/uk-UA.ts new file mode 100644 index 00000000..1d25c2d0 --- /dev/null +++ b/src/renderer/i18n/uk-UA.ts @@ -0,0 +1,550 @@ +export const ukUA = { + general: { // Загальні терміни для загальних цілей + edit: 'Редагувати', + save: 'Зберегти', + close: 'Закрити', + delete: 'Видалити', + confirm: 'Підтвердити', + cancel: 'Скасувати', + send: 'Надіслати', + refresh: 'Оновити', + autoRefresh: 'Автоматичне оновлення', + version: 'Версія', + donate: 'Пожертвувати', + run: 'Запустити', + results: 'Результати', + size: 'Розмір', + mimeType: 'Тип MIME', + download: 'Завантажити', + add: 'Додати', + data: 'Дані', + properties: 'Властивості', + name: 'Назва', + clear: 'Очистити', + options: 'Параметри', + insert: 'Вставити', + discard: 'Відкинути', + stay: 'Залишити', + author: 'Автор', + upload: 'Завантажити', + browse: 'Переглянути', + content: 'Вміст', + cut: 'Вирізати', + copy: 'Копіювати', + paste: 'Вставити', + duplicate: 'Дублювати', + tools: 'Інструменти', + seconds: 'Секунди', + all: 'Усі', + new: 'Новий', + select: 'Вибрати', + change: 'Змінити', + include: 'Включити', + includes: 'Включає', + completed: 'Завершено', + aborted: 'Перервано', + disabled: 'Вимкнено', + enable: 'Увімкнути', + disable: 'Вимкнути', + contributors: 'Учасники', + pin: 'Закріпити', + unpin: 'Відкріпити', + folder: 'Папка | Папки', + none: 'Нічого', + singleQuote: 'Одинарна лапка', + doubleQuote: 'Подвійна лапка', + deleteConfirm: 'Ви підтверджуєте скасування', + uploadFile: 'Завантажити файл', + format: 'Формат', // Форматування коду + history: 'Історія', + filter: 'Фільтр', + manualValue: 'Власне значення', + selectAll: 'Вибрати все', + pageNumber: 'Номер сторінки', + directoryPath: 'Шлях до каталогу', + actionSuccessful: '{action} успішно виконано', + outputFormat: 'Формат виводу', + singleFile: 'Один файл {ext}', + zipCompressedFile: 'ZIP-стиснутий файл {ext}' + }, + + connection: { // Підключення до бази даних + connectionName: 'Назва підключення', + hostName: 'Ім"я хоста', + client: 'Клієнт', + port: 'Порт', + user: 'Користувач', + password: 'Пароль', + credentials: 'Облікові дані', + connect: 'Підключити', + connected: 'Підключено', + disconnect: 'Відключити', + disconnected: 'Відключено', + ssl: 'SSL', + enableSsl: 'Увімкнути SSL', + privateKey: 'Приватний ключ', + certificate: 'Сертифікат', + caCertificate: 'CA-сертифікат', + ciphers: 'Шифри', + untrustedConnection: 'Ненадійне підключення', + passphrase: 'Пароль до ключа', + sshTunnel: 'SSH-тунель', + enableSsh: 'Увімкнути SSH', + connectionString: 'Рядок підключення', + addConnection: 'Додати підключення', + createConnection: 'Створити підключення', + createNewConnection: 'Створити нове підключення', + askCredentials: 'Запитати облікові дані', + testConnection: 'Перевірити підключення', + editConnection: 'Редагувати підключення', + deleteConnection: 'Видалити підключення', + connectionSuccessfullyMade: 'Підключення успішно виконано!', + readOnlyMode: 'Режим тільки для читання', + allConnections: 'Усі підключення', + searchForConnections: 'Пошук підключень', + keepAliveInterval: 'Інтервал утримання зв"язку' + }, + + database: { // Терміни, пов'язані з базою даних + schema: 'Схема', + type: 'Тип', + insert: 'Вставити', + indexes: 'Індекси', + foreignKeys: 'Зовнішні ключі', + length: 'Довжина', + unsigned: 'Беззнаковий', + default: 'За замовчуванням', + comment: 'Коментар', + key: 'Ключ | Ключі', + order: 'Порядок', + expression: 'Вираз', + autoIncrement: 'Авто-інкремент', + engine: 'Двигун', + field: 'Поле | Поля', + approximately: 'Приблизно', + total: 'Загально', + table: 'Таблиця | Таблиці', + view: 'Вид | Види', + definer: 'Визначник', + algorithm: 'Алгоритм', + trigger: 'Тригер | Тригери', + storedRoutine: 'Збережена процедура | Збережені процедури', + scheduler: 'Планувальник | Планувальники', + event: 'Подія', + parameters: 'Параметри', + function: 'Функція | Функції', + deterministic: 'Детермінована', + context: 'Контекст', + export: 'Експорт', + import: 'Імпорт', + returns: 'Повертає', + timing: 'Часування', + state: 'Стан', + execution: 'Виконання', + starts: 'Починається', + ends: 'Закінчується', + variables: 'Змінні', + processes: 'Процеси', + database: 'База даних', + array: 'Масив', + structure: 'Структура', + row: 'Рядок | Рядки', + cell: 'Комірка | Комірки', + triggerFunction: 'Функція тригера | Функції тригера', + routine: 'Процедура | Процедури', + drop: 'Видалити', + commit: 'Закріпити', + rollback: 'Скасувати', + ddl: 'DDL', + collation: 'Колація', + resultsTable: 'Таблиця результатів', + unableEditFieldWithoutPrimary: 'Неможливо редагувати поле без первинного ключа в наборі результатів', + editCell: 'Редагувати комірку', + deleteRows: 'Видалити рядок | Видалити {count} рядків', + confirmToDeleteRows: 'Ви підтверджуєте видалення одного рядка? | Ви підтверджуєте видалення {count} рядків?', + addNewRow: 'Додати новий рядок', + numberOfInserts: 'Кількість вставок', + affectedRows: 'Підпадають під дію рядки', + createNewDatabase: 'Створити нову базу даних', + databaseName: 'Назва бази даних', + serverDefault: 'За замовчуванням на сервері', + deleteDatabase: 'Видалити базу даних', + editDatabase: 'Редагувати базу даних', + clearChanges: 'Скасувати зміни', + addNewField: 'Додати нове поле', + manageIndexes: 'Управління індексами', + manageForeignKeys: 'Управління зовнішніми ключами', + allowNull: 'Допускати NULL', + zeroFill: 'Заповнювати нулями', + customValue: 'Власне значення', + onUpdate: 'При оновленні', + deleteField: 'Видалити поле', + createNewIndex: 'Створити новий індекс', + addToIndex: 'Додати до індексу', + createNewTable: 'Створити нову таблицю', + emptyTable: 'Очистити таблицю', + duplicateTable: 'Дублювати таблицю', + deleteTable: 'Видалити таблицю', + exportTable: 'Експорт таблиці', + emptyConfirm: 'Ви підтверджуєте очищення', + thereAreNoIndexes: 'Немає індексів', + thereAreNoForeign: 'Немає зовнішніх ключів', + createNewForeign: 'Створити новий зовнішній ключ', + referenceTable: 'Таблиця посилання', + referenceField: 'Поле посилання', + foreignFields: 'Зовнішні поля', + invalidDefault: 'Недійсне значення за замовчуванням', + onDelete: 'При видаленні', + selectStatement: 'Оператор SELECT', + triggerStatement: 'Оператор тригера', + sqlSecurity: 'Безпека SQL', + updateOption: 'Опція оновлення', + deleteView: 'Видалити вид', + createNewView: 'Створити новий вид', + deleteTrigger: 'Видалити тригер', + createNewTrigger: 'Створити новий тригер', + currentUser: 'Поточний користувач', + routineBody: 'Тіло процедури', + dataAccess: 'Доступ до даних', + thereAreNoParameters: 'Немає параметрів', + createNewParameter: 'Створити новий параметр', + createNewRoutine: 'Створити нову збережену процедуру', + deleteRoutine: 'Видалити збережену процедуру', + functionBody: 'Тіло функції', + createNewFunction: 'Створити нову функцію', + deleteFunction: 'Видалити функцію', + schedulerBody: 'Тіло планувальника', + createNewScheduler: 'Створити новий планувальник', + deleteScheduler: 'Видалити планувальник', + preserveOnCompletion: 'Зберегти при завершенні', + tableFiller: 'Заповнювач таблиць', + fakeDataLanguage: 'Мова вигаданих даних', + queryDuration: 'Тривалість запиту', + setNull: 'Встановити NULL', + processesList: 'Список процесів', + processInfo: 'Інформація про процес', + manageUsers: 'Управління користувачами', + createNewSchema: 'Створити нову схему', + schemaName: 'Назва схеми', + editSchema: 'Редагувати схему', + deleteSchema: 'Видалити схему', + noSchema: 'Немає схеми', + runQuery: 'Виконати запит', + thereAreNoTableFields: 'Немає полів таблиці', + newTable: 'Нова таблиця', + newView: 'Новий вид', + newTrigger: 'Новий тригер', + newRoutine: 'Нова збережена процедура', + newFunction: 'Нова функція', + newScheduler: 'Новий планувальник', + newTriggerFunction: 'Нова функція тригера', + thereIsNoQueriesYet: 'Поки що немає запитів', + searchForQueries: 'Пошук запитів', + killProcess: 'Завершити процес', + exportSchema: 'Експорт схеми', + importSchema: 'Імпорт схеми', + newInsertStmtEvery: 'Новий оператор INSERT кожні', + processingTableExport: 'Обробка {table}', + fetchingTableExport: 'Отримання даних {table}', + writingTableExport: 'Запис даних {table}', + checkAllTables: 'Позначити всі таблиці', + uncheckAllTables: 'Зняти позначку з усіх таблиць', + killQuery: 'Завершити запит', + insertRow: 'Вставити рядок | Вставити рядки', + commitMode: 'Режим закріплення', + autoCommit: 'Автоматичне закріплення', + manualCommit: 'Ручне закріплення', + importQueryErrors: 'Попередження: сталася помилка: {n} помилка | Попередження: сталася помилка: {n} помилки', + executedQueries: '{n} виконаний запит | {n} виконаних запитів', + disableFKChecks: 'Вимкнути перевірку зовнішніх ключів', + formatQuery: 'Форматування запиту', + queryHistory: 'Історія запитів', + clearQuery: 'Очистити запит', + fillCell: 'Заповнити комірку', + executeSelectedQuery: 'Виконати вибраний запит', + noResultsPresent: 'Відсутні результати', + sqlExportOptions: 'Опції експорту SQL', + targetTable: 'Цільова таблиця', + switchDatabase: 'Перемкнути базу даних', + searchForElements: 'Пошук елементів', + searchForSchemas: 'Пошук схем' + }, + + application: { // Терміни, пов'язані з додатком + settings: 'Налаштування', + scratchpad: 'Блокнот', + disableScratchpad: 'Вимкнути блокнот', + console: 'Консоль', + general: 'Загальне', + themes: 'Теми', + update: 'Оновлення', + about: 'Про програму', + language: 'Мова', + shortcuts: 'Скорочення', + key: 'Клавіша | Клавіші', // Клавіша клавіатури + event: 'Подія', + light: 'Світлий', + dark: 'Темний', + autoCompletion: 'Автодоповнення', + application: 'Додаток', + editor: 'Редактор', + changelog: 'Журнал змін', + small: 'Маленький', + medium: 'Середній', + large: 'Великий', + appearance: 'Вигляд', + color: 'Колір', + label: 'Мітка', + icon: 'Іконка', + fileName: 'Ім"я файлу', + choseFile: 'Обрати файл', + data: 'Дані', + password: 'Пароль', + required: 'Обов"язково', + madeWithJS: 'Створено з 💛 і JavaScript!', + checkForUpdates: 'Перевірити оновлення', + noUpdatesAvailable: 'Оновлень немає', + checkingForUpdate: 'Перевірка оновлення', + checkFailure: 'Перевірка не вдалася, спробуйте пізніше', + updateAvailable: 'Доступно оновлення', + downloadingUpdate: 'Завантаження оновлення', + updateDownloaded: 'Оновлення завантажено', + restartToInstall: 'Перезапустіть Antares, щоб встановити', + includeBetaUpdates: 'Включити бета-оновлення', + notificationsTimeout: 'Таймаут сповіщень', + openNewTab: 'Відкрити нову вкладку', + unsavedChanges: 'Незбережені зміни', + discardUnsavedChanges: 'У вас є незбережені зміни. Закривши цю вкладку, ці зміни будуть скасовані.', + applicationTheme: 'Тема додатка', + editorTheme: 'Тема редактора', + wrapLongLines: 'Переносити довгі рядки', + markdownSupported: 'Підтримка Markdown', + plantATree: 'Посадити дерево', + dataTabPageSize: 'Розмір сторінки вкладки DATA', + noOpenTabs: 'Немає відкритих вкладок, перейдіть на панель зліва або:', + restorePreviousSession: 'Відновити попередню сесію', + closeTab: 'Закрити вкладку', + goToDownloadPage: 'Перейти на сторінку завантаження', + disableBlur: 'Вимкнути розмиття', + missingOrIncompleteTranslation: 'Відсутній або неповний переклад?', + findOutHowToContribute: 'Дізнайтеся, як внести свій внесок', + reportABug: 'Повідомити про помилку', + nextTab: 'Наступна вкладка', + previousTab: 'Попередня вкладка', + selectTabNumber: 'Вибрати вкладку номер {param}', + toggleConsole: 'Перемкнути консоль', + addShortcut: 'Додати скорочення', + editShortcut: 'Редагувати скорочення', + deleteShortcut: 'Видалити скорочення', + restoreDefaults: 'Відновити значення за замовчуванням', + restoreDefaultsQuestion: 'Ви підтверджуєте відновлення значень за замовчуванням?', + registerAShortcut: 'Зареєструвати скорочення', + invalidShortcutMessage: 'Недійсна комбінація, продовжте введення', + shortcutAlreadyExists: 'Скорочення вже існує', + saveContent: 'Зберегти вміст', + openAllConnections: 'Відкрити всі підключення', + openSettings: 'Відкрити налаштування', + openScratchpad: 'Відкрити блокнот', + runOrReload: 'Запустити або перезавантажити', + openFilter: 'Відкрити фільтр', + nextResultsPage: 'Наступна сторінка результатів', + previousResultsPage: 'Попередня сторінка результатів', + editFolder: 'Редагувати теку', + folderName: 'Назва теки', + deleteFolder: 'Видалити теку', + editConnectionAppearance: 'Редагувати вигляд підключення', + defaultCopyType: 'Тип копіювання за замовчуванням', + showTableSize: 'Показувати розмір таблиці в бічній панелі', + showTableSizeDescription: 'Тільки для MySQL/MariaDB. Увімкнення цієї опції може вплинути на продуктивність в схемах з багатьма таблицями.', + switchSearchMethod: 'Перемкнути метод пошуку', + phpArray: 'Масив PHP', + closeAllTabs: 'Закрити всі вкладки', + closeOtherTabs: 'Закрити інші вкладки', + closeTabsToLeft: 'Закрити вкладки ліворуч', + closeTabsToRight: 'Закрити вкладки праворуч', + csvFieldDelimiter: 'Роздільник полів для CSV', + csvLinesTerminator: 'Роздільник рядків для CSV', + csvStringDelimiter: 'Роздільник рядків для CSV', + csvIncludeHeader: 'Включити заголовок для CSV', + csvExportOptions: 'Опції експорту CSV', + exportData: 'Експорт даних', + exportDataExplanation: 'Експорт збережених підключень до Antares. Вам буде запропоновано ввести пароль для шифрування експортованого файлу.', + importData: 'Імпорт даних', + importDataExplanation: 'Імпорт файлу .antares, який містить підключення. Вам потрібно буде ввести пароль, встановлений під час експорту.', + includeConnectionPasswords: 'Включити паролі підключень', + includeFolders: 'Включити теки', + encryptionPassword: 'Пароль для шифрування', + encryptionPasswordError: 'Пароль для шифрування повинен містити щонайменше 8 символів.', + ignoreDuplicates: 'Ігнорувати дублікати', + wrongImportPassword: 'Неправильний пароль для імпорту', + wrongFileFormat: 'Неправильний формат файлу', + dataImportSuccess: 'Дані успішно імпортовано' + }, + + faker: { // Методи Faker.js, використовувані в випадково згенерованому вмісті + address: 'Адреса', + commerce: 'Комерція', + company: 'Компанія', + database: 'База даних', + date: 'Дата', + finance: 'Фінанси', + git: 'Git', + hacker: 'Хакер', + internet: 'Інтернет', + lorem: 'Lorem', + name: 'Ім"я', + music: 'Музика', + phone: 'Телефон', + random: 'Випадково', + system: 'Система', + time: 'Час', + vehicle: 'Транспортний засіб', + zipCode: 'Поштовий індекс', + zipCodeByState: 'Поштовий індекс за станом', + city: 'Місто', + cityPrefix: 'Префікс міста', + citySuffix: 'Суфікс міста', + streetName: 'Назва вулиці', + streetAddress: 'Адреса вулиці', + streetSuffix: 'Суфікс вулиці', + streetPrefix: 'Префікс вулиці', + secondaryAddress: 'Додаткова адреса', + county: 'Округ', + country: 'Країна', + countryCode: 'Код країни', + state: 'Штат', + stateAbbr: 'Скорочення назви штату', + latitude: 'Широта', + longitude: 'Довгота', + direction: 'Напрям', + cardinalDirection: 'Кардинальний напрям', + ordinalDirection: 'Ординальний напрям', + nearbyGPSCoordinate: 'Ближча координата GPS', + timeZone: 'Часовий пояс', + color: 'Колір', + department: 'Відділ', + productName: 'Назва продукту', + price: 'Ціна', + productAdjective: 'Прикметник продукту', + productMaterial: 'Матеріал продукту', + product: 'Продукт', + productDescription: 'Опис продукту', + suffixes: 'Суфікси', + companyName: 'Назва компанії', + companySuffix: 'Суфікс компанії', + catchPhrase: 'Захоплива фраза', + bs: 'БС', + catchPhraseAdjective: 'Прикметник захопливої фрази', + catchPhraseDescriptor: 'Опис захопливої фрази', + catchPhraseNoun: 'Іменник захопливої фрази', + bsAdjective: 'Прикметник БС', + bsBuzz: 'БС буз', + bsNoun: 'Іменник БС', + column: 'Стовпець', + type: 'Тип', + collation: 'Спільність', + engine: 'Двигун', + past: 'Минуле', + now: 'Зараз', + future: 'Майбутнє', + between: 'Між', + recent: 'Останнє', + soon: 'Незабаром', + month: 'Місяць', + weekday: 'День тижня', + account: 'Рахунок', + accountName: 'Назва рахунку', + routingNumber: 'Номер маршрутизації', + mask: 'Маска', + amount: 'Сума', + transactionType: 'Тип транзакції', + currencyCode: 'Код валюти', + currencyName: 'Назва валюти', + currencySymbol: 'Символ валюти', + bitcoinAddress: 'Адреса Bitcoin', + litecoinAddress: 'Адреса Litecoin', + creditCardNumber: 'Номер кредитної картки', + creditCardCVV: 'CVV кредитної картки', + ethereumAddress: 'Адреса Ethereum', + iban: 'IBAN', + bic: 'BIC', + transactionDescription: 'Опис транзакції', + branch: 'Відділення', + commitEntry: 'Запис коміту', + commitMessage: 'Повідомлення коміту', + commitSha: 'SHA коміту', + shortSha: 'Короткий SHA', + abbreviation: 'Абревіатура', + adjective: 'Прикметник', + noun: 'Іменник', + verb: 'Дієслово', + ingverb: 'Дієприкметник', + phrase: 'Фраза', + avatar: 'Аватар', + email: 'Електронна пошта', + exampleEmail: 'Приклад електронної пошти', + userName: 'Ім"я користувача', + protocol: 'Протокол', + url: 'URL', + domainName: 'Ім"я домену', + domainSuffix: 'Суфікс домену', + domainWord: 'Слово домену', + ip: 'IP-адреса', + ipv6: 'IPv6', + userAgent: 'User-Agent', + mac: 'MAC-адреса', + password: 'Пароль', + word: 'Слово', + words: 'Слова', + sentence: 'Речення', + slug: 'URL-посилання', + sentences: 'Речення', + paragraph: 'Абзац', + paragraphs: 'Абзаци', + text: 'Текст', + lines: 'Рядки', + genre: 'Жанр', + firstName: 'Ім"я', + lastName: 'Прізвище', + middleName: 'По батькові', + findName: 'Повне ім\'я', + jobTitle: 'Посада', + gender: 'Стать', + prefix: 'Префікс', + suffix: 'Суфікс', + title: 'Заголовок', + jobDescriptor: 'Опис посади', + jobArea: 'Сфера діяльності', + jobType: 'Тип посади', + phoneNumber: 'Номер телефону', + phoneNumberFormat: 'Формат номеру телефону', + phoneFormats: 'Формати номерів телефону', + number: 'Число', + float: 'Дійсне число', + arrayElement: 'Елемент масиву', + arrayElements: 'Елементи масиву', + objectElement: 'Елемент об"єкта', + uuid: 'UUID', + boolean: 'Логічний тип', + image: 'Зображення', + locale: 'Локаль', + alpha: 'Літера', + alphaNumeric: 'Літера або число', + hexaDecimal: 'Шістнадцяткове число', + fileName: 'Назва файлу', + commonFileName: 'Загальна назва файлу', + mimeType: 'MIME-тип', + commonFileType: 'Загальний тип файлу', + commonFileExt: 'Загальний розширення файлу', + fileType: 'Тип файлу', + fileExt: 'Розширення файлу', + directoryPath: 'Шлях до каталогу', + filePath: 'Шлях до файлу', + semver: 'Семантичний номер версії', + manufacturer: 'Виробник', + model: 'Модель', + fuel: 'Паливо', + vin: 'VIN' + } + +};