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': 'Замените на API-токен из списка ниже. Путь к npx может потребовать настройки для вашей системы (например, C:\\PROGRA~1\\nodejs\\npx.cmd в Windows).', 'settings.mcp.clientConfigHintOAuth': 'Замените и на учётные данные из созданного выше клиента 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;