// Russian dictionary — same slugs as en.js; a missing slug falls back to English.
export default {
"nav.secrets": "Секреты",
"nav.history": "История",
"nav.audit": "Аудит",
"nav.tokens": "Токены",
"nav.extension": "Расширение",
"login.title": "Добро пожаловать в GNEXUS CREDS",
"login.subtitle": "Войдите, чтобы получить доступ к секретам",
"login.action": "Войти через GNEXUS",
"nav.settings": "Настройки",
"nav.admin": "Админ",
"common.loading": "Загрузка",
"common.error": "Ошибка",
"common.cancel": "Отмена",
"common.close": "Закрыть",
"common.delete": "Удалить",
"common.download": "Скачать",
"common.restore": "Восстановить",
"common.revoke": "Отозвать",
"common.save": "Сохранить",
"common.refresh": "Обновить",
"common.notSet": "Не задано",
"common.uncategorized": "без категории",
"common.user": "Пользователь",
"common.hide": "Скрыть",
"common.reveal": "Раскрыть",
"common.records": "записей: {n}", // «{n} записей» ломает плюрализацию, эта форма короче и безопасна
"profile.logout": "Выйти",
"profile.languageAuto": "Авто (из аккаунта)",
"profile.langEn": "English",
"profile.langUk": "Українська",
"profile.langRu": "Русский",
"profile.saved": "Профиль обновлён.",
"secrets.searchPlaceholder": "сервис, логин, тег, источник",
"secrets.sort": "Сортировка",
"secrets.sortUpdatedNewest": "Обновление (сначала новые)",
"secrets.sortUpdatedOldest": "Обновление (сначала старые)",
"secrets.sortTitleAz": "Название (А–Я)",
"secrets.sortTitleZa": "Название (Я–А)",
"secrets.sortStatus": "Статус",
"secrets.create": "Создать",
"secrets.empty": "Секретов пока нет",
"secrets.emptyText": "Создайте первую запись кнопкой «Создать».",
"secrets.openSecret": "Открыть секрет",
"col.title": "Название",
"col.purpose": "Назначение",
"col.category": "Категория",
"col.status": "Статус",
"col.name": "Название",
"col.scopes": "Scopes",
"col.user": "Пользователь",
"col.role": "Роль",
"col.lastSeen": "Последняя активность",
"col.time": "Время",
"col.action": "Действие",
"col.channel": "Канал",
"col.ip": "IP",
"col.metadata": "Метаданные",
"col.file": "Файл",
"col.size": "Размер",
"col.created": "Создан",
"col.publicId": "Публичный ID",
"col.lastUsed": "Последнее использование",
"detail.purpose": "Назначение",
"detail.category": "Категория",
"detail.tags": "Теги",
"detail.noTags": "Нет тегов",
"detail.access": "Доступ",
"detail.accessState": "UI {ui} · REST {rest} · MCP {mcp}",
"detail.on": "вкл",
"detail.off": "выкл",
"detail.encrypted": "зашифровано",
"detail.plain": "открыто",
"detail.versions": "Версии",
"detail.editFields": "Изменить поля",
"detail.markOutdated": "Пометить устаревшим",
"detail.markActual": "Пометить актуальным",
"detail.archive": "В архив",
"detail.deleteAction": "Удалить",
"detail.maskValues": "Замаскировать значения",
"detail.showValues": "Показать расшифрованные значения",
"detail.hideSecret": "Скрыть секрет",
"detail.revealSecret": "Раскрыть секрет",
"detail.editMetadata": "Изменить метаданные",
"detail.secretActions": "Действия с секретом",
"detail.backToList": "К списку",
"detail.selectSecret": "Выберите секрет",
"detail.selectSecretText": "Метаданные показываются сразу. Значения доступны после раскрытия.",
"detail.revealedFields": "Раскрытые поля",
"detail.hideValue": "Скрыть значение",
"detail.showValue": "Показать значение",
"detail.hideFieldValue": "Скрыть значение поля",
"detail.showFieldValue": "Показать значение поля",
"history.toolbar": "История версий",
"history.selectSecret": "Сначала выберите секрет на вкладке «Секреты»",
"history.version": "Версия {n}",
"history.fields": { one: "{n} поле", few: "{n} поля", many: "{n} полей" },
"history.noVersions": "Нет версий",
"history.noVersionsText": "Выберите секрет и откройте его историю, чтобы увидеть версии.",
"audit.toolbar": "Аудит",
"audit.allSecrets": "Все секреты",
"audit.empty": "Нет событий аудита",
"audit.emptyText": "События появятся здесь после первых действий.",
"tokens.toolbar": "API-токены",
"tokens.create": "Создать токен",
"tokens.intro": "API-токены позволяют внешним клиентам и MCP-инструментам работать с gnexus-creds без браузерной сессии. Выберите понятное название и нужные scopes.",
"tokens.tokenName": "Название токена",
"tokens.scopeRead": "Чтение",
"tokens.scopeReveal": "Раскрытие",
"tokens.scopeWrite": "Запись",
"tokens.scopeAdmin": "Админ",
"tokens.token": "Токен",
"tokens.copyNotice": "Скопируйте токен сейчас — он больше не будет показан.",
"tokens.empty": "Нет токенов",
"tokens.emptyText": "Создайте API-токен, чтобы работать с секретами программно.",
"tokens.revokeTitle": "Отозвать токен",
"tokens.revokeText": "Токен '{name}' будет отозван навсегда. Он больше не подойдёт для API и MCP.",
"extension.toolbar": "Браузерное расширение",
"extension.description": "Автозаполнение сохранённых данных, захват новых логинов и просмотр секретов прямо из панели. Скачайте сборку для своего браузера, подключите её в распакованном виде и укажите этот сервер и API-токен.",
"extension.download": "Скачать сборку {browser}",
"extension.createToken": "Создать API-токен",
"extension.loadFailed": "Не удалось загрузить сведения о расширении.",
"settings.overview": "Обзор хранилища",
"settings.totalSecrets": "Всего секретов",
"settings.activeSecrets": "Активные секреты",
"settings.mcpEnabled": "MCP включено",
"settings.languageToolbar": "Язык интерфейса",
"settings.languageDescription": "По умолчанию сервис следует языку аккаунта gnexus-auth; выбор здесь перекрывает его только для gnexus-creds. «Авто» возвращает язык аккаунта.",
"settings.importToolbar": "Импорт данных",
"settings.importTitle": "Импорт JSON",
"settings.importDescription": "Поддерживаются только JSON-файлы экспорта gnexus-creds.",
"settings.importPrimary": "Выбрать файл экспорта",
"settings.importSecondary": "Файл разбирается локально перед импортом.",
"settings.importAction": "Импортировать выбранный файл",
"settings.importReady": "секретов готово: {n}",
"settings.exportToolbar": "Экспорт данных",
"settings.exportDescription": "Экспортирует все секреты как расшифрованный JSON. Храните файл в надёжном месте — он содержит значения открытым текстом.",
"settings.exportAction": "Экспортировать расшифрованный JSON",
"settings.gateToolbar": "Биометрическая защита",
"settings.gateDescription": "Требует отпечаток (Android), Touch ID или Windows Hello перед каждым раскрытием секрета. Проверка выполняется целиком в этом браузере — сервер не видит биометрических данных. Для выключения нужно то же подтверждение, поэтому защиту нельзя снять с безнадзорной сессии.",
"settings.gateUnavailable": "Биометрическая аутентификация на этом устройстве недоступна.",
"settings.gateBroken": "Созданный passkey больше не на этом устройстве. Зарегистрируйте защиту заново, чтобы восстановить её.",
"settings.gateDisable": "Выключить биометрическую защиту",
"settings.gateEnable": "Включить биометрическую защиту",
"settings.dangerToolbar": "Опасная зона",
"settings.dangerDescription": "Удаление всех данных стирает каждый секрет и версию. Записи аудита и API-токены сохраняются.",
"settings.deleteAll": "Удалить все данные",
"bio.gateTitle": "Биометрическая защита",
"bio.canceled": "Отменено",
"bio.canceledText": "Биометрическая проверка отменена — ничего не раскрыто.",
"bio.noCredential": "Passkey на этом устройстве не найден — зарегистрируйте защиту заново в Настройках.",
"bio.failedText": "Проверка не пройдена — секрет не раскрыт.",
"bio.stayOnCanceled": "Отменено — защита остаётся включённой.",
"bio.stayOnFailed": "Проверка не пройдена — защита остаётся включённой.",
"bio.disabled": "Биометрическая защита выключена — раскрытия больше не требуют проверки.",
"bio.enabled": "Биометрическая защита включена — каждое раскрытие спросит сенсор.",
"bio.enrollCanceled": "Регистрация отменена — защита остаётся выключенной.",
"bio.enrollFailed": "Регистрация не удалась.",
"bio.saved": "Сохранено",
"admin.usersToolbar": "Пользователи",
"admin.refresh": "Обновить",
"admin.checkDiagnostics": "Проверить диагностику",
"admin.noUsers": "Нет пользователей",
"admin.noUsersText": "Пользователи появятся здесь после входа.",
"admin.backups": "Резервные копии",
"admin.createBackup": "Создать копию",
"admin.noBackups": "Нет копий",
"admin.noBackupsText": "Создайте резервную копию перед крупными изменениями.",
"admin.noBackupsYet": "Копий пока нет",
"confirm.deleteAllTitle": "Удалить все данные",
"confirm.deleteAllText": "Это навсегда удаляет все секреты и версии. Записи аудита остаются.",
"confirm.deleteSecretTitle": "Удалить секрет",
"confirm.deleteSecretText": "Это навсегда удаляет «{title}» и все его версии. Записи аудита остаются.",
"confirm.restoreTitle": "Восстановить базу",
"confirm.restoreText": "Текущая база будет перезаписана файлом {file}. Все существующие данные будут заменены.",
"toast.deleted": "Удалено",
"toast.allDataRemoved": "Все данные удалены.",
"toast.backup": "Копия",
"toast.backupCreated": "Резервная копия базы создана.",
"toast.restored": "Восстановлено",
"toast.databaseRestored": "База восстановлена. Пожалуйста, перезагрузите страницу.",
"create.title": "Создать секрет",
"create.titleHelp": "Понятное название для списков и поиска.",
"create.purposeHelp": "Сервис, сервер, аккаунт или другое назначение секрета.",
"create.categoryHelp": "Одна группа для навигации, например work или banking.",
"create.sourceHelp": "Откуда секрет: человек, импорт, задача или заметка.",
"create.tagsHelp": "Ключевые слова для поиска.",
"create.notesHelp": "Короткий контекст к секрету. Ограничено 140 символами.",
"create.fieldsTitle": "Поля",
"create.fieldsMeta": "Одна строка на значение секрета",
"create.addField": "Добавить поле",
"create.fieldsHelp": "Добавляйте по одной строке на значение. Для паролей, токенов, PIN-ов и ключей включите шифрование.",
"create.fieldName": "Название поля",
"create.fieldNameHelp": "Название попадает в ответы API и MCP, например username.",
"create.fieldValue": "Значение",
"create.fieldValueHelp": "Реальное значение этого поля.",
"create.encrypt": "Шифровать",
"create.removeField": "Убрать поле",
"create.accessTitle": "Доступ",
"create.accessMeta": "Общие каналы для этого секрета",
"create.accessMetaEdit": "Общие каналы доступности этого секрета",
"create.channelUi": "UI",
"create.channelRest": "REST API",
"create.channelMcp": "MCP",
"create.uiInfo": "Доступно в веб-интерфейсе после входа.",
"create.restInfo": "Доступно внешним клиентам с API-токенами.",
"create.mcpInfo": "Доступно MCP-клиентам, если scopes токена позволяют.",
"create.statusTitle": "Статус",
"create.statusMeta": "Метаданные для списков и фильтров",
"create.statusActual": "Актуальный",
"create.statusOutdated": "Устаревший",
"create.archived": "В архиве",
"create.saveMetadata": "Сохранить метаданные",
"create.saveNewVersion": "Сохранить новую версию",
"create.sourceLabel": "Источник",
"create.notesLabel": "Заметки",
"create.fieldsLabel": "Поля",
"import.unsupportedFile": "Неподдерживаемый файл импорта",
};