mirror of
https://github.com/Termix-SSH/Termix.git
synced 2026-10-30 23:25:24 +00:00
* feat: let the login page send the token back to the mobile app * feat: add host-scripts entry to the plugin sdk * feat: let plugins say how they show in the mobile app * feat: frame host for running one plugin view outside the shell * fix: build the SDK host modules in production mode * chore: note the SDK host build fix in the changelog * feat: list plugin engine ranges for the mobile app * feat: host color and icon columns that sync * chore: update translations and plugin pins * fix: test * fix: show source address when rejecting proxy auth * fix: deleting your own account removes all of its data * fix(deps): update body-parser to 2.4.0 (#1736) * fix: body-parser 보안 패치 반영 * chore: 자동 검사를 막던 기존 JSON 서식 정리 --------- Co-authored-by: renovys <180682734+renovys@users.noreply.github.com> * fix(sdk): decode command output as GBK when it is not valid UTF-8 (#1735) * fix: honor shared credentials on shared hosts (#1730) * fix: honor shared credentials on shared hosts and in personal SSH auth * fix: snapshot shared SSH auth from a credential shared with the host owner * fix: size DataView list columns by the table's own width (#1713) * fix: size DataView list columns by the table's own width The list grid was built from every column, so columns hidden below md/lg left empty tracks and the visible cells landed under the wrong headers. Each width now gets a template of only its visible columns (CSS variables + container queries on the table, so a narrow panel counts, not the window), the header uses the same gap as the rows, and rows use a minimum height so wrapped cells no longer overlap. * test: wait for the title bar offset effect before asserting The bar shows once getTitleBarVisible resolves, but --termix-titlebar-height is set in a later passive effect, so reading it right after findByText raced (3-5 of 40 runs under load, on main too). * chore: rerun CI against dev-26.10.6 * fix: unlock passphrase keys once per connect burst (#1737) * feat: give ssh transports the host origin and sync id (#1717) * fix: wake other clients after a sync push (Plugin-Sync#1) * feat: look up local row ids by sync id for the sync plugin (Plugin-Sync#4) * feat: rail items can show a status dot (Plugin-Sync#5) * fix: add the desktop shared copy banner text (#1709) * feat: sidebar preference for alternating rows (#1712) * fix: striped rows text * feat: shell can open a saved host's editor for plugins (Plugin-SSH-Terminal#36) * fix: show the logo in the macos menu bar (#1728) * fix: number shortcuts skip the home tab (#1724) * fix: show plugins that could not be downloaded as failed (#1714) * fix: pass the host id as text when opening its editor * fix: retry a plugin bundle that was not ready yet (#1708) * fix: let commonjs plugins fall back to core packages on the desktop * fix: let non docker installs switch nginx to https (#1711) * feat: remove a folder share from its hosts too (#1719) * chore: changelog for merged pull requests * fix: accept the release .sig when installing a plugin from a file * feat: folder logins for shared hosts, read only plugin sync, full desktop builds * fix: test * fix: stop dev runner restart loops and narrow plugin watchers * chore: update translations and plugin pins * chore: lint, format, and bump version to 26.10.6 --------- Co-authored-by: renovys <renovy@gmail.com> Co-authored-by: renovys <180682734+renovys@users.noreply.github.com> Co-authored-by: Sebastian Cao <cycsmail@gmail.com> Co-authored-by: Jonathan Rehuel Lewerissa <jonathan.rehuel16@gmail.com> Co-authored-by: Rhiz3K <33246262+Rhiz3K@users.noreply.github.com>
1776 lines
132 KiB
JSON
1776 lines
132 KiB
JSON
{
|
||
"connection": {
|
||
"retryingIn": "Повторная попытка через {{seconds}} с ({{attempt}}/{{max}})",
|
||
"retryingNow": "Повторная попытка... ({{attempt}}/{{max}})",
|
||
"reconnect": "Переподключиться",
|
||
"close": "Закрыть",
|
||
"failed": "Не удалось подключиться",
|
||
"failedRetrying": "Ошибка подключения, повторная попытка",
|
||
"retryNow": "Повторить сейчас"
|
||
},
|
||
"credentials": {
|
||
"folders": "Папки",
|
||
"folder": "Папка",
|
||
"password": "Пароль",
|
||
"key": "Ключ",
|
||
"sshPrivateKey": "Закрытый SSH-ключ",
|
||
"upload": "Загрузить",
|
||
"keyPassword": "Пароль ключа",
|
||
"sshKey": "SSH-ключ",
|
||
"uploadPrivateKeyFile": "Загрузить файл закрытого ключа",
|
||
"searchCredentials": "Поиск учётных данных...",
|
||
"addCredential": "Добавить учётные данные",
|
||
"caCertificate": "Сертификат УЦ (-cert.pub)",
|
||
"caCertificateDescription": "Необязательно: загрузите или вставьте файл сертификата, подписанного УЦ (например, id_ed25519-cert.pub). Требуется, если ваш SSH-сервер использует авторизацию на основе сертификатов.",
|
||
"uploadCertFile": "Загрузить файл -cert.pub",
|
||
"clearCert": "Очистить",
|
||
"certLoaded": "Сертификат загружен",
|
||
"certPublicKeyLabel": "Сертификат УЦ",
|
||
"certTypeLabel": "Тип сертификата",
|
||
"pasteOrUploadCert": "Вставьте или загрузите сертификат -cert.pub...",
|
||
"hasCaCert": "Есть сертификат УЦ",
|
||
"noCaCert": "Нет сертификата УЦ",
|
||
"noPublicKeyAvailable": "Открытый ключ недоступен. Сначала откройте редактор учётных данных.",
|
||
"deployCommandCopied": "Команда развёртывания скопирована",
|
||
"sortCredentials": "Сортировка учётных данных",
|
||
"sortDefault": "По умолчанию",
|
||
"sortNameAsc": "Имя (А → Я)",
|
||
"sortNameDesc": "Имя (Я → А)",
|
||
"sortUsernameAsc": "Имя пользователя (А → Я)",
|
||
"sortUsernameDesc": "Имя пользователя (Я → А)",
|
||
"filterCredentials": "Фильтр учётных данных",
|
||
"filterClearAll": "Очистить фильтры",
|
||
"filterTypeGroup": "Тип",
|
||
"filterTypePassword": "Пароль",
|
||
"filterTypeKey": "SSH-ключ",
|
||
"filterTagsGroup": "Метки",
|
||
"copyDeployCommand": "Скопировать команду развёртывания",
|
||
"cloneCredentialAction": "Клонировать учётные данные",
|
||
"clonedCredential": "Клонировано: {{name}}",
|
||
"clonedCredentialName": "{{name}} (копия)",
|
||
"shareCredentialAction": "Поделиться учётными данными",
|
||
"sharedBadge": "общий доступ",
|
||
"sharedBy": "Доступ предоставлен пользователем {{owner}}",
|
||
"share": {
|
||
"title": "Поделиться «{{name}}»",
|
||
"description": "Получатели получат собственное зашифрованное копие секретов. Оно обновляется при изменении учётных данных и удаляется при отзыве доступа.",
|
||
"levelUse": "Использование",
|
||
"levelManage": "Управление",
|
||
"levelUseDesc": "Использование: привязать учётные данные к хостам и подключаться. Сами секреты остаются скрытыми.",
|
||
"levelManageDesc": "Управление: также редактировать учётные данные и предоставлять к ним доступ другим.",
|
||
"noAccessEntries": "Эти учётные данные ещё не были переданы другим",
|
||
"accessRevoked": "Доступ отозван",
|
||
"shared": "Доступ к учётным данным предоставлен"
|
||
},
|
||
"deleteCredentialAction": "Удалить учётные данные",
|
||
"editCredentialAction": "Редактировать учётные данные",
|
||
"failedToCloneCredential": "Не удалось клонировать учётные данные",
|
||
"failedToDeleteCredential": "Не удалось удалить учётные данные",
|
||
"keyBadge": "КЛЮЧ",
|
||
"passwordBadge": "ПАР.",
|
||
"renameFolder": "Переименовать папку",
|
||
"deleteFolder": "Удалить папку",
|
||
"deleteCredentialConfirm": "Удалить учётные данные «{{name}}»?",
|
||
"deletedCredential": "Удалено: {{name}}",
|
||
"deploySSHKeyTitle": "Развернуть ключ на хосте",
|
||
"loadingCredentials": "Загрузка учётных данных...",
|
||
"noCredentialsFound": "Учётные данные не найдены",
|
||
"noCredentialsMatchSearch": "Нет учётных данных, соответствующих поиску",
|
||
"addCredentialBtn": "Добавить учётные данные",
|
||
"failedToReorder": "Не удалось изменить порядок учётных данных",
|
||
"failedToMoveCredential": "Не удалось переместить учётные данные",
|
||
"sortManual": "Вручную (перетаскивание для сортировки)",
|
||
"customizeSidebar": "Настроить боковую панель",
|
||
"customizeSidebarDescription": "Выберите внешний вид и поведение списка учётных данных.",
|
||
"customizeDensityTitle": "Плотность",
|
||
"densityComfortableDesc": "По одному элементу в строке с подробной информацией.",
|
||
"densityCompactDesc": "По одной строке на элемент для длинных списков.",
|
||
"displayDensityComfortable": "Комфортная",
|
||
"displayDensityCompact": "Компактная",
|
||
"customizeBehaviorTitle": "Поведение",
|
||
"showCredentialTags": "Показывать метки",
|
||
"showCredentialTagsDesc": "Отображать метки в списке учётных данных",
|
||
"rowDetailsTitle": "Детали строки",
|
||
"rowDetailsDesc": "Выберите, что отображать для каждого элемента.",
|
||
"showUsername": "Имя пользователя",
|
||
"showUsernameDesc": "Показывать имя пользователя под названием учётных данных.",
|
||
"showUsageCount": "Количество хостов",
|
||
"showUsageCountDesc": "Показывать, на скольких хостах используются учётные данные.",
|
||
"showTypeBadge": "Значок типа",
|
||
"showTypeBadgeDesc": "Показывать значок ключа или пароля.",
|
||
"showPinIcon": "Значок закрепления",
|
||
"showPinIconDesc": "Показывать значок рядом с закрепленными учётными данными.",
|
||
"showSharedBadge": "Значок общего доступа",
|
||
"showSharedBadgeDesc": "Показывать значок для учётных данных, которыми с вами поделились.",
|
||
"actionsVisibility": "Действия с учётными данными",
|
||
"actionsVisibilityDesc": "Когда отображаются кнопки подключения и управления для каждого элемента",
|
||
"actionsAlways": "Всегда видны",
|
||
"actionsOnly": "Только подключение, остальное по клику",
|
||
"actionsHover": "Показывать при наведении",
|
||
"actionsClick": "Показывать по клику",
|
||
"customizeSortHint": "Порядок сортировки настраивается в меню сортировки на панели инструментов.",
|
||
"expandActions": "Развернуть действия",
|
||
"collapseActions": "Свернуть действия",
|
||
"backToHosts": "Назад к хостам",
|
||
"backToCredentials": "Назад к учётным данным",
|
||
"searchCredentialsPlaceholder": "Поиск учётных данных…",
|
||
"deployDialogTitle": "Развернуть SSH-ключ",
|
||
"deployDialogDesc": "Развернуть {{name}} в authorized_keys хоста.",
|
||
"targetHostLabel": "Целевой хост",
|
||
"selectHostOption": "Выберите хост...",
|
||
"deployingBtn": "Развертывание...",
|
||
"deployBtn": "Развернуть",
|
||
"keyDeployedSuccess": "Ключ успешно развернут",
|
||
"failedToDeployKey": "Не удалось развернуть ключ",
|
||
"folderRenamedTo": "Папка переименована в «{{name}}»",
|
||
"failedToRenameFolder": "Не удалось переименовать папку",
|
||
"arrangeUnlockedSwitchedToManual": "Переключено на ручной порядок сортировки, чтобы ваши изменения сохранились",
|
||
"arrangeUnlocked": "Разблокируйте перетаскивание для изменения порядка"
|
||
},
|
||
"versionCheck": {
|
||
"updateLinkLabel": "Доступно обновление. Открыть примечания к выпуску на GitHub"
|
||
},
|
||
"common": {
|
||
"scrollTabsLeft": "Прокрутить вкладки влево",
|
||
"scrollTabsRight": "Прокрутить вкладки вправо",
|
||
"close": "Закрыть",
|
||
"minimize": "Свернуть",
|
||
"online": "В сети",
|
||
"offline": "Не в сети",
|
||
"unknown": "Неизвестно",
|
||
"continue": "Продолжить",
|
||
"error": "Ошибка",
|
||
"unsavedChanges": "Несохранённые изменения",
|
||
"loading": "Загрузка...",
|
||
"host": "Хост",
|
||
"selectHost": "Выберите хост...",
|
||
"noHostConfigured": "Хосты не настроены",
|
||
"optional": "Необязательно",
|
||
"connect": "Подключиться",
|
||
"copied": "Скопировано",
|
||
"connecting": "Подключение...",
|
||
"openInNewTab": "Открыть в новой вкладке",
|
||
"cancel": "Отмена",
|
||
"username": "Имя пользователя",
|
||
"login": "Вход",
|
||
"register": "Регистрация",
|
||
"password": "Пароль",
|
||
"confirmPassword": "Подтвердите пароль",
|
||
"back": "Назад",
|
||
"save": "Сохранить",
|
||
"saving": "Сохранение...",
|
||
"delete": "Удалить",
|
||
"rename": "Переименовать",
|
||
"edit": "Изменить",
|
||
"confirm": "Подтвердить",
|
||
"refresh": "Обновить",
|
||
"language": "Язык",
|
||
"backendReconnected": "Соединение с сервером восстановлено",
|
||
"connectionDegraded": "Соединение с сервером потеряно, восстановление…",
|
||
"reload": "Перезагрузить",
|
||
"create": "Создать",
|
||
"copy": "Копировать",
|
||
"copyFailed": "Не удалось скопировать в буфер обмена",
|
||
"maximize": "Развернуть",
|
||
"restore": "Восстановить",
|
||
"remove": "Удалить",
|
||
"add": "Добавить",
|
||
"update": "Обновить",
|
||
"noResults": "Ничего не найдено",
|
||
"sidebar": "Боковая панель",
|
||
"mobileSidebarDescription": "Отображает мобильную боковую панель.",
|
||
"toggleSidebar": "Показать/скрыть боковую панель",
|
||
"search": "Поиск...",
|
||
"new": "Новый",
|
||
"docs": "Документация"
|
||
},
|
||
"onboarding": {
|
||
"stepCounter": "Шаг {{current}} из {{total}}",
|
||
"stageLabel": "Настройка Termix",
|
||
"setupHeading": "Настройте рабочее пространство",
|
||
"partialHeading": "Несколько новых настроек",
|
||
"signOut": "Выйти",
|
||
"skipPartial": "Не сейчас",
|
||
"skip": "Пропустить настройку",
|
||
"next": "Далее",
|
||
"finish": "Готово",
|
||
"pluginsTitle": "Выберите плагины",
|
||
"pluginsIntro": "Выберите плагины, которые хотите оставить. Рекомендуемые покрывают потребности большинства пользователей.",
|
||
"pluginsUpgradeNote": "Всё, что вы используете сейчас, останется без изменений. Отключите или удалите то, что вам не нужно.",
|
||
"pluginsRemoveNote": "Плагины, отмеченные как «Удалить», будут удалены с этого сервера вместе с их данными после нажатия «Далее». Вы сможете установить любой из них снова в любое время на вкладке «Плагины» (требуется подключение к интернету). Выберите «Выкл», чтобы оставить плагин установленным, но отключённым.",
|
||
"pluginsUseRecommended": "Рекомендуемые",
|
||
"pluginsEnableAll": "Включить все",
|
||
"pluginsDisableAll": "Выключить все",
|
||
"pluginsCounts": "{{enabled}} включено, {{disabled}} выключено, {{removed}} для удаления",
|
||
"pluginsRecommended": "Рекомендуемые",
|
||
"pluginsKeptBecause": "Оставлен, так как {{names}} требует его",
|
||
"pluginsChoice_enabled": "Вкл",
|
||
"pluginsChoice_disabled": "Выкл",
|
||
"pluginsChoice_remove": "Удалить",
|
||
"pluginsConsentTitle": "Помогите улучшить Termix",
|
||
"pluginsConsentNote": "Вы можете отключить это в любое время на вкладке «Плагины».",
|
||
"pluginsApplying": "Применение ваших выборов",
|
||
"pluginsSomeFailed": "Некоторые плагины не удалось изменить. Вы можете исправить это позже на вкладке «Плагины». Нажмите «Далее», чтобы продолжить.",
|
||
"pluginsApplyFailed": "Ваши выборы не удалось сохранить. Повторите попытку или продолжите и измените их позже на вкладке «Плагины».",
|
||
"pluginsLoadFailed": "Не удалось загрузить список плагинов. Вы сможете выбрать плагины позже на вкладке «Плагины».",
|
||
"securityTitle": "Защитите свой аккаунт",
|
||
"securityIntro": "Добавьте ключ доступа или приложение-аутентификатор к вашему аккаунту. Вы также можете сделать это позже в разделе «Безопасность» в Настройках.",
|
||
"pluginsDocsLink": "Подробнее о каждом"
|
||
},
|
||
"desktopUpdates": {
|
||
"modeAutomatic": "Автоматически",
|
||
"modePrompt": "Спрашивать",
|
||
"modeNever": "Никогда",
|
||
"automaticBody": "Скачивать новые версии в фоновом режиме и устанавливать их при перезапуске.",
|
||
"promptBody": "Уведомлять о выходе новой версии и позволять мне выбрать время для скачивания.",
|
||
"neverBody": "Не проверять наличие обновлений. Вы всё равно можете проверить их вручную в Настройках.",
|
||
"onboardingTitle": "Обновления приложения",
|
||
"onboardingBody": "Десктопное приложение теперь может обновляться самостоятельно. Выберите, как вы хотите получать новые версии. Это можно изменить позже в Настройках, раздел Обновления.",
|
||
"onboardingManual": "Эта копия приложения была установлена таким образом, что не может обновляться автоматически, поэтому Termix будет уведомлять вас о выходе новой версии со ссылкой для скачивания.",
|
||
"download": "Скачать",
|
||
"restart": "Перезапустить сейчас",
|
||
"later": "Позже",
|
||
"available": "Доступна Termix {{version}}",
|
||
"manualHint": "Скачайте её со страницы релизов и установите поверх текущей версии.",
|
||
"ready": "Termix {{version}} готова к установке",
|
||
"readyHint": "Она будет установлена при следующем перезапуске Termix."
|
||
},
|
||
"safeMode": {
|
||
"title": "Безопасный режим",
|
||
"description": "Работают только плагины макета и темы. Перезапустите сервер без флага TERMIX_SAFE_MODE, чтобы включить остальные плагины."
|
||
},
|
||
"companion": {
|
||
"close": "Закрыть панель",
|
||
"moveSide": "Переместить панель",
|
||
"resize": "Изменить размер панели"
|
||
},
|
||
"nav": {
|
||
"home": "Главная",
|
||
"terminal": "Терминал",
|
||
"close": "Закрыть",
|
||
"hostTabTitle": "{{username}}@{{ip}}:{{port}}",
|
||
"dashboard": "Панель управления",
|
||
"quickConnect": "Быстрое подключение",
|
||
"hosts": "Хосты",
|
||
"credentials": "Учётные данные",
|
||
"connections": "Подключения",
|
||
"reconnectDisconnectedTerminals": "Переподключить все отключённые терминалы",
|
||
"reconnectingTerminals_one": "Переподключение {{count}} терминала",
|
||
"reconnectingTerminals_few": "Переподключение {{count}} терминалов",
|
||
"reconnectingTerminals_many": "Переподключение {{count}} терминалов",
|
||
"reconnectingTerminals_other": "Переподключение {{count}} терминалов",
|
||
"noDisconnectedTerminals": "Нет отключённых терминалов, готовых к переподключению",
|
||
"reconnectTerminalsFailed_one": "Не удалось начать переподключение {{count}} терминала",
|
||
"reconnectTerminalsFailed_few": "Не удалось начать переподключение {{count}} терминалов",
|
||
"reconnectTerminalsFailed_many": "Не удалось начать переподключение {{count}} терминалов",
|
||
"reconnectTerminalsFailed_other": "Не удалось начать переподключение {{count}} терминалов",
|
||
"fullscreenUnsupported": "Полноэкранный режим не поддерживается этим браузером",
|
||
"fullscreenFailed": "Не удалось переключить полноэкранный режим",
|
||
"confirmCloseHost": "Закрыть {{host}}?",
|
||
"hiddenCount_one": "{{count}} скрыт",
|
||
"hiddenCount_few": "{{count}} скрыты",
|
||
"hiddenCount_many": "{{count}} скрыто",
|
||
"hiddenCount_other": "{{count}} скрыто",
|
||
"settings": "Настройки",
|
||
"manage": "Управление",
|
||
"plugins": "Плагины"
|
||
},
|
||
"hosts": {
|
||
"hosts": "Хосты",
|
||
"noHosts": "Нет SSH-хостов",
|
||
"retry": "Повторить",
|
||
"refresh": "Обновить",
|
||
"optional": "Необязательно",
|
||
"failedToDeleteHost": "Не удалось удалить {{name}}",
|
||
"connectionDetails": "Параметры подключения",
|
||
"ssh": "SSH",
|
||
"telnet": "Telnet",
|
||
"port": "Порт",
|
||
"username": "Имя пользователя",
|
||
"folder": "Папка",
|
||
"tags": "Теги",
|
||
"pin": "Закрепить",
|
||
"addHost": "Добавить хост",
|
||
"editHost": "Редактировать хост",
|
||
"cloneHost": "Клонировать хост",
|
||
"defaultPath": "Путь по умолчанию",
|
||
"connection": "Подключение",
|
||
"upload": "Загрузить",
|
||
"authentication": "Аутентификация",
|
||
"password": "Пароль",
|
||
"passwordSaved": "Пароль сохранён, введите новый для изменения",
|
||
"key": "Ключ",
|
||
"credential": "Учётные данные",
|
||
"sshPrivateKey": "Закрытый ключ SSH",
|
||
"keyType": "Тип ключа",
|
||
"uploadFile": "Загрузить файл",
|
||
"tabGeneral": "Общие",
|
||
"tabSsh": "SSH",
|
||
"tabStats": "Метрики хоста",
|
||
"tabSharing": "Общий доступ",
|
||
"tabAuthentication": "Аутентификация",
|
||
"terminal": "Терминал",
|
||
"tunnel": "Туннель",
|
||
"serverStats": "Метрики хоста",
|
||
"status": {
|
||
"online": "В сети",
|
||
"offline": "Не в сети",
|
||
"checking": "Проверка",
|
||
"monitoringDisabled": "Проверка статуса отключена",
|
||
"label": "Статус"
|
||
},
|
||
"folderRenamed": "Папка «{{oldName}}» успешно переименована в «{{newName}}»",
|
||
"failedToRenameFolder": "Не удалось переименовать папку",
|
||
"unsavedChangesDescription": "Изменения хоста не сохранены. Отменить их?",
|
||
"keepEditing": "Продолжить редактирование",
|
||
"discardChanges": "Отменить изменения",
|
||
"movedToFolder_one": "Перемещён {{count}} хост в «{{folder}}»",
|
||
"movedToFolder_few": "Перемещено {{count}} хоста в «{{folder}}»",
|
||
"movedToFolder_many": "Перемещено {{count}} хостов в «{{folder}}»",
|
||
"movedToFolder_other": "Перемещено {{count}} хоста в «{{folder}}»",
|
||
"editHostTooltip": "Редактировать хост",
|
||
"behavior": "Поведение",
|
||
"scrollbackBuffer": "Буфер прокрутки",
|
||
"sshAgentForwarding": "Перенаправление агента SSH",
|
||
"selectSnippet": "Выбрать сниппет",
|
||
"forceKeyboardInteractive": "Принудительно использовать Keyboard-Interactive",
|
||
"overrideCredentialUsername": "Переопределить имя пользователя учётных данных",
|
||
"overrideCredentialUsernameDesc": "Использовать указанное выше имя пользователя вместо имени из учётных данных",
|
||
"externalUsernameHint": "Используйте $external.username, чтобы подставить имя, с которым вы вошли через SSO или LDAP.",
|
||
"jumpHostChain": "Цепочка промежуточных хостов",
|
||
"portKnocking": "Port Knocking",
|
||
"addKnock": "Добавить порт",
|
||
"addProxyNode": "Добавить узел",
|
||
"proxyNode": "Прокси-узел",
|
||
"proxyType": "Тип прокси",
|
||
"sudoPassword": "Пароль sudo",
|
||
"keepaliveInterval": "Интервал keepalive (мс)",
|
||
"environmentVariables": "Переменные окружения",
|
||
"addVariable": "Добавить переменную",
|
||
"docker": "Docker",
|
||
"failedToConnect": "Не удалось подключиться к консоли",
|
||
"connect": "Подключиться",
|
||
"disconnect": "Отключиться",
|
||
"start": "Запустить",
|
||
"enableStatusCheck": "Включить проверку статуса",
|
||
"enableMetrics": "Включить метрики",
|
||
"bulkUpdateFailed": "Массовое обновление не выполнено",
|
||
"selectAll": "Выбрать все",
|
||
"deselectAll": "Снять выделение",
|
||
"protocols": "Протоколы",
|
||
"secureShell": "Secure Shell",
|
||
"addressIp": "Адрес / IP",
|
||
"friendlyName": "Отображаемое имя",
|
||
"folderAndAdvanced": "Папка и дополнительные",
|
||
"showAdvancedSettings": "Показать дополнительные настройки",
|
||
"hideAdvancedSettings": "Скрыть расширенные настройки",
|
||
"privateNotes": "Приватные заметки",
|
||
"privateNotesPlaceholder": "Подробности о сервере...",
|
||
"pinToTop": "Закрепить вверху",
|
||
"pinToTopDesc": "Всегда показывать этот хост вверху списка",
|
||
"portKnockingSequence": "Последовательность Port Knocking",
|
||
"addKnockBtn": "Добавить стук",
|
||
"noPortKnocking": "Port Knocking не настроен.",
|
||
"knockPort": "Порт для стука",
|
||
"protocol": "Протокол",
|
||
"delayAfterMs": "Задержка после (мс)",
|
||
"useSocks5Proxy": "Использовать прокси SOCKS5",
|
||
"useSocks5ProxyDesc": "Направлять соединение через прокси-сервер",
|
||
"connectionOrigin": "Источник соединения",
|
||
"connectionOriginDesc": "Откуда исходит соединение с этим хостом. Переопределяет глобальное значение по умолчанию в приложении.",
|
||
"connectionOriginDefault": "По умолчанию",
|
||
"connectionOriginLocal": "Это устройство (локальная сеть)",
|
||
"connectionOriginRemote": "Удалённый сервер",
|
||
"proxyHost": "Хост прокси",
|
||
"proxyPort": "Порт прокси",
|
||
"proxyUsername": "Имя пользователя прокси",
|
||
"proxyPassword": "Пароль прокси",
|
||
"proxySingleMode": "Одиночный прокси",
|
||
"proxyChainMode": "Цепочка прокси",
|
||
"you": "Вы",
|
||
"jumpHostChainLabel": "Цепочка Jump Host",
|
||
"addJumpBtn": "Добавить Jump",
|
||
"noJumpHosts": "Jump Host не настроены.",
|
||
"selectAServer": "Выберите сервер...",
|
||
"sshPort": "Порт SSH",
|
||
"authMethod": "Метод аутентификации",
|
||
"authenticationMethod": "Метод аутентификации",
|
||
"authenticationMethodDesc": "Выберите один метод, который Termix будет использовать для аутентификации этого SSH-соединения. Другие методы не будут пробоваться автоматически.",
|
||
"storedCredential": "Сохранённые учётные данные",
|
||
"selectACredential": "Выберите учётные данные...",
|
||
"keyTypeLabel": "Тип ключа",
|
||
"keyTypeAuto": "Автоопределение",
|
||
"keyPasteTab": "Вставить",
|
||
"keyUploadTab": "Загрузить",
|
||
"keyFileLoaded": "Файл ключа загружен",
|
||
"keyUploadClick": "Нажмите, чтобы загрузить .pem / .key / .ppk",
|
||
"clearKey": "Очистить ключ",
|
||
"keySaved": "SSH-ключ сохранён",
|
||
"keyReplaceNotice": "вставьте новый ключ ниже, чтобы заменить его",
|
||
"keyPassphraseSaved": "Парольная фраза сохранена, введите для изменения",
|
||
"replaceKey": "Заменить ключ",
|
||
"docsLink": "Просмотреть документацию",
|
||
"agentLabel": "SSH Agent",
|
||
"agentDesc": "Аутентификация с помощью SSH-агента, запущенного на сервере Termix (Bitwarden, 1Password, gpg-agent, KeeAgent, ssh-agent). Агент должен быть запущен на машине, где размещён Termix.",
|
||
"agentAuthenticationDesc": "Используйте ключи из SSH-агента для аутентификации этого соединения. Оставьте путь к сокету пустым, чтобы использовать SSH_AUTH_SOCK.",
|
||
"agentSocketPathLabel": "Путь к сокету агента",
|
||
"agentSocketPathPlaceholder": "Оставьте пустым, чтобы использовать SSH_AUTH_SOCK",
|
||
"agentSocketPathHint": "Оставьте пустым для автоопределения из переменной окружения SSH_AUTH_SOCK или введите пользовательский путь к сокету (например, /run/user/1000/gnupg/S.gpg-agent.ssh).",
|
||
"agentIdentityLabel": "Идентификатор агента (открытый ключ)",
|
||
"agentIdentityPlaceholder": "Оставьте пустым, чтобы попробовать все ключи из агента",
|
||
"agentIdentityHint": "Вставьте открытый ключ (например, ssh-ed25519 AAAA...), чтобы предлагать только этот ключ из агента. Рекомендуется, если в агенте много ключей, чтобы избежать превышения MaxAuthTries сервера.",
|
||
"shareSshAuthLabel": "Поделиться SSH-аутентификацией",
|
||
"shareSshAuthDesc": "Предоставьте получателям зашифрованные копии SSH-аутентификации этого хоста. Личные учётные данные получателя всё равно имеют приоритет.",
|
||
"forceKeyboardInteractiveLabel": "Принудительно использовать Keyboard Interactive",
|
||
"forceKeyboardInteractiveShortDesc": "Принудительно требовать ручной ввод пароля, даже если ключи присутствуют",
|
||
"allowLegacyAlgorithmsLabel": "Разрешить устаревшие алгоритмы",
|
||
"allowLegacyAlgorithmsDesc": "Включить устаревшие SSH-алгоритмы (ssh-dss, ssh-rsa, diffie-hellman-group1-sha1, hmac-md5, 3des-cbc) для подключения к старым устройствам, которые невозможно обновить.",
|
||
"insecure": "Небезопасно",
|
||
"syntaxHighlightingCategories": "Категории подсветки",
|
||
"syntaxHighlightingCategoriesDesc": "Выберите типы содержимого для подсветки",
|
||
"sshAgentForwardingLabel": "Переадресация SSH-агента",
|
||
"sshAgentForwardingShortDesc": "Разрешить этому удалённому хосту использовать ваш локальный SSH-агент для дальнейших подключений. Это не требуется для аутентификации через агент.",
|
||
"sudoPasswordAutoFillShortDesc": "Автоматически вводить пароль sudo при запросе",
|
||
"sudoPasswordLabel": "Пароль sudo",
|
||
"sudoPasswordSaved": "Пароль сохранён, введите новый для изменения",
|
||
"environmentVariablesLabel": "Переменные окружения",
|
||
"addVariableBtn": "Добавить переменную",
|
||
"noEnvVars": "Переменные окружения не настроены.",
|
||
"keepaliveIntervalLabel": "Интервал keepalive (секунды)",
|
||
"maxKeepaliveMisses": "Макс. пропущенных keepalive",
|
||
"sameHost": "Этот хост (прямой туннель)",
|
||
"statusChecksLabel": "Проверки состояния",
|
||
"enableStatusChecks": "Включить проверки состояния",
|
||
"enableStatusChecksDesc": "Проверять доступность хоста. Активные сеансы пропускают дополнительные проверки. SSH-проверки без активного сеанса могут активировать агрессивные правила Fail2Ban; отключите проверки состояния на таких хостах.",
|
||
"useGlobalInterval": "Использовать глобальный интервал",
|
||
"useGlobalIntervalDesc": "Переопределить интервалом проверок состояния на уровне сервера",
|
||
"checkIntervalS": "Интервал проверки (с)",
|
||
"checkIntervalDesc": "Секунды между каждым ping-запросом",
|
||
"cpuUsageLabel": "Использование CPU",
|
||
"cpuUsageDesc": "Процент CPU, средняя нагрузка, график sparkline",
|
||
"memoryLabel": "Использование памяти",
|
||
"memoryDesc": "Использование RAM, swap, кэш",
|
||
"storageLabel": "Использование диска",
|
||
"storageDesc": "Использование диска по точкам монтирования",
|
||
"networkLabel": "Сетевые интерфейсы",
|
||
"networkDesc": "Список интерфейсов и пропускная способность",
|
||
"uptimeLabel": "Время работы",
|
||
"uptimeDesc": "Время работы системы и время загрузки",
|
||
"systemInfoLabel": "Сведения о системе",
|
||
"systemInfoDesc": "ОС, ядро, имя хоста, архитектура",
|
||
"recentLoginsLabel": "Последние входы",
|
||
"recentLoginsDesc": "Успешные и неудачные попытки входа",
|
||
"topProcessesLabel": "Основные процессы",
|
||
"topProcessesDesc": "PID, CPU%, MEM%, команда",
|
||
"listeningPortsLabel": "Прослушиваемые порты",
|
||
"listeningPortsDesc": "Открытые порты с процессом и состоянием",
|
||
"firewallLabel": "Файрвол",
|
||
"firewallDesc": "Состояние файрвола, AppArmor, SELinux",
|
||
"hostSharedSuccessfully": "Хост успешно передан",
|
||
"failedToShareHost": "Не удалось передать хост",
|
||
"accessRevoked": "Доступ отозван",
|
||
"failedToRevokeAccess": "Не удалось отозвать доступ",
|
||
"cancelBtn": "Отмена",
|
||
"savingBtn": "Сохранение...",
|
||
"addHostBtn": "Добавить хост",
|
||
"hostUpdated": "Хост обновлён",
|
||
"hostCreated": "Хост создан",
|
||
"failedToSave": "Не удалось сохранить хост",
|
||
"credentialUpdated": "Учётные данные обновлены",
|
||
"credentialCreated": "Учётные данные созданы",
|
||
"failedToSaveCredential": "Не удалось сохранить учётные данные",
|
||
"credentialNameRequired": "Введите имя для учётных данных",
|
||
"credentialAuthRequired": "Добавьте пароль, SSH-ключ или оба",
|
||
"createCredentialFromHostBtn": "Создать учётные данные",
|
||
"createCredentialFromHostTitle": "Создать учётные данные из хоста",
|
||
"createCredentialFromHostDesc": "Создайте многоразовую учетную запись с общими данными, заполненную текущим именем пользователя, паролем и/или SSH-ключом этого хоста.",
|
||
"backToHosts": "Назад к хостам",
|
||
"pinned": "Закреплено",
|
||
"noHostsFound": "Хосты не найдены",
|
||
"tryDifferentTerm": "Попробуйте другой запрос",
|
||
"addFirstHost": "Добавьте свой первый хост, чтобы начать работу",
|
||
"noCredentialsFound": "Учетные данные не найдены",
|
||
"addCredentialBtn": "Добавить учетные данные",
|
||
"updateCredentialBtn": "Обновить учетные данные",
|
||
"editCredentialAction": "Редактировать учетные данные",
|
||
"backToHost": "Назад к хосту",
|
||
"saveCredentialAsNewBtn": "Сохранить как новый",
|
||
"saveCredentialAsNewDesc": "Создает новые учетные данные с этими изменениями и назначает их этому хосту. Исходные учетные данные остаются без изменений.",
|
||
"credentialSavedAsNew": "Сохранено как новые учетные данные",
|
||
"failedToSaveCredentialAsNew": "Не удалось сохранить как новые учетные данные",
|
||
"features": "Возможности",
|
||
"noFolder": "(Без папки)",
|
||
"deleteSelected": "Удалить",
|
||
"exitSelection": "Отменить выделение",
|
||
"collapseBtn": "Свернуть",
|
||
"hostStatusesRefreshed": "Статусы хостов обновлены",
|
||
"failedToRefreshHosts": "Не удалось обновить хосты",
|
||
"movedHostTo": "Хост {{host}} перемещен в «{{folder}}»",
|
||
"failedToMoveHost": "Не удалось переместить хост",
|
||
"deletedFolder": "Папка «{{name}}» удалена",
|
||
"failedToDeleteFolder": "Не удалось удалить папку",
|
||
"deleteAllInFolder": "Удалить все хосты в «{{name}}»? Это действие нельзя отменить.",
|
||
"folderPickerPlaceholder": "Без папки",
|
||
"folderPickerSearch": "Поиск или создание (используйте / для вложенных папок)...",
|
||
"folderPickerNone": "Без папки",
|
||
"folderPickerCreate": "Создать «{{path}}»",
|
||
"folderPickerEmpty": "Подходящих папок не найдено",
|
||
"parentHost": "Родительский хост",
|
||
"useFolderInstead": "Использовать вместо этого папку",
|
||
"useParentHostInstead": "Использовать вместо этого родительский хост",
|
||
"parentHostPickerPlaceholder": "Без родительского хоста",
|
||
"parentHostPickerSearch": "Поиск хостов...",
|
||
"parentHostPickerNone": "Без родительского хоста",
|
||
"parentHostPickerEmpty": "Подходящих хостов не найдено",
|
||
"collapseSubHosts": "Свернуть дочерние хосты",
|
||
"expandSubHosts": "Развернуть дочерние хосты",
|
||
"cannotNestUnderDescendant": "Нельзя вложить хост в свой собственный дочерний хост",
|
||
"movedToParent_one": "Перемещён {{count}} хост под «{{parent}}»",
|
||
"movedToParent_few": "Перемещено {{count}} хоста под «{{parent}}»",
|
||
"movedToParent_many": "Перемещено {{count}} хостов под «{{parent}}»",
|
||
"movedToParent_other": "Перемещено {{count}} хоста под «{{parent}}»",
|
||
"newFolder": "Новая папка",
|
||
"createFolderTitle": "Создать папку",
|
||
"editFolderTitle": "Редактировать папку",
|
||
"folderDialogDescription": "Выберите имя, цвет и значок. Используйте / для создания вложенных папок.",
|
||
"folderNameLabel": "Имя папки",
|
||
"folderNamePlaceholder": "напр. Production/Web",
|
||
"folderNestingHint": "Используйте / для разделения уровней и создания вложенных папок.",
|
||
"folderNameDuplicate": "Папка с таким именем уже существует здесь.",
|
||
"folderColor": "Цвет",
|
||
"folderIcon": "Значок",
|
||
"folderCredential": "Учетные данные",
|
||
"folderCredentialNone": "Учетные данные не назначены",
|
||
"folderCredentialHint": "Хосты в этой папке, использующие аутентификацию «Сохраненные учетные данные» без выбора собственных учетных данных, будут наследовать эти.",
|
||
"folderPreview": "Предпросмотр",
|
||
"folderNameFallback": "Безымянная папка",
|
||
"createFolderButton": "Создать папку",
|
||
"saveFolderButton": "Сохранить папку",
|
||
"cancel": "Отмена",
|
||
"iconSearchPlaceholder": "Поиск значков...",
|
||
"openAllSessions": "Открыть все сессии",
|
||
"editFolder": "Изменить папку",
|
||
"deleteFolder": "Удалить папку",
|
||
"selectFolder": "Выбрать все хосты в папке",
|
||
"deselectFolder": "Снять выделение со всех хостов в папке",
|
||
"folderSaved": "Папка сохранена",
|
||
"failedToSaveFolder": "Не удалось сохранить папку",
|
||
"folderDeleted": "Папка «{{name}}» удалена",
|
||
"deleteFolderConfirm_one": "Удалить «{{name}}» и его {{count}} хост? Это действие нельзя отменить.",
|
||
"deleteFolderConfirm_few": "Удалить «{{name}}» и его {{count}} хоста? Это действие нельзя отменить.",
|
||
"deleteFolderConfirm_many": "Удалить «{{name}}» и его {{count}} хостов? Это действие нельзя отменить.",
|
||
"deleteFolderConfirm_other": "Удалить «{{name}}» и его {{count}} хоста? Это действие нельзя отменить.",
|
||
"failedToMoveHosts": "Не удалось переместить хосты",
|
||
"managedBanner": "Этот хост управляется плагином {{plugin}}. Внесите изменения там. Вы всё ещё можете закрепить его и изменить порядок.",
|
||
"managedTooltip": "Управляется плагином {{plugin}}",
|
||
"addBlocked": "Хосты управляются плагином {{plugin}}, поэтому новые хосты нельзя добавить здесь.",
|
||
"failedToReorder": "Не удалось изменить порядок",
|
||
"expandAll": "Развернуть все папки",
|
||
"collapseAll": "Свернуть все папки",
|
||
"moreActions": "Ещё",
|
||
"groupBy": "Группировать по",
|
||
"GroupByFolder": "Папка",
|
||
"GroupByTag": "Метка",
|
||
"GroupByStatus": "Статус",
|
||
"GroupByProtocol": "Протокол",
|
||
"GroupByAuth": "Тип аутентификации",
|
||
"groupUngrouped": "Без группы",
|
||
"customizeSidebar": "Настроить боковую панель",
|
||
"customizeSidebarDescription": "Настройте внешний вид и поведение списка хостов.",
|
||
"customizeDensityTitle": "Плотность",
|
||
"customizeBehaviorTitle": "Поведение",
|
||
"connectBarTitle": "Панель подключения",
|
||
"connectBarDesc": "Выберите, какие действия отображаются в виде кнопок на хосте. Все действия остаются в меню хоста.",
|
||
"customizeSortHint": "Порядок сортировки и группировки настраиваются в меню сортировки и группировки на панели инструментов.",
|
||
"densityComfortableDesc": "Больше деталей для каждого хоста: адрес, метки и использование ресурсов.",
|
||
"densityCompactDesc": "Одна строка на хост, удобно для длинных списков.",
|
||
"display": "Отображение",
|
||
"displayDensity": "Плотность",
|
||
"displayDensityComfortable": "Комфортная",
|
||
"displayDensityCompact": "Компактная",
|
||
"displayShowTags": "Показывать метки",
|
||
"displayTrayOnClick": "Открывать действия по клику (вместо наведения)",
|
||
"actionsVisibility": "Отображение действий хоста",
|
||
"actionsVisibilityDesc": "Выберите, когда раскрываются действия хоста. Выберите «По клику», чтобы вернуть предыдущее поведение с раскрытием по клику.",
|
||
"actionsAlways": "Всегда видны",
|
||
"actionsOnly": "Только подключение, остальные по клику",
|
||
"actionsHover": "Показывать при наведении",
|
||
"actionsClick": "Раскрывать/сворачивать по клику",
|
||
"openOnDoubleClick": "Открывать по двойному клику",
|
||
"openOnDoubleClickDesc": "Требовать двойной клик для открытия сессии хоста вместо одинарного",
|
||
"closeOnOpen": "Скрыть боковую панель после открытия",
|
||
"closeOnOpenDesc": "Закрывать боковую панель после открытия хоста из неё",
|
||
"showFolderPaths": "Показывать пути к папкам",
|
||
"showFolderPathsDesc": "Показывать путь к родительской папке над вложенными подпапками. Подпапки остаются отступленными в любом случае.",
|
||
"stripedRows": "Чередующиеся цвета строк",
|
||
"stripedRowsDesc": "Затенять каждую вторую строку в списке хостов",
|
||
"rowDetailsTitle": "Детали строки",
|
||
"rowDetailsDesc": "Выберите, что отображается для каждого хоста.",
|
||
"showAddress": "Адрес",
|
||
"showAddressDesc": "Показывать адрес хоста под именем.",
|
||
"showUsername": "Имя пользователя",
|
||
"showUsernameDesc": "Показывать имя пользователя перед адресом.",
|
||
"showPort": "Порт",
|
||
"showPortDesc": "Показывать порт после адреса.",
|
||
"showPinIcon": "Значок закрепления",
|
||
"showPinIconDesc": "Показывать значок булавки рядом с закреплёнными хостами.",
|
||
"showSharedBadge": "Значок общего доступа",
|
||
"showSharedBadgeDesc": "Показывать значок на хостах, которыми с вами поделились.",
|
||
"showBadges": "Значки плагинов",
|
||
"showBadgesDesc": "Показывать значки, добавляемые плагинами рядом с именем хоста.",
|
||
"hostClickBehavior": "Клик по хосту",
|
||
"hostClickBehaviorDesc": "Что происходит при клике по хосту, у которого уже открыта вкладка. Ctrl/Cmd + клик, клик средней кнопкой мыши или «Открыть в новой вкладке» всегда открывают новую.",
|
||
"hostClickNewTab": "Всегда открывать новую вкладку",
|
||
"hostClickFocusExisting": "Переключиться на открытую вкладку",
|
||
"hostClickFocusExistingDoubleNew": "Клик для переключения, двойной клик для новой вкладки",
|
||
"openInNewTab": "Открыть в новой вкладке",
|
||
"deletedHost": "Удалён {{name}}",
|
||
"copiedToClipboard": "Скопировано в буфер обмена",
|
||
"remoteDesktopUrlCopied": "URL удалённого рабочего стола скопирован",
|
||
"expandActions": "Развернуть действия",
|
||
"collapseActions": "Свернуть действия",
|
||
"cloneHostAction": "Клонировать хост",
|
||
"copyAddress": "Копировать адрес",
|
||
"copyLink": "Копировать ссылку",
|
||
"deleteCredentialConfirm": "Удалить учётные данные «{{name}}»?",
|
||
"deletedCredential": "Удалены учётные данные «{{name}}»",
|
||
"deleteHostsConfirm_one": "Удалить {{count}} хост? Это действие нельзя отменить.",
|
||
"deleteHostsConfirm_few": "Удалить {{count}} хоста? Это действие нельзя отменить.",
|
||
"deleteHostsConfirm_many": "Удалить {{count}} хостов? Это действие нельзя отменить.",
|
||
"deleteHostsConfirm_other": "Удалить {{count}} хоста? Это действие нельзя отменить.",
|
||
"movedToRoot": "Перемещено в корень",
|
||
"addTagsPlaceholder": "Добавить теги...",
|
||
"authDetails": "Данные аутентификации",
|
||
"credType": "Тип",
|
||
"generateKeyPairDesc": "Сгенерировать новую пару ключей, приватный и публичный ключи будут заполнены автоматически.",
|
||
"generatingKey": "Генерация...",
|
||
"generateLabel": "Сгенерировать {{label}}",
|
||
"uploadFileBtn": "Загрузить файл",
|
||
"keyPassphraseOptional": "Парольная фраза ключа (необязательно)",
|
||
"sshPublicKeyOptional": "Публичный SSH-ключ (необязательно)",
|
||
"publicKeyGenerated": "Публичный ключ сгенерирован",
|
||
"failedToGeneratePublicKey": "Не удалось получить публичный ключ",
|
||
"publicKeyCopied": "Публичный ключ скопирован",
|
||
"keyPairGenerated": "Пара ключей {{label}} сгенерирована",
|
||
"failedToGenerateKeyPair": "Не удалось сгенерировать пару ключей",
|
||
"searchHostsPlaceholder": "Поиск хостов, адресов, тегов…",
|
||
"refreshBtn": "Обновить",
|
||
"addTag": "Добавить теги...",
|
||
"deleteConfirmBtn": "Удалить",
|
||
"deleteHostConfirm": "Удалить «{{name}}»?",
|
||
"enableAtLeastOneProtocol": "Включите хотя бы один протокол выше, чтобы настроить параметры аутентификации и подключения.",
|
||
"keyPassphrase": "Парольная фраза ключа",
|
||
"basicInformation": "Основная информация",
|
||
"authDetailsSection": "Данные аутентификации",
|
||
"credTypeLabel": "Тип",
|
||
"hostsTab": "Хосты",
|
||
"credentialsTab": "Учётные данные",
|
||
"selectMultiple": "Выбрать несколько",
|
||
"selectHosts": "Выбрать хосты",
|
||
"connectionLabel": "Подключение",
|
||
"authenticationLabel": "Аутентификация",
|
||
"generateKeyPairTitle": "Сгенерировать пару ключей",
|
||
"generateKeyPairDescription": "Сгенерировать новую пару ключей, приватный и публичный ключи будут заполнены автоматически.",
|
||
"generateFromPrivateKey": "Сгенерировать из приватного ключа",
|
||
"refreshBtn2": "Обновить",
|
||
"exitSelectionTitle": "Выйти из режима выбора",
|
||
"addHostBtn2": "Добавить хост",
|
||
"addCredentialBtn2": "Добавить учётные данные",
|
||
"checkingHostStatuses": "Проверка статусов хостов...",
|
||
"pinnedSection": "Закреплённые",
|
||
"sampleDownloaded": "Пример файла загружен",
|
||
"failedToDeleteCredential2": "Не удалось удалить учётные данные",
|
||
"noFolderOption": "(Без папки)",
|
||
"nSelected_one": "{{count}} выбран",
|
||
"nSelected_few": "{{count}} выбраны",
|
||
"nSelected_many": "{{count}} выбрано",
|
||
"nSelected_other": "{{count}} выбрано",
|
||
"featuresMenu": "Плагины",
|
||
"moveMenu": "Переместить",
|
||
"connectSelected": "Подключиться",
|
||
"cancelSelection": "Отмена",
|
||
"deletedCount_one": "Удалён {{count}} хост",
|
||
"deletedCount_few": "Удалено {{count}} хоста",
|
||
"deletedCount_many": "Удалено {{count}} хостов",
|
||
"deletedCount_other": "Удалено {{count}} хоста",
|
||
"failedToDeleteCount_one": "Не удалось удалить {{count}} хост",
|
||
"failedToDeleteCount_few": "Не удалось удалить {{count}} хоста",
|
||
"failedToDeleteCount_many": "Не удалось удалить {{count}} хостов",
|
||
"failedToDeleteCount_other": "Не удалось удалить {{count}} хоста",
|
||
"duplicatedHost": "Дубликат «{{name}}»",
|
||
"failedToDuplicateHost": "Не удалось дублировать хост",
|
||
"updatedCount_one": "Обновлён {{count}} хост",
|
||
"updatedCount_few": "Обновлено {{count}} хоста",
|
||
"updatedCount_many": "Обновлено {{count}} хостов",
|
||
"updatedCount_other": "Обновлено {{count}} хоста",
|
||
"friendlyNameLabel": "Отображаемое имя",
|
||
"descriptionLabel": "Описание",
|
||
"loadingHosts": "Загрузка хостов...",
|
||
"loadingCredentials": "Загрузка учётных данных...",
|
||
"noHostsYet": "Хостов пока нет",
|
||
"noHostsYetHint": "Добавьте сервер, чтобы открывать терминалы, просматривать файлы и видеть метрики.",
|
||
"noHostsMatchSearch": "Хосты, соответствующие поиску, не найдены",
|
||
"noHostSelected": "Выберите хост, чтобы открыть это.",
|
||
"searchHosts": "Поиск хостов...",
|
||
"sortHosts": "Сортировка хостов",
|
||
"sortDefault": "По умолчанию",
|
||
"sortNameAsc": "Имя (А → Я)",
|
||
"sortNameDesc": "Имя (Я → А)",
|
||
"sortIpAsc": "IP-адрес (по возрастанию)",
|
||
"sortIpDesc": "IP-адрес (по убыванию)",
|
||
"sortOnlineFirst": "Сначала онлайн",
|
||
"sortOfflineFirst": "Сначала офлайн",
|
||
"sortManual": "Вручную (перетаскивание для изменения порядка)",
|
||
"sortPinnedFirst": "Сначала закрепленные",
|
||
"filterHosts": "Фильтр хостов",
|
||
"filterClearAll": "Сбросить фильтры",
|
||
"filterStatusGroup": "Статус",
|
||
"filterOnline": "Онлайн",
|
||
"filterOffline": "Офлайн",
|
||
"filterPinned": "Закрепленные",
|
||
"filterAuthGroup": "Тип аутентификации",
|
||
"filterAuthPassword": "Пароль",
|
||
"filterAuthKey": "SSH-ключ",
|
||
"filterAuthCredential": "Учётные данные",
|
||
"filterAuthNone": "Нет",
|
||
"filterProtocolGroup": "Протокол",
|
||
"filterProtocolSsh": "SSH",
|
||
"filterTagsGroup": "Теги",
|
||
"editHostAction": "Редактировать хост",
|
||
"moreOptions": "Другие варианты",
|
||
"shareHost": "Поделиться хостом",
|
||
"shareHostTitle": "Поделиться: {{name}}",
|
||
"shareFolder": "Поделиться папкой",
|
||
"shareFolderTitle": "Поделиться папкой: {{name}}",
|
||
"folderSharedSuccessfully_one": "Поделен {{count}} хост в папке",
|
||
"folderSharedSuccessfully_few": "Поделено {{count}} хоста в папке",
|
||
"folderSharedSuccessfully_many": "Поделено {{count}} хостов в папке",
|
||
"folderSharedSuccessfully_other": "Поделено {{count}} хоста в папке",
|
||
"failedToShareFolder": "Не удалось поделиться папкой",
|
||
"sharing": {
|
||
"loadError": "Не удалось загрузить данные для общего доступа. Повторите попытку.",
|
||
"shareWithSection": "Предоставить доступ",
|
||
"usersTab": "Пользователи",
|
||
"rolesTab": "Роли",
|
||
"searchPlaceholder": "Поиск пользователей или ролей...",
|
||
"noMatches": "Ничего не найдено",
|
||
"permissionLevelLabel": "Уровень доступа",
|
||
"levels": {
|
||
"connect": {
|
||
"label": "Подключение",
|
||
"description": "Только открытие сессий: терминал, удалённый рабочий стол, файловый менеджер, туннели и Docker. Доступ к настройкам хоста отсутствует."
|
||
},
|
||
"view": {
|
||
"label": "Просмотр",
|
||
"description": "Подключение, а также просмотр настроек хоста. Секреты никогда не отображаются."
|
||
},
|
||
"edit": {
|
||
"label": "Редактирование",
|
||
"description": "Просмотр, а также изменение настроек хоста, кроме аутентификации. SSH-аутентификация владельца остаётся приватной и доступна только владельцу."
|
||
},
|
||
"manage": {
|
||
"label": "Управление",
|
||
"description": "Редактирование, а также возможность делиться хостом с другими, изменять уровни доступа и отзывать права."
|
||
}
|
||
},
|
||
"expiryLabel": "Срок действия доступа",
|
||
"expiry": {
|
||
"never": "Никогда",
|
||
"oneHour": "1 час",
|
||
"oneDay": "24 часа",
|
||
"sevenDays": "7 дней",
|
||
"thirtyDays": "30 дней",
|
||
"custom": "Свой срок"
|
||
},
|
||
"customHoursPlaceholder": "Часов до истечения доступа",
|
||
"shareButton": "Поделиться",
|
||
"shareWithCount": "Поделиться ({{count}})",
|
||
"currentAccess": "Текущий доступ",
|
||
"noAccessEntries": "Этот хост ещё не передан в общий доступ",
|
||
"folderRulesTitle": "Применяется к хостам, добавленным позже",
|
||
"folderRulesHint": "Эти правила остаются на папке: хост, созданный в ней или перемещённый в неё (или в подпапку), автоматически получает такой же доступ. Удаление правила лишь прекращает дальнейшее наследование.",
|
||
"folderRuleRemove": "Прекратить наследование",
|
||
"folderShareSummary": "Поделено {{shared}} из {{total}} хост(ов) в этой папке",
|
||
"grantedBy": "Предоставлено",
|
||
"expires": "Истекает",
|
||
"expired": "Истёк",
|
||
"never": "Никогда",
|
||
"revoke": "Отозвать",
|
||
"accessUpdated": "Доступ обновлён",
|
||
"accessUpdateFailed": "Не удалось обновить доступ",
|
||
"sharedBadge": "Общий доступ",
|
||
"sharedBadgeTooltip": "Доступ предоставлен пользователем {{owner}} (уровень: {{level}})",
|
||
"viewOnlyBanner": "Этот хост предоставлен вам пользователем {{owner}} с правами только для просмотра. Конфигурация доступна только для чтения.",
|
||
"folderRuleRemoveFromHosts": "Также удалить этот доступ у всех хостов в этой папке и её подпапках",
|
||
"sharedCopyBanner": "Этот хост был передан вам пользователем {{owner}}. На рабочем столе хранится копия только для чтения, поэтому вносите изменения на сервере, и они синхронизируются здесь.",
|
||
"sharedEditBanner": "Этот хост предоставлен вам пользователем {{owner}} с правами редактирования. Изменения применяются к реальному хосту; ссылки на аутентификацию может изменять только владелец.",
|
||
"ownerOnlyControl": "Это может изменить только владелец хоста",
|
||
"ownerAuthPrivate": "Данные SSH-аутентификации владельца хоста являются частными. Используйте пункт «Настроить личную SSH-аутентификацию» в меню хоста, чтобы выбрать свои учетные данные.",
|
||
"ownerAuthShared": "Владелец хоста предоставил общие данные SSH-аутентификации для этого хоста. Вы можете использовать их или выбрать свои учетные данные в пункте «Настроить личную SSH-аутентификацию».",
|
||
"authOverrideAction": "Настроить личную SSH-аутентификацию",
|
||
"authOverrideActionProtocol": "Настроить личную аутентификацию {{protocol}}",
|
||
"authOverrideTitle": "Личная SSH-аутентификация",
|
||
"authOverrideTitleProtocol": "Личная аутентификация {{protocol}}",
|
||
"authOverrideDescriptionPrivate": "Учетные данные SSH владельца хоста остаются частными. Выберите один из сохраненных вами учетных данных для подключения к {{host}}.",
|
||
"authOverrideDescriptionShared": "Используйте аутентификацию, предоставленную владельцем хоста, или замените её одним из сохраненных вами учетных данных для подключения к {{host}}.",
|
||
"authOverrideCredentialLabel": "Учетные данные для аутентификации",
|
||
"useSharedAuthentication": "Использовать общую аутентификацию хоста",
|
||
"noPersonalCredential": "Без личных учетных данных",
|
||
"authOverrideNoCredentials": "У вас пока нет сохраненных SSH-учетных данных. Создайте их в разделе «Учетные данные», чтобы подключаться к хостам, требующим аутентификацию.",
|
||
"authOverrideRequired": "Для подключения к этому хосту требуется один из ваших сохраненных учетных данных.",
|
||
"authOverridePrivateHint": "Эти учетные данные являются личными. Владелец хоста и другие получатели не могут их видеть или использовать.",
|
||
"authOverrideSaved": "Личная SSH-аутентификация сохранена",
|
||
"authOverrideCleared": "Личная SSH-аутентификация удалена",
|
||
"authOverrideClearedToShared": "Используется общая аутентификация хоста",
|
||
"authOverrideLoadError": "Не удалось загрузить ваши данные SSH-аутентификации. Повторите попытку.",
|
||
"authOverrideSaveError": "Не удалось сохранить ваши данные SSH-аутентификации"
|
||
},
|
||
"arrangeUnlockedSwitchedToManual": "Переключено на ручной порядок сортировки, чтобы сохранить ваше расположение",
|
||
"dragToRearrange": "Перетащите для изменения порядка",
|
||
"arrangeUnlocked": "Разблокировать перетаскивание для изменения порядка",
|
||
"webUiBindHostUnreachable": "Ваш браузер не может достичь адреса 127.0.0.1 на машине, где запущен Termix, поэтому этот конечный пункт не загрузится. Используйте адрес, на который отвечает эта машина, например 0.0.0.0.",
|
||
"webUiBindHostSharesSessionCookie": "Из этого браузера перенаправление будет доступно по тому же имени хоста, с которого обслуживается Termix, поэтому туннелированный сервис получит вашу сессию Termix. Куки игнорируют порт. Этот конечный пункт откажется открываться здесь; он работает в настольном приложении Termix или когда Termix открыт по адресу localhost.",
|
||
"webUiErrorLabelRequired": "Конечному пункту {{row}} требуется метка.",
|
||
"webUiErrorLabelDuplicate": "Каждый конечный пункт должен иметь уникальное имя.",
|
||
"webUiErrorPortRange": "Конечному пункту {{row}} требуется порт в диапазоне от 1 до 65535.",
|
||
"webUiErrorPathInvalid": "У конечного пункта {{row}} указан недействительный путь. Используйте путь вида /admin.",
|
||
"copyViewUrlAction": "Скопировать ссылку на {{name}}",
|
||
"filterAuthAgent": "SSH Agent",
|
||
"authTypeNeedsPlugin": "Этот хост использует {{type}}, для чего требуется {{plugin}}. Он отключен на этом сервере.",
|
||
"authTypeUnknown": "Этот хост использует {{type}}, который недоступен на этом сервере.",
|
||
"authFieldsAfterSave": "Сначала сохраните хост, затем заполните эти поля.",
|
||
"enablePluginFeature": "Включить {{name}}",
|
||
"disablePluginFeature": "Отключить {{name}}",
|
||
"filterFeaturesGroup": "Плагины",
|
||
"localOnly": "Хранить только на этом устройстве",
|
||
"localOnlyDesc": "Этот хост не отправляется на сервер и не отображается на ваших других устройствах.",
|
||
"folderLocalOnly": "Хранить только на этом устройстве",
|
||
"folderLocalOnlyDesc": "Эта папка и все хосты в ней остаются на этом устройстве и не отправляются на сервер.",
|
||
"sudoPasswordDesc": "Используется, когда терминал заполняет запрос sudo, а также плагинами, которые запускают команды с sudo.",
|
||
"editorCancel": "Отмена",
|
||
"editorSaving": "Сохранение...",
|
||
"editorUpdate": "Обновить хост",
|
||
"editorAdd": "Добавить хост",
|
||
"speedSearch": "Поиск хостов. Стрелки для выбора, Enter для подключения, Esc для закрытия",
|
||
"speedSearchList": "Список хостов. Введите текст или нажмите / для поиска."
|
||
},
|
||
"splitScreen": {
|
||
"title": "Разделённый экран",
|
||
"defaultLabel": "Разделение {{number}}",
|
||
"splitRight": "Разделить вправо",
|
||
"splitDown": "Разделить вниз",
|
||
"paneEmptyItem": "Панель {{index}}: пусто",
|
||
"paneItem": "Панель {{index}}: {{label}}",
|
||
"paneNumber": "Панель {{index}}",
|
||
"emptyTitle": "Пустая панель",
|
||
"emptyHint": "Выберите, что отобразить здесь. Пока эта панель выбрана, всё, что вы открываете из боковой панели, также откроется здесь.",
|
||
"openTabs": "Открытые вкладки",
|
||
"noOpenTabs": "Другие вкладки не открыты",
|
||
"hosts": "Хосты",
|
||
"searchHosts": "Поиск хостов",
|
||
"noHosts": "Подходящих хостов не найдено",
|
||
"newSession": "Новая",
|
||
"closePane": "Закрыть панель",
|
||
"closeSession": "Закрыть сессию",
|
||
"moveToTab": "Переместить в отдельную вкладку",
|
||
"swapWith": "Поменять местами с",
|
||
"showHere": "Показать в этой панели",
|
||
"clearPane": "Очистить эту панель",
|
||
"zoom": "Развернуть панель",
|
||
"unzoom": "Восстановить раскладку",
|
||
"layouts": "Раскладки",
|
||
"applyLayout": "Изменить раскладку",
|
||
"maxPanes_one": "Разделение может содержать до {{count}} панели",
|
||
"maxPanes_few": "Разделение может содержать до {{count}} панелей",
|
||
"maxPanes_many": "Разделение может содержать до {{count}} панелей",
|
||
"maxPanes_other": "Разделение может содержать до {{count}} панели",
|
||
"dropSplit": "Перетащите для разделения",
|
||
"dropHere": "Перетащите, чтобы показать здесь",
|
||
"paneActions": "Действия с панелью",
|
||
"dividerHint": "Перетащите для изменения размера. Дважды щёлкните, чтобы выровнять.",
|
||
"shortcuts": "Горячие клавиши",
|
||
"shortcutNavigate": "Перемещение между панелями",
|
||
"presets": {
|
||
"columns2": "Две рядом",
|
||
"rows2": "Две друг над другом",
|
||
"columns3": "Три рядом",
|
||
"mainLeft3": "Одна слева, две справа",
|
||
"mainBottom3": "Две сверху, одна снизу",
|
||
"grid4": "Сетка 2×2",
|
||
"grid5": "Три сверху, две снизу",
|
||
"grid6": "Сетка 2×3"
|
||
}
|
||
},
|
||
"sshAuth": {
|
||
"totpRequired": "Требуется двухфакторная аутентификация",
|
||
"totpCodeLabel": "Код подтверждения",
|
||
"totpVerify": "Подтвердить",
|
||
"mfaPromptRequired": "Требуется аутентификация",
|
||
"mfaPushRequired": "Требуется push-аутентификация",
|
||
"mfaMenuPlaceholder": "Введите ответ",
|
||
"mfaCodeOrPushPlaceholder": "Код или «push»",
|
||
"mfaWaitingApproval": "Ожидание подтверждения на вашем устройстве...",
|
||
"mfaSendRequest": "Отправить запрос",
|
||
"browserSignInCode": "Ключ безопасности",
|
||
"browserSignInUrl": "URL входа",
|
||
"browserSignInOpen": "Открыть в браузере",
|
||
"browserSignInContinue": "Я завершил вход",
|
||
"browserSignInRequired": "Требуется вход через {{provider}}",
|
||
"connectionLogTitle": "Журнал подключений",
|
||
"connectionLogCopy": "Копировать журнал в буфер обмена",
|
||
"connectionLogEmpty": "Журнал подключений пуст",
|
||
"connectionLogWaiting": "Ожидание журнала подключений...",
|
||
"connectionLogCopied": "Журнал подключений скопирован в буфер обмена",
|
||
"connectionLogCopyFailed": "Не удалось скопировать журнал в буфер обмена"
|
||
},
|
||
"cardGrid": {
|
||
"dragToMove": "Перетащите для перемещения",
|
||
"dragToResize": "Перетащите для изменения размера",
|
||
"changeWidth": "Изменить ширину",
|
||
"removeCard": "Удалить {{label}}",
|
||
"addCard": "Добавить",
|
||
"columns": "Столбцы",
|
||
"empty": "Нет карточек. Используйте кнопку «Добавить» ниже, чтобы добавить карточки."
|
||
},
|
||
"auth": {
|
||
"tagline": "Управление серверами с поддержкой плагинов и возможностью самостоятельного размещения.",
|
||
"loginTitle": "С возвращением",
|
||
"registerTitle": "Создать аккаунт",
|
||
"forgotPassword": "Забыли пароль?",
|
||
"rememberMe": "Запомнить устройство на 30 дней (включая TOTP)",
|
||
"noAccount": "Нет аккаунта?",
|
||
"hasAccount": "Уже есть аккаунт?",
|
||
"twoFactorAuth": "Двухфакторная аутентификация",
|
||
"enterCode": "Введите код подтверждения",
|
||
"redirectingToApp": "Перенаправление в приложение...",
|
||
"sshAuthenticationRequired": "Требуется аутентификация SSH",
|
||
"sshNoKeyboardInteractive": "Интерактивная клавиатурная аутентификация недоступна",
|
||
"sshAuthenticationFailed": "Ошибка аутентификации",
|
||
"sshAuthenticationTimeout": "Превышено время ожидания аутентификации",
|
||
"sshNoKeyboardInteractiveDescription": "Сервер не поддерживает интерактивную клавиатурную аутентификацию. Пожалуйста, введите пароль или укажите SSH-ключ.",
|
||
"sshAuthFailedDescription": "Указанные учетные данные неверны. Пожалуйста, попробуйте снова с правильными данными.",
|
||
"sshTimeoutDescription": "Превышено время ожидания попытки аутентификации. Пожалуйста, попробуйте снова.",
|
||
"sshProvideCredentialsDescription": "Пожалуйста, укажите учетные данные SSH для подключения к этому серверу.",
|
||
"sshPasswordDescription": "Введите пароль для этого SSH-подключения.",
|
||
"sshKeyPasswordDescription": "Если ваш SSH-ключ зашифрован, введите здесь парольную фразу.",
|
||
"passphraseRequired": "Требуется парольная фраза",
|
||
"passphraseRequiredDescription": "SSH-ключ зашифрован. Введите парольную фразу, чтобы разблокировать его.",
|
||
"external": "Внешний",
|
||
"loginWithExternal": "Войти через внешний провайдер",
|
||
"loginWithExternalDesc": "Войдите, используя настроенный внешний провайдер идентификации",
|
||
"loginWithProvider": "Войти через {{name}}",
|
||
"resetPasswordButton": "Сбросить пароль",
|
||
"sendResetCode": "Отправить код сброса",
|
||
"resetCodeDesc": "Введите имя пользователя, чтобы получить код сброса пароля. Код будет записан в логи контейнера Docker.",
|
||
"resetCode": "Код сброса",
|
||
"verifyCodeButton": "Проверить код",
|
||
"newPassword": "Новый пароль",
|
||
"confirmNewPassword": "Подтвердите пароль",
|
||
"signUp": "Зарегистрироваться",
|
||
"loadingServer": "Загрузка сервера...",
|
||
"password": "Пароль",
|
||
"secondFactorUnavailable": "Для вашего аккаунта используется второй фактор аутентификации, который сейчас недоступен. Обратитесь к администратору для сброса.",
|
||
"externalLoginRequired": "Вход в этот аккаунт осуществляется через единый вход (SSO). Используйте соответствующую кнопку для входа.",
|
||
"secondFactorNoUI": "Этот второй фактор аутентификации не может быть отображен на этом экране. Обратитесь к администратору.",
|
||
"serverAuthentication": "Вход на сервер",
|
||
"minChars": "мин. {{min}} символов",
|
||
"retrySecondFactorUI": "Обновить методы проверки",
|
||
"localDesktopSignedOut": "Выход из локальной сессии рабочего стола",
|
||
"localDesktopUnavailable": "Локальная сессия рабочего стола недоступна",
|
||
"localDesktopSignedOutDesc": "Вы вышли из локальной сессии рабочего стола. Продолжите локально, чтобы снова использовать встроенный сервер Termix этого устройства.",
|
||
"localDesktopUnavailableDesc": "Termix не смог запустить локальную сессию рабочего стола. Повторите попытку вместо регистрации нового аккаунта.",
|
||
"continueLocalDesktop": "Продолжить с локальным рабочим столом",
|
||
"retryLocalDesktop": "Повторить попытку локальной сессии рабочего стола"
|
||
},
|
||
"hostKey": {
|
||
"verifyNewHost": "Проверить ключ SSH-хоста",
|
||
"keyChangedWarning": "Ключ SSH-хоста изменен",
|
||
"firstConnectionTitle": "Первое подключение к этому хосту",
|
||
"firstConnectionDescription": "Подлинность этого хоста не может быть установлена. Убедитесь, что отпечаток соответствует ожидаемому.",
|
||
"keyChangedDescription": "Ключ хоста для этого сервера изменился с момента вашего последнего подключения. Это может указывать на проблему безопасности.",
|
||
"previousKey": "Предыдущий ключ",
|
||
"newFingerprint": "Новый отпечаток",
|
||
"fingerprint": "Отпечаток",
|
||
"verifyInstructions": "Если вы доверяете этому хосту, нажмите «Принять», чтобы продолжить и сохранить этот отпечаток для будущих подключений.",
|
||
"securityWarning": "Предупреждение о безопасности",
|
||
"acceptAndContinue": "Принять и продолжить",
|
||
"acceptNewKey": "Принять новый ключ и продолжить"
|
||
},
|
||
"errors": {
|
||
"databaseConnection": "Сервер Termix не отвечает",
|
||
"embeddedServerFailed": "Не удалось запустить локальный сервер Termix",
|
||
"unknownError": "Неизвестная ошибка",
|
||
"syncedHostMissing": "Синхронизированный хост не существует на связанном сервере",
|
||
"linkedServerUnreachable": "Связанный сервер недоступен",
|
||
"loginFailed": "Ошибка входа",
|
||
"failedPasswordReset": "Не удалось инициировать сброс пароля",
|
||
"failedVerifyCode": "Не удалось проверить код сброса",
|
||
"failedCompleteReset": "Не удалось завершить сброс пароля",
|
||
"invalidTotpCode": "Неверный код TOTP",
|
||
"failedExternalLogin": "Не удалось начать внешний вход",
|
||
"silentSigninExternalUnavailable": "Запрошен тихий вход, но внешний вход не настроен.",
|
||
"failedUserInfo": "Не удалось получить информацию о пользователе после входа",
|
||
"externalAuthFailed": "Внешний вход не выполнен",
|
||
"invalidAuthUrl": "Получен неверный URL авторизации от бэкенда",
|
||
"requiredField": "Это поле обязательно для заполнения",
|
||
"minLength": "Минимальная длина — {{min}}",
|
||
"passwordMismatch": "Пароли не совпадают",
|
||
"sessionExpired": "Сессия истекла — пожалуйста, войдите снова",
|
||
"authTokenSaveFailed": "Не удалось сохранить токен аутентификации",
|
||
"authTokenMissing": "Сервер не вернул новый токен аутентификации. Пожалуйста, войдите снова.",
|
||
"failedToLoadServer": "Не удалось загрузить сервер",
|
||
"sessionExpiredLogin": "Сессия истекла. Пожалуйста, войдите снова."
|
||
},
|
||
"messages": {
|
||
"registrationDisabled": "У вас еще нет учетной записи Termix. Попросите администратора включить автоматическое создание внешних учетных записей.",
|
||
"userNotAllowed": "Ваша учетная запись не имеет права на регистрацию. Обратитесь к администратору.",
|
||
"databaseConnectionFailed": "Он может всё ещё запускаться или остановиться. Эта страница продолжает попытки и автоматически возобновит работу, когда сервер станет доступен.",
|
||
"embeddedServerPortInUse": "Порт {{port}} уже занят другой программой. Обычно это контейнер Termix Docker или процесс Termix от предыдущего сеанса. Закройте его, затем перезапустите Termix.",
|
||
"embeddedServerPortInUseUnknownPort": "Один из портов, необходимых Termix, уже занят другой программой. Закройте программу, использующую этот порт, затем перезапустите Termix.",
|
||
"embeddedServerOldDatabase": "Ваши локальные данные относятся к Termix версии 2.8 или более ранней и должны быть сначала обновлены через версию 2.9. Установите Termix 2.9.1, откройте его один раз для миграции данных, а затем обновитесь до текущей версии.",
|
||
"embeddedServerCrashed": "Локальный сервер неожиданно остановился. Перезапустите Termix и проверьте журнал рабочего стола, если это повторится.",
|
||
"resetCodeSent": "Код сброса отправлен в логи Docker",
|
||
"codeVerified": "Код успешно подтвержден",
|
||
"passwordResetSuccess": "Пароль успешно сброшен",
|
||
"loginSuccess": "Вход выполнен успешно",
|
||
"registrationSuccess": "Регистрация прошла успешно"
|
||
},
|
||
"placeholders": {
|
||
"keyPassword": "пароль ключа",
|
||
"pastePrivateKey": "Вставьте ваш закрытый ключ здесь...",
|
||
"enterPassword": "Введите ваш пароль"
|
||
},
|
||
"dashboard": {
|
||
"updateAvailable": "Доступно обновление",
|
||
"beta": "Бета"
|
||
},
|
||
"dashboardTab": {
|
||
"stable": "СТАБИЛЬНАЯ",
|
||
"onlineCount_one": "{{count}} онлайн",
|
||
"onlineCount_few": "{{count}} онлайн",
|
||
"onlineCount_many": "{{count}} онлайн",
|
||
"onlineCount_other": "{{count}} онлайн",
|
||
"hostCount_one": "{{count}} хост",
|
||
"hostCount_few": "{{count}} хоста",
|
||
"hostCount_many": "{{count}} хостов",
|
||
"hostCount_other": "{{count}} хостов"
|
||
},
|
||
"admin": {
|
||
"usersCount_one": "{{count}} пользователь",
|
||
"rolesCount_one": "{{count}} роль",
|
||
"apiKeysCount_one": "{{count}} ключ",
|
||
"sessionsActive_one": "{{count}} активен",
|
||
"hostsCount_one": "{{count}} хост",
|
||
"hostsCount_few": "{{count}} хоста",
|
||
"hostsCount_many": "{{count}} хостов",
|
||
"hostsCount_other": "{{count}} хоста",
|
||
"credentialsCount_one": "{{count}} учётные данные",
|
||
"credentialsCount_few": "{{count}} учётных данных",
|
||
"credentialsCount_many": "{{count}} учётных данных",
|
||
"credentialsCount_other": "{{count}} учётных данных",
|
||
"rolePermissions": {
|
||
"count_one": "{{count}} разрешение",
|
||
"groups": {
|
||
"hosts": "Хосты",
|
||
"credentials": "Учетные данные",
|
||
"admin": "Администрирование"
|
||
}
|
||
}
|
||
},
|
||
"newUi": {
|
||
"sidebar": {
|
||
"quickConnect": {
|
||
"usernameLabel": "Имя пользователя"
|
||
},
|
||
"keybindings": {
|
||
"actionNextTab": "Переключиться на следующую вкладку",
|
||
"actionPreviousTab": "Переключиться на предыдущую вкладку",
|
||
"actionOpenCommandPalette": "Открыть быстрый поиск",
|
||
"actionReconnectSession": "Переподключить текущую сессию"
|
||
},
|
||
"userProfile": {
|
||
"preset_simple": "Простой",
|
||
"preset_simple_desc": "Только самое необходимое.",
|
||
"preset_balanced": "Сбалансированный",
|
||
"preset_balanced_desc": "Стандартная раскладка.",
|
||
"preset_advanced": "Расширенный",
|
||
"preset_advanced_desc": "Всё включено, компактно.",
|
||
"uiArea_chrome": "Интерфейс приложения",
|
||
"uiArea_hostList": "Список хостов",
|
||
"uiArea_credentialList": "Список учетных данных",
|
||
"uiArea_rail": "Навигация",
|
||
"uiArea_dashboard": "Панель управления",
|
||
"uiArea_terminal": "Терминал",
|
||
"uiArea_fileManager": "Файловый менеджер",
|
||
"uiArea_hostEditor": "Редактор хоста",
|
||
"languageLabel": "Язык",
|
||
"themeLabel": "Тема",
|
||
"fontSizeLabel": "Размер шрифта",
|
||
"interfaceFontLabel": "Шрифт интерфейса",
|
||
"interfaceFontDescription": "Изменяет шрифт интерфейса приложения. Профили терминала сохраняют собственные настройки шрифта.",
|
||
"accentColorLabel": "Акцентный цвет",
|
||
"apiKeyCount_one": "{{count}} ключ",
|
||
"colorPickerTooltip": "Открыть палитру цветов",
|
||
"themeSystem": "Системная",
|
||
"themeLight": "Светлая",
|
||
"themeDark": "Темная"
|
||
}
|
||
}
|
||
},
|
||
"looks": {
|
||
"layoutHint": "Общая структура приложения. Темы и макеты предоставляются плагинами.",
|
||
"defaultsLabel": "По умолчанию для всех",
|
||
"defaultsHint": "Что видят пользователи, пока не выберут свой собственный макет или тему.",
|
||
"followDefault": "Использовать по умолчанию",
|
||
"defaultSaved": "Внешний вид по умолчанию сохранён",
|
||
"saveFailed": "Не удалось сохранить внешний вид",
|
||
"repair": {
|
||
"title": "Не удалось отобразить этот макет",
|
||
"safeTitle": "Безопасный режим",
|
||
"layout": "Макет",
|
||
"plugin": "Плагин",
|
||
"reason": "Причина",
|
||
"error": "Ошибка",
|
||
"noError": "Сообщение об ошибке отсутствует.",
|
||
"copy": "Копировать",
|
||
"copied": "Скопировано",
|
||
"copyFailed": "Не удалось скопировать детали",
|
||
"retry": "Попробовать снова",
|
||
"reset": "Сбросить к внешнему виду по умолчанию",
|
||
"resetEveryone": "Сбросить настройки по умолчанию для всех",
|
||
"update": "Обновить {{name}} до версии {{version}}",
|
||
"disable": "Отключить {{name}}",
|
||
"enable": "Включить {{name}}",
|
||
"startAgain": "Запустить {{name}} заново",
|
||
"install": "Найти макеты и темы",
|
||
"installTitle": "Макеты и темы",
|
||
"installButton": "Установить",
|
||
"nothingToInstall": "Сейчас нет других доступных макетов или тем.",
|
||
"registryUnreachable": "Не удалось подключиться к реестру плагинов.",
|
||
"askAdmin": "Попросите администратора обновить или исправить этот макет. Ниже вы можете переключиться на другой макет или тему для себя.",
|
||
"switchLayout": "Переключить макет",
|
||
"switchTheme": "Переключить тему",
|
||
"saveFailed": "Не удалось сохранить ваш выбор",
|
||
"reasons": {
|
||
"safe-url": "Адрес запросил безопасный режим. Выберите макет ниже или удалите ?safe-layout=1 из адреса.",
|
||
"safe-env": "Сервер запущен с параметром TERMIX_SAFE_LAYOUT, поэтому все видят этот экран, пока он не будет удалён.",
|
||
"missing": "Ни один установленный плагин не предоставляет этот макет.",
|
||
"disabled": "Плагин, предоставляющий этот макет, отключён.",
|
||
"blocked": "Плагин, предоставляющий этот макет, ожидает необходимые ему ресурсы.",
|
||
"incompatible": "Плагин, предоставляющий этот макет, несовместим с этой версией Termix.",
|
||
"failed": "Не удалось запустить макет.",
|
||
"crashed": "Макет дважды аварийно завершил работу при отрисовке приложения."
|
||
},
|
||
"noLayout": "Макет не установлен",
|
||
"restore": "Восстановить встроенный {{name}}",
|
||
"restoreFailed": "Не удалось восстановить встроенную копию"
|
||
}
|
||
},
|
||
"plugins": {
|
||
"capabilities": {
|
||
"credentials:read": {
|
||
"title": "Просмотр ваших паролей и ключей",
|
||
"consequence": "Может читать сохраненные секреты для любого хоста, к которому у вас есть доступ."
|
||
},
|
||
"ssh:connect": {
|
||
"title": "Выполнение команд на ваших серверах",
|
||
"consequence": "Любые команды на хостах, к которым подключается плагин, с использованием ваших прав доступа."
|
||
},
|
||
"process:spawn": {
|
||
"title": "Запуск программ на этом компьютере",
|
||
"consequence": "Программы запускаются на самом сервере Termix, а не на ваших хостах."
|
||
},
|
||
"users:write": {
|
||
"title": "Создание и изменение учетных записей пользователей",
|
||
"consequence": "Может добавлять пользователей и изменять их роли."
|
||
},
|
||
"auth:provide": {
|
||
"title": "Обработка входа в систему",
|
||
"consequence": "Может добавлять методы входа, второй фактор аутентификации или тип входа по SSH."
|
||
},
|
||
"auth:policy": {
|
||
"title": "Настроить правила входа",
|
||
"consequence": "Он может разлогинивать пользователей при бездействии, ограничивать длину сессии, отключать функцию «Запомнить меня» и требовать второй фактор аутентификации."
|
||
},
|
||
"ssh:transport": {
|
||
"title": "Выберите способ подключения к хостам",
|
||
"consequence": "Он может передавать SSH-соединение с хостом по собственному маршруту, поэтому видит всё, что отправляется к этим хостам и от них, включая пароли."
|
||
},
|
||
"sync:provide": {
|
||
"title": "Выполнять синхронизацию",
|
||
"consequence": "Он может обрабатывать все запросы на синхронизацию, поэтому видит данные, которые синхронизируют устройства и серверы."
|
||
},
|
||
"system:tls": {
|
||
"title": "Управление сертификатами",
|
||
"consequence": "Может заменять сертификат, который Termix использует для HTTPS, и отвечать на проверки доменов со стороны центров сертификации."
|
||
},
|
||
"device:serial": {
|
||
"title": "Доступ к последовательным и USB-устройствам",
|
||
"consequence": "Может открывать физический последовательный порт на компьютере, где запущен Termix."
|
||
},
|
||
"hosts:export": {
|
||
"title": "Экспортировать хосты с их секретами",
|
||
"consequence": "Может читать ваши хосты полностью, включая сохранённые пароли и ключи, и передавать их. Каждый экспорт записывается в журнал аудита."
|
||
},
|
||
"hosts:write": {
|
||
"title": "Создание и изменение хостов",
|
||
"consequence": "Может добавлять хосты и редактировать уже существующие."
|
||
},
|
||
"credentials:use": {
|
||
"title": "Подключение к вашим серверам",
|
||
"consequence": "Не может видеть ваши пароли или ключи."
|
||
},
|
||
"credentials:write": {
|
||
"title": "Сохранение новых учетных данных",
|
||
"consequence": "Может добавлять пароли и ключи в ваши сохраненные учетные данные."
|
||
},
|
||
"network:outbound": {
|
||
"title": "Доступ в интернет",
|
||
"consequence": "Может отправлять запросы к внешним сервисам."
|
||
},
|
||
"network:serve": {
|
||
"title": "Принятие подключений",
|
||
"consequence": "Открывает порт на сервере Termix."
|
||
},
|
||
"network:broadcast": {
|
||
"title": "Отправка сетевых широковещательных сообщений",
|
||
"consequence": "Может отправлять пакеты устройствам в локальной сети, например сигнал Wake-on-LAN."
|
||
},
|
||
"users:read": {
|
||
"title": "Просмотр имен пользователей и ролей",
|
||
"consequence": "Никогда не получает хэши паролей или состояние двухфакторной аутентификации."
|
||
},
|
||
"events:core": {
|
||
"title": "Наблюдение за всеми событиями",
|
||
"consequence": "Включая активность других пользователей, а не только вашу."
|
||
},
|
||
"notify:send": {
|
||
"title": "Отправка уведомлений",
|
||
"consequence": "Вам или другим пользователям через настроенные ими каналы."
|
||
},
|
||
"notify:hub": {
|
||
"title": "Получение всех уведомлений",
|
||
"consequence": "Хранит и доставляет все уведомления, отправленные другими плагинами, включая их содержимое."
|
||
},
|
||
"audit:read": {
|
||
"title": "Чтение журнала аудита",
|
||
"consequence": "Может видеть, кто, что и когда делал."
|
||
},
|
||
"network:probe": {
|
||
"title": "Проверять доступность портов",
|
||
"consequence": "Может открывать обычное соединение с любым адресом с сервера, чтобы проверить его доступность."
|
||
},
|
||
"hosts:status-provide": {
|
||
"title": "Предоставлять статус хоста",
|
||
"consequence": "Становится источником индикаторов онлайн и офлайн для каждого хоста."
|
||
},
|
||
"hosts:activity-provide": {
|
||
"title": "Хранить недавнюю активность",
|
||
"consequence": "Становится хранилищем списка последних действий для каждого пользователя."
|
||
},
|
||
"hosts:lock": {
|
||
"title": "Управление хостами в режиме только для чтения",
|
||
"consequence": "Хосты, которыми он управляет, не могут быть изменены, удалены или повторно переданы другим пользователям."
|
||
},
|
||
"desktop:window": {
|
||
"title": "Открытие окон рабочего стола",
|
||
"consequence": "Только в настольном приложении Termix."
|
||
},
|
||
"desktop:local": {
|
||
"title": "Использовать этот компьютер",
|
||
"consequence": "Может читать и изменять файлы, запускать оболочку и открывать локальные порты на этом компьютере. Только в настольном приложении Termix."
|
||
},
|
||
"users:impersonate": {
|
||
"title": "Действие от имени других пользователей",
|
||
"consequence": "Выполняет фоновые задачи с правами другого пользователя, например запланированные задания. Каждое использование записывается в журнал аудита."
|
||
},
|
||
"db:core-refs": {
|
||
"title": "Чтение основных таблиц учетных записей",
|
||
"consequence": "Может напрямую запрашивать данные о пользователях, ролях и хостах из базы данных."
|
||
},
|
||
"hosts:read": {
|
||
"title": "Просмотр списка ваших хостов",
|
||
"consequence": "Имена и адреса хостов, которые вы уже видите."
|
||
},
|
||
"db:own": {
|
||
"title": "Хранение собственных данных",
|
||
"consequence": "Хранится в собственных таблицах, отдельно от других плагинов."
|
||
},
|
||
"kv:own": {
|
||
"title": "Запоминание небольших настроек",
|
||
"consequence": "Хранится отдельно от других плагинов."
|
||
},
|
||
"files:own": {
|
||
"title": "Хранение собственных файлов",
|
||
"consequence": "В собственной папке на диске, отдельно от других плагинов."
|
||
},
|
||
"secrets:own": {
|
||
"title": "Хранить свои секреты",
|
||
"consequence": "Зашифровано Termix. Плагин никогда не хранит ключ."
|
||
},
|
||
"settings:read-core": {
|
||
"title": "Чтение настроек Termix",
|
||
"consequence": "Настройки сервера, а не ваши хосты или учетные данные."
|
||
},
|
||
"plugins:read": {
|
||
"title": "Просмотр установленных плагинов",
|
||
"consequence": "Он может видеть, какие плагины установлены и запущены."
|
||
},
|
||
"ui:surface": {
|
||
"title": "Добавлять свои экраны",
|
||
"consequence": "Вкладки, панели и настройки, которые можно скрыть позже."
|
||
},
|
||
"ui:layout": {
|
||
"title": "Заменить весь макет приложения",
|
||
"consequence": "При выборе его код отрисовывает каждый экран, включая ваши терминалы и настройки."
|
||
},
|
||
"ui:theme": {
|
||
"title": "Добавить цветовые темы",
|
||
"consequence": "Только цвета и стили. Для темы не выполняется код."
|
||
}
|
||
},
|
||
"runtime": {
|
||
"needsPlugin": "{{name}} недоступен",
|
||
"needsUnknownPlugin": "Этот плагин недоступен",
|
||
"disabledHint": "Он отключен на этом сервере.",
|
||
"missingHint": "Плагин, из которого он был получен, был удален.",
|
||
"failed": "{{name}} не удалось запустить",
|
||
"failedHint": "Администратор может проверить журналы сервера для получения подробной информации.",
|
||
"loading": "Загрузка {{name}}",
|
||
"crashed": "Что-то пошло не так в {{name}}",
|
||
"retry": "Попробовать снова"
|
||
},
|
||
"manager": {
|
||
"tabs": {
|
||
"installed": "Установленные",
|
||
"browse": "Каталог",
|
||
"updates": "Обновления",
|
||
"registries": "Регистры"
|
||
},
|
||
"status": {
|
||
"summary": "{{installed}} установлено, {{running}} запущено",
|
||
"running": "Запущен",
|
||
"disabled": "Отключен",
|
||
"failed": "Неожиданно остановлен",
|
||
"blocked": "Ожидание другого плагина",
|
||
"server": "Работает на вашем сервере",
|
||
"safeMode": "Отключено в безопасном режиме"
|
||
},
|
||
"groups": {
|
||
"running": "Запущенные",
|
||
"notRunning": "Не запущенные",
|
||
"onServer": "На вашем сервере"
|
||
},
|
||
"runsOnServerHint": "Этот плагин работает только на вашем сервере, поэтому он отключён в десктопном приложении. Он продолжает работать на сервере.",
|
||
"sort": {
|
||
"popular": "Самые популярные",
|
||
"name": "Имя",
|
||
"updated": "Недавно обновленные",
|
||
"category": "Категория"
|
||
},
|
||
"table": {
|
||
"name": "Имя",
|
||
"description": "Описание",
|
||
"version": "Версия",
|
||
"status": "Статус",
|
||
"category": "Категория",
|
||
"downloads": "Скачивания"
|
||
},
|
||
"risk": {
|
||
"critical": "Критический",
|
||
"high": "Высокий риск",
|
||
"medium": "Средний риск",
|
||
"low": "Низкий риск"
|
||
},
|
||
"contributes": {
|
||
"tabs_one": "{{count}} вкладка",
|
||
"tabs_few": "{{count}} вкладки",
|
||
"tabs_many": "{{count}} вкладок",
|
||
"tabs_other": "{{count}} вкладок",
|
||
"panels_one": "{{count}} панель",
|
||
"panels_few": "{{count}} панели",
|
||
"panels_many": "{{count}} панелей",
|
||
"panels_other": "{{count}} панелей",
|
||
"dashboardCards_one": "{{count}} карточка панели управления",
|
||
"dashboardCards_few": "{{count}} карточки панели управления",
|
||
"dashboardCards_many": "{{count}} карточек панели управления",
|
||
"dashboardCards_other": "{{count}} карточек панели управления",
|
||
"actions_one": "{{count}} действие",
|
||
"actions_few": "{{count}} действия",
|
||
"actions_many": "{{count}} действий",
|
||
"actions_other": "{{count}} действий",
|
||
"protocols_one": "{{count}} тип подключения",
|
||
"protocols_few": "{{count}} типа подключения",
|
||
"protocols_many": "{{count}} типов подключения",
|
||
"protocols_other": "{{count}} типов подключения",
|
||
"auth_one": "{{count}} способ входа",
|
||
"auth_few": "{{count}} способа входа",
|
||
"auth_many": "{{count}} способов входа",
|
||
"auth_other": "{{count}} способов входа",
|
||
"settings_one": "Настройки",
|
||
"settings_few": "Настройки",
|
||
"settings_many": "Настройки",
|
||
"settings_other": "Настройки",
|
||
"hostCapability_one": "Настройки хоста",
|
||
"hostCapability_few": "Настройки хоста",
|
||
"hostCapability_many": "Настройки хоста",
|
||
"hostCapability_other": "Настройки хоста",
|
||
"permissions_one": "{{count}} разрешение роли",
|
||
"permissions_few": "{{count}} разрешения роли",
|
||
"permissions_many": "{{count}} разрешений роли",
|
||
"permissions_other": "{{count}} разрешений роли",
|
||
"keybindingActions_one": "{{count}} сочетание клавиш",
|
||
"keybindingActions_few": "{{count}} сочетания клавиш",
|
||
"keybindingActions_many": "{{count}} сочетаний клавиш",
|
||
"keybindingActions_other": "{{count}} сочетаний клавиш",
|
||
"syncEntities_one": "Синхронизация рабочего стола",
|
||
"syncEntities_few": "Синхронизация рабочего стола",
|
||
"syncEntities_many": "Синхронизация рабочего стола",
|
||
"syncEntities_other": "Синхронизация рабочего стола"
|
||
},
|
||
"consent": {
|
||
"enableTitle": "Включить {{name}}?",
|
||
"installTitle": "Установить {{name}}",
|
||
"updateTitle": "Обновить {{name}}",
|
||
"agreeUpdate": "Согласиться и обновить",
|
||
"updateExplain": "Эта версия запрашивает то, чего не запрашивает ваша текущая, поэтому она не установится автоматически.",
|
||
"newInVersion": "Новое в этой версии",
|
||
"minor": "Также добавляет собственные экраны и хранит свои данные, отделённые от данных других плагинов.",
|
||
"none": "Не запрашивает специальных разрешений.",
|
||
"uploadTitle": "Установить {{name}} из файла",
|
||
"uploadWarning": "Этот файл не проверен и не подписан реестром Termix. Устанавливайте его только если создали сами или доверяете автору."
|
||
},
|
||
"confirm": {
|
||
"uninstallTitle": "Удалить {{name}}?",
|
||
"uninstallBody": "Это остановит плагин и удалит все его данные, включая настройки и секреты. Вы сможете установить его снова, но данные не восстановятся.",
|
||
"deleteDataTitle": "Удалить все данные для {{name}}?",
|
||
"deleteDataBody": "Его таблицы, настройки, секреты и файлы будут удалены, а плагин отключён. Это действие нельзя отменить.",
|
||
"enableAlsoTitle": "Включить {{name}}?",
|
||
"enableAlsoBody": "Для работы ему нужны следующие компоненты, поэтому они тоже будут включены: {{list}}.",
|
||
"disableAlsoTitle": "Отключить {{name}}?",
|
||
"disableAlsoBody": "Эти компоненты зависят от него, поэтому они тоже будут отключены: {{list}}.",
|
||
"downgradeTitle": "Вернуться к {{name}} {{version}}?",
|
||
"downgradeBody": "Данные, записанные новой версией, останутся без изменений, а старая версия может не понять их. Плагин останется на этой версии, пока вы не снимете фиксацию.",
|
||
"downgradeConfirm": "Сменить версию"
|
||
},
|
||
"toast": {
|
||
"installed": "{{name}} установлен",
|
||
"installedNotRunning": "{{name}} установлен, но не удалось запустить. Откройте его, чтобы узнать причину.",
|
||
"updated": "{{name}} обновлён до {{version}}",
|
||
"updatedMany_one": "{{count}} плагин обновлён",
|
||
"updatedMany_few": "{{count}} плагина обновлено",
|
||
"updatedMany_many": "{{count}} плагинов обновлено",
|
||
"updatedMany_other": "{{count}} плагинов обновлено",
|
||
"uninstalled": "{{name}} удалён",
|
||
"dataDeleted": "Данные для {{name}} удалены",
|
||
"failedToStart": "Не удалось запустить {{name}}. Откройте его, чтобы узнать причину."
|
||
},
|
||
"errors": {
|
||
"generic": "Что-то пошло не так",
|
||
"install": "Не удалось установить {{name}}: {{error}}",
|
||
"update": "Не удалось обновить {{name}}: {{error}}",
|
||
"updateAll": "Не удалось обновить плагины: {{error}}",
|
||
"uninstall": "Не удалось удалить {{name}}: {{error}}",
|
||
"state": "Не удалось изменить состояние {{name}}: {{error}}",
|
||
"retry": "Не удалось перезапустить {{name}}: {{error}}",
|
||
"options": "Не удалось сохранить параметры для {{name}}: {{error}}",
|
||
"deleteData": "Не удалось удалить данные для {{name}}: {{error}}",
|
||
"managedByServer": "Этот рабочий стол связан с сервером, который управляет его плагинами.",
|
||
"defaultLook": "{{name}} — это стандартный вид, поэтому его можно отключить или заменить, но не удалить.",
|
||
"hasDependents": "{{name}} требуется для {{list}}. Сначала отключите или удалите их.",
|
||
"missingDependencies": "{{name}} требует {{list}}, который не установлен.",
|
||
"consentChanged": "Список запрашиваемых разрешений изменился с момента последнего просмотра. Проверьте его снова.",
|
||
"upload": "Не удалось прочитать {{name}}: {{error}}"
|
||
},
|
||
"data": {
|
||
"title": "Хранимые данные",
|
||
"delete": "Удалить данные",
|
||
"loadFailed": "Не удалось прочитать данные, хранимые этим плагином.",
|
||
"tables": "Таблицы",
|
||
"kv": "Ключи",
|
||
"settings": "Настройки",
|
||
"files": "Файлы",
|
||
"rows_one": "{{count}} строка",
|
||
"rows_few": "{{count}} строки",
|
||
"rows_many": "{{count}} строк",
|
||
"rows_other": "{{count}} строк",
|
||
"secrets_one": "{{count}} секрет",
|
||
"secrets_few": "{{count}} секрета",
|
||
"secrets_many": "{{count}} секретов",
|
||
"secrets_other": "{{count}} секретов",
|
||
"migrations_one": "{{count}} миграция применена",
|
||
"migrations_few": "{{count}} миграции применены",
|
||
"migrations_many": "{{count}} миграций применено",
|
||
"migrations_other": "{{count}} миграций применено",
|
||
"grants_one": "{{count}} возможность предоставлена",
|
||
"grants_few": "{{count}} возможности предоставлены",
|
||
"grants_many": "{{count}} возможностей предоставлено",
|
||
"grants_other": "{{count}} возможностей предоставлено"
|
||
},
|
||
"install": "Установить",
|
||
"uninstall": "Удалить",
|
||
"enable": "Включить",
|
||
"disable": "Отключить",
|
||
"restart": "Перезапустить",
|
||
"update": "Обновить",
|
||
"updateAll": "Обновить все",
|
||
"updateTo": "Обновить до {{version}}",
|
||
"review": "Просмотр",
|
||
"reviewUpdate": "Просмотр обновления",
|
||
"updates": "Обновления",
|
||
"auto": "Авто",
|
||
"autoUpdate": "Обновлять автоматически",
|
||
"autoUpdateHint": "Никогда, если обновление запрашивает новые разрешения.",
|
||
"pin": "Закрепить эту версию",
|
||
"pinHint": "Остаётся на версии {{version}} и пропускает все обновления, пока вы не отключите это.",
|
||
"pinnedTo": "Закреплена версия {{version}}",
|
||
"version": "Версия",
|
||
"versionPickHint": "Установите более старую версию вместо последней. Она останется на этой версии, пока вы не снимете закрепление.",
|
||
"versionPickHintInstalled": "Переключитесь на другую версию. Выбор версии, отличной от последней, закрепит её.",
|
||
"switchVersion": "Переключить",
|
||
"latestVersion": "{{version}} (последняя)",
|
||
"versionChange": "с {{from}} на {{to}}",
|
||
"releaseNotes": "Список изменений",
|
||
"noReleaseNotes": "Для этой версии нет заметок.",
|
||
"viewRelease": "Посмотреть на GitHub",
|
||
"showOlderReleases": "Старые версии ({{count}})",
|
||
"hideOlderReleases": "Скрыть старые версии",
|
||
"showMoreChanges": "Показать ещё {{count}}",
|
||
"videoTitle": "Видео {{name}}",
|
||
"changeTypes": {
|
||
"added": "Добавлено",
|
||
"changed": "Изменено",
|
||
"fixed": "Исправлено",
|
||
"removed": "Удалено",
|
||
"deprecated": "Устарело",
|
||
"security": "Безопасность"
|
||
},
|
||
"installedBadge": "Установлено",
|
||
"incompatible": "Требуется более новая версия Termix",
|
||
"features": "Возможности",
|
||
"whatItCanDo": "Что он умеет",
|
||
"addsToTermix": "Добавляет в Termix",
|
||
"addsToTermixHint": "После удаления все эти функции исчезнут.",
|
||
"noServerAccess": "Нет доступа к вашим серверам",
|
||
"searchInstalled": "Поиск среди установленных",
|
||
"searchPlugins": "Поиск плагинов",
|
||
"nothingMatches": "Ничего не найдено.",
|
||
"noneInstalled": "Плагины ещё не установлены. Просмотрите каталог, чтобы добавить.",
|
||
"nothingHere": "Здесь пусто.",
|
||
"nothingHereHint": "Попробуйте другую категорию или поиск.",
|
||
"showInstalled": "Показать установленные",
|
||
"allInstalled": "Всё здесь уже установлено.",
|
||
"allInstalledHint": "Включите «Показать установленные», чтобы увидеть их.",
|
||
"communitySubmit": "Как отправить",
|
||
"registries": {
|
||
"intro": "Регистры — это списки плагинов, которые можно установить. Официальный регистр всегда включён. Вы можете включить регистр сообщества или добавить свой собственный.",
|
||
"hostYourOwn": "Разместить свой регистр",
|
||
"add": "Добавить регистр",
|
||
"addTitle": "Добавить регистр",
|
||
"addHint": "Вставьте ссылку на index.json регистра. Termix прочитает его и покажет ключ, которым он подписывает плагины. Добавляйте только регистры от людей, которым доверяете.",
|
||
"urlLabel": "URL индекса",
|
||
"check": "Проверить",
|
||
"addConfirm": "Доверять и добавить",
|
||
"added": "Добавлен {{name}}",
|
||
"customWarning": "Плагины из этого регистра не проверяются командой Termix. Только владелец регистра решает, что в нём находится. Каждое скачивание должно быть подписано ключом, указанным выше.",
|
||
"keyFingerprint": "Ключ {{keyId}}",
|
||
"pluginCount_one": "{{count}} плагин",
|
||
"pluginCount_few": "{{count}} плагина",
|
||
"pluginCount_many": "{{count}} плагинов",
|
||
"pluginCount_other": "{{count}} плагинов",
|
||
"officialName": "Официальный",
|
||
"communityName": "Сообщества",
|
||
"alwaysOn": "Всегда включён",
|
||
"communityHint": "Плагины, созданные другими людьми. Каждая версия проверяется человеком и автоматическими проверками перед добавлением в список.",
|
||
"communityConfirmTitle": "Включить плагины сообщества?",
|
||
"communityConfirmBody": "Плагины сообщества создаются другими людьми, а не командой Termix. Каждая версия проверяется человеком и автоматическими проверками перед добавлением в список, но ошибки всё же могут проскользнуть. Устанавливайте только те плагины, которым доверяете, и проверяйте, какие разрешения запрашивает каждый из них.",
|
||
"communityConfirm": "Включить",
|
||
"communityBadge": "Сообщества",
|
||
"communityBadgeHint": "Из регистра сообщества. Создан другими людьми и проверен перед добавлением в список.",
|
||
"customBadge": "Пользовательский",
|
||
"customBadgeHint": "Из {{name}}, регистра, добавленного администратором. Не проверен командой Termix.",
|
||
"remove": "Удалить",
|
||
"removeTitle": "Удалить {{name}}?",
|
||
"removeBody": "Плагины из этого реестра больше не будут отображаться в разделе «Обзор». Вы можете добавить его снова позже.",
|
||
"removed": "{{name}} удалён",
|
||
"inUse": "Сначала удалите плагины из {{name}}: {{list}}",
|
||
"changeFailed": "Не удалось изменить реестр: {{error}}",
|
||
"loadFailed": "Не удалось загрузить реестры: {{error}}",
|
||
"unreachable": "Не удалось прочитать: {{error}}",
|
||
"filter": "Реестр",
|
||
"allRegistries": "Все реестры",
|
||
"browseHint": "Включите плагины сообщества или добавьте свой собственный реестр на вкладке «Реестры»."
|
||
},
|
||
"upToDate": "Всё обновлено.",
|
||
"lastChecked": "Последняя проверка: {{time}}",
|
||
"updatesReady_one": "{{count}} обновление готово.",
|
||
"updatesReady_few": "{{count}} обновления готовы.",
|
||
"updatesReady_many": "{{count}} обновлений готово.",
|
||
"updatesReady_other": "{{count}} обновлений готово.",
|
||
"updatesNeedReview_one": "Ещё {{count}} требует вашего одобрения.",
|
||
"updatesNeedReview_few": "Ещё {{count}} требуют вашего одобрения.",
|
||
"updatesNeedReview_many": "Ещё {{count}} требуют вашего одобрения.",
|
||
"updatesNeedReview_other": "Ещё {{count}} требуют вашего одобрения.",
|
||
"updateAsksMore": "Это обновление запрашивает дополнительные разрешения, поэтому оно ожидает вашего решения.",
|
||
"checkRegistry": "Проверить плагины и обновления",
|
||
"registryUnreachable": "Не удалось подключиться к реестру плагинов ({{error}}). Установленные плагины продолжают работать.",
|
||
"managedByServer": "Этот рабочий стол связан с сервером, который управляет его плагинами. Изменения вносятся на сервере.",
|
||
"browsePlugins": "Просмотр плагинов",
|
||
"loading": "Загрузка",
|
||
"developer": {
|
||
"installFromFile": "Установить из файла"
|
||
},
|
||
"count": {
|
||
"downloads_one": "{{formatted}} загрузка",
|
||
"downloads_few": "{{formatted}} загрузки",
|
||
"downloads_many": "{{formatted}} загрузок",
|
||
"downloads_other": "{{formatted}} загрузок",
|
||
"downloadsHint": "Количество загрузок релиза. Это не количество установок."
|
||
},
|
||
"unverified": "Непроверенный",
|
||
"unverifiedHint": "Установлен из файла. Termix не проверял и не подписывал его.",
|
||
"reportIssue": "Сообщить о проблеме",
|
||
"reportTo": "Сообщить автору {{author}}",
|
||
"requestFeature": "Предложить функцию",
|
||
"openSettings": "Открыть его настройки",
|
||
"beta": {
|
||
"badge": "Бета",
|
||
"badgeHint": "Это бета-версия. В ней могут быть ошибки.",
|
||
"try": "Попробовать бета-версию {{version}}",
|
||
"confirmTitle": "Использовать бета-версии для {{name}}?",
|
||
"confirmBody": "Бета-версии получают новые функции и исправления первыми, но в них могут быть ошибки. Вы можете вернуться к стабильной версии в любое время.",
|
||
"confirmInstall": "Установить {{version}}",
|
||
"confirmSwitch": "Использовать бета-версии",
|
||
"leftWhileOnBeta": "{{name}} останется на версии {{version}}, пока не выйдет более новая стабильная версия.",
|
||
"channel": "Бета-версии",
|
||
"channelHint": "Получайте новые версии раньше. В них могут быть ошибки.",
|
||
"waitingForStable": "Вернулись к стабильной версии. Останется на {{version}}, пока не выйдет более новая стабильная версия.",
|
||
"versionLabel": "{{version}} (бета)",
|
||
"sendFeedback": "Отправить отзыв о бета-версии"
|
||
},
|
||
"documentation": "Документация",
|
||
"envVars": "Переменные окружения",
|
||
"envRequired": "Обязательно",
|
||
"envDefault": "По умолчанию: {{value}}",
|
||
"kinds": {
|
||
"layouts": "Макеты",
|
||
"themes": "Темы",
|
||
"tabs": "Вкладки",
|
||
"panels": "Панели боковой панели",
|
||
"dashboardCards": "Карточки панели управления",
|
||
"protocols": "Типы подключений",
|
||
"auth": "Способы входа",
|
||
"actions": "Действия",
|
||
"hostCapability": "Настройки хоста"
|
||
},
|
||
"filters": {
|
||
"type": "Тип",
|
||
"allTypes": "Все типы",
|
||
"category": "Категория",
|
||
"allCategories": "Все категории",
|
||
"results_one": "{{count}} плагин",
|
||
"results_few": "{{count}} плагина",
|
||
"results_many": "{{count}} плагинов",
|
||
"results_other": "{{count}} плагинов",
|
||
"remove": "Удалить фильтр {{name}}",
|
||
"clear": "Очистить фильтры",
|
||
"button": "Фильтры",
|
||
"buttonCount": "Фильтры ({{count}})"
|
||
},
|
||
"pager": {
|
||
"range": "{{from}}–{{to}} из {{total}}",
|
||
"page": "Страница {{page}} из {{pages}}",
|
||
"previous": "Предыдущая страница",
|
||
"next": "Следующая страница",
|
||
"perPage": "{{count}} на странице",
|
||
"perPageLabel": "Плагинов на странице"
|
||
},
|
||
"showUnsupportedHint": "Они перечислены, но для этой версии пока нет релиза. Обновите Termix, чтобы установить их.",
|
||
"unsupported": "Требуется более новая версия Termix",
|
||
"unsupportedHint": "Для этой версии Termix нет релиза этого плагина. Обновите Termix, чтобы установить его.",
|
||
"needsTermix": "Требуется Termix {{range}}",
|
||
"showUnsupported": "Показать неподдерживаемые ({{count}})",
|
||
"showMore": "Показать ещё {{count}} (осталось {{total}})"
|
||
}
|
||
},
|
||
"settings": {
|
||
"secretSet": "Установлено",
|
||
"secretNotSet": "Не установлено",
|
||
"secretReplace": "Заменить",
|
||
"featureUnavailable": "{{name}} сейчас недоступен. Эти настройки сохранены, но не будут применены."
|
||
},
|
||
"managerCard": {
|
||
"refresh": "Обновить",
|
||
"retry": "Повторить",
|
||
"sudoHint": "Установите пароль sudo для этого хоста в редакторе хоста, чтобы разрешить привилегированные действия.",
|
||
"noData": "Нет данных",
|
||
"filter": "Фильтр..."
|
||
},
|
||
"hostDefaults": {
|
||
"source": {
|
||
"folder": "Папка {{name}}",
|
||
"user": "Мои значения по умолчанию",
|
||
"admin": "Сервер",
|
||
"builtin": "Встроенные"
|
||
},
|
||
"custom": "Пользовательские",
|
||
"setHere": "Установить здесь",
|
||
"notSet": "Не задано",
|
||
"notSetTitle": "Для этого параметра не задано значение по умолчанию",
|
||
"resetTitle": "Этот хост задаёт своё значение. Нажмите, чтобы снова использовать значение по умолчанию из {{source}}",
|
||
"clearTitle": "Задано на этом уровне. Нажмите, чтобы очистить и использовать {{source}} вместо этого",
|
||
"inheritedTitle": "Использует значение по умолчанию из {{source}}",
|
||
"saved_one": "Значения по умолчанию сохранены. Обновлён {{count}} хост.",
|
||
"saved_few": "Значения по умолчанию сохранены. Обновлено {{count}} хоста.",
|
||
"saved_many": "Значения по умолчанию сохранены. Обновлено {{count}} хостов.",
|
||
"saved_other": "Значения по умолчанию сохранены. Обновлено {{count}} хоста.",
|
||
"appliedToHosts_one": "{{count}} хост обновлён новыми значениями по умолчанию.",
|
||
"appliedToHosts_few": "{{count}} хоста обновлены новыми значениями по умолчанию.",
|
||
"appliedToHosts_many": "{{count}} хостов обновлены новыми значениями по умолчанию.",
|
||
"appliedToHosts_other": "{{count}} хоста обновлены новыми значениями по умолчанию.",
|
||
"confirmChanges_one": "{{count}} хост использует эти значения по умолчанию и будет изменён.",
|
||
"confirmChanges_few": "{{count}} хоста используют эти значения по умолчанию и будут изменены.",
|
||
"confirmChanges_many": "{{count}} хостов используют эти значения по умолчанию и будут изменены.",
|
||
"confirmChanges_other": "{{count}} хоста используют эти значения по умолчанию и будут изменены.",
|
||
"resetDone_one": "{{count}} хост теперь использует значения по умолчанию.",
|
||
"resetDone_few": "{{count}} хоста теперь используют значения по умолчанию.",
|
||
"resetDone_many": "{{count}} хостов теперь используют значения по умолчанию.",
|
||
"resetDone_other": "{{count}} хостов теперь используют значения по умолчанию."
|
||
},
|
||
"panel": {
|
||
"clearSearch": "Очистить поиск",
|
||
"gridView": "Сетка",
|
||
"listView": "Список",
|
||
"compactRows": "Компактные строки",
|
||
"comfortableRows": "Удобные строки",
|
||
"columns": {
|
||
"title": "Колонки",
|
||
"auto": "Авто",
|
||
"count": "{{count}} колонок"
|
||
}
|
||
},
|
||
"fields": {
|
||
"secretSaved": "Сохранено. Введите новый текст, чтобы заменить."
|
||
},
|
||
"manage": {
|
||
"needsAttention_one": "Один элемент требует внимания.",
|
||
"needsAttention_few": "{{count}} элемента требуют внимания.",
|
||
"needsAttention_many": "{{count}} элементов требуют внимания.",
|
||
"needsAttention_other": "{{count}} элементов требуют внимания.",
|
||
"hostCount_one": "{{count}} хост",
|
||
"hostCount_few": "{{count}} хоста",
|
||
"hostCount_many": "{{count}} хостов",
|
||
"hostCount_other": "{{count}} хостов",
|
||
"credentialCount_one": "{{count}} учётная запись",
|
||
"credentialCount_few": "{{count}} учётные записи",
|
||
"credentialCount_many": "{{count}} учётных записей",
|
||
"credentialCount_other": "{{count}} учётных записей"
|
||
},
|
||
"rbac": {
|
||
"roles": {
|
||
"admin": "Администратор",
|
||
"user": "Пользователь"
|
||
}
|
||
}
|
||
}
|