Files
TREK/shared/src/i18n/ru/admin.ts
T
jubnl 4ba407aead feat(plugins): install an older version of a plugin (#2035)
Adds a version picker to the plugin admin panel, on desktop and mobile: every
published version with its own server-computed compatibility verdict, so the
client never re-derives semver range logic.

A deliberate non-latest pick sets an update hold on the row, which keeps the
update banner and "Update all" from immediately nagging the rollback away. The
hold releases when an install lands back on the newest compatible version by any
path, or when the admin resumes updates explicitly. An unresolvable registry
never sets one: refusing to pin on missing information beats silently muting
future updates.
2026-08-25 17:30:27 +02:00

707 lines
68 KiB
TypeScript
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
import type { TranslationStrings } from '../types';
const admin: TranslationStrings = {
'admin.notifications.title': 'Уведомления',
'admin.notifications.hint': 'Выберите канал уведомлений. Одновременно может быть активен только один.',
'admin.notifications.none': 'Отключено',
'admin.notifications.email': 'Эл. почта (SMTP)',
'admin.notifications.webhook': 'Webhook',
'admin.notifications.save': 'Сохранить настройки уведомлений',
'admin.notifications.saved': 'Настройки уведомлений сохранены',
'admin.notifications.testWebhook': 'Отправить тестовый вебхук',
'admin.notifications.testWebhookSuccess': 'Тестовый вебхук успешно отправлен',
'admin.notifications.testWebhookFailed': 'Ошибка отправки тестового вебхука',
'admin.smtp.title': 'Почта и уведомления',
'admin.smtp.hint': 'Конфигурация SMTP для отправки уведомлений по электронной почте.',
'admin.smtp.testButton': 'Отправить тестовое письмо',
'admin.webhook.hint': 'Отправлять уведомления через внешний webhook (Discord, Slack и т.д.).',
'admin.smtp.testSuccess': 'Тестовое письмо успешно отправлено',
'admin.smtp.testFailed': 'Ошибка отправки тестового письма',
'admin.title': 'Администрирование',
'admin.subtitle': 'Управление пользователями и системные настройки',
'admin.tabs.users': 'Пользователи',
'admin.tabs.categories': 'Категории',
'admin.tabs.backup': 'Резервная копия',
'admin.tabs.audit': 'Аудит',
'admin.stats.users': 'Пользователи',
'admin.stats.trips': 'Поездки',
'admin.stats.places': 'Места',
'admin.stats.photos': 'Фото',
'admin.stats.files': 'Файлы',
'admin.table.user': 'Пользователь',
'admin.table.email': 'Эл. почта',
'admin.table.role': 'Роль',
'admin.table.created': 'Создан',
'admin.table.lastLogin': 'Последний вход',
'admin.table.actions': 'Действия',
'admin.you': '(Вы)',
'admin.editUser': 'Редактировать пользователя',
'admin.newPassword': 'Новый пароль',
'admin.newPasswordHint': 'Оставьте пустым, чтобы сохранить текущий пароль',
'admin.deleteUser': 'Удалить пользователя «{name}»? Все поездки будут безвозвратно удалены.',
'admin.deleteUserTitle': 'Удалить пользователя',
'admin.newPasswordPlaceholder': 'Введите новый пароль…',
'admin.toast.loadError': 'Не удалось загрузить данные администрирования',
'admin.toast.userUpdated': 'Пользователь обновлён',
'admin.toast.updateError': 'Ошибка обновления',
'admin.toast.userDeleted': 'Пользователь удалён',
'admin.toast.deleteError': 'Ошибка удаления',
'admin.toast.cannotDeleteSelf': 'Нельзя удалить собственный аккаунт',
'admin.toast.userCreated': 'Пользователь создан',
'admin.toast.createError': 'Ошибка создания пользователя',
'admin.toast.fieldsRequired': 'Имя пользователя, эл. почта и пароль обязательны',
'admin.createUser': 'Создать пользователя',
'admin.invite.title': 'Ссылки-приглашения',
'admin.invite.subtitle': 'Создание одноразовых ссылок для регистрации',
'admin.invite.create': 'Создать ссылку',
'admin.invite.createAndCopy': 'Создать и скопировать',
'admin.invite.empty': 'Ссылки-приглашения ещё не созданы',
'admin.invite.maxUses': 'Макс. использований',
'admin.invite.expiry': 'Действует',
'admin.invite.uses': 'использовано',
'admin.invite.expiresAt': 'истекает',
'admin.invite.createdBy': 'от',
'admin.invite.active': 'Активна',
'admin.invite.expired': 'Истекла',
'admin.invite.usedUp': 'Исчерпана',
'admin.invite.copied': 'Ссылка-приглашение скопирована',
'admin.invite.copyLink': 'Копировать ссылку',
'admin.invite.deleted': 'Ссылка-приглашение удалена',
'admin.invite.createError': 'Ошибка при создании ссылки',
'admin.invite.deleteError': 'Ошибка при удалении ссылки',
'admin.tabs.settings': 'Настройки',
'admin.allowRegistration': 'Разрешить регистрацию',
'admin.allowRegistrationHint': 'Новые пользователи могут регистрироваться самостоятельно',
'admin.authMethods': 'Authentication Methods',
'admin.passwordLogin': 'Password Login',
'admin.passwordLoginHint': 'Allow users to sign in with email and password',
'admin.passwordRegistration': 'Password Registration',
'admin.passwordRegistrationHint': 'Allow new users to register with email and password',
'admin.oidcLogin': 'SSO Login',
'admin.oidcLoginHint': 'Allow users to sign in with SSO',
'admin.oidcRegistration': 'SSO Auto-Provisioning',
'admin.oidcRegistrationHint': 'Automatically create accounts for new SSO users',
'admin.envOverrideHint':
'Password login settings are controlled by the OIDC_ONLY environment variable and cannot be changed here.',
'admin.lockoutWarning': 'At least one login method must remain enabled',
'admin.requireMfa': 'Требовать двухфакторную аутентификацию (2FA)',
'admin.requireMfaHint':
'Пользователи без 2FA должны завершить настройку в разделе «Настройки» перед использованием приложения.',
'admin.apiKeys': 'API-ключи',
'admin.apiKeysHint': 'Необязательно. Включает расширенные данные о местах, такие как фото и погода.',
'admin.mapsKey': 'API-ключ Google Maps',
'admin.mapsKeyHint': 'Необходим для поиска мест. Получите на console.cloud.google.com',
'admin.mapsKeyHintLong':
'Без API-ключа используется OpenStreetMap для поиска мест. С ключом Google API можно загружать фото, рейтинги и часы работы. Получите ключ на console.cloud.google.com.',
'admin.recommended': 'Рекомендуется',
'admin.weatherKey': 'API-ключ OpenWeatherMap',
'admin.weatherKeyHint': 'Для данных о погоде. Бесплатно на openweathermap.org',
'admin.unsplashKey': 'Ключ API Unsplash',
'admin.unsplashKeyHint': 'Для поиска изображений. Бесплатно на unsplash.com/developers',
'admin.validateKey': 'Проверить',
'admin.keyValid': 'Подключено',
'admin.keyInvalid': 'Недействителен',
'admin.keySaved': 'API-ключи сохранены',
'admin.oidcTitle': 'Единый вход (OIDC)',
'admin.oidcSubtitle': 'Разрешить вход через внешних провайдеров, таких как Google, Apple, Authentik или Keycloak.',
'admin.oidcDisplayName': 'Отображаемое имя',
'admin.oidcIssuer': 'URL издателя',
'admin.oidcIssuerHint': 'URL издателя OpenID Connect провайдера. Напр. https://accounts.google.com',
'admin.oidcSaved': 'Конфигурация OIDC сохранена',
'admin.oidcOnlyMode': 'Отключить вход по паролю',
'admin.oidcOnlyModeHint':
'При включении разрешён только вход через SSO. Вход и регистрация по паролю будут заблокированы.',
'admin.fileTypes': 'Разрешённые типы файлов',
'admin.fileTypesHint': 'Настройте, какие типы файлов могут загружать пользователи.',
'admin.fileTypesFormat': 'Расширения через запятую (напр. jpg,png,pdf,doc). Используйте * для разрешения всех типов.',
'admin.fileTypesSaved': 'Настройки типов файлов сохранены',
'admin.placesPhotos.title': 'Фотографии мест',
'admin.placesPhotos.subtitle':
'Загрузка фотографий из Google Places API. Отключите для экономии квоты API. Фотографии Wikimedia не затронуты.',
'admin.placesAutocomplete.title': 'Автодополнение мест',
'admin.placesAutocomplete.subtitle':
'Использование Google Places API для поисковых подсказок. Отключите для экономии квоты API.',
'admin.placesDetails.title': 'Сведения о месте',
'admin.placesDetails.subtitle':
'Загрузка подробной информации о месте (часы работы, рейтинг, веб-сайт) из Google Places API. Отключите для экономии квоты API.',
'admin.placesEnrich.title': 'Обогащение мест',
'admin.placesEnrich.subtitle':
'Показывает изображения и описание при добавлении места. Wikipedia и OpenStreetMap используются всегда; Google добавляется, если включены «Фото мест» или «Детали мест».',
'admin.bagTracking.title': 'Отслеживание багажа',
'admin.bagTracking.subtitle': 'Включить вес и привязку к багажу для вещей',
'admin.collab.chat.title': 'Чат',
'admin.collab.chat.subtitle': 'Обмен сообщениями для совместной работы',
'admin.collab.notes.title': 'Заметки',
'admin.collab.notes.subtitle': 'Общие заметки и документы',
'admin.collab.polls.title': 'Опросы',
'admin.collab.polls.subtitle': 'Групповые опросы и голосования',
'admin.collab.whatsnext.title': 'Что дальше',
'admin.collab.whatsnext.subtitle': 'Предложения активностей и следующие шаги',
'admin.tabs.config': 'Персонализация',
'admin.tabs.defaults': 'Настройки по умолчанию',
'admin.defaultSettings.title': 'Настройки пользователей по умолчанию',
'admin.defaultSettings.description':
'Задайте значения по умолчанию для всего экземпляра. Пользователи, не изменившие параметр, увидят эти значения. Их собственные изменения всегда имеют приоритет.',
'admin.defaultSettings.saved': 'Значение по умолчанию сохранено',
'admin.defaultSettings.reset': 'Сбросить до встроенного значения',
'admin.defaultSettings.resetToBuiltIn': 'сбросить',
'admin.tabs.templates': 'Шаблоны упаковки',
'admin.packingTemplates.title': 'Шаблоны упаковки',
'admin.packingTemplates.subtitle': 'Создавайте многоразовые списки вещей для поездок',
'admin.packingTemplates.create': 'Новый шаблон',
'admin.packingTemplates.namePlaceholder': 'Название шаблона (напр. Пляжный отдых)',
'admin.packingTemplates.empty': 'Шаблоны ещё не созданы',
'admin.packingTemplates.items': 'вещей',
'admin.packingTemplates.categories': 'категорий',
'admin.packingTemplates.itemName': 'Название вещи',
'admin.packingTemplates.itemCategory': 'Категория',
'admin.packingTemplates.categoryName': 'Название категории (напр. Одежда)',
'admin.packingTemplates.addCategory': 'Добавить категорию',
'admin.packingTemplates.created': 'Шаблон создан',
'admin.packingTemplates.deleted': 'Шаблон удалён',
'admin.packingTemplates.loadError': 'Ошибка загрузки шаблонов',
'admin.packingTemplates.createError': 'Ошибка создания шаблона',
'admin.packingTemplates.deleteError': 'Ошибка удаления шаблона',
'admin.packingTemplates.deleteCategoryError': 'Не удалось удалить категорию',
'admin.packingTemplates.deleteItemError': 'Не удалось удалить элемент',
'admin.packingTemplates.saveError': 'Ошибка сохранения',
'admin.tabs.addons': 'Дополнения',
'admin.tabs.plugins': 'Плагины',
'admin.tabs.storage': 'Хранилище',
'admin.plugins.rescan': 'Пересканировать',
'admin.plugins.rescanned': 'Папка плагинов пересканирована',
'admin.plugins.upload': 'Загрузить плагин',
'admin.plugins.dropToUpload': 'Перетащите .zip плагина для установки',
'admin.plugins.uploaded': 'Плагин “{name}” загружен — активируйте для запуска',
'admin.plugins.sideloaded': 'Загружен вручную',
'admin.plugins.devLinkBadge': 'Dev-Link',
'admin.plugins.devLinkHint':
'Загружено из локального каталога сборки и горячо перезагружается с реальными данными — только для разработки',
'admin.plugins.devLinkTitle': 'Подключить локальный плагин',
'admin.plugins.devLinkPathPlaceholder': '/absolute/path/to/your/plugin',
'admin.plugins.devLinkButton': 'Подключить',
'admin.plugins.devLinkLinked': '{id} подключён — активируйте для запуска',
'admin.plugins.sideloadedHint': 'Загружено вручную — не из реестра, без подписи и проверки',
'admin.plugins.browse': 'Обзор плагинов',
'admin.plugins.installed': 'Установлен',
'admin.plugins.install': 'Установить',
'admin.plugins.registryEmpty': 'В реестре пока нет доступных плагинов.',
'admin.plugins.actionError': 'Не удалось выполнить действие',
'admin.plugins.activate': 'Активировать',
'admin.plugins.activated': 'Плагин активирован',
'admin.plugins.deactivate': 'Деактивировать',
'admin.plugins.deactivated': 'Плагин деактивирован',
'admin.plugins.viewErrors': 'Показать журнал ошибок',
'admin.plugins.errorLog': 'Журнал ошибок',
'admin.plugins.allowedHosts': 'Разрешённые хосты',
'admin.plugins.allowedHosts.hint':
'Этот плагин обращается к сервису, который можете указать только вы (self-hosted сервер). Добавьте хосты, к которым он может обращаться — к другим он не сможет.',
'admin.plugins.allowedHosts.none': 'Хосты пока не добавлены.',
'admin.plugins.allowedHosts.unsupported':
'Этот плагин не использует хосты, задаваемые оператором. Его разрешённые хосты зафиксированы в манифесте.',
'admin.plugins.allowedHosts.restartNote': 'Сохранение перезапускает плагин, чтобы он подхватил новый список.',
'admin.plugins.allowedHosts.add': 'Добавить разрешённый хост',
'admin.plugins.allowedHosts.count': 'Разрешённых хостов: {n}',
'admin.plugins.operatorEgressPill': '+ добавленные вами хосты',
'admin.plugins.operatorEgressHint':
'Этот плагин обращается к сервису, который можете указать только вы (self-hosted сервер). После установки добавьте хосты в ⋯ → Разрешённые хосты. К другим он не сможет обратиться.',
'admin.plugins.noErrors': 'Ошибок не зафиксировано.',
'admin.plugins.uninstalled': 'Плагин удалён',
'admin.plugins.uninstallTitle': 'Удалить плагин?',
'admin.plugins.uninstallBody':
'Плагин будет остановлен, его код удалён, а все его данные стёрты. Это действие нельзя отменить.',
'admin.plugins.status.starting': 'Запуск…',
'admin.plugins.type.widget': 'Виджет',
'admin.plugins.type.page': 'Страница',
'admin.plugins.type.integration': 'Интеграция',
'admin.plugins.type.trip-page': 'Страница поездки',
'admin.plugins.reviewed': 'Проверен',
'admin.plugins.unreviewed': 'Не проверен',
'admin.plugins.updated': 'Плагин обновлён',
'admin.plugins.updateTo': 'Обновить → v{version}',
'admin.plugins.enabledToggle': 'Включить плагин',
'plugins.notFound': 'Плагин не найден',
'plugins.frameLoadFailed': 'This plugin could not be loaded.',
'admin.plugins.title': 'Плагины',
'admin.plugins.subtitle': 'Устанавливайте сторонние плагины и управляйте ими на вашем экземпляре.',
'admin.plugins.disabledTitle': 'Плагины отключены',
'admin.plugins.disabledBody':
'Среда выполнения плагинов выключена (TREK_PLUGINS_ENABLED). Плагины не смогут работать, пока администратор не включит её в конфигурации сервера.',
'admin.plugins.empty': 'Плагины пока не установлены.',
'admin.plugins.loadError': 'Не удалось загрузить плагины.',
'admin.plugins.scaffoldNote':
'Установка и активация плагинов появятся в одном из следующих обновлений. Пока эта панель только показывает установленные плагины.',
'admin.plugins.status.active': 'Активен',
'admin.plugins.status.inactive': 'Неактивен',
'admin.plugins.status.disabled': 'Отключён',
'admin.plugins.status.error': 'Ошибка',
'admin.plugins.status.incompatible': 'Несовместим',
'admin.plugins.details': 'Подробности',
'admin.plugins.detailError': 'Не удалось загрузить сведения о плагине.',
'admin.plugins.permissionsTitle': 'Разрешения',
'admin.plugins.noPermissions': 'Этот плагин не запрашивает особых разрешений.',
'admin.plugins.egressNote': 'Может подключаться к: {hosts}',
'admin.plugins.setupTitle': 'Настройка',
'admin.plugins.noSetup': 'Работает сразу — настраивать ничего не нужно.',
'admin.plugins.scope.instance': 'Для всего экземпляра',
'admin.plugins.scope.user': 'Для каждого пользователя',
'admin.plugins.fieldRequired': 'Обязательно',
'admin.plugins.sourceRepo': 'Репозиторий с исходным кодом',
'admin.plugins.reportIssue': 'Сообщить о проблеме',
'admin.plugins.homepage': 'Домашняя страница',
'admin.plugins.requiresTrek': 'Требуется TREK {version}+',
'admin.plugins.reviewedOn': 'Проверен {date}',
'admin.plugins.perm.db:own': 'Хранить собственные данные в изолированной базе данных',
'admin.plugins.perm.db:read:trips': 'Читать поездки, доступные текущему пользователю',
'admin.plugins.perm.db:read:users': 'Читать основную информацию профиля (имя, аватар — но не учётные данные)',
'admin.plugins.perm.db:read:costs': 'Читать расходы (статьи бюджета), доступные текущему пользователю',
'admin.plugins.perm.db:read:packing': 'Читать списки вещей поездок, доступных текущему пользователю',
'admin.plugins.perm.db:write:packing':
'Создавать, редактировать и удалять пункты списка вещей в поездках, которые текущий пользователь может редактировать',
'admin.plugins.perm.weather:read': 'Читать кэшированный прогноз погоды хоста (по координатам)',
'admin.plugins.perm.db:read:categories': 'Читать глобальный список категорий мест',
'admin.plugins.perm.db:read:tags': 'Читать теги текущего пользователя',
'admin.plugins.perm.db:write:tags': 'Создавать, редактировать и удалять теги текущего пользователя',
'admin.plugins.perm.db:read:todos': 'Читать задачи поездок, доступных текущему пользователю',
'admin.plugins.perm.db:write:todos':
'Создавать, редактировать и удалять задачи в поездках, которые текущий пользователь может редактировать',
'admin.plugins.perm.db:write:atlas':
'Отмечать страны и регионы как посещённые и управлять списком желаний текущего пользователя (требуется дополнение Atlas)',
'admin.plugins.perm.db:write:vacay':
'Переключать дни отпуска и корпоративные праздники в активном плане текущего пользователя (требуется дополнение Vacay)',
'admin.plugins.perm.db:write:journal':
'Создавать, редактировать и удалять записи в дневниках, которые текущий пользователь может редактировать (требуется дополнение Journey)',
'admin.plugins.perm.db:write:collections':
'Создавать и редактировать коллекции и сохранять в них места с ролью текущего пользователя в коллекции (требуется дополнение Collections)',
'admin.plugins.perm.db:write:files':
'Прикреплять файлы к поездкам, которые текущий пользователь может редактировать (лимит 10 МБ, заблокированные расширения отклоняются), и управлять их связями',
'admin.plugins.perm.db:write:collab':
'Публиковать заметки, опросы и сообщения чата в поездках, которые текущий пользователь может редактировать (требуется дополнение Collab)',
'admin.plugins.perm.db:write:members':
'Добавлять пользователей в поездки — предоставляет доступ к поездке; защищено правом управления участниками текущего пользователя',
'admin.plugins.perm.notify:send':
'Отправлять уведомление (колокольчик + email/ntfy) текущему пользователю или его поездке — никогда произвольному получателю',
'admin.plugins.perm.ai:invoke':
'Использовать настроенного администратором ИИ-провайдера (дополнение текста + извлечение из документов) от имени текущего пользователя — плагин никогда не хранит ключ',
'admin.plugins.perm.oauth:client':
'Подключаться к стороннему сервису от вашего имени через OAuth, посредником которого выступает хост (хост хранит токены, плагин их не видит)',
'admin.plugins.perm.db:read:files': 'Читать файлы поездок, доступных текущему пользователю',
'admin.plugins.perm.db:write:reservations':
'Создавать, редактировать и удалять бронирования в поездках, которые текущий пользователь может редактировать',
'admin.plugins.perm.db:write:accommodations':
'Создавать, редактировать и удалять размещения в поездках, которые текущий пользователь может редактировать',
'admin.plugins.perm.db:read:journal':
'Читать дневники путешествий текущего пользователя (требуется дополнение Journey)',
'admin.plugins.perm.db:read:atlas':
'Читать посещённые страны и регионы текущего пользователя (требуется дополнение Atlas)',
'admin.plugins.perm.db:read:vacay': 'Читать план отпуска текущего пользователя (требуется дополнение Vacay)',
'admin.plugins.perm.db:read:daynotes': 'Читать заметки дня поездок, доступных текущему пользователю',
'admin.plugins.perm.db:read:collections':
'Читать коллекции сохранённых мест текущего пользователя (требуется дополнение Collections)',
'admin.plugins.perm.db:write:daynotes':
'Создавать, редактировать и удалять заметки дня в поездках, которые текущий пользователь может редактировать',
'admin.plugins.perm.jobs:run':
'Запускать объявленные фоновые задачи по расписанию (без контекста пользователя — не может читать данные пользователя)',
'admin.plugins.perm.db:write:costs':
'Создавать расходы (статьи бюджета) в поездках, которые текущий пользователь может редактировать',
'admin.plugins.perm.db:write:places':
'Добавлять, изменять и удалять места в поездках, которые текущий пользователь может редактировать',
'admin.plugins.perm.db:write:days':
'Добавлять, изменять и удалять дни в поездках, которые текущий пользователь может редактировать',
'admin.plugins.perm.db:write:itinerary':
'Назначать и удалять места в днях поездок, которые текущий пользователь может редактировать',
'admin.plugins.perm.db:write:trips':
'Изменять данные поездки (название, даты, валюту…) в поездках, которые текущий пользователь может редактировать',
'admin.plugins.perm.db:meta':
'Прикреплять собственные приватные данные к поездкам, местам и дням, к которым у текущего пользователя есть доступ',
'admin.plugins.perm.ws:broadcast:trip': 'Отправлять обновления в реальном времени участникам поездки',
'admin.plugins.perm.ws:broadcast:user': 'Отправлять обновления в реальном времени отдельным пользователям',
'admin.plugins.perm.hook:photo-provider': 'Предоставлять фотографии для «Воспоминаний»',
'admin.plugins.perm.hook:calendar-source': 'Предоставлять события для календаря',
'admin.plugins.perm.hook:place-detail-provider': 'Добавлять дополнительные сведения (отзывы, оценки, ссылки) к месту',
'admin.plugins.perm.hook:trip-warning-provider':
'Выдавать предупреждения проверки для поездки (отображаются в планировщике)',
'admin.plugins.perm.hook:table-contributor':
'Добавлять столбцы и действия в представления поездки (бронирования, места, дни)',
'admin.plugins.perm.hook:map-marker-provider':
'Добавлять маркеры на карту поездки (например, показывать бронирования или POI)',
'admin.plugins.perm.hook:map-layer-provider': 'Рисовать маршруты, коридоры и зоны на карте поездки',
'admin.plugins.perm.hook:route-provider':
'Предоставлять профили маршрутизации, по которым планировщик строит маршруты дней (например, маршрутизация для электромобилей с остановками для зарядки)',
'admin.plugins.perm.hook:day-schedule-provider':
'Добавлять записи времени в план дня (остановки для зарядки, запас времени на контроль)',
'admin.plugins.perm.hook:day-tint-provider':
'Отмечать дни в плане цветом (например, к какому этапу поездки относится день)',
'admin.plugins.perm.geolocation:read':
'Запрашивать ваше местоположение в реальном времени, пока открыто одно из его представлений (TREK читает его с разрешением на геолокацию для этого сайта, а не с отдельным разрешением плагина)',
'admin.plugins.perm.hook:pdf-section-provider': 'Добавлять текстовые разделы в PDF-экспорт поездки',
'admin.plugins.perm.hook:atlas-layer-provider':
'Выделять страны на карте мира в Атласе (например, списки желаний или предупреждения для путешественников)',
'admin.plugins.perm.hook:journal-entry-provider':
'Добавлять дополнительные строки (ссылки, статистику) к записям дневника',
'admin.plugins.perm.hook:user-data':
'Удаление или экспорт хранимых данных о пользователе (GDPR: удаление аккаунта и запросы данных)',
'admin.plugins.perm.hook:trip-card-provider':
'Добавлять небольшие значки (статус, счётчики) на карточки поездок на панели',
'admin.plugins.perm.hook:notification-channel': 'Доставлять ваши уведомления через дополнительный канал',
'admin.plugins.perm.events:subscribe':
'Реагировать на основные события активности (только название события и поездка, никогда содержимое)',
'admin.plugins.perm.http:outbound': 'Выполнять исходящие запросы к заявленным хостам',
'admin.plugins.perm.db:read:collab':
'Читать заметки, опросы и сообщения чата поездок, доступных текущему пользователю (требуется дополнение Collab)',
'admin.plugins.perm.db:read:files:content':
'Читать содержимое (байты) файлов поездок, доступных текущему пользователю',
'admin.plugins.perm.db:create:trips': 'Создавать новые поездки, принадлежащие текущему пользователю',
'admin.plugins.perm.rates:read': 'Читать кэшированные курсы валют хоста',
'admin.plugins.updateConsentTitle': 'Для этого обновления нужны новые разрешения',
'admin.plugins.updateConsentBody':
'{name} v{version} запрашивает права, которые вы ещё не предоставили. Новая версия установлена, но остаётся выключенной, пока вы её не одобрите.',
'admin.plugins.updateNewPermissions': 'Новые запрашиваемые разрешения',
'admin.plugins.updateNewEgress': 'Новые исходящие подключения',
'admin.plugins.updateApprove': 'Одобрить и включить',
'admin.plugins.updateLater': 'Пока оставить выключенным',
'admin.plugins.updateKeptOff': 'Обновление установлено — оставлено выключенным, пока вы не одобрите новые разрешения',
'admin.plugins.reviewedMeaning':
'«Проверен» означает, что сопровождающий TREK проверял этот плагин на вредоносный код в каждой версии — но не его качество или работоспособность. Это не гарантия того, что плагин безвреден.',
'admin.plugins.security.title': 'Как изолируются плагины — и в чём пределы',
'admin.plugins.security.isolationTitle': 'Каждый плагин работает в изоляции',
'admin.plugins.security.isolationBody':
'Плагин работает как отдельный ограниченный процесс, который может читать только собственные файлы. Он не может читать вашу базу данных, ваш секрет для входа или ключ шифрования, не может запускать другие программы и не может записывать файлы куда-либо. Его интерфейс работает в изолированном фрейме браузера, который не может прочитать вашу сессионную cookie или взаимодействовать с окружающей страницей TREK.',
'admin.plugins.security.permsTitle': 'Что означают разрешения',
'admin.plugins.security.permsBody':
'Разрешения, показанные перед установкой, — это жёсткий предел, который TREK соблюдает во время работы плагина: он буквально не может сделать ничего, чего нет в списке. Но они говорят вам, что плагин может делать, а не что он делает на самом деле. Плагин, которому разрешено читать ваши поездки и обращаться к серверу, может отправить ваши поездки на этот сервер, поэтому читайте разрешения и исходящие хосты, а не только описание.',
'admin.plugins.security.limitsTitle': 'Что мы не можем гарантировать',
'admin.plugins.security.limitsBody':
'Изоляция — это надёжная программная граница, но не абсолютная. Плагин действует ровно с теми правами, которые вы одобрили, поэтому в рамках этих прав он может вести себя иначе, чем описано, и может отправлять данные, которыми законно располагает, на заявленные им хосты. TREK не читает и не оценивает, что на самом деле делает код плагина.',
'admin.plugins.security.worstTitle': 'Худший случай',
'admin.plugins.security.worstBody':
'Вредоносный плагин, который вы включили, может злоупотребить данными и подключениями, которые вы ему предоставили, — например, слить поездки, которые ему разрешено читать. Он не может украсть пароли, подделать вход администратора, выполнять команды на вашем сервере или получить доступ к данным, которые вы не предоставили. Ущерб остаётся в пределах того, что вы одобрили, и выключение плагина его останавливает.',
'admin.plugins.security.reviewedTitle': 'Что означает «Проверен»',
'admin.plugins.security.reviewedBody':
'Проверенный плагин был вручную просканирован на вредоносный код сопровождающим TREK в каждой версии — проверен на вредоносный код, а не на то, насколько хорошо он работает. Это не обещание того, что плагин безвреден.',
'admin.plugins.security.signedTitle': 'Что означает «Подписан»',
'admin.plugins.security.signedBody':
'Контрольная сумма, которую TREK проверяет при каждой установке, доказывает, что файлы — ровно те, за которые ручается реестр. Подпись доказывает другое: что они пришли от автора и подписаны ключом, который есть только у него. У подписанного плагина есть и то, и другое. Неподписанный плагин не является небезопасным — просто у него одной гарантией меньше, и большинство плагинов в реестре сегодня не подписаны.',
'admin.plugins.signed': 'Подписан',
'admin.plugins.signedHint': 'При установке проверен по ключу подписи автора',
'admin.plugins.unsigned': 'Без подписи',
'admin.plugins.unsignedHint':
'Файлы совпадают с тем, за что ручается реестр, но ничто не связывает их с автором. Одной гарантией меньше — это не значит, что он небезопасен.',
'admin.plugins.updateBlocked': 'Обновление заблокировано — {reason}',
'admin.plugins.reviewBlock': 'Разобраться',
'admin.plugins.retrusted': 'Новый ключ подписи принят — плагин обновлён',
'admin.plugins.sig.title': 'Не удалось проверить подпись плагина «{name}»',
'admin.plugins.sig.keyChangedBody':
'Ключ подписи автора — не тот, с которым этот плагин был установлен. Авторы действительно меняют ключи, но злоумышленник, захвативший плагин, выглядел бы ровно так же.',
'admin.plugins.sig.invalidBody':
'Файлы не соответствуют подписи автора. Это не то, что автор подписал: они либо повреждены, либо изменены. Это нельзя обойти.',
'admin.plugins.sig.missingBody':
'Этот плагин был подписан, когда вы его устанавливали, но новая версия поставляется без подписи. TREK не примет такой откат молча. Это нельзя обойти.',
'admin.plugins.sig.incompleteBody':
'Запись в реестре подписана наполовину: в ней объявлен ключ автора, но у версии нет подписи (или наоборот). Это ошибка на стороне плагина. Это нельзя обойти.',
'admin.plugins.sig.pinnedKey': 'Ключ, с которым он был установлен',
'admin.plugins.sig.newKey': 'Ключ, который он предлагает сейчас',
'admin.plugins.sig.confirmOutOfBand':
'TREK не может отличить законную смену ключа от захвата — отсюда они выглядят одинаково. Прежде чем принять новый ключ, подтвердите его у автора по каналу, которому вы уже доверяете. После этого плагин будет обновлён, а новый ключ — запомнен.',
'admin.plugins.sig.retrustConfirm': 'Доверять новому ключу и обновить',
'admin.plugins.sig.cancel': 'Не доверять',
'admin.plugins.sig.consentUnsigned':
'Ничто не связывает эту версию с её автором — файлы совпадают с реестром, но не несут подписи автора.',
'admin.plugins.security.trustTitle': 'Итог',
'admin.plugins.security.trustBody':
'Установка плагина похожа на установку любого стороннего приложения: добавляйте только код от авторов, которым доверяете, а при сомнениях сначала проверьте его самостоятельно. TREK не несёт ответственности за сторонние плагины.',
'admin.plugins.runtimeOn': 'Среда выполнения включена',
'admin.plugins.tabDiscover': 'Каталог',
'admin.plugins.searchPlaceholder': 'Поиск плагинов…',
'admin.plugins.filterType': 'Тип',
'admin.plugins.filterStatus': 'Статус',
'admin.plugins.sortBy': 'Сортировка',
'admin.plugins.allTypes': 'Все типы',
'admin.plugins.allStatuses': 'Все',
'admin.plugins.stateOff': 'Выкл.',
'admin.plugins.filterUpdate': 'Есть обновление',
'admin.plugins.sortName': 'Название',
'admin.plugins.sortRecent': 'Недавно обновлённые',
'admin.plugins.sortUpdates': 'Сначала с обновлениями',
'admin.plugins.sortDownloads': 'По загрузкам',
'admin.plugins.updatesAvailable': 'Доступно обновлений для ваших плагинов: {count}.',
'admin.plugins.newerNeedsTrek': 'Доступна v{version} — требуется TREK {range}',
'admin.plugins.versionsTitle': 'Версии',
'admin.plugins.versionPickerTitle': 'Сменить версию — {name}',
'admin.plugins.versionSwitch': 'Перейти на {version}',
'admin.plugins.versionNeedsTrek': 'требуется TREK {range}',
'admin.plugins.changeVersion': 'Сменить версию…',
'admin.plugins.noVersions': 'В реестре не найдено опубликованных версий.',
'admin.plugins.downgradeTitle': 'Откатить этот плагин?',
'admin.plugins.downgradeBody': 'Переход с v{from} на v{to}: данные, записанные более новой версией, остаются на месте, и старая версия может их не понять.',
'admin.plugins.downgradeConfirm': 'Откатить',
'admin.plugins.updatesHeld': 'Обновления приостановлены на v{version}',
'admin.plugins.resumeUpdates': 'Возобновить обновления',
'admin.plugins.updatesResumed': 'Обновления возобновлены',
'admin.plugins.updateAll': 'Обновить все',
'admin.plugins.noMatchInstalled': 'Нет установленных плагинов по вашему запросу.',
'admin.plugins.noMatchRegistry': 'В реестре нет плагинов по вашему запросу.',
'admin.plugins.restart': 'Перезапустить',
'admin.plugins.restarted': 'Плагин перезапущен',
'admin.plugins.cap.readsTrips': 'Читает ваши поездки',
'admin.plugins.cap.readsUsers': 'Читает основные профили',
'admin.plugins.cap.readsCosts': 'Читает ваши расходы',
'admin.plugins.cap.readsPacking': 'Читает списки вещей',
'admin.plugins.cap.readsFiles': 'Читает файлы поездок',
'admin.plugins.cap.writesCosts': 'Добавляет расходы',
'admin.plugins.cap.writesPlaces': 'Изменяет места',
'admin.plugins.cap.writesDays': 'Изменяет дни',
'admin.plugins.cap.writesItinerary': 'Изменяет маршрут',
'admin.plugins.cap.writesTrips': 'Изменяет поездки',
'admin.plugins.cap.metadata': 'Добавляет метаданные',
'admin.plugins.cap.widget': 'Виджет панели',
'admin.plugins.cap.heroWidget': 'Виджет посадочного талона',
'admin.plugins.cap.placeSlot': 'Детали места',
'admin.plugins.cap.daySlot': 'Детали дня',
'admin.plugins.cap.reservationSlot': 'Детали брони',
'admin.plugins.cap.replacesTabs': 'Заменяет вкладки планировщика',
'admin.plugins.cap.realtime': 'Обновления в реальном времени',
'admin.plugins.cap.notificationChannel': 'Канал уведомлений',
'admin.plugins.cap.photos': 'Предоставляет фото',
'admin.plugins.cap.calendar': 'Предоставляет события календаря',
'admin.plugins.cap.placeDetails': 'Обогащает места',
'admin.plugins.cap.warnings': 'Отмечает проблемы',
'admin.plugins.cap.mapLayers': 'Рисует на карте',
'admin.plugins.cap.routing': 'Предоставляет маршрутизацию',
'admin.plugins.cap.daySchedule': 'Добавляет время в план',
'admin.plugins.cap.dayTint': 'Раскрашивает дни',
'admin.plugins.cap.geolocation': 'Считывает ваше местоположение',
'admin.plugins.cap.events': 'Реагирует на активность',
'admin.plugins.cap.requiresAddon': 'Требуется {addon}',
'admin.plugins.cap.dependsOn': 'Нужен {id} {version}',
'admin.plugins.dep.addonDisabledToast': 'Сначала включите необходимые дополнения: {addons}',
'admin.plugins.dep.autoEnabled': 'Сначала включены необходимые плагины: {plugins}',
'admin.plugins.dep.downloaded': '{id} загружен',
'admin.plugins.dep.resolveTitle': 'Отсутствуют зависимости',
'admin.plugins.dep.resolveBody': '«{name}» требует установки этих плагинов перед включением.',
'admin.plugins.dep.requires': 'Требуется {version}',
'admin.plugins.dep.mismatch': 'Нужна {wanted} — установлена {installed}',
'admin.plugins.dep.download': 'Загрузить',
'admin.plugins.dep.update': 'Обновить',
'admin.plugins.dep.resolveHint': 'Загружает последнюю совместимую версию вместе с её зависимостями.',
'admin.plugins.dep.trekIncompatible': 'Требуется TREK {range} — на этом сервере {host}',
'admin.plugins.dep.trekUnknown': 'Не указано, какие версии TREK поддерживаются',
'admin.plugins.installCompatible': 'Установить {version}',
'admin.plugins.incompatible': 'Несовместимо',
'admin.plugins.accessTitle': 'К чему есть доступ',
'admin.plugins.connectsTitle': 'Подключается к',
'admin.plugins.detailsTitle': 'Подробности',
'admin.plugins.noAccess': 'Особый доступ не требуется.',
'admin.plugins.metaVersion': 'Версия',
'admin.plugins.metaSize': 'Размер',
'admin.plugins.metaRequires': 'Требуется',
'admin.plugins.metaReviewed': 'Проверен',
'admin.plugins.downloads': 'Загрузки',
'admin.addons.title': 'Дополнения',
'admin.addons.subtitle': 'Включайте или отключайте функции для настройки TREK под себя.',
'admin.addons.catalog.memories.name': 'Фото (Immich)',
'admin.addons.catalog.memories.description': 'Делитесь фотографиями из поездок через Immich',
'admin.addons.catalog.mcp.name': 'MCP',
'admin.addons.catalog.mcp.description': 'Протокол контекста модели для интеграции с ИИ-ассистентами',
'admin.addons.catalog.packing.name': 'Списки',
'admin.addons.catalog.packing.description': 'Списки вещей и задачи для ваших поездок',
'admin.addons.catalog.budget.name': 'Расходы',
'admin.addons.catalog.budget.description': 'Отслеживайте расходы и планируйте бюджет поездки',
'admin.addons.catalog.documents.name': 'Документы',
'admin.addons.catalog.documents.description': 'Храните и управляйте документами для путешествий',
'admin.addons.catalog.vacay.name': 'Vacay',
'admin.addons.catalog.vacay.description': 'Личный планировщик отпусков с календарём',
'admin.addons.catalog.atlas.name': 'Atlas',
'admin.addons.catalog.atlas.description': 'Карта мира с посещёнными странами и статистикой путешествий',
'admin.addons.catalog.collab.name': 'Collab',
'admin.addons.catalog.collab.description': 'Заметки в реальном времени, опросы и чат для планирования поездок',
'admin.addons.subtitleBefore': 'Включайте или отключайте функции для настройки ',
'admin.addons.subtitleAfter': ' под себя.',
'admin.addons.enabled': 'Включено',
'admin.addons.disabled': 'Отключено',
'admin.addons.type.trip': 'Поездка',
'admin.addons.type.global': 'Глобально',
'admin.addons.type.integration': 'Интеграция',
'admin.addons.tripHint': 'Доступно как вкладка внутри каждой поездки',
'admin.addons.globalHint': 'Доступно как отдельный раздел в основной навигации',
'admin.addons.integrationHint': 'Фоновые сервисы и API-интеграции без отдельной страницы',
'admin.addons.toast.updated': 'Дополнение обновлено',
'admin.addons.toast.error': 'Не удалось обновить дополнение',
'admin.addons.noAddons': 'Нет доступных дополнений',
'admin.weather.title': 'Данные о погоде',
'admin.weather.badge': 'С 24 марта 2026',
'admin.weather.description':
'TREK использует Open-Meteo как источник данных о погоде. Open-Meteo — бесплатный сервис с открытым кодом, API-ключ не требуется.',
'admin.weather.forecast': 'Прогноз на 16 дней',
'admin.weather.forecastDesc': 'Ранее 5 дней (OpenWeatherMap)',
'admin.weather.climate': 'Исторические климатические данные',
'admin.weather.climateDesc': 'Средние значения за последние 85 лет для дней за пределами 16-дневного прогноза',
'admin.weather.requests': '10 000 запросов / день',
'admin.weather.requestsDesc': 'Бесплатно, API-ключ не требуется',
'admin.weather.locationHint':
'Погода основана на первом месте с координатами в каждом дне. Если ни одно место не назначено на день, в качестве ориентира используется любое место из списка.',
'admin.tabs.mcpTokens': 'MCP-доступ',
'admin.mcpTokens.title': 'MCP-доступ',
'admin.mcpTokens.subtitle': 'Управление OAuth-сессиями и API-токенами всех пользователей',
'admin.mcpTokens.sectionTitle': 'API-токены',
'admin.mcpTokens.owner': 'Владелец',
'admin.mcpTokens.tokenName': 'Название токена',
'admin.mcpTokens.created': 'Создан',
'admin.mcpTokens.lastUsed': 'Последнее использование',
'admin.mcpTokens.never': 'Никогда',
'admin.mcpTokens.empty': 'MCP-токены ещё не созданы',
'admin.mcpTokens.deleteTitle': 'Удалить токен',
'admin.mcpTokens.deleteMessage':
'Токен будет немедленно отозван. Пользователь потеряет доступ к MCP через этот токен.',
'admin.mcpTokens.deleteSuccess': 'Токен удалён',
'admin.mcpTokens.deleteError': 'Не удалось удалить токен',
'admin.mcpTokens.loadError': 'Не удалось загрузить токены',
'admin.oauthSessions.sectionTitle': 'OAuth-сессии',
'admin.oauthSessions.clientName': 'Клиент',
'admin.oauthSessions.owner': 'Владелец',
'admin.oauthSessions.scopes': 'Права доступа',
'admin.oauthSessions.created': 'Создано',
'admin.oauthSessions.empty': 'Нет активных OAuth-сессий',
'admin.oauthSessions.revokeTitle': 'Отозвать сессию',
'admin.oauthSessions.revokeMessage': 'Эта OAuth-сессия будет немедленно отозвана. Клиент потеряет доступ к MCP.',
'admin.oauthSessions.revokeSuccess': 'Сессия отозвана',
'admin.oauthSessions.revokeError': 'Не удалось отозвать сессию',
'admin.oauthSessions.loadError': 'Не удалось загрузить OAuth-сессии',
'admin.tabs.github': 'GitHub',
'admin.audit.subtitle':
'События, связанные с безопасностью и администрированием (резервные копии, пользователи, MFA, настройки).',
'admin.audit.empty': 'Записей аудита пока нет.',
'admin.audit.refresh': 'Обновить',
'admin.audit.loadMore': 'Загрузить ещё',
'admin.audit.showing': 'Загружено: {count} · всего {total}',
'admin.audit.col.time': 'Время',
'admin.audit.col.user': 'Пользователь',
'admin.audit.col.action': 'Действие',
'admin.audit.col.resource': 'Объект',
'admin.audit.col.ip': 'IP',
'admin.audit.col.details': 'Подробности',
'admin.github.title': 'История релизов',
'admin.github.subtitle': 'Последние обновления из {repo}',
'admin.github.latest': 'Последний',
'admin.github.prerelease': 'Пре-релиз',
'admin.github.showDetails': 'Показать подробности',
'admin.github.hideDetails': 'Скрыть подробности',
'admin.github.loadMore': 'Загрузить ещё',
'admin.github.loading': 'Загрузка...',
'admin.github.support': 'Помогает продолжать разработку TREK',
'admin.github.error': 'Не удалось загрузить релизы',
'admin.github.by': 'от',
'admin.update.available': 'Доступно обновление',
'admin.update.text': 'Доступна версия TREK {version}. У вас установлена {current}.',
'admin.update.button': 'Посмотреть на GitHub',
'admin.update.install': 'Установить обновление',
'admin.update.confirmTitle': 'Установить обновление?',
'admin.update.confirmText': 'TREK будет обновлён с {current} до {version}. Сервер перезапустится автоматически.',
'admin.update.dataInfo':
'Все ваши данные (поездки, пользователи, API-ключи, загрузки, Vacay, Atlas, бюджеты) будут сохранены.',
'admin.update.warning': 'Приложение будет кратковременно недоступно во время перезапуска.',
'admin.update.confirm': 'Обновить сейчас',
'admin.update.installing': 'Обновление…',
'admin.update.success': 'Обновление установлено! Сервер перезапускается…',
'admin.update.failed': 'Ошибка обновления',
'admin.update.backupHint': 'Рекомендуем создать резервную копию перед обновлением.',
'admin.update.backupLink': 'Перейти к резервным копиям',
'admin.update.howTo': 'Как обновить',
'admin.update.dockerText':
'Ваш экземпляр TREK работает в Docker. Для обновления до {version} выполните следующие команды на сервере:',
'admin.update.nonDockerText':
'Этот экземпляр TREK работает не в Docker. Чтобы обновиться до {version}, повторно запустите способ установки или обновления, который вы использовали, — например, в Proxmox Community Scripts выполните обновление из консоли LXC:',
'admin.update.wikiLink': 'Открыть руководство по обновлению',
'admin.update.reloadHint': 'Перезагрузите страницу через несколько секунд.',
'admin.tabs.permissions': 'Разрешения',
'admin.notifications.emailPanel.title': 'Email (SMTP)',
'admin.notifications.webhookPanel.title': 'Webhook',
'admin.notifications.inappPanel.title': 'In-App',
'admin.notifications.inappPanel.hint': 'Уведомления в приложении всегда активны и не могут быть отключены глобально.',
'admin.notifications.adminWebhookPanel.title': 'Вебхук администратора',
'admin.notifications.adminWebhookPanel.hint':
'Этот вебхук используется исключительно для уведомлений администратора (например, оповещения о версиях). Он независим от пользовательских вебхуков и отправляется автоматически при наличии URL.',
'admin.notifications.adminWebhookPanel.saved': 'URL вебхука администратора сохранён',
'admin.notifications.adminWebhookPanel.testSuccess': 'Тестовый вебхук успешно отправлен',
'admin.notifications.adminWebhookPanel.testFailed': 'Ошибка тестового вебхука',
'admin.notifications.adminWebhookPanel.alwaysOnHint':
'Вебхук администратора отправляется автоматически при наличии URL',
'admin.notifications.ntfy': 'Ntfy',
'admin.ntfy.hint':
'Позволяет пользователям настраивать собственные темы ntfy для push-уведомлений. Установите сервер по умолчанию ниже, чтобы предварительно заполнить настройки пользователей.',
'admin.notifications.testNtfy': 'Отправить тестовое Ntfy',
'admin.notifications.testNtfySuccess': 'Тестовое Ntfy успешно отправлено',
'admin.notifications.testNtfyFailed': 'Ошибка отправки тестового Ntfy',
'admin.notifications.adminNtfyPanel.title': 'Ntfy администратора',
'admin.notifications.adminNtfyPanel.hint':
'Эта тема Ntfy используется исключительно для уведомлений администратора (например, оповещения о версиях). Она независима от тем пользователей и всегда отправляется при наличии настройки.',
'admin.notifications.adminNtfyPanel.serverLabel': 'URL сервера Ntfy',
'admin.notifications.adminNtfyPanel.serverHint':
'Также используется как сервер по умолчанию для ntfy-уведомлений пользователей. Оставьте пустым, чтобы использовать ntfy.sh. Пользователи могут изменить это в своих настройках.',
'admin.notifications.adminNtfyPanel.serverPlaceholder': 'https://ntfy.sh',
'admin.notifications.adminNtfyPanel.topicLabel': 'Тема администратора',
'admin.notifications.adminNtfyPanel.topicPlaceholder': 'trek-admin-alerts',
'admin.notifications.adminNtfyPanel.tokenLabel': 'Токен доступа (необязательно)',
'admin.notifications.adminNtfyPanel.tokenCleared': 'Токен доступа администратора очищен',
'admin.notifications.adminNtfyPanel.saved': 'Настройки Ntfy администратора сохранены',
'admin.notifications.adminNtfyPanel.test': 'Отправить тестовое Ntfy',
'admin.notifications.adminNtfyPanel.testSuccess': 'Тестовое Ntfy успешно отправлено',
'admin.notifications.adminNtfyPanel.testFailed': 'Ошибка отправки тестового Ntfy',
'admin.notifications.adminNtfyPanel.alwaysOnHint':
'Ntfy администратора всегда отправляется при наличии настроенной темы',
'admin.notifications.adminNotificationsHint':
'Настройте, какие каналы доставляют уведомления администратора (например, оповещения о версиях). Вебхук отправляется автоматически, если задан URL вебхука администратора.',
'admin.notifications.tripReminders.title': 'Напоминания о поездках',
'admin.notifications.tripReminders.hint':
'Отправляет напоминание перед началом поездки (необходимо указать дни напоминания в параметрах поездки).',
'admin.notifications.tripReminders.enabled': 'Напоминания о поездках включены',
'admin.notifications.tripReminders.disabled': 'Напоминания о поездках отключены',
'admin.tabs.notifications': 'Уведомления',
'admin.addons.catalog.journey.name': 'Путешествие',
'admin.addons.catalog.journey.description':
'Отслеживание поездок и дневник путешествий с отметками, фото и ежедневными историями',
'admin.addons.catalog.collections.name': 'Коллекции',
'admin.addons.catalog.collections.description':
'Личная библиотека мест — сохраняйте места из разных поездок в именованные списки, копируйте в любую поездку, делитесь с другими',
'admin.passkey.title': 'Вход по passkey',
'admin.passkey.cardHint': 'Разрешите пользователям входить с помощью passkeys (WebAuthn). По умолчанию выключено.',
'admin.passkey.login': 'Включить вход по passkey',
'admin.passkey.loginHint':
'Показывать вариант «Войти с помощью passkey» и разрешить пользователям регистрировать passkeys в своих настройках.',
'admin.passkey.notConfigured':
'Для этого развёртывания пока не определён домен WebAuthn. Задайте APP_URL или Relying Party ID ниже — до этого passkeys остаются скрытыми.',
'admin.passkey.rpId': 'Relying Party ID (домен)',
'admin.passkey.rpIdHint':
'Голый домен, к которому привязаны passkeys, напр. trek.example.org. Оставьте пустым, чтобы определить его из APP_URL. Последующее изменение делает существующие passkeys недействительными.',
'admin.passkey.origins': 'Разрешённые источники',
'admin.passkey.originsHint':
'Полные источники через запятую, напр. https://trek.example.org. Оставьте пустым, чтобы использовать APP_URL.',
'admin.passkey.reset': 'Сбросить passkeys',
'admin.passkey.resetHint':
'Удалить все passkeys этого пользователя (напр. при потере устройства). Он по-прежнему сможет войти по паролю.',
'admin.passkey.resetConfirm': 'Удалить все passkeys пользователя {name}?',
'admin.passkey.resetDone': 'Удалено passkeys: {count}',
'admin.defaultSettings.mapProvider': 'Картографический движок',
'admin.defaultSettings.mapProviderHint':
'Карта по умолчанию для всех на этом сервере. Каждый пользователь по-прежнему может изменить её в своих настройках.',
'admin.defaultSettings.providerLeaflet': 'Стандартная (бесплатно)',
'admin.defaultSettings.providerMapbox': 'Mapbox (3D)',
'admin.defaultSettings.providerMapLibre': 'MapLibre (OpenFreeMap)',
'admin.defaultSettings.mapboxToken': 'Общий токен Mapbox',
'admin.defaultSettings.mapboxTokenHint':
'Используется для каждого пользователя, который не ввёл собственный токен — так весь сервер получает Mapbox без необходимости делиться ключом по отдельности. Хранится в зашифрованном виде.',
'admin.defaultSettings.mapboxStyle': 'Стиль карты',
'admin.defaultSettings.mapboxStylePlaceholder': 'Выберите стиль…',
'admin.defaultSettings.mapbox3d': '3D-здания и рельеф',
'admin.defaultSettings.mapboxQuality': 'Режим высокого качества',
'admin.group.users': 'Users',
'admin.group.config': 'Configuration',
'admin.group.integration': 'Integrations',
'admin.group.maintenance': 'Maintenance',
'admin.invite.tripLabel': 'Добавить в поездку (необязательно)',
'admin.invite.tripNone': 'Без поездки',
'admin.invite.tripHint': 'Новый пользователь автоматически добавляется в эту поездку при регистрации по ссылке.',
'admin.invite.boundTo': 'добавляет в {trip}',
};
export default admin;