mirror of
https://github.com/snapotter-hq/SnapOtter.git
synced 2026-08-03 07:46:42 +02:00
Phase 1 quick fixes: - Add isInputFocused() guard to Cmd+A/D/T/J shortcuts (P1-7) - Add Go Home button to tool-not-found page (P2-30) - Fix hardcoded "Import from Library" string in file library modal (P2-28) - Fix TeamEntry.id type from number to string to match API (P2-6) - Add eye toggle to confirm password field (P2-10) - Add Apply/Cancel buttons to Free Transform options bar (P2-14) Phase 2 state fixes: - Add sessionStorage persistence to pipeline store (P1-26) - Fix Free Transform 0 dimensions by falling back to selection bounds (P1-6) Phase 3 editor features: - Constrain brush/eraser drawing within active selection bounds (P1-5) - Add feather radius control to selection options (P2-21) - Add flow control slider to brush options (P2-22) - Add brush/block mode selector to eraser options (P2-23) - Add estimated file size display to export dialog (P2-18) Phase 4: - Add Playwright e2e tests for key fixes (404 page, routing, pipeline persistence, export dialog)
2034 lines
100 KiB
TypeScript
2034 lines
100 KiB
TypeScript
import type { TranslationKeys } from "./en.js";
|
||
|
||
export const uk: TranslationKeys = {
|
||
common: {
|
||
upload: "Завантажити з комп'ютера",
|
||
process: "Обробити",
|
||
download: "Завантажити",
|
||
cancel: "Скасувати",
|
||
save: "Зберегти",
|
||
delete: "Видалити",
|
||
settings: "Налаштування",
|
||
search: "Пошук інструментів...",
|
||
dropFiles: "Перетягніть файли сюди або натисніть кнопку завантаження",
|
||
loading: "Завантаження...",
|
||
error: "Сталася помилка",
|
||
confirm: "Підтвердити",
|
||
close: "Закрити",
|
||
back: "Назад",
|
||
next: "Далі",
|
||
clear: "Очистити",
|
||
copy: "Копіювати",
|
||
copied: "Скопійовано!",
|
||
noResults: "Нічого не знайдено",
|
||
showLess: "Показати менше",
|
||
showMore: "Показати ще {count}",
|
||
experimental: "Експериментальний",
|
||
enabled: "Увімкнено",
|
||
disabled: "Вимкнено",
|
||
rename: "Перейменувати",
|
||
edit: "Редагувати",
|
||
actions: "Дії",
|
||
create: "Створити",
|
||
or: "або",
|
||
goHome: "На головну",
|
||
somethingWentWrong: "Щось пішло не так",
|
||
unexpectedError: "Сталася неочікувана помилка.",
|
||
retry: "Повторити",
|
||
privacyPolicy: "Політика конфіденційності",
|
||
pageNotFound: "Page not found",
|
||
pageNotFoundDescription: "The page you are looking for does not exist or has been moved.",
|
||
},
|
||
categories: {
|
||
essentials: "Основні",
|
||
optimization: "Оптимізація",
|
||
adjustments: "Корекція",
|
||
watermark: "Водяний знак і накладання",
|
||
utilities: "Утиліти",
|
||
layout: "Компонування та композиція",
|
||
format: "Формат і конвертація",
|
||
ai: "AI-інструменти",
|
||
},
|
||
tools: {
|
||
resize: {
|
||
name: "Зміна розміру",
|
||
description: "Зміна розміру в пікселях, відсотках або за шаблонами соцмереж",
|
||
},
|
||
crop: {
|
||
name: "Обрізка",
|
||
description: "Довільна обрізка, шаблони пропорцій, фігурна обрізка",
|
||
},
|
||
rotate: {
|
||
name: "Обертання та відображення",
|
||
description: "Обертання, відображення та вирівнювання зображень",
|
||
},
|
||
convert: { name: "Конвертація", description: "Конвертація між форматами зображень" },
|
||
compress: {
|
||
name: "Стиснення",
|
||
description: "Зменшення розміру файлу за якістю або цільовим розміром",
|
||
},
|
||
"optimize-for-web": {
|
||
name: "Оптимізація для вебу",
|
||
description:
|
||
"Оптимізація зображень для вебу з конвертацією формату, контролем якості та попереднім переглядом",
|
||
},
|
||
"strip-metadata": {
|
||
name: "Видалення метаданих",
|
||
description: "Видалення EXIF, GPS та інформації про камеру",
|
||
},
|
||
"edit-metadata": {
|
||
name: "Редагування метаданих",
|
||
description: "Редагування EXIF, IPTC, XMP, GPS, ключових слів і дат",
|
||
},
|
||
"bulk-rename": {
|
||
name: "Масове перейменування",
|
||
description: "Перейменування кількох файлів за шаблоном",
|
||
},
|
||
"image-to-pdf": {
|
||
name: "Зображення у PDF",
|
||
description: "Об'єднання зображень у документ PDF",
|
||
},
|
||
"pdf-to-image": {
|
||
name: "PDF у зображення",
|
||
description: "Конвертація сторінок PDF у зображення",
|
||
},
|
||
favicon: {
|
||
name: "Генератор Favicon",
|
||
description: "Генерація всіх розмірів Favicon та іконок застосунку",
|
||
},
|
||
"adjust-colors": {
|
||
name: "Налаштування кольорів",
|
||
description:
|
||
"Яскравість, контрастність, експозиція, насиченість, температура, різкість та ефекти",
|
||
},
|
||
sharpening: {
|
||
name: "Підвищення різкості",
|
||
description: "Адаптивна, маска нерізкості та високочастотна різкість із шаблонами",
|
||
},
|
||
"replace-color": {
|
||
name: "Заміна та інверсія кольору",
|
||
description: "Заміна окремих кольорів або інверсія",
|
||
},
|
||
"color-blindness": {
|
||
name: "Симуляція дальтонізму",
|
||
description: "Симуляція сприйняття зображень за різних типів порушення кольорового зору",
|
||
},
|
||
"remove-background": {
|
||
name: "Видалення фону",
|
||
description: "Видалення фону за допомогою AI",
|
||
},
|
||
upscale: {
|
||
name: "Збільшення зображення",
|
||
description: "AI-збільшення з надроздільністю",
|
||
},
|
||
"erase-object": {
|
||
name: "Видалення об'єктів",
|
||
description: "Видалення небажаних об'єктів за допомогою AI",
|
||
},
|
||
ocr: {
|
||
name: "OCR / Витягування тексту",
|
||
description: "Витягування тексту із зображень з точністю AI",
|
||
},
|
||
"blur-faces": {
|
||
name: "Розмиття облич / ПД",
|
||
description: "Автоматичне виявлення та розмиття облич і конфіденційних даних",
|
||
},
|
||
"enhance-faces": {
|
||
name: "Поліпшення облич",
|
||
description: "Відновлення та поліпшення облич за допомогою AI",
|
||
},
|
||
"smart-crop": {
|
||
name: "Розумна обрізка",
|
||
description: "Розумна обрізка за об'єктом, обличчям або обрізка полів",
|
||
},
|
||
"image-enhancement": {
|
||
name: "Поліпшення зображення",
|
||
description:
|
||
"Автоматичне поліпшення в один клік: розумна корекція експозиції, контрасту, кольору та різкості",
|
||
},
|
||
"noise-removal": {
|
||
name: "Видалення шуму",
|
||
description: "Видалення шуму та зернистості за допомогою AI",
|
||
},
|
||
"red-eye-removal": {
|
||
name: "Видалення червоних очей",
|
||
description: "Виявлення та корекція червоних очей на фото зі спалахом за допомогою AI",
|
||
},
|
||
"restore-photo": {
|
||
name: "Відновлення фотографій",
|
||
description: "Виправлення подряпин, розривів і пошкоджень на старих фото за допомогою AI",
|
||
},
|
||
"content-aware-resize": {
|
||
name: "Контентно-залежне масштабування",
|
||
description: "Інтелектуальна зміна розміру зі збереженням важливого вмісту",
|
||
},
|
||
"ai-canvas-expand": {
|
||
name: "AI-розширення полотна",
|
||
description: "Розширення полотна з AI-заповненням",
|
||
},
|
||
colorize: {
|
||
name: "AI-колоризація",
|
||
description:
|
||
"Перетворення чорно-білих фотографій на кольорові за допомогою AI-моделей глибокого навчання",
|
||
},
|
||
"passport-photo": {
|
||
name: "Фото на документи",
|
||
description:
|
||
"Створення фотографій для паспорта, візи та посвідчень з автоматичним виявленням обличчя",
|
||
},
|
||
"transparency-fixer": {
|
||
name: "Виправлення прозорості PNG",
|
||
description: "Виправлення хибної прозорості PNG в один клік",
|
||
},
|
||
"watermark-text": {
|
||
name: "Текстовий водяний знак",
|
||
description: "Додавання текстового водяного знаку",
|
||
},
|
||
"watermark-image": {
|
||
name: "Графічний водяний знак",
|
||
description: "Накладання логотипу як водяного знаку",
|
||
},
|
||
"text-overlay": {
|
||
name: "Накладання тексту",
|
||
description: "Додавання стилізованого тексту на зображення",
|
||
},
|
||
compose: {
|
||
name: "Композиція зображень",
|
||
description: "Накладання зображень з налаштуванням позиції та прозорості",
|
||
},
|
||
"meme-generator": {
|
||
name: "Генератор Meme",
|
||
description:
|
||
"Створення мемів із популярними шаблонами або власними зображеннями. Класичний текст у стилі Impact з налаштовуваними шрифтами, кольорами та розташуванням.",
|
||
},
|
||
info: {
|
||
name: "Інформація про зображення",
|
||
description: "Перегляд усіх метаданих та властивостей зображення",
|
||
},
|
||
compare: {
|
||
name: "Порівняння зображень",
|
||
description: "Порівняння двох зображень пліч-о-пліч",
|
||
},
|
||
"find-duplicates": {
|
||
name: "Пошук дублікатів",
|
||
description: "Виявлення точних та приблизних дублікатів зображень",
|
||
},
|
||
"color-palette": {
|
||
name: "Кольорова палітра",
|
||
description: "Витягування домінуючих кольорів із зображення",
|
||
},
|
||
"qr-generate": {
|
||
name: "Генератор QR-кодів",
|
||
description:
|
||
"Генерація стилізованих QR-кодів з налаштовуваними кольорами, візерунками та логотипами",
|
||
},
|
||
"barcode-read": {
|
||
name: "Сканер штрихкодів",
|
||
description: "Сканування зображень на наявність QR-кодів, штрихкодів та 2D-кодів",
|
||
},
|
||
collage: {
|
||
name: "Колаж / Сітка",
|
||
description: "Об'єднання зображень у красиві колажі-сітки з 25+ шаблонами",
|
||
},
|
||
stitch: {
|
||
name: "Об'єднання / Склейка",
|
||
description: "З'єднання зображень поруч, стопкою або сіткою",
|
||
},
|
||
split: {
|
||
name: "Розділення зображення",
|
||
description:
|
||
"Розділення зображень на плитки сітки або за розміром у пікселях з попереднім переглядом",
|
||
},
|
||
border: {
|
||
name: "Рамка та обрамлення",
|
||
description:
|
||
"Додавання рамок, відступів, заокруглених кутів та тіней з шаблонами в один клік",
|
||
},
|
||
beautify: {
|
||
name: "Прикрашання знімку екрана",
|
||
description:
|
||
"Додавання градієнтних фонів, рамок пристроїв, тіней та розмірів для соцмереж до знімків екрана",
|
||
},
|
||
"svg-to-raster": {
|
||
name: "SVG у растр",
|
||
description:
|
||
"Конвертація SVG у PNG, JPEG, WebP, AVIF, TIFF, GIF або HEIF з налаштовуваним масштабом та DPI",
|
||
},
|
||
vectorize: {
|
||
name: "Зображення у SVG",
|
||
description: "Конвертація зображень у масштабовану векторну графіку",
|
||
},
|
||
"gif-tools": {
|
||
name: "Інструменти GIF",
|
||
description:
|
||
"Зміна розміру, оптимізація, швидкості, реверс, витягування кадрів та обертання анімованих GIF",
|
||
},
|
||
"image-to-base64": {
|
||
name: "Зображення у Base64",
|
||
description: "Конвертація зображень у рядки Base64 для вбудовування у HTML, CSS та інше",
|
||
},
|
||
pipeline: {
|
||
name: "Конструктор Pipeline",
|
||
description: "Об'єднання кількох інструментів у робочий процес",
|
||
},
|
||
},
|
||
toolSettings: {
|
||
compress: {
|
||
compressionMode: "Режим стиснення",
|
||
targetSize: "Цільовий розмір",
|
||
quality: "Якість",
|
||
smallestFile: "Найменший файл",
|
||
bestQuality: "Найкраща якість",
|
||
submit: "Стиснути",
|
||
submitBatch: "Стиснути ({count} файлів)",
|
||
progressLabel: "Стиснення",
|
||
original: "Оригінал: {size} KB",
|
||
processed: "Оброблено: {size} KB",
|
||
saved: "Зекономлено: {percent}%",
|
||
},
|
||
resize: {
|
||
customSize: "Власний розмір",
|
||
scale: "Масштаб",
|
||
presets: "Шаблони",
|
||
contentAware: "Контентно-залежний",
|
||
widthPx: "Ширина (px)",
|
||
heightPx: "Висота (px)",
|
||
fitMode: "Режим вписування",
|
||
cropToFit: "Обрізати за розміром",
|
||
fitInside: "Вписати всередину",
|
||
stretch: "Розтягнути",
|
||
limitToOriginalSize: "Обмежити оригінальним розміром",
|
||
limitToOriginalSizeHint:
|
||
"Якщо зображення вже менше за цільовий розмір, залишити як є замість збільшення",
|
||
scalePercent: "Масштаб (%)",
|
||
resizeToSquare: "Привести до квадрату",
|
||
protectFaces: "Захистити обличчя",
|
||
smoothing: "Згладжування",
|
||
edgeSensitivity: "Чутливість до країв",
|
||
submit: "Змінити розмір",
|
||
submitBatch: "Змінити розмір ({count} файлів)",
|
||
progressLabel: "Зміна розміру",
|
||
},
|
||
crop: {
|
||
aspectRatio: "Пропорції",
|
||
custom: "Власне",
|
||
positionAndSize: "Позиція та розмір",
|
||
ruleOfThirds: "Правило третин",
|
||
leftOffsetPx: "Відступ зліва (px)",
|
||
topOffsetPx: "Відступ зверху (px)",
|
||
submit: "Обрізати",
|
||
submitBatch: "Обрізати ({count} файлів)",
|
||
progressLabel: "Обрізка",
|
||
},
|
||
rotate: {
|
||
rotate: "Обернути",
|
||
angle: "Кут",
|
||
straighten: "Вирівняти",
|
||
flip: "Відобразити",
|
||
horizontal: "Горизонтально",
|
||
vertical: "Вертикально",
|
||
resetAllChanges: "Скинути всі зміни",
|
||
submit: "Застосувати",
|
||
submitBatch: "Застосувати ({count} файлів)",
|
||
progressLabel: "Застосування",
|
||
},
|
||
convert: {
|
||
targetFormat: "Цільовий формат",
|
||
sourceFormat: "Вихідний формат",
|
||
quality: "Якість",
|
||
submit: "Конвертувати",
|
||
submitBatch: "Конвертувати ({count} файлів)",
|
||
progressLabel: "Конвертація",
|
||
},
|
||
"optimize-for-web": {
|
||
outputFormat: "Формат виводу",
|
||
quality: "Якість",
|
||
smallestFile: "Найменший файл",
|
||
bestQuality: "Найкраща якість",
|
||
maxDimensions: "Макс. розміри",
|
||
maxWidth: "Макс. ширина",
|
||
maxHeight: "Макс. висота",
|
||
stripMetadata: "Видалити метадані",
|
||
sizeComparison: "Порівняння розмірів",
|
||
optimized: "Оптимізовано:",
|
||
smaller: "На {percent}% менше",
|
||
larger: "На {percent}% більше",
|
||
submit: "Обробити й завантажити",
|
||
submitBatch: "Обробити й завантажити ({count} файлів)",
|
||
progressLabel: "Оптимізація",
|
||
},
|
||
"strip-metadata": {
|
||
currentMetadata: "Поточні метадані",
|
||
readingMetadata: "Читання метаданих...",
|
||
noMetadataFound: "Метадані у цьому зображенні не знайдено.",
|
||
removeAllMetadata: "Видалити всі метадані",
|
||
selectSpecific: "Або оберіть конкретні метадані:",
|
||
stripExif: "Видалити EXIF (інформація про камеру, дата, експозиція)",
|
||
stripGps: "Видалити GPS (дані про місцезнаходження)",
|
||
stripIcc: "Видалити ICC (колірний профіль)",
|
||
stripXmp: "Видалити XMP (розширювані метадані)",
|
||
locationFound: "місцезнаходження знайдено",
|
||
locationWarning:
|
||
"Це зображення містить Ваше точне місцезнаходження. Рекомендуємо видалити GPS-дані перед публікацією.",
|
||
metadataSections: "Знайдено {count} розділ метаданих",
|
||
metadataSectionsPlural: "Знайдено {count} розділів метаданих",
|
||
metadataRemoved: "Метадані видалено: {size} KB",
|
||
submit: "Видалити метадані",
|
||
progressLabel: "Видалення метаданих",
|
||
},
|
||
"edit-metadata": {
|
||
readingMetadata: "Читання метаданих...",
|
||
couldNotReadMetadata: "Не вдалося прочитати метадані. Поля будуть порожніми.",
|
||
basicInfo: "Основна інформація",
|
||
description: "Опис",
|
||
artist: "Автор",
|
||
copyright: "Авторські права",
|
||
software: "Програма",
|
||
iptc: "IPTC",
|
||
title: "Заголовок",
|
||
headline: "Підзаголовок",
|
||
city: "Місто",
|
||
stateProvince: "Область/Регіон",
|
||
country: "Країна",
|
||
dateAndTime: "Дата і час",
|
||
editDates: "Редагувати дати",
|
||
shiftAllDates: "Зсунути всі дати",
|
||
dateModified: "Дата зміни",
|
||
dateTaken: "Дата зйомки",
|
||
shiftHint: "Зсунути всі поля дат на вказаний інтервал (корисно для корекції часових поясів)",
|
||
direction: "Напрямок",
|
||
forward: "+ Уперед",
|
||
backward: "- Назад",
|
||
hoursMinutes: "Години:Хвилини",
|
||
locationGps: "Місцезнаходження (GPS)",
|
||
locationDataFound: "Дані про місцезнаходження знайдено",
|
||
noGpsData: "Немає GPS-даних. Додайте координати нижче.",
|
||
latitude: "Широта",
|
||
longitude: "Довгота",
|
||
altitudeMeters: "Висота (метри)",
|
||
removeAllGpsData: "Видалити всі GPS-дані",
|
||
keywords: "Ключові слова",
|
||
addKeywordPlaceholder: "Додайте ключове слово та натисніть Enter",
|
||
addToExisting: "Додати до наявних",
|
||
replaceAll: "Замінити всі",
|
||
allMetadata: "Усі метадані",
|
||
templates: "Шаблони",
|
||
templateNamePlaceholder: "Назва шаблону",
|
||
uploadPrompt: "Завантажте зображення для редагування метаданих.",
|
||
changes: "Змін: {count}:",
|
||
modified: "Змінено: {count}",
|
||
removed: "Видалено: {count}",
|
||
gpsCleared: "GPS видалено",
|
||
gpsAdded: "GPS додано",
|
||
datesShifted: "дати зсунуто",
|
||
submit: "Застосувати метадані",
|
||
progressLabel: "Запис метаданих",
|
||
},
|
||
"bulk-rename": {
|
||
pattern: "Шаблон",
|
||
patternHint: "Змінні: {{index}}, {{padded}}, {{original}}",
|
||
startIndex: "Початковий індекс",
|
||
preview: "Попередній перегляд",
|
||
andMore: "... і ще {count}",
|
||
renaming: "Перейменування...",
|
||
submit: "Перейменувати {count} файлів",
|
||
zipDownloaded: "ZIP-архів успішно завантажено",
|
||
},
|
||
"image-to-pdf": {
|
||
imageCount: "{count} зображення буде сконвертовано у {mode}",
|
||
imageCountPlural: "{count} зображень буде сконвертовано у {mode}",
|
||
singlePdfMode: "один PDF, одне зображення на сторінку",
|
||
separatePdfMode: "окремі PDF, по одному на зображення",
|
||
combineAllImages: "Об'єднати всі зображення в один PDF",
|
||
pageSize: "Розмір сторінки",
|
||
orientation: "Орієнтація",
|
||
portrait: "Книжкова",
|
||
landscape: "Альбомна",
|
||
margin: "Поля",
|
||
targetSizeLabel: "Цільовий розмір файлу (необов'язково)",
|
||
targetSizePlaceholder: "напр. 2",
|
||
targetSizeHint: "Залиште порожнім для максимальної якості",
|
||
targetSizeMet: "Цільовий розмір досягнуто",
|
||
targetSizeNotMet:
|
||
"Не вдалося досягти цільового розміру. Файл стиснуто до мінімальної якості.",
|
||
targetSizeTooSmall: "Цільовий розмір має бути не менше 50KB",
|
||
jpegQualityLabel: "Використана якість JPEG",
|
||
noImage: "Немає зображення",
|
||
submitCollate: "Створити PDF ({count} сторінок)",
|
||
submitSeparate: "Створити {count} PDF",
|
||
downloadPdf: "Завантажити PDF",
|
||
downloadZip: "Завантажити ZIP",
|
||
progressLabel: "Створення PDF",
|
||
uploadingImages: "Завантаження зображень...",
|
||
processingPages: "Обробка {count} сторінок...",
|
||
},
|
||
"pdf-to-image": {
|
||
dropPdf: "Перетягніть PDF сюди або натисніть для вибору",
|
||
readingPdf: "Читання PDF...",
|
||
pageCount: "{count} сторінка",
|
||
pageCountPlural: "{count} сторінок",
|
||
outputFormat: "Формат виводу",
|
||
quality: "Якість",
|
||
resolutionDpi: "Роздільність (DPI)",
|
||
dpiScreen: "Екран",
|
||
dpiStandard: "Стандарт",
|
||
dpiPrint: "Друк",
|
||
dpiHighQuality: "Висока якість",
|
||
colorMode: "Колірний режим",
|
||
colorModeColor: "Кольоровий",
|
||
colorModeGrayscale: "Відтінки сірого",
|
||
colorModeBw: "Ч/Б",
|
||
pages: "Сторінки",
|
||
allPages: "Усі сторінки",
|
||
pagesHint: "напр. 1-3, 5, 8-10 (у документі {count} сторінок)",
|
||
converting: "Конвертація...",
|
||
submit: "Конвертувати {count} сторінку",
|
||
submitPlural: "Конвертувати {count} сторінок",
|
||
downloadAllZip: "Завантажити все (ZIP)",
|
||
},
|
||
favicon: {
|
||
uploadHint:
|
||
"Завантажте квадратні зображення (рекомендовано 512x512 або більше) для генерації всіх розмірів Favicon та іконок застосунку.",
|
||
multipleHint: "Кожне з {count} зображень отримає власну теку у ZIP-архіві.",
|
||
generatedSizes: "Розміри, що генеруються (на зображення)",
|
||
plusManifest: "+ manifest.json + HTML-фрагмент",
|
||
submit: "Згенерувати Favicon ({count} зображення)",
|
||
submitPlural: "Згенерувати Favicon ({count} зображень)",
|
||
downloadZip: "Завантажити ZIP з Favicon",
|
||
progressLabel: "Генерація Favicon",
|
||
},
|
||
"adjust-colors": {
|
||
light: "Світло",
|
||
brightness: "Яскравість",
|
||
contrast: "Контраст",
|
||
exposure: "Експозиція",
|
||
color: "Колір",
|
||
saturation: "Насиченість",
|
||
temperature: "Температура",
|
||
temperatureHint: "холодна / тепла",
|
||
tint: "Відтінок",
|
||
tintHint: "зелений / пурпуровий",
|
||
hue: "Тон",
|
||
detail: "Деталізація",
|
||
sharpness: "Різкість",
|
||
effects: "Ефекти",
|
||
none: "немає",
|
||
grayscale: "відтінки сірого",
|
||
sepia: "сепія",
|
||
invert: "інверсія",
|
||
colorChannels: "Кольорові канали",
|
||
channelModified: "змінено",
|
||
red: "Червоний",
|
||
green: "Зелений",
|
||
blue: "Синій",
|
||
resetAll: "Скинути все",
|
||
submit: "Застосувати",
|
||
submitBatch: "Застосувати ({count} файлів)",
|
||
progressLabel: "Налаштування кольорів",
|
||
},
|
||
sharpening: {
|
||
method: "Метод",
|
||
adaptive: "Адаптивний",
|
||
unsharpMask: "Маска нерізкості",
|
||
highPass: "Високочастотний",
|
||
presets: "Шаблони",
|
||
textureAmount: "Кількість текстури",
|
||
amount: "Кількість",
|
||
strength: "Сила",
|
||
noiseReduction: "Придушення шуму",
|
||
off: "вимк.",
|
||
lightDenoise: "легке",
|
||
mediumDenoise: "середнє",
|
||
strongDenoise: "сильне",
|
||
advancedControls: "Розширені налаштування",
|
||
radius: "Радіус",
|
||
flatProtection: "Захист рівних ділянок",
|
||
detailThreshold: "Поріг деталізації",
|
||
haloLimitLight: "Обмеження ореолу (світлий)",
|
||
haloLimitDark: "Обмеження ореолу (темний)",
|
||
threshold: "Поріг",
|
||
kernelSize: "Розмір ядра",
|
||
submit: "Підвищити різкість",
|
||
submitBatch: "Підвищити різкість ({count} файлів)",
|
||
progressLabel: "Підвищення різкості",
|
||
},
|
||
"replace-color": {
|
||
sourceColor: "Вихідний колір (для заміни)",
|
||
targetColor: "Цільовий колір (замінник)",
|
||
makeTransparent: "Зробити прозорим",
|
||
tolerance: "Допуск",
|
||
exactMatch: "Точний збіг",
|
||
wideRange: "Широкий діапазон",
|
||
submit: "Замінити колір",
|
||
submitBatch: "Замінити колір ({count} файлів)",
|
||
progressLabel: "Заміна кольору",
|
||
},
|
||
"color-blindness": {
|
||
simulationType: "Тип симуляції",
|
||
redGreen: "Червоно-зелений",
|
||
blueYellow: "Синьо-жовтий",
|
||
monochromatic: "Монохроматичний",
|
||
submit: "Симулювати",
|
||
submitBatch: "Симулювати ({count} файлів)",
|
||
progressLabel: "Симуляція дальтонізму",
|
||
},
|
||
"remove-background": {
|
||
subject: "Об'єкт",
|
||
people: "Люди",
|
||
products: "Товари",
|
||
general: "Загальне",
|
||
passportIdPhoto: "Паспорт / Посвідчення",
|
||
quality: "Якість",
|
||
fast: "Швидко",
|
||
hd: "HD",
|
||
max: "Макс.",
|
||
ultra: "Ультра",
|
||
background: "Фон",
|
||
transparent: "Прозорий",
|
||
bgColor: "Колір",
|
||
gradient: "Градієнт",
|
||
image: "Зображення",
|
||
gradientDirection: "Напрямок",
|
||
chooseBackgroundImage: "Оберіть фонове зображення",
|
||
effectsSection: "Ефекти",
|
||
effectsActive: "активні",
|
||
blurBackground: "Розмиття фону",
|
||
intensity: "Інтенсивність",
|
||
addShadow: "Додати тінь",
|
||
opacity: "Непрозорість",
|
||
outputFormat: "Output Format",
|
||
edgeSmoothing: "Edge Smoothing",
|
||
edgeSmoothingOff: "Off",
|
||
edgeSmoothingLight: "Light",
|
||
edgeSmoothingMedium: "Medium",
|
||
edgeSmoothingStrong: "Strong",
|
||
colorDecontamination: "Color Decontamination",
|
||
rendering: "Рендеринг...",
|
||
submit: "Видалити фон",
|
||
submitBatch: "Видалити фон ({count} файлів)",
|
||
progressLabel: "Видалення фону",
|
||
},
|
||
upscale: {
|
||
scaleFactor: "Коефіцієнт масштабування",
|
||
quality: "Якість",
|
||
enhanceFaces: "Поліпшити обличчя",
|
||
noiseReduction: "Придушення шуму",
|
||
noiseReductionHint:
|
||
"Згладжує зернистість і шум. Вищі значення видаляють більше шуму, але можуть розмити деталі.",
|
||
outputFormat: "Формат виводу",
|
||
submit: "Збільшити {scale}x",
|
||
submitBatch: "Збільшити {scale}x ({count} файлів)",
|
||
progressLabel: "Збільшення зображення",
|
||
progressLabelBatch: "Збільшення {count} зображень",
|
||
},
|
||
"erase-object": {
|
||
brushSize: "Розмір пензля",
|
||
fine: "Тонкий",
|
||
wide: "Широкий",
|
||
undo: "Скасувати",
|
||
clear: "Очистити",
|
||
outputFormat: "Формат виводу",
|
||
quality: "Якість",
|
||
paintHint: "Замалюйте об'єкти, які хочете видалити. Натисніть Ctrl+Z для скасування.",
|
||
submit: "Видалити об'єкт",
|
||
submitBatch: "Видалити все ({count})",
|
||
progressLabel: "Видалення об'єкта",
|
||
},
|
||
ocr: {
|
||
quality: "Якість",
|
||
enhanceBeforeScanning: "Поліпшити перед скануванням",
|
||
enhanceHint:
|
||
"Автоматичне вирівнювання, поліпшення контрасту, видалення шуму та збільшення зображення перед скануванням для кращої точності.",
|
||
language: "Мова",
|
||
autoDetect: "Автовизначення",
|
||
extractedText: "Витягнутий текст",
|
||
noTextDetected: "Текст на цьому зображенні не виявлено",
|
||
characters: "{count} символів",
|
||
submit: "Витягнути текст",
|
||
submitBatch: "Витягнути текст ({count} файлів)",
|
||
progressLabel: "Витягування тексту",
|
||
},
|
||
"blur-faces": {
|
||
blurRadius: "Радіус розмиття",
|
||
blurLight: "Легке",
|
||
blurHeavy: "Сильне",
|
||
detectionSensitivity: "Чутливість виявлення",
|
||
moreFaces: "Більше облич",
|
||
fewerFaces: "Менше облич",
|
||
submit: "Розмити обличчя",
|
||
progressLabel: "Розмиття облич",
|
||
},
|
||
"enhance-faces": {
|
||
quality: "Якість",
|
||
enhancementStrength: "Сила поліпшення",
|
||
onlyCenterFace: "Лише центральне обличчя",
|
||
detectionSensitivity: "Чутливість виявлення",
|
||
submit: "Поліпшити обличчя",
|
||
submitBatch: "Поліпшити обличчя ({count} файлів)",
|
||
progressLabel: "Поліпшення облич",
|
||
},
|
||
"smart-crop": {
|
||
subjectFocus: "Фокус на об'єкті",
|
||
faceFocus: "Фокус на обличчі",
|
||
autoTrim: "Автообрізка",
|
||
customSize: "Власний розмір",
|
||
socialPresets: "Шаблони для соцмереж",
|
||
detectionStrategy: "Стратегія виявлення",
|
||
detectionStrategyHint:
|
||
"Увага знаходить найбільш візуально помітну ділянку. Ентропія знаходить ділянку з найбільшою деталізацією та інформацією.",
|
||
attention: "Увага",
|
||
entropy: "Ентропія",
|
||
padding: "Відступ",
|
||
paddingHint: "Додатковий простір навколо ділянки фокусу",
|
||
outputQuality: "Якість виводу",
|
||
outputQualityHint: "Для виводу у JPEG та WebP. PNG завжди без втрат.",
|
||
subjectDescription:
|
||
"Визначає найцікавішу ділянку за допомогою аналізу помітності та обрізає до цільового розміру.",
|
||
framing: "Кадрування",
|
||
facePadding: "Відступ навколо обличчя",
|
||
facePaddingHint: "Додатковий простір навколо виявлених облич",
|
||
fewerFalsePositives: "Менше хибних спрацювань",
|
||
faceDescription:
|
||
"Використовує AI-виявлення облич для правильного кадрування. За відсутності облич перемикається на фокус по об'єкту.",
|
||
trimTolerance: "Допуск",
|
||
trimDescription:
|
||
"Наскільки піксель рамки може відрізнятися від кольору краю і все ще бути обрізаним. Вище = агресивніше.",
|
||
padToSquare: "Доповнити до квадрату",
|
||
targetSizePx: "Цільовий розмір (px)",
|
||
padColor: "Колір заповнення",
|
||
trimHint:
|
||
'Видаляє однокольорові рамки навколо об\'єкта. Увімкніть "Доповнити до квадрату" для зображень, готових до e-commerce.',
|
||
submitSubject: "Розумна обрізка",
|
||
submitFace: "Обрізка по обличчю",
|
||
submitTrim: "Обрізати поля",
|
||
},
|
||
imageEnhancement: {
|
||
enhancementMode: "Режим поліпшення",
|
||
auto: "Авто",
|
||
portrait: "Портрет",
|
||
landscape: "Пейзаж",
|
||
lowLight: "Слабке освітлення",
|
||
food: "Їжа",
|
||
document: "Документ",
|
||
intensity: "Інтенсивність",
|
||
deepEnhance: "Глибоке поліпшення (AI)",
|
||
deepEnhanceDescription: "Видаляє шум та артефакти за допомогою AI",
|
||
deepEnhanceRequires: "Потрібен пакет збільшення й поліпшення",
|
||
analyzingImage: "Аналіз зображення...",
|
||
detectedIssues: "Виявлені проблеми",
|
||
imageLooksGood: "Зображення виглядає добре. Підлаштуйте за допомогою повзунка інтенсивності.",
|
||
issueUnderexposed: "Низька експозиція",
|
||
issueOverexposed: "Переекспоновано",
|
||
issueLowContrast: "Плоский контраст",
|
||
issueColorCast: "Колірний зсув",
|
||
issueDesaturated: "Знебарвлено",
|
||
issueSoftFocus: "М'який фокус",
|
||
issueNoisy: "Зашумлено",
|
||
submit: "Поліпшити",
|
||
submitDeep: "Глибоке поліпшення",
|
||
submitBatch: "Поліпшити ({count} файлів)",
|
||
submitDeepBatch: "Глибоке поліпшення ({count} файлів)",
|
||
progressLabel: "Поліпшення зображення",
|
||
progressLabelBatch: "Поліпшення {count} зображень",
|
||
},
|
||
"noise-removal": {
|
||
denoisingTier: "Рівень шумозаглушення",
|
||
quick: "Швидкий",
|
||
balanced: "Збалансований",
|
||
quality: "Якість",
|
||
maximum: "Максимальний",
|
||
quickDesc: "Швидкий, легкий",
|
||
balancedDesc: "Добра якість, помірна швидкість",
|
||
qualityDesc: "На основі AI, повільний",
|
||
maximumDesc: "Найкраща AI-модель, найповільніший",
|
||
strength: "Сила",
|
||
subtle: "Легка",
|
||
aggressive: "Агресивна",
|
||
detailPreservation: "Збереження деталей",
|
||
smooth: "Гладкі",
|
||
sharp: "Чіткі",
|
||
colorNoise: "Кольоровий шум",
|
||
heavy: "Сильний",
|
||
outputFormat: "Формат виводу",
|
||
gifAiWarning:
|
||
"AI-шумозаглушення для файлів GIF обробляє лише перший кадр. Для анімованих GIF використовуйте швидкий або збалансований рівень.",
|
||
submit: "Видалити шум",
|
||
submitBatch: "Видалити шум ({count} файлів)",
|
||
progressLabel: "Видалення шуму",
|
||
progressLabelBatch: "Видалення шуму з {count} зображень",
|
||
},
|
||
"red-eye-removal": {
|
||
sensitivity: "Чутливість",
|
||
strict: "Сувора",
|
||
aggressive: "Агресивна",
|
||
correctionStrength: "Сила корекції",
|
||
subtle: "Легка",
|
||
dark: "Темна",
|
||
outputFormat: "Формат виводу",
|
||
quality: "Якість",
|
||
submit: "Виправити червоні очі",
|
||
submitBatch: "Виправити червоні очі ({count} файлів)",
|
||
progressLabel: "Виправлення червоних очей",
|
||
progressLabelBatch: "Виправлення червоних очей на {count} зображеннях",
|
||
},
|
||
"restore-photo": {
|
||
scratchRemoval: "Видалення подряпин",
|
||
scratchRemovalDesc: "Виявлення та відновлення подряпин, розривів, плям",
|
||
faceEnhancement: "Поліпшення облич",
|
||
faceEnhancementDesc: "Відновлення пошкоджених облич за допомогою CodeFormer AI",
|
||
faceFidelity: "Вірність обличчя",
|
||
enhanced: "Поліпшене",
|
||
faithful: "Вірне",
|
||
noiseReduction: "Придушення шуму",
|
||
noiseReductionDesc: "Видалення зернистості та шуму зі старих фото",
|
||
denoiseStrength: "Сила шумозаглушення",
|
||
autoColorize: "Автоколоризація",
|
||
autoColorizeDesc: "Додавання кольору до чорно-білих фото за допомогою DDColor AI",
|
||
colorizeStrength: "Сила колоризації",
|
||
vivid: "Яскравий",
|
||
submit: "Відновити фото",
|
||
submitBatch: "Відновити фото ({count})",
|
||
progressLabel: "Відновлення фото",
|
||
progressLabelBatch: "Відновлення {count} фотографій",
|
||
},
|
||
"content-aware-resize": {
|
||
widthPx: "Ширина (px)",
|
||
heightPx: "Висота (px)",
|
||
resizeToSquare: "Привести до квадрату",
|
||
protectFaces: "Захистити обличчя",
|
||
protectFacesHint:
|
||
"Виявлення та захист ділянок облич від видалення швів за допомогою розпізнавання облич",
|
||
smoothing: "Згладжування",
|
||
edgeSensitivity: "Чутливість до країв",
|
||
submit: "Змінити розмір",
|
||
submitBatch: "Змінити розмір ({count} файлів)",
|
||
progressLabel: "Контентно-залежне масштабування",
|
||
},
|
||
"ai-canvas-expand": {
|
||
quality: "Якість",
|
||
fast: "Швидко",
|
||
balanced: "Збалансовано",
|
||
highQuality: "Висока якість",
|
||
fastDesc: "Швидкий попередній перегляд, менше проходів AI",
|
||
balancedDesc: "Добра якість, помірна швидкість",
|
||
highQualityDesc: "Найкращий результат, повільніше",
|
||
extendToAspectRatio: "Розширити до пропорцій",
|
||
extendByPixels: "Розширити на (пікселі)",
|
||
top: "Зверху",
|
||
right: "Справа",
|
||
bottom: "Знизу",
|
||
left: "Зліва",
|
||
newSize: "Новий розмір: {width} x {height}",
|
||
submit: "Розширити полотно",
|
||
submitBatch: "Розширити ({count} файлів)",
|
||
progressLabel: "Розширення полотна",
|
||
},
|
||
colorize: {
|
||
aiModel: "AI-модель",
|
||
fast: "Швидка",
|
||
fastDesc: "Швидкий результат",
|
||
balanced: "Збалансована",
|
||
balancedDesc: "Найкраща з доступних",
|
||
best: "Найкраща",
|
||
bestDesc: "Найвища якість",
|
||
colorIntensity: "Інтенсивність кольору",
|
||
grayscaleLabel: "Відтінки сірого",
|
||
subtleLabel: "Приглушений",
|
||
naturalLabel: "Натуральний",
|
||
vividLabel: "Яскравий",
|
||
intensityHint: "Нижчі значення дають більш приглушені, вінтажні кольори.",
|
||
strength: "Сила колоризації",
|
||
submit: "Колоризувати",
|
||
submitBatch: "Колоризувати ({count} файлів)",
|
||
progressLabel: "Колоризація",
|
||
progressLabelBatch: "Колоризація {count} зображень",
|
||
},
|
||
"passport-photo": {
|
||
country: "Країна",
|
||
searchCountries: "Пошук країн...",
|
||
noCountriesFound: "Країни не знайдено",
|
||
customDimensions: "Власні розміри",
|
||
documentType: "Тип документа",
|
||
dimensionsMm: "Розміри (мм)",
|
||
dpi: "DPI",
|
||
pixelsPerInch: "пікселів на дюйм",
|
||
backgroundColor: "Колір фону",
|
||
maxFileSize: "Макс. розмір файлу",
|
||
noLimit: "Без обмежень",
|
||
customKb: "Вказати у KB...",
|
||
uploadPortrait: "Завантажте портретне фото",
|
||
uploadHint:
|
||
"Перетягніть або завантажте зображення на ліву панель для попереднього перегляду фото на документи",
|
||
analyzingPhoto: "Аналіз фото",
|
||
detectingLandmarks: "Визначення орієнтирів обличчя та видалення фону...",
|
||
generatePassportPhoto: "Створити фото на документи",
|
||
generating: "Створення...",
|
||
downloadPhoto: "Завантажити фото",
|
||
faceCentered: "Обличчя по центру",
|
||
headLevel: "Голова рівно",
|
||
lookingStraight: "Погляд прямо",
|
||
faceSize: "Розмір обличчя",
|
||
whatYouSee: "Ви завантажуєте те, що бачите",
|
||
dragToAdjust: "Перетягніть для налаштування",
|
||
scrollToZoom: "Прокрутіть для масштабування",
|
||
photoGenerated: "Фото створено. Завантажте з лівої панелі.",
|
||
},
|
||
"transparency-fixer": {
|
||
description: "Завантажте PNG з хибною прозорістю, і ми виправимо його в один клік.",
|
||
removeWatermark: "Видалити водяний знак",
|
||
removeWatermarkHelp: "Виявлення та видалення напівпрозорих водяних знаків",
|
||
requiresEraser: "Потрібен пакет видалення об'єктів",
|
||
advanced: "Розширені",
|
||
defringe: "Видалення ореолу",
|
||
outputFormat: "Формат виводу",
|
||
submit: "Виправити прозорість",
|
||
submitBatch: "Виправити прозорість ({count} файлів)",
|
||
progressLabel: "Виправлення прозорості",
|
||
},
|
||
"watermark-text": {
|
||
watermarkText: "Текст водяного знаку",
|
||
fontSize: "Розмір шрифту",
|
||
color: "Колір",
|
||
opacity: "Непрозорість",
|
||
position: "Позиція",
|
||
rotation: "Обертання",
|
||
center: "Центр",
|
||
topLeft: "Зверху ліворуч",
|
||
topRight: "Зверху праворуч",
|
||
bottomLeft: "Знизу ліворуч",
|
||
bottomRight: "Знизу праворуч",
|
||
tiled: "Плиткою",
|
||
submit: "Додати водяний знак",
|
||
submitBatch: "Додати водяний знак ({count} файлів)",
|
||
progressLabel: "Додавання водяного знаку",
|
||
},
|
||
"watermark-image": {
|
||
uploadWatermark: "Завантажити зображення водяного знаку",
|
||
position: "Позиція",
|
||
opacity: "Непрозорість",
|
||
scale: "Масштаб",
|
||
submit: "Застосувати водяний знак",
|
||
submitBatch: "Застосувати водяний знак ({count} файлів)",
|
||
},
|
||
"text-overlay": {
|
||
text: "Текст",
|
||
fontSize: "Розмір шрифту",
|
||
color: "Колір",
|
||
position: "Позиція",
|
||
top: "Зверху",
|
||
center: "Центр",
|
||
bottom: "Знизу",
|
||
backgroundBox: "Фоновий блок",
|
||
backgroundColor: "Колір фону",
|
||
shadow: "Тінь",
|
||
submit: "Додати текст",
|
||
submitBatch: "Додати текст ({count} файлів)",
|
||
progressLabel: "Додавання тексту",
|
||
},
|
||
compose: {
|
||
uploadOverlay: "Завантажити зображення для накладання",
|
||
xPosition: "Позиція X",
|
||
yPosition: "Позиція Y",
|
||
opacity: "Непрозорість",
|
||
blendMode: "Режим накладання",
|
||
submit: "Накласти",
|
||
},
|
||
"meme-generator": {
|
||
selectTemplate: "Оберіть шаблон з галереї або завантажте власне зображення для початку.",
|
||
chooseLayout: "Оберіть макет тексту для Вашого зображення.",
|
||
textContent: "Текст",
|
||
textStyle: "Стиль тексту",
|
||
font: "Шрифт",
|
||
fontSize: "Розмір шрифту",
|
||
textColor: "Колір тексту",
|
||
strokeColor: "Колір обведення",
|
||
allCaps: "ВСІ ВЕЛИКІ",
|
||
generate: "Створити Meme",
|
||
generating: "Створення...",
|
||
downloadMeme: "Завантажити Meme",
|
||
backToGallery: "Назад до галереї",
|
||
},
|
||
info: {
|
||
loadingInfo: "Завантаження інформації...",
|
||
filename: "Ім'я файлу",
|
||
fileSize: "Розмір файлу",
|
||
dimensions: "Розміри",
|
||
format: "Формат",
|
||
channels: "Канали",
|
||
colorSpace: "Колірний простір",
|
||
density: "Щільність",
|
||
bitDepth: "Глибина кольору",
|
||
progressive: "Прогресивний",
|
||
pages: "Сторінки",
|
||
hasAlpha: "Альфа-канал",
|
||
hasProfile: "Профіль",
|
||
hasExif: "EXIF",
|
||
hasIcc: "ICC",
|
||
hasXmp: "XMP",
|
||
},
|
||
compare: {
|
||
uploadSecondImage: "Завантажити друге зображення",
|
||
similarity: "Подібність: {percent}%",
|
||
submit: "Порівняти",
|
||
downloadDiff: "Завантажити різницю",
|
||
},
|
||
"find-duplicates": {
|
||
preset: "Шаблон",
|
||
exact: "Точні",
|
||
similar: "Подібні",
|
||
loose: "Приблизні",
|
||
exactDesc: "Ідентичні копії, одне зображення у різних форматах.",
|
||
similarDesc: "Масштабовані, перестиснені або злегка відредаговані копії.",
|
||
looseDesc: "Візуально пов'язані зображення, незначні кадрування, різна експозиція.",
|
||
threshold: "Поріг",
|
||
submit: "Шукати дублікати",
|
||
scanning: "Сканування...",
|
||
},
|
||
"color-palette": {
|
||
submit: "Витягнути палітру",
|
||
extracting: "Витягування...",
|
||
dominantColors: "Домінуючі кольори",
|
||
clickToCopy: "Натисніть для копіювання",
|
||
},
|
||
"qr-generate": {
|
||
contentType: "Тип вмісту",
|
||
url: "URL",
|
||
text: "Текст",
|
||
wifi: "WiFi",
|
||
vcard: "vCard",
|
||
email: "Email",
|
||
phone: "Телефон",
|
||
sms: "SMS",
|
||
styling: "Стилізація",
|
||
dotStyle: "Стиль точок",
|
||
cornerSquareStyle: "Стиль кутових квадратів",
|
||
cornerDotStyle: "Стиль кутових точок",
|
||
foregroundColor: "Колір переднього плану",
|
||
bgColor: "Колір фону",
|
||
logo: "Логотип",
|
||
downloadFormat: "Формат завантаження",
|
||
submit: "Згенерувати QR-код",
|
||
download: "Завантажити QR-код",
|
||
},
|
||
"barcode-read": {
|
||
submit: "Сканувати штрихкоди",
|
||
submitBatch: "Сканувати ({count} файлів)",
|
||
scanning: "Сканування...",
|
||
noBarcodesFound: "Штрихкоди не знайдено",
|
||
barcodesFound: "Знайдено {count} штрихкод",
|
||
barcodesFoundPlural: "Знайдено {count} штрихкодів",
|
||
},
|
||
collage: {
|
||
template: "Шаблон",
|
||
aspectRatio: "Пропорції",
|
||
gap: "Відступ",
|
||
cornerRadius: "Заокруглення кутів",
|
||
backgroundColor: "Колір фону",
|
||
outputFormat: "Формат виводу",
|
||
quality: "Якість",
|
||
submit: "Створити колаж",
|
||
downloadCollage: "Завантажити колаж",
|
||
},
|
||
stitch: {
|
||
direction: "Напрямок",
|
||
horizontal: "Горизонтально",
|
||
vertical: "Вертикально",
|
||
grid: "Сітка",
|
||
gridColumns: "Стовпці сітки",
|
||
resizeMode: "Режим масштабування",
|
||
fit: "Вписати",
|
||
original: "Оригінал",
|
||
stretchMode: "Розтягнути",
|
||
cropMode: "Обрізати",
|
||
alignment: "Вирівнювання",
|
||
start: "Початок",
|
||
center: "Центр",
|
||
end: "Кінець",
|
||
gap: "Відступ",
|
||
border: "Рамка",
|
||
cornerRadius: "Заокруглення кутів",
|
||
backgroundColor: "Колір фону",
|
||
outputFormat: "Формат виводу",
|
||
quality: "Якість",
|
||
submit: "Об'єднати зображення",
|
||
},
|
||
split: {
|
||
modeGrid: "Сітка",
|
||
modeTileSize: "Розмір плитки",
|
||
presets: "Шаблони",
|
||
columns: "Стовпці",
|
||
rows: "Рядки",
|
||
tileWidth: "Ширина плитки",
|
||
tileHeight: "Висота плитки",
|
||
outputFormat: "Формат виводу",
|
||
quality: "Якість",
|
||
submit: "Розділити зображення",
|
||
downloadAll: "Завантажити все (ZIP)",
|
||
},
|
||
border: {
|
||
presets: "Шаблони",
|
||
borderWidth: "Ширина рамки",
|
||
borderColor: "Колір рамки",
|
||
padding: "Відступ",
|
||
paddingColor: "Колір відступу",
|
||
cornerRadius: "Заокруглення кутів",
|
||
shadow: "Тінь",
|
||
shadowBlur: "Розмиття тіні",
|
||
shadowOffsetX: "Зсув тіні X",
|
||
shadowOffsetY: "Зсув тіні Y",
|
||
shadowColor: "Колір тіні",
|
||
shadowOpacity: "Непрозорість тіні",
|
||
submit: "Додати рамку",
|
||
submitBatch: "Додати рамку ({count} файлів)",
|
||
progressLabel: "Додавання рамки",
|
||
},
|
||
beautify: {
|
||
preset: "Шаблон",
|
||
backgroundType: "Тип фону",
|
||
solidColor: "Суцільний колір",
|
||
linearGradient: "Лінійний градієнт",
|
||
radialGradient: "Радіальний градієнт",
|
||
customImage: "Власне зображення",
|
||
gradientAngle: "Кут градієнта",
|
||
padding: "Відступ",
|
||
borderRadius: "Заокруглення кутів",
|
||
shadowPreset: "Шаблон тіні",
|
||
deviceFrame: "Рамка пристрою",
|
||
submit: "Прикрасити",
|
||
submitBatch: "Прикрасити ({count} файлів)",
|
||
progressLabel: "Прикрашання знімку екрана",
|
||
},
|
||
"svg-to-raster": {
|
||
outputFormat: "Формат виводу",
|
||
sizing: "Розмір",
|
||
scaleMode: "Масштаб",
|
||
customMode: "Власний",
|
||
scalePresets: "Шаблони масштабу",
|
||
dpiPresets: "Шаблони DPI",
|
||
customWidth: "Ширина (px)",
|
||
customHeight: "Висота (px)",
|
||
background: "Фон",
|
||
bgTransparent: "Прозорий",
|
||
bgColor: "Колір",
|
||
quality: "Якість",
|
||
submit: "Конвертувати SVG",
|
||
submitBatch: "Конвертувати ({count} файлів)",
|
||
progressLabel: "Конвертація SVG",
|
||
},
|
||
vectorize: {
|
||
preset: "Шаблон",
|
||
logo: "Логотип",
|
||
illustration: "Ілюстрація",
|
||
photo: "Фотографія",
|
||
sketch: "Ескіз",
|
||
customPreset: "Власний",
|
||
colorMode: "Колірний режим",
|
||
bw: "Ч/Б",
|
||
colorModeColor: "Кольоровий",
|
||
threshold: "Поріг",
|
||
colorPrecision: "Точність кольору",
|
||
layerDifference: "Різниця шарів",
|
||
filterSpeckle: "Фільтр артефактів",
|
||
pathMode: "Режим контурів",
|
||
cornerThreshold: "Поріг кутів",
|
||
invertColors: "Інвертувати кольори",
|
||
submit: "Векторизувати",
|
||
submitBatch: "Векторизувати ({count} файлів)",
|
||
progressLabel: "Векторизація",
|
||
},
|
||
"gif-tools": {
|
||
mode: "Режим",
|
||
resize: "Змінити розмір",
|
||
optimize: "Оптимізувати",
|
||
speed: "Швидкість",
|
||
reverse: "Реверс",
|
||
extract: "Витягнути",
|
||
rotateMode: "Обернути",
|
||
pixel: "Пікселі",
|
||
percentage: "Відсотки",
|
||
colors: "Кольори",
|
||
dither: "Дизеринг",
|
||
effort: "Зусилля",
|
||
speedFactor: "Коефіцієнт швидкості",
|
||
loopControl: "Керування циклом",
|
||
infinite: "Нескінченний",
|
||
once: "Один раз",
|
||
customLoop: "Власний",
|
||
loopCount: "Кількість циклів",
|
||
extractSingle: "Один кадр",
|
||
extractRange: "Діапазон",
|
||
extractAll: "Усі",
|
||
frameNumber: "Номер кадру",
|
||
frameStart: "Початковий кадр",
|
||
frameEnd: "Кінцевий кадр",
|
||
extractFormat: "Формат",
|
||
submit: "Обробити GIF",
|
||
submitBatch: "Обробити ({count} файлів)",
|
||
progressLabel: "Обробка GIF",
|
||
},
|
||
"image-to-base64": {
|
||
outputFormat: "Формат виводу",
|
||
keepOriginal: "Зберегти оригінал",
|
||
quality: "Якість",
|
||
maxWidth: "Макс. ширина",
|
||
maxHeight: "Макс. висота",
|
||
submit: "Конвертувати у Base64",
|
||
submitBatch: "Конвертувати ({count} файлів)",
|
||
copyBase64: "Копіювати Base64",
|
||
copyDataUri: "Копіювати Data URI",
|
||
copyImgTag: "Копіювати <img>",
|
||
copyCssUrl: "Копіювати CSS url()",
|
||
},
|
||
"enhance-faces-standalone": {
|
||
model: "Модель",
|
||
fast: "Швидка",
|
||
balanced: "Збалансована",
|
||
best: "Найкраща",
|
||
},
|
||
},
|
||
urlImport: {
|
||
title: "Імпорт за URL",
|
||
placeholder: "Вставте URL зображень, по одному на рядок...",
|
||
importButton: "Імпортувати URL",
|
||
addButton: "Додати {count} файлів",
|
||
adding: "Додавання...",
|
||
retryButton: "Повторити",
|
||
cancelButton: "Скасувати",
|
||
readyCount: "{count} готово",
|
||
failedStatus: "Помилка",
|
||
},
|
||
comparison: {
|
||
original: "Оригінал",
|
||
processed: "Оброблено",
|
||
before: "До",
|
||
after: "Після",
|
||
savings: "Економія",
|
||
},
|
||
toolPage: {
|
||
emptyPrompt: "Перетягніть або завантажте зображення для початку",
|
||
filesCount: "Файли ({count})",
|
||
addMore: "+ Додати ще",
|
||
clearAll: "Очистити все",
|
||
acceptDescription: "Лише файли {exts}",
|
||
notFound: "Інструмент не знайдено",
|
||
configureAndGenerate: "Налаштуйте параметри та запустіть генерацію.",
|
||
processingFailed: "Обробка цього файлу не вдалася",
|
||
conversionComplete: "Конвертацію завершено",
|
||
cannotPreviewDownload:
|
||
"Файли {type} неможливо переглянути у браузері. Скористайтеся кнопкою завантаження для збереження файлу.",
|
||
generatingPreview: "Генерація попереднього перегляду...",
|
||
cannotPreviewWillProcess:
|
||
"Файли {ext} неможливо переглянути у браузері. Інструмент все одно обробить цей файл.",
|
||
previousImage: "Попереднє зображення",
|
||
nextImage: "Наступне зображення",
|
||
imageCounter: "{current} / {total}",
|
||
settingsLabel: "Налаштування",
|
||
downloadAllZip: "Завантажити все (ZIP)",
|
||
hideSettings: "Сховати налаштування",
|
||
imageArea: "Область зображення",
|
||
},
|
||
homePage: {
|
||
generatingPreview: "Генерація попереднього перегляду...",
|
||
loadingPreview: "Завантаження попереднього перегляду...",
|
||
changeFile: "Змінити файл",
|
||
quickActions: "Швидкі дії",
|
||
allTools: "Усі інструменти",
|
||
},
|
||
fullscreenGrid: {
|
||
searchPlaceholder: "Пошук інструментів...",
|
||
hideDetails: "Сховати деталі",
|
||
showDetails: "Показати деталі",
|
||
switchToSidebar: "Перемкнути на бічну панель",
|
||
sidebarButton: "Бічна панель",
|
||
noToolsFound: "Інструменти не знайдено",
|
||
tryDifferent: "Спробуйте інший пошуковий запит",
|
||
},
|
||
editor: {
|
||
menu: {
|
||
file: {
|
||
label: "Файл",
|
||
new: "Новий",
|
||
open: "Відкрити",
|
||
save: "Зберегти",
|
||
exportAs: "Експортувати як...",
|
||
quickExportPng: "Швидкий експорт у PNG",
|
||
close: "Закрити",
|
||
},
|
||
edit: {
|
||
label: "Редагування",
|
||
undo: "Скасувати",
|
||
redo: "Повторити",
|
||
cut: "Вирізати",
|
||
copy: "Копіювати",
|
||
copyMerged: "Копіювати зведене",
|
||
paste: "Вставити",
|
||
pasteInPlace: "Вставити на місце",
|
||
delete: "Видалити",
|
||
freeTransform: "Вільна трансформація",
|
||
transform: {
|
||
label: "Трансформація",
|
||
scale: "Масштаб",
|
||
rotate: "Обертання",
|
||
skew: "Нахил",
|
||
flipHorizontal: "Відобразити горизонтально",
|
||
flipVertical: "Відобразити вертикально",
|
||
},
|
||
},
|
||
image: {
|
||
label: "Зображення",
|
||
imageSize: "Розмір зображення...",
|
||
canvasSize: "Розмір полотна...",
|
||
rotation: {
|
||
label: "Обертання зображення",
|
||
cw90: "90° за годинниковою",
|
||
ccw90: "90° проти годинникової",
|
||
r180: "180°",
|
||
flipHorizontal: "Відобразити горизонтально",
|
||
flipVertical: "Відобразити вертикально",
|
||
},
|
||
trim: "Обрізати",
|
||
adjustments: {
|
||
label: "Корекція",
|
||
brightnessContrast: "Яскравість/Контраст",
|
||
hueSaturation: "Тон/Насиченість",
|
||
colorBalance: "Колірний баланс",
|
||
levels: "Рівні",
|
||
curves: "Криві",
|
||
},
|
||
},
|
||
layer: {
|
||
label: "Шар",
|
||
newLayer: "Новий шар",
|
||
duplicateLayer: "Дублювати шар",
|
||
deleteLayer: "Видалити шар",
|
||
arrange: {
|
||
label: "Розташування",
|
||
bringToFront: "На передній план",
|
||
bringForward: "Перемістити вперед",
|
||
sendBackward: "Перемістити назад",
|
||
sendToBack: "На задній план",
|
||
},
|
||
mergeDown: "Об'єднати з нижнім",
|
||
flattenImage: "Зведення зображення",
|
||
},
|
||
select: {
|
||
label: "Виділення",
|
||
all: "Виділити все",
|
||
deselect: "Зняти виділення",
|
||
inverse: "Інвертувати",
|
||
colorRange: "Колірний діапазон...",
|
||
},
|
||
filter: {
|
||
label: "Фільтр",
|
||
blur: {
|
||
label: "Розмиття",
|
||
gaussian: "Розмиття за Гаусом",
|
||
motion: "Розмиття руху",
|
||
radial: "Радіальне розмиття",
|
||
surface: "Поверхневе розмиття",
|
||
},
|
||
sharpen: {
|
||
label: "Різкість",
|
||
sharpen: "Підвищити різкість",
|
||
unsharpMask: "Маска нерізкості",
|
||
},
|
||
noise: {
|
||
label: "Шум",
|
||
addNoise: "Додати шум",
|
||
reduceNoise: "Зменшити шум",
|
||
},
|
||
pixelate: {
|
||
label: "Піксельизація",
|
||
pixelate: "Піксельизація",
|
||
mosaic: "Мозаїка",
|
||
},
|
||
stylize: {
|
||
label: "Стилізація",
|
||
emboss: "Тиснення",
|
||
solarize: "Соляризація",
|
||
posterize: "Постеризація",
|
||
},
|
||
grayscale: "Відтінки сірого",
|
||
sepia: "Сепія",
|
||
invert: "Інверсія",
|
||
},
|
||
view: {
|
||
label: "Вигляд",
|
||
zoomIn: "Збільшити",
|
||
zoomOut: "Зменшити",
|
||
fitOnScreen: "Вмістити на екрані",
|
||
actualPixels: "Реальний розмір",
|
||
rulers: "Лінійки",
|
||
grid: "Сітка",
|
||
guides: "Напрямні",
|
||
snap: "Прив'язка",
|
||
panels: "Панелі",
|
||
},
|
||
},
|
||
menuBar: {
|
||
backTitle: "Назад до SnapOtter",
|
||
},
|
||
welcome: {
|
||
ariaLabel: "Зона перетягування зображень",
|
||
heading: "Редактор зображень",
|
||
dropDescription: "Перетягніть зображення сюди для початку роботи",
|
||
openImageButton: "Відкрити зображення",
|
||
newDocumentButton: "Новий документ",
|
||
pasteHint: "Або вставте з буфера обміну (Ctrl+V)",
|
||
},
|
||
mobile: {
|
||
heading: "Рекомендовано настільний ПК",
|
||
description:
|
||
"Редактор зображень найкраще працює на великих екранах. Переключіться на пристрій з більшим дисплеєм для повноцінного редагування.",
|
||
},
|
||
errors: {
|
||
serverDecodeFailed: "Помилка декодування на сервері",
|
||
},
|
||
shapes: {
|
||
shape: "Shape",
|
||
fill: "Fill",
|
||
stroke: "Stroke",
|
||
strokeWidth: "Width",
|
||
cornerRadius: "Radius",
|
||
sides: "Sides",
|
||
points: "Points",
|
||
dashStyle: "Dash",
|
||
solid: "Solid",
|
||
dashed: "Dashed",
|
||
dotted: "Dotted",
|
||
none: "None",
|
||
opacity: "Opacity",
|
||
rectangle: "Rectangle",
|
||
ellipse: "Ellipse",
|
||
line: "Line",
|
||
arrow: "Arrow",
|
||
polygon: "Polygon",
|
||
star: "Star",
|
||
},
|
||
},
|
||
settings: {
|
||
heading: "Налаштування",
|
||
nav: {
|
||
general: "Загальні",
|
||
systemSettings: "Системні налаштування",
|
||
security: "Безпека",
|
||
people: "Користувачі",
|
||
teams: "Команди",
|
||
roles: "Ролі",
|
||
auditLog: "Журнал аудиту",
|
||
apiKeys: "API-ключі",
|
||
aiFeatures: "AI-функції",
|
||
tools: "Інструменти",
|
||
productAnalytics: "Аналітика",
|
||
about: "Про програму",
|
||
},
|
||
general: {
|
||
heading: "Загальні",
|
||
description: "Налаштування користувача та параметри відображення.",
|
||
loading: "Завантаження...",
|
||
logOut: "Вийти",
|
||
defaultToolViewLabel: "Вигляд інструментів за замовчуванням",
|
||
defaultToolViewDescription: "Як інструменти відображаються на головній сторінці",
|
||
sidebarOption: "Бічна панель",
|
||
fullscreenGridOption: "Повноекранна сітка",
|
||
appVersionLabel: "Версія застосунку",
|
||
appVersionDescription: "Поточна версія SnapOtter",
|
||
saveButton: "Зберегти налаштування",
|
||
saveSuccess: "Налаштування збережено.",
|
||
saveFailed: "Не вдалося зберегти налаштування.",
|
||
},
|
||
system: {
|
||
heading: "Системні налаштування",
|
||
description: "Серверні налаштування та обмеження.",
|
||
fileUploadLimitLabel: "Обмеження завантаження файлів (MB)",
|
||
fileUploadLimitDescription: "Максимальний розмір файлу за завантаження",
|
||
defaultThemeLabel: "Тема за замовчуванням",
|
||
defaultThemeDescription: "Тема, що застосовується для нових сесій",
|
||
lightOption: "Світла",
|
||
darkOption: "Темна",
|
||
systemOption: "Системна",
|
||
languageLabel: "Мова",
|
||
languageDescription: "Мова інтерфейсу",
|
||
loginAttemptLimitLabel: "Ліміт спроб входу",
|
||
loginAttemptLimitDescription: "Максимум невдалих спроб входу на хвилину до блокування",
|
||
fileManagementHeading: "Керування файлами",
|
||
maxFileAgeLabel: "Макс. час зберігання файлів (години)",
|
||
maxFileAgeDescription: "Як довго оброблені файли зберігаються до автоматичного очищення",
|
||
startupCleanupLabel: "Очищення при запуску",
|
||
startupCleanupDescription: "Видаляти старі тимчасові файли при запуску сервера",
|
||
saveButton: "Зберегти налаштування",
|
||
saveSuccess: "Налаштування збережено.",
|
||
saveFailed: "Не вдалося зберегти налаштування.",
|
||
limitsAndResources: "Обмеження та ресурси",
|
||
maxFileSize: "Макс. розмір файлу",
|
||
maxBatchSize: "Макс. розмір пакета",
|
||
concurrentJobs: "Паралельні завдання",
|
||
workerThreads: "Робочі потоки",
|
||
maxPipelineSteps: "Макс. кроків Pipeline",
|
||
processingTimeout: "Тайм-аут обробки",
|
||
rateLimitPerMin: "Ліміт запитів (запитів/хв)",
|
||
unlimited: "Без обмежень",
|
||
auto: "Авто",
|
||
envOverride: "Задано змінною середовища",
|
||
maxCanvasPixels: "Макс. пікселів полотна",
|
||
maxSvgSize: "Макс. розмір SVG",
|
||
maxSplitGrid: "Макс. сітка розділення",
|
||
maxPdfPages: "Макс. сторінок PDF",
|
||
sessionDuration: "Тривалість сесії",
|
||
},
|
||
security: {
|
||
heading: "Безпека",
|
||
description: "Налаштування пароля та автентифікації.",
|
||
changePasswordHeading: "Зміна пароля",
|
||
currentPasswordPlaceholder: "Поточний пароль",
|
||
newPasswordPlaceholder: "Новий пароль",
|
||
confirmPasswordPlaceholder: "Підтвердіть новий пароль",
|
||
passwordsMismatch: "Паролі не збігаються",
|
||
passwordTooShort: "Пароль має містити щонайменше 4 символи",
|
||
changeSuccess: "Пароль успішно змінено",
|
||
changeFailed: "Не вдалося змінити пароль",
|
||
currentPasswordIncorrect: "Поточний пароль невірний",
|
||
changePasswordButton: "Змінити пароль",
|
||
loginAttemptLimitNote: "Ліміти спроб входу можна налаштувати в Системних налаштуваннях.",
|
||
},
|
||
people: {
|
||
heading: "Користувачі",
|
||
description: "Керування учасниками робочого простору та їхніми правами",
|
||
userCount: "{count} користувач",
|
||
userCountPlural: "{count} користувачів",
|
||
searchPlaceholder: "Пошук учасників...",
|
||
addMembersButton: "Додати учасників",
|
||
newMemberHeading: "Новий учасник",
|
||
usernamePlaceholder: "Ім'я користувача",
|
||
passwordPlaceholder: "Пароль",
|
||
roleUserOption: "Користувач",
|
||
roleEditorOption: "Редактор",
|
||
roleAdminOption: "Адміністратор",
|
||
roleUserDescription: "Базовий доступ до інструментів",
|
||
roleEditorDescription: "Усі файли та Pipeline",
|
||
roleAdminDescription: "Повний доступ",
|
||
noDescription: "Без опису",
|
||
defaultTeamOption: "За замовчуванням",
|
||
createButton: "Створити",
|
||
cancelButton: "Скасувати",
|
||
createSuccess: "Користувача успішно створено",
|
||
createFailed: "Не вдалося створити користувача",
|
||
userLimitReached: "Досягнуто ліміту користувачів (макс. {max})",
|
||
deleteConfirm: 'Видалити користувача "{username}"? Цю дію не можна скасувати.',
|
||
deleteSuccess: 'Користувача "{username}" видалено',
|
||
deleteFailed: "Не вдалося видалити користувача",
|
||
editHeading: "Редагування {username}",
|
||
updateSuccess: "Користувача оновлено",
|
||
updateFailed: "Не вдалося оновити користувача",
|
||
cannotRemoveOwnAdmin: "Неможливо зняти з себе роль адміністратора",
|
||
resetPasswordHeading: "Скидання пароля для {username}",
|
||
newPasswordLabel: "Новий пароль (мін. 8 символів)",
|
||
resetPasswordButton: "Скинути пароль",
|
||
resetPasswordWarning: "Це анулює всі сесії та API-ключі цього користувача.",
|
||
resetSuccess: "Пароль успішно скинуто",
|
||
resetFailed: "Не вдалося скинути пароль",
|
||
tableHeaderUser: "Користувач",
|
||
tableHeaderRole: "Роль",
|
||
tableHeaderTeam: "Команда",
|
||
noSearchResults: "Учасників не знайдено.",
|
||
noUsersFound: "Користувачів не знайдено.",
|
||
authBadgeLocalOidc: "Локальний + OIDC",
|
||
authBadgeOidc: "OIDC",
|
||
editRoleTeamAction: "Змінити роль / команду",
|
||
resetPasswordAction: "Скинути пароль",
|
||
deleteUserAction: "Видалити користувача",
|
||
saveButton: "Зберегти",
|
||
copyPasswordButton: "Скопіювати пароль",
|
||
passwordCopied: "Скопійовано!",
|
||
copyPasswordWarning:
|
||
"Скопіюйте цей пароль зараз. Після створення користувача ви не зможете його побачити.",
|
||
},
|
||
teams: {
|
||
heading: "Команди",
|
||
description: "Організуйте учасників у команди для зручного керування.",
|
||
createButton: "Створити нову команду",
|
||
newTeamHeading: "Нова команда",
|
||
teamNamePlaceholder: "Назва команди",
|
||
createSubmitButton: "Створити",
|
||
cancelButton: "Скасувати",
|
||
createSuccess: "Команду успішно створено",
|
||
createFailed: "Не вдалося створити команду",
|
||
duplicateTeamError: "Команда з такою назвою вже існує",
|
||
renameSuccess: "Команду перейменовано",
|
||
renameFailed: "Не вдалося перейменувати команду",
|
||
deleteConfirm: 'Видалити команду "{name}"? Учасники будуть відкріплені.',
|
||
deleteSuccess: 'Команду "{name}" видалено',
|
||
deleteFailed: "Не вдалося видалити команду",
|
||
cannotDeleteDefault: "Неможливо видалити команду за замовчуванням або команду з учасниками",
|
||
tableHeaderTeamName: "Назва команди",
|
||
tableHeaderMembers: "Учасники",
|
||
emptyState: "Команд не знайдено.",
|
||
renameSaveButton: "Зберегти",
|
||
renameCancelButton: "Скасувати",
|
||
renameAction: "Перейменувати",
|
||
deleteAction: "Видалити",
|
||
totalMembers: "Усього учасників",
|
||
nameRequired: "Назва команди обов'язкова",
|
||
nameTooLong: "Назва команди не може перевищувати 50 символів",
|
||
duplicateName: "Команда з такою назвою вже існує",
|
||
},
|
||
roles: {
|
||
heading: "Ролі",
|
||
description: "Керування ролями та їхніми правами. Вбудовані ролі не можна змінювати.",
|
||
createButton: "Створити власну роль",
|
||
newRoleHeading: "Нова роль",
|
||
roleNamePlaceholder: "Назва ролі",
|
||
descriptionPlaceholder: "Опис (необов'язково)",
|
||
permissionsLabel: "Права доступу",
|
||
createSubmitButton: "Створити",
|
||
cancelButton: "Скасувати",
|
||
createSuccess: "Роль успішно створено",
|
||
createFailed: "Не вдалося створити роль",
|
||
duplicateRoleError: "Роль з такою назвою вже існує",
|
||
editHeading: "Редагування ролі: {name}",
|
||
editSaveButton: "Зберегти",
|
||
editCancelButton: "Скасувати",
|
||
updateSuccess: "Роль оновлено",
|
||
updateFailed: "Не вдалося оновити роль",
|
||
deleteConfirm: 'Видалити роль "{name}"? {count} користувачу(ам) потрібне перепризначення.',
|
||
deleteConfirmSimple: 'Видалити роль "{name}"?',
|
||
deleteSuccess: 'Роль "{name}" видалено',
|
||
deleteFailed: "Не вдалося видалити роль",
|
||
emptyState: "Ролей не знайдено.",
|
||
builtInBadge: "Вбудована",
|
||
userCountBadge: "{count} користувач(ів)",
|
||
editRoleTitle: "Редагувати роль",
|
||
deleteRoleTitle: "Видалити роль",
|
||
permGroup: {
|
||
tools: "Інструменти",
|
||
files: "Файли",
|
||
apiKeys: "API-ключі",
|
||
pipelines: "Pipeline",
|
||
settings: "Налаштування",
|
||
users: "Користувачі",
|
||
teams: "Команди",
|
||
system: "Система",
|
||
},
|
||
},
|
||
auditLog: {
|
||
heading: "Журнал аудиту",
|
||
allActionsFilter: "Усі дії",
|
||
emptyState: "Записів у журналі аудиту немає.",
|
||
tableHeaderTime: "Час",
|
||
tableHeaderUser: "Користувач",
|
||
tableHeaderAction: "Дія",
|
||
tableHeaderTarget: "Об'єкт",
|
||
paginationInfo: "Сторінка {page} з {totalPages} ({total} записів)",
|
||
previousButton: "Попередня",
|
||
nextButton: "Наступна",
|
||
justNow: "щойно",
|
||
minutesAgo: "{mins} хв тому",
|
||
hoursAgo: "{hrs} год тому",
|
||
daysAgo: "{days} дн. тому",
|
||
},
|
||
apiKeys: {
|
||
heading: "API-ключі",
|
||
description: "Керування API-ключами для програмного доступу до SnapOtter.",
|
||
keyNamePlaceholder: "Назва ключа (необов'язково)",
|
||
generateButton: "Згенерувати API-ключ",
|
||
removeScopingLabel: "Прибрати обмеження прав",
|
||
restrictPermissionsLabel: "Обмежити права (необов'язково)",
|
||
expiresLabel: "Спливає:",
|
||
clearButton: "Очистити",
|
||
copyTitle: "Копіювати",
|
||
keyWarning: "Збережіть цей ключ у безпечному місці. Він більше не буде показаний.",
|
||
existingKeysHeading: "Наявні ключі",
|
||
createdPrefix: "Створено {date}",
|
||
scopedPrefix: "Область:",
|
||
expiresPrefix: "Спливає {date}",
|
||
deleteKeyTitle: "Видалити ключ",
|
||
deleteConfirm:
|
||
"Видалити цей API-ключ? Усі інтеграції, що його використовують, перестануть працювати.",
|
||
emptyState: "API-ключів поки немає. Згенеруйте один для початку.",
|
||
},
|
||
tools: {
|
||
heading: "Інструменти",
|
||
description:
|
||
"Увімкнення та вимкнення окремих інструментів. Вимкнені інструменти приховані від усіх користувачів.",
|
||
restartBanner: "Для застосування змін потрібен перезапуск.",
|
||
searchPlaceholder: "Пошук інструментів...",
|
||
noSearchResults: "Інструменти не знайдено.",
|
||
loadFailedError:
|
||
"Не вдалося завантажити налаштування інструментів. Збереження вимкнено для запобігання втраті даних.",
|
||
saveButton: "Зберегти налаштування інструментів",
|
||
disabledCount: "Вимкнено {count} інструмент(ів)",
|
||
},
|
||
experimental: {
|
||
label: "Увімкнути експериментальні інструменти",
|
||
description:
|
||
"Показати інструменти, що перебувають у розробці. Вони можуть працювати нестабільно.",
|
||
},
|
||
fileManagement: {
|
||
title: "Керування файлами",
|
||
maxAge: "Макс. час зберігання файлів (години)",
|
||
maxAgeDescription: "Як довго оброблені файли зберігаються до автоматичного очищення",
|
||
startupCleanup: "Очищення при запуску",
|
||
startupCleanupDescription: "Видаляти старі тимчасові файли при запуску сервера",
|
||
},
|
||
analytics: {
|
||
heading: "Аналітика",
|
||
description: "Надсилання анонімних даних про використання для поліпшення SnapOtter.",
|
||
privacyNote: "Ваші зображення ніколи не залишають Ваш комп'ютер.",
|
||
disabledByAdmin: "Аналітику вимкнено адміністратором сервера.",
|
||
enabledLabel: "Аналітику увімкнено",
|
||
disabledLabel: "Аналітику вимкнено",
|
||
learnMore: "Дізнатися більше",
|
||
},
|
||
aiFeatures: {
|
||
title: "AI Features",
|
||
description: "Manage AI model bundles for advanced image processing.",
|
||
installAll: "Install All",
|
||
diskUsage: "Disk usage:",
|
||
installed: "Installed",
|
||
notInstalled: "Not installed",
|
||
queued: "Queued",
|
||
install: "Install",
|
||
repair: "Repair",
|
||
uninstall: "Uninstall",
|
||
installing: "Installing...",
|
||
},
|
||
about: {
|
||
heading: "Про програму",
|
||
appName: "SnapOtter",
|
||
appDescription:
|
||
"Самостійно розміщуваний набір інструментів для обробки зображень з пріоритетом конфіденційності. 51 інструмент. Зміна розміру, стиснення, конвертація, водяні знаки та автоматизація робочих процесів без надсилання даних у хмару.",
|
||
versionLabel: "Версія:",
|
||
linksHeading: "Посилання",
|
||
githubLink: "Репозиторій GitHub",
|
||
docsLink: "Документація",
|
||
apiRefLink: "Довідник API (Swagger)",
|
||
licenseLabel: "License:",
|
||
licenseDescription:
|
||
"SnapOtter is open-source software licensed under the GNU Affero General Public License v3 (AGPLv3).",
|
||
},
|
||
},
|
||
auth: {
|
||
login: "Вхід",
|
||
logout: "Вийти",
|
||
username: "Ім'я користувача",
|
||
password: "Пароль",
|
||
loginButton: "Увійти",
|
||
loggingIn: "Вхід...",
|
||
invalidCredentials: "Невірне ім'я користувача або пароль",
|
||
connectionError: "Помилка з'єднання",
|
||
signInWith: "Увійти через {provider}",
|
||
signInWithSso: "Увійти через SSO",
|
||
or: "або",
|
||
methodLocal: "Локальний",
|
||
methodOidc: "OIDC",
|
||
methodBoth: "Локальний + OIDC",
|
||
oidcAuthFailed: "Автентифікація не вдалася. Спробуйте знову.",
|
||
oidcProviderUnreachable:
|
||
"Не вдалося зв'язатися з постачальником ідентифікації. Спробуйте пізніше.",
|
||
oidcSessionExpired: "Сесія входу завершилась. Спробуйте знову.",
|
||
oidcUserNotAuthorized:
|
||
"Ваш обліковий запис не має доступу до цього застосунку. Зверніться до адміністратора.",
|
||
oidcUserLimitReached: "Досягнуто ліміту користувачів. Зверніться до адміністратора.",
|
||
oidcGenericError: "Помилка автентифікації. Спробуйте знову.",
|
||
passwordManagedByProvider: "Керування паролем здійснюється Вашим постачальником ідентифікації.",
|
||
enterUsername: "Введіть ім'я користувача",
|
||
enterPassword: "Введіть пароль",
|
||
heroTitle: "Ваші зображення. Залишаються Вашими.",
|
||
heroSubtitle: "Усі інструменти для роботи із зображеннями.",
|
||
rotatingPhrases: [
|
||
"Без реєстрації. Без облікових записів.",
|
||
"Жодних завантажень у хмару. Ніколи.",
|
||
"100% локальна обробка.",
|
||
"Безкоштовно. Назавжди.",
|
||
"Без обмежень. Без прихованих лімітів.",
|
||
"Повністю працює офлайн.",
|
||
"Пакетна обробка без обмежень.",
|
||
"51 інструмент для зображень.",
|
||
"16 AI-моделей. На Вашому обладнанні.",
|
||
"Блискавична швидкість. На базі Sharp.",
|
||
"Готовий до ізольованих мереж.",
|
||
"Один Docker-контейнер.",
|
||
"Відкритий вихідний код. Завжди.",
|
||
"Кожен піксель залишається на Вашому обладнанні.",
|
||
"Ваш сервер. Ваші правила.",
|
||
"Встановлення однією командою docker pull.",
|
||
"Альтернатива хмарним сервісам.",
|
||
"Зміна розміру, стиснення, конвертація. Локально.",
|
||
"Безкоштовний редактор. Без водяних знаків.",
|
||
"Пакетна обробка зображень. Без лімітів.",
|
||
"Видалення фону офлайн.",
|
||
"Заміна Canva для власного сервера.",
|
||
"API-ключі не потрібні.",
|
||
"Відповідність GDPR за замовчуванням.",
|
||
"Працює без інтернету.",
|
||
],
|
||
},
|
||
changePassword: {
|
||
title: "Зміна пароля",
|
||
description:
|
||
"Необхідно встановити новий пароль перед продовженням. Пароль має містити щонайменше 8 символів, включно з великими, малими літерами та цифрою.",
|
||
usernameLabel: "Ім'я користувача",
|
||
currentPasswordLabel: "Поточний пароль",
|
||
currentPasswordPlaceholder: "Введіть поточний пароль",
|
||
newPasswordLabel: "Новий пароль",
|
||
generateButton: "Згенерувати надійний пароль",
|
||
newPasswordPlaceholder: "Щонайменше 8 символів",
|
||
confirmPasswordLabel: "Підтвердіть новий пароль",
|
||
confirmPasswordPlaceholder: "Повторіть новий пароль",
|
||
passwordsMismatch: "Паролі не збігаються",
|
||
failedError: "Не вдалося змінити пароль",
|
||
connectionError: "Помилка з'єднання",
|
||
changingButton: "Зміна...",
|
||
changeButton: "Змінити пароль",
|
||
sidebarTitle: "Майже готово",
|
||
sidebarDescription:
|
||
"Встановіть надійний пароль для захисту Вашого облікового запису, і можна починати.",
|
||
},
|
||
automate: {
|
||
title: "Автоматизація",
|
||
invalidPipelineFile: "Недійсний файл Pipeline SnapOtter",
|
||
newerVersion: "Цей Pipeline створено у новішій версії SnapOtter",
|
||
missingName: "У файлі Pipeline відсутня назва",
|
||
noSteps: "У файлі Pipeline немає кроків",
|
||
importFailed: "Імпорт не вдався",
|
||
couldNotRead: "Не вдалося прочитати файл Pipeline",
|
||
fileCount: "{count} файл",
|
||
fileCountPlural: "{count} файлів",
|
||
importFromLibrary: "Імпорт із бібліотеки",
|
||
addButton: "+ Додати",
|
||
libraryButton: "Бібліотека",
|
||
clearButton: "Очистити",
|
||
processingFailed: "Обробка цього файлу не вдалася",
|
||
processingMultiple: "Обробка {count} файлів...",
|
||
processingPipeline: "Виконання Pipeline...",
|
||
processButton: "Обробити",
|
||
processButtonMultiple: "Обробити ({count})",
|
||
processAllButton: "Обробити все ({count})",
|
||
addTool: "Додати інструмент",
|
||
toolPalette: "Палітра інструментів",
|
||
clickToAdd: "Натисніть для додавання до Pipeline",
|
||
savedLabel: "Збережені",
|
||
importButton: "Імпорт",
|
||
noSavedPipelines: "Немає збережених Pipeline",
|
||
stepCount: "({count} крок)",
|
||
stepCountPlural: "({count} кроків)",
|
||
exportPipeline: "Експортувати Pipeline",
|
||
deletePipeline: "Видалити Pipeline",
|
||
moreCount: "+{count} ще",
|
||
pipelineBuilder: "Конструктор Pipeline",
|
||
addToolsPrompt: "Додайте інструменти з палітри для початку",
|
||
stepsConfigured: "Налаштовано {count} крок",
|
||
stepsConfiguredPlural: "Налаштовано {count} кроків",
|
||
noFilesLoaded: "Файли не завантажено",
|
||
downloadZip: "Завантажити ZIP",
|
||
saveButton: "Зберегти",
|
||
pipelineNamePlaceholder: "Назва Pipeline",
|
||
descriptionPlaceholder: "Опис",
|
||
savingIndicator: "...",
|
||
cancelButton: "Скасувати",
|
||
preview: "Попередній перегляд",
|
||
previousImage: "Попереднє зображення",
|
||
nextImage: "Наступне зображення",
|
||
imageCounter: "{current} / {total}",
|
||
imageArea: "Область зображення",
|
||
templateSocialMedia: "Готово для соцмереж",
|
||
templatePrivacyClean: "Очищення конфіденційності",
|
||
templateWebOptimization: "Веб-оптимізація",
|
||
templateProfilePicture: "Фото профілю",
|
||
templateWatermarkBatch: "Пакетні водяні знаки",
|
||
createNew: "Створити нову автоматизацію",
|
||
savedAutomations: "Збережені автоматизації",
|
||
templates: "Шаблони",
|
||
addStep: "Додати крок",
|
||
removeStep: "Видалити",
|
||
moveUp: "Перемістити вгору",
|
||
moveDown: "Перемістити вниз",
|
||
savePipeline: "Зберегти Pipeline",
|
||
runPipeline: "Обробити",
|
||
pipelineName: "Назва Pipeline",
|
||
pipelineDescription: "Опис (необов'язково)",
|
||
noStepsPrompt: "Додайте кроки для побудови автоматизації",
|
||
noStepsHeading: "No steps yet",
|
||
searchToolsPlaceholder: "Search tools...",
|
||
step: "Крок",
|
||
},
|
||
nav: {
|
||
tools: "Інструменти",
|
||
reader: "Рідер",
|
||
automate: "Автоматизація",
|
||
editor: "Редактор",
|
||
files: "Файли",
|
||
help: "Довідка",
|
||
settings: "Налаштування",
|
||
grid: "Сітка",
|
||
},
|
||
files: {
|
||
myFiles: "My Files",
|
||
recentTab: "Recent",
|
||
uploadTab: "Upload Files",
|
||
fileDetailsAriaLabel: "File Details",
|
||
fileDetailsHeading: "File Details",
|
||
searchPlaceholder: "Search files...",
|
||
selectedCount: "{count} selected",
|
||
fileCount: "{count} files",
|
||
fileCountSingular: "{count} file",
|
||
noFilesFound: "No files found",
|
||
selectFilePrompt: "Select a file to view details",
|
||
openFile: "Open File",
|
||
openInPipeline: "Open in Pipeline",
|
||
name: "Name",
|
||
format: "Format",
|
||
size: "Size",
|
||
dimensions: "Dimensions",
|
||
version: "Version",
|
||
toolsUsed: "Tools Used",
|
||
none: "None",
|
||
delete: "Delete",
|
||
pipeline: "Pipeline",
|
||
download: "Download",
|
||
},
|
||
dropzone: {
|
||
unsupportedFileType: "Цей тип файлу не підтримується цим інструментом",
|
||
urlFetchFailed: "Не вдалося завантажити зображення за URL",
|
||
ariaLabel: "Зона перетягування файлів",
|
||
dropPrompt: "Перетягніть зображення сюди",
|
||
browseOrPaste: "натисніть будь-де для вибору або вставте з буфера обміну",
|
||
uploadButton: "Завантажити",
|
||
defaultFormats: "PNG, JPG, WebP, HEIC, RAW, PSD та 65+ форматів",
|
||
orSeparator: "або",
|
||
urlPlaceholder: "Вставте URL зображення...",
|
||
urlLoadingIndicator: "...",
|
||
addUrlButton: "Додати",
|
||
importMultipleUrls: "Імпорт кількох URL...",
|
||
filesSelected: "Обрано файлів: {count}",
|
||
},
|
||
reviewPanel: {
|
||
processedResultAlt: "Результат обробки",
|
||
sizeLabel: "Розмір: {size}",
|
||
typeLabel: "Тип: {type}",
|
||
processedLabel: "Оброблено: {time}",
|
||
undoButton: "Скасувати",
|
||
downloadButton: "Завантажити",
|
||
openInEditor: "Відкрити у редакторі",
|
||
reviewHeading: "Огляд",
|
||
continueEditing: "Продовжити редагування",
|
||
},
|
||
features: {
|
||
notEnabledTitle: "Функція не активована",
|
||
notEnabledDescription:
|
||
"Ця функція не активована. Попросіть адміністратора увімкнути її у Налаштуваннях.",
|
||
requiresDownload: "Для цієї функції потрібне додаткове завантаження (~{size})",
|
||
retryButton: "Повторити",
|
||
queued: "У черзі на встановлення...",
|
||
enableButton: "Увімкнути {name}",
|
||
lessThanMinute: "Залишилось менше хвилини",
|
||
oneMinuteLeft: "Залишилась ~1 хвилина",
|
||
minutesLeft: "Залишилось ~{mins} хвилин",
|
||
progressMessages: [
|
||
"Майже готово... мабуть...",
|
||
"Гарні речі потребують часу...",
|
||
"Все одно швидше, ніж чекати, поки висохне фарба...",
|
||
"Ваше терпіння гідне захоплення...",
|
||
"Працюємо старанніше, ніж здається...",
|
||
"Зараз найцікавіше, повірте...",
|
||
"За лаштунками відбуваються важливі справи...",
|
||
"Якщо Ви це читаєте, все працює...",
|
||
"Готуємо щось неймовірне...",
|
||
"Варте кожної секунди, чесне слово...",
|
||
"Інтрига наростає...",
|
||
"Навчаємо Ваш комп'ютер нових фокусів...",
|
||
"Налаштовуємо Ваші суперздібності...",
|
||
"Ваші фотографії потім подякують...",
|
||
"Завантаження... але зі стилем...",
|
||
"Саме час для чашки кави...",
|
||
"Київ теж не за один день збудували...",
|
||
"Тихо... геній працює...",
|
||
"Ваші фото вже заздрять тому, що буде...",
|
||
"Збираємо команду мрії...",
|
||
"Розпаковуємо чудовість...",
|
||
"Майже закінчили думати про початок... жартуємо...",
|
||
"Поворот сюжету: тут справді щось відбувається...",
|
||
"Прогріваємо творчі двигуни...",
|
||
"Уява завантажується...",
|
||
"Це не заставка, обіцяємо...",
|
||
"Великому мистецтву потрібен час на встановлення...",
|
||
'Ваше майбутнє "я" подякує Вам...',
|
||
"Завантажуємо дуже розумні файли...",
|
||
"Зачекайте, найкраще ще попереду...",
|
||
],
|
||
},
|
||
help: {
|
||
heading: "Довідка",
|
||
gettingStarted: {
|
||
heading: "Початок роботи",
|
||
description:
|
||
"Оберіть інструмент із бічної панелі або скористайтесь пошуком. Завантажте зображення, перетягнувши його на сторінку або натиснувши область завантаження. Налаштуйте параметри та завантажте результат.",
|
||
},
|
||
keyboardShortcuts: {
|
||
heading: "Гарячі клавіші",
|
||
focusSearchBar: "Фокус на рядку пошуку",
|
||
goToTools: "Перейти до інструментів",
|
||
toggleTheme: "Перемкнути тему",
|
||
goToResize: "Перейти до зміни розміру",
|
||
goToCrop: "Перейти до обрізки",
|
||
goToCompress: "Перейти до стиснення",
|
||
goToConvert: "Перейти до конвертації",
|
||
goToRemoveBackground: "Перейти до видалення фону",
|
||
goToWatermarkText: "Перейти до текстового водяного знаку",
|
||
goToStripMetadata: "Перейти до видалення метаданих",
|
||
goToImageInfo: "Перейти до інформації про зображення",
|
||
},
|
||
resources: {
|
||
heading: "Ресурси",
|
||
githubLink: "Репозиторій GitHub",
|
||
reportIssueLink: "Повідомити про проблему",
|
||
docsLink: "Документація",
|
||
apiRefLink: "Довідник API (Swagger)",
|
||
},
|
||
versionLabel: "SnapOtter v{version}",
|
||
},
|
||
errors: {
|
||
generic: "Сталася помилка",
|
||
offline: "Ви не в мережі",
|
||
reconnecting: "Перепід'єднання до сервера...",
|
||
connected: "Під'єднано",
|
||
processingFailed: "Обробка цього файлу не вдалася",
|
||
timeout: "Час очікування вичерпано. Сервер може бути перевантажений. Спробуйте знову.",
|
||
networkError: "Помилка мережі. Перевірте з'єднання.",
|
||
invalidCredentials: "Невірне ім'я користувача або пароль",
|
||
connectionError: "Помилка з'єднання",
|
||
},
|
||
analytics: {
|
||
consentTitle: "Допоможіть поліпшити SnapOtter",
|
||
consentDescription:
|
||
"Анонімна статистика використання допомагає нам виправляти помилки та створювати потрібні Вам інструменти. Ваші зображення та файли залишаються на Вашому комп'ютері.",
|
||
consentChangeable: "Ви можете вимкнути це будь-коли у Налаштуваннях.",
|
||
acceptButton: "Звісно, добре",
|
||
declineButton: "Не зараз",
|
||
settingsTitle: "Аналітика",
|
||
settingsDescription: "Надсилання анонімних даних про використання для поліпшення SnapOtter.",
|
||
settingsPrivacy: "Ваші зображення ніколи не залишають Ваш комп'ютер.",
|
||
settingsDisabledByAdmin: "Аналітику вимкнено адміністратором сервера.",
|
||
learnMore: "Дізнатися більше",
|
||
},
|
||
sidebar: {
|
||
tools: "Інструменти",
|
||
grid: "Сітка",
|
||
automate: "Автоматизація",
|
||
editor: "Редактор",
|
||
files: "Файли",
|
||
help: "Довідка",
|
||
settings: "Налаштування",
|
||
},
|
||
toolCard: {
|
||
addToFavourites: "Додати до обраного",
|
||
},
|
||
appLayout: {
|
||
mobileNavTools: "Інструменти",
|
||
mobileNavAutomate: "Автоматизація",
|
||
mobileNavEditor: "Редактор",
|
||
mobileNavFiles: "Файли",
|
||
mobileNavSettings: "Налаштування",
|
||
},
|
||
} as const;
|