{
  "portal_title": "Сервисы резидентов Akiba",
  "portal_subtitle": "Войдите через Telegram, чтобы увидеть список сервисов.",
  "login_button": "Войти через Telegram",
  "logout_button": "Выйти",
  "resident_badge": "резидент",
  "not_resident_badge": "не резидент",
  "no_services": "УРА!!! Ты резидент!",
  "not_resident_error": "Вы вошли, но не состоите в чате резидентов — сервисы недоступны.",
  "wrong_host_title": "Портал открыт по чужому адресу.",
  "wrong_host_text": "Ссылка на вход, адрес сервера Jellyfin и проверка происхождения запросов к qBittorrent строятся из настроенного адреса портала — а он другой. Поэтому вход, автовход в Jellyfin и добавление торрентов работать не будут, причём молча. Правильный адрес:",
  "returns_elsewhere": "Вход откроется в новой вкладке. Вернуть вас оттуда сюда auth-service не может, пока портал живёт на нестандартном порту, — поэтому эта страница дождётся входа сама и обновится.",
  "service_jellyfin": "Jellyfin",
  "service_jellyfin_sub": "Медиатека резидентов",
  "service_qbittorrent": "qBittorrent",
  "service_qbittorrent_sub": "Загрузки",
  "service_nextcloud": "Nextcloud",
  "service_nextcloud_sub": "Файлы, свой аккаунт",
  "service_coolify": "Coolify",
  "service_coolify_sub": "Развёртывание сервисов спейса",
  "torrent_added": "Резидент {user} начал скачивать {torrent}",
  "torrent_downloaded": "Торрент {torrent} загрузился",
  "service_admin": "Управление резидентами",
  "admin_title": "Управление резидентами",
  "admin_subtitle": "Нажмите на резидента, чтобы изменить его доступ к сервисам.",
  "admin_back_to_portal": "← К сервисам",
  "admin_empty": "Пока никто не заходил. Резиденты появляются здесь после первого входа на портал.",
  "admin_no_services": "нет доступа",
  "admin_no_username": "без ника",
  "admin_root_badge": "администратор из конфигурации, доступны все сервисы",
  "admin_root_locked": "Права администратора из конфигурации менять нельзя.",
  "admin_unknown_resident": "Такого резидента нет в списке.",
  "admin_load_error": "Не удалось прочитать список резидентов.",
  "admin_saved": "Доступы сохранены.",
  "admin_save_button": "Сохранить",
  "admin_cancel_button": "Отмена",
  "admin_level_none": "Нет",
  "admin_level_lan": "Локальная сеть",
  "admin_level_internet": "Интернет",
  "admin_avatar_alt": "Аватар",
  "admin_levels_hint": "«Локальная сеть» — сервис открывается, только когда резидент подключён к Wi‑Fi спейса. «Интернет» — откуда угодно.",
  "service_nat": "NAT",
  "service_nat_sub": "Проброс портов на ваше устройство",
  "admin_nat_hint": "Только из локальной сети спейса. Администраторам — отовсюду.",
  "nat_title": "NAT",
  "nat_subtitle": "Проброс портов с внешнего адреса спейса на ваше устройство в локальной сети. Роутер применяет изменения до полуминуты.",
  "nat_back_to_portal": "← К сервисам",
  "nat_add": "Добавить",
  "nat_col_ip": "IP",
  "nat_col_port": "Порт",
  "nat_col_external": "Выходной порт",
  "nat_save": "Сохранить",
  "nat_delete": "Удалить",
  "nat_cancel": "Отменить",
  "nat_delete_confirm": "Удалить правило {rule}?",
  "nat_err_port_busy": "Этот выходной порт занят.",
  "nat_err_limit": "Достигнут предел правил на одного резидента.",
  "nat_err_not_found": "Правило уже изменили или удалили. Список обновлён.",
  "nat_err_router": "Роутер не принял изменение. Попробуйте ещё раз чуть позже.",
  "nat_err_forbidden": "Недостаточно прав.",
  "nat_err_network": "Нет связи с сервером.",
  "nat_err_invalid": "Проверьте значения: IP — адрес IPv4, порт — от 1 до 65535, выходной порт — от 1024 до 65535.",
  "nat_err_full": "Все места под правила NAT на роутере заняты: свободных нет, и ни одно правило не ведёт на выключенное устройство.",
  "nat_err_no_resident": "Такого резидента нет в базе: его правила можно только удалить.",
  "nat_residents_button": "Резиденты с NAT",
  "nat_residents_title": "Резиденты с правилами NAT",
  "nat_residents_empty": "Пока ни у кого нет правил.",
  "nat_back": "← Назад",
  "nat_rules_of": "Правила:",
  "nat_loading": "Загрузка…",
  "snackbar_close": "Закрыть",
  "coolify_error": "Не удалось войти в Coolify. Попробуйте ещё раз чуть позже.",
  "coolify_reg_title": "Аккаунт в Coolify",
  "coolify_reg_subtitle": "Вы открываете Coolify впервые. Скажите, как вас там назвать, — и аккаунт готов. Пароль не нужен: вход всегда через этот портал.",
  "coolify_reg_name": "Имя",
  "coolify_reg_name_hint": "Так вас увидят в Coolify. Потом его можно изменить в профиле.",
  "coolify_reg_email": "Email",
  "coolify_reg_email_hint": "Необязательно. На него Coolify шлёт уведомления; подтверждать адрес не нужно.",
  "coolify_reg_submit": "Создать аккаунт и войти",
  "coolify_reg_back": "← К сервисам",
  "coolify_reg_name_error": "Укажите имя: от 1 до 255 символов.",
  "coolify_reg_email_error": "Такой адрес не подходит. Проверьте его или оставьте поле пустым.",
  "coolify_reg_email_taken": "Этот адрес в Coolify уже занят. Укажите другой или оставьте поле пустым.",
  "coolify_reg_failed": "Не удалось создать аккаунт: Coolify сейчас недоступен. Попробуйте ещё раз чуть позже.",
  "admin_coolify_name_title": "имя в Coolify. Нажмите, чтобы скопировать. Аккаунт создан",
  "admin_coolify_copied": "Имя скопировано",
  "admin_coolify_unavailable": "База Coolify недоступна: имя резидента в Coolify показать не удалось.",
  "service_projector_remote": "Пульт проектора",
  "service_projector_remote_sub": "Управление проектором в спейсе",
  "service_screencast": "Трансляция на проектор",
  "service_screencast_sub": "Ваш экран — на большом экране",
  "service_projector_booking": "Бронирование проектора",
  "admin_projector_booking_hint": "Только из локальной сети спейса. Пока бронь стоит, транслировать и пользоваться пультом может только её владелец. Администраторам доступно всегда.",
  "booking_free": "Проектор свободен",
  "booking_free_hint": "Забронируйте его, чтобы на время встречи транслировать и пользоваться пультом могли только вы.",
  "booking_book": "Забронировать",
  "booking_release": "Снять бронь",
  "booking_mine": "Проектор забронирован вами",
  "booking_mine_hint": "Пока бронь стоит, транслировать и пользоваться пультом можете только вы.",
  "booking_other": "Проектор забронирован",
  "booking_other_hint": "Транслировать и пользоваться пультом может только тот, кто его забронировал.",
  "booking_since": "с {time}",
  "booking_force_confirm": "Снять бронь, которую поставил(а) {name}? Трансляция и пульт снова станут доступны всем.",
  "booking_force_yes": "Снять",
  "booking_cancel": "Отмена",
  "booking_done_book": "Проектор забронирован за вами.",
  "booking_done_release": "Бронь снята.",
  "booking_done_force": "Бронь снята: {name} больше не держит проектор.",
  "booking_err_booked": "Проектор уже забронировал другой резидент.",
  "booking_err_no_right": "У вас нет права бронировать проектор — его выдаёт администратор.",
  "booking_err_not_owner": "Снять чужую бронь может только администратор.",
  "booking_err_not_booked": "Бронь уже снята.",
  "booking_err_failed": "Не удалось изменить бронь. Попробуйте ещё раз.",
  "booking_someone": "Другой резидент",
  "cast_title": "Трансляция на проектор",
  "cast_subtitle": "Покажите экран, окно или вкладку на проекторе спейса. Картинка идёт напрямую с вашего компьютера на проектор.",
  "cast_back": "← К сервисам",
  "cast_status_connecting": "Подключаемся…",
  "cast_status_offline": "Нет связи со шлюзом",
  "cast_status_no_projector": "Проектор выключен",
  "cast_status_ready": "Проектор готов",
  "cast_status_live": "Идёт ваша трансляция",
  "cast_status_starting": "Подключаемся к проектору…",
  "cast_status_busy": "Транслирует {name}",
  "cast_status_booked": "Проектор забронирован",
  "cast_hint_offline": "Переподключаемся автоматически.",
  "cast_hint_no_projector": "Включите проектор. Трансляцию можно начать заранее — она подхватится сама.",
  "cast_hint_standby": "Экран проектора откроется сам, как только вы начнёте трансляцию.",
  "cast_hint_waiting": "Ждём проектор: трансляция начнётся, как только он включится.",
  "cast_hint_ready": "Нажмите «Транслировать» и выберите экран, окно или вкладку.",
  "cast_hint_busy": "Нажмите «Транслировать», чтобы показать свой экран вместо этого.",
  "cast_hint_booked": "Транслировать может только владелец брони.",
  "cast_share": "Транслировать",
  "cast_share_sub": "Экран, окно или вкладка",
  "cast_stop": "Остановить",
  "cast_test": "Тестовая картинка",
  "cast_insecure": "Браузер разрешает захват экрана только на защищённой странице. Откройте её по HTTPS:",
  "cast_unsupported": "Этот браузер не умеет транслировать экран. Подойдут Chrome, Edge, Firefox или Safari на компьютере.",
  "cast_capture_failed": "Не удалось захватить экран: {error}",
  "cast_mode_label": "Что показываете",
  "cast_mode_detail": "Слайды и текст",
  "cast_mode_detail_sub": "Чёткость важнее плавности",
  "cast_mode_motion": "Видео и анимация",
  "cast_mode_motion_sub": "Плавность важнее чёткости",
  "cast_preview": "Так это выглядит на проекторе",
  "cast_live": "В эфире",
  "cast_screen": "Экран проектора {w}×{h} · {ratio}",
  "cast_source": "Ваша картинка {w}×{h} · {ratio}",
  "cast_same_ratio": "Пропорции совпадают — картинка займёт весь экран.",
  "cast_fit_question": "Пропорции картинки и экрана отличаются. Как показать?",
  "cast_fit_contain": "Целиком",
  "cast_fit_cover": "На весь экран",
  "cast_fit_contain_wide": "Видно всё, сверху и снизу — чёрные полосы.",
  "cast_fit_contain_tall": "Видно всё, слева и справа — чёрные полосы.",
  "cast_fit_cover_wide": "Без полос, но края слева и справа обрежутся — по ~{n}% ширины.",
  "cast_fit_cover_tall": "Без полос, но края сверху и снизу обрежутся — по ~{n}% высоты.",
  "cast_fit_note": "Картинка никогда не растягивается: круг остаётся кругом.",
  "cast_plan": "Передаётся {w}×{h}",
  "cast_plan_crop": "лишние края обрезаются ещё на компьютере",
  "cast_plan_projector_crops": "края обрежет проектор",
  "cast_plan_decoder": "предел декодера проектора {w}×{h}, до размера экрана он увеличит картинку сам",
  "cast_plan_upscale": "картинка меньше экрана, проектор увеличит её сам",
  "cast_plan_exact": "ровно столько пикселей, сколько займёт картинка на проекторе",
  "cast_preempted_other": "Трансляцию перехватили: теперь транслирует {name}.",
  "cast_preempted_booked": "Проектор забронирован ({name}) — ваша трансляция остановлена.",
  "cast_error_booked": "Проектор забронирован — транслировать может только владелец брони.",
  "cast_ice_help": "Не получается соединиться с проектором напрямую. Компьютер и проектор должны быть в одной сети спейса, без VPN. На macOS разрешите браузеру доступ к локальной сети: «Системные настройки» → «Конфиденциальность и безопасность» → «Локальная сеть», затем перезапустите браузер.",
  "cast_link_title": "Ссылка на трансляцию",
  "cast_copy": "Копировать",
  "cast_copied": "Скопировано",
  "cast_watch_title": "Смотреть трансляцию",
  "cast_watch_hint": "Картинка с проектора — у вас в браузере.",
  "cast_watch": "Смотреть здесь",
  "cast_unwatch": "Закрыть просмотр",
  "cast_watching": "Смотрят: {n}",
  "cast_watch_idle": "Сейчас ничего не транслируется",
  "cast_watch_lost": "Связь потеряна — переподключаемся…",
  "cast_watch_failed": "Не удалось подключиться к просмотру.",
  "cast_watch_too_many": "Слишком много зрителей, попробуйте позже.",
  "cast_fullscreen": "Во весь экран",
  "remote_title": "Пульт проектора",
  "remote_back": "← К сервисам",
  "remote_status_connecting": "Подключаемся к проектору…",
  "remote_status_offline": "Проектор выключен или не в сети",
  "remote_status_online": "Проектор на связи",
  "remote_status_denied": "Проектор не принимает команды: токены шлюза и проектора разные. Сообщите администратору.",
  "remote_status_link": "Нет связи со шлюзом — переподключаемся…",
  "remote_no_input": "Проектор не дал доступа к кнопкам: работают громкость, входы и приложения.",
  "remote_power": "Питание",
  "remote_power_confirm": "Выключить проектор? Включить его снова можно только кнопкой на проекторе или его пультом.",
  "remote_power_yes": "Выключить",
  "remote_cancel": "Отмена",
  "remote_up": "Вверх",
  "remote_down": "Вниз",
  "remote_left": "Влево",
  "remote_right": "Вправо",
  "remote_ok": "ОК",
  "remote_menu": "Меню",
  "remote_home": "Домой",
  "remote_back_key": "Назад",
  "remote_vol_up": "Громче",
  "remote_vol_down": "Тише",
  "remote_mute": "Без звука",
  "remote_volume": "Громкость",
  "remote_focus_ccw": "Фокус: повернуть влево",
  "remote_focus_cw": "Фокус: повернуть вправо",
  "remote_autofocus": "Автофокус",
  "remote_hdmi1": "HDMI 1",
  "remote_hdmi2": "HDMI 2",
  "remote_more_inputs": "Другие входы",
  "remote_av": "AV",
  "remote_av_sub": "Композитный вход",
  "remote_usb": "USB",
  "remote_usb_sub": "Файлы с флешки",
  "remote_all_apps": "Все приложения",
  "remote_favorites_empty": "Добавьте приложения на пульт звёздочкой в «Все приложения».",
  "remote_favorites_done": "Готово",
  "remote_apps_search": "Поиск по названию или пакету",
  "remote_apps_loading": "Загружаем список приложений…",
  "remote_apps_empty": "Ничего не найдено",
  "remote_apps_offline": "Проектор не на связи — список приложений недоступен.",
  "remote_add_favorite": "Добавить на пульт",
  "remote_remove_favorite": "Убрать с пульта",
  "remote_projector_settings": "Настройки проектора",
  "remote_projector_settings_sub": "Изображение, звук и система проектора",
  "remote_android_settings": "Настройки Android",
  "remote_android_settings_sub": "Стандартные настройки Android TV",
  "remote_close": "Закрыть",
  "remote_removed": "Удалено с проектора и убрано с пульта: {apps}",
  "remote_err_booked": "Проектор забронирован — пульт работает только у владельца брони.",
  "remote_err_offline": "Нет связи с проектором.",
  "remote_err_invalid": "Проектор не понял команду.",
  "remote_err_projector": "Проектор отказался выполнить команду.",
  "remote_err_full": "На пульте больше нет места для приложений.",
  "remote_err_failed": "Не удалось сохранить. Попробуйте ещё раз.",
  "remote_muted": "Звук выключен",
  "remote_input_toggle_focus": "Показать кнопки фокуса",
  "remote_input_toggle_input": "Показать мышь и клавиатуру",
  "remote_cap_pointer": "Курсор",
  "remote_cap_pointer_title": "Захватить курсор: движения мыши и тачпада уходят на проектор, Esc — отпустить",
  "remote_cap_pointer_release": "Отпустить курсор",
  "remote_cap_keyboard": "Клавиатура",
  "remote_cap_keyboard_title": "Захватить клавиатуру: всё, что вы печатаете, на любом языке, появляется на проекторе",
  "remote_cap_keyboard_release": "Отпустить клавиатуру",
  "remote_cap_paste": "Вставить",
  "remote_cap_paste_title": "Напечатать на проекторе текст из буфера обмена",
  "remote_paste_box": "Нажмите Ctrl+V (на Mac — ⌘V): текст уйдёт на проектор",
  "remote_paste_too_long": "В буфере слишком много текста — на проектор уйдут первые {n} символов.",
  "remote_pointer_badge": "Курсор на проекторе · Esc — отпустить",
  "remote_kbd_badge": "Клавиатура на проекторе · нажмите «Клавиатура» ещё раз, чтобы вернуть её себе",
  "remote_pointer_failed": "Браузер не дал захватить курсор. Кликните по странице и попробуйте ещё раз.",
  "remote_touchpad": "Тачпад",
  "remote_pad_hint": "Веди пальцем — курсор, тап — клик, два пальца — прокрутка, тап двумя — «назад», удержание — перетаскивание",
  "remote_pad_click": "Клик",
  "remote_pad_right": "Назад (правая)",
  "remote_text_placeholder": "Нажмите и печатайте — текст сразу уходит на проектор",
  "remote_lost_note": "Связь с проектором пропадала — курсор и клавиатура отпущены. Захватите их снова.",
  "remote_ime_note": "Печать на любом языке не настроена: приложению пульта не выдано разрешение (его выдаёт install.sh). Латиница, цифры, Enter, Backspace, стрелки и мышь работают.",
  "remote_journal": "Журнал проектора",
  "remote_journal_title": "Журнал проектора: кто и что делал с проектором",
  "remote_booking_checking": "Проверяем бронь проектора…",
  "booking_checking": "Проверяем бронь…",
  "cast_error_busy": "Сейчас идёт другая трансляция. Дождитесь её окончания — по гостевой ссылке чужую трансляцию не прервать.",
  "cast_hint_guest_busy": "Дождитесь окончания трансляции: по гостевой ссылке её нельзя прервать.",
  "cast_guest_title": "Гостевая ссылка",
  "cast_guest_hint": "По ней человек без входа сможет транслировать на проектор из сети спейса. Ссылка одноразовая и действует 50 часов: она сгорает, когда гость закроет вкладку после трансляции.",
  "cast_guest_create": "Создать ссылку",
  "cast_guest_again": "Создать ещё одну",
  "cast_guest_until": "Действует до {time}",
  "cast_guest_failed": "Не удалось создать ссылку. Попробуйте ещё раз.",
  "cast_guest_subtitle": "Вы транслируете по гостевой ссылке. Пока вкладка открыта, запускать и останавливать трансляцию можно сколько угодно; после закрытия вкладки ссылка перестанет работать.",
  "journal_title": "Журнал проектора",
  "journal_subtitle": "Кто и что делал с проектором за последние 50 часов. Новые действия появляются сами.",
  "journal_back": "← К пульту",
  "journal_filter": "Показывать",
  "journal_filter_all": "Все действия",
  "journal_kind_remote": "Кнопки пульта",
  "journal_kind_cast": "Трансляции",
  "journal_kind_input": "Источники ввода",
  "journal_kind_booking": "Бронирование",
  "journal_col_time": "Время",
  "journal_col_who": "Кто",
  "journal_col_action": "Действие",
  "journal_sort_time": "Сортировать по времени: сначала новые или сначала старые",
  "journal_sort_who": "Сортировать по имени: по алфавиту или в обратном порядке",
  "journal_sort_action": "Сгруппировать по действию; внутри группы — по времени",
  "journal_empty": "За последние 50 часов с проектором ничего не делали.",
  "journal_empty_filter": "Таких действий за последние 50 часов не было.",
  "journal_failed": "Не удалось загрузить журнал. Обновите страницу.",
  "journal_status_loading": "Загружаем журнал…",
  "journal_status_live": "Журнал обновляется сам",
  "journal_status_offline": "Нет связи со шлюзом — переподключаемся…",
  "journal_count": "Записей: {n}",
  "journal_who_guest": "Гость · ссылку дал(а) {name}",
  "journal_who_guest_unknown": "Гость по ссылке",
  "journal_who_unknown": "Без имени",
  "journal_act_button": "Нажатие кнопки «{button}»",
  "journal_act_focus": "Настройка фокуса: {button}",
  "journal_act_volume": "Громкость изменена до {percent}%",
  "journal_act_volume_plain": "Громкость изменена",
  "journal_act_app": "Открыто приложение «{app}»",
  "journal_act_android_settings": "Открыты настройки Android",
  "journal_act_pointer": "Захват курсора мыши",
  "journal_act_keyboard": "Ввод с клавиатуры компьютера",
  "journal_act_touchpad": "Курсор двигают по сенсорному экрану",
  "journal_act_touch_keyboard": "Ввод с сенсорной клавиатуры",
  "journal_act_input": "Источник ввода переключён на {input}",
  "journal_act_book": "Проектор забронирован",
  "journal_act_release": "Бронь снята",
  "journal_act_release_admin": "Администратор снял бронь резидента {target}",
  "journal_act_release_absent": "Бронь снята автоматически",
  "journal_act_cast_start": "Трансляция начата",
  "journal_act_cast_stop": "Трансляция закончена",
  "journal_act_guest_cast_start": "По гостевой ссылке начата трансляция",
  "journal_act_guest_cast_stop": "По гостевой ссылке закончена трансляция",
  "journal_focus_cw": "поворот вправо",
  "journal_focus_ccw": "поворот влево",
  "journal_autofocus": "автофокус"
}
