# Russian translation for aa-discord-audit.
# Copyright (C) 2026 Boris Talovikov
# This file is distributed under the same license as the aa-discord-audit package.
# Boris Talovikov <boris.t.66@gmail.com>, 2026.
#
msgid ""
msgstr ""
"Project-Id-Version: aa-discord-audit 0.1.0a3\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-05-14 15:11+0000\n"
"PO-Revision-Date: 2026-05-14 15:30+0000\n"
"Last-Translator: Boris Talovikov <boris.t.66@gmail.com>\n"
"Language-Team: Russian\n"
"Language: ru\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && "
"n%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || "
"(n%100>=11 && n%100<=14)? 2 : 3);\n"

#, python-brace-format
msgid "Discord Audit v{version}"
msgstr "Аудит Discord v{version}"

msgid "audit run"
msgstr "прогон аудита"

msgid "audit runs"
msgstr "прогоны аудита"

msgid "audit finding"
msgstr "находка аудита"

msgid "audit findings"
msgstr "находки аудита"

msgid "config change log entry"
msgstr "запись журнала изменений настроек"

msgid "config change log entries"
msgstr "записи журнала изменений настроек"

msgid "audit invocation"
msgstr "запуск аудита"

msgid "audit invocations"
msgstr "запуски аудита"

msgid "Manually linked by operator"
msgstr "Связано вручную оператором"

msgid "Migrated from a deleted DiscordUser row"
msgstr "Перенесено из удалённой записи DiscordUser"

msgid "Identity unknown to AA"
msgstr "Личность неизвестна AA"

msgid "Identity known but lacks access_perm"
msgstr "Личность известна, но нет права доступа"

msgid "Filtered as a known bot account"
msgstr "Отфильтровано как известная учётная запись бота"

msgid "Report only — no changes"
msgstr "Только отчёт — без изменений"

msgid "Strip AA-managed roles"
msgstr "Снять роли, управляемые AA"

msgid "Strip AA-managed roles and kick"
msgstr "Снять роли, управляемые AA, и кикнуть"

msgid "Pending"
msgstr "Ожидает"

msgid "Running"
msgstr "Выполняется"

msgid "Succeeded"
msgstr "Завершён успешно"

msgid "Failed"
msgstr "Завершён с ошибкой"

msgid "Budget exceeded"
msgstr "Превышен лимит времени"

msgid "Abandoned"
msgstr "Брошен"

msgid "Interrupted"
msgstr "Прерван"

msgid "Applied"
msgstr "Применено"

msgid "Skipped"
msgstr "Пропущено"

msgid "Management command"
msgstr "Команда управления"

msgid "Celery beat schedule"
msgstr "Расписание Celery beat"

msgid "Manual / API call"
msgstr "Вручную / через API"

msgid "Per-user rate limit exceeded"
msgstr "Превышено количество запусков на пользователя"

msgid "run_audit permission missing"
msgstr "Нет права run_audit"

msgid "Destructive action requested without --yes"
msgstr "Запрошено разрушительное действие без --yes"

msgid "Discord API HTTP error"
msgstr "Ошибка HTTP в API Discord"

msgid "Member added to protect list"
msgstr "Участник добавлен в список защищённых"

msgid "Member reclassified between phases"
msgstr "Участник переклассифицирован между фазами"

msgid "Linked AA user changed between phases"
msgstr "Связанный пользователь AA изменился между фазами"

msgid "Discord bot auth failed (401)"
msgstr "Сбой авторизации бота Discord (401)"

msgid "Discord refused the request (403)"
msgstr "Discord отклонил запрос (403)"

msgid "Operator marked the finding as manually reviewed"
msgstr "Оператор отметил находку как просмотренную вручную"

msgid "Build/apply disagreed on which findings exist"
msgstr "Расхождение фаз build/apply по составу находок"

msgid "Created"
msgstr "Создано"

msgid "Updated"
msgstr "Изменено"

msgid "Deleted"
msgstr "Удалено"

msgid ""
"Discord username captured at row creation. HISTORICAL rows are populated by "
"the post_delete signal; OPERATOR rows are filled by the admin. Not refreshed "
"if the user renames."
msgstr ""
"Имя пользователя Discord, зафиксированное при создании записи. HISTORICAL-"
"записи заполняет сигнал post_delete; OPERATOR-записи заполняет "
"администратор. Не обновляется при переименовании пользователя."

msgid ""
"Discord display name (global_name) captured at row creation. AA core's "
"DiscordUser does not store this, so HISTORICAL rows leave it blank; OPERATOR "
"rows or audit-time enrichment may fill it. Not refreshed if the user changes "
"display name."
msgstr ""
"Отображаемое имя Discord (global_name), зафиксированное при создании записи. "
"DiscordUser в ядре AA его не хранит, поэтому HISTORICAL-записи оставляют "
"поле пустым; OPERATOR-записи и обогащение во время аудита могут его "
"заполнить. Не обновляется при смене отображаемого имени."

msgid "discord identity"
msgstr "личность Discord"

msgid "discord identities"
msgstr "личности Discord"

msgid "pending kick"
msgstr "отложенный кик"

msgid "pending kicks"
msgstr "отложенные кики"

msgid "bot account uid"
msgstr "UID учётной записи бота"

msgid "bot account uids"
msgstr "UID учётных записей ботов"

msgid "protected discord member"
msgstr "защищённый участник Discord"

msgid "protected discord members"
msgstr "защищённые участники Discord"

msgid "managed role exception"
msgstr "исключение управляемой роли"

msgid "managed role exceptions"
msgstr "исключения управляемых ролей"

msgid "finding action override"
msgstr "переопределение действия для находки"

msgid "finding action overrides"
msgstr "переопределения действий для находок"

msgid "initial audit acknowledgement"
msgstr "подтверждение первого аудита"

msgid "initial audit acknowledgements"
msgstr "подтверждения первого аудита"

msgid "Discord audit sections"
msgstr "Разделы аудита Discord"

msgid "Runs"
msgstr "Прогоны"

msgid "Invocations"
msgstr "Запуски"

msgid "Config changes"
msgstr "Изменения настроек"

msgid "Discord Audit Config Changes"
msgstr "Изменения настроек аудита Discord"

msgid "Discord Audit"
msgstr "Аудит Discord"

msgid "breadcrumb"
msgstr "путь"

msgid "Operator config changes"
msgstr "Изменения настроек оператором"

msgid ""
"Append-only forensic log of every operator edit to BotAccountUid, "
"ProtectedDiscordMember, ManagedRoleException, and FindingActionOverride. "
"Survives retention pruning of AuditRun rows."
msgstr ""
"Добавляемый только в конец журнал каждого изменения BotAccountUid, "
"ProtectedDiscordMember, ManagedRoleException и FindingActionOverride, "
"сделанного оператором. Не удаляется вместе с записями AuditRun по политике "
"хранения."

msgid "Model"
msgstr "Модель"

msgid "(any)"
msgstr "(любая)"

msgid "Action"
msgstr "Действие"

msgid "Actor"
msgstr "Автор"

msgid "Apply"
msgstr "Применить"

msgid "ID"
msgstr "ID"

msgid "Created at"
msgstr "Создано"

msgid "Object pk"
msgstr "ID объекта"

msgid "Payload"
msgstr "Содержимое"

msgid "show"
msgstr "показать"

msgid "No config changes to display."
msgstr "Изменений настроек для отображения нет."

msgid "pagination"
msgstr "разбиение на страницы"

msgid "Discord Audit Finding"
msgstr "Находка аудита Discord"

#, python-format
msgid "Run #%(run_id)s"
msgstr "Прогон №%(run_id)s"

#, python-format
msgid "Finding #%(finding_id)s"
msgstr "Находка №%(finding_id)s"

msgid "Finding"
msgstr "Находка"

msgid "Recorded outcome"
msgstr "Зафиксированный исход"

msgid ""
"Frozen at the time of the audit run; classify() ran against the live Discord "
"member and the operator-config tables in effect when the run started."
msgstr ""
"Зафиксировано на момент прогона аудита; classify() выполнялся для текущего "
"участника Discord с теми настройками оператора, что действовали на момент "
"старта прогона."

msgid "Member ID"
msgstr "ID участника"

msgid "Username"
msgstr "Имя пользователя"

msgid "Category"
msgstr "Категория"

msgid "State"
msgstr "Состояние"

msgid "AA user"
msgstr "Пользователь AA"

msgid "Kicked"
msgstr "Кикнут"

msgid "yes,no"
msgstr "да,нет"

msgid "Skip reason"
msgstr "Причина пропуска"

msgid "Error"
msgstr "Ошибка"

msgid "Roles removed"
msgstr "Снятые роли"

msgid "Role IDs:"
msgstr "ID ролей:"

msgid "Current operator-config inputs"
msgstr "Текущие настройки оператора"

msgid ""
"Live state of the tables classify() consults. Diverges from the recorded "
"category when the operator changed config between the run and now — useful "
"when investigating 'why was this flagged?' after a follow-up edit."
msgstr ""
"Актуальное состояние таблиц, к которым обращается classify(). Расходится с "
"зафиксированной категорией, если оператор изменил настройки между прогоном и "
"текущим моментом — полезно при разборе «почему это попало в находки?» после "
"правок."

msgid "In BotAccountUid"
msgstr "В BotAccountUid"

msgid "yes"
msgstr "да"

msgid "no"
msgstr "нет"

msgid "ProtectedDiscordMember"
msgstr "ProtectedDiscordMember"

msgid "protected"
msgstr "защищён"

msgid "not protected"
msgstr "не защищён"

msgid "Has DiscordUser link"
msgstr "Связь с DiscordUser"

msgid "AA user pk:"
msgstr "ID пользователя AA:"

msgid "Has DiscordIdentity"
msgstr "Запись DiscordIdentity"

msgid "last seen:"
msgstr "замечен:"

msgid "Recorded run policy snapshot"
msgstr "Зафиксированная политика прогона"

msgid "Discord Audit Invocations"
msgstr "Запуски аудита Discord"

msgid "Audit invocations"
msgstr "Запуски аудита"

msgid ""
"Every CLI / beat / manual trigger of the audit, including refused attempts. "
"Refused rows do NOT count toward the per-user rate limit."
msgstr ""
"Каждый запуск аудита — из CLI, расписанием или вручную, включая отклонённые "
"попытки. Отклонённые записи НЕ учитываются в лимите запусков на пользователя."

msgid "Accepted"
msgstr "Принят"

msgid "Refusal reason"
msgstr "Причина отказа"

msgid "Triggered by"
msgstr "Источник"

msgid "Started at"
msgstr "Начат"

msgid "User"
msgstr "Пользователь"

msgid "Argv"
msgstr "Аргументы"

msgid "Run"
msgstr "Прогон"

msgid "(pruned)"
msgstr "(удалено по политике хранения)"

msgid "No invocations to display."
msgstr "Запусков для отображения нет."

msgid "Discord Audit Run"
msgstr "Прогон аудита Discord"

msgid "AuditRun"
msgstr "AuditRun"

msgid "Triggered by user"
msgstr "Запущен пользователем"

msgid "Started"
msgstr "Начат"

msgid "Finished"
msgstr "Завершён"

msgid "Members scanned"
msgstr "Просканировано участников"

msgid "Findings"
msgstr "Находок"

msgid "Actions applied"
msgstr "Применено действий"

msgid "Actions skipped"
msgstr "Пропущено действий"

msgid "Dry run"
msgstr "Холостой прогон"

msgid "First-run lock"
msgstr "Блокировка первого прогона"

msgid "Confirmation bypassed"
msgstr "Подтверждение пропущено"

msgid "Download CSV"
msgstr "Скачать CSV"

msgid ""
"You lack the view_auditfinding permission; per-finding details are hidden."
msgstr "У вас нет права view_auditfinding; данные по находкам скрыты."

msgid "Explain"
msgstr "Подробно"

msgid "No findings to display."
msgstr "Находок для отображения нет."

msgid "Discord Audit Runs"
msgstr "Прогоны аудита Discord"

msgid "Audit runs"
msgstr "Прогоны аудита"

msgid "From"
msgstr "С"

msgid "To"
msgstr "По"

msgid "Members"
msgstr "Участников"

msgid "Open"
msgstr "Открыть"

msgid "No audit runs to display."
msgstr "Прогонов аудита для отображения нет."
