diff --git a/src/i18n/locales/ru.json b/src/i18n/locales/ru.json new file mode 100644 index 00000000..f4a8228d --- /dev/null +++ b/src/i18n/locales/ru.json @@ -0,0 +1,1427 @@ +{ + "common": { + "loading": "Загрузка...", + "cancel": "Отмена", + "save": "Сохранить", + "delete": "Удалить", + "edit": "Изменить", + "search": "Поиск", + "error": "Ошибка", + "success": "Успешно", + "ok": "ОК", + "unknown": "Неизвестно", + "retry": "Повторить", + "try_again": "Попробовать еще раз", + "go_back": "Назад", + "settings": "Настройки", + "close": "Закрыть", + "enable": "Включить", + "disable": "Выключить", + "show_more": "Показать больше", + "show_less": "Показать меньше", + "load_more": "Загрузить еще", + "unknown_date": "Дата неизвестна", + "anonymous_user": "Анонимный пользователь", + "time": { + "now": "Только что", + "minutes_ago": "{{count}} мин. назад", + "hours_ago": "{{count}} ч. назад", + "days_ago": "{{count}} дн. назад" + }, + "days_short": { + "sun": "Вс", + "mon": "Пн", + "tue": "Вт", + "wed": "Ср", + "thu": "Чт", + "fri": "Пт", + "sat": "Сб" + }, + "email": "Email", + "status": "Статус" + }, + "home": { + "categories": { + "movies": "Фильмы", + "series": "Сериалы", + "channels": "Каналы" + }, + "movies": "Фильмы", + "tv_shows": "ТВ-Шоу", + "load_more_catalogs": "Загрузить другие каталоги", + "no_content": "Контент недоступен", + "add_catalogs": "Добавить каталоги", + "sign_in_available": "Доступен вход", + "sign_in_desc": "Вы можете войти в любое время в меню Настройки → Аккаунт", + "view_all": "Смотреть все", + "this_week": "На этой неделе", + "upcoming": "Ожидаемые", + "recently_released": "Недавние релизы", + "no_scheduled_episodes": "Сериалы без расписания серий", + "check_back_later": "Зайдите позже", + "continue_watching": "Продолжить просмотр", + "up_next": "Далее", + "up_next_caps": "ДАЛЕЕ", + "released": "Выпущено", + "new": "Новое", + "tba": "Будет объявлено", + "new_episodes": "{{count}} новых серий", + "season_short": "С{{season}}", + "episode_short": "Э{{episode}}", + "season": "Сезон {{season}}", + "episode": "Серия {{episode}}", + "movie": "Фильм", + "series": "Сериал", + "tv_show": "ТВ-Шоу", + "percent_watched": "{{percent}}% просмотрено", + "view_details": "Подробнее", + "remove": "Удалить", + "play": "Смотреть", + "play_now": "Смотреть сейчас", + "resume": "Продолжить", + "info": "Инфо", + "more_info": "Больше информации", + "my_list": "Мой список", + "save": "Сохранить", + "saved": "Сохранено", + "retry": "Повторить", + "install_addons": "Установить дополнения", + "settings": "Настройки", + "no_featured_content": "Нет рекомендуемого контента", + "couldnt_load_featured": "Не удалось загрузить рекомендации", + "no_featured_desc": "Установите дополнения с каталогами или измените источник контента в настройках.", + "load_error_desc": "Произошла ошибка при загрузке рекомендаций. Проверьте соединение и попробуйте снова.", + "no_featured_available": "Рекомендации отсутствуют", + "no_description": "Описание отсутствует" + }, + "navigation": { + "home": "Главная", + "library": "Библиотека", + "search": "Поиск", + "downloads": "Загрузки", + "settings": "Настройки" + }, + "search": { + "title": "Поиск", + "recent_searches": "История поиска", + "discover": "Обзор", + "movies": "Фильмы", + "tv_shows": "ТВ-Шоу", + "select_catalog": "Выберите каталог", + "all_genres": "Все жанры", + "discovering": "Поиск контента...", + "show_more": "Показать больше ({{count}})", + "no_content_found": "Контент не найден", + "try_different": "Попробуйте другой жанр или каталог", + "select_catalog_desc": "Выберите каталог для поиска", + "tap_catalog_desc": "Нажмите на кнопку каталога выше, чтобы начать", + "placeholder": "Фильмы, сериалы...", + "keep_typing": "Продолжайте ввод...", + "type_characters": "Введите минимум 2 символа для поиска", + "no_results": "Результатов не найдено", + "try_keywords": "Попробуйте другие ключевые слова или проверьте опечатки", + "select_type": "Выберите тип", + "browse_movies": "Просмотр каталогов фильмов", + "browse_tv": "Просмотр каталогов сериалов", + "select_genre": "Выберите жанр", + "show_all_content": "Показать весь контент", + "genres_count": "Жанров: {{count}}" + }, + "library": { + "title": "Библиотека", + "watched": "Просмотрено", + "continue": "Продолжить", + "watchlist": "Список желаемого", + "collection": "Коллекция", + "rated": "С оценкой", + "items": "объектов", + "trakt_collections": "Коллекции Trakt", + "trakt_collection": "Коллекция Trakt", + "no_trakt": "Нет коллекций Trakt", + "no_trakt_desc": "Ваши коллекции Trakt появятся здесь после авторизации", + "load_collections": "Загрузить коллекции", + "empty_folder": "Нет контента в {{folder}}", + "empty_folder_desc": "Эта коллекция пуста", + "refresh": "Обновить", + "no_movies": "Фильмов пока нет", + "no_series": "Сериалов пока нет", + "no_content": "Контента пока нет", + "add_content_desc": "Добавьте контент в библиотеку, чтобы увидеть его здесь", + "find_something": "Найти что-нибудь интересное", + "removed_from_library": "Удалено из библиотеки", + "item_removed": "Объект удален из вашей библиотеки", + "failed_update_library": "Не удалось обновить библиотеку", + "unable_remove": "Не удалось удалить объект из библиотеки", + "marked_watched": "Отмечено как просмотренное", + "marked_unwatched": "Отмечено как непросмотренное", + "item_marked_watched": "Объект отмечен как просмотренный", + "item_marked_unwatched": "Объект отмечен как непросмотренный", + "failed_update_watched": "Не удалось обновить статус просмотра", + "unable_update_watched": "Не удалось обновить статус просмотра", + "added_to_library": "Добавлено в библиотеку", + "item_added": "Добавлено в локальную библиотеку", + "add_to_library": "Добавить в библиотеку", + "remove_from_library": "Удалить из библиотеки", + "mark_watched": "Отметить как просмотренное", + "mark_unwatched": "Отметить как непросмотренное", + "share": "Поделиться", + "add_to_watchlist": "Добавить в список желаемого Trakt", + "remove_from_watchlist": "Удалить из списка желаемого Trakt", + "added_to_watchlist": "Добавлено в список желаемого", + "added_to_watchlist_desc": "Объект добавлен в ваш список желаемого Trakt", + "removed_from_watchlist": "Удалено из списка желаемого", + "removed_from_watchlist_desc": "Объект удален из вашего списка желаемого Trakt", + "add_to_collection": "Добавить в коллекцию Trakt", + "remove_from_collection": "Удалить из коллекции Trakt", + "added_to_collection": "Добавлено в коллекцию", + "added_to_collection_desc": "Объект добавлен в вашу коллекцию Trakt", + "removed_from_collection": "Удалено из коллекции", + "removed_from_collection_desc": "Объект удален из вашей коллекции Trakt" + }, + "metadata": { + "unable_to_load": "Не удалось загрузить контент", + "error_code": "Код ошибки: {{code}}", + "content_not_found": "Контент не найден", + "content_not_found_desc": "Этот контент не существует или был удален.", + "server_error": "Ошибка сервера", + "server_error_desc": "Сервер временно недоступен. Попробуйте позже.", + "bad_gateway": "Плохой шлюз", + "bad_gateway_desc": "На сервере возникли проблемы. Попробуйте позже.", + "service_unavailable": "Сервис недоступен", + "service_unavailable_desc": "Сервис на техническом обслуживании. Попробуйте позже.", + "too_many_requests": "Слишком много запросов", + "too_many_requests_desc": "Вы делаете слишком много запросов. Пожалуйста, подождите.", + "request_timeout": "Время ожидания истекло", + "request_timeout_desc": "Запрос занял слишком много времени. Попробуйте снова.", + "network_error": "Ошибка сети", + "network_error_desc": "Проверьте интернет-соединение и попробуйте снова.", + "auth_error": "Ошибка аутентификации", + "auth_error_desc": "Проверьте настройки аккаунта и попробуйте снова.", + "access_denied": "Доступ запрещен", + "access_denied_desc": "У вас нет прав для доступа к этому контенту.", + "connection_error": "Ошибка подключения", + "streams_unavailable": "Потоки недоступны", + "streams_unavailable_desc": "Источники трансляции сейчас недоступны. Попробуйте позже.", + "unknown_error": "Неизвестная ошибка", + "something_went_wrong": "Что-то пошло не так. Попробуйте снова.", + "cast": "Актеры", + "more_like_this": "Похожее", + "collection": "Коллекция", + "episodes": "Серии", + "seasons": "Сезоны", + "posters": "Постеры", + "banners": "Баннеры", + "specials": "Спецвыпуски", + "season_number": "Сезон {{number}}", + "episode_count": "{{count}} серия", + "episode_count_plural": "{{count}} серий", + "no_episodes": "Серии недоступны", + "no_episodes_for_season": "Для сезона {{season}} нет доступных серий", + "episodes_not_released": "Серии еще не вышли", + "no_description": "Описание отсутствует", + "episode_label": "СЕРИЯ {{number}}", + "watch_again": "Смотреть снова", + "completed": "Завершено", + "play_episode": "Смотреть С{{season}}Э{{episode}}", + "play": "Смотреть", + "watched": "Просмотрено", + "watched_on_trakt": "Просмотрено на Trakt", + "synced_with_trakt": "Синхронизировано с Trakt", + "saved": "Сохранено", + "director": "Режиссер", + "directors": "Режиссеры", + "creator": "Создатель", + "creators": "Создатели", + "production": "Производство", + "network": "Сеть", + "mark_watched": "Отметить как просмотренное", + "mark_unwatched": "Отметить как непросмотренное", + "marking": "Отметка...", + "removing": "Удаление...", + "unmark_season": "Снять отметку с сезона {{season}}", + "mark_season": "Отметить сезон {{season}}", + "resume": "Продолжить", + "spoiler_warning": "Предупреждение о спойлерах", + "spoiler_warning_desc": "Этот комментарий содержит спойлеры. Вы уверены, что хотите его прочитать?", + "cancel": "Отмена", + "reveal_spoilers": "Показать спойлеры", + "movie_details": "Детали фильма", + "show_details": "Детали шоу", + "tagline": "Слоган", + "status": "Статус", + "release_date": "Дата выхода", + "runtime": "Длительность", + "budget": "Бюджет", + "revenue": "Сборы", + "origin_country": "Страна", + "original_language": "Оригинальный язык", + "first_air_date": "Первый выход", + "last_air_date": "Последний выход", + "total_episodes": "Всего серий", + "episode_runtime": "Длительность серии", + "created_by": "Авторы", + "backdrop_gallery": "Галерея фонов", + "loading_episodes": "Загрузка серий...", + "no_episodes_available": "Нет доступных серий", + "play_next": "Смотреть С{{season}}Э{{episode}}", + "play_next_episode": "Следующая серия", + "save": "Сохранить", + "percent_watched": "{{percent}}% просмотрено", + "percent_watched_trakt": "{{percent}}% просмотрено ({{traktPercent}}% на Trakt)", + "synced_with_trakt_progress": "Прогресс синхронизирован с Trakt", + "using_trakt_progress": "Используется прогресс Trakt", + "added_to_collection_hero": "В коллекции", + "added_to_collection_desc_hero": "Добавлено в вашу коллекцию Trakt", + "removed_from_collection_hero": "Удалено из коллекции", + "removed_from_collection_desc_hero": "Удалено из вашей коллекции Trakt", + "mark_as_watched": "Отметить как просмотренное", + "mark_as_unwatched": "Отметить как непросмотренное" + }, + "cast": { + "biography": "Биография", + "known_for": "Известность за", + "personal_info": "Личная информация", + "born_in": "Место рождения: {{place}}", + "filmography": "Фильмография", + "also_known_as": "Также известен как", + "no_info_available": "Дополнительная информация отсутствует", + "as_character": "в роли {{character}}", + "loading_details": "Загрузка деталей...", + "years_old": "{{age}} лет", + "view_filmography": "Смотреть фильмографию", + "filter": "Фильтр", + "sort_by": "Сортировать по", + "sort_popular": "Популярности", + "sort_latest": "Новизне", + "sort_upcoming": "Ожидаемым", + "upcoming_badge": "ОЖИДАЕТСЯ", + "coming_soon": "Скоро", + "filmography_count": "Фильмография • {{count}} работ", + "loading_filmography": "Загрузка фильмографии...", + "load_more_remaining": "Загрузить еще (осталось {{count}})", + "alert_error_title": "Ошибка", + "alert_error_message": "Не удалось загрузить \"{{title}}\". Попробуйте позже.", + "alert_ok": "ОК", + "no_upcoming": "У этого актера нет предстоящих релизов", + "no_content": "Контент с этим актером отсутствует", + "no_movies": "Фильмы с этим актером отсутствуют", + "no_tv": "ТВ-шоу с этим актером отсутствуют" + }, + "comments": { + "title": "Комментарии Trakt", + "spoiler_warning": "⚠️ Комментарий содержит спойлеры. Нажмите, чтобы открыть.", + "spoiler": "Спойлер", + "contains_spoilers": "Содержит спойлеры", + "reveal": "Открыть", + "vip": "VIP", + "unavailable": "Комментарии недоступны", + "no_comments": "Комментариев на Trakt пока нет", + "not_in_database": "Этого контента еще может не быть в базе Trakt", + "check_trakt": "Проверить на Trakt" + }, + "trailers": { + "title": "Трейлеры", + "official_trailers": "Официальные трейлеры", + "official_trailer": "Официальный трейлер", + "teasers": "Тизеры", + "teaser": "Тизер", + "clips_scenes": "Клипы и сцены", + "clip": "Клип", + "featurettes": "О создании", + "featurette": "Ролик", + "behind_the_scenes": "За кулисами", + "no_trailers": "Трейлеры недоступны", + "unavailable": "Трейлер недоступен", + "unavailable_desc": "Не удалось загрузить трейлер. Попробуйте позже.", + "unable_to_play": "Не удалось воспроизвести трейлер. Попробуйте еще раз.", + "watch_on_youtube": "Смотреть на YouTube" + }, + "catalog": { + "no_content_found": "Контент не найден", + "no_content_filters": "По выбранным фильтрам ничего не найдено", + "loading_content": "Загрузка контента...", + "back": "Назад", + "in_theaters": "В кинотеатрах", + "all": "Все", + "failed_tmdb": "Не удалось загрузить данные из TMDB", + "movies": "Фильмы", + "tv_shows": "ТВ-Шоу", + "channels": "Каналы" + }, + "streams": { + "back_to_episodes": "Назад к сериям", + "back_to_info": "Назад к инфо", + "fetching_from": "Загрузка из:", + "no_sources_available": "Источники трансляции не найдены", + "add_sources_desc": "Пожалуйста, добавьте источники в настройках", + "add_sources": "Добавить источники", + "finding_streams": "Поиск доступных потоков...", + "finding_best_stream": "Поиск лучшего потока для автовоспроизведения...", + "still_fetching": "Все еще ищем потоки…", + "no_streams_available": "Потоки не найдены", + "starting_best_stream": "Запуск лучшего потока...", + "loading_more_sources": "Загрузка дополнительных источников..." + }, + "player_ui": { + "via": "через {{name}}", + "audio_tracks": "Аудиодорожки", + "no_audio_tracks": "Аудиодорожки недоступны", + "playback_speed": "Скорость воспроизведения", + "on_hold": "Удержание", + "playback_error": "Ошибка воспроизведения", + "unknown_error": "Произошла неизвестная ошибка при воспроизведении.", + "copy_error": "Копировать детали ошибки", + "copied_to_clipboard": "Скопировано в буфер обмена", + "dismiss": "Закрыть", + "continue_watching": "Продолжить просмотр", + "start_over": "Начать заново", + "resume": "Продолжить", + "change_source": "Сменить источник", + "switching_source": "Переключение источника...", + "no_sources_found": "Источники не найдены", + "sources": "Источники", + "finding_sources": "Поиск источников...", + "unknown_source": "Неизвестный источник", + "sources_limited": "Список источников может быть неполным из-за ошибок провайдера.", + "episodes": "Серии", + "specials": "Спецвыпуски", + "season": "Сезон {{season}}", + "stream": "Поток {{number}}", + "subtitles": "Субтитры", + "built_in": "Встроенные", + "addons": "Дополнения", + "style": "Стиль", + "none": "Нет", + "search_online_subtitles": "Поиск субтитров онлайн", + "preview": "Предпросмотр", + "quick_presets": "Быстрые пресеты", + "default": "По умолчанию", + "yellow": "Желтый", + "high_contrast": "Высокий контраст", + "large": "Крупный", + "core": "Основные", + "font_size": "Размер шрифта", + "show_background": "Показывать фон", + "advanced": "Дополнительно", + "position": "Позиция", + "text_color": "Цвет текста", + "align": "Выравнивание", + "bottom_offset": "Отступ снизу", + "background_opacity": "Прозрачность фона", + "text_shadow": "Тень текста", + "on": "Вкл", + "off": "Выкл", + "outline_color": "Цвет контура", + "outline": "Контур", + "outline_width": "Ширина контура", + "letter_spacing": "Межсимвольный интервал", + "line_height": "Высота строки", + "timing_offset": "Смещение времени (с)", + "visual_sync": "Визуальная синхронизация", + "timing_hint": "Используйте (-), чтобы субтитры появились раньше, или (+), чтобы позже.", + "reset_defaults": "Сбросить настройки", + "mark_intro_start": "Отметить начало интро", + "mark_intro_end": "Отметить конец интро", + "intro_start_marked": "Начало интро отмечено", + "intro_submitted": "Данные об интро отправлены", + "intro_submit_failed": "Не удалось отправить данные об интро" + }, + "downloads": { + "title": "Загрузки", + "no_downloads": "Загрузок пока нет", + "no_downloads_desc": "Загруженный контент появится здесь для офлайн-просмотра", + "explore": "Обзор контента", + "path_copied": "Путь скопирован", + "path_copied_desc": "Путь к локальному файлу скопирован", + "copied": "Скопировано", + "incomplete": "Загрузка не завершена", + "incomplete_desc": "Файл еще загружается", + "not_available": "Недоступно", + "not_available_desc": "Путь к файлу доступен только после завершения загрузки.", + "status_downloading": "Загрузка", + "status_completed": "Завершено", + "status_paused": "На паузе", + "status_error": "Ошибка", + "status_queued": "В очереди", + "status_unknown": "Неизвестно", + "provider": "Провайдер", + "streaming_playlist_warning": "Может не воспроизводиться (стриминг-плейлист)", + "remaining": "осталось", + "not_ready": "Загрузка не готова", + "not_ready_desc": "Пожалуйста, дождитесь завершения загрузки.", + "filter_all": "Все", + "filter_active": "Активные", + "filter_done": "Готовые", + "filter_paused": "На паузе", + "no_filter_results": "Нет {{filter}} загрузок", + "try_different_filter": "Попробуйте другой фильтр", + "limitations_title": "Ограничения загрузки", + "limitations_msg": "• Файлы меньше 1 МБ обычно являются плейлистами M3U8 и не могут быть загружены для офлайн-просмотра. Они работают только онлайн.", + "remove_title": "Удалить загрузку", + "remove_confirm": "Удалить \"{{title}}\"{{season_episode}}?", + "cancel": "Отмена", + "remove": "Удалить" + }, + "addons": { + "title": "Дополнения", + "reorder_mode": "Режим сортировки", + "reorder_info": "Дополнения сверху имеют приоритет при загрузке контента", + "add_addon_placeholder": "URL дополнения", + "add_button": "Добавить дополнение", + "my_addons": "Мои дополнения", + "community_addons": "Дополнения сообщества", + "no_addons": "Нет установленных дополнений", + "uninstall_title": "Удалить дополнение", + "uninstall_message": "Вы уверены, что хотите удалить {{name}}?", + "uninstall_button": "Удалить", + "install_success": "Дополнение успешно установлено", + "install_error": "Ошибка установки дополнения", + "load_error": "Ошибка загрузки дополнений", + "fetch_error": "Ошибка получения данных о дополнении", + "invalid_url": "Пожалуйста, введите корректный URL", + "configure": "Настроить", + "version": "Версия: {{version}}", + "installed_addons": "УСТАНОВЛЕННЫЕ ДОПОЛНЕНИЯ", + "reorder_drag_title": "ПЕРЕТАЩИТЕ ДЛЯ СОРТИРОВКИ", + "install": "Установить", + "config_unavailable_title": "Настройка недоступна", + "config_unavailable_msg": "Не удалось определить URL конфигурации для этого дополнения.", + "cannot_open_config_title": "Не удалось открыть настройки", + "cannot_open_config_msg": "URL ({{url}}) не открывается. Возможно, у дополнения нет страницы настроек.", + "description": "Описание", + "supported_types": "Поддерживаемые типы", + "catalogs": "Каталоги", + "no_description": "Описание отсутствует", + "overview": "ОБЗОР", + "no_categories": "Нет категорий", + "pre_installed": "ПРЕДУСТАНОВЛЕНО" + }, + "trakt": { + "title": "Настройки Trakt", + "settings_title": "Настройки Trakt", + "connect_title": "Подключить Trakt", + "connect_desc": "Синхронизируйте историю, список желаемого и коллекцию с Trakt.tv", + "sign_in": "Войти в Trakt", + "sign_out": "Выйти", + "sign_out_confirm": "Вы уверены, что хотите выйти из аккаунта Trakt?", + "joined": "Вместе с нами с {{date}}", + "sync_settings_title": "Настройки синхронизации", + "sync_info": "При подключении к Trakt история синхронизируется напрямую через API и не хранится локально. Список «Продолжить просмотр» отражает ваш глобальный прогресс Trakt.", + "auto_sync_label": "Автосинхронизация прогресса", + "auto_sync_desc": "Автоматически сохранять прогресс просмотра на Trakt", + "import_history_label": "Импорт истории просмотров", + "import_history_desc": "Используйте «Синхронизировать сейчас», чтобы загрузить историю с Trakt", + "sync_now_button": "Синхронизировать сейчас", + "display_settings_title": "Настройки отображения", + "show_comments_label": "Показывать комментарии Trakt", + "show_comments_desc": "Отображать отзывы пользователей на экранах описания контента", + "maintenance_title": "Техническое обслуживание", + "maintenance_unavailable": "Trakt недоступен", + "maintenance_desc": "Интеграция с Trakt временно приостановлена для обслуживания. Синхронизация и вход отключены.", + "maintenance_button": "Сервис на обслуживании", + "auth_success_title": "Подключено успешно", + "auth_success_msg": "Ваш аккаунт Trakt успешно подключен.", + "auth_error_title": "Ошибка авторизации", + "auth_error_msg": "Не удалось выполнить авторизацию в Trakt.", + "auth_error_generic": "Произошла ошибка во время авторизации.", + "sign_out_error": "Не удалось выйти из Trakt.", + "sync_complete_title": "Синхронизация завершена", + "sync_success_msg": "Прогресс просмотра успешно синхронизирован с Trakt.", + "sync_error_msg": "Ошибка синхронизации. Попробуйте снова." + }, + "simkl": { + "title": "Настройки Simkl", + "settings_title": "Настройки Simkl", + "connect_title": "Подключить Simkl", + "connect_desc": "Синхронизируйте историю и отслеживайте свои просмотры", + "sign_in": "Войти в Simkl", + "sign_out": "Отключить", + "sign_out_confirm": "Вы уверены, что хотите отключиться от Simkl?", + "syncing_desc": "Ваши просмотры синхронизируются с Simkl.", + "auth_success_title": "Подключено успешно", + "auth_success_msg": "Ваш аккаунт Simkl успешно подключен.", + "auth_error_title": "Ошибка авторизации", + "auth_error_msg": "Не удалось выполнить авторизацию в Simkl.", + "auth_error_generic": "Произошла ошибка во время авторизации.", + "sign_out_error": "Не удалось отключиться от Simkl.", + "config_error_title": "Ошибка конфигурации", + "config_error_msg": "Simkl Client ID отсутствует в переменных окружения.", + "conflict_title": "Конфликт", + "conflict_msg": "Вы не можете подключить Simkl, пока подключен Trakt. Сначала отключите Trakt.", + "disclaimer": "Nuvio не является аффилированным лицом Simkl." + }, + "tmdb_settings": { + "title": "Настройки TMDb", + "metadata_enrichment": "Обогащение метаданных", + "metadata_enrichment_desc": "Улучшите описание контента данными из TMDb для получения подробной информации.", + "enable_enrichment": "Включить обогащение", + "enable_enrichment_desc": "Дополняет метаданные данными об актерах, рейтингах, логотипах и студиях.", + "localized_text": "Локализованный текст", + "localized_text_desc": "Загружать названия и описания на вашем языке из TMDb.", + "language": "Язык", + "change": "Изменить", + "logo_preview": "Предпросмотр логотипа", + "logo_preview_desc": "Показывает, как будут выглядеть локализованные логотипы.", + "example": "Пример:", + "no_logo": "Логотип отсутствует", + "enrichment_options": "Опции обогащения", + "enrichment_options_desc": "Выберите, какие данные запрашивать. Отключенные опции будут использовать данные дополнений.", + "cast_crew": "Актеры и команда", + "cast_crew_desc": "Актеры, режиссеры, сценаристы с фото", + "title_description": "Заголовки и описания", + "title_description_desc": "Использовать локализованные тексты из TMDb", + "title_logos": "Логотипы названий", + "title_logos_desc": "Качественные изображения названий", + "banners_backdrops": "Баннеры и фоны", + "banners_backdrops_desc": "Изображения фона в высоком разрешении", + "certification": "Возрастные рейтинги", + "certification_desc": "Рейтинги (PG-13, R, и др.)", + "recommendations": "Рекомендации", + "recommendations_desc": "Предложения похожего контента", + "episode_data": "Данные о сериях", + "episode_data_desc": "Превью серий, информация и заглушки", + "season_posters": "Постеры сезонов", + "season_posters_desc": "Изображения для конкретных сезонов", + "production_info": "Информация о производстве", + "production_info_desc": "Сети и студии с логотипами", + "movie_details": "Детали фильма", + "movie_details_desc": "Бюджет, сборы, длительность, слоган", + "tv_details": "Детали сериала", + "tv_details_desc": "Статус, количество сезонов, авторы", + "movie_collections": "Кинофраншизы", + "movie_collections_desc": "Списки связанных фильмов (Marvel, Звездные войны и т.д.)", + "api_configuration": "Настройка API", + "api_configuration_desc": "Настройте доступ к TMDb API для повышения производительности.", + "custom_api_key": "Персональный API ключ", + "custom_api_key_desc": "Используйте собственный ключ для стабильной работы и личных лимитов.", + "custom_key_active": "Персональный ключ активен", + "api_key_required": "Требуется API ключ", + "api_key_placeholder": "Вставьте ваш TMDb API ключ (v3)", + "how_to_get_key": "Как получить API ключ TMDb?", + "built_in_key_msg": "Используется встроенный ключ. Рекомендуем использовать свой.", + "cache_size": "Размер кэша", + "clear_cache": "Очистить кэш", + "cache_days": "Данные TMDB кэшируются на 7 дней для быстрой работы", + "choose_language": "Выберите язык", + "choose_language_desc": "Выберите предпочтительный язык для контента TMDb", + "popular": "Популярные", + "all_languages": "Все языки", + "search_results": "Результаты поиска", + "no_languages_found": "Языки для «{{query}}» не найдены", + "clear_search": "Очистить поиск", + "clear_cache_title": "Очистить кэш TMDB", + "clear_cache_msg": "Это удалит все кэшированные данные ({{size}}). Загрузка может временно замедлиться.", + "clear_cache_success": "Кэш TMDB успешно очищен.", + "clear_cache_error": "Ошибка при очистке кэша.", + "clear_api_key_title": "Удалить API ключ", + "clear_api_key_msg": "Вы уверены, что хотите удалить свой ключ и вернуться к стандартному?", + "clear_api_key_success": "API ключ удален", + "clear_api_key_error": "Ошибка при удалении ключа", + "empty_api_key": "Ключ не может быть пустым.", + "invalid_api_key": "Некорректный ключ. Проверьте данные.", + "save_error": "Ошибка при сохранении. Попробуйте еще раз.", + "using_builtin_key": "Используется встроенный ключ TMDb.", + "using_custom_key": "Используется ваш персональный ключ TMDb.", + "enter_custom_key": "Пожалуйста, введите и сохраните ваш ключ TMDb.", + "key_verified": "API ключ проверен и сохранен." + }, + "settings": { + "language": "Язык", + "select_language": "Выберите язык", + "english": "Английский", + "portuguese": "Португальский", + "portuguese_br": "Португальский (Бразилия)", + "portuguese_pt": "Португальский (Португалия)", + "german": "Немецкий", + "arabic": "Арабский", + "spanish": "Испанский", + "french": "Французский", + "italian": "Итальянский", + "croatian": "Хорватский", + "chinese": "Китайский (упрощенный)", + "hindi": "Хинди", + "serbian": "Сербский", + "hebrew": "Иврит", + "bulgarian": "Болгарский", + "polish": "Польский", + "czech": "Чешский", + "turkish": "Турецкий", + "slovenian": "Словенский", + "macedonian": "Македонский", + "russian": "Русский", + "account": "Аккаунт", + "content_discovery": "Контент и поиск", + "appearance": "Внешний вид", + "integrations": "Интеграции", + "playback": "Воспроизведение", + "backup_restore": "Резервное копирование", + "updates": "Обновления", + "about": "О приложении", + "developer": "Разработчик", + "cache": "Кэш", + "title": "Настройки", + "settings_title": "Настройки", + "sign_in_sync": "Войдите для синхронизации", + "add_catalogs_sources": "Дополнения, каталоги и источники", + "player_trailers_downloads": "Плеер, трейлеры, загрузки", + "mdblist_tmdb_ai": "MDBList, TMDB, ИИ", + "check_updates": "Проверить обновления", + "clear_mdblist_cache": "Очистить кэш MDBList", + "cache_management": "УПРАВЛЕНИЕ КЭШЕМ", + "downloads_counter": "загрузок и считаем дальше", + "made_with_love": "Сделано с ❤️ Tapframe и друзьями", + "sections": { + "information": "ИНФОРМАЦИЯ", + "account": "АККАУНТ", + "theme": "ТЕМА", + "layout": "РАЗМЕТКА", + "sources": "ИСТОЧНИКИ", + "catalogs": "КАТАЛОГИ", + "discovery": "ОБЗОР", + "metadata": "МЕТАДАННЫЕ", + "ai_assistant": "ИИ-ПОМОЩНИК", + "video_player": "ВИДЕОПЛЕЕР", + "audio_subtitles": "АУДИО И СУБТИТРЫ", + "media": "МЕДИА", + "notifications": "УВЕДОМЛЕНИЯ", + "testing": "ТЕСТИРОВАНИЕ", + "danger_zone": "ОПАСНАЯ ЗОНА" + }, + "items": { + "legal": "Юридическая информация", + "privacy_policy": "Политика конфиденциальности", + "report_issue": "Сообщить о проблеме", + "version": "Версия", + "contributors": "Участники проекта", + "view_contributors": "Посмотреть всех участников", + "theme": "Тема", + "episode_layout": "Вид списка серий", + "streams_backdrop": "Фон потоков", + "streams_backdrop_desc": "Размытый фон при просмотре потоков на мобильных", + "addons": "Дополнения", + "installed": "установлено", + "debrid_integration": "Интеграция Debrid", + "debrid_desc": "Подключить Torbox", + "plugins": "Плагины", + "plugins_desc": "Управление плагинами и репозиториями", + "catalogs": "Каталоги", + "active": "активно", + "home_screen": "Главный экран", + "home_screen_desc": "Разметка и контент", + "continue_watching": "Продолжить просмотр", + "continue_watching_desc": "Кэш и поведение плеера", + "show_discover": "Раздел «Обзор»", + "show_discover_desc": "Показывать рекомендации в Поиске", + "mdblist": "MDBList", + "mdblist_connected": "Подключено", + "mdblist_desc": "Включите для рейтингов и отзывов", + "simkl": "Simkl", + "simkl_connected": "Подключено", + "simkl_desc": "Отслеживайте ваши просмотры", + "tmdb": "TMDB", + "tmdb_desc": "Источник метаданных и логотипов", + "openrouter": "OpenRouter API", + "openrouter_connected": "Подключено", + "openrouter_desc": "Добавьте API ключ для ИИ-чата", + "video_player": "Видеоплеер", + "built_in": "Встроенный", + "external": "Внешний", + "preferred_audio": "Предпочитаемый язык аудио", + "preferred_subtitle": "Предпочитаемый язык субтитров", + "subtitle_source": "Приоритет источников субтитров", + "auto_select_subs": "Автовыбор субтитров", + "auto_select_subs_desc": "Автоматически выбирать субтитры по вашим предпочтениям", + "show_trailers": "Показывать трейлеры", + "show_trailers_desc": "Отображать трейлеры в главном блоке", + "enable_downloads": "Включить загрузки", + "enable_downloads_desc": "Показывать вкладку загрузок и сохранять потоки", + "notifications": "Уведомления", + "notifications_desc": "Напоминания о новых сериях", + "developer_tools": "Инструменты разработчика", + "developer_tools_desc": "Опции для тестирования и отладки", + "test_onboarding": "Тест приветствия", + "reset_onboarding": "Сбросить приветствие", + "test_announcement": "Тест объявлений", + "test_announcement_desc": "Показать окно «Что нового»", + "reset_campaigns": "Сбросить кампании", + "reset_campaigns_desc": "Очистить показы кампаний", + "clear_all_data": "Удалить все данные", + "clear_all_data_desc": "Сбросить все настройки и кэш" + }, + "options": { + "horizontal": "Горизонтально", + "vertical": "Вертикально", + "internal_first": "Сначала встроенные", + "internal_first_desc": "Приоритет встроенных субтитров, затем внешних", + "external_first": "Сначала внешние", + "external_first_desc": "Приоритет субтитров из дополнений, затем встроенных", + "any_available": "Любые доступные", + "any_available_desc": "Использовать первую найденную дорожку" + }, + "clear_data_desc": "Это сбросит все настройки и очистит кэш. Вы уверены?", + "app_updates": "Обновления приложения", + "about_nuvio": "О Nuvio" + }, + "privacy": { + "title": "Конфиденциальность", + "settings_desc": "Управление телеметрией и сбором данных", + "info_title": "Ваша приватность важна", + "info_description": "Контролируйте, какие данные собираются. Аналитика отключена по умолчанию, а отчеты об ошибках анонимны.", + "analytics_enabled_title": "Аналитика включена", + "analytics_enabled_message": "Данные об использовании будут собираться для улучшения приложения. Вы можете отключить это в любое время.", + "disable_error_reporting_title": "Отключить отчеты об ошибках?", + "disable_error_reporting_message": "Мы не сможем узнать о сбоях, с которыми вы столкнулись. Это затруднит исправление ошибок.", + "enable_session_replay_title": "Включить запись сессии?", + "enable_session_replay_message": "Записывает экран в момент ошибки, чтобы мы поняли, что пошло не так. Может захватить видимый контент.", + "enable_pii_title": "Включить сбор личных данных?", + "enable_pii_message": "Разрешает сбор IP-адреса и данных устройства. Помогает в диагностике, но снижает приватность.", + "disable_all_title": "Отключить всю телеметрию?", + "disable_all_message": "Это отключит аналитику, отчеты об ошибках и запись сессий. Мы не получим никаких данных об использовании.", + "disable_all_button": "Отключить всё", + "all_disabled_title": "Вся телеметрия отключена", + "all_disabled_message": "Сбор данных отключен. Изменения вступят в силу после перезапуска приложения.", + "reset_title": "Сброс к рекомендуемым", + "reset_message": "Настройки сброшены к значениям по умолчанию (отчеты включены, аналитика выключена).", + "section_analytics": "АНАЛИТИКА", + "analytics_title": "Аналитика использования", + "analytics_description": "Анонимный сбор паттернов использования и просмотров экранов", + "section_error_reporting": "ОТЧЕТЫ ОБ ОШИБКАХ", + "error_reporting_title": "Отчеты о сбоях", + "error_reporting_description": "Отправка анонимных отчетов для улучшения стабильности", + "session_replay_title": "Запись сессии", + "session_replay_description": "Запись экрана при возникновении ошибок", + "pii_title": "Инфо об устройстве", + "pii_description": "Отправлять IP и данные устройства вместе с отчетами", + "section_quick_actions": "БЫСТРЫЕ ДЕЙСТВИЯ", + "disable_all": "Отключить всю телеметрию", + "disable_all_desc": "Выключить любой сбор данных", + "reset_recommended": "Сбросить к рекомендуемым", + "reset_recommended_desc": "Приватность прежде всего с отчетами об ошибках", + "section_learn_more": "УЗНАТЬ БОЛЬШЕ", + "privacy_policy": "Политика конфиденциальности", + "current_settings": "Текущие настройки", + "summary_analytics": "Аналитика", + "summary_errors": "Отчеты об ошибках", + "summary_replay": "Запись сессии", + "summary_pii": "Инфо об устройстве", + "restart_note_detailed": "* Изменения аналитики и ошибок применяются сразу. Запись сессий и инфо об устройстве требуют перезапуска." + }, + "ai_settings": { + "title": "ИИ-помощник", + "info_title": "Чат на базе ИИ", + "info_desc": "Задавайте вопросы о фильмах и сериях продвинутому ИИ. Сюжет, персонажи, факты — всё на основе данных TMDB.", + "feature_1": "Контекст и анализ конкретных серий", + "feature_2": "Объяснение сюжета и разбор персонажей", + "feature_3": "Закулисные факты и мелочи", + "feature_4": "Ваш собственный бесплатный ключ OpenRouter API", + "api_key_section": "API КЛЮЧ OPENROUTER", + "api_key_label": "API Ключ", + "api_key_desc": "Введите ваш ключ OpenRouter для активации ИИ-чата", + "save_api_key": "Сохранить API Ключ", + "saving": "Сохранение...", + "update": "Обновить", + "remove": "Удалить", + "get_free_key": "Получить бесплатный ключ на OpenRouter", + "enable_chat": "Включить ИИ-чат", + "enable_chat_desc": "Если включено, кнопка «Спросить ИИ» появится на страницах контента.", + "chat_enabled": "ИИ-чат включен", + "chat_enabled_desc": "Теперь вы можете задавать вопросы! Ищите кнопку «Спросить ИИ» на страницах фильмов и шоу.", + "how_it_works": "Как это работает", + "how_it_works_desc": "• OpenRouter дает доступ к разным моделям ИИ\n• Ваш ключ остается приватным и защищенным\n• Бесплатный тариф имеет щедрые лимиты\n• Чат понимает контекст фильма или серии\n• Получайте детальный анализ и объяснения", + "error_invalid_key": "Введите корректный API ключ", + "error_key_format": "Ключи OpenRouter должны начинаться с «sk-or-»", + "success_saved": "API ключ OpenRouter успешно сохранен!", + "error_save": "Не удалось сохранить API ключ", + "confirm_remove_title": "Удалить API Ключ", + "confirm_remove_msg": "Вы уверены? Это отключит все функции ИИ-чата.", + "success_removed": "API ключ успешно удален", + "error_remove": "Не удалось удалить API ключ" + }, + "catalog_settings": { + "title": "Каталоги", + "layout_phone": "РАЗМЕТКА КАТАЛОГА (ТЕЛЕФОН)", + "posters_per_row": "Постеров в ряду", + "auto": "Авто", + "show_titles": "Показывать названия", + "show_titles_desc": "Отображать текст названия под каждым постером", + "phone_only_hint": "Применяется только к телефонам. На планшетах — адаптивная разметка.", + "catalogs_group": "Каталоги", + "enabled_count": "{{enabled}} из {{total}} включено", + "rename_hint": "Удерживайте каталог, чтобы переименовать его", + "rename_modal_title": "Переименовать каталог", + "rename_placeholder": "Введите новое название", + "error_save_name": "Не удалось сохранить название." + }, + "continue_watching_settings": { + "title": "Продолжить просмотр", + "playback_behavior": "ПОВЕДЕНИЕ ПРИ ВОСПРОИЗВЕДЕНИИ", + "use_cached": "Использовать кэшированные потоки", + "use_cached_desc": "При нажатии на «Продолжить просмотр» плеер откроется сразу с ранее выбранным потоком. Если выключено — откроется страница контента.", + "open_metadata": "Открыть страницу описания", + "open_metadata_desc": "Если кэш потоков выключен, открывать детали контента вместо списка потоков.", + "card_appearance": "ВНЕШНИЙ ВИД КАРТОЧКИ", + "card_style": "Стиль карточки", + "card_style_desc": "Как объекты будут выглядеть на главном экране", + "wide": "Широкая", + "poster": "Постер", + "cache_settings": "НАСТРОЙКИ КЭША", + "cache_duration": "Срок хранения кэша потоков", + "cache_duration_desc": "Как долго хранить ссылки на потоки до их обновления", + "important_note": "Важное замечание", + "important_note_text": "Не все ссылки остаются активными долго. При долгом хранении ссылка может протухнуть. Если кэш не сработает, приложение найдет новые потоки.", + "how_it_works": "Как это работает", + "how_it_works_cached": "• Потоки кэшируются после просмотра на выбранный срок\n• Кэш проверяется перед использованием\n• Если кэш невалиден, открывается страница контента\n• Настройка управляет переходом в плеер или на экран\n• Выбор экрана доступен только при выключенном кэше", + "how_it_works_uncached": "• Если кэш выключен, нажатие открывает страницы контента\n• Вы можете выбрать, какой экран открывать (инфо или потоки)\n• Экран инфо показывает детали и ручной выбор\n• Экран потоков сразу ищет источники для запуска", + "changes_saved": "Изменения сохранены", + "min": "мин", + "hour": "час", + "hours": "ч." + }, + "contributors": { + "title": "Участники", + "special_mentions": "Особые благодарности", + "tab_contributors": "Участники", + "tab_special": "Особые", + "tab_donors": "Доны", + "manager_role": "Комьюнити-менеджер", + "manager_desc": "Управляет сообществами Discord и Reddit", + "sponsor_role": "Спонсор сервера", + "sponsor_desc": "Оплачивает серверную инфраструктуру Nuvio", + "mod_role": "Модератор Discord", + "mod_desc": "Помогает модерировать сообщество Nuvio", + "loading": "Загрузка...", + "discord_user": "Пользователь Discord", + "contributions": "вкладов", + "gratitude_title": "Мы благодарны за любой вклад", + "gratitude_desc": "Каждая строка кода, отчет об ошибке или предложение делают Nuvio лучше", + "special_thanks_title": "Особая благодарность", + "special_thanks_desc": "Эти люди помогают поддерживать работу сообщества и серверов", + "donors_desc": "Спасибо за веру в проект. Ваша поддержка позволяет Nuvio оставаться бесплатным.", + "latest_donations": "Последние", + "leaderboard": "Таблица лидеров", + "loading_donors": "Загрузка донов...", + "no_donors": "Донов пока нет", + "error_rate_limit": "Лимит GitHub API исчерпан. Попробуйте позже.", + "error_failed": "Ошибка загрузки. Проверьте соединение.", + "retry": "Повторить", + "no_contributors": "Участники не найдены", + "loading_contributors": "Загрузка участников..." + }, + "debrid": { + "title": "Интеграция Debrid", + "description_torbox": "Разблокируйте 4K потоки и высокую скорость через Torbox. Введите API ключ для мгновенного апгрейда.", + "description_torrentio": "Настройте Torrentio для получения торрент-потоков. Для работы требуется Debrid-сервис.", + "tab_torbox": "TorBox", + "tab_torrentio": "Torrentio", + "status_connected": "Подключено", + "status_disconnected": "Отключено", + "enable_addon": "Включить дополнение", + "disconnect_button": "Отключить и удалить", + "disconnect_loading": "Отключение...", + "account_info": "Информация об аккаунте", + "plan": "Тариф", + "plan_free": "Бесплатный", + "plan_essential": "Essential ($3/мес)", + "plan_pro": "Pro ($10/мес)", + "plan_standard": "Standard ($5/мес)", + "plan_unknown": "Неизвестно", + "expires": "Истекает", + "downloaded": "Загружено", + "status_active": "Активен", + "connected_title": "✓ Подключено к TorBox", + "connected_desc": "Ваше дополнение TorBox активно и предоставляет премиум-потоки.", + "configure_title": "Настроить дополнение", + "configure_desc": "Настройте сортировку по качеству, фильтрацию размеров и другие параметры.", + "open_settings": "Открыть настройки", + "what_is_debrid": "Что такое Debrid-сервис?", + "enter_api_key": "Введите ваш API ключ", + "connect_button": "Подключить и установить", + "connecting": "Подключение...", + "unlock_speeds_title": "Премиум скорость", + "unlock_speeds_desc": "Подпишитесь на Torbox для доступа к 4K потокам без буферизации.", + "get_subscription": "Получить подписку", + "powered_by": "Работает на", + "disclaimer_torbox": "Nuvio никак не связан с Torbox.", + "disclaimer_torrentio": "Nuvio никак не связан с Torrentio.", + "installed_badge": "✓ УСТАНОВЛЕНО", + "promo_title": "⚡ Нужен Debrid?", + "promo_desc": "TorBox обеспечит 4K стриминг без тормозов. Моментальные загрузки и кэшированные торренты.", + "promo_button": "Подписаться на TorBox", + "service_label": "Сервис Debrid *", + "api_key_label": "API Ключ *", + "sorting_label": "Сортировка", + "exclude_qualities": "Исключить качество", + "priority_languages": "Приоритетные языки", + "max_results": "Макс. результатов", + "additional_options": "Доп. опции", + "no_download_links": "Не показывать ссылки на загрузку", + "no_debrid_catalog": "Не показывать каталог Debrid", + "install_button": "Установить Torrentio", + "installing": "Установка...", + "update_button": "Обновить конфигурацию", + "updating": "Обновление...", + "remove_button": "Удалить Torrentio", + "error_api_required": "Требуется API Ключ", + "error_api_required_desc": "Введите API ключ вашего debrid-сервиса для установки Torrentio.", + "success_installed": "Torrentio успешно установлен!", + "success_removed": "Torrentio успешно удален", + "alert_disconnect_title": "Отключить Torbox", + "alert_disconnect_msg": "Вы уверены? Это удалит дополнение и ваш API ключ." + }, + "home_screen": { + "title": "Настройки главного экрана", + "changes_applied": "Изменения применены", + "display_options": "ОПЦИИ ОТОБРАЖЕНИЯ", + "show_hero": "Показывать главный блок", + "show_hero_desc": "Рекомендуемый контент сверху", + "show_this_week": "Раздел «На этой неделе»", + "show_this_week_desc": "Новые серии текущей недели", + "select_catalogs": "Выбрать каталоги", + "all_catalogs": "Все каталоги", + "selected": "выбрано", + "hero_layout": "Вид главного блока", + "layout_legacy": "Классический", + "layout_carousel": "Карусель", + "layout_appletv": "Apple TV", + "layout_desc": "Баннер на всю ширину, карточки или стиль Apple TV", + "featured_source": "Источник рекомендаций", + "using_catalogs": "Используются каталоги", + "manage_selected_catalogs": "Управление выбранными каталогами", + "dynamic_bg": "Динамический фон", + "dynamic_bg_desc": "Размытый баннер за каруселью", + "performance_note": "Может снизить скорость на слабых устройствах.", + "posters": "Постеры", + "show_titles": "Показывать названия", + "poster_size": "Размер постера", + "poster_corners": "Углы постера", + "size_small": "Маленький", + "size_medium": "Средний", + "size_large": "Большой", + "corners_square": "Квадратные", + "corners_rounded": "Закругленные", + "corners_pill": "Скругленные (Pill)", + "about_these_settings": "ОБ ЭТИХ НАСТРОЙКАХ", + "about_desc": "Настройки управляют контентом на главной. Изменения применяются мгновенно.", + "hero_catalogs": { + "title": "Каталоги главного блока", + "select_all": "Выбрать все", + "clear_all": "Сбросить все", + "info": "Выберите каталоги для показа в главном блоке. Если ничего не выбрано, будут показаны все. Не забудьте нажать «Сохранить».", + "settings_saved": "Настройки сохранены", + "error_load": "Не удалось загрузить каталоги", + "movies": "Фильмы", + "tv_shows": "ТВ-Шоу" + } + }, + "calendar": { + "title": "Календарь", + "loading": "Загрузка календаря...", + "no_scheduled_episodes": "Нет запланированных серий", + "check_back_later": "Зайдите позже", + "showing_episodes_for": "Серии на {{date}}", + "show_all_episodes": "Показать все серии", + "no_episodes_for": "Нет серий на {{date}}", + "no_upcoming_found": "Предстоящих серий не найдено", + "add_series_desc": "Добавьте сериалы в библиотеку, чтобы видеть их расписание здесь" + }, + "mdblist": { + "title": "Источники рейтингов", + "status_disabled": "MDBList отключен", + "status_active": "API-ключ активен", + "status_required": "Требуется API-ключ", + "status_disabled_desc": "Функционал MDBList в данный момент отключен.", + "status_active_desc": "Рейтинги MDBList включены.", + "status_required_desc": "Добавьте ключ ниже, чтобы включить отображение рейтингов.", + "enable_toggle": "Включить MDBList", + "enable_toggle_desc": "Включить/выключить все функции MDBList", + "api_section": "API-ключ", + "placeholder": "Вставьте ваш API-ключ MDBList", + "save": "Сохранить", + "clear": "Удалить ключ", + "rating_providers": "Провайдеры рейтингов", + "rating_providers_desc": "Выберите, какие рейтинги отображать в приложении", + "how_to": "Как получить API-ключ", + "step_1": "Войдите на", + "step_1_link": "сайт MDBList", + "step_2": "Перейдите в раздел", + "step_2_settings": "Settings", + "step_2_api": "API", + "step_2_end": ".", + "step_3": "Создайте новый ключ и скопируйте его.", + "go_to_website": "Перейти на MDBList", + "alert_clear_title": "Удалить API-ключ", + "alert_clear_msg": "Вы уверены, что хотите удалить сохраненный API-ключ?", + "success_saved": "API-ключ успешно сохранен.", + "error_empty": "API-ключ не может быть пустым.", + "error_save": "Произошла ошибка при сохранении. Попробуйте еще раз.", + "api_key_empty_error": "API-ключ не может быть пустым.", + "success_cleared": "API-ключ успешно удален", + "error_clear": "Не удалось удалить API-ключ" + }, + "notification": { + "title": "Настройки уведомлений", + "section_general": "Общие", + "enable_notifications": "Включить уведомления", + "section_types": "Типы уведомлений", + "new_episodes": "Новые серии", + "upcoming_shows": "Предстоящие шоу", + "reminders": "Напоминания", + "section_timing": "Время уведомления", + "timing_desc": "За сколько до выхода серии присылать уведомление?", + "hours_1": "1 час", + "hours_suffix": "час(ов)", + "section_status": "Статус уведомлений", + "stats_upcoming": "Ожидаются", + "stats_this_week": "На этой неделе", + "stats_total": "Всего", + "sync_button": "Синхронизировать библиотеку и Trakt", + "syncing": "Синхронизация...", + "sync_desc": "Автоматически настраивает уведомления для всех шоу в вашей библиотеке и списках Trakt.", + "section_advanced": "Дополнительно", + "reset_button": "Сбросить все уведомления", + "test_button": "Тест уведомления (5 сек)", + "test_notification_in": "Уведомление через {{seconds}}с...", + "test_notification_text": "Уведомление появится через {{seconds}} секунд", + "alert_reset_title": "Сброс уведомлений", + "alert_reset_msg": "Это отменит все запланированные уведомления, но не удалит данные из вашей библиотеки. Продолжить?", + "alert_reset_success": "Все уведомления были сброшены", + "alert_sync_complete": "Синхронизация завершена", + "alert_sync_msg": "Уведомления для библиотеки и Trakt синхронизированы.\n\nЗапланировано: {{upcoming}} серий\nНа этой неделе: {{thisWeek}} серий", + "alert_test_scheduled": "Тестовое уведомление запланировано" + }, + "backup": { + "title": "Резервное копирование", + "options_title": "Опции копирования", + "options_desc": "Выберите, что включить в бэкап", + "section_core": "Основные данные", + "section_addons": "Дополнения и интеграции", + "section_settings": "Настройки и предпочтения", + "library_label": "Библиотека", + "library_desc": "Ваши сохраненные фильмы и сериалы", + "watch_progress_label": "Прогресс просмотра", + "watch_progress_desc": "Позиции воспроизведения", + "addons_label": "Дополнения", + "addons_desc": "Установленные дополнения Stremio", + "plugins_label": "Плагины", + "plugins_desc": "Конфигурации пользовательских скреперов", + "trakt_label": "Интеграция Trakt", + "trakt_desc": "Данные синхронизации и токены авторизации", + "app_settings_label": "Настройки приложения", + "app_settings_desc": "Тема, предпочтения и конфигурации", + "user_prefs_label": "Пользовательские предпочтения", + "user_prefs_desc": "Порядок дополнений и настройки интерфейса", + "catalog_settings_label": "Настройки каталога", + "catalog_settings_desc": "Фильтры и предпочтения каталогов", + "api_keys_label": "API-ключи", + "api_keys_desc": "Ключи MDBList и OpenRouter", + "action_create": "Создать бэкап", + "action_restore": "Восстановить из бэкапа", + "section_info": "О резервных копиях", + "info_text": "• Выберите нужные пункты с помощью переключателей выше\n• Файлы бэкапа сохраняются локально на устройстве\n• Вы можете передать файл на другое устройство для переноса данных\n• Восстановление перезапишет текущие данные", + "alert_create_title": "Создание бэкапа", + "alert_no_content": "Не выбрано данных для копирования.\n\nПожалуйста, включите хотя бы одну опцию выше.", + "alert_backup_created_title": "Бэкап создан", + "alert_backup_created_msg": "Резервная копия создана и готова к отправке.", + "alert_backup_failed_title": "Ошибка бэкапа", + "alert_restore_confirm_title": "Подтвердите восстановление", + "alert_restore_confirm_msg": "Данные будут восстановлены из копии от {{date}}.\n\nЭто действие полностью заменит ваши текущие данные. Вы уверены?", + "alert_restore_complete_title": "Восстановление завершено", + "alert_restore_complete_msg": "Данные успешно восстановлены. Пожалуйста, перезапустите приложение.", + "alert_restore_failed_title": "Ошибка восстановления", + "restart_app": "Перезапустить", + "alert_restart_failed_title": "Ошибка перезапуска", + "alert_restart_failed_msg": "Не удалось перезапустить приложение автоматически. Пожалуйста, закройте и откройте его вручную." + }, + "updates": { + "title": "Обновления", + "status_checking": "Поиск обновлений...", + "status_available": "Доступно обновление!", + "status_downloading": "Загрузка обновления...", + "status_installing": "Установка обновления...", + "status_success": "Обновление успешно установлено!", + "status_error": "Ошибка обновления", + "status_ready": "Готов к проверке", + "action_check": "Проверить наличие обновлений", + "action_install": "Установить обновление", + "release_notes": "Список изменений:", + "version": "Версия:", + "last_checked": "Последняя проверка:", + "current_version": "Текущая версия:", + "current_release_notes": "Текущий список изменений:", + "github_release": "РЕЛИЗ НА GITHUB", + "current": "Текущая:", + "latest": "Последняя:", + "notes": "Заметки:", + "view_release": "Просмотреть релиз", + "notification_settings": "НАСТРОЙКИ УВЕДОМЛЕНИЙ", + "ota_alerts_label": "Оповещения OTA-обновлений", + "ota_alerts_desc": "Уведомления о быстрых исправлениях (по воздуху)", + "major_alerts_label": "Оповещения о мажорных обновлениях", + "major_alerts_desc": "Уведомления о новых версиях приложения на GitHub", + "alert_disable_ota_title": "Отключить OTA-оповещения?", + "alert_disable_ota_msg": "Вы больше не будете получать автоматические уведомления об исправлениях.\n\n⚠️ Внимание: Последние версии важны для:\n• Стабильности и исправления багов\n• Новых функций\n• Корректной отправки отчетов о сбоях\n\nВы сможете проверять обновления вручную на этом экране.", + "alert_disable_major_title": "Отключить оповещения о новых версиях?", + "alert_disable_major_msg": "Вы перестанете получать уведомления о крупных обновлениях, требующих переустановки.\n\n⚠️ Важно: Мажорные обновления включают:\n• Критические патчи безопасности\n• Важные изменения в работе приложения\n• Исправления совместимости", + "warning_note": "Включенные оповещения гарантируют получение исправлений и актуальную поддержку.", + "disable": "Отключить", + "alert_no_update_to_install": "Нет доступных обновлений для установки", + "alert_install_failed": "Не удалось установить обновление", + "alert_no_update_title": "Нет обновлений", + "alert_update_applied_msg": "Обновление будет применено при следующем запуске" + }, + "player": { + "title": "Видеоплеер", + "section_selection": "ВЫБОР ПЛЕЕРА", + "internal_title": "Встроенный плеер", + "internal_desc": "Использовать стандартный плеер приложения", + "vlc_title": "VLC", + "vlc_desc": "Открыть поток в VLC media player", + "infuse_title": "Infuse", + "infuse_desc": "Открыть поток в плеере Infuse", + "outplayer_title": "OutPlayer", + "outplayer_desc": "Открыть поток в OutPlayer", + "vidhub_title": "VidHub", + "vidhub_desc": "Открыть поток в VidHub", + "infuse_live_title": "Infuse Livecontainer", + "infuse_live_desc": "Открыть поток в Infuse (LiveContainer)", + "external_title": "Внешний плеер", + "external_desc": "Открыть поток в любом другом установленном плеере", + "section_playback": "ОПЦИИ ВОСПРОИЗВЕДЕНИЯ", + "skip_intro_settings_title": "Пропуск вступления", + "powered_by_introdb": "На базе IntroDB", + "autoplay_title": "Автозапуск первого потока", + "autoplay_desc": "Автоматически начинать воспроизведение первого найденного источника.", + "resume_title": "Всегда продолжать", + "resume_desc": "Пропускать вопрос о возобновлении и сразу включать с места остановки (если просмотрено менее 85%).", + "engine_title": "Движок видеоплеера", + "engine_desc": "«Авто» использует ExoPlayer с переключением на MPV при необходимости. Рекомендуется для лучшей поддержки форматов вроде Dolby Vision.", + "decoder_title": "Режим декодера", + "decoder_desc": "Способ декодирования видео. «Авто» — лучший баланс.", + "gpu_title": "GPU-рендеринг", + "gpu_desc": "GPU-Next обеспечивает лучшую работу с HDR и цветом.", + "external_downloads_title": "Внешний плеер для загрузок", + "external_downloads_desc": "Воспроизводить загруженный контент во внешнем плеере.", + "restart_required": "Требуется перезапуск", + "restart_msg_decoder": "Пожалуйста, перезапустите приложение для смены режима декодера.", + "restart_msg_gpu": "Пожалуйста, перезапустите приложение для смены режима GPU.", + "option_auto": "Авто", + "option_auto_desc_engine": "ExoPlayer + MPV", + "option_mpv": "MPV", + "option_mpv_desc": "Только MPV", + "option_auto_desc_decoder": "Оптимально", + "option_sw": "Программный (SW)", + "option_sw_desc": "Software", + "option_hw": "Аппаратный (HW)", + "option_hw_desc": "Hardware", + "option_hw_plus": "HW+", + "option_hw_plus_desc": "Full Hardware", + "option_gpu_desc": "Стандартный", + "option_gpu_next_desc": "Продвинутый" + }, + "plugins": { + "title": "Плагины", + "enable_title": "Включить плагины", + "enable_desc": "Включить движок плагинов для поиска внешних источников", + "repo_config_title": "Конфигурация репозитория", + "repo_config_desc": "Управление внешними репозиториями плагинов.", + "your_repos": "Репозитории", + "your_repos_desc": "Настройте внешние источники для плагинов.", + "add_repo_button": "Добавить репозиторий", + "refresh": "Обновить", + "remove": "Удалить", + "enabled": "Включено", + "disabled": "Выключено", + "updating": "Обновление...", + "success": "Успешно", + "error": "Ошибка", + "alert_repo_added": "Репозиторий добавлен, плагины загружены", + "alert_repo_saved": "URL репозитория сохранен", + "alert_repo_refreshed": "Репозиторий успешно обновлен", + "alert_invalid_url": "Неверный формат URL", + "alert_plugins_cleared": "Все плагины удалены", + "alert_cache_cleared": "Кэш репозитория очищен", + "unknown": "Неизвестно", + "active": "Активен", + "available": "Доступен", + "platform_disabled": "Платформа отключена", + "limited": "Ограничен", + "clear_all": "Удалить все плагины", + "clear_all_desc": "Вы уверены, что хотите удалить все установленные плагины? Это действие нельзя отменить.", + "clear_cache": "Очистить кэш репозитория", + "clear_cache_desc": "Это удалит URL репозитория и все кэшированные данные. Вам нужно будет ввести URL заново.", + "add_new_repo": "Добавить новый репозиторий", + "available_plugins": "Доступно плагинов ({{count}})", + "placeholder": "Поиск плагинов...", + "all": "Все", + "filter_all": "Все типы", + "filter_movies": "Фильмы", + "filter_tv": "Сериалы", + "enable_all": "Включить все", + "disable_all": "Выключить все", + "no_plugins_found": "Плагины не найдены", + "no_plugins_available": "Нет доступных плагинов", + "no_match_desc": "Ни один плагин не соответствует запросу \"{{query}}\".", + "configure_repo_desc": "Настройте репозиторий выше, чтобы увидеть список плагинов.", + "clear_search": "Очистить поиск", + "no_external_player": "Нет внешнего плеера", + "showbox_token": "Токен ShowBox UI", + "showbox_placeholder": "Вставьте ваш токен ShowBox UI", + "save": "Сохранить", + "clear": "Очистить", + "additional_settings": "Дополнительные настройки", + "enable_url_validation": "Валидация URL", + "url_validation_desc": "Проверять ссылки перед показом (может замедлить поиск, но повышает надежность)", + "group_streams": "Группировать источники", + "group_streams_desc": "Источники будут сгруппированы по репозиториям.", + "sort_quality": "Сначала по качеству", + "sort_quality_desc": "Сортировать результаты в первую очередь по качеству (только при включенной группировке).", + "show_logos": "Показывать логотипы", + "show_logos_desc": "Отображать логотипы плагинов рядом со ссылками на источники.", + "quality_filtering": "Фильтр качества", + "quality_filtering_desc": "Исключить определенные разрешения. Нажмите, чтобы скрыть из результатов.", + "excluded_qualities": "Исключенное качество:", + "language_filtering": "Фильтр языков", + "language_filtering_desc": "Исключить определенные языки из результатов поиска.", + "note": "Примечание:", + "language_filtering_note": "Этот фильтр работает только для провайдеров, которые передают информацию о языке.", + "excluded_languages": "Исключенные языки:", + "about_title": "О плагинах", + "about_desc_1": "Плагины — это модули для адаптации контента из внешних протоколов. Они работают локально и могут быть установлены из доверенных репозиториев.", + "about_desc_2": "Плагины с меткой «Ограничен» могут требовать дополнительной внешней настройки.", + "help_title": "Настройка плагинов", + "help_step_1": "1. **Включите плагины** — используйте главный переключатель", + "help_step_2": "2. **Добавьте репозиторий** — введите рабочий URL", + "help_step_3": "3. **Обновите** — получите список доступных плагинов", + "help_step_4": "4. **Активируйте** — включите нужные плагины", + "got_it": "Понятно!", + "repo_format_hint": "Формат: https://raw.githubusercontent.com/username/repo/branch", + "cancel": "Отмена", + "add": "Добавить" + }, + "theme": { + "title": "Темы оформления", + "select_theme": "ВЫБЕРИТЕ ТЕМУ", + "create_custom": "Создать свою тему", + "options": "ОПЦИИ", + "use_dominant_color": "Цвет на основе обложки", + "categories": { + "all": "Все темы", + "dark": "Темные", + "colorful": "Цветные", + "custom": "Мои темы" + }, + "editor": { + "theme_name_placeholder": "Название темы", + "save": "Сохранить", + "primary": "Основной", + "secondary": "Вторичный", + "background": "Фон", + "invalid_name_title": "Неверное имя", + "invalid_name_msg": "Пожалуйста, введите корректное название темы" + }, + "alerts": { + "delete_title": "Удалить тему", + "delete_msg": "Вы уверены, что хотите удалить тему «{{name}}»?", + "ok": "ОК", + "delete": "Удалить", + "cancel": "Отмена", + "back": "Настройки" + } + }, + "legal": { + "title": "Юридическая информация", + "intro_title": "Природа приложения", + "intro_text": "Nuvio — это медиаплеер и менеджер метаданных. Он выступает исключительно как клиентский интерфейс для просмотра общедоступных данных и воспроизведения файлов, предоставленных пользователем или сторонними расширениями. Nuvio не хостит, не хранит и не распространяет медиаконтент.", + "extensions_title": "Сторонние плагины", + "extensions_text": "Nuvio позволяет устанавливать сторонние плагины, которые создаются независимыми разработчиками. Мы не несем ответственности за их содержание, легальность или работоспособность.", + "user_resp_title": "Ответственность пользователя", + "user_resp_text": "Пользователи несут полную ответственность за устанавливаемые плагины. Используя приложение, вы подтверждаете, что имеете законное право на просмотр контента. Разработчики Nuvio не поощряют нарушение авторских прав.", + "dmca_title": "Авторское право (DMCA)", + "dmca_text": "Мы уважаем интеллектуальную собственность. Так как Nuvio не хранит контент, мы не можем удалить его из сети. Если вы считаете, что интерфейс приложения нарушает ваши права, свяжитесь с нами.", + "warranty_title": "Отказ от гарантий", + "warranty_text": "ПО предоставляется «как есть» без каких-либо гарантий. Авторы не несут ответственности за любые претензии или ущерб, возникшие в результате использования данного ПО." + }, + "plugin_tester": { + "title": "Тестер плагинов", + "subtitle": "Запуск скреперов и просмотр логов в реальном времени", + "tabs": { + "individual": "Индивидуальный", + "repo": "Тестер репозитория", + "code": "Код", + "logs": "Логи", + "results": "Результаты" + }, + "common": { + "error": "Ошибка", + "success": "Успех", + "movie": "Фильм", + "tv": "ТВ", + "tmdb_id": "TMDB ID", + "season": "Сезон", + "episode": "Серия", + "running": "Запуск...", + "run_test": "Начать тест", + "play": "Играть", + "done": "Готово", + "test": "Тест", + "testing": "Тестирование..." + }, + "individual": { + "load_from_url": "Загрузить по URL", + "load_from_url_desc": "Вставьте прямую ссылку (raw GitHub) или локальный IP.", + "enter_url_error": "Пожалуйста, введите URL", + "code_loaded": "Код загружен из URL", + "fetch_error": "Ошибка загрузки: {{message}}", + "no_code_error": "Нет кода для запуска", + "plugin_code": "Код плагина", + "focus_editor": "Фокус на редакторе", + "code_placeholder": "// Вставьте код плагина здесь...", + "test_parameters": "Параметры теста", + "no_logs": "Логи отсутствуют. Запустите тест.", + "no_streams": "Потоки не найдены.", + "streams_found": "Найден {{count}} поток", + "streams_found_plural": "Найдено потоков: {{count}}", + "tap_play_hint": "Нажмите «Играть», чтобы проверить поток в плеере.", + "unnamed_stream": "Безымянный поток", + "quality": "Качество: {{quality}}", + "size": "Размер: {{size}}", + "url_label": "URL: {{url}}", + "headers_info": "Заголовки: {{count}} шт.", + "find_placeholder": "Найти в коде...", + "edit_code_title": "Редактировать код", + "no_url_stream_error": "URL для этого потока не найден" + }, + "repo": { + "title": "Тестер репозитория", + "description": "Загрузите репозиторий и проверьте каждого провайдера.", + "enter_repo_url_error": "Введите URL репозитория", + "invalid_url_title": "Неверный URL", + "invalid_url_msg": "Используйте прямую ссылку GitHub (raw) или локальный http(s).", + "manifest_build_error": "Не удалось создать URL манифеста", + "manifest_fetch_error": "Ошибка загрузки манифеста", + "repo_manifest_fetch_error": "Ошибка загрузки манифеста репозитория", + "missing_filename": "В манифесте отсутствует имя файла", + "scraper_build_error": "Не удалось создать URL скрепера", + "download_scraper_error": "Ошибка загрузки скрепера", + "test_failed": "Тест провален", + "test_parameters": "Параметры теста репозитория", + "test_parameters_desc": "Эти параметры используются только для тестера репозитория.", + "using_info": "Используем: {{mediaType}} • TMDB {{tmdbId}}", + "using_info_tv": "Используем: {{mediaType}} • TMDB {{tmdbId}} • S{{season}}E{{episode}}", + "providers_title": "Провайдеры", + "repository_default": "Репозиторий", + "providers_count": "Провайдеров: {{count}}", + "fetch_hint": "Загрузите репо, чтобы увидеть список.", + "test_all": "Тестировать все", + "status_running": "В ПРОЦЕССЕ", + "status_ok": "OK ({{count}})", + "status_ok_empty": "OK (0)", + "status_failed": "ОШИБКА", + "status_idle": "ОЖИДАНИЕ", + "tried_url": "Попытка URL: {{url}}", + "provider_logs": "Логи провайдера", + "no_logs_captured": "Логи не перехвачены." + } + } +} +