Files
TREK/shared/src/i18n/ru/settings.ts
T

579 lines
50 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.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.blurBookingCodes': 'Скрыть коды бронирования',
'settings.aiAlwaysRetry': 'Always retry booking imports with AI',
'settings.aiAlwaysRetryHint': 'When a file cannot be read by the standard parser, automatically retry it with AI.',
'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.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 helps you organize your trips from the first idea to the last memory. Day planning, budget, packing lists, photos and much more — all in one place.',
'settings.about.sourceTitle': 'Source code',
'settings.about.sourceHint': 'TREK is open source, licensed 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': 'No Return Ticket',
'settings.about.supporter.tier.lostLuggageVip': 'Lost Luggage VIP',
'settings.about.supporter.tier.businessClassDreamer': 'Business Class Dreamer',
'settings.about.supporter.tier.budgetTraveller': 'Budget Traveller',
'settings.about.supporter.tier.hostelBunkmate': 'Hostel Bunkmate',
'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.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.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.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.currency': 'Валюта отображения',
'settings.currencyHint':
'Суммы в разделе «Расходы» отображаются в этой валюте только для просмотра — исходные суммы не изменяются.',
'settings.currencyTrip': 'Валюта поездки',
'settings.passkey.title': 'Passkeys',
'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': 'Passkey',
'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.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':
'Для моделей с поддержкой изображений — отправляет исходный PDF вместо извлечённого текста.',
'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.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.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.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.syncing': 'Синхронизация {count}…',
'settings.offline.banner.failed': 'Не удалось синхронизировать: {count}',
'settings.offline.banner.conflicts': 'Конфликты: {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)
'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.modal.createTitle': 'Создать ключ API',
'settings.apiKeys.modal.name': 'Название',
'settings.apiKeys.modal.namePlaceholder': 'например, Dawarich',
'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': 'Готово',
};
export default settings;