{
"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_app_updates": "Проверять обновления 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": "Не удалось проверить обновления. Проверьте подключение к Интернету."
}
}