Files
TREK/shared/src/i18n/ru/settings.ts
T
2026-10-24 09:41:34 +02:00

682 lines
60 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 settings: TranslationStrings = {
'settings.title': 'Настройки',
'settings.subtitle': 'Настройте свои персональные параметры',
'settings.tabs.display': 'Основные',
'settings.tabs.map': 'Карта',
'settings.tabs.notifications': 'Уведомления',
'settings.tabs.integrations': 'Интеграции',
'settings.plugins.oauth.connected': 'Подключено',
'settings.plugins.oauth.notConnected': 'Не подключено',
'settings.plugins.oauth.connect': 'Подключить',
'settings.plugins.oauth.disconnect': 'Отключить',
'settings.tabs.plugins': 'Плагины',
'settings.plugins.title': 'Настройки плагинов',
'settings.plugins.subtitle': 'Ваши личные настройки для используемых плагинов (ключи API, предпочтения).',
'settings.plugins.empty': 'Нет активных плагинов.',
'settings.plugins.saved': 'Настройки сохранены',
'settings.plugins.requiredMissing': '«{field}» обязательно',
'settings.tabs.account': 'Аккаунт',
'settings.tabs.offline': 'Офлайн-режим',
'settings.tabs.about': 'О приложении',
'settings.map': 'Карта',
'settings.mapTemplate': 'Шаблон карты',
'settings.mapTemplatePlaceholder.select': 'Выберите шаблон...',
'settings.mapDefaultHint': 'Оставьте пустым для OpenStreetMap (по умолчанию)',
'settings.routingBase': 'Собственный сервер маршрутов',
'settings.routingBaseHint':
'Собственный экземпляр OSRM. Пусто — используются публичные серверы с ограничением около одного запроса в секунду: на день хватает, для автопутешествия мало. Вступает в силу после перезапуска сервера.',
'settings.valhallaBase': 'Свой сервер Valhalla',
'settings.valhallaBaseHint':
'По умолчанию TREK использует публичную Valhalla FOSSGIS для объезда платных дорог, автомагистралей и паромов. Введите здесь URL собственной Valhalla, чтобы использовать её вместо публичной. Если настроен только собственный сервер маршрутизации, публичная Valhalla не используется. После ввода собственного URL перезапустите сервер и обновите страницу.',
'settings.mapHint': 'URL-шаблон для тайлов карты',
'settings.mapProvider': 'Провайдер карты',
'settings.mapProviderHint': 'Применяется к Trip Planner и Journey. Atlas всегда использует Leaflet.',
'settings.mapLeafletSubtitle': 'Классические 2D, любые растровые тайлы',
'settings.mapMapboxSubtitle': 'Векторные тайлы, 3D-здания и рельеф',
'settings.mapMapLibreSubtitle': 'Векторные тайлы OpenFreeMap, без токена',
'settings.mapExperimental': 'Экспериментально',
'settings.mapMapboxToken': 'Токен доступа Mapbox',
'settings.mapMapboxTokenHint': 'Публичный токен (pk.*) с',
'settings.mapMapboxTokenLink': 'mapbox.com → Токены доступа',
'settings.mapCartoKey': 'Ключ API CARTO',
'settings.mapCartoKeyHint':
'Без ключа на базовых картах CARTO появляется водяной знак. Бесплатно и без учётной записи, на',
'settings.mapCartoKeyLink': 'ключ API базовых карт carto.com',
'settings.mapCartoKeyMissing':
'Этот шаблон является базовой картой CARTO. Без ключа CARTO наносит "API KEY REQUIRED" на каждый тайл. Пока ключ не указан, TREK показывает базовую карту по умолчанию.',
'settings.mapStyle': 'Стиль карты',
'settings.mapStylePlaceholder': 'Выберите стиль Mapbox',
'settings.mapStyleHint': 'Preset или собственный URL mapbox://styles/USER/ID',
'settings.mapOpenFreeMapStylePlaceholder': 'Выберите стиль OpenFreeMap',
'settings.mapOpenFreeMapStyleHint': 'Preset или URL стиля OpenFreeMap. Стили OpenFreeMap работают без токена.',
'settings.map3dBuildings': '3D-здания и рельеф',
'settings.map3dHint': 'Наклон + настоящие 3D-здания — работает со всеми стилями, включая спутник.',
'settings.mapHighQuality': 'Режим высокого качества',
'settings.mapHighQualityHint': 'Сглаживание + проекция глобуса для более чётких краёв и реалистичного вида мира.',
'settings.mapHighQualityWarning': 'Может повлиять на производительность на слабых устройствах.',
'settings.mapTipLabel': 'Совет:',
'settings.mapTip':
'Зажмите правую кнопку мыши и перетащите, чтобы повернуть/наклонить карту. Клик средней кнопкой — добавить место (правая кнопка зарезервирована для вращения).',
'settings.saveMap': 'Сохранить карту',
'settings.apiKeys': 'API-ключи',
'settings.mapsKey': 'API-ключ Google Maps',
'settings.mapsKeyHint': 'Для поиска мест. Требуется Places API (New). Получите на console.cloud.google.com',
'settings.weatherKey': 'API-ключ OpenWeatherMap',
'settings.weatherKeyHint': 'Для данных о погоде. Бесплатно на openweathermap.org/api',
'settings.keyPlaceholder': 'Введите ключ...',
'settings.configured': 'Настроено',
'settings.saveKeys': 'Сохранить ключи',
'settings.display': 'Отображение',
'settings.colorMode': 'Цветовая схема',
'settings.light': 'Светлая',
'settings.dark': 'Тёмная',
'settings.auto': 'Авто',
'settings.language': 'Язык',
'settings.temperature': 'Единица температуры',
'settings.distance': 'Единица расстояния',
'settings.timeFormat': 'Формат времени',
'settings.weekStart': 'Неделя начинается с',
'settings.weekStartHint': 'Первый день недели во всех выборах даты. У Vacay своя настройка.',
'settings.preferredNavApp': 'Открывать места в',
'settings.preferredNavAppAsk': 'Спрашивать каждый раз',
'settings.preferredNavAppHint':
'Если приложение выбрано, кнопка навигации сразу открывает его вместо списка всех картографических приложений.',
'settings.blurBookingCodes': 'Скрыть коды бронирования',
'settings.aiAlwaysRetry': 'Всегда повторять импорт бронирований с помощью ИИ',
'settings.aiAlwaysRetryHint':
'Если стандартный анализатор не смог прочитать файл, автоматически повторять попытку с помощью ИИ.',
'settings.optimizeFromAccommodation': 'Оптимизировать маршрут от места проживания',
'settings.optimizeFromAccommodationHint':
'При оптимизации дня маршрут начинается от отеля, в котором вы просыпаетесь, и заканчивается у того, в который вы заселяетесь вечером.',
'settings.notifications': 'Уведомления',
'settings.notifyTripInvite': 'Приглашения в поездку',
'settings.notifyBookingChange': 'Изменения бронирований',
'settings.notifyTripReminder': 'Напоминания о поездке',
'settings.notifyTodoDue': 'Задача к сроку',
'settings.notifyVacayInvite': 'Приглашения слияния Vacay',
'settings.notifyVacayShare': 'Общий доступ к календарю Vacay',
'settings.notifyCollectionInvite': 'Приглашения в коллекции',
'settings.notifySynologySessionCleared': 'Сессия Synology сброшена',
'settings.notifyPluginNotification': 'Уведомления плагинов',
'settings.notifyPhotosShared': 'Общие фото (Immich)',
'settings.notifyCollabMessage': 'Сообщения чата (Collab)',
'settings.notifyPackingTagged': 'Список вещей: назначения',
'settings.notifyWandererSourceHint': 'wanderer: подсказки по вашим маршрутам',
'settings.notifyWebhook': 'Webhook-уведомления',
'settings.notificationsDisabled':
'Уведомления не настроены. Попросите администратора включить уведомления по электронной почте или webhook.',
'settings.notificationsActive': 'Активный канал',
'settings.notificationsManagedByAdmin': 'События уведомлений настраиваются администратором.',
'settings.on': 'Вкл.',
'settings.off': 'Выкл.',
'settings.mcp.title': 'Настройка MCP',
'settings.mcp.endpoint': 'MCP-эндпоинт',
'settings.mcp.clientConfig': 'Конфигурация клиента',
'settings.mcp.clientConfigHint':
'Замените <your_token> на API-токен из списка ниже. Путь к npx может потребовать настройки для вашей системы (например, C:\\PROGRA~1\\nodejs\\npx.cmd в Windows).',
'settings.mcp.clientConfigHintOAuth':
'Замените <your_client_id> и <your_client_secret> на учётные данные из созданного выше клиента OAuth 2.1. При первом подключении mcp-remote откроет браузер для завершения авторизации. Путь к npx может потребовать настройки для вашей системы (например, C:\\PROGRA~1\\nodejs\\npx.cmd в Windows).',
'settings.mcp.copy': 'Копировать',
'settings.mcp.copied': 'Скопировано!',
'settings.mcp.apiTokens': 'API-токены',
'settings.mcp.createToken': 'Создать токен',
'settings.mcp.noTokens': 'Токенов пока нет. Создайте один для подключения MCP-клиентов.',
'settings.mcp.tokenCreatedAt': 'Создан',
'settings.mcp.tokenUsedAt': 'Использован',
'settings.mcp.deleteTokenTitle': 'Удалить токен',
'settings.mcp.deleteTokenMessage':
'Этот токен перестанет работать немедленно. Любой MCP-клиент, использующий его, потеряет доступ.',
'settings.mcp.modal.createTitle': 'Создать API-токен',
'settings.mcp.modal.tokenName': 'Название токена',
'settings.mcp.modal.tokenNamePlaceholder': 'напр. Claude Desktop, Рабочий ноутбук',
'settings.mcp.modal.creating': 'Создание…',
'settings.mcp.modal.create': 'Создать токен',
'settings.mcp.modal.createdTitle': 'Токен создан',
'settings.mcp.modal.createdWarning':
'Этот токен будет показан только один раз. Скопируйте и сохраните его сейчас: восстановить его будет невозможно.',
'settings.mcp.modal.done': 'Готово',
'settings.mcp.toast.created': 'Токен создан',
'settings.mcp.toast.createError': 'Не удалось создать токен',
'settings.mcp.toast.deleted': 'Токен удалён',
'settings.mcp.toast.deleteError': 'Не удалось удалить токен',
'settings.mcp.apiTokensDeprecated':
'API-токены устарели и будут удалены в будущей версии. Пожалуйста, используйте клиенты OAuth 2.1.',
'settings.oauth.clients': 'Клиенты OAuth 2.1',
'settings.oauth.clientsHint':
'Зарегистрируйте клиенты OAuth 2.1, чтобы сторонние MCP-приложения (Claude Web, Cursor и др.) могли подключаться без статических токенов.',
'settings.oauth.createClient': 'Новый клиент',
'settings.oauth.noClients': 'Нет зарегистрированных клиентов OAuth.',
'settings.oauth.clientId': 'ID клиента',
'settings.oauth.clientSecret': 'Секрет клиента',
'settings.oauth.deleteClient': 'Удалить клиента',
'settings.oauth.deleteClientMessage':
'Этот клиент и все активные сессии будут удалены навсегда. Любое приложение, использующее его, немедленно потеряет доступ.',
'settings.oauth.rotateSecret': 'Обновить секрет',
'settings.oauth.rotateSecretMessage':
'Будет сгенерирован новый секрет клиента, а все существующие сессии будут немедленно аннулированы. Обновите приложение перед закрытием этого диалога.',
'settings.oauth.rotateSecretConfirm': 'Обновить',
'settings.oauth.rotateSecretConfirming': 'Обновление…',
'settings.oauth.rotateSecretDoneTitle': 'Новый секрет сгенерирован',
'settings.oauth.rotateSecretDoneWarning':
'Этот секрет отображается только один раз. Скопируйте его сейчас и обновите приложение — все предыдущие сессии были аннулированы.',
'settings.oauth.activeSessions': 'Активные сессии OAuth',
'settings.oauth.sessionScopes': 'Области доступа',
'settings.oauth.sessionExpires': 'Истекает',
'settings.oauth.revoke': 'Отозвать',
'settings.oauth.revokeSession': 'Отозвать сессию',
'settings.oauth.revokeSessionMessage': 'Это немедленно отзовёт доступ для данной сессии OAuth.',
'settings.oauth.modal.createTitle': 'Зарегистрировать клиент OAuth',
'settings.oauth.modal.presets': 'Быстрые настройки',
'settings.oauth.modal.clientName': 'Название приложения',
'settings.oauth.modal.clientNamePlaceholder': 'напр. Claude Web, Моё MCP-приложение',
'settings.oauth.modal.redirectUris': 'URI перенаправления',
'settings.oauth.modal.redirectUrisPlaceholder': 'https://your-app.com/callback\nhttps://your-app.com/auth',
'settings.oauth.modal.redirectUrisHint':
'Один URI на строку. HTTPS, локальный HTTP или собственная схема приложения (myapp://). Требуется точное совпадение, кроме порта локального URI.',
'settings.oauth.modal.scopes': 'Разрешённые области доступа',
'settings.oauth.modal.scopesHint':
'list_trips и get_trip_summary всегда доступны: область не требуется. Они помогают ИИ находить нужные ID поездок.',
'settings.oauth.modal.selectAll': 'Выбрать все',
'settings.oauth.modal.deselectAll': 'Снять выбор',
'settings.oauth.modal.creating': 'Регистрация…',
'settings.oauth.modal.create': 'Зарегистрировать клиента',
'settings.oauth.modal.createdTitle': 'Клиент зарегистрирован',
'settings.oauth.modal.createdWarning':
'Секрет клиента отображается только один раз. Скопируйте его сейчас: его нельзя будет восстановить.',
'settings.oauth.toast.createError': 'Не удалось зарегистрировать клиент OAuth',
'settings.oauth.toast.deleted': 'Клиент OAuth удалён',
'settings.oauth.toast.deleteError': 'Не удалось удалить клиент OAuth',
'settings.oauth.toast.revoked': 'Сессия отозвана',
'settings.oauth.toast.revokeError': 'Не удалось отозвать сессию',
'settings.oauth.toast.rotateError': 'Не удалось обновить секрет клиента',
'settings.oauth.modal.machineClient': 'Машинный клиент (без входа через браузер)',
'settings.oauth.modal.machineClientHint':
'Использует грант client_credentials — URI перенаправления не требуются. Токен выдаётся напрямую через client_id + client_secret и действует от вашего имени в пределах выбранных областей.',
'settings.oauth.modal.machineClientUsage':
'Получить токен: POST /oauth/token с grant_type=client_credentials, client_id и client_secret. Без браузера, без токена обновления.',
'settings.oauth.badge.machine': 'машинный',
'settings.account': 'Аккаунт',
'settings.about': 'О приложении',
'settings.about.reportBug': 'Сообщить об ошибке',
'settings.about.reportBugHint': 'Нашли проблему? Сообщите нам',
'settings.about.featureRequest': 'Предложить функцию',
'settings.about.featureRequestHint': 'Предложите новую функцию',
'settings.about.wikiHint': 'Документация и руководства',
'settings.about.descriptionManaged':
'TREK помогает организовать поездки от первой идеи до последнего воспоминания. Планирование дней, бюджет, списки вещей, фото и многое другое: всё в одном месте.',
'settings.about.sourceTitle': 'Исходный код',
'settings.about.sourceHint': 'TREK с открытым исходным кодом, лицензия AGPL-3.0',
'settings.about.supporters.badge': 'Ежемесячные спонсоры',
'settings.about.supporters.title': 'Спутники TREK',
'settings.about.supporters.subtitle':
'Пока ты планируешь следующий маршрут, эти люди планируют вместе со мной будущее TREK. Их ежемесячный взнос идёт напрямую в разработку и реально потраченные часы — чтобы TREK оставался Open Source.',
'settings.about.supporters.since': 'спонсор с {date}',
'settings.about.supporters.tierEmpty': 'Стань первым',
'settings.about.supporter.tier.noReturnTicket': 'Без обратного билета',
'settings.about.supporter.tier.lostLuggageVip': 'VIP потерянного багажа',
'settings.about.supporter.tier.businessClassDreamer': 'Мечтатель о бизнес-классе',
'settings.about.supporter.tier.budgetTraveller': 'Бюджетный путешественник',
'settings.about.supporter.tier.hostelBunkmate': 'Сосед по койке в хостеле',
'settings.about.description':
'TREK — это самостоятельно размещаемый планировщик путешествий, который помогает организовать поездки от первой идеи до последнего воспоминания. Планирование по дням, бюджет, списки вещей, фото и многое другое — всё в одном месте, на вашем собственном сервере.',
'settings.about.madeWith': 'Сделано с',
'settings.about.madeBy': 'Морисом и растущим open-source сообществом.',
'settings.username': 'Имя пользователя',
'settings.email': 'Эл. почта',
'settings.role': 'Роль',
'settings.roleAdmin': 'Администратор',
'settings.oidcLinked': 'Связан с',
'settings.changePassword': 'Изменить пароль',
'settings.mustChangePassword':
'Вы должны сменить пароль перед продолжением. Пожалуйста, установите новый пароль ниже.',
'settings.currentPassword': 'Текущий пароль',
'settings.currentPasswordRequired': 'Текущий пароль обязателен',
'settings.newPassword': 'Новый пароль',
'settings.confirmPassword': 'Подтвердите новый пароль',
'settings.updatePassword': 'Обновить пароль',
'settings.passwordRequired': 'Введите текущий и новый пароль',
'settings.passwordTooShort': 'Пароль должен содержать не менее 8 символов',
'settings.passwordMismatch': 'Пароли не совпадают',
'settings.passwordWeak': 'Пароль должен содержать заглавные, строчные буквы, цифру и специальный символ',
'settings.passwordCommon': 'Этот пароль слишком распространён. Выберите уникальный.',
'settings.passwordRepetitive': 'Пароль слишком однообразный',
'settings.passwordRules': 'Требования к паролю',
'settings.passwordRule.length': 'Не менее 8 символов',
'settings.passwordRule.upper': 'Заглавная буква',
'settings.passwordRule.lower': 'Строчная буква',
'settings.passwordRule.digit': 'Цифра',
'settings.passwordRule.special': 'Спецсимвол',
'settings.passwordChanged': 'Пароль успешно изменён',
'settings.deleteAccount': 'Удалить аккаунт',
'settings.deleteAccountTitle': 'Удалить ваш аккаунт?',
'settings.deleteAccountWarning':
'Ваш аккаунт и все принадлежащие вам поездки, журналы, места и файлы будут удалены безвозвратно, включая поездки, к которым есть доступ у других участников: они потеряют доступ. Поездки других владельцев останутся, а вы будете из них исключены. Это действие нельзя отменить.',
'settings.deleteAccountConfirm': 'Удалить безвозвратно',
'settings.deleteBlockedTitle': 'Удаление невозможно',
'settings.deleteBlockedMessage':
'Вы единственный администратор. Назначьте другого пользователя администратором перед удалением своего аккаунта.',
'settings.roleUser': 'Пользователь',
'settings.saveProfile': 'Сохранить профиль',
'settings.mfa.title': 'Двухфакторная аутентификация (2FA)',
'settings.mfa.description':
'Добавляет второй шаг при входе. Используйте приложение-аутентификатор (Google Authenticator, Authy и др.).',
'settings.mfa.requiredByPolicy':
'Администратор требует двухфакторную аутентификацию. Настройте приложение-аутентификатор ниже, прежде чем продолжить.',
'settings.mfa.backupTitle': 'Резервные коды',
'settings.mfa.backupDescription':
'Используйте эти одноразовые коды, если потеряете доступ к приложению-аутентификатору.',
'settings.mfa.backupWarning': 'Сохраните их сейчас. Каждый код можно использовать только один раз.',
'settings.mfa.backupCopy': 'Скопировать коды',
'settings.mfa.backupDownload': 'Скачать TXT',
'settings.mfa.backupPrint': 'Печать / PDF',
'settings.mfa.backupCopied': 'Резервные коды скопированы',
'settings.mfa.enabled': '2FA включена для вашего аккаунта.',
'settings.mfa.disabled': '2FA не включена.',
'settings.mfa.setup': 'Настроить аутентификатор',
'settings.mfa.scanQr': 'Отсканируйте QR-код приложением или введите ключ вручную.',
'settings.mfa.secretLabel': 'Секретный ключ (ручной ввод)',
'settings.mfa.codePlaceholder': '6-значный код',
'settings.mfa.enable': 'Включить 2FA',
'settings.mfa.cancelSetup': 'Отмена',
'settings.mfa.disableTitle': 'Отключить 2FA',
'settings.mfa.disableHint':
'Введите пароль аккаунта и текущий код из аутентификатора или неиспользованный резервный код.',
'settings.mfa.disable': 'Отключить 2FA',
'settings.mfa.toastEnabled': 'Двухфакторная аутентификация включена',
'settings.mfa.toastDisabled': 'Двухфакторная аутентификация отключена',
'settings.mfa.demoBlocked': 'Недоступно в демо-режиме',
'settings.toast.mapSaved': 'Настройки карты сохранены',
'settings.toast.keysSaved': 'API-ключи сохранены',
'settings.toast.displaySaved': 'Настройки отображения сохранены',
'settings.toast.profileSaved': 'Профиль сохранён',
'settings.uploadAvatar': 'Загрузить фото профиля',
'settings.removeAvatar': 'Удалить фото профиля',
'settings.avatarUploaded': 'Фото профиля обновлено',
'settings.avatarRemoved': 'Фото профиля удалено',
'settings.avatarError': 'Ошибка загрузки',
'settings.avatarRemoveError': 'Ошибка удаления',
'settings.bookingLabels': 'Подписи маршрутов бронирований',
'settings.bookingLabelsHint':
'Отображает названия станций / аэропортов на карте. Если выключено, показывается только значок.',
'settings.notifyVersionAvailable': 'Доступна новая версия',
'settings.notifyReplicaFailure': 'Сбой реплики хранилища',
'settings.notifyPaddleRegionRequested': 'Запрошен регион для сплава',
'settings.notificationPreferences.noChannels':
'Каналы уведомлений не настроены. Попросите администратора настроить уведомления по электронной почте или через webhook.',
'settings.webhookUrl.label': 'URL вебхука',
'settings.webhookUrl.placeholder': 'https://discord.com/api/webhooks/...',
'settings.webhookUrl.hint':
'Введите URL вашего вебхука Discord, Slack или пользовательского для получения уведомлений.',
'settings.webhookUrl.saved': 'URL вебхука сохранён',
'settings.webhookUrl.test': 'Тест',
'settings.webhookUrl.testSuccess': 'Тестовый вебхук успешно отправлен',
'settings.webhookUrl.testFailed': 'Ошибка тестового вебхука',
'settings.ntfyUrl.topicLabel': 'Тема Ntfy',
'settings.ntfyUrl.topicPlaceholder': 'my-trek-alerts',
'settings.ntfyUrl.serverLabel': 'URL сервера Ntfy (необязательно)',
'settings.ntfyUrl.serverPlaceholder': 'https://ntfy.sh',
'settings.ntfyUrl.hint':
'Введите тему Ntfy для получения push-уведомлений. Оставьте поле сервера пустым, чтобы использовать настройку по умолчанию, заданную администратором.',
'settings.ntfyUrl.tokenLabel': 'Токен доступа (необязательно)',
'settings.ntfyUrl.tokenHint': 'Требуется для тем, защищённых паролем.',
'settings.ntfyUrl.saved': 'Настройки Ntfy сохранены',
'settings.ntfyUrl.test': 'Тест',
'settings.ntfyUrl.testSuccess': 'Тестовое уведомление Ntfy успешно отправлено',
'settings.ntfyUrl.testFailed': 'Ошибка отправки тестового уведомления Ntfy',
'settings.ntfyUrl.tokenCleared': 'Токен доступа очищен',
'settings.notificationPreferences.inapp': 'In-App',
'settings.notificationPreferences.notConfigured': 'Ещё не настроено — настройте в параметрах плагина',
'settings.notificationPreferences.lockedByAdmin': 'Отключено администратором для всех',
'settings.plugins.actions': 'Действия',
'settings.plugins.actions.confirm': 'Выполнить это действие?',
'settings.notificationPreferences.sendTest': 'Отправить тест',
'settings.notificationPreferences.configure': 'Настроить',
'settings.notificationPreferences.testSuccess': 'Тестовое уведомление отправлено.',
'settings.notificationPreferences.testFailed': 'Тест не удался.',
'settings.notificationPreferences.pluginConfigured': 'Настроено. Учётные данные — на странице настроек плагина.',
'settings.notificationPreferences.webhook': 'Webhook',
'settings.notificationPreferences.email': 'Email',
'settings.notificationPreferences.ntfy': 'Ntfy',
'settings.notificationPreferences.push': 'Push',
'settings.webPush.title': 'Push-уведомления на этом устройстве',
'settings.webPush.hint':
'Показывает уведомления TREK на этом устройстве, даже когда TREK закрыт. Какие события приходят, определяет столбец Push.',
'settings.webPush.enable': 'Включить на этом устройстве',
'settings.webPush.disable': 'Выключить на этом устройстве',
'settings.webPush.enabled': 'Включено на этом устройстве',
'settings.webPush.unsupported': 'Этот браузер не может получать push-уведомления.',
'settings.webPush.insecure': 'Для push TREK должен быть открыт по HTTPS.',
'settings.webPush.iosInstall': 'На iPhone и iPad сначала добавьте TREK на экран «Домой» и откройте его оттуда.',
'settings.webPush.denied':
'Уведомления для TREK заблокированы в этом браузере. Разрешите их в настройках браузера и попробуйте снова.',
'settings.webPush.failed': 'Не удалось включить push на этом устройстве.',
'settings.currency': 'Валюта отображения',
'settings.currencyHint':
'Суммы в разделе «Расходы» отображаются в этой валюте только для просмотра; исходные суммы не изменяются.',
'settings.currencyTrip': 'Валюта поездки',
'settings.placeLanguage': 'Названия мест',
'settings.placeLanguageApp': 'Как в приложении',
'settings.placeLanguageHint':
'Язык, на котором отвечают поиск мест, подсказки и адреса. Если у места нет названия на этом языке, показывается местное название.',
'settings.passkey.title': 'Ключи доступа',
'settings.passkey.description':
'Входите быстрее и с защитой от фишинга с помощью passkey: отпечатка пальца, лица, PIN-кода или аппаратного ключа. Ваш пароль остаётся как резервный способ.',
'settings.passkey.notConfigured':
'Passkeys включены, но ещё не полностью настроены на этом сервере. Попросите администратора задать домен WebAuthn.',
'settings.passkey.add': 'Добавить passkey',
'settings.passkey.addTitle': 'Добавить passkey',
'settings.passkey.passwordPrompt': 'Подтвердите текущий пароль, затем следуйте подсказке на устройстве.',
'settings.passkey.passwordRequired': 'Требуется ваш текущий пароль.',
'settings.passkey.namePlaceholder': 'Название (необязательно, напр. "iPhone")',
'settings.passkey.addedToast': 'Passkey добавлен',
'settings.passkey.added': 'Добавлен',
'settings.passkey.addError': 'Не удалось добавить passkey',
'settings.passkey.cancelled': 'Настройка passkey отменена',
'settings.passkey.deleted': 'Passkey удалён',
'settings.passkey.deleteConfirm': 'Удалить этот passkey? Подтвердите паролем.',
'settings.passkey.rename': 'Переименовать',
'settings.passkey.defaultName': 'Ключ доступа',
'settings.passkey.synced': 'Синхронизирован',
'settings.passkey.deviceBound': 'Это устройство',
'settings.passkey.lastUsed': 'Последнее использование',
'settings.passkey.neverUsed': 'Не использовался',
'settings.mapPoiPill': 'Поиск мест на карте',
'settings.mapPoiPillHint':
'Показывать на карте поездки кнопку категорий, чтобы находить рядом рестораны, отели и другие места из OpenStreetMap.',
'settings.airtrail.title': 'AirTrail',
'settings.airtrail.hint':
'Подключите свой self-hosted AirTrail для импорта и синхронизации рейсов. Создайте ключ API в AirTrail в разделе «Настройки → Безопасность».',
'settings.airtrail.url': 'URL экземпляра',
'settings.airtrail.apiKey': 'Ключ API',
'settings.airtrail.apiKeyPlaceholder': 'Bearer-ключ API',
'settings.airtrail.apiKeyHint':
'Создаётся в AirTrail в разделе «Настройки → Безопасность». Хранится в зашифрованном виде.',
'settings.airtrail.allowInsecureTls': 'Разрешить самоподписанные сертификаты',
'settings.airtrail.allowInsecureTlsHint': 'Включайте только для доверенного экземпляра в вашей собственной сети.',
'settings.airtrail.writeBack': 'Записывать изменения обратно в AirTrail',
'settings.airtrail.writeBackHint':
'По умолчанию выключено: AirTrail является источником истины, а TREK только читает из него. Включите, чтобы отправлять изменения, сделанные в TREK, обратно в AirTrail.',
'settings.airtrail.connected': 'Подключено',
'settings.airtrail.notConnected': 'Не подключено',
'settings.airtrail.toast.saved': 'Подключение к AirTrail сохранено',
'settings.airtrail.toast.saveError': 'Не удалось сохранить подключение',
'settings.airtrail.test.button': 'Проверить подключение',
'settings.airtrail.test.success': 'Подключено. Найдено {count} рейса',
'settings.airtrail.test.success.one': 'Подключено. Найден {count} рейс',
'settings.airtrail.test.success.few': 'Подключено. Найдено {count} рейса',
'settings.airtrail.test.success.many': 'Подключено. Найдено {count} рейсов',
'settings.airtrail.test.failed': 'Не удалось подключиться',
'settings.aiParsing.title': 'Распознавание с помощью ИИ',
'settings.aiParsing.hint':
'Выберите модель ИИ для извлечения бронирований из загруженных файлов. Это работает только в том случае, если администратор не настроил модель для всего экземпляра.',
'settings.aiParsing.provider': 'Провайдер',
'settings.aiParsing.providerLocal': 'Локально (Ollama)',
'settings.aiParsing.providerOpenai': 'OpenAI',
'settings.aiParsing.providerAnthropic': 'Anthropic',
'settings.aiParsing.localAdminOnly':
'Локальная конечная точка (Ollama) настраивается один раз для всего экземпляра в настройках администратора. Свой ключ OpenAI или Anthropic вы по-прежнему можете использовать здесь.',
'settings.aiParsing.model': 'Модель',
'settings.aiParsing.baseUrl': 'Базовый URL',
'settings.aiParsing.baseUrlHint':
'Где работает модель — локальный сервер Ollama или конечная точка, совместимая с OpenAI.',
'settings.aiParsing.apiKey': 'Ключ API',
'settings.aiParsing.apiKeyHint': 'Хранится в зашифрованном виде. Оставьте поле пустым, чтобы сохранить текущий ключ.',
'settings.aiParsing.multimodal': 'Модель читает изображения',
'settings.aiParsing.multimodalHint':
'Включите для модели, которая читает изображения, чтобы фотографию можно было импортировать или отсканировать.',
'settings.aiParsing.toast.saved': 'Настройки ИИ сохранены',
'settings.aiParsing.toast.saveError': 'Не удалось сохранить настройки ИИ',
'settings.tabs.appearance': 'Внешний вид',
'settings.appearance.theme': 'Тема',
'settings.appearance.scheme': 'Основной цвет',
'settings.appearance.scheme.default': 'По умолчанию',
'settings.appearance.scheme.highContrast': 'Высокий контраст',
'settings.appearance.scheme.indigo': 'Индиго',
'settings.appearance.scheme.teal': 'Бирюзовый',
'settings.appearance.scheme.rose': 'Розовый',
'settings.appearance.scheme.amber': 'Янтарный',
'settings.appearance.scheme.violet': 'Фиолетовый',
'settings.appearance.scheme.custom': 'Свой цвет',
'settings.appearance.customAccent': 'Акцентный цвет',
'settings.appearance.contrastOk': 'Хороший контраст',
'settings.appearance.contrastLow': 'Низкий контраст',
'settings.appearance.readability': 'Читаемость',
'settings.appearance.transparency': 'Прозрачность',
'settings.appearance.transparencyHint':
'"Стеклянные" полупрозрачные поверхности. Отключите для более контрастного непрозрачного фона.',
'settings.appearance.reduceMotion': 'Меньше движения',
'settings.appearance.reduceMotionHint': 'Уменьшить количество анимаций и переходов.',
'settings.appearance.density': 'Плотность',
'settings.appearance.comfortable': 'Комфортная',
'settings.appearance.compact': 'Компактная',
'settings.appearance.textSize': 'Размер текста',
'settings.appearance.advancedTextSizes': 'Дополнительный размер текста',
'settings.appearance.hideAdvanced': 'Скрыть дополнительное',
'settings.appearance.tier.title': 'Заголовки',
'settings.appearance.tier.subtitle': 'Подзаголовки',
'settings.appearance.tier.body': 'Основной текст',
'settings.appearance.tier.caption': 'Подписи',
'settings.appearance.dashboardWidgets': 'Элементы главной страницы',
'settings.appearance.dashboardWidgetsHint':
'Скрыть или показать элементы главной страницы в полной и мобильной версии.',
'settings.appearance.desktop': 'Полная версия',
'settings.appearance.mobile': 'Мобильная версия',
'settings.appearance.widget.sidebar': 'Правая панель',
'settings.appearance.widget.currency': 'Валюта',
'settings.appearance.widget.collections': 'Коллекции',
'settings.appearance.widget.timezones': 'Часовые пояса',
'settings.appearance.widget.upcomingReservations': 'Ближайшие брони',
'settings.appearance.widget.atlas': 'Атлас / страны',
'settings.appearance.widget.tripsTotal': 'Всего поездок',
'settings.appearance.widget.daysTraveled': 'Дней в пути',
'settings.appearance.widget.distanceFlown': 'Пройдено по воздуху',
'settings.appearance.reset': 'Сбросить',
'settings.appearance.group.belowHero': 'Под главной карточкой',
'settings.appearance.group.bottomOfPage': 'Внизу страницы',
'settings.appearance.sidebarHint': 'Вся боковая колонка. Отключите, чтобы центрировать главную страницу.',
'settings.appearance.densityHint':
'Компактная плотность отображает элементы ближе друг к другу, чтобы вместить больше информации на экран.',
'settings.appearance.textSizeAll': 'Весь текст',
'settings.appearance.perSize': 'Изменить размер отдельных элементов текста',
'settings.appearance.size.large': 'Большой',
'settings.appearance.size.medium': 'Средний',
'settings.appearance.size.normal': 'Нормальный',
'settings.appearance.size.small': 'Маленький',
'settings.appearance.preview.large': 'Большие заголовки',
'settings.appearance.preview.medium': 'Средние подзаголовки',
'settings.appearance.preview.normal': 'Основной текст',
'settings.appearance.preview.small': 'Маленькие подписи / адреса',
'settings.appearance.example.large': 'Заголовки, крупные числа',
'settings.appearance.example.medium': 'Подзаголовки',
'settings.appearance.example.normal': 'Названия мест, описания',
'settings.appearance.example.small': 'Адреса, подписи',
'settings.appearance.experimental': 'Экспериментальные настройки',
'settings.appearance.mobileNav': 'Нижняя панель навигации',
'settings.appearance.mobileNav.hint':
'Выберите, какие элементы отображаются на панели, а какие — в меню «Ещё». Дашборд всегда остаётся первым.',
'settings.appearance.mobileNav.inBar': 'На панели',
'settings.appearance.mobileNav.underMore': 'В меню «Ещё»',
'settings.appearance.mobileNav.moreEmpty': 'Здесь пока пусто — всё умещается на панели.',
'settings.appearance.mobileNav.pinned': 'Закреплено',
'settings.appearance.mobileNav.toMore': 'Переместить в меню «Ещё»',
'settings.appearance.mobileNav.toBar': 'Переместить на панель',
'settings.appearance.dashOrder': 'Порядок панели',
'settings.appearance.dashOrder.hint':
'Измените порядок, в котором список поездок и виджеты располагаются на панели телефона. Избранная поездка всегда остаётся сверху.',
'settings.appearance.dashOrder.trips': 'Поездки',
'settings.appearance.dashOrder.hidden': 'Скрыто',
'settings.general.languageRegion': 'Язык и регион',
'settings.general.travelMap': 'Карта и путешествия',
'settings.general.startup': 'Запуск',
'settings.dayDateFirst': 'Дата первой в заголовках дней',
'settings.compactUnplanned': 'Компактные метки для незапланированных мест',
'settings.compactUnplannedHint':
'Места, не включённые ни в один день, отображаются маленькими метками без фото, чтобы запланированные остановки выделялись.',
'settings.dayDateFirstHint':
'Начинать каждый день с календарной даты и показывать рядом «День 1» или собственное название дня.',
'settings.startPage': 'Стартовая страница',
'settings.startPageDashboard': 'Панель управления',
'settings.startPageActiveTrip': 'Активная поездка',
'settings.startPageHint':
'TREK сразу открывает поездку, которая идёт сейчас, иначе ближайшую предстоящую. Это та же поездка, которую выделяет панель управления.',
'settings.startTripTab': 'Стартовая вкладка',
'settings.startTripTabHint':
'Вкладка, с которой открывается поездка. Если она относится к отключённому дополнению, откроется план.',
// ── Offline (#1135)
'settings.offline.cache.title': 'Офлайн-кэш',
'settings.offline.mode.title': 'Офлайн-режим',
'settings.offline.mode.force': 'Принудительный офлайн-режим',
'settings.offline.mode.forceHint':
'Работайте только с кэшированными данными, а ваши изменения ставятся в очередь. Выключите, чтобы снова подключиться и синхронизировать.',
'settings.offline.mode.active':
'Офлайн-режим включён: ваши изменения поставлены в очередь и синхронизируются, когда вы его выключите.',
'settings.offline.prepare.title': 'Подготовка к работе офлайн',
'settings.offline.prepare.hint':
'Скачайте всё необходимое (данные поездок, документы и тайлы карты) до того, как потеряете соединение.',
'settings.offline.prepare.button': 'Скачать для работы офлайн',
'settings.offline.prepare.running': 'Скачивание…',
'settings.offline.prepare.done': 'Готово к работе офлайн',
'settings.offline.prepare.phase.trips': 'Данные поездок',
'settings.offline.prepare.phase.files': 'Документы',
'settings.offline.prepare.phase.tiles': 'Тайлы карты',
'settings.offline.resync': 'Синхронизировать сейчас',
'settings.offline.resyncing': 'Синхронизация…',
'settings.offline.storage.title': 'Что хранить офлайн',
'settings.offline.storage.tiles': 'Хранить тайлы карты офлайн',
'settings.offline.storage.tilesHint':
'Тайлы карты занимают больше всего места. Выключите, чтобы хранить офлайн только данные поездок и документы.',
'settings.offline.storage.tripsTitle': 'Поездки',
'settings.offline.storage.tripOn': 'Хранится офлайн',
'settings.offline.storage.tripOff': 'Не хранится',
'settings.offline.storage.tripFinished': 'Завершена. Сохраняется, только если вы её включите.',
'settings.offline.notice.stored': 'На этом устройстве сохранено {count} поездки',
'settings.offline.notice.stored.one': 'На этом устройстве сохранена {count} поездка',
'settings.offline.notice.stored.few': 'На этом устройстве сохранены {count} поездки',
'settings.offline.notice.stored.many': 'На этом устройстве сохранено {count} поездок',
'settings.offline.notice.nothing': 'Сохранять нечего. Включите поездки, которые хотите оставить.',
'settings.offline.notice.busy': 'Синхронизация уже идёт. Повторите попытку через мгновение.',
'settings.offline.notice.offline': 'Нет соединения. Подключитесь, чтобы сохранить поездки офлайн.',
'settings.offline.notice.signedOut': 'Сеанс завершён. Войдите снова, чтобы синхронизировать.',
'settings.offline.notice.failed': 'Загрузку не удалось завершить. Проверьте соединение и повторите попытку.',
'settings.offline.notice.loadFailed':
'Не удалось прочитать офлайн-хранилище этого устройства. Обычно помогает очистка кэша.',
'settings.offline.clear': 'Очистить кэш',
'settings.offline.clearConfirm':
'Очистить все офлайн-данные поездок? Вы сможете синхронизировать их снова в любой момент при наличии подключения.',
'settings.offline.stats.trips': 'Кэшированные поездки',
'settings.offline.stats.pending': 'Изменения в очереди',
'settings.offline.stats.failed': 'Неудавшиеся изменения',
'settings.offline.failed.hint':
'Эти изменения так и не попали на сервер. Повторите попытку или отмените их, чтобы оставить версию с сервера.',
'settings.offline.failed.retry': 'Повторить',
'settings.offline.failed.discard': 'Отменить',
'settings.offline.stats.conflicts': 'Конфликты',
'settings.offline.empty': 'Поездки ещё не кэшированы. Подключитесь к интернету для синхронизации.',
'settings.offline.loading': 'Загрузка…',
'settings.offline.conflicts.title': 'Конфликты синхронизации',
'settings.offline.conflicts.hint':
'Изменения, сделанные вами офлайн, конфликтуют с более новыми изменениями на сервере. Выберите, какую версию сохранить.',
'settings.offline.conflicts.keepMine': 'Оставить мою',
'settings.offline.conflicts.keepServer': 'Оставить серверную',
'settings.offline.conflicts.mine': 'Ваша версия',
'settings.offline.conflicts.server': 'Версия с сервера',
'settings.offline.conflicts.item': 'Изменение “{name}”',
'settings.offline.conflicts.strategyTitle': 'При возникновении конфликта',
'settings.offline.conflicts.strategy.ask': 'Спрашивать меня каждый раз',
'settings.offline.conflicts.strategy.mine': 'Всегда сохранять мою версию',
'settings.offline.conflicts.strategy.server': 'Всегда сохранять версию с сервера',
'settings.offline.banner.offline': 'Офлайн',
'settings.offline.banner.forced': 'Офлайн-режим',
'settings.offline.banner.queued': 'Офлайн · {count} в очереди',
'settings.offline.banner.queued.one': 'Офлайн · {count} в очереди',
'settings.offline.banner.queued.few': 'Офлайн · {count} в очереди',
'settings.offline.banner.queued.many': 'Офлайн · {count} в очереди',
'settings.offline.banner.syncing': 'Синхронизация {count}…',
'settings.offline.banner.syncing.one': 'Синхронизация {count}…',
'settings.offline.banner.syncing.few': 'Синхронизация {count}…',
'settings.offline.banner.syncing.many': 'Синхронизация {count}…',
'settings.offline.banner.failed': 'Не удалось синхронизировать: {count}',
'settings.offline.banner.failed.one': 'Не удалось синхронизировать: {count}',
'settings.offline.banner.failed.few': 'Не удалось синхронизировать: {count}',
'settings.offline.banner.failed.many': 'Не удалось синхронизировать: {count}',
'settings.offline.banner.conflicts': 'Конфликты: {count}',
'settings.offline.banner.conflicts.one': 'Конфликты: {count}',
'settings.offline.banner.conflicts.few': 'Конфликты: {count}',
'settings.offline.banner.conflicts.many': 'Конфликты: {count}',
'settings.pluginActivity.title': 'Активность плагинов',
'settings.pluginActivity.description': 'Все действия, которые плагин выполнил от вашего имени, сначала новые.',
'settings.pluginActivity.empty': 'Активности плагинов пока нет.',
'settings.pluginActivity.refresh': 'Обновить',
'settings.pluginActivity.columns.plugin': 'Плагин',
'settings.pluginActivity.columns.action': 'Действие',
'settings.pluginActivity.columns.resource': 'Ресурс',
'settings.pluginActivity.columns.when': 'Когда',
'settings.pluginActivity.columns.status': 'Результат',
'settings.alwaysShowRoutes': 'Всегда показывать маршруты бронирований',
'settings.alwaysShowRoutesHint':
'Автоматически показывает на карте маршрут для каждого рейса, поезда и другого бронирования, без необходимости включать это отдельно для каждого элемента.',
// Public API keys (Settings -> Integrations)
// ── API keys: what a key may read ─────────────────────────────────────────
'settings.apiScopes.title': 'Что этот ключ может читать',
'settings.apiScopes.hint':
'Оставьте всё включённым для ключа, который должен видеть всё. Всё, что вы выключите, для этого ключа будет запрещено, а не просто опущено в ответе.',
'settings.apiScopes.all': 'Всё',
'settings.apiScopes.noneSelected': 'Выберите хотя бы один раздел, иначе ключ не сможет ничего прочитать.',
'settings.apiScopes.limited': '{count} из {total}',
'settings.apiScopes.limited.one': '{count} из {total}',
'settings.apiScopes.limited.few': '{count} из {total}',
'settings.apiScopes.limited.many': '{count} из {total}',
'settings.apiScopes.trips': 'Поездки',
'settings.apiScopes.days': 'Дни',
'settings.apiScopes.places': 'Места',
'settings.apiScopes.notes': 'Заметки дня',
'settings.apiScopes.reservations': 'Бронирования',
'settings.apiScopes.accommodations': 'Проживание',
'settings.apiScopes.travellers': 'Кто едет',
'settings.apiScopes.bucket-list': 'Список желаний',
'settings.apiScopes.stats': 'Итоги',
'settings.apiKeys.title': 'Ключи API',
'settings.apiKeys.description':
'Ключи для публичного API, чтобы другие программы могли читать ваши поездки. Только чтение: ключ ничего не изменит и не удалит.',
'settings.apiKeys.create': 'Создать ключ',
'settings.apiKeys.empty': 'Ключей пока нет. Создайте один, чтобы подключить другую программу.',
'settings.apiKeys.createdAt': 'создан',
'settings.apiKeys.usedAt': 'последнее использование',
'settings.apiKeys.deleteTitle': 'Удалить ключ',
'settings.apiKeys.deleteMessage': 'Всё, что использует этот ключ, сразу перестанет работать. Отменить нельзя.',
'settings.apiKeys.deleted': 'Ключ удалён',
'settings.apiKeys.deleteFailed': 'Не удалось удалить ключ',
'settings.apiKeys.createFailed': 'Не удалось создать ключ',
'settings.apiKeys.copy': 'Копировать',
'settings.apiKeys.docsHint': 'Отправляйте ключ как "Authorization: Bearer ..." или "X-API-Key: ..." на /api/v1.',
'settings.apiKeys.endpoint': 'Эндпоинт',
'settings.apiKeys.neverUsed': 'не использовался',
'settings.apiKeys.loadFailed': 'Не удалось загрузить ключи. Обновите страницу, чтобы попробовать снова.',
'settings.apiKeys.limitReached':
'У вас {count} ключа, это максимум для одного аккаунта. Удалите ненужный ключ, чтобы создать новый.',
'settings.apiKeys.limitReached.one':
'У вас {count} ключ, это максимум для одного аккаунта. Удалите ненужный ключ, чтобы создать новый.',
'settings.apiKeys.limitReached.few':
'У вас {count} ключа, это максимум для одного аккаунта. Удалите ненужный ключ, чтобы создать новый.',
'settings.apiKeys.limitReached.many':
'У вас {count} ключей, это максимум для одного аккаунта. Удалите ненужный ключ, чтобы создать новый.',
'settings.apiKeys.copyFailed': 'Не удалось скопировать. Выделите текст и скопируйте его вручную.',
'settings.apiKeys.modal.createTitle': 'Создать ключ API',
'settings.apiKeys.modal.name': 'Название',
'settings.apiKeys.modal.namePlaceholder': 'например, Домашняя панель',
'settings.apiKeys.modal.nameHint': 'Только для вас, чтобы позже узнать ключ.',
'settings.apiKeys.modal.creating': 'Создание...',
'settings.apiKeys.modal.create': 'Создать',
'settings.apiKeys.modal.createdTitle': 'Ключ API создан',
'settings.apiKeys.modal.createdWarning':
'Скопируйте ключ сейчас. Он показывается один раз, позже получить его нельзя.',
'settings.apiKeys.modal.done': 'Готово',
'settings.mcp.deprecated': 'Устарело',
'settings.offline.cache.dateRange': 'с {start} по {end}',
};
export default settings;