{ "language": { "display_name": "Русский (Russian)", "select_language": "Выберите язык:", "current_language": "Текущий язык: {language}", "restart_required": "Изменения языка вступят в силу после перезапуска приложения.", "english": "Английский", "spanish": "Испанский", "portuguese": "Португальский", "russian": "Русский", "chinese": "中文 (简体) (Chinese Simplified)", "german": "Немецкий", "french": "Французский", "hindi": "Хинди", "indonesian": "Индонезийский", "turkish": "Турецкий", "polish": "Польский", "italian": "Итальянский", "arabic": "Арабский", "japanese": "Японский", "help_text": "Выберите предпочитаемый язык для интерфейса.", "restart_notice": "Изменение языка вступит в силу после перезапуска приложения." }, "app": { "title": "YTSage", "version": "v{version}", "ready": "Готово" }, "formats": { "show_formats": "Показать форматы:", "video_format": "Видео формат:", "audio_format": "Аудио формат:", "no_formats": "Форматы недоступны", "loading": "Загрузка форматов...", "select": "Выбрать", "quality": "Качество", "extension": "Расширение", "resolution": "Разрешение", "file_size": "Размер файла", "codec": "Кодек", "audio": "Аудио", "fps": "Кадр/с", "hdr": "HDR", "will_merge_audio": "Объединит аудио", "has_audio": "✓ Есть аудио", "audio_only": "Только аудио", "best_4k": "Лучшее (4K)", "best_2k": "Лучшее (2K)", "high_1080p": "Высокое (1080p)", "high_720p": "Высокое (720p)", "medium_480p": "Среднее (480p)", "low_quality": "Низкое качество", "best_audio": "Лучшее аудио", "high_audio": "Высокое аудио", "medium_audio": "Среднее аудио", "low_audio": "Низкое аудио", "audio_only_resolution": "Только аудио" }, "buttons": { "reset": "Сброс", "download": "Скачать", "pause": "Пауза", "resume": "Продолжить", "cancel": "Отмена", "browse": "Обзор", "clear": "Очистить", "ok": "OK", "apply": "Применить", "close": "Закрыть", "run_command": "Выполнить команду", "custom_command_help": "Помощь", "about": "О программе", "analyze": "Анализировать", "paste_url": "Вставить URL", "select_videos": "Выбрать видео...", "video": "Видео", "audio_only": "Только аудио", "custom_options": "Пользовательские опции", "trim_video": "Обрезать видео", "download_settings": "Настройки загрузки", "update": "Обновить yt-dlp", "select_defaults": "Выбрать по умолчанию", "select_all": "Выбрать всё", "deselect_all": "Снять выделение", "open_folder": "Открыть расположение папки", "history": "История" }, "dialogs": { "custom_options": "Пользовательские опции", "settings": "Настройки", "select_folder": "Выбрать папку загрузки", "sponsorblock_categories": "Категории SponsorBlock", "sponsorblock_description": "Выберите типы сегментов видео, которые будут автоматически удалены во время загрузки.\nSponsorBlock использует данные, отправленные сообществом, для идентификации этих сегментов.", "select_subtitles": "Выбрать субтитры", "filter_languages_placeholder": "Фильтр языков (например, en, ru)...", "no_subtitles_available": "Субтитры недоступны", "matching": "соответствующие", "ytdlp_log_title": "Журнал yt-dlp" }, "tabs": { "cookies": "Войти через Cookie", "custom_command": "Пользовательская команда", "proxy": "Прокси", "language": "Язык", "updater": "Обновление" }, "cookies": { "help_text": "Выберите способ предоставления cookie для входа в систему.\nЭто позволяет загружать приватные видео и аудио премиум качества.", "cookie_source": "Источник Cookie", "use_cookie_file": "Использовать файл cookie", "extract_from_browser": "Извлечь из браузера", "recommended": "Рекомендуется", "cookie_file": "Файл Cookie", "cookie_file_placeholder": "Путь к файлу cookies.txt...", "browser_selection": "Выбор браузера", "browser_help": "Выберите браузер для извлечения cookie:", "browser_label": "Браузер:", "profile_label": "Профиль:", "profile_placeholder": "по умолчанию", "browser_extract_message": "Cookie браузера будут извлечены при применении", "file_selected_message": "Файл cookie выбран - Нажмите OK для применения", "select_file_title": "Выбрать файл Cookie", "file_filter": "Файлы cookie (*.txt *.lwp)", "file_selected_title": "Файл Cookie применён", "file_applied_message": "Файл cookie применён: {path}", "browser_selected_title": "Cookie браузера применены", "browser_applied_message": "Cookie браузера будут извлечены из: {browser}", "cleared_title": "Cookie очищены", "cleared_message": "Настройки cookie были очищены", "active_browser": "✓ Активны: cookie браузера ({browser})", "active_file": "✓ Активен: файл cookie ({file})", "none_active": "○ Нет активных cookie" }, "custom_command": { "help_text": "Введите пользовательскую команду yt-dlp ниже. Текущий URL будет добавлен автоматически.

Для полного списка опций и примеров использования, нажмите здесь для просмотра официальной документации yt-dlp.

Примечание: Путь загрузки и шаблон имени файла будут обработаны автоматически.", "input_label": "Аргументы yt-dlp:", "input_placeholder": "Введите аргументы yt-dlp здесь...\n\nнапример: --extract-audio --audio-format mp3", "output_label": "Вывод команды:", "output_placeholder": "Вывод команды появится здесь...", "command_placeholder": "Введите пользовательскую команду yt-dlp...", "command_help": "Доступные заполнители:\n{url} - URL видео\n{output} - Выходной каталог\n\nПример: --write-info-json --write-thumbnail", "full_command": "🔧 Полная команда: {command}", "command_success": "✅ Пользовательская команда выполнена успешно!", "command_failed": "❌ Команда завершилась с кодом ошибки {code}", "command_error": "❌ Ошибка выполнения пользовательской команды: {error}", "error_no_url": "❌ Ошибка: URL не указан. Введите URL в главном окне.", "error_no_command": "❌ Ошибка: команда не указана. Введите аргументы yt-dlp.", "executing": "🚀 Выполняется пользовательская команда yt-dlp", "url_label": "📍 URL: {url}", "args_label": "⚙️ Аргументы: {command}", "download_path_label": "📁 Путь загрузки: {path}", "separator": "==================================================" }, "proxy": { "help_text": "Настройте параметры прокси для загрузки. Оставьте пустым для прямого подключения.", "main_proxy": "Основной прокси", "main_proxy_help": "Основной прокси-сервер для всех загрузок. Поддерживает протоколы HTTP/HTTPS и SOCKS5.", "proxy_url_label": "URL прокси:", "proxy_url_placeholder": "http://proxy:port или socks5://proxy:port", "proxy_examples": "Примеры:\n• HTTP: http://proxy.example.com:8080\n• SOCKS5: socks5://proxy.example.com:1080", "geo_proxy": "Прокси для обхода географических ограничений", "geo_proxy_help": "Вторичный прокси специально для обхода географических ограничений.", "geo_proxy_url_label": "URL прокси для обхода гео-ограничений:", "geo_proxy_url_placeholder": "http://geo-proxy:port", "clear_main_proxy": "Очистить основной прокси", "clear_geo_proxy": "Очистить гео-прокси", "proxy_url": "URL прокси", "proxy_placeholder": "http://proxy:port или socks5://proxy:port", "geo_bypass": "Прокси для обхода гео-ограничений", "geo_bypass_placeholder": "http://proxy:port для обхода гео-блокировок", "invalid_main_url": "Неверный формат URL основного прокси", "invalid_geo_url": "Неверный формат URL гео-прокси", "main_configured": "Основной прокси настроен", "geo_configured": "Гео-прокси настроен", "set_title": "Прокси задан", "set_message": "Основной прокси задан и сохранён: {proxy}", "geo_set_title": "Гео‑прокси задан", "geo_set_message": "Прокси для гео‑проверки задан и сохранён: {proxy}", "cleared_title": "Настройки прокси очищены", "cleared_message": "Все настройки прокси очищены и сохранены.", "saved_main": "Сохранён основной прокси: {proxy}", "saved_geo": "Сохранён гео‑прокси: {proxy}" }, "download": { "preparing": "Подготовка загрузки...", "starting": "🚀 Начинается загрузка...", "fetching_info": "🔍 Получение информации о видео...", "preparing_streams": "🎯 Подготовка видеопотоков...", "downloading_audio": "⏬ Загрузка аудио...", "downloading_video": "⏬ Загрузка видео...", "downloading_subtitle": "⏬ Загрузка субтитров...", "downloading": "⏬ Загрузка...", "completed": "✅ Загрузка завершена!", "video_completed": "✅ Загрузка видео завершена!", "audio_completed": "✅ Загрузка аудио завершена!", "subtitle_completed": "✅ Загрузка субтитров завершена!", "completed_cleaning": "✅ Загрузка завершена! Очистка...", "cancelled": "Загрузка отменена", "processing_playlist": "📋 Обработка данных плейлиста...", "paused": "Загрузка приостановлена", "resumed": "Загрузка возобновлена", "merging_formats": "✨ Постобработка: Слияние форматов...", "removing_sponsor_segments": "✨ Постобработка: Удаление рекламных сегментов...", "speed": "Скорость", "eta": "Осталось", "please_enter_url": "Пожалуйста, введите URL сначала.", "please_set_path": "Пожалуйста, установите путь загрузки сначала.", "please_enter_url_and_path": "Пожалуйста, введите URL и установите путь загрузки.", "please_select_format": "Пожалуйста, выберите формат сначала.", "downloading_fallback": "⚡ Загрузка..." }, "update": { "title": "Обновить yt-dlp", "checking": "Проверка обновлений...", "update_available": "Доступно обновление!\nТекущая версия: {current}\nПоследняя версия: {latest}", "up_to_date": "yt-dlp актуален (версия {version})", "could_not_determine": "Не удалось определить версии.", "error_comparing": "Ошибка сравнения версий: {error}", "update_available_failed": "Доступно обновление! (Сравнение не удалось)\nТекущая: {current}\nПоследняя: {latest}", "updating": "Обновление...", "initializing": "🚀 Инициализация процесса обновления...", "checking_current": "🔍 Проверка текущей установки...", "found_at": "📍 yt-dlp найден в: {path}", "error_getting_path": "❌ Ошибка получения пути yt-dlp: {error}", "updating_binary": "📦 Обновление бинарного файла yt-dlp, управляемого приложением...", "update_failed": "❌ Не удалось обновить yt-dlp. Попробуйте еще раз или проверьте подключение к интернету.", "binary_updated": "✅ Бинарный файл успешно обновлен!", "update_failed_stderr": "❌ Обновление yt-dlp не удалось: {error}", "update_timeout": "❌ Время ожидания обновления yt-dlp истекло.", "unexpected_error": "❌ Неожиданная ошибка во время обновления: {error}", "already_up_to_date": "✅ yt-dlp уже актуален!", "update_success": "✅ yt-dlp был успешно обновлен!", "already_latest": "yt-dlp актуален (версия {version})", "network_error": "❌ Ошибка сети во время обновления: {error}", "general_error": "❌ Обновление не удалось: {error}", "update_in_progress_title": "Идет обновление", "update_in_progress_message": "yt-dlp обновляется. Пожалуйста, подождите." }, "about": { "title": "О YTSage", "version": "Версия {version}", "description": "Современный загрузчик YouTube с чистым интерфейсом PySide6.", "author": "Автор: {author}", "github": "GitHub: {repo}", "system_info": "Системная информация", "loading": "🔄 Загрузка системной информации...", "refresh": "🔄", "open_logs": "📂 Логи", "logs_tooltip": "Открыть папку с логами приложения", "refreshing": "🔄 Обновление...", "refresh_failed": "Обновление не удалось", "refresh_failed_message": "Не удалось обновить информацию о версии.", "detected": "✓ Обнаружено", "missing": "✗ Отсутствует", "not_available": "Недоступно" }, "time_range": { "title": "Обрезать видео", "time_range_group": "Временной диапазон", "start_time": "Время начала (HH:MM:SS)", "end_time": "Время окончания (HH:MM:SS)", "start_placeholder": "00:00:00", "end_placeholder": "00:00:00", "start_time_placeholder": "Время начала (HH:MM:SS)", "end_time_placeholder": "Время окончания (HH:MM:SS)", "force_keyframes": "Принудительные ключевые кадры в точках обрезки", "help_text": "Установите время начала и окончания для обрезки видео.\nОставьте пустым для загрузки полного видео.", "invalid_format": "Неверный формат времени. Используйте формат HH:MM:SS.", "start_after_end": "Время начала не может быть после времени окончания." }, "settings": { "title": "Настройки загрузки", "download_path": "Путь загрузки", "browse": "Обзор...", "speed_limit": "Ограничение скорости", "speed_limit_placeholder": "Нет", "generic_mode": "Универсальный режим", "enable_generic_mode": "Включить универсальный режим (поддержка сайтов не только YouTube)", "generic_mode_help": "Позволяет скачивать с Dailymotion, CBC Gem и других сайтов, поддерживаемых yt-dlp.", "auto_update_ytdlp": "Автообновление yt-dlp", "enable_auto_updates": "Включить автоматические обновления yt-dlp", "update_frequency": "Частота обновления:", "check_startup": "Проверять при каждом запуске (минимум 1 час между проверками)", "check_daily": "Проверять ежедневно", "check_weekly": "Проверять еженедельно", "check_updates_now": "Обновить yt-dlp", "update_check_title": "Проверка обновлений", "could_not_determine_version": "Не удалось определить текущую версию yt-dlp.", "update_available_dialog": "Доступно обновление!\n\nТекущая: {current}\nПоследняя: {latest}\n\nНажмите OK для продолжения обновления.", "up_to_date_dialog": "yt-dlp актуален!\n\nТекущая версия: {version}", "error_checking_updates": "Ошибка проверки обновлений: {error}", "settings_saved_title": "Настройки сохранены", "settings_saved_message": "Настройки автообновления успешно сохранены!", "error_title": "Ошибка", "failed_save_settings": "Не удалось сохранить настройки автообновления.", "error_saving_settings": "Ошибка сохранения настроек автообновления: {error}", "ytdlp_channel": "Канал выпуска yt-dlp", "ytdlp_channel_stable": "Стабильный (Протестированные релизы)", "ytdlp_channel_nightly": "Nightly (Ежедневные обновления, рекомендовано yt-dlp)", "ytdlp_channel_description": "Выберите между стабильными и nightly релизами. Nightly сборки обновляются ежедневно с последними исправлениями и функциями. Вы можете переключать каналы в любое время.", "ytdlp_switching_channel": "Переключение на канал {channel}...", "ytdlp_channel_switched": "✅ Успешно переключено на канал {channel}!", "ytdlp_channel_switch_failed": "❌ Не удалось переключить канал: {error}", "ytdlp_current_channel": "Текущий канал: {channel}", "app_updates_title": "Обновления YTSage", "check_beta_updates": "Получать бета-обновления", "auto_update_title": "Настройки автообновления", "auto_update_header": "🔄 Настройки автообновления", "auto_update_description": "Настройте автоматические обновления для yt-dlp, чтобы всегда иметь последние функции и исправления ошибок.", "current_status": "Текущий статус", "current_version_label": "Текущая версия yt-dlp: Проверка...", "last_check_label": "Последняя проверка обновлений: Никогда", "next_check_label": "Следующая проверка: Основана на настройках", "manual_check_button": "🔍 Проверить обновления сейчас", "update_frequency_group": "Частота обновления", "save_settings": "Сохранить настройки", "settings_saved_successfully": "✅ Настройки успешно сохранены!", "error_saving": "❌ Ошибка сохранения настроек: {error}", "output_format_settings": "Настройки выходного формата", "force_output_format": "Принудительно задать выходной формат при объединении", "preferred_format": "Предпочтительный формат:", "force_format_help": "Когда включено, объединённые видео будут конвертированы в ваш предпочтительный формат. Отключите, чтобы yt-dlp решал автоматически.", "format_mp4": "MP4 (Наиболее совместимый)", "format_webm": "WebM (Современный, открытый)", "format_mkv": "MKV (Многофункциональный)", "audio_format_settings": "Настройки формата аудио", "force_audio_format": "Принудительный формат аудио для загрузки только аудио", "preferred_audio_format": "Предпочтительный формат аудио:", "force_audio_format_help": "При включении загрузки только аудио будут конвертированы в ваш предпочтительный формат. Это применяется только при загрузке аудио форматов.", "audio_format_best": "Лучшее (Без конвертации)", "audio_format_aac": "AAC (Хорошо для редактирования)", "audio_format_mp3": "MP3 (Универсальный)", "audio_format_flac": "FLAC (Без потерь)", "audio_format_wav": "WAV (Несжатый)", "audio_format_opus": "Opus (Эффективный)", "audio_format_m4a": "M4A (Apple)", "audio_format_vorbis": "Vorbis (Открытый)", "filename_format": "Формат имени файла", "filename_format_help": "Доступные переменные: %(title)s, %(uploader)s, %(upload_date)s, %(resolution)s, %(id)s, %(ext)s. Поддерживается стандартный синтаксис шаблона вывода yt-dlp." }, "main_ui": { "url_placeholder": "Введите URL видео или плейлиста YouTube", "url_placeholder_generic": "Введите URL видео или плейлиста с любого поддерживаемого сайта", "merge_subtitles": "Объединить субтитры", "save_thumbnail": "Сохранить миниатюру", "save_description": "Сохранить описание", "embed_chapters": "Встроить главы", "subtitles_selected": "выбрано: {count}", "all_selected": "Все выбраны", "select_videos_all": "Выбрать видео... (Все выбраны)", "please_enter_url": "Пожалуйста, введите URL сначала", "error_title": "Ошибка", "cookie_file_selected_title": "Файл Cookie выбран", "cookie_file_selected_message": "Файл cookie выбран: {path}", "browser_cookies_selected_title": "Cookie браузера выбраны", "browser_cookies_selected_message": "Cookie браузера будут извлечены из: {browser}", "error_no_format_info": "Ошибка: Информация о формате недоступна.", "error_extract_info": "Ошибка: Не удалось извлечь базовую информацию о видео. Проверьте вашу ссылку.", "analyzing_preparing": "Подготовка запроса...", "analyzing_extracting_basic": "Извлечение базовой информации...", "analyzing_extracting_detailed": "Извлечение подробной информации...", "analyzing_processing_video": "Обработка данных видео...", "analyzing_processing_formats": "Обработка форматов...", "analyzing_loading_thumbnail": "Загрузка миниатюры...", "analyzing_processing_subtitles": "Обработка субтитров...", "analyzing_updating_table": "Обновление таблицы форматов...", "analysis_complete": "Анализ завершен!", "analyzing_fetching_first_video": "Получение форматов для первого видео...", "analyzing_extracting_ytdlp": "Извлечение информации...", "analyzing_processing_data": "Обработка данных...", "analyzing_processing_formats_ytdlp": "Обработка форматов...", "analyzing_loading_thumbnail_ytdlp": "Загрузка миниатюры...", "analyzing_processing_subtitles_ytdlp": "Обработка субтитров...", "select_subtitles": "Выбрать субтитры...", "sponsorblock_categories": "Категории SponsorBlock...", "invalid_url_or_enter": "Неверный URL или пожалуйста введите URL.", "zero_selected": "0 выбрано", "analyze_first_tooltip": "Пожалуйста, сначала проанализируйте видео", "audio_mode_disabled": "Недоступно в режиме только аудио", "select_subtitles_first": "Пожалуйста, сначала выберите субтитры", "settings_tooltip": "Текущий путь: {path}\nЛимит скорости: {speed_limit}", "speed_limit_none": "Нет", "open_folder_error": "Не удалось открыть папку: {error}", "time_range_set": "Установлен участок: {section}" }, "sponsorblock": { "sponsor": "Спонсор", "sponsor_desc": "Платная реклама, платные рефералы и прямая реклама", "selfpromo": "Неоплачиваемая/Собственная реклама", "selfpromo_desc": "Неоплачиваемая реклама собственного контента создателей", "interaction": "Напоминание о взаимодействии", "interaction_desc": "Просьба к зрителям поставить лайк, подписаться или подписаться в социальных сетях", "intro": "Вступление", "intro_desc": "Вступление к видео, которое можно пропустить", "outro": "Концовка/Финальные карточки", "outro_desc": "Титры или когда видео заканчивается", "preview": "Предварительный просмотр/Краткое изложение", "preview_desc": "Краткое изложение предыдущих видео или предварительный просмотр предстоящего", "music_offtopic": "Немузыкальная секция", "music_offtopic_desc": "Только для музыкальных видео. Отмечает немузыкальные секции", "filler": "Отступление-заполнитель", "filler_desc": "Касательные сцены, добавленные только для заполнения или юмора" }, "video_info": { "channel": "Канал", "views": "👁 Просмотры", "likes": "👍 Лайки", "upload_date": "📅 Дата загрузки", "duration": "⏱ Продолжительность", "unknown_channel": "Неизвестный канал", "unknown_date": "Неизвестная дата", "unknown_title": "Неизвестный заголовок" }, "command": { "running": "Выполняется...", "run_command": "Выполнить команду" }, "selection": { "none_selected": "0 выбрано", "one_selected": "1 категория выбрана", "count_selected": "выбрано: {count}" }, "status": { "ready": "Готово", "file_exists": "⚠️ Файл уже существует", "video_file_exists": "⚠️ Видеофайл уже существует", "audio_file_exists": "⚠️ Аудиофайл уже существует", "subtitle_file_exists": "⚠️ Файл субтитров уже существует", "cancelling": "Отмена загрузки...", "thumbnail_saved": "✅ Миниатюра сохранена: {filename}", "thumbnail_error": "❌ Ошибка миниатюры: {error}", "thumbnail_no_image": "Нет доступной миниатюры для сохранения" }, "errors": { "playlist_no_videos": "Ошибка: Плейлист не содержит действительных видео.", "playlist_no_url": "Ошибка: Не удалось получить URL для первого видео плейлиста.", "ytdlp_not_found": "Ошибка: Исполняемый файл yt-dlp не найден. Пожалуйста, сначала установите yt-dlp.", "ytdlp_not_found_path": "Ошибка: Исполняемый файл yt-dlp не найден. Это может быть связано с неправильной установкой или проблемой PATH.", "no_data_returned": "Ошибка: Данные от yt-dlp не возвращены", "no_format_info": "Ошибка: Информация о формате недоступна.", "analysis_timeout": "Ошибка: Тайм-аут анализа. Пожалуйста, попробуйте снова.", "invalid_speed_limit": "❌ Ошибка: Неверное значение ограничения скорости в настройках.", "ytdlp_failed": "Ошибка: yt-dlp завершился с ошибкой: {error}", "parse_failed": "Ошибка: Не удалось разобрать вывод yt-dlp: {error}", "analysis_failed": "Ошибка: Анализ не удался: {error}", "generic_error": "Ошибка: {error}", "download_failed_return_code_conflict": "Загрузка завершилась ошибкой с кодом {return_code}. Это может быть из-за конфликта нескольких установок yt-dlp. Попробуйте удалить системно установленный yt-dlp (например, через snap или apt) и перезапустите приложение.", "download_failed_return_code": "Загрузка не удалась, код {return_code}", "direct_command_error": "Ошибка в прямой команде: {error}" }, "update_dialog": { "title": "Доступно обновление", "new_version_available": "Доступна новая версия YTSage!", "current_version_label": "Текущая версия:", "latest_version_label": "Последняя версия:", "changelog": "Список изменений", "download_update": "Скачать обновление", "remind_later": "Напомнить позже" }, "playlist": { "unknown": "Неизвестный плейлист", "total_videos": "Всего видео: {count}", "display_format": "Плейлист: {title} | {count} видео", "select_videos_title": "Выбрать Видео из Плейлиста" }, "subtitle_selection": { "count_selected": "выбрано: {count}" }, "file_exists_dialog": { "title": "Файл уже существует", "message": "Файл уже существует:\n{filename}", "info": "Это видео уже было загружено." }, "auto_update": { "last_check_never": "Последняя проверка: Никогда", "last_check": "Последняя проверка: {time}", "next_check_disabled": "Следующая проверка: Отключена", "next_check_startup": "Следующая проверка: При запуске", "next_check_overdue": "Следующая проверка: Сейчас (просрочено)", "next_check": "Следующая проверка: {time}", "next_check_error": "Следующая проверка: Ошибка расчета", "checking": "🔄 Проверка...", "check_now": "🔍 Проверить обновления сейчас", "current_version": "Текущая версия yt-dlp: {version}" }, "url_validation": { "empty_url": "URL не может быть пустым", "invalid_format": "Недопустимый формат URL", "invalid_scheme": "URL должен начинаться с http:// или https://", "missing_domain": "Недопустимый URL: отсутствует доменное имя", "unsupported_platform": "YTSage поддерживает только URL-адреса YouTube и YouTube Music.\nДомен '{domain}' не поддерживается.", "invalid_youtu_be": "Недопустимый URL youtu.be: отсутствует ID видео" }, "ytdlp_errors": { "private_video": "Это частное видео. Вы можете загрузить его, войдя в свою учетную запись с помощью cookies.\nПерейдите в 'Пользовательские параметры' → 'Вход с помощью Cookies' → 'Извлечь cookies из браузера' для аутентификации.", "age_restricted": "Это видео имеет возрастные ограничения. Для доступа необходимо войти в систему.\nИспользуйте 'Пользовательские параметры' → 'Вход с помощью Cookies' для аутентификации с вашей учетной записью.", "geo_blocked": "Это видео недоступно в вашем регионе (геоблокировка).\nВам может понадобиться VPN или видео может быть ограничено в вашей стране.", "video_unavailable": "Это видео было удалено или больше не доступно.\nВидео могло быть удалено загрузчиком или удалено из-за нарушения правил.", "live_stream": "Это прямая трансляция, которую нельзя загрузить во время активности.\nДождитесь окончания трансляции, затем попробуйте загрузить архивную версию.", "playlist_error": "Не удается получить доступ к этому плейлисту. Он может быть частным, удаленным или пустым.\nПроверьте, существует ли плейлист и доступен ли он публично.", "network_error": "Ошибка сетевого подключения. Проверьте подключение к Интернету и повторите попытку.\nЕсли проблема сохраняется, видеосервер может быть временно недоступен.", "invalid_url": "Недопустимый или неподдерживаемый URL. Проверьте ссылку и повторите попытку.\nУбедитесь, что вы используете действительный URL YouTube, Vimeo или другой поддерживаемой платформы.", "premium_content": "Для этого контента требуется YouTube Premium или членство в канале.\nВам необходимо войти с учетной записью, имеющей доступ к этому контенту.", "copyright_blocked": "Это видео заблокировано из-за претензий по авторским правам.\nВладелец контента ограничил доступ к этому видео.", "extraction_failed": "Не удалось извлечь информацию о видео. Это может быть временной проблемой.\nПовторите попытку через несколько минут или проверьте правильность ссылки на видео.", "generic_error": "Не удалось извлечь информацию о видео. Проверьте вашу ссылку.\nТехнические детали: {error}" }, "history": { "title": "История Загрузок", "clear_all": "Очистить Всё", "clear_confirm_title": "Очистить Историю?", "clear_confirm_message": "Вы уверены? Это нельзя отменить.", "no_history": "История пока пуста", "no_history_description": "Загрузки появятся здесь", "loading": "Загрузка истории...", "search_placeholder": "Поиск...", "open_location": "Открыть Папку", "redownload": "Загрузить Снова", "remove": "Удалить", "file_not_found": "Файл не найден", "file_not_found_message": "Файл был перемещен или удален:\n{path}", "downloaded_on": "Загружено: {date}", "file_size": "Размер: {size}", "audio_download": "Аудио", "video_download": "Видео", "remove_confirm_title": "Удалить?", "remove_confirm_message": "Удалить из истории?\n\n{title}", "item_removed": "Удалено", "history_cleared": "История очищена", "entries_count": "{count} загрузок", "one_entry": "1 загрузка", "redownload_confirm_title": "Загрузить Снова?", "redownload_confirm_message": "Загрузить снова?\n\n{title}", "redownload_started": "Загрузка начата", "no_url_error": "В записи истории не найден URL", "redownload_failed": "Не удалось запустить повторную загрузку: {error}" }, "ffmpeg": { "installation_title": "Установка FFmpeg", "installation_message": "YTSage требуется FFmpeg для обработки видео.\n\nВыберите вариант установки ниже:", "install_button": "Установить FFmpeg", "manual_guide": "Руководство вручную", "installation_failed": "При установке FFmpeg возникла проблема.", "already_installed": "FFmpeg уже установлен!", "installation_complete": "Установка завершена. Вы можете закрыть это окно и продолжить использовать YTSage.", "installing": "Установка FFmpeg... Пожалуйста, подождите", "install_success": "FFmpeg успешно установлен!", "installation_complete_close": "Установка завершена. Теперь вы можете закрыть это окно и продолжить использовать YTSage.", "try_manual": "Пожалуйста, попробуйте воспользоваться руководством по ручной установке." }, "ytdlp_setup": { "required_title": "Требуется настройка yt-dlp", "description": "YTSage требует yt-dlp для загрузки видео.

yt-dlp не найден в локальном каталоге приложения. YTSage нужно настроить yt-dlp для вашей системы {os_name}.

Выберите вариант ниже:", "option_auto": "Скачать автоматически (рекомендуется)", "option_manual": "Выбрать путь вручную", "setup_button": "Настроить yt-dlp", "downloading": "Загрузка yt-dlp...", "success": "yt-dlp успешно установлен!", "error": "Ошибка: {error}", "download_failed_title": "Сбой загрузки", "download_failed_message": "Не удалось скачать yt-dlp: {error}", "select_executable_title": "Выберите исполняемый файл yt-dlp", "copied_to": "yt-dlp успешно скопирован в {path}", "setup_error_title": "Ошибка настройки", "copy_error": "Ошибка при копировании yt-dlp в каталог приложения: {error}", "invalid_executable_title": "Недопустимый исполняемый файл", "invalid_executable_message": "Выбранный файл не является корректным исполняемым файлом yt-dlp.", "verify_error": "Ошибка при проверке исполняемого файла yt-dlp: {error}", "setup_failed_title": "Настройка не удалась", "setup_failed_message": "Не удалось настроить yt-dlp. Некоторые функции могут работать некорректно.", "success_dialog_title": "Настройка yt-dlp", "success_dialog_message": "yt-dlp успешно настроен по пути:\n{path}", "file_filter_windows": "Исполняемые файлы (*.exe)", "file_filter_all": "Все файлы (*)" }, "ffmpeg_updater": { "title": "Проверка версии FFmpeg", "current_version": "Текущая версия:", "latest_version": "Последняя версия:", "status_up_to_date": "✓ Обновлено", "status_update_available": "⚠ Доступно обновление", "status_not_installed": "✗ Не установлено", "status_idle": "Нажмите 'Проверить версию' для начала", "status_checking": "🔄 Проверка версии...", "check_updates": "Проверить версию", "check_failed": "Не удалось проверить версию. Проверьте подключение к Интернету.", "description": "Проверьте версию FFmpeg и сравните ее с последней доступной версией.", "guide_info": " Для установки или обновления FFmpeg, нажмите здесь, чтобы просмотреть наше подробное руководство по установке." }, "deno": { "setup_required": "Требуется настройка Deno", "setup_description": "YTSage требует Deno для запуска определенных функций.

Deno не найден в локальном каталоге приложения. YTSage необходимо настроить Deno для вашей системы {os_name}.

Нажмите 'Настроить Deno', чтобы загрузить и установить автоматически.", "setup_button": "Настроить Deno", "downloading": "Загрузка Deno...", "extracting": "Извлечение Deno...", "verifying": "Проверка Deno...", "success": "Deno успешно установлен!", "download_failed": "Ошибка загрузки", "download_error": "Не удалось загрузить Deno: {error}", "verification_failed": "Проверка SHA256 не удалась. Загруженный файл может быть поврежден или изменен.", "setup_failed": "Не удалось настроить Deno. Некоторые функции могут работать неправильно.", "setup_error": "Ошибка настройки" }, "deno_updater": { "title": "Проверка и Обновление Версии Deno", "description": "Проверьте вашу версию Deno и обновите до последней версии.", "current_version": "Текущая Версия:", "latest_version": "Последняя Версия:", "status_idle": "Нажмите 'Проверить Обновления', чтобы начать", "status_checking": "🔄 Проверка обновлений...", "status_up_to_date": "✓ Обновлено", "status_update_available": "⚠ Доступно обновление", "status_not_installed": "✗ Не установлено", "check_updates": "Проверить Обновления", "update_now": "Обновить Deno", "updating": "🔄 Обновление Deno...", "update_success": "✅ Deno успешно обновлен!", "update_failed": "❌ Ошибка обновления: {error}", "check_failed": "Не удалось проверить обновления. Проверьте подключение к Интернету." } }