2744 lines
226 KiB
JSON
2744 lines
226 KiB
JSON
{
|
||
"longformPersistence": {
|
||
"storage_unavailable_title": "Не вдалося завантажити проєкти",
|
||
"storage_unavailable_body": "VoiceStudio не вдалося прочитати локальне сховище проєктів. Ваші дані не змінено. Повторіть спробу, щоб безпечно відкрити їх.",
|
||
"clear_projects": "Очистити збережені проєкти",
|
||
"clear_confirm": "Усі збережені проєкти «Історії» та «Аудіокниги», а також незбережені чернетки буде назавжди видалено, щоб VoiceStudio міг знову відкритися. Цю дію неможливо скасувати. Продовжити?"
|
||
},
|
||
"backendUnreachable": {
|
||
"contact_recent": "Він відповідав {{ago}} тому, а потім перестав — найімовірніше, він аварійно завершився або був примусово зупинений посеред запиту.",
|
||
"contact_never": "У цій сесії він не відповів жодного разу — можливо, він узагалі не запустився.",
|
||
"dev": "Не вдається зв'язатися з локальним бекендом VoiceStudio. {{contact}} У `bun run dev` бекенд працює з автоперезавантаженням: будь-яка зміна файлу — зокрема збереження під час запиту — перезапускає його й обриває з'єднання. Спершу повторіть дію; якщо це було перезавантаження, усе спрацює. Якщо помилка повторюється, перевірте термінал із `bun run dev` на трасування Python або повідомлення про вихід, а також omnivoice.log у теці даних VoiceStudio.",
|
||
"server": "Не вдається з'єднатися із сервером бекенда VoiceStudio. {{contact}} Перегляньте логи сервера, щоб знайти причину (наприклад, `docker logs <container>` або `journalctl`) — і майте на увазі: якщо цю сторінку обслуговує Docker, сама сторінка може впасти разом із бекендом.",
|
||
"misrouted": "Сервер, що відповідає за адресою {{url}}, не є бекендом VoiceStudio — він повернув власну сторінку 404. Запити до API потрапляють не на той хост: перевірте URL бекенда в Налаштування → Спільний доступ або, якщо цей інтерфейс віддає зворотний проксі, його маршрут для шляхів API.",
|
||
"desktop": "Не вдається зв'язатися з локальним бекендом VoiceStudio. {{contact}} Відкрийте сповіщення про збій, якщо воно з'явилося, або Налаштування → Журнали → Бекенд, щоб побачити останній запис — «{{retry}}» перезапускає його, а «{{cleanRetry}}» перебудовує середовище, якщо він не повертається."
|
||
},
|
||
"nav": {
|
||
"clone": "Клонувати",
|
||
"design": "Створити",
|
||
"dub": "Дублювати",
|
||
"settings": "Налаштування",
|
||
"stories": "Історії",
|
||
"launchpad": "Стартова панель",
|
||
"gallery": "Галерея",
|
||
"transcripts": "Стенограми",
|
||
"omnidrive": "OmniDrive",
|
||
"catalogue": "Каталог",
|
||
"move_rail_right": "Перемістіть рейку вправо",
|
||
"move_rail_left": "Перемістіть рейку вліво",
|
||
"flip_rail": "Зворотна сторона рейки",
|
||
"voice": "Голос",
|
||
"audiobook": "Аудіокнига",
|
||
"workspaces": "Робочі простори"
|
||
},
|
||
"catalogue": {
|
||
"title": "Каталог моделей",
|
||
"tab_engines": "Рушії",
|
||
"tab_models": "Моделі",
|
||
"moved_title": "Тепер у каталозі моделей",
|
||
"moved_engines_body": "Вибір типового рушія мовлення, розшифрування та LLM перенесено до розділу «Каталог моделей».",
|
||
"moved_models_body": "Перегляд, встановлення та видалення завантажених моделей перенесено до розділу «Каталог моделей».",
|
||
"open_engines": "Відкрити рушії",
|
||
"open_models": "Відкрити моделі"
|
||
},
|
||
"settings": {
|
||
"remote_backend_test": "Перевірити з’єднання",
|
||
"remote_backend_save": "Зберегти й перезавантажити",
|
||
"remote_backend_recovery_title": "Не вдалося підключитися до віддаленого бекенду",
|
||
"remote_backend_recovery_hint": "Згодом віддалений бекенд можна змінити в Налаштування → Спільний доступ.",
|
||
"remote_backend_use_local": "Використовувати локальний бекенд",
|
||
"remote_backend_error_tls": "Не вдалося перевірити захищене з’єднання. Перевірте сертифікат і використовуйте порт HTTP API VoiceStudio.",
|
||
"remote_backend_error_cors": "Віддалений бекенд заблокував застосунок. Дозвольте джерело застосунку в налаштуваннях CORS.",
|
||
"remote_backend_error_network": "Віддалений бекенд недоступний. Перевірте адресу, мережу та брандмауер.",
|
||
"remote_backend_error_timeout": "Віддалений бекенд не відповів вчасно.",
|
||
"remote_backend_error_http": "Віддалений бекенд повернув HTTP {{status}}.",
|
||
"remote_backend_error_wrong_port": "Схоже, це не HTTP API VoiceStudio. Порт 7443 зазвичай керує віддаленим worker; спробуйте порт 3900.",
|
||
"openapi": "API VoiceStudio",
|
||
"general": "Загальні",
|
||
"theme": "Тема",
|
||
"language": "Мова",
|
||
"language_desc": "Виберіть мову інтерфейсу",
|
||
"appearance": "Зовнішній вигляд",
|
||
"sharing": "Спільний доступ",
|
||
"models": "Моделі",
|
||
"engines": "Движки",
|
||
"capture": "Введення",
|
||
"credentials": "Ключі",
|
||
"llm_providers": "Постачальники LLM",
|
||
"llmp_desc": "Забезпечує переклад Cinematic та Autofit — LLM переписує кожен рядок так, щоб він вкладався в часовий бюджет свого сегмента й хронометраж відео зберігався. Ключі зберігаються в зашифрованому вигляді; локальні постачальники (Ollama/LM Studio) працюють повністю офлайн.",
|
||
"llmp_catalogue_note": "Відповідає саме постачальник, позначений як активний, коли сімейство рушіїв LLM у каталозі налаштовано на «сумісний з OpenAI».",
|
||
"llmp_catalogue_link": "Відкрити сімейство LLM у каталозі",
|
||
"llmp_provider": "Постачальник",
|
||
"llmp_provider_hint": "Виберіть постачальника для налаштування. Активний використовується для перекладу Cinematic/Autofit. Локальним постачальникам ключ не потрібен, але їхній сервер має бути запущений.",
|
||
"llmp_local_tag": "локальний",
|
||
"llmp_about": "Відомості",
|
||
"llmp_get_key": "Отримати ключ API",
|
||
"llmp_account_id": "ID облікового запису",
|
||
"llmp_account_placeholder": "ID облікового запису Cloudflare",
|
||
"llmp_api_key": "Ключ API",
|
||
"llmp_key_env": "задано через середовище (.env) — має пріоритет над цим полем",
|
||
"llmp_key_stored": "збережено — введіть, щоб замінити",
|
||
"llmp_key_paste": "вставте свій ключ API",
|
||
"llmp_base_url": "Базовий URL",
|
||
"llmp_model": "Модель",
|
||
"llmp_model_placeholder": "назва моделі",
|
||
"llmp_fetch_models": "Отримати список моделей",
|
||
"llmp_models_loaded": "Доступно моделей у цього постачальника: {{count}}",
|
||
"llmp_status": "Статус",
|
||
"llmp_save": "Зберегти",
|
||
"llmp_save_active": "Зберегти й використовувати для перекладу",
|
||
"llmp_save_keep": "Зберегти, не змінюючи активного",
|
||
"llmp_test": "Перевірити",
|
||
"llmp_active_badge": "активний",
|
||
"llmp_test_ok": "ок — {{model}} · {{ms}} мс",
|
||
"llmp_err_config": "Не вказано ключ API або базовий URL — заповніть їх і збережіть.",
|
||
"llmp_err_auth": "Ключ відхилено (401/403) — перевірте свій ключ API.",
|
||
"llmp_err_not_found": "Не знайдено (404) — перевірте назву моделі та шлях базового URL.",
|
||
"llmp_err_rate_limit": "Перевищено ліміт запитів (429) — ключ працює; спробуйте ще раз за мить.",
|
||
"llmp_err_network": "Не вдається з'єднатися з постачальником — перевірте базовий URL, мережу або чи запущено локальний сервер.",
|
||
"llmp_err_error": "Перевірка не вдалася",
|
||
"llmp_load_failed": "Не вдалося завантажити постачальників",
|
||
"llmp_save_failed": "Не вдалося зберегти",
|
||
"updates": "Оновлення",
|
||
"logs": "Логи",
|
||
"about": "Про програму",
|
||
"privacy": "Конфіденційність",
|
||
"title": "Налаштування",
|
||
"ui_scale": "Шкала інтерфейсу користувача",
|
||
"ui_scale_setup_screen": "Екран: {{width}} × {{height}}",
|
||
"ui_scale_setup_title": "Виберіть зручний розмір інтерфейсу",
|
||
"ui_scale_setup_desc": "Перегляньте живий попередній перегляд і виберіть масштаб, який найкраще виглядає на цьому екрані. Пізніше його можна змінити в налаштуваннях.",
|
||
"ui_scale_setup_suggested": "Рекомендовано",
|
||
"ui_scale_setup_preview_title": "Живий попередній перегляд",
|
||
"ui_scale_setup_current_suggestion": "Рекомендоване початкове значення: {{percent}}%",
|
||
"ui_scale_setup_continue": "Використати {{percent}}%",
|
||
"proxy": "Проксі",
|
||
"proxy_desc": "HTTP/SOCKS5 проксі для завантажень (завантаження відео, Hugging Face). Підтримує http://, https://, socks5://. Застосовується до нових завантажень одразу.",
|
||
"proxy_saved": "Проксі встановлено — нові завантаження використовуватимуть його",
|
||
"proxy_save_failed": "Не вдалося зберегти проксі",
|
||
"proxy_cleared": "Проксі очищено",
|
||
"proxy_clear": "ясно",
|
||
"ffmpeg": "FFmpeg",
|
||
"ffmpeg_found": "знайдено",
|
||
"ffmpeg_missing": "Не знайдено",
|
||
"ffmpeg_current": "Поточний шлях",
|
||
"ffmpeg_desc": "Встановіть настроюваний шлях ffmpeg, якщо автоматичне виявлення не вдається.",
|
||
"ffmpeg_saved": "FFmpeg path set — перезапустіть серверну частину, щоб застосувати.",
|
||
"diagnostics_copied": "Diagnostics copied — paste into your issue report.",
|
||
"updater_desktop": "Програма оновлення працює лише в настільній програмі.",
|
||
"latest_version": "Ви використовуєте останню версію.",
|
||
"logs_load_failed": "Не вдалося завантажити журнали: {{message}}",
|
||
"clear_frontend_confirm": "Очистити буфер журналу зовнішнього інтерфейсу в пам’яті?",
|
||
"clear_frontend_title": "Очистити журнали",
|
||
"frontend_logs_cleared": "Журнали інтерфейсу очищено",
|
||
"clear_tauri_confirm": "Обрізати файли журналу на стороні Tauri? ОС продовжить записувати нові записи.",
|
||
"clear_tauri_title": "Ясні таврійські колоди",
|
||
"nothing_to_clear": "Nothing to clear — no Tauri log file on disk yet.",
|
||
"cleared_tauri_one": "Очищено файл журналу {{count}} Tauri",
|
||
"cleared_tauri_other": "Очищено {{count}} журналів Tauri",
|
||
"clear_tauri_failed": "Не вдалося очистити журнали Tauri: {{message}}",
|
||
"clear_backend_confirm": "Очистити серверне середовище виконання + журнали збоїв? Це неможливо скасувати.",
|
||
"clear_backend_title": "Очистити журнали",
|
||
"backend_logs_cleared": "Серверні журнали очищено",
|
||
"clear_backend_failed": "Не вдалося очистити журнали",
|
||
"copy_failed": "Помилка копіювання: {{message}}",
|
||
"update_check_failed": "Не вдалося перевірити оновлення: {{message}}",
|
||
"save_failed": "Не вдалося зберегти: {{message}}",
|
||
"clear_failed": "Помилка очищення: {{message}}",
|
||
"engine_switched": "{{family}} перемкнено на {{engine}}",
|
||
"channel_set_failed": "Не вдалося встановити канал: {{message}}",
|
||
"updater_downloading": "Завантаження {{version}}…",
|
||
"updater_installed": "Встановлено — перезапуск.",
|
||
"updater_available_title": "Доступне оновлення",
|
||
"updater_available_body": "Доступна версія {{version}}.\n\n{{notes}}\n\nЗавантажити та встановити зараз?",
|
||
"updater_notes_fallback": "Перегляньте примітки до випуску на GitHub.",
|
||
"shortcut_load_failed": "Не вдалося завантажити ярлик: {{message}}",
|
||
"shortcut_set": "Ярлик для диктування встановлено на {{shortcut}}",
|
||
"shortcut_register_failed": "Не вдалося зареєструватися: {{message}}",
|
||
"shortcut_reset": "Скинути до замовчування",
|
||
"shortcut_reset_failed": "Помилка скидання: {{message}}",
|
||
"reset_longform_failed": "VoiceStudio не вдалося безпечно видалити збережені проєкти. Дані проєктів не змінено; звільніть місце або перезапустіть застосунок і повторіть спробу.",
|
||
"cancel": "Скасувати",
|
||
"hf_token_also_clear": "Також очистити",
|
||
"hf_token_clear_btn": "Очистити токен",
|
||
"hf_token_clear_confirm": "Очистити токен HuggingFace із джерела App?",
|
||
"hf_token_clear_dialog": "Очистити токен",
|
||
"hf_token_input": "Токен HuggingFace",
|
||
"hf_token_sources": "Джерела токена HF",
|
||
"hf_token_test_now": "Перевірити зараз",
|
||
"hf_token_test_now_title": "Повторно виконати whoami для кожного джерела",
|
||
"color_theme": "Кольорова тема",
|
||
"font": "Шрифт",
|
||
"autoplay_preview": "Автоматичний попередній перегляд",
|
||
"autoplay_preview_label": "Відтворіть результат, щойно візуалізація завершиться",
|
||
"autoplay_preview_hint": "Якщо вимкнено, готовий рендер більше не починає відтворюватися сам по собі — корисно під час пакетного створення сегментів.",
|
||
"appearance_help": "Раніше ці елементи керування знаходилися на нижній панелі журналів — їх перемістили сюди, щоб нижній колонтитул залишався зосередженим на журналах. Зміни застосовуються миттєво та зберігаються під час запуску.",
|
||
"advanced": "Просунутий",
|
||
"shortcut": "Скорочення диктування",
|
||
"credentials_desc": "Ключі та маркери API, встановлені для цього сеансу.",
|
||
"credentials_more": "Більше провайдерів",
|
||
"group_general": "Загальний",
|
||
"group_voice": "Голос і механізми",
|
||
"group_system": "система",
|
||
"group_app": "додаток",
|
||
"search_placeholder": "Налаштування пошуку…",
|
||
"restart_required": "Потрібен перезапуск",
|
||
"applies_now": "Застосовується зараз",
|
||
"dictation": "Диктант",
|
||
"pronunciation": "Вимова",
|
||
"translation": "Переклад",
|
||
"network": "Мережа",
|
||
"performance": "Продуктивність і пристрій",
|
||
"storage": "Зберігання",
|
||
"device": "Пристрій і обчислення",
|
||
"device_desc": "Живе апаратне забезпечення та зчитування серверної частини.",
|
||
"network_desc": "Шляхи проксі та FFmpeg для завантажень і обробки медіа.",
|
||
"translation_desc": "Як дубляж перекладає діалоги і який движок це робить.",
|
||
"translate_quality": "Якість перекладу",
|
||
"translate_quality_desc": "Швидко – це буквально і швидко; Cinematic використовує LLM для природного формулювання.",
|
||
"translate_fast": "швидко",
|
||
"translate_cinematic": "Кінематографічний",
|
||
"translation_providers": "Постачальники перекладів",
|
||
"translation_providers_desc": "Ключі API для онлайн-перекладачів, встановлені для цього сеансу.",
|
||
"review_mode": "Режим перегляду",
|
||
"review_mode_on": "огляд",
|
||
"review_mode_off": "Скорострільна",
|
||
"review_mode_desc": "Зробіть паузу між етапами конвеєра, щоб ви могли переглядати ASR / результат перекладу.",
|
||
"header_live_stats": "Показати живі системні показники в заголовку",
|
||
"header_live_stats_desc": "Додає живий монітор RAM/CPU/VRAM на верхню панель (за умовчанням вимкнено).",
|
||
"nav_style": "Стиль навігації",
|
||
"nav_style_desc": "Перемикайте робочі простори панеллю піктограм біля краю вікна або вкладками в заголовку вікна.",
|
||
"nav_style_rail": "Бічна панель",
|
||
"nav_style_tabs": "Вкладки в заголовку",
|
||
"storage_desc": "Де VoiceStudio зберігає ваші дані та результати.",
|
||
"history_retention": "Історія генерацій",
|
||
"history_retention_desc": "Скільки дублів зберігати, перш ніж очищати найстаріші.",
|
||
"history_retention_help": "Після кожної генерації найстаріші дублі без зірки понад цей ліміт видаляються разом з аудіофайлами. Дублі із зіркою зберігаються завжди. 0 = зберігати все.",
|
||
"history_retention_cap": "Зберігати дублів",
|
||
"history_retention_cap_hint": "Дублі із зіркою не враховуються під час очищення · 0 = без обмежень",
|
||
"history_retention_saved": "Ліміт зберігання збережено",
|
||
"history_retention_save_failed": "Не вдалося зберегти",
|
||
"history_retention_invalid": "Введіть 0 або більше",
|
||
"workers_title": "Віддалені воркери",
|
||
"workers_desc": "Надсилайте окремі завдання на відеокарти інших ваших машин. Результати повертаються сюди. Нічого не надсилається, доки ви не додасте воркер і не схвалите його.",
|
||
"workers_enable": "Використовувати віддалені воркери",
|
||
"workers_enable_hint": "Поки це вимкнено, з'єднання не приймаються і ніщо не залишає цю машину.",
|
||
"workers_port_conflict": "Віддалені виконавці недоступні: інший екземпляр VoiceStudio уже приймає їх на цьому порту. Закрийте інший екземпляр або задайте інший порт у OMNIVOICE_WORKER_PORT і перезапустіть VoiceStudio.",
|
||
"workers_endpoint": "Воркери підключаються до",
|
||
"workers_endpoint_hint": "Воркер має мати доступ до цієї адреси. У різних мережах надійний спосіб — VPN, наприклад Tailscale.",
|
||
"workers_add": "Додати воркер",
|
||
"workers_add_hint": "Створіть токен і вставте його в OmniVoice на іншій машині.",
|
||
"workers_new_token": "Створити токен",
|
||
"workers_token_once": "Скопіюйте зараз — він показується лише раз, працює лише раз і спливає через 15 хвилин.",
|
||
"workers_copy": "Копіювати",
|
||
"workers_copied": "Скопійовано",
|
||
"workers_copy_failed": "Не вдалося скопіювати.",
|
||
"workers_none": "Воркерів ще немає. Створіть токен, щоб додати перший.",
|
||
"workers_load": "Завдання {{active}} / {{slots}}",
|
||
"workers_needs_consent": "Не схвалено",
|
||
"workers_status_online": "У мережі",
|
||
"workers_status_offline": "Не в мережі",
|
||
"workers_status_paused": "Призупинено",
|
||
"workers_status_disabled": "Вимкнено",
|
||
"workers_resume": "Відновити",
|
||
"workers_disable": "Вимкнути",
|
||
"workers_enable_one": "Увімкнути",
|
||
"workers_remove": "Видалити",
|
||
"workers_remove_title": "Видалити воркер?",
|
||
"workers_remove_confirm": "Видалити {{name}}? Його ключ буде відкликано, тож без нового токена він не підключиться.",
|
||
"workers_rename": "Перейменувати воркер",
|
||
"inbound_add_person": "Додати людину",
|
||
"inbound_add_person_hint": "Створює рядок підключення для однієї людини. Видайте кожному свій, щоб видалення одного не від'єднало всіх інших.",
|
||
"inbound_bind": "Доступно за адресою",
|
||
"inbound_bind_apply": "Застосувати",
|
||
"inbound_bind_exposed": "Будь-хто, кому доступний {{address}}, може підключитися за допомогою дійсного рядка. TLS шифрує сеанс і закріплює сертифікат цього комп’ютера; зберігайте кожен рядок у таємниці та видаляйте непотрібний доступ.",
|
||
"inbound_bind_local": "Доступно лише цьому комп'ютеру. Вкажіть мережеву адресу, щоб інші комп'ютери могли під'єднуватися.",
|
||
"inbound_connect": "Підключитися",
|
||
"inbound_connect_desc": "Вставте рядок підключення, який вам дали. Щоб це спрацювало, той комп'ютер має приймати підключення.",
|
||
"inbound_connect_hint": "Починається з ovnode:// і містить ключ, адресу, порт та відбиток сертифіката.",
|
||
"inbound_connect_placeholder": "ovnode://…@192.168.0.110:7444?fingerprint=…",
|
||
"inbound_request_failed": "Не вдалося зв’язатися з цим комп’ютером GPU. Перевірте, що він у мережі та приймає з’єднання, і повторіть спробу.",
|
||
"inbound_connect_row": "Рядок підключення",
|
||
"inbound_connect_title": "Підключитися до комп'ютера з GPU",
|
||
"inbound_connected": "підключено",
|
||
"inbound_connected_now": "Підключені зараз",
|
||
"inbound_connecting": "підключення…",
|
||
"inbound_create": "Створити",
|
||
"inbound_desc": "Дозвольте іншим комп’ютерам підключатися, щоб кілька людей могли спільно використовувати цей GPU. Кожне з’єднання шифрується і закріплюється за сертифікатом цього комп’ютера.",
|
||
"inbound_disconnect": "Від'єднати",
|
||
"inbound_enable": "Приймати підключення",
|
||
"inbound_enable_hint": "Інші підключаються до цього комп'ютера, а не він до них. Без створеного вами рядка підключення ніхто не ввійде.",
|
||
"inbound_exposed_badge": "У вашій мережі",
|
||
"inbound_forget": "Видалити",
|
||
"inbound_hours_ago": "{{count}} год тому",
|
||
"inbound_jobs_run": "завдань: {{count}}",
|
||
"inbound_just_now": "щойно",
|
||
"inbound_label": "Ім'я",
|
||
"inbound_label_placeholder": "Ноутбук Аліси",
|
||
"inbound_last_seen": "востаннє використано {{when}}",
|
||
"inbound_minutes_ago": "{{count}} хв тому",
|
||
"inbound_nobody": "Ніхто не підключений.",
|
||
"inbound_people": "Люди з доступом",
|
||
"inbound_revoke": "Видалити",
|
||
"inbound_revoke_confirm": "Відкликати доступ для {{label}}? Рядок підключення перестане працювати негайно. Усі інші залишаться підключеними.",
|
||
"inbound_revoke_title": "Відкликати доступ?",
|
||
"inbound_shown_once": "Скопіюйте зараз — його більше не буде показано. Передайте лише: {{label}}.",
|
||
"inbound_shown_once_warning": "Ставтеся до нього як до пароля й передавайте конфіденційно. Відбиток сертифіката закріплює зашифроване з’єднання за цим комп’ютером GPU.",
|
||
"inbound_title": "Поділитися цим GPU з іншими",
|
||
"history_retention_load_failed": "Не вдалося завантажити поточний ліміт зберігання",
|
||
"models_dir_help": "Місце зберігання ваг моделей. За потреби виберіть більший або швидший диск; зміни застосуються після перезапуску.",
|
||
"models_dir_saved": "Папку моделей збережено — перезапустіть для застосування",
|
||
"models_dir_reverted": "Типову папку відновлено — перезапустіть для застосування",
|
||
"models_dir_reset_hint": "Повернути типове розташування кешу",
|
||
"models_dir_effective": "Використовується зараз",
|
||
"models_dir_configured": "Налаштовано",
|
||
"models_dir_default": "Використовується типове",
|
||
"models_dir_restart": "↻ Перезапустіть VoiceStudio, щоб використовувати нове розташування.",
|
||
"worker_join": "Підключитися",
|
||
"worker_join_code": "Код підключення",
|
||
"worker_join_code_hint": "Одноразовий і спливає через 15 хвилин. Створіть його на машині, яка надсилатиме завдання.",
|
||
"worker_join_desc": "Дозвольте іншій копії VoiceStudio надсилати завдання на цю машину. Вставте код підключення, який вона показала, — або відскануйте її QR-код телефоном і вставте його сюди.",
|
||
"worker_join_env": "У середовищі цієї машини задано змінну OMNIVOICE_WORKER_MODE, тож вирішує саме вона — змінюйте її там.",
|
||
"worker_join_no_endpoint": "Керуючий вузол не запам'ятовано.",
|
||
"worker_join_ok": "Підключено. Ця машина тепер приймає завдання.",
|
||
"worker_join_placeholder": "ovw_…",
|
||
"worker_join_rejoin": "Підключитися до іншої машини",
|
||
"worker_join_stopped": "Зупинено",
|
||
"worker_join_take_work": "Приймати завдання від",
|
||
"worker_join_title": "Позичити GPU цієї машини",
|
||
"worker_join_working": "Працює",
|
||
"workers_add_hint_qr": "Створіть токен, потім відскануйте QR-код з іншої машини або вставте код у її налаштування «Віддалені воркери».",
|
||
"workers_approve": "Схвалити",
|
||
"workers_last_seen": "востаннє в мережі {{when}}",
|
||
"workers_qr_alt": "QR-код із цим кодом — відскануйте його з іншої машини",
|
||
"workers_secret_done": "Готово",
|
||
"workers_seen_hr": "{{count}} год тому",
|
||
"workers_seen_min": "{{count}} хв тому",
|
||
"workers_seen_now": "щойно",
|
||
"workers_step_1": "Встановіть VoiceStudio на машину з GPU.",
|
||
"workers_step_2": "Створіть токен вище.",
|
||
"workers_step_3": "Відскануйте там QR-код або вставте код у її налаштування «Віддалені воркери».",
|
||
"workers_summary_none": "Ніхто не підключений",
|
||
"workers_summary_online": "{{count}} у мережі",
|
||
"workers_token_expired": "Сплив — створіть новий",
|
||
"workers_token_expires_in": "Спливає через {{time}}",
|
||
"workers_token_qr_hint": "На іншій машині: Налаштування → система → Віддалені воркери → Підключитися, потім відскануйте або вставте.",
|
||
"compute_device": "Пристрій обчислень",
|
||
"compute_device_title": "Пристрій обчислень",
|
||
"compute_device_desc": "На якому пристрої backend виконує моделі. Auto підходить майже всім.",
|
||
"compute_device_env_pinned": "Закріплено змінною середовища OMNIVOICE_DEVICE",
|
||
"compute_device_ignored": "Цей пристрій не виявлено на цій машині — діє Auto",
|
||
"compute_device_restart": "Набуде чинності після перезапуску застосунку",
|
||
"compute_device_note": "Показано лише пристрої, виявлені на цій машині. CPU працює завжди; закріплення пристрою ніколи не вигадує обладнання.",
|
||
"compute_device_auto": "Auto (рекомендовано)",
|
||
"device_family_cuda": "NVIDIA GPU (CUDA)",
|
||
"device_family_rocm": "AMD GPU (ROCm)",
|
||
"device_family_xpu": "Intel GPU (XPU)",
|
||
"device_family_npu": "NPU",
|
||
"device_family_mps": "Apple GPU (MPS)",
|
||
"device_family_cpu": "CPU",
|
||
"device_load_failed": "Не вдалося завантажити налаштування пристрою",
|
||
"perf_save_failed": "Не вдалося зберегти налаштування",
|
||
"generate_budget_title": "Бюджет часу обчислень",
|
||
"generate_budget_desc": "Як довго одна генерація може виконуватися, перш ніж її скасують як надто важку для цього обладнання. Рендеринг на CPU закономірно повільніший за прискорений, тому він має власний, вищий поріг.",
|
||
"generate_timeout_gpu": "Прискорений (GPU) бюджет",
|
||
"generate_timeout_gpu_note": "Використовується, коли генерація виконується на CUDA, ROCm, MPS або іншому прискорювачі. Також використовується для генерації на CPU, якщо нижче не задано бюджет CPU.",
|
||
"generate_timeout_cpu": "Бюджет CPU",
|
||
"generate_timeout_cpu_note": "Використовується, коли генерація виконується на CPU. Після збереження тут це значення завжди керує генерацією на CPU — незалежно від прискореного бюджету вище.",
|
||
"generate_timeout_invalid": "Введіть число секунд більше 0 і не більше {{max}}.",
|
||
"generate_timeout_saved": "Збережено. Перезапустіть VoiceStudio, щоб новий бюджет набув чинності.",
|
||
"generate_timeout_shadowed_badge": "Перевизначено ззовні",
|
||
"generate_timeout_shadowed_note": "Змінна середовища поза VoiceStudio (оболонка, файл .env або контейнер) наразі задає це значення — збережене тут значення ігнорується, доки цю змінну не видалять.",
|
||
"generate_timeout_shadowed_toast": "Збережено, але змінна середовища поза VoiceStudio наразі задає це значення — воно продовжуватиме використовуватися, доки цю змінну не видалять."
|
||
},
|
||
"bootstrap": {
|
||
"title": "VoiceStudio",
|
||
"checking": "Перевірка оточення…",
|
||
"downloading_uv": "Завантаження uv (пакетного менеджера Python)…",
|
||
"creating_venv": "Створення віртуального оточення Python…",
|
||
"installing_deps": "Встановлення залежностей — перший запуск, 5–10 хв.",
|
||
"starting_backend": "Запуск бекенду…",
|
||
"ready": "Готово",
|
||
"failed": "Помилка налаштування",
|
||
"what_to_try": "Що спробувати:",
|
||
"retry": "Повторити",
|
||
"clean_retry": "Очистити і повторити",
|
||
"clean_retry_confirm": "Це видалить кешоване віртуальне оточення Python та заново завантажить всі залежності (~5-10 хв). Продовжити?",
|
||
"hide_logs": "Приховати логи",
|
||
"show_logs": "Показати логи",
|
||
"lines_one": "{{count}} рядок",
|
||
"lines_other": "{{count}} рядків",
|
||
"copy": "Копіювати",
|
||
"copied": "Скопійовано!",
|
||
"waiting_output": "Очікування виводу…",
|
||
"auto_detect": "Автовизначення",
|
||
"suggest_lang": "Переключити на Українську мову?",
|
||
"select_lang": "Мова:",
|
||
"region_global": "Глобальний (прямий)",
|
||
"region_china": "Китай (дзеркало)",
|
||
"region_russia": "Росія (дзеркало)",
|
||
"region_restricted": "Обмежений (дзеркало)",
|
||
"unknown_error": "Невідома помилка",
|
||
"retrying": "Повторна спроба…",
|
||
"hint_readme": "У пакеті був відсутній README.md. Тепер це виправляється автоматично — повторна спроба має спрацювати.",
|
||
"hint_python_mirror": "Мережа не змогла завантажити Python (реліз із github.com). Змініть регіон у Налаштування → Мережа (Китай / Росія / Обмежений працюють через дзеркало) або встановіть Python 3.11+ у систему, щоб застосунок використовував його.",
|
||
"hint_uv_timeout": "Тайм-аут мережі під час завантаження uv. Перевірте інтернет-з'єднання або спробуйте інший регіон у Налаштування → Мережа.",
|
||
"hint_uv_sync": "Не вдалося встановити залежності. «Очистити і повторити» видалить кешований venv і почне заново.",
|
||
"hint_build_backend": "Помилка бекенда збирання Python. «Очистити і повторити» видалить пошкоджений venv і збере його з нуля.",
|
||
"hint_ffmpeg": "Не вдалося завантажити ffmpeg. Це не критично — повторіть спробу або встановіть ffmpeg вручну.",
|
||
"hint_port": "Порт 3900 уже зайнятий. Закрийте інші екземпляри VoiceStudio або застосунки, що використовують цей порт.",
|
||
"hint_silent_crash": "Бекенд завершився без повідомлення про помилку. «Очистити і повторити» часто виправляє проблеми з пошкодженим venv.",
|
||
"hint_github_blocked": "Можливо, ваша мережа блокує GitHub. Встановіть Python 3.11+ із python.org (додайте до PATH) і перезапустіть застосунок або задайте UV_PYTHON_INSTALL_MIRROR — див. docs/install/troubleshooting.md.",
|
||
"hint_intel_mac": "У цьому Mac процесор Intel, а PyTorch більше не випускає збірки для Intel-Mac — локальний ШІ-бекенд встановити неможливо, і повторні спроби нічого не змінять. Ви можете під'єднати застосунок до віддаленого бекенда на іншій машині (Налаштування → Спільний доступ → Віддалений бекенд) або використовувати VoiceStudio на Mac з Apple Silicon, Windows чи Linux. Деталі: docs/install/macos.md.",
|
||
"hint_default": "Спершу спробуйте «Повторити». Якщо знову не вдасться, «Очистити і повторити» перебудує середовище з нуля.",
|
||
"hint_stuck": "Сервер не завершив запуск. З вихідного коду спочатку запустіть `uv sync` і переконайтеся, що `uv` і Python знаходяться на вашому ШЛЯХІ, а потім повторіть спробу. Перевірте журнал нижче (або Параметри → Журнали → Сервер), щоб дізнатися точну точку зупинки.",
|
||
"lines": "{{count}} рядків"
|
||
},
|
||
"stories": {
|
||
"title": "Редактор історій",
|
||
"subtitle": "Багатоканальна аудіокнига з озвученням кожного персонажа",
|
||
"cast": "акторський склад",
|
||
"castTitle": "Cast — призначити голос кожному персонажу",
|
||
"addCharacter": "Додати символ",
|
||
"character": "характер",
|
||
"characterName": "Ім'я персонажа",
|
||
"narratorLocked": "Оповідач завжди присутній",
|
||
"removeCharacter": "Видалити символ",
|
||
"noProfiles": "Голосових профілів ще не встановлено — спочатку клонуйте або створіть голос.",
|
||
"pasteSplit": "Вставити та розділити",
|
||
"import": "Імпорт",
|
||
"autocast": "Автокаст",
|
||
"autocastHint": "Визначайте, хто говорить, і автоматично призначайте голоси",
|
||
"autocastEmpty": "Нічого для автоматичної трансляції — спочатку вставте або імпортуйте історію.",
|
||
"autocastDone": "Автоматично транслювати {{lines}} рядків через {{voices}} голос(ів)",
|
||
"importFailed": "Не вдалося прочитати цей файл.",
|
||
"addLine": "Додати лінію",
|
||
"addChapter": "Додати розділ",
|
||
"chapterN": "Розділ {{n}}",
|
||
"stems": "Стебла",
|
||
"stemsDone": "Експортовано {{count}} основи символів",
|
||
"format": "Формат експорту",
|
||
"mp3Fallback": "Кодування MP3 недоступне — замість нього завантажено WAV.",
|
||
"projects": "Проекти",
|
||
"newStory": "Нова історія",
|
||
"save": "зберегти",
|
||
"untitled": "Розповідь без назви",
|
||
"projectName": "Назва проекту",
|
||
"deleteProject": "Видалити проект",
|
||
"noProjects": "Ще немає збережених історій — збережіть, щоб зберегти цю.",
|
||
"projectSaved": "Історія збережена",
|
||
"generateAll": "Генерувати",
|
||
"splitPlaceholder": "Вклейте довгий уривок. Ми розділимо його на сегменти на межі речень.",
|
||
"maxChars": "Максимальна кількість символів на сегмент",
|
||
"segmentsHint": "~{{count}} сегмент(и) на {{max}} символів",
|
||
"pasteAbove": "Вставте текст вище",
|
||
"cancel": "Скасувати",
|
||
"splitIntoTracks": "Розбити на рядки",
|
||
"emptyText": "Почніть свою історію, додавши діалоги та розповідь. Призначте кожному персонажу голос у Cast.",
|
||
"addFirst": "Додайте перший рядок",
|
||
"linePlaceholder": "Почніть діалог або розповідь… використовуйте [пауза 0,5 с] для мовчазної перерви",
|
||
"text": "текст",
|
||
"voice": "голос",
|
||
"defaultVoice": "За замовчуванням",
|
||
"inlineVoice": "Встановити вбудований голос",
|
||
"inlineVoiceHint": "Переключити голос для виділеного тексту (або вставити перемикач біля курсору)",
|
||
"resetInlineVoice": "Відновити голосову лінію",
|
||
"insertPause": "Вставте перерву [пауза 0,5 с].",
|
||
"preview": "Переглянути цей рядок",
|
||
"removeLine": "Видалити лінію",
|
||
"tune": "Тон і швидкість",
|
||
"speed": "швидкість",
|
||
"reset": "Скинути",
|
||
"tones": {
|
||
"laugh": "сміятися",
|
||
"sigh": "Зітхання",
|
||
"question": "Питання",
|
||
"surprise": "Сюрприз",
|
||
"confirm": "Підтвердити",
|
||
"dissatisfaction": "Хммм"
|
||
},
|
||
"lines": "{{count}} рядків",
|
||
"characters": "{{count}} символів",
|
||
"minutes": "~{{count}} хв",
|
||
"chars": "{{count}} символів",
|
||
"exportDone": "Аудіокнигу завантажено",
|
||
"exportFailed": "Помилка експорту — перевірте, чи працює серверна частина.",
|
||
"global_speed": "швидкість",
|
||
"global_speed_hint": "Швидкість читання для всіх рядків без власного перевизначення швидкості",
|
||
"deleteProjectConfirm": "Видалити цей проєкт назавжди?"
|
||
},
|
||
"common": {
|
||
"open": "відкритий",
|
||
"cancel": "Скасувати",
|
||
"save": "зберегти",
|
||
"delete": "Видалити",
|
||
"loading": "Завантаження…",
|
||
"error": "Щось пішло не так",
|
||
"languages_count": "646 мов",
|
||
"clear": "ясно",
|
||
"refresh": "Оновити",
|
||
"close": "Закрити",
|
||
"minimize_window": "Згорнути вікно",
|
||
"maximize_restore_window": "Розгорнути або відновити вікно",
|
||
"close_window": "Закрити вікно",
|
||
"back": "Назад",
|
||
"play": "грати",
|
||
"pause": "Пауза",
|
||
"reload": "Примусове перезавантаження інтерфейсу користувача",
|
||
"backend": "Backend",
|
||
"frontend": "Інтерфейс",
|
||
"tauri": "Телець",
|
||
"cancelOp": "Скасувати операцію",
|
||
"dismiss": "Відхилити",
|
||
"dismissStatus": "Відмінити статус",
|
||
"search": "Пошук…",
|
||
"no_matches": "Немає збігів",
|
||
"recent_and_popular": "Останні та популярні",
|
||
"popular_label": "Популярний",
|
||
"showing_of": "Показано {{shown}} з {{total}}. Введіть для пошуку…",
|
||
"yes": "так",
|
||
"no": "немає",
|
||
"more_info": "Більше інформації",
|
||
"learn_more": "Дізнайтесь більше",
|
||
"saving": "Збереження…",
|
||
"remove": "Видалити {{term}}",
|
||
"not_set": "Не задано"
|
||
},
|
||
"launchpad": {
|
||
"greeting": "привіт",
|
||
"hero_title": "Вимовляйте голоси, які <1>звучать як ви</1>.",
|
||
"hero_desc": "Клонуйте голос, створіть новий або дублюйте відео <1>{{count}} мовами</1>. Створено для творців, яким не байдуже, як це звучить.",
|
||
"clone_title": "Голосовий клон",
|
||
"clone_desc": "Залиште короткий кліп — ми його віддзеркалимо. Зазвичай достатньо одного зразка.",
|
||
"design_title": "Дизайн голосу",
|
||
"design_desc": "Побудуйте новий голос із речення. Стать, вік, акцент, настрій — вирішувати вам.",
|
||
"dub_title": "Дубляж відео",
|
||
"dub_desc": "Транскрибувати, перекладати, переозвучувати. Зберігайте кожного доповідача, вирівнюйте час, відправляйте його.",
|
||
"ab_compare": "A/B Порівняти",
|
||
"ab_compare_title": "Спробуйте два голоси поруч",
|
||
"cloned_voices": "Клоновані голоси",
|
||
"designed_voices": "Розроблені голоси",
|
||
"dubbing_projects": "Проекти дубляжу",
|
||
"empty_hint": "Тут ще нічого немає — виберіть картку вище.",
|
||
"demo_callout": "Спробуйте демонстраційний голос — натисніть «Створити», щоб почути його.",
|
||
"locked": "ЗАБЛОКУВАНО",
|
||
"open": "відкритий",
|
||
"try_it": "Спробуйте",
|
||
"audio_only": "Лише аудіо",
|
||
"stories_title": "оповідання",
|
||
"stories_desc": "Багатоголосові аудіокниги — вибирайте персонажів, вставляйте сценарій, експортуйте за розділами.",
|
||
"gallery_title": "Голосова галерея",
|
||
"gallery_desc": "Переглядайте готові розроблені голоси за акцентом, віком і стилем — без налаштування.",
|
||
"transcripts_title": "Стенограми",
|
||
"transcripts_desc": "Перетворюйте аудіо чи відео на текст, доступний для редагування та пошуку – на 646 мовах.",
|
||
"recent_files": "Останні файли",
|
||
"view_all_files": "Переглянути всі файли",
|
||
"file": "Файл",
|
||
"audiobook_title": "Аудіокнига",
|
||
"audiobook_desc": "Перетворіть довгий сценарій або EPUB на аудіокнигу з розділами — обкладинки, метадані, один диктор.",
|
||
"convert_title": "Зміна голосу",
|
||
"convert_desc": "Скажіть один раз — почуйте іншим голосом. З мовлення в мовлення, повністю локально."
|
||
},
|
||
"clone": {
|
||
"prompt": "Підкажіть",
|
||
"language": "Мова",
|
||
"steps": "Кроки",
|
||
"voice_source": "Голосове джерело",
|
||
"reference_audio": "Еталонне аудіо",
|
||
"reference_hint": "Використовуйте 5–15 секунд чистого мовлення.",
|
||
"upload_audio": "Завантажити аудіо",
|
||
"optional_details": "Необов’язкові параметри",
|
||
"starting_recording": "Запуск…",
|
||
"unsupported_audio": "Виберіть підтримуваний аудіофайл: WAV, MP3, M4A, FLAC, OGG, AAC або WebM.",
|
||
"saved_profiles": "Збережені профілі",
|
||
"transcript": "Стенограма",
|
||
"style": "Стиль",
|
||
"save_as_profile": "Зберегти як голосовий профіль",
|
||
"profile_name": "Ім'я профілю…",
|
||
"save": "зберегти",
|
||
"cancel": "Скасувати",
|
||
"synthesize": "Синтезувати аудіо",
|
||
"synthesizing": "Синтезую… ({{seconds}}s)",
|
||
"drop_audio": "Перетягніть аудіо сюди — або натисніть. WAV, MP3, M4A… 🎤",
|
||
"record": "запис",
|
||
"cleaning": "Очищення…",
|
||
"using_profile": "Використання профілю: {{name}}",
|
||
"clear": "ясно",
|
||
"production_overrides": "Перевизначення виробництва",
|
||
"denoise": "Усунення шуму",
|
||
"postprocess": "Постобробка",
|
||
"duration": "Тривалість",
|
||
"auto": "Авто",
|
||
"optional": "(необов'язково)",
|
||
"toggle_sidebar": "Перемкнути бічну панель",
|
||
"delete_profile": "Видалити профіль",
|
||
"personality_narrator": "Оповідач",
|
||
"personality_casual": "Повсякденний",
|
||
"personality_news_anchor": "Ведучий новин",
|
||
"personality_storyteller": "Оповідач",
|
||
"personality_corporate": "Корпоративний",
|
||
"personality_energetic": "Енергійний",
|
||
"preset_narrator": "🎙️ Авторитетний",
|
||
"preset_excited_child": "🧒 Схвильована дитина",
|
||
"preset_anxious_whisper": "🤫 Шепіт",
|
||
"preset_surprised_woman": "😲 Здивований",
|
||
"preset_elderly_story": "👴 Бузина",
|
||
"preset_sichuan": "🌶️ 四川话",
|
||
"prompt_placeholder": "Що має сказати цей голос?",
|
||
"design_placeholder": "Опишіть голос, а потім введіть, що він говорить...",
|
||
"speed": "швидкість",
|
||
"tshift": "t_shift",
|
||
"pos_temp": "Поз Темп",
|
||
"class_temp": "Темп класу",
|
||
"layer_pen": "Layer Pen",
|
||
"auto_kicker": "· авто",
|
||
"cat_Gender": "Стать",
|
||
"cat_Age": "Вік",
|
||
"cat_Pitch": "крок",
|
||
"cat_Style": "Стиль",
|
||
"cat_EnglishAccent": "Англійський акцент",
|
||
"cat_ChineseDialect": "китайський діалект",
|
||
"vd_exclusive_cleared": "{{cleared}} очищено — китайський діалект і англійський акцент не можна поєднувати.",
|
||
"opt_Auto": "✨ Авто",
|
||
"opt_male": "чоловічий",
|
||
"opt_female": "жіноча",
|
||
"opt_child": "дитина",
|
||
"opt_teenager": "підліток",
|
||
"opt_young_adult": "молодий дорослий",
|
||
"opt_middle_aged": "середнього віку",
|
||
"opt_elderly": "люди похилого віку",
|
||
"opt_very_low_pitch": "дуже низький тон",
|
||
"opt_low_pitch": "низький тон",
|
||
"opt_moderate_pitch": "помірна висота",
|
||
"opt_high_pitch": "високий тон",
|
||
"opt_very_high_pitch": "дуже високий тон",
|
||
"opt_whisper": "пошепки",
|
||
"style_placeholder": "напр. пошепки",
|
||
"stop_playback": "Зупинити відтворення",
|
||
"describe_label": "Опишіть свій голос",
|
||
"describe_placeholder": "напр. a warm elderly British storyteller, slightly raspy",
|
||
"describe_hint": "Опишіть голос або виберіть відправну точку — в обох випадках деталі нижче заповняться автоматично.",
|
||
"describe_unmatched": "Не вдалося зіставити: {{items}}",
|
||
"describe_no_match": "Голосові риси ще не розпізнано — спробуйте слова deep, elderly або British.",
|
||
"define_by_design": "За дизайном",
|
||
"define_from_audio": "З аудіо",
|
||
"define_voice": "Визначити голос",
|
||
"save_design_as_profile": "Зберегти дизайн як профіль",
|
||
"seed_label": "насіння",
|
||
"seed_placeholder": "випадково кожен раз",
|
||
"seed_keep": "Зберігайте це насіння",
|
||
"seed_reroll": "Нове насіння",
|
||
"seed_reroll_hint": "Киньте нове випадкове насіння та збережіть його",
|
||
"generating_done_status": "Генерацію завершено",
|
||
"generating_status": "Генерую аудіо…",
|
||
"identity": "Ідентичність",
|
||
"identity_auto": "Авто — вирішує модель",
|
||
"insert": "Вставити",
|
||
"insert_token": "Вставити токен експресії",
|
||
"script": "Сценарій",
|
||
"starting_points": "Відправні точки",
|
||
"voice_kicker": "Голос",
|
||
"define_convert": "Перетворити",
|
||
"details": "Деталі",
|
||
"edit": "Редагувати",
|
||
"cat_AccentDialect": "Акцент або діалект",
|
||
"accent_dialect_hint": "одне з двох, ніколи обидва",
|
||
"reset_to_description": "Скинути за описом",
|
||
"chips_more": "ще {{count}}…"
|
||
},
|
||
"about": {
|
||
"app": "додаток",
|
||
"version": "Версія",
|
||
"tauri_runtime": "Час виконання Tauri",
|
||
"platform": "Платформа",
|
||
"architecture": "Архітектура",
|
||
"python": "Python",
|
||
"compute_device": "Обчислювальний пристрій",
|
||
"gpu_active": "GPU активний",
|
||
"ram": "Оперативна пам'ять",
|
||
"vram": "VRAM",
|
||
"backend": "Backend",
|
||
"active_model": "Активна модель",
|
||
"asr_model": "Модель ASR",
|
||
"translator": "Перекладач",
|
||
"hf_token": "Набір токенів HF",
|
||
"data_dir": "Каталог даних",
|
||
"outputs": "Виходи",
|
||
"crash_log": "Журнал збоїв",
|
||
"update_endpoint": "Оновити кінцеву точку",
|
||
"yes": "так",
|
||
"no": "немає",
|
||
"web_preview": "веб-перегляд",
|
||
"downloading": "Завантаження…",
|
||
"check_updates": "Перевірте наявність оновлень",
|
||
"copy_diagnostics": "Діагностика копій",
|
||
"github": "VoiceStudio на GitHub",
|
||
"commercial_license": "Комерційна ліцензія",
|
||
"update_channel": "Канал оновлень",
|
||
"channel_stable": "Стабільний",
|
||
"channel_preview": "Попередній перегляд",
|
||
"channel_set": "Канал оновлень встановлено на {{channel}}",
|
||
"channel_preview_hint": "Попередній перегляд відстежує найновішу збірку main — новіші функції, менше тестування. Повертається до стабільного, якщо стабільний випуск новіший.",
|
||
"self_check": "Запустити самоперевірку",
|
||
"self_check_failed": "Самоперевірка не вдалася: {{message}}",
|
||
"self_check_ok": "Гаразд",
|
||
"self_check_warn": "Попередження",
|
||
"self_check_fail": "Збій",
|
||
"self_check_healthy": "Усі перевірки пройдено — установка виглядає справною.",
|
||
"self_check_attention": "Не пройдено перевірок: {{count}} — див. підказки вище.",
|
||
"save_bundle": "Зберегти діагностичний пакет",
|
||
"bundle_saved": "Діагностичний пакет збережено: {{filename}}",
|
||
"bundle_failed": "Не вдалося створити діагностичний пакет: {{message}}"
|
||
},
|
||
"privacy": {
|
||
"desc": "Усе працює на <1>цій машині</1>. Ваші аудіо, відео та стенограми ніколи не залишають ваш комп’ютер, якщо ви явно не використовуєте онлайн-перекладач (Google, DeepL тощо) або надсилаєте HuggingFace.",
|
||
"uploads_at": "Завантаження зберігаються в",
|
||
"outputs_at": "Виходи зберігаються в",
|
||
"gen_history": "Історія покоління",
|
||
"network_calls": "Мережні дзвінки",
|
||
"model_telemetry": "Модель телеметрії",
|
||
"local_sqlite": "Локальний SQLite",
|
||
"translator_online": "Перекладач онлайн: {{provider}}",
|
||
"translator_offline": "Офлайн перекладач",
|
||
"no_tracking": "None — немає відстеження",
|
||
"watermark_title": "Невидимий водяний знак",
|
||
"watermark_subtitle": "Увімкнено за умовчанням. Позначає створене аудіо як згенероване ШІ, щоб його можна було розпізнати згодом. Стосується лише аудіо, створеного від цього моменту.",
|
||
"watermark_on_toast": "Невидимий водяний знак увімкнено для нового аудіо.",
|
||
"watermark_off_toast": "Невидимий водяний знак вимкнено для нового аудіо.",
|
||
"watermark_failed": "Не вдалося змінити налаштування водяного знака."
|
||
},
|
||
"consent": {
|
||
"title": "Допомогти покращити VoiceStudio?",
|
||
"step_label": "Покращити VoiceStudio",
|
||
"body": "Анонімна статистика використання без вмісту: які рушії використовуються, скільки триває генерація та тип помилок. Ніколи — ваш текст, аудіо, файли чи будь-що, що вас ідентифікує. Нічого не надсилається без вашої згоди, і ви можете змінити рішення будь-коли в Налаштування → Приватність.",
|
||
"learn_more": "Що саме надсилається?",
|
||
"yes": "Так, ділитися анонімною статистикою",
|
||
"no": "Ні, дякую",
|
||
"dismiss": "Закрити (аналітика залишається вимкненою)"
|
||
},
|
||
"langPrompt": {
|
||
"offer": "VoiceStudio відкрився мовою {{language}}. Бажаєте англійську?",
|
||
"switch": "Перемкнути на англійську",
|
||
"keep": "Залишити {{language}}"
|
||
},
|
||
"credentials": {
|
||
"title": "Облікові дані",
|
||
"desc": "Ключі та маркери API встановлено <1>лише для цього сеансу</1>. Для постійності під час перезапусків установіть їх як змінні середовища у своєму профілі оболонки.",
|
||
"hf_token": "Токен HuggingFace",
|
||
"hf_help": "Потрібний для щоденника доповідача та швидшого завантаження моделі. Отримайте свій на huggingface.co/settings/tokens.",
|
||
"translate_key": "Ключ API LLM",
|
||
"translate_help": "Додатково — для DeepL, OpenAI або платних постачальників послуг перекладу. Не потрібно для Google Translate (безкоштовний рівень).",
|
||
"save": "зберегти",
|
||
"saved": "✓ Набір",
|
||
"not_set": "✗ Не встановлено",
|
||
"get_token": "Отримати маркер →",
|
||
"saved_session": "{{key}} збережено для цього сеансу",
|
||
"save_failed": "Не вдалося зберегти",
|
||
"save_error": "Не вдалося зберегти: {{message}}",
|
||
"deepl_key": "Ключ API DeepL",
|
||
"deepl_help": "Для системи перекладу DeepL. Отримайте свій ключ на deepl.com/pro-api.",
|
||
"deepl_base_url": "Базова URL-адреса DeepL",
|
||
"deepl_base_url_help": "Спеціальна кінцева точка DeepL API (за замовчуванням: https://api.deepl.com/v2). Змінити на проксі/самостійне розміщення.",
|
||
"microsoft_key": "Ключ перекладача Microsoft",
|
||
"microsoft_help": "Для двигуна Microsoft Translator. Отримайте свій ключ із порталу Azure.",
|
||
"microsoft_base_url": "URL-адреса бази перекладачів Microsoft",
|
||
"microsoft_base_url_help": "Спеціальна кінцева точка Azure Translator (за замовчуванням: https://api.cognitive.microsofttranslator.com).",
|
||
"llm_base_url": "LLM Base URL",
|
||
"llm_base_url_help": "Для кінематографічної якості або двигуна LLM. Будь-яка кінцева точка, сумісна з OpenAI (OpenAI, Ollama, LM Studio тощо).",
|
||
"llm_model": "Модель LLM",
|
||
"llm_model_help": "Назва моделі для використання з механізмом LLM (наприклад, gpt-4o, deepseek-chat, qwen2.5).",
|
||
"group_huggingface": "HuggingFace",
|
||
"group_translate": "Переклад (магістр права / кіно)",
|
||
"group_deepl": "Спеціальна кінцева точка DeepL",
|
||
"group_microsoft": "Спеціальна кінцева точка Microsoft Translator"
|
||
},
|
||
"engines": {
|
||
"banners_on": "Етап банери на",
|
||
"banners_off": "Сценічні банери вимкнуті",
|
||
"backend": "Backend",
|
||
"status": "Статус",
|
||
"ready": "готовий",
|
||
"unavailable": "недоступний",
|
||
"use": "використання",
|
||
"configureProviders": "Налаштувати постачальників",
|
||
"loading": "Завантаження двигунів…",
|
||
"refresh": "Оновити",
|
||
"matrixTitle": "Матриця сумісності двигуна",
|
||
"loadFailed": "Не вдалося завантажити двигуни: {{message}}",
|
||
"couldNotLoad": "Не вдалося завантажити двигуни: {{message}}",
|
||
"retry": "Повторіть спробу",
|
||
"activeEngine": "Активний {{family}}: {{engine}}",
|
||
"engineCompatLabel": "{{family}} сумісність з двигуном",
|
||
"active": "активний",
|
||
"whyUnavailable": "Що потрібно",
|
||
"diskDetails": "Відомості про диск",
|
||
"diskModelDownload": "Завантаження моделі",
|
||
"diskPackageDownload": "Завантаження пакетів",
|
||
"diskUniqueInstalled": "Унікально встановлено",
|
||
"diskPotentiallyShared": "Можливо спільне",
|
||
"diskTemporary": "Тимчасове вільне місце",
|
||
"diskDestination": "Призначення",
|
||
"diskDestination_hf_model_cache": "Том кешу моделей Hugging Face",
|
||
"diskDestination_engine_data": "Том даних рушіїв VoiceStudio",
|
||
"diskActualModel": "Фактична модель",
|
||
"diskActualEnvironment": "Фактичне середовище",
|
||
"diskActualCache": "Фактичний спільний кеш",
|
||
"diskActualTotal": "Фактичний власний підсумок",
|
||
"diskEstimateConfidence": "Достовірність оцінки",
|
||
"diskActualConfidence": "Достовірність вимірювання",
|
||
"diskConfidence_exact": "Точно",
|
||
"diskConfidence_measured": "Виміряно",
|
||
"diskConfidence_estimated": "Оцінено",
|
||
"diskConfidence_unknown": "Невідомо",
|
||
"diskDedup_uv_same_volume": "uv дедуплікує однакові wheels, лише якщо кеш і середовище рушія розташовані на одному томі.",
|
||
"sectionReady": "Готові до використання",
|
||
"sectionMore": "Додати більше двигунів",
|
||
"lastError": "Остання помилка: {{error}}",
|
||
"installedAndReady": "Встановлено і готово",
|
||
"notInstalled": "Не встановлено",
|
||
"available": "в наявності",
|
||
"subprocessTitle": "Працює у власному підпроцесі + venv",
|
||
"inProcessTitle": "Працює в процесі VoiceStudio Python",
|
||
"testEngine": "Тестовий двигун",
|
||
"testing": "Тестування…",
|
||
"recheck": "Повторна перевірка",
|
||
"rechecking": "Повторна перевірка…",
|
||
"latencyMs": "{{ms}} мс",
|
||
"failed": "не вдалося",
|
||
"acceptLicense": "Прийняти ліцензію",
|
||
"noBackends": "Немає зареєстрованих серверних програм.",
|
||
"switch_failed": "Не вдалося перемкнути двигун",
|
||
"routingAccelerated": "GPU активний",
|
||
"routingCpuFallback": "Резервний процесор",
|
||
"routingCpuOnly": "ЦП",
|
||
"routingRemote": "Дистанційний",
|
||
"routingUnknown": "Невідомий",
|
||
"routingEffectiveChip": "Працює на {{device}} на цій машині",
|
||
"routingCaveatTitle": "Графічний процесор вибрано, але: {{reason}}",
|
||
"selectCpuFallback": "{{engine}}: працює на CPU — {{reason}}",
|
||
"selectWithCaveat": "Перемкнено на {{engine}} — {{reason}}",
|
||
"generateCaveat": "{{engine}} може працювати повільно на цьому комп'ютері — {{reason}}",
|
||
"cpuLongText": "Тут {{engine}} працює на CPU, а цей текст довгий — генерація може перевищити ліміт часу. Коротший текст або оптимізований під CPU рушій (OmniVoice GGUF, Supertonic-3) буде значно швидшим.",
|
||
"cpuLongTextTuned": "Тут {{engine}} працює на CPU, а цей текст довгий — генерація може перевищити ліміт часу. Коротший текст або розбиття на кілька частин буде значно швидшим.",
|
||
"familyMatrixTitle": "Рушії {{family}}",
|
||
"familyDesc_tts": "Перетворює сценарій на мовлення. Студія, Дубляж і Пакетна обробка використовують активний рушій.",
|
||
"familyDesc_asr": "Перетворює аудіо на текст для транскрипції, дубляжу, субтитрів і диктування.",
|
||
"familyDesc_llm": "Необов’язковий текстовий помічник для перекладу й переписування. «Вимкнено» пропускає ці кроки.",
|
||
"mpsLongText": "Тут {{engine}} працює на Apple Silicon (MPS), а цей текст довгий — генерація може перевищити ліміт часу. Коротший текст або розбиття на кілька частин буде значно швидшим."
|
||
},
|
||
"capture": {
|
||
"desc": "Глобальні гарячі клавіші працюють лише в настільній програмі. Веб-інтерфейс використовує ярлик <1>Ctrl+Shift+Пробіл</1> на сторінці, коли вікно має фокус.",
|
||
"desc_detail": "Гаряча клавіша працює в системі під час роботи VoiceStudio — вона фокусує вікно та починає диктування. Уникайте комбінацій, які вже заявлені ОС (у macOS <1>⌘+пробіл</1> є Spotlight, а <2>⌘+⇧+пробіл</2> змінює джерела вхідних даних). Якщо реєстрація не вдається, виберіть іншу комбінацію.",
|
||
"active_shortcut": "Активний ярлик",
|
||
"new_shortcut": "Новий ярлик",
|
||
"press_key": "Натисніть комбінацію клавіш…",
|
||
"listening": "⌨︎ прослуховування (Esc для скасування)",
|
||
"record_shortcut": "Ярлик запису",
|
||
"recording": "Запис...",
|
||
"save": "зберегти",
|
||
"reset_default": "Скинути до замовчування",
|
||
"listening_label": "слухаю...",
|
||
"transcribing_label": "Транскрибування…",
|
||
"a11y_setup": "Дозвольте Доступність, щоб диктування могло друкувати за вас",
|
||
"pasted": "Вставив",
|
||
"inserted": "Введено",
|
||
"copied": "Скопійовано в буфер обміну",
|
||
"no_speech": "Мовлення не виявлено",
|
||
"mic_denied": "Доступ до мікрофона заборонено",
|
||
"mic_denied_toast": "Доступ до мікрофона заборонено. {{hint}}",
|
||
"mic_hint_mac": "macOS: open System Settings → Privacy & Security → Microphone and enable VoiceStudio.",
|
||
"mic_hint_windows": "Windows: відкрийте Параметри → Конфіденційність і безпека → Мікрофон, увімкніть «Доступ до мікрофона» та «Дозволити класичним програмам доступ до мікрофона», потім дозвольте VoiceStudio.",
|
||
"mic_hint_linux": "Linux: check that your user is in the audio group and the WebView has mic access.",
|
||
"transcription_failed": "Помилка транскрипції: {{message}}",
|
||
"mic_not_found": "Мікрофон не знайдено. Підключіть або ввімкніть мікрофон і спробуйте ще раз.",
|
||
"mic_in_use": "Мікрофон зайнятий або недоступний. Закрийте інші програми, які можуть його використовувати, і спробуйте ще раз.",
|
||
"mic_error_generic": "Не вдалося запустити мікрофон: {{message}}"
|
||
},
|
||
"logs": {
|
||
"no_tauri_log": "На диску ще немає входу Tauri — запустіть його через збірку настільного комп’ютера, щоб створити його",
|
||
"empty_frontend": "Записи зовнішньої консолі ще не зафіксовано. Взаємодійте з програмою — тут з’являться всі консолі.*.",
|
||
"empty_tauri": "Немає журналу Tauri. Працює лише в оболонці робочого столу.",
|
||
"empty_backend": "Журнал виконання порожній. Діяльність відображатиметься тут, оскільки серверна система реєструватиме її.",
|
||
"title": "Журнали",
|
||
"source_backend": "Backend",
|
||
"source_frontend": "Інтерфейс",
|
||
"source_tauri": "Телець",
|
||
"expand": "Розгорнути журнали",
|
||
"collapse": "Згорнути журнали",
|
||
"expand_aria": "Розгорнути панель журналів",
|
||
"collapse_aria": "Згорнути панель журналів",
|
||
"drag_resize": "Перетягніть, щоб змінити розмір",
|
||
"refresh": "Оновити",
|
||
"refresh_aria": "Оновити журнали",
|
||
"copy_visible": "Копіювати видимий журнал",
|
||
"copy_visible_aria": "Копіювати видимий журнал",
|
||
"clear": "ясно",
|
||
"clear_aria": "Очистити журнал",
|
||
"report_issue": "Повідомити про проблему (діагностика копіювання)",
|
||
"report_issue_aria": "Повідомити про проблему",
|
||
"close": "Закрити",
|
||
"close_aria": "Закрити панель журналів",
|
||
"join_discord": "Приєднуйтесь до нашого Discord",
|
||
"join_discord_aria": "Приєднуйтесь до нашої спільноти Discord",
|
||
"support_project": "Підтримайте цей проект",
|
||
"support_project_aria": "Підтримайте цей проект",
|
||
"empty_frontend_short": "Ще немає вихідних даних для зовнішньої консолі.",
|
||
"empty_lines": "Ніяких ліній.",
|
||
"all_clear": "✅ Все чітко — проблем не виявлено",
|
||
"log_cleared": "Журнал {{source}} очищено",
|
||
"clear_failed": "Помилка очищення: {{message}}",
|
||
"log_copied": "Скопійовано журнал {{source}}",
|
||
"copy_failed": "Помилка копіювання: {{message}}",
|
||
"report_copied": "Діагностичний звіт скопійовано — вставте його у випуск GitHub.",
|
||
"report_failed": "Помилка звіту: {{message}}",
|
||
"version_updates": "Перевірте наявність оновлень",
|
||
"version_updates_aria": "Відкрити оновлення — версія програми {{v}}",
|
||
"update_available": "Доступне оновлення ({{version}}) — натисніть, щоб оновити",
|
||
"update_available_aria": "Доступне оновлення ({{version}}) — відкрити оновлення",
|
||
"contact": "контакт",
|
||
"contact_aria": "Відкрийте сторінку контактів"
|
||
},
|
||
"voice_profile": {
|
||
"test_text": "Привіт — це перевірка цього голосу.",
|
||
"not_found": "Голос не знайдено.",
|
||
"needs_name": "Для голосового профілю потрібна назва.",
|
||
"saved": "Збережено",
|
||
"save_failed": "Не вдалося зберегти: {{message}}",
|
||
"delete_confirm": "Видалити \"{{name}}\" остаточно? Це також видаляє еталонний аудіо на диску.",
|
||
"deleted": "Голос видалено",
|
||
"delete_failed": "Не вдалося видалити: {{message}}",
|
||
"unlock_confirm": "Розблокувати цей голос? Майбутні покоління більше не будуть бітово відтворюваними.",
|
||
"unlocked": "Голос розблоковано",
|
||
"unlock_failed": "Не вдалося розблокувати: {{message}}",
|
||
"gen_failed": "Помилка генерації: {{message}}",
|
||
"designed": "Розроблено",
|
||
"cloned": "Клонований",
|
||
"edit": "Редагувати",
|
||
"name_placeholder": "Голосове ім'я",
|
||
"locked": "Заблоковано",
|
||
"free": "безкоштовно",
|
||
"locked_ref": "Заблоковане посилання",
|
||
"ref_audio": "Довідкове аудіо",
|
||
"details": "Подробиці",
|
||
"style_instruct": "Інструктаж по стилю",
|
||
"style_placeholder": "напр. шепіт, схвильований, ніжний",
|
||
"language": "Мова",
|
||
"ref_transcript": "Довідкова розшифровка",
|
||
"ref_help": "Що говорить довідковий аудіо. Використовується для підвищення точності клонування.",
|
||
"locked_explain": "Цей голос бітово відтворюється. Кожне покоління використовує те саме посилання + початкове значення.",
|
||
"unlock": "Розблокувати",
|
||
"try_voice": "Спробуйте цей голос",
|
||
"test_phrase": "Тестова фраза",
|
||
"test_help": "Введіть що завгодно — ми згенеруємо його з поточними налаштуваннями цього голосу.",
|
||
"test_placeholder": "Введіть щось, щоб почути цей голос…",
|
||
"gen_preview": "Створити попередній перегляд",
|
||
"generating": "Створення…",
|
||
"used_title": "Де використовувався цей голос",
|
||
"used_empty": "Цей голос ще не використовувався. Згенеруйте попередній перегляд вище або виберіть його в дубляжі.",
|
||
"synth_clips_one": "{{count}} синтезаторний кліп",
|
||
"synth_clips_other": "{{count}} синтезаторні кліпи",
|
||
"projects_count_one": "{{count}} проект",
|
||
"projects_count_other": "{{count}} проектів",
|
||
"dubbed_segments_one": "{{count}} дубльований сегмент",
|
||
"dubbed_segments_other": "{{count}} дубльованих сегментів",
|
||
"verified": "Перевірено",
|
||
"persona_export": "Експорт персони",
|
||
"persona_exporting": "Формування особистості…",
|
||
"persona_exported": "Персона експортована",
|
||
"persona_export_no_audio": "У цього голосу немає читабельного аудіо для створення попереднього перегляду.",
|
||
"persona_export_failed": "Помилка експорту.",
|
||
"persona_include_ref": "Включити голосовий кліп",
|
||
"persona_include_ref_hint": "Додайте необроблений довідковий кліп. Вимкнено = ділитися лише попереднім переглядом із водяним знаком (рекомендовано).",
|
||
"consent_title": "Володіння голосом",
|
||
"consent_explain": "Запишіть, як ви читаєте заяву нижче, щоб переконатися, що це ваш власний голос. Перевірка буде потрібна для агентських функцій і спільного доступу — ніколи для локального синтезу.",
|
||
"consent_statement": "Я підтверджую, що цей голосовий профіль є моїм власним голосом, і я даю згоду на клонування VoiceStudio його від мого імені.",
|
||
"consent_record": "Записати заяву про згоду",
|
||
"consent_stop": "Зупинити запис",
|
||
"consent_saved": "Право власності на голос підтверджено",
|
||
"consent_failed": "Помилка перевірки: {{message}}",
|
||
"consent_verified_explain": "Ви записали заяву про згоду {{date}}. Відкликання видаляє запис і підтверджений статус.",
|
||
"consent_revoke": "Відкликати",
|
||
"consent_revoke_confirm": "Скасувати підтвердження права власності? Запис згоди буде видалено, і функції агента більше не зможуть використовувати цей голос.",
|
||
"consent_revoked": "Перевірку скасовано"
|
||
},
|
||
"dub": {
|
||
"install_engine_pkg": "Встановити {{pkg}}",
|
||
"needs_install_short": "Потрібне встановлення",
|
||
"install_popover_title": "Встановити цей рушій",
|
||
"install_popover_frozen_body": "Ця пакетна збірка не може встановлювати рушії — її середовище Python лише для читання та підписане. Виконайте команду нижче у встановленні з вихідного коду або перемкніться на вбудований рушій Argos.",
|
||
"switch_to_argos": "Перемкнутися на Argos (вбудований, офлайн)",
|
||
"copy_command": "Копіювати команду",
|
||
"install_cmd_copied": "Команду скопійовано",
|
||
"dismiss_error": "Закрити",
|
||
"transcribe": "Транскрибувати",
|
||
"translate": "Перекласти",
|
||
"generate": "Генерувати",
|
||
"export": "Експорт",
|
||
"no_video": "Відео не завантажено",
|
||
"segments": "сегменти",
|
||
"speakers": "колонки",
|
||
"video_dubbing_studio": "Студія дубляжу відео",
|
||
"drop_here": "Перетягніть відео або аудіо сюди",
|
||
"paste_url": "…або вставте URL-адресу YouTube/відео",
|
||
"ingest": "Проковтнути",
|
||
"pull_captions": "Витягніть субтитри YouTube + автоматичний переклад",
|
||
"batch_queue_link": "Дублюєте багато відео? Відкрийте пакетну чергу",
|
||
"youtube_auth": "Вхід у YouTube (необов’язково)",
|
||
"youtube_cookie_file": "Вибрати експорт cookies.txt",
|
||
"remove_cookie_file": "Видалити файл cookie",
|
||
"cookie_transport_error": "Для експорту cookie потрібен HTTPS або локальний застосунок.",
|
||
"cookie_size_error": "Розмір експорту cookie не повинен перевищувати 1 МБ.",
|
||
"save": "зберегти",
|
||
"reset": "Скинути",
|
||
"save_project": "Зберегти проект",
|
||
"change_file": "Змінити файл",
|
||
"import_srt": "Імпорт .srt",
|
||
"import_srt_alt": "Натомість імпортуйте .srt",
|
||
"cast": "КАСТИ",
|
||
"speaker": "Доповідач {{n}}:",
|
||
"default": "За замовчуванням",
|
||
"language": "Мова",
|
||
"auto": "Авто",
|
||
"iso_code": "Код ISO",
|
||
"style": "Стиль",
|
||
"style_placeholder": "напр. жіноча",
|
||
"optional": "необов'язковий",
|
||
"translate_all": "Перекласти все",
|
||
"translating": "Переклад…",
|
||
"retranslate": "Перекласти",
|
||
"transcript": "Стенограма",
|
||
"generate_dub": "Згенерувати Dub",
|
||
"export_mp4": "MP4",
|
||
"export_wav": "WAV",
|
||
"export_srt": "SRT",
|
||
"upload_transcribe": "Завантажити та транскрибувати",
|
||
"multi_lang": "Багатомовний",
|
||
"prep_download": "Завантаження відео…",
|
||
"prep_extract": "Вилучення аудіо…",
|
||
"prep_demucs": "Розділення вокалу/музики (Demucs)…",
|
||
"prep_scene": "Виявлення фрагментів сцени…",
|
||
"prep_cached": "Використання кешованих результатів…",
|
||
"prep_preparing": "Підготовка…",
|
||
"prep_chip_download": "завантажити",
|
||
"prep_chip_extract": "екстракт",
|
||
"prep_chip_demucs": "демуки",
|
||
"prep_chip_scene": "сцена",
|
||
"prep_chip_cached": "кешується",
|
||
"prep_demucs_note": "Demucs може займати кілька хвилин для довгих відео. Довге аудіо = довше чекати.",
|
||
"transcribing": "Транскрибування аудіо…",
|
||
"elapsed": "минув",
|
||
"remaining": "s залишилося",
|
||
"sidebar_toggle": "Перемкнути бічну панель",
|
||
"retry_transcription": "Повторити транскрипцію",
|
||
"supported_formats": "MP4 · MOV · MKV · WEBM · MP3 · WAV · FLAC · M4A",
|
||
"pull_captions_title": "Якщо URL-адреса є хостом із субтитрами (YouTube, Vimeo, TED…), також витягніть оригінальні субтитри та будь-які автоматичні переклади YouTube. Засідає редактор без запуску Whisper; пропустити Перекласти все для мов, які вже охоплює YouTube.",
|
||
"time_col": "час",
|
||
"spkr_col": "Spkr",
|
||
"text_col": "текст",
|
||
"voice_col": "Голос",
|
||
"segs": "сегменти",
|
||
"preview": "Попередній перегляд",
|
||
"original_audio": "Оригінал",
|
||
"dubbed_audio": "Дубльований ({{code}})",
|
||
"first_play_hint": "перше відтворення може зайняти деякий час для мультиплексування",
|
||
"cast_title": "Призначте голос кожному виявленому динаміку. Міжмовні клони зберігають ту саму ідентичність мовця новою мовою.",
|
||
"from_video": "🎤 З відео · {{duration}}s",
|
||
"clone_profiles": "Профілі клонів",
|
||
"design_presets": "Попередні налаштування дизайну",
|
||
"casting_board": "Кастинг-дошка",
|
||
"casting_board_hint": "Відкрити кастинг-дошку — перетягніть голос на мовця",
|
||
"casting_voices": "Голоси",
|
||
"casting_drag_hint": "Перетягніть плашку голосу на мовця або натисніть Enter на мовці, щоб вибрати зі списку.",
|
||
"casting_assign_to": "Призначити голос для {{speaker}}",
|
||
"casting_assigned": "{{voice}} призначено для {{speaker}}",
|
||
"edit_settings": "Редагувати налаштування перекладу",
|
||
"style_label_prefix": "стиль:",
|
||
"collapse_settings": "Згорнути налаштування перекладу",
|
||
"quality_label": "якість",
|
||
"quality_title": "Кінематографічний = 3-етапне вдосконалення LLM (перекласти → відобразити → адаптувати). Потрібно налаштувати LLM.",
|
||
"fast_quality": "швидко",
|
||
"cinematic_quality": "Кінематографічний",
|
||
"auto_glossary_label": "Автоглосарій",
|
||
"auto_glossary_title": "Додатковий прохід LLM читає всю транскрипцію та видобуває тему відео й ключові терміни, щоб імена та термінологія залишалися однаковими в усіх сегментах. Ваші ручні записи глосарія завжди мають пріоритет.",
|
||
"reflect_label": "Прохід рефлексії",
|
||
"reflect_title": "Після прямого перекладу кожного сегмента LLM критикує його та переписує в природне розмовне мовлення. Використовує 3 виклики LLM на сегмент замість 1; якщо доопрацювання не вдалося, зберігається прямий переклад.",
|
||
"restore": "↺ Відновити",
|
||
"restore_title": "Відновити всі сегменти до оригінального транскрибованого тексту",
|
||
"clean_up": "Очищення",
|
||
"clean_up_title": "Злийте крихітні фрагменти та сусідні короткі сегменти",
|
||
"popular": "Популярний",
|
||
"all_languages": "Всі мови",
|
||
"engine_label": "Двигун",
|
||
"install_engine": "Встановіть цей двигун",
|
||
"installing_engine": "… встановлення",
|
||
"needs_dev_install": "потребує інсталяції розробника",
|
||
"install_disabled_title": "У пакетних збірках встановлення вимкнено",
|
||
"needs_install_suffix": "— потребує встановлення",
|
||
"glossary_title": "Закріпити переклади повторюваних термінів (імен, слів брендів, жаргону)",
|
||
"glossary_btn": "+ Глосарій ({{count}})",
|
||
"selected_count": "Вибрано {{count}}",
|
||
"set_voice": "Налаштувати голос…",
|
||
"clear_voice": "⊘ За замовчуванням",
|
||
"set_lang": "Встановити мову…",
|
||
"default_lang": "(за умовчанням)",
|
||
"delete_selected": "Видалити",
|
||
"clear_selection": "ясно",
|
||
"tracks_done": "Готово! Доріжки: {{tracks}}",
|
||
"segments_changed": "{{count}} сегмент(ів) змінено з моменту останнього створення",
|
||
"all_up_to_date": "усі сегменти {{count}} актуальні",
|
||
"output_options": "Параметри виведення:",
|
||
"mix_bg_audio": "Мікс BG Audio",
|
||
"dual_subs": "Подвійні субтитри",
|
||
"dual_subs_title": "Експортуйте субтитри з перекладеним текстом угорі та оригіналом, виділеним курсивом під ним.",
|
||
"burn_subs": "Записати субтитри",
|
||
"burn_subs_title": "Рендер субтитрів безпосередньо у відеопотік MP4 (хардсуб). Використовує формат подвійних субтитрів, коли ввімкнено подвійні субтитри.",
|
||
"timing_smart_fit": "Розумне підлаштування",
|
||
"timing_smart_fit_title": "Розподіляє підлаштування: трохи пришвидшує звук (зі збереженням висоти тону, до 1,5×) і трохи сповільнює цей фрагмент відео (до 2×), щоб мовлення в природному темпі вмістилося. Надлишок понад ліміти обрізається й позначається. Експорт перекодовує відео.",
|
||
"voice_match": "Збіг голосу:",
|
||
"voice_match_title": "Збіг голосу — клонувати кожну репліку з її власного вихідного фрагмента чи всі репліки одного мовця використовують один спільний зразок.",
|
||
"voice_match_per_line": "Порядково",
|
||
"voice_match_per_line_title": "Кожна репліка клонується з фрагмента її власного вихідного звуку. Найкраща просодія для кожної репліки, але ідентичність голосу може пливти від репліки до репліки.",
|
||
"voice_match_consistent": "Узгоджений",
|
||
"voice_match_consistent_title": "Усі репліки мовця клонуються з одного спільного зразка (клон мовця або найкращий одиночний фрагмент, якщо клона немає). Стабільніший голос упродовж усього дубляжу.",
|
||
"timing_lip_sync": "Синхронізація губ",
|
||
"default_track": "Доріжка за замовчуванням:",
|
||
"original_track": "Оригінал",
|
||
"selected_dub": "{{code}} (вибраний дубляж)",
|
||
"dub_track": "{{code}} (дубляж)",
|
||
"export_tracks": "Експорт треків:",
|
||
"stopping": "Зупинка…",
|
||
"stop_progress": "Зупинити ({{current}}/{{total}})",
|
||
"regen_changed": "Regen {{count}} змінено",
|
||
"export_btn": "Експорт…",
|
||
"prep_stop": "Стоп",
|
||
"install_progress": "Встановлення {{engine}}…",
|
||
"install_restart": "{{engine}} встановлено. Перезапустіть серверну частину, щоб завантажити її.",
|
||
"install_already": "{{engine}} вже встановлено",
|
||
"install_ok": "{{engine}} встановлено",
|
||
"install_failed": "Помилка встановлення: {{message}}",
|
||
"prep_elapsed": "{{time}} минуло",
|
||
"add_language": "Додайте мову",
|
||
"search_languages": "Пошук мов…",
|
||
"languages_selected_one": "Вибрано {{count}} мову",
|
||
"languages_selected_other": "Вибрано {{count}} мов",
|
||
"more_to_narrow": "+{{count}} більше — введіть, щоб звузити",
|
||
"no_matches": "Немає збігів",
|
||
"diagnostic_copied": "Діагностику скопійовано",
|
||
"copy_failed": "Помилка копіювання",
|
||
"open_docs": "Відкрити документи",
|
||
"copy_diagnostic": "Діагностика копії",
|
||
"dialect_label": "Діалект",
|
||
"dialect_default": "Типовий",
|
||
"dialect_title": "Регіональний діалект і лексика перекладу (напр. Аргентина → “vos sos” замість “tú eres”). Застосовується рушіями LLM (OpenAI/Ollama) та якістю Cinematic.",
|
||
"num_speakers_label": "Мовці",
|
||
"num_speakers_auto": "Авто",
|
||
"num_speakers_help": "Скільки мовців у цьому відео? Залиште порожнім для автовизначення. Вкажіть число, якщо автовизначення об'єднує кількох мовців в одного.",
|
||
"advanced": "Розширені",
|
||
"cinematic_needs_llm_hint": "Для кінематографічної якості потрібен LLM. Налаштуйте його в Налаштування → Облікові дані → LLM endpoint (Ollama працює локально, ключ не потрібен).",
|
||
"generate_dub_multi": "Згенерувати {{count}} дублів",
|
||
"pipeline": "Конвеєр дубляжу",
|
||
"preview_language": "Мова попереднього перегляду",
|
||
"target_language": "Дублювати мовою",
|
||
"source_language": "Мова оригіналу",
|
||
"retry_failed": "Повторити {{count}} невдалих",
|
||
"skip_failed": "Пропустити невдалі",
|
||
"transcript_after_extract": "Стенограма з’явиться після вилучення.",
|
||
"qc_btn": "Перевірте синхронізацію дубляжу (перевірка другого проходу)",
|
||
"verify": "Перевірити",
|
||
"qc_running": "Перевірка часу дубляжу…",
|
||
"qc_result": "{{flagged}} з {{total}} рядків може знадобитися переслухати",
|
||
"qc_clean": "Усі {{total}} рядки відповідають сценарію",
|
||
"qc_failed": "Помилка перевірки часу: {{message}}",
|
||
"paste_translation_btn": "Вставити переклад",
|
||
"paste_translation_title": "Вставити переклад",
|
||
"paste_translation_desc": "Вставте переклад, зроблений деінде (ChatGPT, DeepL, живий перекладач). Він накладеться на наявні сегменти — таймінги й початкова транскрипція лишаться незмінними.",
|
||
"paste_translation_placeholder": "Вставте субтитри (SRT/VTT), нумеровані рядки (1. …) або по одному перекладеному рядку на сегмент — чи перетягніть сюди файл .srt/.vtt.",
|
||
"paste_translation_load_file": "Завантажити файл .srt / .vtt",
|
||
"paste_translation_mode_timestamped": "З таймкодами (SRT/VTT)",
|
||
"paste_translation_mode_numbered": "Нумеровані рядки",
|
||
"paste_translation_mode_plain": "Звичайні рядки",
|
||
"paste_translation_counts": "{{segments}} сегментів · {{lines}} рядків · {{unmatched}} без відповідності",
|
||
"paste_translation_unused": "Невикористаних вставлених рядків: {{count}}",
|
||
"paste_translation_none_matched": "Нічого не збіглося. Перевірте, чи вставлений текст відповідає сегментам нижче.",
|
||
"paste_translation_row_unmatched": "немає відповідності — без змін",
|
||
"paste_translation_apply": "Застосувати до {{count}} сегментів",
|
||
"paste_translation_cancel": "Скасувати",
|
||
"paste_translation_more_rows": "+ ще {{count}} рядків",
|
||
"languages_selected": "Вибрано {{count}} мов",
|
||
"multi_translating": "Переклад → {{lang}} ({{current}}/{{total}})…",
|
||
"multi_lang_skipped": "Не вдалося перекласти {{langs}}. Ці доріжки пропущено, щоб не створити дубляж неправильною мовою.",
|
||
"manage_languages": "Керувати мовами",
|
||
"languages_done": "Готово",
|
||
"languages_pending": "Очікує",
|
||
"live_preview": "Прослуховування наживо",
|
||
"live_preview_title": "Слухайте рядок під час редагування — змінений сегмент після короткої паузи стрімить TTS голосом із CAST. Лише відтворення: нічого не зберігається, експорт і далі рендериться в повній якості.",
|
||
"live_preview_pick_voice": "Призначте голос CAST цьому рядку або його мовцеві, щоб почути прослуховування наживо."
|
||
},
|
||
"glossary": {
|
||
"title": "Глосарій",
|
||
"load_error": "Не вдалося завантажити глосарій: {{message}}",
|
||
"needs_project": "Глосарію потрібен завантажений проект.",
|
||
"add_error": "Не вдалося додати: {{message}}",
|
||
"update_error": "Помилка оновлення: {{message}}",
|
||
"delete_error": "Не вдалося видалити: {{message}}",
|
||
"clear_auto_confirm": "Видалити всі автоматично витягнуті терміни? Ручні записи зберігаються.",
|
||
"clear_error": "Помилка очищення: {{message}}",
|
||
"pick_target": "Спочатку виберіть мову перекладу.",
|
||
"no_segments": "Немає сегментів для сканування.",
|
||
"auto_empty": "Автоматичне вилучення не знайшло нових умов.",
|
||
"auto_added_one": "Додано {{count}} автоматичний термін. Перегляньте та відредагуйте перед перекладом.",
|
||
"auto_added_other": "Додано {{count}} автоматичних термінів. Перегляньте та відредагуйте перед перекладом.",
|
||
"auto_error": "Помилка автоматичного вилучення: {{message}}",
|
||
"count": "{{count}} умови",
|
||
"count_one": "{{count}} термін",
|
||
"count_other": "{{count}} умови",
|
||
"auto_count": "{{count}} авто",
|
||
"auto_title": "Попросіть LLM сканувати сегменти на наявність власних іменників + термінів, що повторюються",
|
||
"auto_btn": "Авто",
|
||
"clear_auto_title": "Видаліть усі терміни, витягнуті автоматично, збережіть терміни, створені вручну",
|
||
"clear_auto_btn": "Очистити авто",
|
||
"empty_save": "Збережіть дубляж як проект, щоб почати глосарій.",
|
||
"source": "Джерело",
|
||
"target": "Цільова",
|
||
"note": "Примітка",
|
||
"no_terms": "Умов ще немає. Додайте один нижче або натисніть «Авто».",
|
||
"source_placeholder": "Джерело ({{lang}})",
|
||
"target_placeholder": "Ціль ({{lang}})",
|
||
"note_placeholder": "Примітка (необов'язково)",
|
||
"add_term": "Додайте термін",
|
||
"hint": "Glossary is injected into every Cinematic translate prompt. Ручні записи мають перевагу.",
|
||
"auto_badge": "авто",
|
||
"manual_badge": "посібник",
|
||
"close": "Згорнути глосарій"
|
||
},
|
||
"segment": {
|
||
"time": "час",
|
||
"spkr": "Spkr",
|
||
"text": "текст",
|
||
"lang": "ланг",
|
||
"voice": "Голос",
|
||
"vol": "том",
|
||
"vol_title": "Гучність (0–200%)",
|
||
"search_placeholder": "Шукати текст…",
|
||
"all_speakers": "Усі спікери",
|
||
"select_all_title": "Виберіть усі відфільтровані",
|
||
"sel_count": "{{count}} сел",
|
||
"select_title": "Виберіть сегмент (Shift+клацніть для діапазону)",
|
||
"sync_title": "Згенероване аудіо становить {{pct}}% тривалості оригіналу",
|
||
"sync_label": "Синхронізація: {{pct}}%",
|
||
"rate_title": "Підгонка швидкості мовлення: {{ratio}}× відносно слота{{error}}",
|
||
"speaker_id": "ID спікера",
|
||
"translate_error_title": "Помилка перекладу: {{error}}",
|
||
"translate_degraded_title": "Перекладено (просто) — етап шліфування пропущено: {{reason}}",
|
||
"budget_title": "Текст становить {{pct}}% від оригіналу — подумайте про більшу швидкість або коротші фрази",
|
||
"text_title": "Cmd/Ctrl+D, щоб розділити курсор · Cmd/Ctrl+M, щоб об’єднати з наступним · Cmd/Ctrl+Shift+M, щоб об’єднати з попереднім",
|
||
"orig_label": "ориг",
|
||
"restore_title": "Відновити вихідний текст",
|
||
"lang_default": "(зах.)",
|
||
"voice_default": "За замовчуванням",
|
||
"from_video": "З відео",
|
||
"clone_profiles": "Профілі клонів",
|
||
"design_presets": "Попередні налаштування дизайну",
|
||
"preview_title": "Попередній перегляд",
|
||
"set_direction": "Встановити напрямок…",
|
||
"edit_direction": "Редагувати напрямок…",
|
||
"split_label": "Розділ на курсорі",
|
||
"merge_label": "Об'єднати з наступним",
|
||
"merge_prev_label": "Об'єднати з попереднім",
|
||
"insert_label": "Вставити рядок нижче",
|
||
"direction_title": "Напрямок: {{dir}}",
|
||
"more_actions_title": "Більше дій",
|
||
"speaker_pick": "Виберіть…",
|
||
"speaker_title_detected": "Динамік — виберіть із знайдених або введіть власне ім’я",
|
||
"speaker_title_custom": "Доповідач — введіть ім’я (клонів діаризації не виявлено)",
|
||
"time_edit_title": "Клацніть, щоб змінити час початку (хв:сс.с). Enter, щоб прийняти, Esc, щоб скасувати.",
|
||
"time_edit_end_title": "Клацніть, щоб змінити час завершення (хв:сс.с). Enter, щоб прийняти, Esc, щоб скасувати.",
|
||
"time_nudge_start_earlier": "Пересунути початок на 0,1 секунди раніше",
|
||
"time_nudge_start_later": "Пересунути початок на 0,1 секунди пізніше",
|
||
"time_nudge_end_earlier": "Пересунути завершення на 0,1 секунди раніше",
|
||
"time_nudge_end_later": "Пересунути завершення на 0,1 секунди пізніше",
|
||
"fit_fits": "Підходить",
|
||
"fit_fits_title": "Аудіо з природною швидкістю поміщається в слот.",
|
||
"fit_overflows": "Переповнення +{{seconds}}s",
|
||
"fit_overflows_title": "Перекладений текст був довший за оригінальний слот на {{seconds}}s. Аудіо було жорстко обрізано; скоротіть текст або перемкніть параметри часу на «Розтягнути відео».",
|
||
"fit_stretched": "Відео {{ratio}}×",
|
||
"fit_stretched_title": "Режим розтягнутого відео: відео цього сегменту було сповільнено до {{ratio}}×, щоб відповідати природному дублюванню звуку.",
|
||
"fit_slowed": "уповільнено {{ratio}}×",
|
||
"fit_slowed_title": "Дубльована репліка коротша за свій інтервал — уповільнена {{ratio}}× (висота збережена), щоб мовлення покривало оригінальний час, а не лишало прогалину",
|
||
"fit_compressed_title": "Аудіо TTS займає {{pct}}% слота — сильно стиснуте.",
|
||
"fit_audio_title": "Аудіо вміщується в слот.",
|
||
"fit_ratio_title": "Аудіо TTS займає {{pct}}% слота.",
|
||
"qc_verify": "Підтвердити",
|
||
"qc_verify_title": "ASR другого проходу почула: \"{{heard}}\" — переслухайте або дублюйте цей рядок.",
|
||
"live_play_title": "Стрімити цей рядок зараз (наживо)",
|
||
"live_stop_title": "Зупинити прослуховування наживо"
|
||
},
|
||
"timeline": {
|
||
"track_label": "Шкала сегментів",
|
||
"keyboard_hint": "Стрілки вибирають сегмент · Enter перемикає режим редагування · Delete видаляє · S прив'язує до найближчого початку мовлення",
|
||
"segment_aria": "Сегмент {{index}}: з {{start}} до {{end}}",
|
||
"overlap_warning": "Перекривається із сусіднім сегментом — обидві репліки звучатимуть одночасно",
|
||
"moved_announce": "Сегмент {{index}} переміщено на {{start}}",
|
||
"resized_announce": "Сегмент {{index}}: з {{start}} до {{end}}",
|
||
"deleted_announce": "Сегмент {{index}} видалено",
|
||
"snapped_announce": "Край прив'язано до початку мовлення о {{time}}",
|
||
"edit_mode_on": "Режим редагування: стрілки зсувають початок, Shift — кінець, Alt — весь сегмент, Esc — завершити",
|
||
"edit_mode_off": "Режим редагування вимкнено",
|
||
"play_slot": "Відтворити цей фрагмент",
|
||
"preview_dub": "Прослухати дубляж тут"
|
||
},
|
||
"voice": {
|
||
"personality": "Особистість",
|
||
"pick_personality": "Виберіть налаштування особистості…",
|
||
"instruct": "Інструктувати",
|
||
"reference_text": "Довідковий текст",
|
||
"language": "Мова",
|
||
"generate": "Генерувати",
|
||
"name": "Ім'я"
|
||
},
|
||
"tools": {
|
||
"title": "Інструменти",
|
||
"desc": "Обробка аудіо, конвертація форматів і утиліти",
|
||
"directorial_ai": "Директор А.І",
|
||
"directorial_desc": "Введіть напрямок природної мови — перегляньте маркери таксономії, з якими він зіставляється + інструкцію TTS + підказку перекладу + зміщення швидкості мовлення.",
|
||
"direction": "Напрямок",
|
||
"parse": "Розібрати",
|
||
"method": "метод:",
|
||
"tts_instruct": "tts інструкція:",
|
||
"translate_hint": "підказка перекладу:",
|
||
"rate_bias": "зміщення ставок:",
|
||
"tokens": "жетони",
|
||
"taxonomy": "таксономія",
|
||
"speech_rate_fit": "Відповідність швидкості мовлення",
|
||
"speech_rate_desc": "Перевірте порівняння перекладеного рядка з часовим інтервалом.",
|
||
"translated_line": "Перекладений рядок",
|
||
"slot_seconds": "Слот (секунди)",
|
||
"target_language": "Цільова мова",
|
||
"fit": "Fit",
|
||
"ratio": "співвідношення:",
|
||
"attempts": "спроби:",
|
||
"result": "результат:",
|
||
"probe_file": "Зондовий файл",
|
||
"probe_desc": "ffprobe wrapper — перевірка кодеків, потоків, бітової глибини, тривалості.",
|
||
"absolute_path": "Абсолютний шлях",
|
||
"probe": "Зонд",
|
||
"probe_placeholder": "/Users/you/Movies/sample.mp4",
|
||
"probe_failed": "Помилка перевірки: {{message}}",
|
||
"parse_failed": "Помилка аналізу: {{message}}",
|
||
"fit_failed": "Помилка підгонки: {{message}}"
|
||
},
|
||
"projects": {
|
||
"title": "Проекти",
|
||
"empty": "Проектів ще немає",
|
||
"create": "Новий проект",
|
||
"all": "всі",
|
||
"dub_projects": "Дуб проекти",
|
||
"voice_profiles": "Голосові профілі",
|
||
"transcripts": "Стенограми",
|
||
"history": "історія",
|
||
"exports": "Експорт",
|
||
"search_placeholder": "Пошук дубляжів, клонів, розшифровок, експорту…",
|
||
"card_grid": "Карткова сітка",
|
||
"list": "Список",
|
||
"no_matches": "Немає збігів для \"{{query}}\"",
|
||
"empty_hint": "Тут ще нічого немає. Почніть дубляж, створіть голос або створіть аудіо, щоб побачити, як він з’явиться.",
|
||
"generated_audio": "Згенероване аудіо",
|
||
"export": "Експорт",
|
||
"transcription": "Транскрипція",
|
||
"designed_voice": "Розроблений голос",
|
||
"cloned_voice": "Клонований голос",
|
||
"stories": "оповідання",
|
||
"untitled_story": "Розповідь без назви",
|
||
"story_lines": "{{count}} рядок",
|
||
"story_lines_plural": "{{count}} рядків",
|
||
"story_voices": "{{count}} голос",
|
||
"story_voices_plural": "{{count}} голосів",
|
||
"audiobooks": "Аудіокниги",
|
||
"audiobook": "Аудіокнига",
|
||
"story": "Розповідь"
|
||
},
|
||
"batch": {
|
||
"title": "Пакетний дубляж",
|
||
"active": "Активний",
|
||
"completed": "Виконано",
|
||
"failed": "Не вдалося",
|
||
"back": "← Назад",
|
||
"refresh": "Оновити",
|
||
"add_videos": "Додати відео",
|
||
"file_input_label": "Вибрати відеофайли",
|
||
"cancel": "Скасувати",
|
||
"delete": "Видалити",
|
||
"no_active": "Немає активних вакансій.",
|
||
"no_completed": "Останнім часом нічого не завершено.",
|
||
"no_failed": "Жодних невдалих завдань — насолоджуйтесь тишею.",
|
||
"drop_hint": "Перетягніть відео вище, щоб розпочати пакетний дубляж.",
|
||
"enqueue_failed": "Не вдалося поставити в чергу {{name}}: {{message}}",
|
||
"enqueued": "{{count}} відео додано до черги",
|
||
"job_cancelled": "Job cancelled",
|
||
"cancel_failed": "Не вдалося скасувати: {{message}}",
|
||
"job_deleted": "Роботу видалено",
|
||
"delete_failed": "Не вдалося видалити: {{message}}",
|
||
"completed_in": "Виконано {{duration}} р.",
|
||
"seg": "сегмент {{current}}/{{total}}",
|
||
"stage_extract": "🎬 Вилучення аудіо…",
|
||
"stage_transcribe": "📝 Транскрибування…",
|
||
"stage_translate": "🌐 Переклад…",
|
||
"stage_generate": "🗣️ Створення мови…",
|
||
"stage_mix": "🎛️ Мікшування аудіо…",
|
||
"stage_complete": "✅ Повністю",
|
||
"status_queued": "в черзі",
|
||
"status_running": "біг",
|
||
"status_done": "зроблено",
|
||
"status_failed": "не вдалося",
|
||
"status_cancelled": "скасовано",
|
||
"add_to_queue_title": "Додати відео в чергу",
|
||
"drop_hint_text": "Перетягніть відеофайли сюди або натисніть, щоб переглянути",
|
||
"drop_formats": "MP4 · MOV · MKV · WEBM",
|
||
"files_kicker": "ФАЙЛИ ({{count}})",
|
||
"file_size_mb": "{{size}} Мб",
|
||
"target_languages": "ЦІЛЬОВІ МОВИ",
|
||
"voice_kicker": "ГОЛОС",
|
||
"default_option": "За замовчуванням",
|
||
"clone_profiles": "Профілі клонів",
|
||
"presets": "Предустановки",
|
||
"preserve_bg": "Збереження фонового звуку (музика/FX)",
|
||
"estimate": "{{videos}} відео × {{langs}} мов = {{jobs}} вакансій",
|
||
"select_files_langs": "Виберіть файли та мови",
|
||
"add_to_queue": "Додати в чергу",
|
||
"watch_folder": "Стежити за текою",
|
||
"watching": "Стеження за {{folder}}",
|
||
"watch_paused": "Призупинено — {{folder}}",
|
||
"watch_added": "Автоматично додано: {{count}}",
|
||
"watch_pause": "Призупинити",
|
||
"watch_resume": "Відновити",
|
||
"watch_stop": "Зупинити",
|
||
"watch_started": "Стеження за {{folder}} — нові відео автоматично додаються до черги",
|
||
"watch_unsupported": "Для стеження за текою потрібні настільний застосунок або браузер на основі Chromium — скористайтеся «Додати відео».",
|
||
"watch_failed": "Стеження зупинено — теку більше не можна прочитати (переміщено, видалено або змінено права). Виберіть її знову, щоб продовжити.",
|
||
"watch_start_failed": "Не вдалося почати стеження за цією текою — виберіть її знову, щоб повторити спробу."
|
||
},
|
||
"gallery": {
|
||
"title": "VoiceStudio Галерея",
|
||
"search_placeholder": "Пошук на YouTube…",
|
||
"all_voices": "Усі голоси ({{count}})",
|
||
"no_voices": "Голосів ще немає",
|
||
"download_hint": "Шукайте вище, щоб завантажити кліпи",
|
||
"search_btn": "Пошук",
|
||
"download_btn": "Завантажити",
|
||
"saving": "Збереження…",
|
||
"trim": "Обрізка",
|
||
"delete_confirm": "Видалити цей голосовий запис?",
|
||
"view_mode_list": "Список",
|
||
"view_mode_grid": "Сітка",
|
||
"youtube_results": "Результати YouTube ({{count}})",
|
||
"clone_profile": "Клонувати профіль",
|
||
"crop_audio": "Обрізати аудіо",
|
||
"subtitle": "Сотні готових розроблених голосів — виберіть один і вперед.",
|
||
"zone_archetypes": "Архетипи",
|
||
"zone_imports": "Мій імпорт",
|
||
"all": "всі",
|
||
"favorites": "Вибране",
|
||
"favorite": "улюблений",
|
||
"reset": "Скинути",
|
||
"preview": "Попередній перегляд",
|
||
"use_voice": "Використовуйте голос",
|
||
"more_actions": "Більше дій",
|
||
"use_in_stories": "Використати в Історіях",
|
||
"set_audiobook_default": "Установити як голос за замовчуванням для аудіокниги",
|
||
"open_designer": "Відкрити в Designer",
|
||
"no_matches": "Жоден голос не відповідає цим фільтрам.",
|
||
"load_more": "Завантажте більше",
|
||
"saved_as_profile": "Додано \"{{name}}\" до ваших голосів.",
|
||
"use_failed": "Не вдалося створити цей голос: {{message}}",
|
||
"preview_failed": "Попередній перегляд недоступний: {{message}}",
|
||
"import_explainer": "Вставте URL-адресу, на яку ви маєте права (або завантажте файл), обріжте потрібну частину та збережіть її як голос. Ви несете відповідальність за ліцензування всього, що імпортуєте.",
|
||
"import_placeholder": "Вставте URL-адресу відео/аудіо або введіть для пошуку…",
|
||
"imported_clip": "Імпортований кліп",
|
||
"upload": "Завантажити файл",
|
||
"import": "Імпорт",
|
||
"my_imports": "Мій імпорт",
|
||
"no_imports": "Ще нічого не імпортовано. Вставте URL вище, щоб почати.",
|
||
"search_results": "{{count}} результати",
|
||
"download_failed": "Помилка завантаження: {{msg}}",
|
||
"search_failed": "Пошук не вдався: {{message}}",
|
||
"upload_failed": "Помилка завантаження: {{message}}",
|
||
"save_failed": "Не вдалося зберегти профіль: {{message}}",
|
||
"confirm_delete": "Видалити \"{{name}}\"?",
|
||
"trim_load_failed": "Не вдалося завантажити аудіо для обрізання: {{message}}",
|
||
"delete": "Видалити",
|
||
"community_empty": "Голоси спільноти ще не завантажено — підключіться до інтернету й відкрийте знову, або станьте першим, хто надішле свій.",
|
||
"community_explainer": "Розроблені пресети та записані голоси, якими поділилася спільнота, завантажені з omnivoice-gallery.",
|
||
"no_designer": "Записаний голос — натомість скористайтеся \"Використовуйте голос\".",
|
||
"no_preview": "Немає попереднього перегляду — додайте його через \"Використовуйте голос\", щоб почути.",
|
||
"submit_failed": "Не вдалося відкрити форму подання.",
|
||
"submit_preset": "Надіслати пресет",
|
||
"submit_voice": "Надіслати голос",
|
||
"zone_community": "Спільнота",
|
||
"import_persona": "Імпортуйте пакет персон .ovsvoice",
|
||
"persona_imported": "Імпортовано \"{{name}}\"{{unverified}}.",
|
||
"persona_unverified_suffix": "(неперевірено)",
|
||
"persona_too_large": "Цей пакет завеликий (макс. 100 МБ).",
|
||
"persona_import_failed": "Не вдалося імпортувати цей пакет персон.",
|
||
"filters": "Фільтри"
|
||
},
|
||
"transcriptions": {
|
||
"title": "транскрипції",
|
||
"entries": "{{count}} записів",
|
||
"search_placeholder": "Шукати транскрипції…",
|
||
"export": "Експорт",
|
||
"clear": "ясно",
|
||
"export_title": "Експортувати все",
|
||
"clear_title": "Очистити все",
|
||
"empty_title": "Транскрипцій ще немає",
|
||
"empty_desc": "Виберіть «Почати диктування» або натисніть {{shortcut}}, щоб записати й транскрибувати аудіо.",
|
||
"capture": "Почати диктування",
|
||
"capture_failed": "Не вдалося почати диктування. Перевірте доступ до мікрофона та повторіть спробу.",
|
||
"empty_search_title": "Немає відповідних транскрипцій",
|
||
"empty_search_desc": "Спробуйте інший термін пошуку.",
|
||
"copy": "Копіювати",
|
||
"delete": "Видалити",
|
||
"segments_title": "Сегменти",
|
||
"copied": "Скопійовано в буфер обміну",
|
||
"copy_failed": "Помилка копіювання",
|
||
"exported": "Експортовані транскрипції",
|
||
"just_now": "Просто зараз",
|
||
"m_ago": "{{count}}хв тому",
|
||
"h_ago": "{{count}} год тому"
|
||
},
|
||
"setup": {
|
||
"welcome": "Ласкаво просимо",
|
||
"system_check": "Перевірка системи",
|
||
"install_models": "Встановити моделі",
|
||
"pick_engines": "Вибирайте двигуни",
|
||
"system_check_desc": "Перевірте оперативну пам’ять, диск, графічний процесор, ffmpeg і мережу. Blockers are flagged upfront so you know before downloading.",
|
||
"install_models_desc": "Завантажте ~2,4 ГБ ваг — обов'язковою є лише модель TTS. Додайте моделі транскрипції, підібрані для вашого обладнання, зараз або пізніше в Налаштуваннях.",
|
||
"pick_engines_desc": "Виберіть серверні модулі TTS / ASR / LLM. Налаштування за замовчуванням працюють із коробки — налаштуйте будь-коли в налаштуваннях.",
|
||
"hero_desc": "Дубляж, клонування голосу та дизайн голосу — усе це працює локально на вашому комп’ютері.",
|
||
"first_run": "Завантаження першого запуску займає 5–10 хвилин. Після цього кожен запуск відбувається миттєво та повністю в автономному режимі.",
|
||
"get_started": "Почніть роботу",
|
||
"back": "Назад",
|
||
"continue_ok": "Все добре — продовжуйте",
|
||
"continue_warn": "Продовжити (з попередженнями)",
|
||
"continue_blocked": "Розв’яжіть блокувальники, щоб продовжити",
|
||
"waiting_models": "Очікування необхідних моделей…",
|
||
"models_ready": "Необхідні моделі готові — продовжуємо",
|
||
"still_needed": "Ще потрібно:",
|
||
"enter_studio": "Вхід в студію",
|
||
"probing": "Система зондування…",
|
||
"checking": "Перевірка налаштувань…",
|
||
"system_preflight": "Система передполіт",
|
||
"recheck": "Повторна перевірка",
|
||
"resolve_blockers": "Щоб продовжити, усуньте помилку перевірки вище.",
|
||
"footer_downloads": "Завантаження з huggingface.co",
|
||
"open_finder": "Відкрити в Finder",
|
||
"open": "відкритий",
|
||
"install_required_models": "Щоб продовжити, установіть необхідні моделі вище.",
|
||
"try_dictation": "Спробуйте диктант",
|
||
"next_try_dictation": "Далі: спробуйте надиктувати",
|
||
"step_aria": "Крок {{num}}: {{label}}",
|
||
"step_completed": "завершено",
|
||
"cache_label": "Кеш моделі"
|
||
},
|
||
"donate": {
|
||
"title": "Підтримка",
|
||
"desc": "Якщо вам подобається цей проект, подумайте про пожертвування на підтримку нашого розвитку.",
|
||
"hero_title": "Підтримка VoiceStudio",
|
||
"hero_desc": "VoiceStudio є безкоштовним, із відкритим кодом і повністю працює на вашому обладнанні. Якщо це приносить цінність вашому робочому процесу, подумайте про підтримку основної команди.",
|
||
"github_desc": "Періодичні або одноразові — безпосередньо через GitHub.",
|
||
"coffee_desc": "Купіть команді каву. Обліковий запис не потрібен.",
|
||
"paypal_desc": "Швидкий одноразовий або повторюваний через PayPal.",
|
||
"platforms": "Платформи",
|
||
"footer": "Кожен внесок допомагає розширити межі місцевого ШІ.",
|
||
"back": "Назад до студії",
|
||
"commercial": "Комерційна ліцензія",
|
||
"pill": "Підтримка VoiceStudio",
|
||
"suggested_title": "Виберіть суму",
|
||
"most_common": "найпоширеніший",
|
||
"custom": "Custom",
|
||
"choose_method": "Виберіть, як дарувати",
|
||
"choose_method_amount": "Продовжити з ${{amount}}",
|
||
"goal": {
|
||
"title": "Фонд Клод Макс",
|
||
"of": "з",
|
||
"per_month": "/ місяць",
|
||
"aria": "{{raised}} з {{goal}} місячної цілі",
|
||
"remaining": "{{amount}} йти",
|
||
"met": "🎉 Мета досягнута — {{raised}} піднято. дякую!",
|
||
"social_proof": "Приєднуйтеся до прихильників {{count}}, які фінансують місцевий ШІ"
|
||
},
|
||
"postcard": {
|
||
"title": "Фонд Клод Макс",
|
||
"lead_default": "Радий, що спрацювало! VoiceStudio є безкоштовним і повністю локальним. Якщо це економить ваш час, невеликий щомісячний внесок фінансує Клода Макса, який стоїть за цим.",
|
||
"lead_first_clone": "Ваш перший голосовий клон готовий — чудово! VoiceStudio повністю працює на вашому комп’ютері, і ваша підтримка підтримує його.",
|
||
"lead_tenth_dub": "Десять дубляжів — ви явно вводите це в роботу. Невеликий щомісячний внесок фінансує Claude Max, який постачає ці функції.",
|
||
"lead_sustained": "Ви працюєте в VoiceStudio протягом місяця. Якщо він заслужив місце у вашому робочому процесі, подумайте про те, щоб допомогти фінансувати те, що буде далі.",
|
||
"chip_in": "Чип в",
|
||
"later": "Можливо пізніше",
|
||
"star": "Зірка на GitHub",
|
||
"opt_out": "Більше не питай",
|
||
"dismiss_aria": "Відхилити"
|
||
}
|
||
},
|
||
"enterprise": {
|
||
"title": "Комерційна ліцензія",
|
||
"desc": "Професійне ліцензування та технічна підтримка комерційних користувачів.",
|
||
"back": "Назад до студії",
|
||
"badge": "Комерційна ліцензія",
|
||
"hero_title": "Надішліть голоси AI у виробництво",
|
||
"hero_desc": "VoiceStudio — це вільне програмне забезпечення з відкритим кодом за ліцензією GNU Affero General Public License v3 (AGPL-3.0): безкоштовне для будь-якого використання, зокрема комерційного та внутрішньокорпоративного. Комерційна ліцензія потрібна лише тоді, коли ви хочете вбудувати VoiceStudio в закритий або пропрієтарний продукт чи сервіс без копілефт-зобов'язань AGPL-3.0.",
|
||
"why_title": "Чому компанії обирають VoiceStudio",
|
||
"pricing_title": "Ціноутворення",
|
||
"faq_title": "Загальні запитання",
|
||
"pricing_desc": "Рівні та ціни ще завершуються.",
|
||
"pricing_detail": "Поки вони не стануть загальнодоступними, кожне комерційне розгортання оцінюється окремо, щоб ми могли підібрати правильний розмір для вашої команди та робочого навантаження.",
|
||
"request_quote": "Запитати цінову пропозицію",
|
||
"footer_email": "Запитання? Зверніться за адресою VoiceStudio@palash.dev",
|
||
"footer_discord": "Приєднуйтесь до нашого Discord для підтримки спільноти.",
|
||
"benefit_ip": "Повне володіння IP",
|
||
"benefit_ip_desc": "Ви володієте кожним результатом, кожною моделлю, кожною похідною. Жодної спільної оренди, жодних витоків даних.",
|
||
"benefit_cost": "Нульова вартість хвилини",
|
||
"benefit_cost_desc": "Жодних рахунків за API, жодних несподіваних надлишків. Працює на вашому апаратному забезпеченні з першого дня.",
|
||
"benefit_team": "Доступ для всієї команди",
|
||
"benefit_team_desc": "Одна ліцензія поширюється на необмежену кількість користувачів у вашій організації.",
|
||
"benefit_support": "Пряма підтримка",
|
||
"benefit_support_desc": "Пріоритетна підтримка електронною поштою та відеодзвінками від основної команди інженерів.",
|
||
"benefit_source": "Доступне джерело ядра",
|
||
"benefit_source_desc": "Повна видимість стека. Аудит, розгалуження та адаптація в рамках умов ліцензії.",
|
||
"benefit_lang": "646 мов",
|
||
"benefit_lang_desc": "Транскрибуйте, перекладайте та дублюйте 646 мовами з якістю людського рівня.",
|
||
"hero_note": "Використання, самостійний хостинг і комерційне застосування безкоштовні за AGPL-3.0 — зокрема й у великих масштабах. AGPL — це ліцензія з мережевим копілефтом: якщо ви модифікуєте VoiceStudio і надаєте змінену версію іншим через мережу, ви зобов'язані відкрити свій змінений вихідний код на тих самих умовах. Комерційна ліцензія знімає ці копілефт-зобов'язання для пропрієтарних закритих розгортань. Тарифи з'являться незабаром — а поки що зв'яжіться з нами.",
|
||
"hero_simple": "VoiceStudio є безкоштовною програмою з відкритим вихідним кодом відповідно до AGPL-3.0, зокрема для комерційного та внутрішнього ділового використання. Вам потрібна лише комерційна ліцензія, щоб вставити його в продукт із закритим кодом без зобов’язань AGPL щодо копілефту.",
|
||
"contact_lead": "Ціна вказана за розгортання, щоб вона відповідала вашій команді та робочому навантаженню. Розкажіть мені про свій варіант використання, і я отримаю вам ціну."
|
||
},
|
||
"exportModal": {
|
||
"export": "Експорт",
|
||
"export_options": "Параметри експорту",
|
||
"close_drawer": "Закрийте панель експорту",
|
||
"presets": "ПОПЕРЕДНІ НАЛАШТУВАННЯ",
|
||
"preset_title": "Перейти до вкладки {{tab}} з параметрами за замовчуванням {{label}}",
|
||
"preset_youtube": "YouTube",
|
||
"preset_archive": "Архів",
|
||
"preset_web": "Інтернет",
|
||
"preset_podcast": "Подкаст",
|
||
"preset_studyset": "Навчальний набір",
|
||
"tracks": "ТРЕКИ",
|
||
"track_all": "всі",
|
||
"track_none": "Жодного",
|
||
"track_dubs_only": "Тільки дубляж",
|
||
"primary": "первинний",
|
||
"tab_video": "відео",
|
||
"tab_audio": "Аудіо",
|
||
"tab_subs": "Субтитри",
|
||
"tab_pkg": "Пакет",
|
||
"container": "Контейнер",
|
||
"mp4_h264": "MP4 (H.264)",
|
||
"default_audio_track": "Звукова доріжка за замовчуванням",
|
||
"default_audio_hint": "Який аудіопотік відтворюється за замовчуванням, коли програма перегляду відкриває файл",
|
||
"original": "Оригінал",
|
||
"dub_suffix": "(дубляж)",
|
||
"bg_audio": "Background audio",
|
||
"mix_bg_video": "Змішуйте музику/ефекти під кожен дубльований трек",
|
||
"subs_in_video": "Субтитри у відео",
|
||
"hardsub": "Записати субтитри в зображення (hardsub)",
|
||
"dual_subs_video": "Подвійний (переклад поверх оригіналу, виділеного курсивом)",
|
||
"subs_style_line": "Рядок",
|
||
"subs_style_karaoke": "Караоке (підсвічування слів)",
|
||
"karaoke_dual_note": "Караоке недоступне з подвійними субтитрами",
|
||
"format": "Формат",
|
||
"wav_lossless": "WAV (без втрат)",
|
||
"mp3_compressed": "MP3 (стиснутий)",
|
||
"bitrate": "Бітрейт",
|
||
"what_to_export": "Що експортувати",
|
||
"export_each_dub": "Кожен вибраний дубляж (окремі файли)",
|
||
"export_single_lang": "Єдина мова",
|
||
"mix_bg_audio": "Змішуйте музику/FX під дубльований голос",
|
||
"both": "Обидва",
|
||
"layout": "Макет",
|
||
"single_line": "Одна лінія",
|
||
"dual_subs": "Dual (переклад + оригінал)",
|
||
"languages": "Мови",
|
||
"current_target": "Поточна мета ({{code}})",
|
||
"all_selected_dubs": "Усі вибрані дублі ({{count}})",
|
||
"subs_note": "Субтитри генеруються з тексту сегмента як є — відредагуйте таблицю сегментів перед експортом, якщо ви помітили помилки.",
|
||
"retime_note": "Посегментна зміна темпу відео вимагає повного перекодування під час експорту — очікуйте приблизно 0,5–2× тривалості відео на CPU.",
|
||
"pkg_clips_title": "Посегментні кліпи (.zip)",
|
||
"pkg_clips_body": "Кожен згенерований сегмент у вигляді пронумерованого WAV-файлу в архіві zip — добре для перегляду, озвучення або створення набору даних.",
|
||
"pkg_clips_cta": "Експорт кліпів у zip",
|
||
"pkg_stems_title": "Стебла (.zip)",
|
||
"pkg_stems_body": "Ізольована вокальна доріжка + фон (музика/FX) як окремі файли WAV. Корисно для редагування аудіо за потоком.",
|
||
"pkg_stems_cta": "Експорт стебла zip",
|
||
"pkg_audio_title": "Звукові доріжки (окремі файли)",
|
||
"pkg_audio_body_one": "Перейдіть на вкладку «Аудіо», щоб експортувати дубляжі для кожної мови у WAV або MP3 (доступний дубляж {{count}}).",
|
||
"pkg_audio_body_other": "Перейдіть на вкладку «Аудіо», щоб експортувати дубляжі для кожної мови у форматі WAV або MP3 (доступні дубляжі {{count}}).",
|
||
"pkg_audio_cta": "Відкрити вкладку «Аудіо».",
|
||
"license_text": "Комерційне використання вимагає a",
|
||
"license_link": "ліцензія",
|
||
"output": "ВИХІД",
|
||
"nothing_selected": "Нічого не вибрано або трек недоступний",
|
||
"export_mp4": "Експорт MP4",
|
||
"export_n_audio_one": "Експортувати аудіофайл {{count}}",
|
||
"export_n_audio_other": "Експортувати {{count}} аудіофайлів",
|
||
"export_audio": "Експорт аудіо",
|
||
"export_subtitles": "Експортувати субтитри"
|
||
},
|
||
"demo": {
|
||
"clone_coachmark": "Це керована демонстрація — спробуйте запропоновану підказку або напишіть власну.",
|
||
"hear_demo": "Слухати демо",
|
||
"stop_demo": "Зупинити демонстрацію",
|
||
"prerendered_chip": "Попередньо відрендерений зразок — установіть механізм TTS для синтезу нового тексту.",
|
||
"preset_preview": "Попередній перегляд",
|
||
"preset_stop": "Стоп",
|
||
"preset_use": "Використовуйте цей дизайн →",
|
||
"dictation_title": "Спробуйте Диктант",
|
||
"dictation_lede": "Прочитайте одну з них вголос після натискання гарячої клавіші або натисніть «Повторити», щоб надіслати зразок у комплекті через транскрибатор, щоб ви могли бачити роботу диктанту від кінця до кінця, не розмовляючи.",
|
||
"dictation_status_ok": "Перевірено — гаряча клавіша працює на цій машині",
|
||
"dictation_status_pending": "Щоб перевірити, натисніть ярлик будь-де",
|
||
"dictation_status_warn": "Немає зареєстрованих гарячих клавіш — установіть одну нижче",
|
||
"dictation_hear": "Почуйте",
|
||
"dictation_stop": "Стоп",
|
||
"dictation_replay": "Повтор",
|
||
"dictation_transcribing": "Транскрибування…",
|
||
"dubbing_title": "Перегляньте дубляж у дії",
|
||
"dubbing_sync": "Синхронізоване відтворення",
|
||
"dubbing_picker": "Спробуйте іншу мову:",
|
||
"dubbing_cta": "Запустіть це на власному відео →",
|
||
"dubbing_loading": "Завантаження демонстрації дубляжу…",
|
||
"dubbing_dismiss": "Закрити демонстрацію дубляжу",
|
||
"original_tag": "оригінальний",
|
||
"dubbed_tag": "дубльований",
|
||
"script_conversational": "Розмовний",
|
||
"script_technical": "Технічна лексика",
|
||
"script_french": "не англійська (французька)",
|
||
"aria_pause": "Пауза {{label}}",
|
||
"aria_hear": "Слухати {{label}}",
|
||
"aria_replay": "Повторити {{label}} через транскрибатор",
|
||
"dictation_lede_hotkey_only": "Утримуйте сполучення клавіш вище будь-де на робочому столі, говоріть і відпустіть — текст з'явиться в активному застосунку. Натисніть зараз, щоб перевірити."
|
||
},
|
||
"direction": {
|
||
"title": "Напрямок для сегмента №{{id}}",
|
||
"desc": "Скажіть конвеєру, як має відчуватися ця лінія. Працює звичайна англійська — система наносить ваші слова на стабільну таксономію (енергія / емоції / темп / інтимність / формальність), а потім використовує таксономію за допомогою кінематографічного перекладу, TTS і підгонки.",
|
||
"label": "Напрямок",
|
||
"lineHint": "Рядок: \"{{text}}\"",
|
||
"placeholder": "напр. терміновий і здивований / теплий, з надією / прошепотів, інтимний",
|
||
"previewParse": "Розбір попереднього перегляду",
|
||
"previewFailed": "Помилка попереднього перегляду: {{message}}",
|
||
"clear": "ясно",
|
||
"cancel": "Скасувати",
|
||
"saveDirection": "Зберегти напрямок",
|
||
"ttsInstruct": "TTS інструкція:",
|
||
"nothingParsed": "— (нічого не розібрано)",
|
||
"translateHint": "Підказка перекладу:",
|
||
"rateBias": "Зміщення оцінки:",
|
||
"speedsUp": "прискорюється",
|
||
"slowsDown": "сповільнюється",
|
||
"taxonomyTokens": "таксономічні токени"
|
||
},
|
||
"errors": {
|
||
"title": "Ця вкладка натрапила на перешкоду.",
|
||
"desc": "Не хвилюйтеся — решта програми все ще працює. Ви можете змінити вкладку або спробувати ще раз нижче.",
|
||
"tryAgain": "Спробуйте знову",
|
||
"openDocs": "Відкрийте документи для цієї помилки",
|
||
"crash_port_in_use": "Бекенд не зміг запуститися, бо порт 3900 уже зайнято — його утримує інша копія VoiceStudio (або застосунок, що захопив цей порт). Закрийте інший екземпляр і запустіть знову; якщо нічого видимого не працює, порт досі утримує осиротілий бекенд із попереднього сеансу.",
|
||
"crash_oom_kill": "Процес було примусово завершено (сигнал 9), що зазвичай означає брак оперативної пам'яті (RAM). Закрийте застосунки, що споживають багато пам'яті, виберіть меншу модель ASR у Налаштуваннях → Моделі або вивантажте модель TTS перед розшифруванням.",
|
||
"crash_native_fault": "Збій стався всередині обчислювального стека, а не через брак пам'яті — це вказує на драйвер GPU, який не відповідає вбудованому середовищу CUDA, або на не до кінця завантажений файл моделі. Оновіть драйвер GPU, потім повторно завантажте модель у Налаштуваннях → Моделі (часткове завантаження лагодиться на місці). Якщо це повторюється, перейдіть на ізольований рушій у Налаштуваннях → Рушії — «VoiceStudio (subprocess)» для синтезу, «Faster-Whisper (crash-isolated subprocess)» для розшифрування. Вони запускають модель в окремому процесі, тож такий збій завершує лише цей процес, а не весь бекенд.",
|
||
"report": "Повідомити про цю помилку",
|
||
"report_failed": "Не вдалося відкрити звіт про помилку. Спробуйте ще раз або скопіюйте деталі вище в нове звернення.",
|
||
"searchIssues": "Шукати схожі проблеми",
|
||
"unexpected": "Неочікувана помилка: {{message}}",
|
||
"backend_shutting_down": "VoiceStudio завершує роботу. Відкрийте застосунок знову та спробуйте ще раз.",
|
||
"crash_broken_env": "Він завершився під час завантаження власних залежностей Python, тож річ не в пам'яті й не у відеокарті — середовище неповне або оновилося наполовину. Скористайтеся «Очистити і повторити» у Налаштування → Журнали → Бекенд: це перезбирає середовище з нуля й лагодить його на місці, не торкаючись ваших голосів і проєктів. Якщо помилка лишиться, у подробицях збою вказано пакет, який не імпортувався.",
|
||
"crash_vram_default": "На невеликих відеокартах звичайна причина — брак відеопам'яті (VRAM) під час завантаження моделі ASR поверх моделі TTS: спершу вивантажте модель TTS або виберіть меншу модель ASR у Каталозі моделей → Моделі.",
|
||
"stream_cut_backend_alive": "Потік обірвався завчасно, але бекенд усе ще працює — отже, він не впав. У серверному або контейнерному розгортанні причиною зазвичай є зворотний проксі чи балансувальник навантаження, який буферизує з'єднання або розриває його за тайм-аутом: вимкніть буферизацію відповідей для цього маршруту (nginx: proxy_buffering off; X-Accel-Buffering: no) і збільште його тайм-аут читання. Запуск десктопного застосунку напряму або на localhost без проксі підтвердить це."
|
||
},
|
||
"keyboard": {
|
||
"title": "Комбінації клавіш",
|
||
"footer": "Натисніть <1>?</1> будь-коли, щоб відкрити це.",
|
||
"or": "або",
|
||
"nav": "Навігація",
|
||
"nav_cheatsheet": "Покажіть цю шпаргалку",
|
||
"nav_enginePickerKey": "Cmd/Ctrl+E",
|
||
"nav_workspacesKey": "Cmd/Ctrl+1–9",
|
||
"nav_closeModal": "Закрити режим / скасувати",
|
||
"nav_save": "Зберегти проект / зафіксувати обрізку",
|
||
"segmentEditor": "Редактор сегментів",
|
||
"seg_split": "Розділити сегмент на курсорі",
|
||
"seg_merge": "Об'єднати з наступним сегментом",
|
||
"seg_merge_prev": "Об'єднати з попереднім сегментом",
|
||
"seg_undo": "Скасувати",
|
||
"seg_redo": "Повторити",
|
||
"seg_click": "Первинна дія",
|
||
"seg_shiftClick": "Вибір діапазону",
|
||
"trimmer": "Аудіо тример",
|
||
"trim_playPause": "Попередній перегляд/пауза",
|
||
"trim_nudgeStart": "Поштовх ручки початку",
|
||
"trim_nudgeEnd": "Ручка штовхаючого кінця",
|
||
"trim_fineNudge": "Тонкий поштовх",
|
||
"trim_coarseNudge": "Грубий поштовх",
|
||
"trim_zoomIn": "Збільшення / зменшення",
|
||
"trim_fitAll": "Fit all / Fit selection",
|
||
"trim_confirm": "Підтвердити обрізку",
|
||
"dub": "Dub",
|
||
"dub_generate": "Згенерувати дубляж",
|
||
"dub_sidebar": "Перемкнути бічну панель"
|
||
},
|
||
"network": {
|
||
"sharing_on_title": "Надіслати — натисніть, щоб дізнатися більше",
|
||
"share_on_network": "Поділіться у своїй мережі",
|
||
"switching": "Перемикання…",
|
||
"network": "Мережа",
|
||
"local": "Місцевий",
|
||
"share_confirm_title": "Поділитися у вашій мережі?",
|
||
"share_confirm_hint": "Інші пристрої, підключені до мережі Wi-Fi/Ethernet, зможуть зв’язатися з VoiceStudio за допомогою PIN-коду доступу, що відображається після ввімкнення.",
|
||
"enabling": "Увімкнення…",
|
||
"enable": "Увімкнути",
|
||
"shared_title": "Опубліковано у вашій мережі",
|
||
"no_interface": "Немає доступного мережевого інтерфейсу — підключіться до Wi-Fi/Ethernet.",
|
||
"copy_link": "Копіювати посилання",
|
||
"open_in_browser": "Відкрити в браузері",
|
||
"qr_alt": "QR для {{ip}}",
|
||
"pin": "PIN-код:",
|
||
"stop_sharing": "Припинити ділитися",
|
||
"copied": "Скопійовано",
|
||
"enable_error": "Не вдалося ввімкнути спільний доступ: {{message}}",
|
||
"disable_error": "Не вдалося вимкнути: {{message}}"
|
||
},
|
||
"readiness": {
|
||
"checking_system": "Перевірка системи…",
|
||
"all_ready": "Всі системи готові",
|
||
"system_readiness": "Готовність системи",
|
||
"asr_model": "Модель ASR",
|
||
"tts_model": "Модель TTS",
|
||
"loaded_ready": "Завантажений і готовий",
|
||
"loading_first_run": "Завантаження… (це може зайняти 1-2 хвилини під час першого запуску)",
|
||
"failed_to_load": "Не вдалося завантажити",
|
||
"not_loaded_yet": "Ще не завантажено — буде завантажено під час першої транскрипції",
|
||
"tts_not_loaded_yet": "Ще не завантажена — завантажиться під час першої генерації мовлення",
|
||
"error_check_logs": "Помилка: {{error}}. Перевірте журнали та спробуйте перезапустити.",
|
||
"check_logs_restart": "Перевірте журнали на наявність помилок завантаження моделі. Спробуйте перезапустити.",
|
||
"llm_cinematic": "LLM (кінематографічний)",
|
||
"llm_configure": "Налаштуйте TRANSLATE_BASE_URL для кінематографічної якості перекладу",
|
||
"llm_set_env": "Установіть змінні середовища TRANSLATE_BASE_URL і TRANSLATE_API_KEY. Працює з Ollama, OpenAI, LM Studio тощо.",
|
||
"llm_optional": "Необов’язково — установіть TRANSLATE_BASE_URL для кінематографічної якості"
|
||
},
|
||
"license": {
|
||
"title": "Супертонік-3 — Прийняття ліцензії",
|
||
"intro": "Supertonic-3 поставляється за двома різними ліцензіями. Будь ласка, перевірте обидва, перш ніж увімкнути механізм.",
|
||
"sdk_heading": "Код SDK · MIT",
|
||
"sdk_desc": "Пакет Python inference SDK (supertonic) має ліцензію MIT. Дозвільне використання, в тому числі комерційне.",
|
||
"read_mit": "Прочитайте ліцензію MIT →",
|
||
"model_heading": "Вага моделі · OpenRAIL-M",
|
||
"model_desc": "Ваги моделі Supertonic-3 випускаються за ліцензією OpenRAIL-M. Ця ліцензія обмежує використання не зловмисними цілями — повний набір обмежень на основі використання див. у пов’язаній ліцензії.",
|
||
"read_openrail": "Прочитайте ліцензію OpenRAIL-M →",
|
||
"footer": "Якщо натиснути «Прийняти», ваша згода буде записана в локальних налаштуваннях VoiceStudio і ввімкне механізм. Ваша згода зберігається лише на цьому комп’ютері — Supertone Inc. або будь-якій третій стороні нічого не повідомляється.",
|
||
"saving": "Збереження…",
|
||
"accept": "прийняти",
|
||
"accepted_toast": "Ліцензія Supertonic-3 прийнята.",
|
||
"accept_error": "Не вдалося записати прийняття ліцензії: {{message}}",
|
||
"pockettts_title": "Прийняття ліцензій PocketTTS",
|
||
"pockettts_intro": "PocketTTS від Kyutai поширюється за двома ліцензіями, а для його ваг також діють умови доступу Hugging Face. Перегляньте все перед увімкненням рушія.",
|
||
"pockettts_sdk_desc": "Бібліотека Python pocket-tts має дозвільну ліцензію MIT, зокрема для комерційного використання.",
|
||
"pockettts_model_heading": "Ваги моделі (CC-BY-4.0)",
|
||
"pockettts_model_desc": "Ваги моделі PocketTTS випущено за ліцензією CC-BY-4.0. Комерційне використання дозволено із зазначенням авторства.",
|
||
"read_cc_by": "Прочитати ліцензію CC-BY-4.0",
|
||
"gate_heading": "Обмежений доступ",
|
||
"gate_desc": "Доступ до ваг на Hugging Face обмежено. Перед першим завантаженням потрібен безкоштовний обліковий запис; слід надати контактні дані та прийняти умови доступу.",
|
||
"pockettts_conditions_desc": "Умови забороняють незаконне, шкідливе, оманливе, шахрайське, несанкціоноване використання голосу або використання без згоди. Перед продовженням прочитайте повні умови.",
|
||
"review_access_conditions": "Переглянути умови доступу",
|
||
"pockettts_footer": "Натискання «Прийняти» зберігає підтвердження лише в локальних налаштуваннях VoiceStudio та вмикає рушій. Доступ до моделі й завантаження відбуваються через Hugging Face, який отримує звичайні дані запиту й облікового запису.",
|
||
"pockettts_accepted_toast": "Умови PocketTTS прийнято."
|
||
},
|
||
"voicePreview": {
|
||
"title": "Голосовий попередній перегляд",
|
||
"close": "Закрити попередній перегляд",
|
||
"default_text": "Привіт! Це попередній перегляд того, як я звучу цим голосом.",
|
||
"default_voice": "Голос за умовчанням",
|
||
"clone_profiles": "Профілі клонів",
|
||
"designed_voices": "Розроблені голоси",
|
||
"presets": "Предустановки",
|
||
"placeholder": "Введіть щось, щоб почути…",
|
||
"stop": "Стоп",
|
||
"regenerate": "Регенерувати",
|
||
"preview": "Попередній перегляд",
|
||
"hint": "8 кроків · швидкий попередній перегляд"
|
||
},
|
||
"header": {
|
||
"kicker_studio": "Студія",
|
||
"kicker_library": "Бібліотека",
|
||
"kicker_preferences": "Уподобання",
|
||
"kicker_licensing": "Ліцензування",
|
||
"label_launchpad": "Стартова панель",
|
||
"label_clone": "Голосовий клон",
|
||
"label_design": "Дизайн голосу",
|
||
"label_dub": "Дубляж",
|
||
"label_projects": "OmniDrive",
|
||
"label_gallery": "Галерея",
|
||
"label_transcriptions": "транскрипції",
|
||
"label_settings": "Налаштування",
|
||
"label_catalogue": "Каталог моделей",
|
||
"label_enterprise": "Комерційна ліцензія",
|
||
"status_ready": "Готовий",
|
||
"status_loading": "Завантаження…",
|
||
"status_idle": "Бездіяльність",
|
||
"memory_management": "Управління пам'яттю",
|
||
"flush": "Промити",
|
||
"loaded_models": "Завантажені моделі",
|
||
"no_models": "Немає завантажених моделей",
|
||
"unload": "Розвантажити",
|
||
"flush_caches": "Очистити кеші",
|
||
"unload_all_flush": "Вивантажити все + промити"
|
||
},
|
||
"sidebar": {
|
||
"tab_drive": "Драйв",
|
||
"tab_history": "історія",
|
||
"tab_exports": "Експорт",
|
||
"save_project": "Зберегти проект Dub",
|
||
"save_new_project": "Зберегти як новий проект Dub",
|
||
"dub_projects": "Дуб проекти",
|
||
"voice_clones": "Голосові клони",
|
||
"designed_voices": "Розроблені голоси",
|
||
"no_dub_projects": "Немає збережених проектів дубляжу",
|
||
"no_dub_hint": "Завантажте відео та натисніть «Зберегти», щоб зберегти свою роботу.",
|
||
"no_clones": "Голосових клонів ще немає",
|
||
"no_clones_hint": "Запишіть або завантажте аудіо, а потім натисніть «Зберегти як голосовий профіль».",
|
||
"no_designs": "Ще немає розроблених голосів",
|
||
"no_designs_hint": "Згенеруйте голос і збережіть його з історії.",
|
||
"history_subtitle": "Історія генерації · Зберігається в SQLite",
|
||
"no_history": "Без історії покоління",
|
||
"no_history_hint": "Синтезуйте аудіо або дублюйте відео — тут з’являться результати.",
|
||
"clear_history": "Очистити історію",
|
||
"clear_confirm": "Очистити всі елементи історії {{count}}? Це неможливо скасувати.",
|
||
"history_cleared": "Історія очищена",
|
||
"recent_exports": "Останні експорти",
|
||
"no_exports": "Немає завантажених виходів",
|
||
"no_exports_hint": "Експортуйте файл через Tauri, щоб побачити його відстеження тут.",
|
||
"show_in_folder": "Показати в папці",
|
||
"open": "відкритий",
|
||
"select": "Виберіть",
|
||
"try_voice": "Спробуй",
|
||
"consistent": "послідовний",
|
||
"locked": "Заблоковано",
|
||
"clone_label": "Клон",
|
||
"design_label": "Дизайн",
|
||
"dub_label": "Dub",
|
||
"save_label": "зберегти",
|
||
"lock_identity": "Блокування голосової ідентифікації",
|
||
"in_folder": "в {{folder}}",
|
||
"search": "Пошук…",
|
||
"rename": "Перейменувати",
|
||
"rename_save": "Зберегти назву"
|
||
},
|
||
"trimmer": {
|
||
"title": "Обрізати контрольне аудіо",
|
||
"decoding": "Декодування аудіо…",
|
||
"meta_length": "Довжина {{duration}} · {{sampleRate}} Гц",
|
||
"meta_rendering": "рендеринг сигналу {{percent}}%",
|
||
"keyboard_hint": "прокручування = масштабування · shift+прокручування = панорамування · alt+перетягування = панорамування · ⏐ ⟵ ⟶ ⏐ клавіші регулювання ручок",
|
||
"zoom_in": "Збільшити (+)",
|
||
"zoom_out": "Зменшити (-)",
|
||
"fit_all": "Підходить для всіх (Дім)",
|
||
"fit_selection": "Підібрати вибір (кінець)",
|
||
"fit_sel_btn": "FIT SEL",
|
||
"view_range": "Переглянути {{start}} → {{end}} ({{duration}})",
|
||
"start_label": "Почніть",
|
||
"end_label": "Кінець",
|
||
"length_label": "Довжина",
|
||
"too_long": ">{{max}}с",
|
||
"too_short": "занадто короткий",
|
||
"length_ok": "добре",
|
||
"loop_preview": "Попередній перегляд циклу",
|
||
"pause": "Пауза",
|
||
"preview_selection": "Попередній перегляд вибору",
|
||
"play_hint": "Пробіл для гри · Enter для підтвердження · Esc для скасування",
|
||
"cancel": "Скасувати",
|
||
"use_trimmed": "Використовуйте обрізані",
|
||
"decode_failed": "Помилка декодування: {{message}}",
|
||
"playback_failed": "Помилка відтворення: {{message}}",
|
||
"audio_load_failed": "Помилка завантаження аудіо",
|
||
"unit_seconds": "с"
|
||
},
|
||
"casting": {
|
||
"title": "Кастинг динаміків",
|
||
"auto_assign_title": "Автоматичне призначення голосів із вилучених клонів динаміків",
|
||
"auto_cast": "Автокаст",
|
||
"all_cast": "Всі актори",
|
||
"segments_count": "{{count}} сегментів",
|
||
"assign_voice": "Призначити голос…",
|
||
"from_video": "🎤 З відео ({{name}})",
|
||
"no_profiles": "Голосові профілі ще не збережено.",
|
||
"preview_voice": "Попередній перегляд голосу"
|
||
},
|
||
"checkpoint": {
|
||
"asr_title": "Стенограми готові",
|
||
"asr_cta": "Перекласти",
|
||
"asr_hint": "Виправляйте будь-які помилки ASR зараз — жорстка дикція збереже спроби TTS пізніше.",
|
||
"translate_title": "Переклади готові",
|
||
"translate_cta": "Згенерувати дубляж",
|
||
"translate_hint": "Перегляньте цільовий текст. Занадто довгі лінії прискорюються; ви також можете редагувати безпосередньо.",
|
||
"done_title": "Дубляж завершено",
|
||
"done_hint": "Перегляньте коефіцієнти часу та синхронізації. Налаштуйте будь-який рядок і натисніть «Regen changes» для швидкого часткового повтору.",
|
||
"segment_one": "{{count}} сегмент",
|
||
"segment_other": "{{count}} сегментів",
|
||
"dismiss_title": "Відхилити — не з’являтиметься для цього етапу до перезавантаження"
|
||
},
|
||
"compare": {
|
||
"title": "A/B голосове порівняння",
|
||
"close": "Близьке порівняння",
|
||
"desc": "Порівняйте два голоси поруч, щоб прийняти рішення про кастинг. Додаток залишається інтерактивним.",
|
||
"test_phrase": "Тестова фраза",
|
||
"voice_a": "Голос А",
|
||
"voice_b": "Голос Б",
|
||
"select_voice": "— Виберіть голос —",
|
||
"preset_suffix": "(Попереднє налаштування)",
|
||
"no_audio": "Аудіо ще немає",
|
||
"close_btn": "Закрити",
|
||
"comparing": "Порівнюючи…",
|
||
"compare_btn": "Порівняйте",
|
||
"preparing_voice": "Підготовка голосу...",
|
||
"generating_voice_a": "Створення голосу A...",
|
||
"generating_voice_b": "Створення голосу B...",
|
||
"comparison_complete": "Порівняння завершено!",
|
||
"play_failed": "Помилка відтворення: {{message}}"
|
||
},
|
||
"models": {
|
||
"hf_token_set_toast": "Набір токенів HuggingFace — увімкнено швидші завантаження",
|
||
"hf_token_save_failed": "Не вдалося зберегти маркер",
|
||
"install_started": "Встановлення розпочато — прогрес у рядку",
|
||
"delete_confirm": "Видалити {{repoId}}? Ви можете перевстановити його пізніше.",
|
||
"delete_confirm_title": "Видалити модель",
|
||
"deleted": "Видалено {{repoId}}",
|
||
"reinstall_confirm": "Перевстановити {{repoId}}? Це призведе до видалення поточної копії та повторного завантаження.",
|
||
"reinstall_confirm_title": "Перевстановити модель",
|
||
"reinstalling": "Перевстановлення",
|
||
"recommended_installed": "Рекомендовані моделі вже встановлені.",
|
||
"started_downloading_one": "Розпочато завантаження моделі {{count}}",
|
||
"started_downloading_other": "Розпочато завантаження {{count}} моделей",
|
||
"install_failed": "Помилка встановлення: {{message}}",
|
||
"removing_cached": "Видалення кешованих версій…",
|
||
"resolving_metadata": "Вирішення метаданих репо",
|
||
"retry_attempt": "Повторна спроба {{attempt}} — {{error}}",
|
||
"connecting_hf": "Підключення до HuggingFace…",
|
||
"resolving_files_one": "Вирішення файлу {{count}}…",
|
||
"resolving_files_other": "Вирішення файлів {{count}}…",
|
||
"resolving_files_active": "Вирішення {{count}} файл(ів)… · {{file}}",
|
||
"measuring": "вимірювання…",
|
||
"files_progress": "{{done}}/{{total}} файлів",
|
||
"install_error": "Помилка встановлення: {{error}}",
|
||
"view_on_hf": "Переглянути на HuggingFace",
|
||
"install_btn": "встановити",
|
||
"section_tts": "TTS (синтез мовлення)",
|
||
"section_asr": "ASR (офлайн-транскрипція)",
|
||
"section_dictation": "Диктування (потокове)",
|
||
"section_diarisation": "Діаризація",
|
||
"section_other": "Інше",
|
||
"show_incompatible": "Показати несумісні ({{count}})",
|
||
"hide_incompatible": "Приховати несумісні ({{count}})",
|
||
"incompatible_title": "Моделі, що не працюють на цій системі",
|
||
"recommended_title": "Підібрано для цієї машини — необов’язково",
|
||
"download_all_remaining_title": "Завантажити всі рекомендовані моделі, що залишилися",
|
||
"reco_install_one": "Встановити {{label}}",
|
||
"reinstall_btn": "Перевстановити",
|
||
"downloading": "завантаження",
|
||
"deleting": "видалення",
|
||
"working": "працює",
|
||
"installed": "встановлено",
|
||
"not_installed": "не встановлено",
|
||
"required_tag": "потрібно",
|
||
"delete_btn": "Видалити",
|
||
"hf_token_btn": "Токен HF",
|
||
"hf_set_title": "Встановіть маркер HuggingFace для швидшого завантаження",
|
||
"get_token": "Отримати маркер →",
|
||
"reco_installed_for": "Рекомендований пакет, встановлений для {{device}}",
|
||
"reco_for": "Рекомендовано для {{device}}",
|
||
"starting": "Початок...",
|
||
"required_size": "Потрібно ~{{size}} Гб",
|
||
"all_size": "Всі ~{{size}} Гб",
|
||
"req_tag": "вимога",
|
||
"search_placeholder": "Пошук моделей…",
|
||
"search_label": "Пошук моделей",
|
||
"no_matches": "Жодна модель не відповідає вашим фільтрам.",
|
||
"sort_by": "Сортувати за {{column}}",
|
||
"column_model": "Модель",
|
||
"column_role": "Роль",
|
||
"column_size": "Розмір",
|
||
"column_status": "Статус",
|
||
"ready_badge": "Готовий",
|
||
"loading_badge": "Завантаження…",
|
||
"idle_badge": "Бездіяльність",
|
||
"started_downloading_required_one": "Розпочато завантаження {{count}} потрібної моделі",
|
||
"started_downloading_required_other": "Розпочато завантаження {{count}} необхідних моделей",
|
||
"to_download": "завантажити",
|
||
"cached": "кешується",
|
||
"fast_download_badge": "швидке завантаження",
|
||
"fast_download_title": "Швидке завантаження через Xet {{version}} — паралельна передача фрагментів",
|
||
"voice_previews": "Зразки голосів",
|
||
"voice_previews_desc": "Завантажте заздалегідь створені зразки, щоб голоси відтворювалися миттєво — навіть до того, як голосова модель завершить завантаження. Нічого не завантажується, доки ви це не увімкнете.",
|
||
"voice_previews_off": "Вимкнено — зразки створюються на цьому пристрої",
|
||
"voice_previews_ready": "Добірку збережено в кеші",
|
||
"voice_previews_partial": "У кеші {{cached}} із {{total}} вибраних зразків",
|
||
"voice_previews_checked": "перевірено {{when}}",
|
||
"voice_previews_never": "ще не перевірялося",
|
||
"voice_previews_check": "Перевірити зараз",
|
||
"voice_previews_rejected": "Оновлення галереї голосів відхилено: {{message}}"
|
||
},
|
||
"enterprise_faq": {
|
||
"q_internal_tools": "Чи потрібна мені ліцензія на внутрішні інструменти?",
|
||
"a_internal_tools": "Ні. Використання вашими працівниками та підрядниками — включно з внутрішніми модифікаціями й самостійним хостингом — безкоштовне за AGPL-3.0. Комерційна ліцензія потрібна лише якщо ви вбудовуєте VoiceStudio у закритий або пропрієтарний продукт чи сервіс і не хочете виконувати вимоги AGPL щодо розкриття вихідного коду.",
|
||
"q_try_before": "Чи можу я спробувати перед тим, як взяти участь?",
|
||
"a_try_before": "Так. Повну версію застосунку можна безкоштовно завантажити, запускати та хостити самостійно за AGPL-3.0 — без жодної угоди. Коли будете готові обговорити комерційну ліцензію (пропрієтарне використання), напишіть нам — разом узгодимо деталі.",
|
||
"q_watermark": "А як щодо водяного знака?",
|
||
"a_watermark": "Невидимий водяний знак AudioSeal вбудовується за умовчанням для всіх. Його можна вимкнути в Налаштуваннях → Приватність; це стосується лише аудіо, створеного після зміни."
|
||
},
|
||
"gallery_extra": {
|
||
"save_prompt": "Введіть назву для цього голосового профілю:",
|
||
"saved_as_profile": "Голос збережено як профіль!",
|
||
"save_profile_failed": "Не вдалося зберегти профіль",
|
||
"download_failed": "Помилка завантаження: {{message}}",
|
||
"trim_load_failed": "Не вдалося завантажити аудіо для обрізання: {{message}}",
|
||
"upload_crop_failed": "Не вдалося завантажити обрізаний голос: {{message}}"
|
||
},
|
||
"dub_workflow": {
|
||
"preparing_audio": "Підготовка аудіо…",
|
||
"preparing_video": "Підготовка відео…",
|
||
"extracting_audio_scenes": "Вилучення аудіо та сцен…",
|
||
"transcribing_audio": "Транскрибування аудіо…",
|
||
"transcription_complete": "Транскрипцію завершено",
|
||
"upload_cancelled": "Завантаження скасовано",
|
||
"upload_failed": "Помилка завантаження: {{message}}",
|
||
"downloading_video": "Завантаження відео…",
|
||
"ingested": "Поглинуто {{url}}",
|
||
"ingest_cancelled": "Введення скасовано",
|
||
"ingest_failed": "Помилка введення URL-адреси: {{message}}",
|
||
"retry_cancelled": "Повторну спробу скасовано",
|
||
"transcription_failed": "Помилка транскрипції: {{message}}",
|
||
"import_srt_no_job": "Спершу завантажте або завантажте відео — немає завдання додавати субтитри.",
|
||
"import_srt_after_speakers": "SRT додано до черги. Спершу завершиться аналіз мовців, щоб зберегти клоновані голоси.",
|
||
"imported_cues": "Імпортовано {{count}} репліки з {{file}}",
|
||
"skipped_malformed": "{{count}} пропущено (неправильно)",
|
||
"dropped_overlap": "{{count}} вилучено (перекриття)",
|
||
"clamped_to_duration": "{{count}} затиснутий до довжини носія",
|
||
"srt_import_failed": "Помилка імпорту SRT",
|
||
"cleaned_one": "Очищено {{count}} фрагмент",
|
||
"cleaned_other": "Очищено {{count}} фрагментів",
|
||
"segments_clean": "Сегменти вже чисті",
|
||
"cleanup_failed": "Помилка очищення: {{message}}",
|
||
"cinematic_no_llm": "Для кінематографічної якості потрібен LLM — установіть TRANSLATE_BASE_URL + TRANSLATE_API_KEY (Ollama працює локально). Повертаючись до Fast.",
|
||
"dialect_not_applied": "Обраний діалект потребує LLM — перемкніть рушій на OpenAI/Ollama або виберіть якість Cinematic.",
|
||
"translate_errors": "{{errorCount}}/{{totalCount}} сегментів не виконано: {{firstError}}",
|
||
"translate_degraded": "Усі {{totalCount}} сегменти перекладено — {{count}} використовують простий переклад, оскільки етап шліфування пропущено ({{reason}})",
|
||
"translated_segments": "Перекладено {{count}} сегментів → {{lang}}",
|
||
"translated_cinematic_suffix": "(кінематографічний)",
|
||
"translation_failed": "Помилка перекладу: {{message}}",
|
||
"regenerating": "Відновлення {{count}} сегмента(ів)…",
|
||
"generating_dub": "Створення копії…",
|
||
"generating_progress": "Створення копії… {{current}}/{{total}}",
|
||
"generation_aborted": "Генерацію перервано.",
|
||
"dubbing_aborted": "Дубляж перервано",
|
||
"generation_stream_ended": "Потік генерації завершився до завершення",
|
||
"dub_complete": "Дубляж завершено",
|
||
"stop_failed": "Зупинити не вдалося",
|
||
"save_first": "Будь ласка, спочатку натисніть «Завантажити та транскрибувати», щоб відео було оброблено на сервері перед збереженням.",
|
||
"project_saved": "Проект збережено",
|
||
"project_created": "Проект створено",
|
||
"save_failed": "Не вдалося зберегти: {{message}}",
|
||
"opened_project": "Відкрито: {{name}}",
|
||
"delete_project_confirm": "Видалити цей проект? Це неможливо скасувати.",
|
||
"project_deleted": "Проект видалено",
|
||
"delete_history_confirm": "Видалити цей елемент історії?",
|
||
"history_deleted": "Елемент історії видалено",
|
||
"restored_state": "Відновлено стан попереднього покоління",
|
||
"upgrading_preview": "Оновлення {{count}} сегментів якості попереднього перегляду до повної якості…",
|
||
"session_expired": "Цей сеанс дубляжу закінчився або його було очищено — повторно завантажте відео, щоб почати нове."
|
||
},
|
||
"tts_errors": {
|
||
"enter_text": "Будь ласка, введіть текст",
|
||
"upload_or_select": "Завантажте аудіо або виберіть голосовий профіль",
|
||
"trim_hint": "Аудіо {{duration}}s — обріжте до ≤{{max}}s для найкращого клонування",
|
||
"timeout": "Час очікування генерації минув — можливо, модель все ще завантажується. Перевірте Параметри → Журнали, а потім повторіть спробу.",
|
||
"generation_in_progress": "Генерація вже виконується — дочекайтеся її завершення, перш ніж запускати наступну.",
|
||
"error_prefix": "Помилка: {{message}}",
|
||
"ignored_unsupported": "Ігнорована непідтримувана інструкція: {{items}}",
|
||
"ignored_duplicate": "Проігноровано (категорію вже встановлено): {{items}}",
|
||
"ignored_conflict": "{{items}} проігноровано — китайський діалект і англійський акцент не можна поєднувати.",
|
||
"dialect_accent_conflict": "Китайський діалект і англійський акцент не можна використовувати разом. Очистіть один з варіантів перед повторною генерацією.",
|
||
"instruct_category_conflict": "У межах однієї категорії вибрано дві суперечливі опції дизайну голосу (наприклад, дві статі). Очистіть одну з них перед повторною генерацією.",
|
||
"ref_audio_unusable": "У референсному аудіо не чути мовлення — кліп тихий або повністю беззвучний, тож голосу для клонування немає. Запишіть ще раз ближче до мікрофона (перевірте, чи вибрано правильний пристрій введення і чи рухається рівень) або виберіть інший кліп.",
|
||
"ref_audio_too_long": "Референс може тривати не більше 20 секунд із транскрипцією або 75 секунд без неї. Обріжте його до чіткого мовного уривка тривалістю 3–10 секунд; якщо додаєте текст, обріжте транскрипцію до того самого уривка.",
|
||
"ref_audio_no_speech": "Автоматичне розпізнавання не виявило мовлення в референсі. Обріжте його до чіткого мовного уривка тривалістю 3–10 секунд або додайте відповідну транскрипцію."
|
||
},
|
||
"sharing": {
|
||
"title": "Спільне використання та віддалений доступ",
|
||
"help": "Надайте цей запущений екземпляр VoiceStudio іншим вашим машинам, не перезапускаючи його. За замовчуванням встановлено лише зворотний зв’язок — нічого не надається, доки ви не ввімкнете його тут.",
|
||
"local_network": "Локальна мережа",
|
||
"local_help": "Поділіться через Wi-Fi / Ethernet за допомогою одноразового PIN-коду доступу. Інші пристрої сканують QR-код або відкривають посилання.",
|
||
"ports_title": "Порти",
|
||
"ports_help": "Вони встановлюються за допомогою змінних середовища, які зчитуються під час запуску. Змініть серверну частину або порт інтерфейсу користувача, установивши змінну та перезапустивши VoiceStudio.",
|
||
"backend_port": "Внутрішній порт",
|
||
"ui_port": "порт інтерфейсу користувача",
|
||
"lan_share_port": "LAN-спільний порт",
|
||
"port_error": "Введіть порт між 1024 і 65535",
|
||
"port_saved": "Спільний порт локальної мережі збережено — застосовується наступного разу, коли ви ввімкнете спільний доступ",
|
||
"port_save_failed": "Не вдалося зберегти порт: {{message}}",
|
||
"saving": "Збереження…",
|
||
"ports_note": "Порти серверної частини та інтерфейсу користувача застосовуються після перезавантаження. Порт спільного доступу до локальної мережі буде застосовано наступного разу, коли ви ввімкнете спільний доступ.",
|
||
"tailscale_title": "Tailscale (приватний віддалений доступ)",
|
||
"tailscale_checking": "Перевірка хвостової шкали…",
|
||
"tailscale_absent": "Хвостова луска не виявлена. Установіть його, щоб безпечно зв’язатися з VoiceStudio з будь-якої точки вашої приватної мережі.",
|
||
"tailscale_install": "Встановити Tailscale",
|
||
"tailscale_running": "Хвостова луска біжить. Обслуговуйте VoiceStudio через приватну мережу.",
|
||
"tailscale_not_logged_in": "Tailscale встановлено, але ви не ввійшли в систему. Спочатку запустіть і ввійдіть у Tailscale.",
|
||
"tailscale_enabled": "Подача хвостової шкали ввімкнена",
|
||
"tailscale_enable_failed": "Не вдалося ввімкнути Tailscale",
|
||
"tailscale_enable_error": "Не вдалося ввімкнути Tailscale: {{message}}",
|
||
"tailscale_disabled": "Подача хвостової шкали вимкнена",
|
||
"tailscale_disable_failed": "Не вдалося вимкнути Tailscale",
|
||
"tailscale_disable_error": "Не вдалося вимкнути хвостову шкалу: {{message}}",
|
||
"tailscale_enabling": "Увімкнення…",
|
||
"tailscale_enable_btn": "Увімкнути службу Tailscale",
|
||
"tailscale_disabling": "Вимкнення…",
|
||
"tailscale_disable_btn": "Зупинити подачу Tailscale",
|
||
"tailscale_copy": "Копіювати посилання",
|
||
"tailscale_open": "Відкрити в браузері",
|
||
"copied": "Скопійовано",
|
||
"tailscale_qr_alt": "QR-код для URL-адреси Tailscale"
|
||
},
|
||
"reportBug": {
|
||
"label": "Повідомити про помилку",
|
||
"title": "Відкриває попередньо заповнену сторінку проблем GitHub у вашому браузері. Нічого не буде надіслано, доки ви не натиснете Надіслати.",
|
||
"staleTitle": "Доступне оновлення",
|
||
"staleMessage": "Ви використовуєте VoiceStudio {{current}}, але вже вийшла версія {{latest}} — можливо, цю помилку там виправлено. Переглянути останній випуск перед надсиланням?",
|
||
"staleView": "Переглянути оновлення",
|
||
"staleFileAnyway": "Все одно повідомити"
|
||
},
|
||
"app": {
|
||
"loading": "Завантаження…",
|
||
"trimmed_loaded": "Завантажено обрізаний звук",
|
||
"toast_exported": "Експортовано: {{name}}",
|
||
"toast_export_failed": "Помилка експорту: {{message}}",
|
||
"toast_open_folder_failed": "Не вдалося відкрити папку: {{message}}",
|
||
"toast_saving": "Збереження {{name}}...",
|
||
"toast_saved": "Збережено: {{path}}",
|
||
"toast_save_error": "Помилка збереження: {{message}}",
|
||
"toast_processing": "Обробка {{name}}...",
|
||
"toast_downloaded": "Завантажено {{name}}",
|
||
"toast_download_error": "Помилка завантаження: {{message}}",
|
||
"toast_upload_first": "Будь ласка, спочатку натисніть «Завантажити та транскрибувати», щоб відео було оброблено на сервері перед збереженням.",
|
||
"toast_save_failed": "Не вдалося зберегти: {{message}}",
|
||
"toast_opened": "Відкрито: {{name}}",
|
||
"toast_project_deleted": "Проект видалено",
|
||
"toast_restored_state": "Відновлено стан попереднього покоління",
|
||
"toast_history_deleted": "Елемент історії видалено",
|
||
"toast_flushed": "Очищено — RAM {{ram}}G · VRAM {{vram}}G{{unloaded}}",
|
||
"toast_model_unloaded": "· модель ненавантажена",
|
||
"toast_flush_failed": "Помилка очищення: {{message}}",
|
||
"toast_project_saved": "Проект збережено",
|
||
"toast_project_created": "Проект створено"
|
||
},
|
||
"update": {
|
||
"available": "Доступне оновлення {{version}}",
|
||
"install": "Встановити та перезапустити",
|
||
"install_hint": "Завантажити оновлення та перезапустити в новій версії",
|
||
"downloading": "Оновлення… {{pct}}%",
|
||
"restart": "Перезапустити для оновлення",
|
||
"busy": "Зачекайте, доки завершиться поточна робота — потім встановіть оновлення.",
|
||
"whats_new": "Що нового",
|
||
"failed": "Не вдалося оновити",
|
||
"retry": "Повторіть спробу",
|
||
"dismiss": "Відхилити",
|
||
"toast_available": "VoiceStudio {{version}} доступна",
|
||
"toast_install": "Встановити та перезапустити",
|
||
"toast_whats_new": "Що нового",
|
||
"toast_later": "Пізніше"
|
||
},
|
||
"archetypes": {
|
||
"featured": "Рекомендовані",
|
||
"browse_all": "Переглянути все",
|
||
"use_narration": "Розповідь і історія",
|
||
"use_conversational": "Розмовний",
|
||
"use_characters": "Персонажі та анімація",
|
||
"use_social": "Соціальні медіа",
|
||
"use_entertainment": "Розваги та телебачення",
|
||
"use_advertisement": "Оголошення",
|
||
"use_informative": "Інформаційно-навчальний",
|
||
"facet_gender": "Стать",
|
||
"facet_age": "Вік",
|
||
"facet_pitch": "крок",
|
||
"facet_accent": "Акцент",
|
||
"facet_lang": "Мова",
|
||
"facet_whisper": "Шепіт"
|
||
},
|
||
"support": {
|
||
"tab_support": "Підтримка",
|
||
"tab_license": "Комерційна ліцензія",
|
||
"toggle_label": "Підтримка або комерційна ліцензія",
|
||
"other_ways": "Інші способи допомоги",
|
||
"star_github": "Зірка на GitHub",
|
||
"join_discord": "Приєднуйтесь до Discord"
|
||
},
|
||
"updates": {
|
||
"tab": "Оновлення",
|
||
"up_to_date": "Актуально · v{{version}}",
|
||
"check_now": "Перевір зараз",
|
||
"releases": "Релізи",
|
||
"current": "поточний",
|
||
"prerelease": "попередній перегляд",
|
||
"loading": "Завантаження випусків…",
|
||
"none": "Випусків не знайдено",
|
||
"load_error": "Не вдалося завантажити випуски (офлайн?)",
|
||
"retry_load": "Повторіть спробу"
|
||
},
|
||
"firstrun": {
|
||
"backend_stop_failed": "VoiceStudio не вдалося безпечно зупинити попередній бекенд. Закрийте інші вікна або процеси VoiceStudio та повторіть спробу.",
|
||
"loading": "Підготовка налаштування…",
|
||
"title": "Налаштування VoiceStudio",
|
||
"subtitle": "Поки нічого не встановлено — перегляньте, куди все буде збережено, і починайте. Потім це можна змінити в Налаштуваннях.",
|
||
"language": "Мова",
|
||
"mode_title": "Режим встановлення",
|
||
"mode_installed": "Встановлений",
|
||
"mode_installed_desc": "Використовує стандартні системні теки. Рекомендовано більшості.",
|
||
"mode_portable": "Портативний",
|
||
"mode_portable_desc": "Усе зберігається в одній теці поряд із застосунком — переносьте її цілком на інший диск чи комп'ютер.",
|
||
"mode_portable_unavailable": "Недоступно: тека поряд із застосунком недоступна для запису.",
|
||
"storage_title": "Сховище",
|
||
"portable_folder": "Портативна тека",
|
||
"portable_folder_desc": "Середовище, моделі та ваші голосові дані — одна тека, повністю переносна.",
|
||
"portable_moved": "Записується поруч із застосунком як відносний шлях, тож перенесення застосунку та цієї теки разом — навіть на інший комп'ютер чи літеру диска — зберігає працездатність встановлення.",
|
||
"portable_moved_machine_bound": "Це точне розташування запам'ятовується на цьому комп'ютері. Якщо застосунок або цю теку буде переміщено, чи ви скористаєтеся іншим комп'ютером, шлях доведеться вказати знову.",
|
||
"env_dir": "Середовище застосунку",
|
||
"env_dir_desc": "Python та бібліотеки ШІ.",
|
||
"data_dir": "Голосові дані та проєкти",
|
||
"data_dir_desc": "Ваші голоси, дубляжі, результати та база даних проєктів.",
|
||
"models_dir": "Кеш моделей",
|
||
"models_dir_desc": "Завантажені моделі ШІ — найбільша та найлегша до переносу частина.",
|
||
"needs": "потрібно ~{{size}}",
|
||
"free": "вільно {{size}}",
|
||
"checking": "перевірка…",
|
||
"not_writable": "запис неможливий",
|
||
"change": "Змінити…",
|
||
"compute_title": "Обчислення",
|
||
"compute_label": "GPU / прискорювач",
|
||
"compute_auto": "Авто (NVIDIA CUDA / Apple MPS / CPU)",
|
||
"compute_rocm": "GPU AMD (ROCm, Linux)",
|
||
"channel_label": "Канал оновлень",
|
||
"channel_stable": "Стабільний",
|
||
"channel_preview": "Попередній (останній main)",
|
||
"network_title": "Мережа",
|
||
"region_label": "Регіон завантаження",
|
||
"mirrors_title": "Власні дзеркала (додатково)",
|
||
"mirror_pypi": "URL індексу PyPI",
|
||
"mirror_hf": "Endpoint Hugging Face",
|
||
"mirror_python": "Дзеркало завантажень Python",
|
||
"insufficient_space": "Недостатньо місця: ця схема потребує ~{{need}} на одному диску, доступно лише {{free}}. Виберіть інше розташування.",
|
||
"blocked_not_writable": "Вибрана тека недоступна для запису — виберіть інше розташування.",
|
||
"total_required": "Загалом потрібно: ~{{size}} (одноразове завантаження під час першого використання)",
|
||
"start": "Почати встановлення",
|
||
"starting": "Запуск…",
|
||
"compute_detected": "Виявлено",
|
||
"compute_match": "відповідає цій машині",
|
||
"compute_auto_desc": "Обирає найкращий бекенд цієї машини під час запуску — CUDA на NVIDIA, MPS на Apple Silicon, інакше CPU.",
|
||
"compute_rocm_desc": "Встановлює ROCm-збірки PyTorch для відеокарт AMD у Linux. Якщо не впевнені — залиште «Авто».",
|
||
"channel_stable_desc": "Лише перевірені релізи — оновлення надходять після перевірки спільнотою.",
|
||
"channel_preview_desc": "Ковзні збірки з останнього main — нові рушії та виправлення першими, зрідка з шорсткостями.",
|
||
"installing_title": "Встановлення",
|
||
"activity_title": "Журнал",
|
||
"stage_setup": "Налаштування",
|
||
"stage_models": "Моделі та рушії",
|
||
"chip_required": "обов’язково",
|
||
"chip_optional": "опційно",
|
||
"chip_engine": "рушій",
|
||
"lib_download": "Завантажити",
|
||
"lib_downloading": "завантаження…",
|
||
"lib_use": "Використати",
|
||
"lib_active": "активний",
|
||
"lib_in_settings": "встановити пізніше в налаштуваннях",
|
||
"lib_show_all": "Показати опційні моделі: {{count}}",
|
||
"trust_line": "Приватність понад усе: ваші голоси, записи та проєкти ніколи не залишають цю машину — без облікового запису та без хмарної обробки.",
|
||
"resume_note": "Перервані завантаження відновлюються автоматично — закривати застосунок безпечно.",
|
||
"eta_left": "залишилось ~{{eta}}",
|
||
"first_sound_text": "Вітаємо у вашій студії. Кожне слово, яке ви чуєте, щойно згенеровано на цій машині.",
|
||
"first_sound_done": "Той голос? Згенерований секунди тому, локально. Вітаємо.",
|
||
"hf_token_title": "Токен Hugging Face (необов’язково)",
|
||
"hf_token_hint": "Відкриває обмежені моделі — напр., діаризацію мовців для багатоголосого дубляжу (pyannote). Токен безкоштовного акаунта; залишається на цій машині.",
|
||
"hf_token_save": "Зберегти",
|
||
"hf_token_saving": "збереження…",
|
||
"hf_token_saved": "Токен Hugging Face збережено",
|
||
"hf_token_error": "Не вдалося зберегти токен — повторіть або задайте пізніше в Налаштування → Облікові дані.",
|
||
"chip_recommended": "рекомендований",
|
||
"chip_recommended_title": "Рекомендовано для цієї машини — необов’язково",
|
||
"size_left": "залишилося {{size}}",
|
||
"hf_token_card_title": "Додайте безкоштовний жетон Hugging Face для швидшого завантаження",
|
||
"hf_token_get": "Немає жетона? Отримайте один безкоштовно →",
|
||
"hf_token_saved_fast": "Токен Hugging Face збережено — завантаження тепер відбуваються швидше",
|
||
"hf_token_inline_prompt": "Прискоріть завантаження за допомогою безкоштовного маркера Hugging Face",
|
||
"hf_token_inline_ph": "Вставте маркер hf_… (необов’язково)",
|
||
"hf_token_get_short": "Отримайте один безкоштовно →"
|
||
},
|
||
"history": {
|
||
"dub_meta": "{{segments}} сегментів · {{duration}} с",
|
||
"dub_meta_zero": "{{count}} сегментів · {{duration}} с",
|
||
"dub_meta_one": "{{count}} сегмент · {{duration}} с",
|
||
"dub_meta_two": "{{count}} сегменти · {{duration}} с",
|
||
"dub_meta_few": "{{count}} сегменти · {{duration}} с",
|
||
"dub_meta_many": "{{count}} сегментів · {{duration}} с",
|
||
"dub_meta_other": "{{count}} сегмента · {{duration}} с",
|
||
"dub_title": "Історія дубляжу",
|
||
"empty": "Тут поки порожньо — ваші генерації з’являться праворуч.",
|
||
"empty_dub": "Ваші дублі з’являться тут.",
|
||
"title": "Історія",
|
||
"star_take": "Позначити зіркою — зберегти цей дубль",
|
||
"unstar_take": "Зняти зірку — дозволити очищення",
|
||
"play_take": "Завантажити як активний вивід",
|
||
"filter_starred": "Із зіркою",
|
||
"load_take_failed": "Не вдалося завантажити дубль: {{message}}",
|
||
"mode_clone": "Клонування",
|
||
"mode_synth": "Синтез",
|
||
"generation_seconds": "{{duration}} с",
|
||
"expand_text": "Розгорнути текст",
|
||
"collapse_text": "Згорнути текст",
|
||
"seed": "Сід {{seed}}",
|
||
"load_config": "Завантажити налаштування",
|
||
"delete_confirm": "Видалити цей елемент історії?"
|
||
},
|
||
"openapi": {
|
||
"title": "API VoiceStudio",
|
||
"loading": "Завантаження специфікації API…",
|
||
"unreachable_title": "Специфікація бекенду недоступна",
|
||
"unreachable_body": "Не вдалося отримати специфікацію OpenAPI локального бекенду за адресою {{url}}. Переконайтеся, що бекенд працює, і повторіть спробу.",
|
||
"retry": "Повторити",
|
||
"copy_url": "Копіювати URL специфікації",
|
||
"copy_url_aria": "Копіювати URL /openapi.json",
|
||
"copied": "URL специфікації скопійовано",
|
||
"copy_failed": "Не вдалося скопіювати — виділіть і скопіюйте URL вище вручну.",
|
||
"open_raw": "Відкрити вихідну специфікацію",
|
||
"open_raw_aria": "Відкрити вихідний JSON OpenAPI у браузері"
|
||
},
|
||
"recording": {
|
||
"cleaned_loaded": "Запис очищено та завантажено!",
|
||
"loaded_raw": "Запис завантажено (необроблений — усунення шуму недоступне)",
|
||
"too_short": "Запис надто короткий",
|
||
"input_device": "Пристрій введення",
|
||
"default_input": "Системний за замовчуванням",
|
||
"microphone_number": "Мікрофон {{number}}",
|
||
"channels": "Канали",
|
||
"channels_auto": "Автоматично",
|
||
"channels_mono": "Моно",
|
||
"channels_stereo": "Стерео",
|
||
"input_level": "Рівень входу мікрофона",
|
||
"input_detected": "Сигнал виявлено",
|
||
"no_input_detected": "Сигнал не виявлено"
|
||
},
|
||
"pronunciation": {
|
||
"title": "Словник вимови",
|
||
"help": "Навчіть двигун вимовляти складні слова. Кожен запис замінює слово на інше написання перед синтезом, тому це стосується кожного двигуна. Охопіть запис однією мовою або залиште його глобальним. Вбудоване [[слово|переписування]] замінює словник один раз.",
|
||
"term": "термін",
|
||
"term_placeholder": "слово або фраза (наприклад, GIF)",
|
||
"replacement": "Заміна",
|
||
"replacement_placeholder": "повторне написання (наприклад, jiff)",
|
||
"scope": "Область застосування",
|
||
"global": "Глобальний",
|
||
"type": "Тип",
|
||
"type_respelling": "Переписування",
|
||
"type_ipa": "IPA",
|
||
"type_cmu": "КМУ",
|
||
"enabled": "Увімкнено",
|
||
"add": "Додати запис",
|
||
"remove": "Видалити {{term}}",
|
||
"empty": "Записів ще немає. Додайте один нижче, щоб виправити неправильно вимовлене слово.",
|
||
"test_label": "Перевірте речення",
|
||
"test_placeholder": "Введіть речення, щоб переглянути заміну…",
|
||
"test_result": "Вимовлятиметься так:",
|
||
"test_nochange": "Немає відповідних записів — озвучення як написане.",
|
||
"load_error": "Не вдалося завантажити словник вимови.",
|
||
"save_error": "Не вдалося зберегти цей запис.",
|
||
"lang_label": "Код мови (наприклад, en, de) або залиште порожнім для Global",
|
||
"enable_entry": "Увімкнути {{term}}",
|
||
"lang_placeholder": "en, de… (порожньо = глобально)",
|
||
"test_language": "Мова попереднього перегляду",
|
||
"test_global_hint": "Попередній перегляд лише глобальних записів — виберіть мову, щоб включити записи для конкретної мови.",
|
||
"test_error": "Попередній перегляд недоступний — не вдалося зв'язатися з бекендом.",
|
||
"backup_title": "Резервне копіювання та відновлення",
|
||
"backup_hint": "Завантажте словник у форматі JSON або імпортуйте записи з попереднього експорту.",
|
||
"export": "Експорт JSON",
|
||
"import": "Імпорт JSON",
|
||
"import_replace_prompt": "Замінити {{count}} наявних записів імпортованим файлом? Виберіть «Ні», щоб додати імпортовані записи до наявних.",
|
||
"import_done": "Імпортовано записів: {{count}}.",
|
||
"import_error": "Не вдалося імпортувати файл — очікувався JSON з експорту вимови.",
|
||
"export_error": "Не вдалося експортувати словник."
|
||
},
|
||
"audiobook": {
|
||
"cast": "Актори",
|
||
"cast_hint": "Призначте голос кожному [voice:NAME] у сценарії.",
|
||
"cast_empty": "Додайте теги [voice:NAME] до сценарію, щоб призначити кілька голосів.",
|
||
"cast_uses_default": "використовує голос за замовчуванням",
|
||
"markup_toolbar": "Вставити розмітку",
|
||
"insert_pause": "Пауза",
|
||
"insert_voice": "Голос",
|
||
"insert_slow": "Повільно",
|
||
"insert_fast": "Швидко",
|
||
"insert_emphasis": "Акцент",
|
||
"insert_spell": "По літерах",
|
||
"insert_reactions": "Реакції",
|
||
"stats": "{{chapters}} розділів · {{words}} слів · {{runtime}} приблизна тривалість",
|
||
"warnings_title": "Перед створенням",
|
||
"warn_unknown_voice": "Невідомий голос «{{name}}» — буде використано голос за замовчуванням",
|
||
"warn_empty_chapter": "У розділі «{{title}}» немає тексту для озвучення",
|
||
"warn_unknown_tag": "Нерозпізнаний тег {{tag}} — його буде прочитано вголос",
|
||
"untitled": "Без назви",
|
||
"dismiss": "Закрити",
|
||
"output": "Вивід",
|
||
"title": "Аудіокнига",
|
||
"subtitle": "Напишіть або імпортуйте історію, призначте голоси та експортуйте готову аудіокнигу зі справжніми розділами.",
|
||
"script": "Сценарій",
|
||
"script_placeholder": "# Розділ перший\nОдного разу... [пауза 500 мс] кінець.\n\n# Розділ другий\n[голос: оповідач] І так тривало.",
|
||
"default_voice": "Голос за умовчанням",
|
||
"engine_default": "Двигун за замовчуванням",
|
||
"preview_plan": "Попередній перегляд плану",
|
||
"stop": "Зупинити",
|
||
"stopped_note": "Зупинено — готові розділи кешовані; натисніть «Створити» знову, щоб продовжити.",
|
||
"progress_summary": "Синтез {{current}} з {{total}} розділів",
|
||
"eta": "~{{time}} залишилось",
|
||
"chapter_n": "Розділ {{n}}",
|
||
"cached_tag": "з кешу",
|
||
"failed_tag": "помилка",
|
||
"empty_hint": "Поки немає що озвучувати — натисніть «Завантажити зразок», щоб спробувати демоскрипт.",
|
||
"create": "Створити аудіокнигу",
|
||
"plan_heading": "План — {{count}} розділ(и)",
|
||
"chapter_meta": "{{spans}} проміжків · {{chars}} символів",
|
||
"synthesizing": "Синтез розділу {{current}} з {{total}} {{title}}",
|
||
"assembling": "Збірка аудіокниги…",
|
||
"ready": "Готова аудіокнига",
|
||
"download": "Завантажити",
|
||
"lyrics": "Стежте за текстом",
|
||
"format": "Формат",
|
||
"format_m4b": "M4B (розділи)",
|
||
"format_mp3": "MP3",
|
||
"loudness": "Гучність",
|
||
"loudness_off": "Гучність: вимкнено",
|
||
"loudness_acx": "Нормалізація (ACX)",
|
||
"loudness_podcast": "Нормалізація (подкаст)",
|
||
"details": "Обкладинка та деталі",
|
||
"cover": "Обкладинка",
|
||
"cover_add": "Додайте кришку",
|
||
"cover_remove": "Зняти кришку",
|
||
"meta_title": "Назва",
|
||
"meta_author": "Автор",
|
||
"meta_narrator": "Оповідач",
|
||
"meta_year": "рік",
|
||
"meta_genre": "Жанр",
|
||
"meta_description": "опис",
|
||
"preview_chapter": "Попередній перегляд розділу: {{title}}",
|
||
"cached_note": "Повторно використано {{count}} вже відтворених розділів.",
|
||
"failed_note": "{{count}} розділ(ів) не виконано — натисніть «Створити» ще раз, щоб повторити лише ці.",
|
||
"import": "Імпорт",
|
||
"import_failed": "Помилка імпорту: {{message}}",
|
||
"load_sample": "Завантажити приклад",
|
||
"load_sample_hint": "Заповніть редактор демонстраційним сценарієм із розділами, голосами персонажів, паузами й виразними тегами — спробуйте перед справжньою роботою",
|
||
"load_sample_confirm": "Замінити поточний сценарій прикладом?",
|
||
"lexicon": "Вимова",
|
||
"lex_word": "Слово",
|
||
"lex_say": "Скажіть це як…",
|
||
"lex_add": "Додайте слово",
|
||
"lex_remove": "видалити",
|
||
"markup_help": "Посилання на розмітку",
|
||
"markup_hint": "# Назва розділу · [voice:NAME] змінити голос · [pause 500ms] / [pause 1s] · [slow]…[/slow] · [fast]…[/fast] · [emphasis]…[/emphasis] · [spell]…[/spell] · Реакції (VoiceStudio): [laughter] [sigh] [confirmation-en] [question-en] [question-ah] [question-oh] [question-ei] [question-yi] [surprise-ah] [surprise-oh] [surprise-wa] [surprise-yo] [dissatisfaction-hnn]",
|
||
"language": "Мова",
|
||
"expressive": "Перевизначення продакшену",
|
||
"reset": "Скинути",
|
||
"seed": "Насіння",
|
||
"seed_ph": "Авто",
|
||
"vary_repeats": "Варіювати повторювані рядки",
|
||
"vary_repeats_help": "Надайте окремі версії однаковим рядкам замість повторного використання однієї записи.",
|
||
"emotion_help": "Градуйована емоція — застосовується тільки механізмом IndexTTS2.",
|
||
"emotion_text": "Опис емоції",
|
||
"emotion_text_ph": "напр. звучить виснажено і сумно",
|
||
"emotion_alpha": "Інтенсивність емоції"
|
||
},
|
||
"voicePanel": {
|
||
"title": "Голос",
|
||
"subtitle": "Локальний диктант мовлення в текст із моделями на пристрої.",
|
||
"enable_label": "Увімкнути голосовий диктант",
|
||
"enable_sub": "Натисніть {{shortcut}}, щоб продиктувати текст у будь-яку виділену панель.",
|
||
"mode_label": "Режим диктування",
|
||
"mode_sub": "Перемикач: натисніть один раз, щоб почати, ще раз, щоб зупинити. Утримувати: диктувати, утримуючи клавішу.",
|
||
"mode_toggle": "Перемикач",
|
||
"mode_hold": "Тримайте",
|
||
"model_label": "Модель мовлення",
|
||
"model_sub": "Виберіть модель пристрою, яка використовується для диктування.",
|
||
"badge_offline": "офлайн",
|
||
"badge_streaming": "потокове передавання",
|
||
"badge_recommended": "рекомендований",
|
||
"download_model": "Завантажити модель",
|
||
"delete_model": "Видалити модель",
|
||
"downloading": "Завантаження…",
|
||
"downloading_pct": "Завантаження {{pct}}%",
|
||
"delete_confirm": "Видалити модель мовлення \"{{label}}\"? Ви можете повторно завантажити його пізніше.",
|
||
"delete_confirm_title": "Видалити модель мовлення",
|
||
"engine_unavailable": "Система живого диктування недоступна під час цієї інсталяції. Диктування повертається до стандартного шляху транскрипції.",
|
||
"model_desc": {
|
||
"sherpa-parakeet-tdt-v3": "Швидке й точне диктування 25 європейськими мовами.",
|
||
"sherpa-parakeet-tdt-v2": "Швидкий і точний диктант лише англійською мовою.",
|
||
"sherpa-zipformer-bilingual-zh-en": "Потокова трансляція китайською та англійською мовами з живими частками.",
|
||
"sherpa-paraformer-bilingual-zh-en": "Потоковий китайський + англійський, компактна модель.",
|
||
"sherpa-zipformer-en-20m": "Маленька потокова англійська модель — найменша затримка.",
|
||
"sherpa-zipformer-zh-14m": "Маленька потокова китайська модель — найменша затримка.",
|
||
"sherpa-whisper-tiny": "Рекомендовано. Багатомовне диктування понад 90 мовами з автоматичним визначенням мови."
|
||
}
|
||
},
|
||
"profiles": {
|
||
"need_name_audio": "Потрібна назва та еталонний аудіо",
|
||
"synthesizing_preview": "Синтез попереднього перегляду для {{name}}...",
|
||
"synthesizing_segment": "Синтез сегмента...",
|
||
"preview_ready": "Попередній перегляд готовий!",
|
||
"playback_failed": "Помилка відтворення",
|
||
"preview_failed": "Помилка попереднього перегляду: {{message}}",
|
||
"saved": "Голос збережено в профілях!",
|
||
"save_failed": "Не вдалося зберегти голосовий профіль",
|
||
"locked": "Голос заблоковано! Тепер ідентичність є однаковою для всіх поколінь.",
|
||
"lock_failed": "Не вдалося заблокувати профіль",
|
||
"unlocked": "Голос розблоковано. Знову зміняться покоління.",
|
||
"unlock_failed": "Не вдалося розблокувати профіль"
|
||
},
|
||
"transcriptionPicker": {
|
||
"title": "Імпорт із транскрипції",
|
||
"search_placeholder": "Шукати транскрипції…",
|
||
"empty": "Транскрипцій ще немає. Запишіть один на вкладці «Транскрипції».",
|
||
"empty_search": "Жодна транскрипція не відповідає вашому пошуку."
|
||
},
|
||
"waveform": {
|
||
"source_missing": "Відсутній вихідний носій — можливо, цей файл переміщено або видалено. Повторно завантажте відео, щоб продовжити.",
|
||
"load_failed": "Не вдалося завантажити аудіо з цього файлу"
|
||
},
|
||
"tts": {
|
||
"routingFallback": "Працює на ЦП — цей механізм не має шляху GPU на вашій машині, тому генерація буде повільнішою. {{reason}}",
|
||
"routingCaveat": "Використання GPU, але: {{reason}}",
|
||
"droppedChunks_one": "Увага: {{count}} фрагмент тексту не дав звуку, тому його немає в цьому записі. Спробуйте згенерувати ще раз — зазвичай допомагає інше зерно.",
|
||
"droppedChunks_other": "Увага: фрагментів тексту без звуку: {{count}} — їх немає в цьому записі. Спробуйте згенерувати ще раз, зазвичай допомагає інше зерно.",
|
||
"droppedChunksWithText_one": "Увага: {{count}} фрагмент тексту не дав звуку, і його немає в цьому записі — «{{text}}». Спробуйте згенерувати ще раз; зазвичай допомагає інше зерно.",
|
||
"droppedChunksWithText_other": "Увага: фрагментів тексту без звуку: {{count}} — їх немає в цьому записі: «{{text}}». Спробуйте згенерувати ще раз; зазвичай допомагає інше зерно.",
|
||
"streamingOffRemote": "Прогресивний попередній перегляд вимкнено, доки {{label}} виконує рендеринг — готовий запис відтвориться, щойно надійде."
|
||
},
|
||
"voiceSelector": {
|
||
"engineDefault": "Двигун за замовчуванням",
|
||
"clone": "Клоновані голоси",
|
||
"designed": "Розроблені голоси",
|
||
"presets": "Предустановки",
|
||
"fromVideo": "З відео",
|
||
"missingVoice": "Голос не знайдено (виберіть ще раз)",
|
||
"preview": "Попередній перегляд голосу",
|
||
"openGallery": "Відкрити в голосовій галереї",
|
||
"createVoice": "Створіть новий голос",
|
||
"gallery": "Галерея",
|
||
"addingVoice": "Додавання голосу…",
|
||
"addVoiceFailed": "Не вдалося додати цей голос"
|
||
},
|
||
"remote_gate": {
|
||
"title": "Введіть PIN-код доступу",
|
||
"body": "Цей екземпляр VoiceStudio спільно використовується в мережі. Введіть PIN-код, який відображається на хості.",
|
||
"label": "PIN доступу",
|
||
"connect": "Підключитися"
|
||
},
|
||
"remote_apikey_gate": {
|
||
"title": "Enter API key",
|
||
"body": "This backend requires an API key. Enter the value of OMNIVOICE_API_KEY set on the server.",
|
||
"label": "API key",
|
||
"connect": "Connect"
|
||
},
|
||
"contact": {
|
||
"hero_title": "Зв'яжіться",
|
||
"hero_desc": "Запитання, помилки, ліцензування або просто привітатися — ось як зі мною зв’язатися.",
|
||
"email": "Електронна пошта",
|
||
"email_desc": "Ліцензування, партнерство чи щось приватне.",
|
||
"website": "Веб-сайт",
|
||
"website_desc": "Детальніше про проект та виробника.",
|
||
"follow_title": "Стежте в X",
|
||
"follow_desc": "Нотатки до випусків, нові рушії та час від часу — що будується далі. Зручно, якщо не хочеться сидіти в чат-сервері.",
|
||
"follow_cta": "Стежити в X"
|
||
},
|
||
"permissions": {
|
||
"title": "Дозволи",
|
||
"desc": "VoiceStudio працює повністю на вашому пристрої — ці системні дозволи використовуються лише для перелічених тут функцій, і аудіо ніколи не залишає ваш комп'ютер.",
|
||
"microphone": "Мікрофон",
|
||
"microphone_why": "Використовується для диктування та запису голосу. Аудіо обробляється локально.",
|
||
"accessibility": "Універсальний доступ",
|
||
"accessibility_why": "Дозволяє диктуванню вставляти або вводити текст в інші застосунки.",
|
||
"status_granted": "Надано",
|
||
"status_denied": "Відмовлено",
|
||
"status_prompt": "Ще не запитано",
|
||
"status_unknown": "Невідомо",
|
||
"open_settings": "Відкрити налаштування",
|
||
"web_note": "Стан дозволів можна прочитати лише в настільному застосунку — у браузері доступом до мікрофона керує сам браузер."
|
||
},
|
||
"asr_missing": {
|
||
"message": "Модель розпізнавання мовлення не встановлено — ця функція потребує її для транскрипції аудіо.",
|
||
"download": "Завантажити {{label}} ({{size}} ГБ)",
|
||
"started": "Завантаження {{label}} — стежте за прогресом у Налаштування → Моделі, потім повторіть спробу.",
|
||
"install_failed": "Не вдалося розпочати завантаження: {{message}}"
|
||
},
|
||
"model_missing": {
|
||
"message": "Цю модель не завантажено на {{target}}.",
|
||
"download": "Завантажити модель",
|
||
"download_size": "Завантажити ({{size}})",
|
||
"started": "Завантаження на {{target}} розпочато — після завершення повторіть генерацію.",
|
||
"failed": "Не вдалося почати завантаження: {{message}}",
|
||
"manual_worker": "Установіть цей рушій безпосередньо на {{target}}."
|
||
},
|
||
"backend_start_failure": {
|
||
"notice": "Бекенд VoiceStudio не зміг запуститися — доки він не працює, ніщо не працюватиме.",
|
||
"view": "Переглянути причину",
|
||
"title": "Бекенд не зміг запуститися",
|
||
"intro": "Застосунок зафіксував це під час спроби запустити бекенд. Додайте цей вивід до звіту — це допоможе нам виправити проблему.",
|
||
"output_title": "Що повідомив застосунок",
|
||
"retry_hint": "Спробуйте «Повторити» в Налаштування → Журнали → Бекенд. Якщо знову не вдасться, «Очистити й повторити» перебудує середовище з нуля."
|
||
},
|
||
"crash": {
|
||
"notice_unclean": "Попередній сеанс завершився без коректного виходу {{ago}} тому. Часто це нешкідливо — комп'ютер заснув, застосунок закрили примусово або зупинилася ВМ/контейнер.",
|
||
"details_intro_unclean": "Позначку завершення попереднього запуску так і не було знято, {{ago}} тому. VoiceStudio не може визначити, чи це був збій, чи просто переривання — сон, примусове закриття або зупинка ВМ/контейнера залишають однаковий слід. Якщо зараз усе працює, нічого робити не потрібно.",
|
||
"report_needs_log": "Для цієї події не захоплено виводу помилок, тож звіт одним клацанням був би порожнім. Якщо щось справді не так, додайте останні рядки з Налаштування → Журнали → Бекенд до нового issue."
|
||
},
|
||
"gpu": {
|
||
"local": "Локально",
|
||
"picker": "Де виконуються завдання",
|
||
"tasks": "завдання",
|
||
"coverage": "лише {{ops}}",
|
||
"opLocal": "Локально — {{op}} поки не виконується віддалено",
|
||
"dictationLocal": "Диктування завжди виконується на цьому комп’ютері",
|
||
"ops": {
|
||
"tts": "TTS",
|
||
"clone": "клонування голосу",
|
||
"dub": "дубляж",
|
||
"audiobook": "рендеринг аудіокниг",
|
||
"longform": "озвучення історій",
|
||
"asr": "транскрибування"
|
||
}
|
||
},
|
||
"compute": {
|
||
"add_machine": "Додати машину",
|
||
"manage": "Налаштування віддалених воркерів",
|
||
"off_hint": "Усе виконується на цій машині. Увімкніть «Віддалено», щоб використовувати іншу.",
|
||
"quick_settings": "Обчислення — де виконуються завдання",
|
||
"remote": "Віддалено",
|
||
"title": "Де виконуються завдання",
|
||
"token_once": "Відскануйте або вставте це на іншій машині. Показується лише раз."
|
||
},
|
||
"voices": {
|
||
"active": "Активний голос",
|
||
"active_clone_recipe": "Клоновано з вашого референсного кліпу",
|
||
"cta_clone": "Перетягніть кліп на 3 с у «Голос» ←, щоб клонувати голос",
|
||
"cta_design": "Опишіть голос у «Голос» ←, щоб створити його",
|
||
"new": "Новий голос",
|
||
"none_selected": "Голос не вибрано — опишіть його, перетягніть аудіо або виберіть нижче."
|
||
},
|
||
"convert": {
|
||
"source_kicker": "Вихідний кліп",
|
||
"drop_audio": "Перетягніть кліп для перетворення — або натисніть. WAV, MP3, M4A…",
|
||
"target_voice": "Цільовий голос",
|
||
"pick_voice": "Виберіть голосовий профіль…",
|
||
"match_duration": "Підігнати під тривалість джерела",
|
||
"match_duration_hint": "Розтягує результат у часі (зі збереженням висоти тону), щоб наблизити його до тривалості вихідного кліпу.",
|
||
"convert": "Перетворити",
|
||
"converting": "Перетворення…",
|
||
"transcript": "Що було почуто",
|
||
"result_kicker": "Перетворений дубль",
|
||
"need_source_and_voice": "Спочатку додайте вихідний кліп і виберіть цільовий голос."
|
||
}
|
||
}
|