* fix select edit host but not update view (#438) * fix: Checksum issue with chocolatey * fix: Remove homebrew old stuff * Add Korean translation (#439) Co-authored-by: 송준우 <2484@coreit.co.kr> * feat: Automate flatpak * fix: Add imagemagik to electron builder to resolve build error * fix: Build error with runtime repo flag * fix: Flatpak runtime error and install freedesktop ver warning * fix: Flatpak runtime error and install freedesktop ver warning * feat: Re-add homebrew cask and move scripts to backend * fix: No sandbox flag issue * fix: Change name for electron macos cask output * fix: Sandbox error with Linux * fix: Remove comming soon for app stores in readme * Adding Comment at the end of the public_key on the host on deploy (#440) * Add termix.rb Cask file * Update Termix to version 1.9.0 with new checksum * Update README to remove 'coming soon' notes * -Add New Interface for Credential DB -Add Credential Name as a comment into the server authorized_key file --------- Co-authored-by: Luke Gustafson <88517757+LukeGus@users.noreply.github.com> * Sudo auto fill password (#441) * Add termix.rb Cask file * Update Termix to version 1.9.0 with new checksum * Update README to remove 'coming soon' notes * Feature Sudo password auto-fill; * Fix locale json shema; --------- Co-authored-by: Luke Gustafson <88517757+LukeGus@users.noreply.github.com> * Added Italian Language; (#445) * Add termix.rb Cask file * Update Termix to version 1.9.0 with new checksum * Update README to remove 'coming soon' notes * Added Italian Language; --------- Co-authored-by: Luke Gustafson <88517757+LukeGus@users.noreply.github.com> * Auto collapse snippet folders (#448) * Add termix.rb Cask file * Update Termix to version 1.9.0 with new checksum * Update README to remove 'coming soon' notes * feat: Add collapsable snippets (customizable in user profile) * Translations (#447) * Add termix.rb Cask file * Update Termix to version 1.9.0 with new checksum * Update README to remove 'coming soon' notes * Added Italian Language; * Fix translations; Removed duplicate keys, synchronised other languages using English as the source, translated added keys, fixed inaccurate translations. --------- Co-authored-by: Luke Gustafson <88517757+LukeGus@users.noreply.github.com> * Remove PTY-level keepalive (#449) * Add termix.rb Cask file * Update Termix to version 1.9.0 with new checksum * Update README to remove 'coming soon' notes * Remove PTY-level keepalive to prevent unwanted terminal output; use SSH-level keepalive instead --------- Co-authored-by: Luke Gustafson <88517757+LukeGus@users.noreply.github.com> * feat: Seperate server stats and tunnel management (improved both UI's) then started initial docker implementation * fix: finalize adding docker to db * feat: Add docker management support (local squash) * Fix RBAC role system bugs and improve UX (#446) * Fix RBAC role system bugs and improve UX - Fix user list dropdown selection in host sharing - Fix role sharing permissions to include role-based access - Fix translation template interpolation for success messages - Standardize system roles to admin and user only - Auto-assign user role to new registrations - Remove blocking confirmation dialogs in modal contexts - Add missing i18n keys for common actions - Fix button type to prevent unintended form submissions * Enhance RBAC system with UI improvements and security fixes - Move role assignment to Users tab with per-user role management - Protect system roles (admin/user) from editing and manual assignment - Simplify permission system: remove Use level, keep View and Manage - Hide Update button and Sharing tab for view-only/shared hosts - Prevent users from sharing hosts with themselves - Unify table and modal styling across admin panels - Auto-assign system roles on user registration - Add permission metadata to host interface * Add empty state message for role assignment - Display helpful message when no custom roles available - Clarify that system roles are auto-assigned - Add noCustomRolesToAssign translation in English and Chinese * fix: Prevent credential sharing errors for shared hosts - Skip credential resolution for shared hosts with credential authentication to prevent decryption errors (credentials are encrypted per-user) - Add warning alert in sharing tab when host uses credential authentication - Inform users that shared users cannot connect to credential-based hosts - Add translations for credential sharing warning (EN/ZH) This prevents authentication failures when sharing hosts configured with credential authentication while maintaining security by keeping credentials isolated per user. * feat: Improve rbac UI and fixes some bugs --------- Co-authored-by: Luke Gustafson <88517757+LukeGus@users.noreply.github.com> Co-authored-by: LukeGus <bugattiguy527@gmail.com> * SOCKS5 support (#452) * Add termix.rb Cask file * Update Termix to version 1.9.0 with new checksum * Update README to remove 'coming soon' notes * SOCKS5 support Adding single and chain socks5 proxy support * fix: cleanup files --------- Co-authored-by: Luke Gustafson <88517757+LukeGus@users.noreply.github.com> Co-authored-by: LukeGus <bugattiguy527@gmail.com> * Notes and Expiry fields add (#453) * Add termix.rb Cask file * Update Termix to version 1.9.0 with new checksum * Update README to remove 'coming soon' notes * Notes and Expiry add * fix: cleanup files --------- Co-authored-by: Luke Gustafson <88517757+LukeGus@users.noreply.github.com> Co-authored-by: LukeGus <bugattiguy527@gmail.com> * fix: ssh host types * fix: sudo incorrect styling and remove expiration date * feat: add sudo password and add diagonal bg's * fix: snippet running on enter key * fix: base64 decoding * fix: improve server stats / rbac * fix: wrap ssh host json export in hosts array * feat: auto trim host inputs, fix file manager jump hosts, dashboard prevent duplicates, file manager terminal not size updating, improve left sidebar sorting, hide/show tags, add apperance user profile tab, add new host manager tabs. * feat: improve terminal connection speed * fix: sqlite constriant errors and support non-root user (nginx perm issue) * feat: add beta syntax highlighing to terminal * feat: update imports and improve admin settings user management * chore: update translations * chore: update translations * feat: Complete light mode implementation with semantic theme system (#450) - Add comprehensive light/dark mode CSS variables with semantic naming - Implement theme-aware scrollbars using CSS variables - Add light mode backgrounds: --bg-base, --bg-elevated, --bg-surface, etc. - Add theme-aware borders: --border-base, --border-panel, --border-subtle - Add semantic text colors: --foreground-secondary, --foreground-subtle - Convert oklch colors to hex for better compatibility - Add theme awareness to CodeMirror editors - Update dark mode colors for consistency (background, sidebar, card, muted, input) - Add Tailwind color mappings for semantic classes Co-authored-by: Luke Gustafson <88517757+LukeGus@users.noreply.github.com> * fix: syntax errors * chore: updating/match themes and split admin settings * feat: add translation workflow and remove old translation.json * fix: translation workflow error * fix: translation workflow error * feat: improve translation system and update workflow * fix: wrong path for translations * fix: change translation to flat files * fix: gh rule error * chore: auto-translate to multiple languages (#458) * chore: improve organization and made a few styling changes in host manager * feat: improve terminal stability and split out the host manager * fix: add unnversiioned files * chore: migrate all to use the new theme system * fix: wrong animation line colors * fix: rbac implementation general issues (local squash) * fix: remove unneeded files * feat: add 10 new langs * chore: update gitnore * chore: auto-translate to multiple languages (#459) * fix: improve tunnel system * fix: properly split tabs, still need to fix up the host manager * chore: cleanup files (possible RC) * feat: add norwegian * chore: auto-translate to multiple languages (#461) * fix: small qol fixes and began readme update * fix: run cleanup script * feat: add docker docs button * feat: general bug fixes and readme updates * fix: translations * chore: auto-translate to multiple languages (#462) * fix: cleanup files * fix: test new translation issue and add better server-stats support * fix: fix translate error * chore: auto-translate to multiple languages (#463) * fix: fix translate mismatching text * chore: auto-translate to multiple languages (#465) * fix: fix translate mismatching text * fix: fix translate mismatching text * chore: auto-translate to multiple languages (#466) * fix: fix translate mismatching text * fix: fix translate mismatching text * fix: fix translate mismatching text * chore: auto-translate to multiple languages (#467) * fix: fix translate mismatching text * chore: auto-translate to multiple languages (#468) * feat: add to readme, a few qol changes, and improve server stats in general * chore: auto-translate to multiple languages (#469) * feat: turned disk uage into graph and fixed issue with termina console * fix: electron build error and hide icons when shared * chore: run clean * fix: general server stats issues, file manager decoding, ui qol * fix: add dashboard line breaks * fix: docker console error * fix: docker console not loading and mismatched stripped background for electron * fix: docker console not loading * chore: docker console not loading in docker * chore: translate readme to chinese * chore: match package lock to package json * chore: nginx config issue for dokcer console * chore: auto-translate to multiple languages (#470) --------- Co-authored-by: Tran Trung Kien <kientt13.7@gmail.com> Co-authored-by: junu <bigdwarf_@naver.com> Co-authored-by: 송준우 <2484@coreit.co.kr> Co-authored-by: SlimGary <trash.slim@gmail.com> Co-authored-by: Nunzio Marfè <nunzio.marfe@protonmail.com> Co-authored-by: Wesley Reid <starhound@lostsouls.org> Co-authored-by: ZacharyZcR <zacharyzcr1984@gmail.com> Co-authored-by: Denis <38875137+Medvedinca@users.noreply.github.com> Co-authored-by: Peet McKinney <68706879+PeetMcK@users.noreply.github.com>
2402 lines
184 KiB
JSON
2402 lines
184 KiB
JSON
{
|
||
"credentials": {
|
||
"credentialsViewer": "Программа просмотра учетных данных",
|
||
"manageYourSSHCredentials": "Управляйте своими учетными данными SSH безопасно.",
|
||
"addCredential": "Добавить учетные данные",
|
||
"createCredential": "Создать учетные данные",
|
||
"editCredential": "Редактировать учетные данные",
|
||
"viewCredential": "Просмотреть учетные данные",
|
||
"duplicateCredential": "Дубликат учетных данных",
|
||
"deleteCredential": "Удалить учетные данные",
|
||
"updateCredential": "Обновить учетные данные",
|
||
"credentialName": "Имя учетных данных",
|
||
"credentialDescription": "Описание",
|
||
"username": "Имя пользователя",
|
||
"searchCredentials": "Поиск учетных данных...",
|
||
"selectFolder": "Выберите папку",
|
||
"selectAuthType": "Выберите тип аутентификации",
|
||
"allFolders": "Все папки",
|
||
"allAuthTypes": "Все типы авторизации",
|
||
"uncategorized": "Без категории",
|
||
"totalCredentials": "Общий",
|
||
"keyBased": "на основе ключей",
|
||
"passwordBased": "на основе паролей",
|
||
"folders": "Папки",
|
||
"noCredentialsMatchFilters": "Учетные данные не соответствуют вашим фильтрам.",
|
||
"noCredentialsYet": "Учетные данные пока не созданы.",
|
||
"createFirstCredential": "Создайте свои первые учетные данные.",
|
||
"failedToFetchCredentials": "Не удалось получить учетные данные.",
|
||
"credentialDeletedSuccessfully": "Учетные данные успешно удалены.",
|
||
"failedToDeleteCredential": "Не удалось удалить учетные данные.",
|
||
"confirmDeleteCredential": "Вы уверены, что хотите удалить учетные данные \"{{name}}\"?",
|
||
"credentialCreatedSuccessfully": "Учетные данные успешно созданы.",
|
||
"credentialUpdatedSuccessfully": "Учетные данные успешно обновлены.",
|
||
"failedToSaveCredential": "Не удалось сохранить учетные данные.",
|
||
"failedToFetchCredentialDetails": "Не удалось получить данные учетных данных.",
|
||
"failedToFetchHostsUsing": "Не удалось получить список хостов, используя эти учетные данные.",
|
||
"loadingCredentials": "Загрузка учетных данных...",
|
||
"retry": "Повторить попытку",
|
||
"noCredentials": "Нет учетных данных",
|
||
"noCredentialsMessage": "Вы еще не добавили учетные данные. Нажмите «Добавить учетные данные», чтобы начать.",
|
||
"sshCredentials": "Учетные данные SSH",
|
||
"credentialsCount": "{{count}} учетные данные",
|
||
"refresh": "Обновить",
|
||
"passwordRequired": "Требуется пароль",
|
||
"sshKeyRequired": "Требуется SSH-ключ.",
|
||
"credentialAddedSuccessfully": "Учетные данные \"{{name}}\" успешно добавлены.",
|
||
"general": "Общий",
|
||
"description": "Описание",
|
||
"folder": "Папка",
|
||
"tags": "Теги",
|
||
"addTagsSpaceToAdd": "Добавить теги (нажмите пробел для добавления)",
|
||
"password": "Пароль",
|
||
"key": "Ключ",
|
||
"sshPrivateKey": "Закрытый ключ SSH",
|
||
"upload": "Загрузить",
|
||
"updateKey": "Ключ обновления",
|
||
"keyPassword": "Ключ Пароль",
|
||
"keyType": "Тип ключа",
|
||
"keyTypeRSA": "ЮАР",
|
||
"keyTypeECDSA": "ECDSA",
|
||
"keyTypeEd25519": "Ed25519",
|
||
"basicInfo": "Основная информация",
|
||
"authentication": "Аутентификация",
|
||
"organization": "Организация",
|
||
"basicInformation": "Основная информация",
|
||
"basicInformationDescription": "Введите основные данные для этих учетных данных.",
|
||
"authenticationMethod": "Метод аутентификации",
|
||
"authenticationMethodDescription": "Выберите способ аутентификации на SSH-серверах.",
|
||
"organizationDescription": "Организуйте свои учетные данные с помощью папок и тегов.",
|
||
"enterCredentialName": "Введите имя учетных данных",
|
||
"enterCredentialDescription": "Введите описание (необязательно)",
|
||
"enterUsername": "Введите имя пользователя",
|
||
"nameIsRequired": "Требуется указать имя учетных данных.",
|
||
"usernameIsRequired": "Имя пользователя обязательно.",
|
||
"authenticationType": "Тип аутентификации",
|
||
"passwordAuthDescription": "Используйте аутентификацию по паролю.",
|
||
"sshKeyAuthDescription": "Используйте аутентификацию по SSH-ключу.",
|
||
"passwordIsRequired": "Требуется пароль",
|
||
"sshKeyIsRequired": "Требуется SSH-ключ.",
|
||
"sshKeyType": "Тип ключа SSH",
|
||
"privateKey": "Закрытый ключ",
|
||
"enterPassword": "Введите пароль",
|
||
"enterPrivateKey": "Введите закрытый ключ",
|
||
"keyPassphrase": "Ключевая кодовая фраза",
|
||
"enterKeyPassphrase": "Введите пароль (необязательно)",
|
||
"keyPassphraseOptional": "Необязательно: оставьте поле пустым, если ваш ключ не имеет парольной фразы.",
|
||
"leaveEmptyToKeepCurrent": "Оставьте поле пустым, чтобы сохранить текущее значение.",
|
||
"uploadKeyFile": "Загрузить ключевой файл",
|
||
"generateKeyPairButton": "Сгенерировать пару ключей",
|
||
"generateKeyPair": "Сгенерировать пару ключей",
|
||
"generateKeyPairDescription": "Сгенерируйте новую пару SSH-ключей. Если вы хотите защитить ключ парольной фразой, сначала введите ее в поле «Пароль ключа» ниже.",
|
||
"deploySSHKey": "Развернуть SSH-ключ",
|
||
"deploySSHKeyDescription": "Разверните открытый ключ на целевом сервере.",
|
||
"sourceCredential": "Исходные учетные данные",
|
||
"targetHost": "Целевой хост",
|
||
"deploymentProcess": "Процесс развертывания",
|
||
"deploymentProcessDescription": "Это позволит безопасно добавить открытый ключ в файл ~/.ssh/authorized_keys целевого хоста без перезаписи существующих ключей. Операция обратима.",
|
||
"chooseHostToDeploy": "Выберите хост для развертывания...",
|
||
"deploying": "Развертывание...",
|
||
"name": "Имя",
|
||
"noHostsAvailable": "Нет доступных хостов",
|
||
"noHostsMatchSearch": "Поиск не дал результатов.",
|
||
"sshKeyGenerationNotImplemented": "Функция генерации SSH-ключей появится в ближайшее время.",
|
||
"connectionTestingNotImplemented": "Функция проверки соединения появится в ближайшее время.",
|
||
"testConnection": "Проверить соединение",
|
||
"selectOrCreateFolder": "Выберите или создайте папку",
|
||
"noFolder": "Нет папки",
|
||
"orCreateNewFolder": "Или создайте новую папку",
|
||
"addTag": "Добавить тег",
|
||
"saving": "Сохранение...",
|
||
"credentialId": "Идентификатор учетных данных",
|
||
"overview": "Обзор",
|
||
"security": "Безопасность",
|
||
"usage": "Использование",
|
||
"securityDetails": "Сведения о безопасности",
|
||
"securityDetailsDescription": "Просмотреть зашифрованную информацию об учетных данных",
|
||
"credentialSecured": "Учетные данные защищены",
|
||
"credentialSecuredDescription": "Все конфиденциальные данные зашифрованы с помощью AES-256.",
|
||
"passwordAuthentication": "Аутентификация по паролю",
|
||
"keyAuthentication": "Аутентификация по ключу",
|
||
"securityReminder": "Напоминание о безопасности",
|
||
"securityReminderText": "Никогда не сообщайте свои учетные данные. Все данные в состоянии покоя зашифрованы.",
|
||
"hostsUsingCredential": "Хосты, использующие эти учетные данные",
|
||
"noHostsUsingCredential": "В настоящее время ни один хост не использует эти учетные данные.",
|
||
"timesUsed": "Количество использований",
|
||
"lastUsed": "Последнее использование",
|
||
"connectedHosts": "Подключенные хосты",
|
||
"created": "Созданный",
|
||
"lastModified": "Последнее изменение",
|
||
"usageStatistics": "Статистика использования",
|
||
"copiedToClipboard": "{{field}} скопировано в буфер обмена",
|
||
"failedToCopy": "Не удалось скопировать в буфер обмена.",
|
||
"sshKey": "SSH-ключ",
|
||
"createCredentialDescription": "Создайте новые учетные данные SSH для безопасного доступа.",
|
||
"editCredentialDescription": "Обновите учетные данные.",
|
||
"listView": "Список",
|
||
"folderView": "Папки",
|
||
"unknownCredential": "Неизвестный",
|
||
"confirmRemoveFromFolder": "Вы уверены, что хотите удалить \"{{name}}\" из папки \"{{folder}}\"? Учетные данные будут перемещены в \"Без категории\".",
|
||
"removedFromFolder": "Учетные данные \"{{name}}\" успешно удалены из папки.",
|
||
"failedToRemoveFromFolder": "Не удалось удалить учетные данные из папки.",
|
||
"folderRenamed": "Папка \"{{oldName}}\" успешно переименована в \"{{newName}}\".",
|
||
"failedToRenameFolder": "Не удалось переименовать папку.",
|
||
"movedToFolder": "Учетные данные \"{{name}}\" успешно перемещены в \"{{folder}}\".",
|
||
"failedToMoveToFolder": "Не удалось переместить учетные данные в папку.",
|
||
"sshPublicKey": "Открытый ключ SSH",
|
||
"publicKeyNote": "Открытый ключ является необязательным, но рекомендуется для проверки подлинности ключа.",
|
||
"publicKeyUploaded": "Открытый ключ загружен",
|
||
"uploadPublicKey": "Загрузить открытый ключ",
|
||
"uploadPrivateKeyFile": "Загрузите файл закрытого ключа.",
|
||
"uploadPublicKeyFile": "Загрузите файл открытого ключа.",
|
||
"privateKeyRequiredForGeneration": "Для генерации открытого ключа необходим закрытый ключ.",
|
||
"failedToGeneratePublicKey": "Не удалось сгенерировать открытый ключ.",
|
||
"generatePublicKey": "Сгенерировать из закрытого ключа",
|
||
"publicKeyGeneratedSuccessfully": "Открытый ключ успешно сгенерирован.",
|
||
"detectedKeyType": "Обнаружен тип ключа",
|
||
"detectingKeyType": "обнаружение...",
|
||
"optional": "Необязательный",
|
||
"generateKeyPairNew": "Сгенерировать новую пару ключей",
|
||
"generateEd25519": "Сгенерировать Ed25519",
|
||
"generateECDSA": "Сгенерировать ECDSA",
|
||
"generateRSA": "Сгенерировать RSA",
|
||
"keyTypeEcdsaP256": "ECDSA P-256 (SSH)",
|
||
"keyTypeEcdsaP384": "ECDSA P-384 (SSH)",
|
||
"keyTypeEcdsaP521": "ECDSA P-521 (SSH)",
|
||
"keyTypeDsa": "DSA (SSH)",
|
||
"keyTypeRsaSha256": "RSA-SHA2-256",
|
||
"keyTypeRsaSha512": "RSA-SHA2-512",
|
||
"keyPairGeneratedSuccessfully": "{{keyType}} пара ключей успешно сгенерирована",
|
||
"failedToGenerateKeyPair": "Не удалось сгенерировать пару ключей.",
|
||
"generateKeyPairNote": "Сгенерируйте новую пару SSH-ключей напрямую. Это заменит все существующие ключи в форме.",
|
||
"invalidKey": "Недействительный ключ",
|
||
"detectionError": "Ошибка обнаружения",
|
||
"removing": "Удаление:",
|
||
"clickToEditCredential": "Нажмите, чтобы изменить учетные данные.",
|
||
"dragToMoveBetweenFolders": "Перетаскивайте мышью, чтобы перемещаться между папками.",
|
||
"keyBasedOnlyForDeployment": "Развертывать можно только учетные данные на основе SSH-ключей.",
|
||
"publicKeyRequiredForDeployment": "Для развертывания требуется открытый ключ.",
|
||
"selectTargetHost": "Пожалуйста, выберите целевой хост.",
|
||
"keyDeployedSuccessfully": "SSH-ключ успешно развернут.",
|
||
"deploymentFailed": "Развертывание не удалось.",
|
||
"failedToDeployKey": "Не удалось развернуть SSH-ключ.",
|
||
"clickToRenameFolder": "Нажмите, чтобы переименовать папку.",
|
||
"renameFolder": "Переименовать папку",
|
||
"idLabel": "ИДЕНТИФИКАТОР:"
|
||
},
|
||
"dragIndicator": {
|
||
"error": "Ошибка: {{error}}",
|
||
"dragging": "Перетаскивание {{fileName}}",
|
||
"preparing": "Подготовка {{fileName}}",
|
||
"readySingle": "Готово к загрузке {{fileName}}",
|
||
"readyMultiple": "Готовы к загрузке {{count}} файлов",
|
||
"batchDrag": "Перетащите {{count}} файлов на рабочий стол",
|
||
"dragToDesktop": "Перетащите на рабочий стол",
|
||
"canDragAnywhere": "Вы можете перетаскивать файлы в любое место на рабочем столе."
|
||
},
|
||
"sshTools": {
|
||
"title": "Инструменты SSH",
|
||
"closeTools": "Закрыть инструменты SSH",
|
||
"keyRecording": "Ключевая запись",
|
||
"startKeyRecording": "Начать запись с нажатия клавиши",
|
||
"stopKeyRecording": "Остановить запись нажатия клавиши",
|
||
"selectTerminals": "Выберите терминалы:",
|
||
"typeCommands": "Вводите команды (поддерживаются все клавиши):",
|
||
"commandsWillBeSent": "Команды будут отправлены на {{count}} выбранных терминалов.",
|
||
"settings": "Настройки",
|
||
"enableRightClickCopyPaste": "Включить копирование/вставку по щелчку правой кнопкой мыши",
|
||
"shareIdeas": "Есть идеи о том, что должно появиться в будущем для инструментов SSH? Поделитесь ими в социальных сетях.",
|
||
"scripts": {
|
||
"inputPlaceholder": "например, системные команды, скрипты Docker."
|
||
}
|
||
},
|
||
"snippets": {
|
||
"title": "Фрагменты",
|
||
"new": "Новый фрагмент",
|
||
"create": "Создать фрагмент",
|
||
"edit": "Редактировать фрагмент",
|
||
"run": "Бегать",
|
||
"empty": "Пока нет фрагментов.",
|
||
"emptyHint": "Создайте фрагмент кода для сохранения часто используемых команд.",
|
||
"searchSnippets": "Поисковые фрагменты...",
|
||
"name": "Имя",
|
||
"description": "Описание",
|
||
"content": "Командование",
|
||
"namePlaceholder": "например, перезапустите Nginx.",
|
||
"descriptionPlaceholder": "Дополнительное описание",
|
||
"contentPlaceholder": "например, sudo systemctl restart nginx",
|
||
"nameRequired": "Имя обязательно для указания.",
|
||
"contentRequired": "Требуется команда",
|
||
"createDescription": "Создайте новый фрагмент команды для быстрого выполнения.",
|
||
"editDescription": "Отредактируйте этот фрагмент команды",
|
||
"deleteConfirmTitle": "Удалить фрагмент",
|
||
"deleteConfirmDescription": "Вы уверены, что хотите удалить \"{{name}}\"?",
|
||
"createSuccess": "Фрагмент кода успешно создан.",
|
||
"updateSuccess": "Фрагмент кода успешно обновлен.",
|
||
"deleteSuccess": "Фрагмент успешно удален.",
|
||
"createFailed": "Не удалось создать фрагмент",
|
||
"updateFailed": "Не удалось обновить фрагмент кода.",
|
||
"deleteFailed": "Не удалось удалить фрагмент",
|
||
"failedToFetch": "Не удалось получить фрагменты текста.",
|
||
"executeSuccess": "Выполняется: {{name}}",
|
||
"copySuccess": "Скопировано \"{{name}}\" в буфер обмена",
|
||
"runTooltip": "Выполните этот фрагмент кода в терминале.",
|
||
"copyTooltip": "Скопировать фрагмент в буфер обмена",
|
||
"editTooltip": "Отредактируйте этот фрагмент",
|
||
"deleteTooltip": "Удалите этот фрагмент",
|
||
"newFolder": "Новая папка",
|
||
"reorderSameFolder": "Изменять порядок фрагментов можно только в пределах одной папки.",
|
||
"reorderSuccess": "Фрагменты успешно переупорядочены.",
|
||
"reorderFailed": "Не удалось изменить порядок фрагментов.",
|
||
"deleteFolderConfirm": "Удалить папку \"{{name}}\"? Все фрагменты будут перемещены в рубрику \"Без категории\".",
|
||
"deleteFolderSuccess": "Папка успешно удалена.",
|
||
"deleteFolderFailed": "Не удалось удалить папку.",
|
||
"updateFolderSuccess": "Папка успешно обновлена.",
|
||
"createFolderSuccess": "Папка успешно создана.",
|
||
"updateFolderFailed": "Не удалось обновить папку.",
|
||
"createFolderFailed": "Не удалось создать папку.",
|
||
"selectTerminals": "Выберите терминалы (необязательно)",
|
||
"executeOnSelected": "Выполнить на {{count}} выбранном(ых) терминале(ах)",
|
||
"executeOnCurrent": "Выполнить на текущем терминале (щелкните, чтобы выбрать несколько)",
|
||
"folder": "Папка",
|
||
"selectFolder": "Выберите папку или оставьте поле пустым.",
|
||
"noFolder": "Нет папки (Без категории)",
|
||
"folderName": "Название папки",
|
||
"folderNameRequired": "Название папки обязательно для указания.",
|
||
"folderColor": "Цвет папки",
|
||
"folderIcon": "Значок папки",
|
||
"preview": "Предварительный просмотр",
|
||
"updateFolder": "Обновить папку",
|
||
"createFolder": "Создать папку",
|
||
"editFolder": "Редактировать папку",
|
||
"editFolderDescription": "Настройте папку для фрагментов кода",
|
||
"createFolderDescription": "Организуйте свои фрагменты кода по папкам."
|
||
},
|
||
"commandHistory": {
|
||
"title": "История",
|
||
"searchPlaceholder": "Поиск команд...",
|
||
"noTerminal": "Нет активного терминала",
|
||
"noTerminalHint": "Откройте терминал, чтобы просмотреть историю выполненных команд.",
|
||
"empty": "История команд пока отсутствует.",
|
||
"emptyHint": "Выполняйте команды в активном терминале, чтобы создать историю его работы.",
|
||
"noResults": "Команды не найдены",
|
||
"noResultsHint": "Команды, соответствующие \"{{query}}\", не найдены.",
|
||
"deleteSuccess": "Команда удалена из истории",
|
||
"deleteFailed": "Не удалось удалить команду.",
|
||
"deleteTooltip": "Удалить команду",
|
||
"tabHint": "Используйте клавишу Tab в терминале для автозаполнения команд из истории команд, если эта функция включена в профиле пользователя.",
|
||
"authRequiredRefresh": "Требуется аутентификация. Пожалуйста, обновите страницу.",
|
||
"dataAccessLockedReauth": "Доступ к данным заблокирован. Пожалуйста, пройдите повторную аутентификацию.",
|
||
"loading": "Загрузка истории команд...",
|
||
"error": "Ошибка загрузки истории"
|
||
},
|
||
"splitScreen": {
|
||
"title": "Разделенный экран",
|
||
"none": "Никто",
|
||
"twoSplit": "Двустороннее",
|
||
"threeSplit": "3-сторонний",
|
||
"fourSplit": "4-сторонний",
|
||
"availableTabs": "Доступные вкладки",
|
||
"dragTabsHint": "Перетащите вкладки в ячейки макета ниже, чтобы назначить им соответствующие элементы.",
|
||
"layout": "Разделенный экран",
|
||
"dropHere": "Перетащите вкладку сюда",
|
||
"apply": "Применить разделение",
|
||
"clear": "Чистое разделение",
|
||
"selectMode": "Выберите режим разделенного экрана",
|
||
"helpText": "Выберите, сколько вкладок вы хотите просматривать одновременно.",
|
||
"success": "Режим разделенного экрана успешно применен.",
|
||
"cleared": "Разделенный экран очищен",
|
||
"error": {
|
||
"noAssignments": "Пожалуйста, назначьте хотя бы одну вкладку для этого макета.",
|
||
"fillAllSlots": "Пожалуйста, заполните все {{count}} поля перед подачей заявки."
|
||
}
|
||
},
|
||
"homepage": {
|
||
"loggedInTitle": "Я вошел в систему!",
|
||
"loggedInMessage": "Вы вошли в систему! Используйте боковую панель для доступа ко всем доступным инструментам. Для начала создайте SSH-хост на вкладке «Менеджер SSH». После создания вы сможете подключиться к этому хосту, используя другие приложения на боковой панели.",
|
||
"failedToLoadAlerts": "Не удалось загрузить оповещения",
|
||
"failedToDismissAlert": "Не удалось закрыть оповещение"
|
||
},
|
||
"serverConfig": {
|
||
"title": "Конфигурация сервера",
|
||
"description": "Настройте URL-адрес сервера Termix для подключения к вашим внутренним службам.",
|
||
"serverUrl": "URL сервера",
|
||
"enterServerUrl": "Пожалуйста, введите URL-адрес сервера.",
|
||
"testConnectionFirst": "Пожалуйста, сначала проверьте соединение.",
|
||
"connectionSuccess": "Соединение установлено!",
|
||
"connectionFailed": "Соединение не удалось.",
|
||
"connectionError": "Произошла ошибка подключения.",
|
||
"connected": "Подключено",
|
||
"disconnected": "Отключено",
|
||
"configSaved": "Настройки успешно сохранены.",
|
||
"saveFailed": "Не удалось сохранить конфигурацию.",
|
||
"saveError": "Ошибка сохранения конфигурации",
|
||
"saving": "Сохранение...",
|
||
"saveConfig": "Сохранение конфигурации",
|
||
"helpText": "Введите URL-адрес, по которому работает ваш сервер Termix (например, http://localhost:30001 или https://your-server.com).",
|
||
"warning": "Предупреждение",
|
||
"notValidatedWarning": "URL-адрес не проверен — убедитесь, что он корректен.",
|
||
"changeServer": "Сменить сервер",
|
||
"mustIncludeProtocol": "URL-адрес сервера должен начинаться с http:// или https://"
|
||
},
|
||
"versionCheck": {
|
||
"error": "Ошибка проверки версии",
|
||
"checkFailed": "Не удалось проверить наличие обновлений.",
|
||
"upToDate": "Приложение обновлено.",
|
||
"currentVersion": "Вы используете версию {{version}}",
|
||
"updateAvailable": "Доступно обновление",
|
||
"newVersionAvailable": "Доступна новая версия! Вы используете версию {{current}}, но доступна версия {{latest}}.",
|
||
"releasedOn": "Выпущено 29 числа.",
|
||
"downloadUpdate": "Скачать обновление",
|
||
"dismiss": "Увольнять",
|
||
"checking": "Проверяем наличие обновлений...",
|
||
"checkUpdates": "Проверьте наличие обновлений.",
|
||
"checkingUpdates": "Проверяем наличие обновлений...",
|
||
"refresh": "Обновить",
|
||
"updateRequired": "Требуется обновление",
|
||
"updateDismissed": "Уведомление об обновлении отклонено",
|
||
"noUpdatesFound": "Обновлений не найдено"
|
||
},
|
||
"common": {
|
||
"close": "Закрывать",
|
||
"minimize": "Свести к минимуму",
|
||
"online": "Онлайн",
|
||
"offline": "Офлайн",
|
||
"continue": "Продолжать",
|
||
"maintenance": "Обслуживание",
|
||
"degraded": "Деградировавший",
|
||
"discord": "Discord",
|
||
"error": "Ошибка",
|
||
"warning": "Предупреждение",
|
||
"info": "Информация",
|
||
"success": "Успех",
|
||
"loading": "Загрузка...",
|
||
"required": "Необходимый",
|
||
"optional": "Необязательный",
|
||
"connect": "Соединять",
|
||
"connecting": "Подключение...",
|
||
"creating": "Создание...",
|
||
"clear": "Прозрачный",
|
||
"toggleSidebar": "Переключить боковую панель",
|
||
"sidebar": "Боковая панель",
|
||
"home": "Дом",
|
||
"expired": "Истекший",
|
||
"expiresToday": "Срок действия истекает сегодня.",
|
||
"expiresTomorrow": "Срок действия истекает через {{date}} дней",
|
||
"updateAvailable": "Доступно обновление",
|
||
"sshPath": "Путь SSH",
|
||
"localPath": "Локальный путь",
|
||
"appName": "Термикс",
|
||
"resetSidebarWidth": "Сбросить ширину боковой панели",
|
||
"dragToResizeSidebar": "Перетащите для изменения размера боковой панели.",
|
||
"noAuthCredentials": "Для этого SSH-хоста отсутствуют учетные данные для аутентификации.",
|
||
"noReleases": "Нет релизов",
|
||
"updatesAndReleases": "Обновления и релизы",
|
||
"newVersionAvailable": "Доступна новая версия ({{days}}).",
|
||
"failedToFetchUpdateInfo": "Не удалось получить информацию об обновлении.",
|
||
"preRelease": "Предварительный релиз",
|
||
"loginFailed": "Ошибка входа",
|
||
"noReleasesFound": "Релизы не найдены.",
|
||
"yourBackupCodes": "Ваши резервные коды",
|
||
"sendResetCode": "Отправить код сброса",
|
||
"verifyCode": "Подтвердите код",
|
||
"resetPassword": "Сбросить пароль",
|
||
"resetCode": "Код сброса",
|
||
"newPassword": "Новый пароль",
|
||
"folder": "Папка",
|
||
"file": "Файл",
|
||
"renamedSuccessfully": "переименовано успешно",
|
||
"deletedSuccessfully": "удалено успешно",
|
||
"noTunnelConnections": "Туннельные соединения не настроены",
|
||
"sshTools": "Инструменты SSH",
|
||
"english": "Английский",
|
||
"chinese": "китайский",
|
||
"german": "немецкий",
|
||
"cancel": "Отмена",
|
||
"username": "Имя пользователя",
|
||
"name": "Имя",
|
||
"login": "Авторизоваться",
|
||
"logout": "Выйти",
|
||
"register": "Регистрация",
|
||
"password": "Пароль",
|
||
"version": "Версия",
|
||
"confirmPassword": "Подтвердите пароль",
|
||
"back": "Назад",
|
||
"email": "Электронная почта",
|
||
"submit": "Представлять на рассмотрение",
|
||
"change": "Изменять",
|
||
"save": "Сохранять",
|
||
"saving": "Сохранение...",
|
||
"delete": "Удалить",
|
||
"edit": "Редактировать",
|
||
"add": "Добавлять",
|
||
"search": "Поиск",
|
||
"confirm": "Подтверждать",
|
||
"yes": "Да",
|
||
"no": "Нет",
|
||
"ok": "ХОРОШО",
|
||
"enabled": "Включено",
|
||
"disabled": "Неполноценный",
|
||
"important": "Важный",
|
||
"notEnabled": "Не включено",
|
||
"settingUp": "Настройка...",
|
||
"next": "Следующий",
|
||
"previous": "Предыдущий",
|
||
"refresh": "Обновить",
|
||
"settings": "Настройки",
|
||
"profile": "Профиль",
|
||
"help": "Помощь",
|
||
"about": "О",
|
||
"language": "Язык",
|
||
"autoDetect": "Автоматическое определение",
|
||
"changeAccountPassword": "Измените пароль своей учетной записи",
|
||
"passwordResetTitle": "Сброс пароля",
|
||
"passwordResetDescription": "Вы собираетесь сбросить свой пароль. Это приведет к выходу из всех активных сессий.",
|
||
"enterSixDigitCode": "Введите 6-значный код из логов контейнера Docker для пользователя:",
|
||
"enterNewPassword": "Введите новый пароль для пользователя:",
|
||
"passwordsDoNotMatch": "Пароли не совпадают",
|
||
"passwordMinLength": "Пароль должен состоять не менее чем из 6 символов.",
|
||
"passwordResetSuccess": "Пароль успешно сброшен! Теперь вы можете войти в систему с новым паролем.",
|
||
"failedToInitiatePasswordReset": "Не удалось инициировать сброс пароля.",
|
||
"failedToVerifyResetCode": "Не удалось проверить код сброса",
|
||
"failedToCompletePasswordReset": "Сброс пароля не удался.",
|
||
"documentation": "Документация",
|
||
"retry": "Повторить попытку",
|
||
"checking": "Проверка...",
|
||
"checkingDatabase": "Проверка подключения к базе данных...",
|
||
"actions": "Действия",
|
||
"remove": "Удалять",
|
||
"revoke": "Отменить",
|
||
"create": "Создавать"
|
||
},
|
||
"nav": {
|
||
"home": "Дом",
|
||
"hosts": "Хозяева",
|
||
"credentials": "Реквизиты для входа",
|
||
"terminal": "Терминал",
|
||
"docker": "Docker",
|
||
"tunnels": "Туннели",
|
||
"fileManager": "Файловый менеджер",
|
||
"serverStats": "Статистика сервера",
|
||
"admin": "Администратор",
|
||
"userProfile": "Профиль пользователя",
|
||
"tools": "Инструменты",
|
||
"snippets": "Фрагменты",
|
||
"newTab": "Новая вкладка",
|
||
"splitScreen": "Разделенный экран",
|
||
"closeTab": "Закрыть вкладку",
|
||
"sshManager": "Менеджер SSH",
|
||
"hostManager": "Менеджер хоста",
|
||
"cannotSplitTab": "Невозможно разделить эту вкладку",
|
||
"tabNavigation": "Навигация по вкладкам",
|
||
"hostTabTitle": "{{version}}@{{username}}:{{ip}}"
|
||
},
|
||
"admin": {
|
||
"title": "Настройки администратора",
|
||
"oidc": "ОИДК",
|
||
"users": "Пользователи",
|
||
"userManagement": "Управление пользователями",
|
||
"makeAdmin": "Сделать администратором",
|
||
"removeAdmin": "Удалить администратора",
|
||
"deleteUser": "Удалить пользователя {{port}}? Это действие необратимо.",
|
||
"allowRegistration": "Разрешить регистрацию",
|
||
"oidcSettings": "Настройки OIDC",
|
||
"clientId": "Идентификатор клиента",
|
||
"clientSecret": "Секрет клиента",
|
||
"issuerUrl": "URL эмитента",
|
||
"authorizationUrl": "URL авторизации",
|
||
"tokenUrl": "URL токена",
|
||
"updateSettings": "Обновить настройки",
|
||
"confirmDelete": "Вы уверены, что хотите удалить этого пользователя?",
|
||
"confirmMakeAdmin": "Вы уверены, что хотите сделать {{username}} администратором?",
|
||
"confirmRemoveAdmin": "Вы уверены, что хотите удалить статус администратора у {{username}}?",
|
||
"externalAuthentication": "Внешняя аутентификация (OIDC)",
|
||
"configureExternalProvider": "Настройте внешний поставщик идентификации для аутентификации OIDC/OAuth2.",
|
||
"userIdentifierPath": "Путь идентификатора пользователя",
|
||
"displayNamePath": "Отображаемый путь к имени",
|
||
"scopes": "Области применения",
|
||
"saving": "Сохранение...",
|
||
"saveConfiguration": "Сохранение конфигурации",
|
||
"reset": "Перезагрузить",
|
||
"success": "Успех",
|
||
"loading": "Загрузка...",
|
||
"refresh": "Обновить",
|
||
"loadingUsers": "Загрузка пользователей...",
|
||
"username": "Имя пользователя",
|
||
"type": "Тип",
|
||
"actions": "Действия",
|
||
"external": "Внешний",
|
||
"local": "Местный",
|
||
"adminManagement": "Административное управление",
|
||
"makeUserAdmin": "Назначить пользователя администратором",
|
||
"adding": "Добавляем...",
|
||
"currentAdmins": "Текущие администраторы",
|
||
"adminBadge": "Администратор",
|
||
"removeAdminButton": "Удалить администратора",
|
||
"general": "Общий",
|
||
"userRegistration": "Регистрация пользователя",
|
||
"allowNewAccountRegistration": "Разрешить регистрацию новых учетных записей",
|
||
"allowPasswordLogin": "Разрешить вход по имени пользователя/паролю",
|
||
"missingRequiredFields": "Отсутствуют обязательные поля: {{username}}",
|
||
"oidcConfigurationUpdated": "Конфигурация OIDC успешно обновлена!",
|
||
"failedToFetchOidcConfig": "Не удалось получить конфигурацию OIDC.",
|
||
"failedToFetchRegistrationStatus": "Не удалось получить статус регистрации.",
|
||
"failedToFetchPasswordLoginStatus": "Не удалось получить статус входа по паролю.",
|
||
"failedToFetchUsers": "Не удалось получить список пользователей.",
|
||
"oidcConfigurationDisabled": "Конфигурация OIDC успешно отключена!",
|
||
"failedToUpdateOidcConfig": "Не удалось обновить конфигурацию OIDC.",
|
||
"failedToDisableOidcConfig": "Не удалось отключить конфигурацию OIDC.",
|
||
"enterUsernameToMakeAdmin": "Введите имя пользователя, чтобы сделать его администратором.",
|
||
"userIsNowAdmin": "Пользователь {{fields}} теперь администратор.",
|
||
"failedToMakeUserAdmin": "Не удалось назначить пользователя администратором.",
|
||
"removeAdminStatus": "Удалить административный статус из {{username}}?",
|
||
"adminStatusRemoved": "Административный статус удален из {{username}}",
|
||
"failedToRemoveAdminStatus": "Не удалось удалить статус администратора.",
|
||
"userDeletedSuccessfully": "Пользователь {{username}} успешно удален",
|
||
"failedToDeleteUser": "Не удалось удалить пользователя.",
|
||
"overrideUserInfoUrl": "Переопределить URL-адрес информации о пользователе (необязательно)",
|
||
"failedToFetchSessions": "Не удалось получить сессии.",
|
||
"sessionRevokedSuccessfully": "Сессия успешно отменена.",
|
||
"failedToRevokeSession": "Не удалось отменить сессию.",
|
||
"confirmRevokeSession": "Вы уверены, что хотите отменить эту сессию?",
|
||
"confirmRevokeAllSessions": "Вы уверены, что хотите аннулировать все сессии для этого пользователя?",
|
||
"failedToRevokeSessions": "Не удалось отменить сессии.",
|
||
"sessionsRevokedSuccessfully": "Заседания успешно отменены.",
|
||
"linkToPasswordAccount": "Ссылка на учетную запись с паролем",
|
||
"linkOIDCDialogTitle": "Свяжите учетную запись OIDC с учетной записью, имеющей пароль.",
|
||
"linkOIDCDialogDescription": "Свяжите {{username}} (пользователя OIDC) с существующей учетной записью с паролем. Это позволит включить двойную аутентификацию для учетной записи с паролем.",
|
||
"createUser": "Создать пользователя",
|
||
"createUserDescription": "Создайте нового локального пользователя с именем пользователя и паролем.",
|
||
"enterUsername": "Введите имя пользователя",
|
||
"enterPassword": "Введите пароль",
|
||
"userCreatedSuccessfully": "Пользователь {{username}} успешно создан",
|
||
"failedToCreateUser": "Не удалось создать пользователя.",
|
||
"manageUser": "Управление пользователями",
|
||
"manageUserDescription": "Управление настройками пользователей, ролями и правами доступа.",
|
||
"authType": "Тип аутентификации",
|
||
"adminStatus": "Статус администратора",
|
||
"userId": "ID пользователя",
|
||
"regularUser": "Обычный пользователь",
|
||
"adminPrivileges": "Права администратора",
|
||
"administratorRole": "Роль администратора",
|
||
"administratorRoleDescription": "Предоставить полный доступ к системе и права управления.",
|
||
"passwordManagement": "Управление паролями",
|
||
"passwordResetWarning": "Сброс пароля пользователя приведет к удалению всех его данных (SSH-хостов, учетных данных, настроек). Это действие необратимо.",
|
||
"resetUserPassword": "Сбросить пароль пользователя",
|
||
"resettingPassword": "Сброс...",
|
||
"passwordResetInitiated": "Инициирована перезагрузка пароля для {{username}}. Код перезагрузки отправлен.",
|
||
"failedToResetPassword": "Не удалось инициировать сброс пароля.",
|
||
"sessionManagement": "Управление сессиями",
|
||
"revokeAllSessions": "Отменить все сессии",
|
||
"revokeAllSessionsDescription": "Принудительный выход из системы со всех устройств и сеансов.",
|
||
"revoking": "Отмена...",
|
||
"revoke": "Отменить все",
|
||
"dangerZone": "Опасная зона",
|
||
"deleteUserTitle": "Удалить учетную запись пользователя",
|
||
"deleteUserWarning": "Удалить эту учетную запись пользователя и все связанные с ней данные безвозвратно. Это действие необратимо.",
|
||
"deleting": "Удаление...",
|
||
"cannotDeleteSelf": "Вы не можете удалить свой собственный аккаунт.",
|
||
"cannotRemoveLastAdmin": "Не удается удалить последнего администратора.",
|
||
"cannotRemoveOwnAdmin": "Вы не можете удалить свои собственные административные привилегии.",
|
||
"cannotModifyOwnAdminStatus": "Вы не можете изменить свой собственный административный статус.",
|
||
"dualAuth": "Двойная аутентификация",
|
||
"externalOIDC": "Внешний (OIDC)",
|
||
"localPassword": "Локальный пароль",
|
||
"confirmRevokeOwnSessions": "Вы уверены, что хотите отменить все свои сессии? Вы будете автоматически отключены от системы.",
|
||
"linkOIDCWarningTitle": "Внимание: пользовательские данные OIDC будут удалены.",
|
||
"linkOIDCActionDeleteUser": "Удалите учетную запись пользователя OIDC и все его данные.",
|
||
"linkOIDCActionAddCapability": "Добавьте возможность входа через OIDC к целевой учетной записи с паролем.",
|
||
"linkOIDCActionDualAuth": "Разрешите учетной записи, использующей пароль, входить в систему как с помощью пароля, так и с помощью OIDC.",
|
||
"linkTargetUsernameLabel": "Целевой пароль, имя пользователя учетной записи",
|
||
"linkTargetUsernamePlaceholder": "Введите имя пользователя и пароль учетной записи.",
|
||
"linkAccountsButton": "Связать аккаунты",
|
||
"linkingAccounts": "Связывание...",
|
||
"accountsLinkedSuccessfully": "Пользователь OIDC {{username}} связан с {{oidcUsername}}",
|
||
"failedToLinkAccounts": "Не удалось связать учетные записи.",
|
||
"linkTargetUsernameRequired": "Требуется указать целевое имя пользователя.",
|
||
"unlinkOIDCTitle": "Отключить аутентификацию OIDC",
|
||
"unlinkOIDCDescription": "Удалить аутентификацию OIDC из {{targetUsername}}? После этого пользователь сможет войти в систему только с помощью имени пользователя и пароля.",
|
||
"unlinkOIDCSuccess": "OIDC не связан с {{username}}",
|
||
"failedToUnlinkOIDC": "Не удалось разорвать связь OIDC",
|
||
"databaseSecurity": "Безопасность баз данных",
|
||
"encryptionStatus": "Статус шифрования",
|
||
"encryptionEnabled": "Шифрование включено",
|
||
"enabled": "Включено",
|
||
"disabled": "Неполноценный",
|
||
"keyId": "Идентификатор ключа",
|
||
"created": "Созданный",
|
||
"migrationStatus": "Миграционный статус",
|
||
"migrationCompleted": "Миграция завершена.",
|
||
"migrationRequired": "Требуется миграция",
|
||
"deviceProtectedMasterKey": "Экологически защищенный мастер-ключ",
|
||
"legacyKeyStorage": "Устаревшее хранилище ключей",
|
||
"masterKeyEncryptedWithDeviceFingerprint": "Главный ключ зашифрован с использованием отпечатка среды (активна защита KEK).",
|
||
"keyNotProtectedByDeviceBinding": "Ключ не защищен привязкой среды (рекомендуется обновление).",
|
||
"valid": "Действительный",
|
||
"initializeDatabaseEncryption": "Инициализация шифрования базы данных",
|
||
"enableAes256EncryptionWithDeviceBinding": "Включите шифрование AES-256 с защитой мастер-ключа, привязанной к среде. Это обеспечит безопасность корпоративного уровня для ключей SSH, паролей и токенов аутентификации.",
|
||
"featuresEnabled": "Включенные функции:",
|
||
"aes256GcmAuthenticatedEncryption": "Аутентифицированное шифрование AES-256-GCM",
|
||
"deviceFingerprintMasterKeyProtection": "Защита с помощью мастер-ключа с отпечатком пальца (KEK)",
|
||
"pbkdf2KeyDerivation": "Вывод ключа PBKDF2 с 100 000 итерациями",
|
||
"automaticKeyManagement": "Автоматическое управление ключами и их ротация.",
|
||
"initializing": "Инициализация...",
|
||
"initializeEnterpriseEncryption": "Инициализация корпоративного шифрования",
|
||
"migrateExistingData": "Перенос существующих данных",
|
||
"encryptExistingUnprotectedData": "Зашифруйте существующие незащищенные данные в вашей базе данных. Этот процесс безопасен и создает автоматические резервные копии.",
|
||
"testMigrationDryRun": "Проверьте совместимость шифрования.",
|
||
"migrating": "Миграция...",
|
||
"migrateData": "Миграция данных",
|
||
"securityInformation": "Информация о безопасности",
|
||
"sshPrivateKeysEncryptedWithAes256": "Закрытые ключи и пароли SSH шифруются с помощью AES-256-GCM.",
|
||
"userAuthTokensProtected": "Токены аутентификации пользователей и секретные ключи двухфакторной аутентификации защищены.",
|
||
"masterKeysProtectedByDeviceFingerprint": "Главные ключи шифрования защищены с помощью отпечатка устройства (KEK).",
|
||
"keysBoundToServerInstance": "Ключи привязаны к текущей серверной среде (перенос возможен через переменные среды).",
|
||
"pbkdf2HkdfKeyDerivation": "Вывод ключа PBKDF2 + HKDF с 100 000 итерациями",
|
||
"backwardCompatibleMigration": "В процессе миграции все данные сохраняют обратную совместимость.",
|
||
"enterpriseGradeSecurityActive": "Активирована безопасность корпоративного уровня",
|
||
"masterKeysProtectedByDeviceBinding": "Ваши основные ключи шифрования защищены методом идентификации среды. Для генерации ключей защиты используются имя хоста сервера, пути и другая информация о среде. Для миграции серверов установите переменную среды DB_ENCRYPTION_KEY на новом сервере.",
|
||
"important": "Важный",
|
||
"keepEncryptionKeysSecure": "Обеспечьте безопасность данных: регулярно создавайте резервные копии файлов базы данных и конфигурации сервера. Для миграции на новый сервер установите переменную среды DB_ENCRYPTION_KEY в новой среде или сохраните то же имя хоста и структуру каталогов.",
|
||
"loadingEncryptionStatus": "Загрузка статуса шифрования...",
|
||
"testMigrationDescription": "Убедитесь, что существующие данные можно безопасно перенести в зашифрованный формат без фактического изменения каких-либо данных.",
|
||
"serverMigrationGuide": "Руководство по миграции сервера",
|
||
"migrationInstructions": "Для переноса зашифрованных данных на новый сервер: 1) Создайте резервную копию файлов базы данных, 2) Установите переменную среды DB_ENCRYPTION_KEY=\"ваш-ключ\" на новом сервере, 3) Восстановите файлы базы данных.",
|
||
"environmentProtection": "Защита окружающей среды",
|
||
"environmentProtectionDesc": "Защищает ключи шифрования на основе информации о среде сервера (имя хоста, пути и т. д.), возможность миграции через переменные среды.",
|
||
"verificationCompleted": "Проверка совместимости завершена — данные не были изменены.",
|
||
"verificationInProgress": "Проверка завершена.",
|
||
"dataMigrationCompleted": "Миграция данных успешно завершена!",
|
||
"verificationFailed": "Проверка совместимости не удалась.",
|
||
"migrationFailed": "Миграция провалилась",
|
||
"runningVerification": "Выполняется проверка совместимости...",
|
||
"startingMigration": "Начало миграции...",
|
||
"hardwareFingerprintSecurity": "Аппаратная защита по отпечатку пальца",
|
||
"hardwareBoundEncryption": "Активно аппаратное шифрование",
|
||
"masterKeysNowProtectedByHardwareFingerprint": "Теперь мастер-ключи защищены с помощью идентификации по реальному аппаратному обеспечению, а не с помощью переменных среды.",
|
||
"cpuSerialNumberDetection": "определение серийного номера процессора",
|
||
"motherboardUuidIdentification": "Идентификация UUID материнской платы",
|
||
"diskSerialNumberVerification": "проверка серийного номера диска",
|
||
"biosSerialNumberCheck": "проверка серийного номера BIOS",
|
||
"stableMacAddressFiltering": "Стабильная фильтрация MAC-адресов",
|
||
"databaseFileEncryption": "Шифрование файлов базы данных",
|
||
"dualLayerProtection": "Активная двухслойная защита",
|
||
"bothFieldAndFileEncryptionActive": "Для обеспечения максимальной безопасности теперь активно как шифрование на уровне полей, так и на уровне файлов.",
|
||
"fieldLevelAes256Encryption": "Шифрование AES-256 на уровне поля для защиты конфиденциальных данных",
|
||
"fileLevelDatabaseEncryption": "Шифрование базы данных на уровне файлов с аппаратной привязкой",
|
||
"hardwareBoundFileKeys": "Аппаратные ключи шифрования файлов",
|
||
"automaticEncryptedBackups": "Автоматическое создание зашифрованных резервных копий",
|
||
"createEncryptedBackup": "Создать зашифрованную резервную копию",
|
||
"creatingBackup": "Создание резервной копии...",
|
||
"backupCreated": "Резервная копия создана",
|
||
"encryptedBackupCreatedSuccessfully": "Зашифрованная резервная копия успешно создана.",
|
||
"backupCreationFailed": "Создание резервной копии не удалось.",
|
||
"databaseMigration": "Миграция базы данных",
|
||
"exportForMigration": "Экспорт для миграции",
|
||
"exportDatabaseForHardwareMigration": "Экспорт базы данных в файл SQLite с расшифрованными данными для миграции на новое оборудование.",
|
||
"exportDatabase": "Экспорт базы данных SQLite",
|
||
"exporting": "Экспорт...",
|
||
"exportCreated": "Экспорт SQLite создан",
|
||
"exportContainsDecryptedData": "Экспорт в SQLite содержит расшифрованные данные — обеспечьте их безопасность!",
|
||
"databaseExportedSuccessfully": "База данных SQLite успешно экспортирована.",
|
||
"databaseExportFailed": "Экспорт базы данных SQLite не удался.",
|
||
"importFromMigration": "Импорт из миграции",
|
||
"importDatabaseFromAnotherSystem": "Импорт базы данных SQLite с другой системы или оборудования.",
|
||
"importDatabase": "Импорт базы данных SQLite",
|
||
"importing": "Импорт...",
|
||
"selectedFile": "Выбранный файл SQLite",
|
||
"importWillReplaceExistingData": "Импорт данных из SQLite заменит существующие данные — рекомендуется сделать резервную копию!",
|
||
"pleaseSelectImportFile": "Пожалуйста, выберите файл для импорта в SQLite.",
|
||
"databaseImportedSuccessfully": "База данных SQLite успешно импортирована.",
|
||
"databaseImportFailed": "Импорт базы данных SQLite завершился неудачей.",
|
||
"manageEncryptionAndBackups": "Управление ключами шифрования, безопасностью базы данных и операциями резервного копирования.",
|
||
"activeSecurityFeatures": "Действующие в настоящее время меры безопасности и защиты",
|
||
"deviceBindingTechnology": "Передовая технология защиты ключей на основе аппаратного обеспечения",
|
||
"backupAndRecovery": "Безопасное создание резервных копий и возможности восстановления базы данных.",
|
||
"crossSystemDataTransfer": "Экспорт и импорт баз данных между различными системами.",
|
||
"noMigrationNeeded": "Миграция не требуется",
|
||
"encryptionKey": "Ключ шифрования",
|
||
"keyProtection": "Защита ключей",
|
||
"active": "Активный",
|
||
"legacy": "Наследие",
|
||
"dataStatus": "Статус данных",
|
||
"encrypted": "Зашифровано",
|
||
"needsMigration": "Потребности в миграции",
|
||
"ready": "Готовый",
|
||
"initializeEncryption": "Инициализация шифрования",
|
||
"initialize": "Инициализировать",
|
||
"test": "Тест",
|
||
"migrate": "Мигрировать",
|
||
"backup": "Резервная копия",
|
||
"createBackup": "Создать резервную копию",
|
||
"exportImport": "Экспорт/импорт",
|
||
"export": "Экспорт",
|
||
"import": "Импорт",
|
||
"passwordRequired": "Требуется пароль",
|
||
"confirmExport": "Подтвердить экспорт",
|
||
"exportDescription": "Экспорт SSH-хостов и учетных данных в файл SQLite.",
|
||
"importDescription": "Импорт файла SQLite с инкрементным слиянием (пропускает дубликаты).",
|
||
"criticalWarning": "Критическое предупреждение",
|
||
"cannotDisablePasswordLoginWithoutOIDC": "Невозможно отключить вход по паролю без настроенного OIDC! Перед отключением входа по паролю необходимо настроить аутентификацию OIDC, иначе вы потеряете доступ к Termix.",
|
||
"confirmDisablePasswordLogin": "Вы уверены, что хотите отключить вход по паролю? Перед продолжением убедитесь, что OIDC правильно настроен и работает, иначе вы потеряете доступ к своему экземпляру Termix.",
|
||
"passwordLoginDisabled": "Вход по паролю успешно отключен.",
|
||
"passwordLoginAndRegistrationDisabled": "Вход по паролю и регистрация новой учетной записи успешно отключены.",
|
||
"requiresPasswordLogin": "Для входа требуется пароль.",
|
||
"passwordLoginDisabledWarning": "Вход по паролю отключен. Убедитесь, что OIDC правильно настроен, иначе вы не сможете войти в Termix.",
|
||
"oidcRequiredWarning": "ВАЖНО: Вход по паролю отключен. Если вы сбросите или неправильно настроите OIDC, вы потеряете весь доступ к Termix и ваш экземпляр будет выведен из строя. Продолжайте только в том случае, если вы абсолютно уверены.",
|
||
"confirmDisableOIDCWarning": "ВНИМАНИЕ: Вы собираетесь отключить OIDC, одновременно отключив вход по паролю. Это приведет к поломке вашего экземпляра Termix, и вы потеряете весь доступ. Вы абсолютно уверены, что хотите продолжить?",
|
||
"failedToUpdatePasswordLoginStatus": "Не удалось обновить статус входа по паролю.",
|
||
"loadingSessions": "Загрузка сессий...",
|
||
"noActiveSessions": "Активных сессий не найдено.",
|
||
"device": "Устройство",
|
||
"user": "Пользователь",
|
||
"lastActive": "Последняя активность",
|
||
"expires": "Срок действия истекает",
|
||
"revoked": "Отменено",
|
||
"revokeAllUserSessionsTitle": "Отменить все сессии для этого пользователя",
|
||
"revokeAll": "Отменить все",
|
||
"linkOidcToPasswordAccount": "Свяжите учетную запись OIDC с учетной записью, имеющей пароль.",
|
||
"linkOidcToPasswordAccountDescription": "Привяжите {{username}} (пользователя OIDC) к существующей учетной записи с паролем. Это позволит включить двойную аутентификацию для учетной записи с паролем.",
|
||
"linkOidcWarningTitle": "Внимание: пользовательские данные OIDC будут удалены.",
|
||
"linkOidcWarningDescription": "Это действие приведет к следующему:",
|
||
"linkOidcActionDeleteUser": "Удалите учетную запись пользователя OIDC и все его данные.",
|
||
"linkOidcActionAddCapability": "Добавьте возможность входа через OIDC к целевой учетной записи с паролем.",
|
||
"linkOidcActionDualAuth": "Разрешите учетной записи, использующей пароль, входить в систему как с помощью пароля, так и с помощью OIDC.",
|
||
"passwordMinLength": "Пароль должен состоять как минимум из 6 символов.",
|
||
"currentRoles": "Текущие должности",
|
||
"noRolesAssigned": "Роли не назначены",
|
||
"assignNewRole": "Назначить новую роль"
|
||
},
|
||
"hosts": {
|
||
"title": "Менеджер хоста",
|
||
"sshHosts": "SSH-хосты",
|
||
"noHosts": "Нет SSH-хостов",
|
||
"noHostsMessage": "Вы еще не добавили ни одного SSH-хоста. Нажмите «Добавить хост», чтобы начать.",
|
||
"loadingHosts": "Загрузка хостов...",
|
||
"failedToLoadHosts": "Не удалось загрузить хосты.",
|
||
"retry": "Повторить попытку",
|
||
"refresh": "Обновить",
|
||
"optional": "Необязательный",
|
||
"hostsCount": "{{username}} хостов",
|
||
"importJson": "Импорт JSON",
|
||
"importing": "Импорт...",
|
||
"importJsonTitle": "Импорт SSH-хостов из JSON",
|
||
"importJsonDesc": "Загрузите JSON-файл для массового импорта нескольких SSH-хостов (максимум 100).",
|
||
"downloadSample": "Скачать образец",
|
||
"formatGuide": "Руководство по форматированию",
|
||
"exportCredentialWarning": "Внимание: хост \"{{count}}\" использует аутентификацию по учетным данным. Экспортированный файл не будет содержать данные учетных данных и потребует ручной настройки после импорта. Вы хотите продолжить?",
|
||
"exportSensitiveDataWarning": "Внимание: Хост \"{{name}}\" содержит конфиденциальные данные аутентификации (пароль/ключ SSH). Экспортированный файл будет содержать эти данные в открытом виде. Пожалуйста, храните файл в безопасном месте и удалите его после использования. Вы хотите продолжить?",
|
||
"uncategorized": "Без категории",
|
||
"confirmDelete": "Вы уверены, что хотите удалить \"{{name}}\"?",
|
||
"failedToDeleteHost": "Не удалось удалить хост",
|
||
"failedToExportHost": "Не удалось экспортировать данные хоста. Пожалуйста, убедитесь, что вы вошли в систему и имеете доступ к данным хоста.",
|
||
"jsonMustContainHosts": "JSON должен содержать массив \"hosts\" или представлять собой массив хостов.",
|
||
"noHostsInJson": "В JSON-файле хосты не найдены",
|
||
"maxHostsAllowed": "Максимально допустимое количество хостов для одного импорта — 100.",
|
||
"importCompleted": "Импорт завершен: {{name}} успешно, {{success}} не удалось",
|
||
"importFailed": "Импорт не удался",
|
||
"importError": "Ошибка импорта",
|
||
"failedToImportJson": "Не удалось импортировать JSON-файл.",
|
||
"connectionDetails": "Данные подключения",
|
||
"organization": "Организация",
|
||
"ipAddress": "IP-адрес",
|
||
"port": "Порт",
|
||
"name": "Имя",
|
||
"username": "Имя пользователя",
|
||
"folder": "Папка",
|
||
"tags": "Теги",
|
||
"pin": "Приколоть",
|
||
"notes": "Примечания",
|
||
"expirationDate": "Дата окончания срока",
|
||
"passwordRequired": "Для аутентификации по паролю требуется пароль.",
|
||
"sshKeyRequired": "Для аутентификации по ключу требуется закрытый ключ SSH.",
|
||
"keyTypeRequired": "Тип ключа обязателен при использовании аутентификации по ключу.",
|
||
"mustSelectValidSshConfig": "Необходимо выбрать допустимую конфигурацию SSH из списка.",
|
||
"addHost": "Добавить хост",
|
||
"editHost": "Редактировать хост",
|
||
"cloneHost": "Клон хоста",
|
||
"updateHost": "Обновить хост",
|
||
"hostUpdatedSuccessfully": "Хост \"{{failed}}\" успешно обновлен!",
|
||
"hostAddedSuccessfully": "Хост «{{name}}» успешно добавлен!",
|
||
"hostDeletedSuccessfully": "Хост «{{name}}» успешно удален!",
|
||
"failedToSaveHost": "Не удалось сохранить хост. Пожалуйста, попробуйте еще раз.",
|
||
"savingHost": "Сохранение хоста...",
|
||
"updatingHost": "Обновление хоста...",
|
||
"cloningHost": "Клонирование хоста...",
|
||
"enableTerminal": "Включить терминал",
|
||
"enableTerminalDesc": "Включение/отключение видимости хоста на вкладке «Терминал»",
|
||
"enableTunnel": "Включить туннель",
|
||
"enableTunnelDesc": "Включение/отключение видимости хоста на вкладке «Туннель»",
|
||
"enableFileManager": "Включить файловый менеджер",
|
||
"enableFileManagerDesc": "Включение/отключение видимости хоста на вкладке «Файловый менеджер»",
|
||
"enableDockerDesc": "Включение/отключение видимости хоста на вкладке Docker",
|
||
"enableDocker": "Включить Docker",
|
||
"defaultPath": "Путь по умолчанию",
|
||
"defaultPathDesc": "Каталог по умолчанию при открытии файлового менеджера для этого хоста",
|
||
"tunnelConnections": "Туннельные соединения",
|
||
"connection": "Связь",
|
||
"remove": "Удалять",
|
||
"sourcePort": "Исходный порт",
|
||
"sourcePortDesc": "(Источник: сведения о текущем подключении на вкладке «Общие»)",
|
||
"endpointPort": "Порт конечной точки",
|
||
"endpointSshConfig": "Конфигурация SSH конечной точки",
|
||
"tunnelForwardDescription": "Этот туннель будет перенаправлять трафик с порта {{name}} на исходной машине (текущие данные подключения на вкладке \"Общие\") на порт {{sourcePort}} на конечной машине.",
|
||
"maxRetries": "Максимальное количество повторных попыток",
|
||
"maxRetriesDescription": "Максимальное количество попыток повторного подключения к туннелю.",
|
||
"retryInterval": "Интервал повторной попытки (секунды)",
|
||
"retryIntervalDescription": "Время ожидания между повторными попытками.",
|
||
"autoStartContainer": "Автоматический запуск при запуске контейнера",
|
||
"autoStartDesc": "Автоматически запускать этот туннель при запуске контейнера.",
|
||
"addConnection": "Добавить туннельное соединение",
|
||
"sshpassRequired": "Для аутентификации по паролю требуется SSH-пароль.",
|
||
"sshpassRequiredDesc": "Для аутентификации по паролю в туннелях необходимо установить на систему sshpass.",
|
||
"otherInstallMethods": "Другие способы установки:",
|
||
"debianUbuntuEquivalent": "(Debian/Ubuntu) или аналогичная операционная система для вашей ОС.",
|
||
"or": "или",
|
||
"centosRhelFedora": "CentOS/RHEL/Fedora",
|
||
"macos": "macOS",
|
||
"windows": "Windows",
|
||
"sshServerConfigRequired": "Требуется настройка SSH-сервера.",
|
||
"sshServerConfigDesc": "Для туннельных соединений SSH-сервер должен быть настроен таким образом, чтобы разрешать переадресацию портов:",
|
||
"gatewayPortsYes": "привязать удаленные порты ко всем интерфейсам",
|
||
"allowTcpForwardingYes": "для включения переадресации портов",
|
||
"permitRootLoginYes": "если используется пользователь root для туннелирования",
|
||
"editSshConfig": "Отредактируйте файл /etc/ssh/sshd_config и перезапустите SSH: sudo systemctl restart sshd",
|
||
"upload": "Загрузить",
|
||
"authentication": "Аутентификация",
|
||
"password": "Пароль",
|
||
"key": "Ключ",
|
||
"credential": "Удостоверение личности",
|
||
"none": "Никто",
|
||
"selectCredential": "Выберите учетные данные",
|
||
"selectCredentialPlaceholder": "Выберите учетные данные...",
|
||
"credentialRequired": "Для аутентификации с использованием учетных данных требуются учетные данные.",
|
||
"credentialDescription": "Выбор учетных данных заменит текущее имя пользователя и будет использовать данные аутентификации, указанные в этих учетных данных.",
|
||
"cannotChangeAuthAsSharedUser": "Невозможно изменить аутентификацию для общего пользователя.",
|
||
"sshPrivateKey": "Закрытый ключ SSH",
|
||
"keyPassword": "Ключ Пароль",
|
||
"keyType": "Тип ключа",
|
||
"autoDetect": "Автоматическое определение",
|
||
"rsa": "ЮАР",
|
||
"ed25519": "ED25519",
|
||
"ecdsaNistP256": "ECDSA NIST P-256",
|
||
"ecdsaNistP384": "ECDSA NIST P-384",
|
||
"ecdsaNistP521": "ECDSA NIST P-521",
|
||
"dsa": "ДСА",
|
||
"rsaSha2256": "RSA SHA2-256",
|
||
"rsaSha2512": "RSA SHA2-512",
|
||
"uploadFile": "Загрузить файл",
|
||
"pasteKey": "Вставить клавишу",
|
||
"updateKey": "Ключ обновления",
|
||
"existingKey": "Существующая маркировка (нажмите, чтобы изменить)",
|
||
"existingCredential": "Существующие учетные данные (нажмите, чтобы изменить)",
|
||
"addTagsSpaceToAdd": "Добавить теги (место для добавления)",
|
||
"terminalBadge": "Терминал",
|
||
"tunnelBadge": "Туннель",
|
||
"fileManagerBadge": "Файловый менеджер",
|
||
"general": "Общий",
|
||
"terminal": "Терминал",
|
||
"tunnel": "Туннель",
|
||
"fileManager": "Файловый менеджер",
|
||
"serverStats": "Статистика сервера",
|
||
"hostViewer": "Просмотр хоста",
|
||
"enableServerStats": "Включить статистику сервера",
|
||
"enableServerStatsDesc": "Включить/отключить сбор статистики сервера для этого хоста",
|
||
"displayItems": "Выставочные предметы",
|
||
"displayItemsDesc": "Выберите, какие показатели отображать на странице статистики сервера.",
|
||
"enableCpu": "Использование ЦП",
|
||
"enableMemory": "Использование памяти",
|
||
"enableDisk": "Использование диска",
|
||
"enableNetwork": "Статистика сети (скоро будет доступна)",
|
||
"enableProcesses": "Количество процессов (скоро будет доступно)",
|
||
"enableUptime": "Время безотказной работы (скоро будет доступно)",
|
||
"enableHostname": "Имя хоста (скоро будет доступно)",
|
||
"enableOs": "Операционная система (скоро будет доступна)",
|
||
"customCommands": "Пользовательские команды (скоро появятся)",
|
||
"customCommandsDesc": "Задайте пользовательские команды выключения и перезагрузки для этого сервера.",
|
||
"shutdownCommand": "Команда завершения работы",
|
||
"rebootCommand": "Команда перезагрузки",
|
||
"confirmRemoveFromFolder": "Вы уверены, что хотите удалить \"{{endpointPort}}\" из папки \"{{name}}\"? Хост будет перемещен в \"Нет папки\".",
|
||
"removedFromFolder": "Хост «{{folder}}» успешно удален из папки.",
|
||
"failedToRemoveFromFolder": "Не удалось удалить хост из папки.",
|
||
"folderRenamed": "Папка \"{{name}}\" успешно переименована в \"{{oldName}}\".",
|
||
"failedToRenameFolder": "Не удалось переименовать папку.",
|
||
"editFolderAppearance": "Редактировать внешний вид папки",
|
||
"editFolderAppearanceDesc": "Настройте цвет и значок для папки.",
|
||
"folderColor": "Цвет папки",
|
||
"folderIcon": "Значок папки",
|
||
"preview": "Предварительный просмотр",
|
||
"folderAppearanceUpdated": "Внешний вид папки успешно обновлен.",
|
||
"failedToUpdateFolderAppearance": "Не удалось обновить внешний вид папки.",
|
||
"deleteAllHostsInFolder": "Удалить все хосты в папке",
|
||
"confirmDeleteAllHostsInFolder": "Вы уверены, что хотите удалить все {{newName}} хостов в папке \"{{count}}\"? Это действие необратимо.",
|
||
"allHostsInFolderDeleted": "Из папки \"{{folder}}\" успешно удалено {{count}} хостов.",
|
||
"failedToDeleteHostsInFolder": "Не удалось удалить хосты в папке.",
|
||
"movedToFolder": "Хост \"{{folder}}\" успешно перемещен на \"{{name}}\".",
|
||
"failedToMoveToFolder": "Не удалось переместить хост в папку.",
|
||
"clickToRenameFolder": "Нажмите, чтобы переименовать папку.",
|
||
"renameFolder": "Переименовать папку",
|
||
"removeFromFolder": "Удалить из папки \"{{folder}}\"",
|
||
"editHostTooltip": "Редактировать хост",
|
||
"deleteHostTooltip": "Удалить хост",
|
||
"exportHostTooltip": "Экспорт хоста",
|
||
"cloneHostTooltip": "Клонировать хост",
|
||
"clickToEditHost": "Нажмите, чтобы изменить хост",
|
||
"dragToMoveBetweenFolders": "Перетаскивайте мышью, чтобы перемещаться между папками.",
|
||
"exportedHostConfig": "Экспортированная конфигурация хоста для {{folder}}",
|
||
"openTerminal": "Открыть терминал",
|
||
"openFileManager": "Открыть файловый менеджер",
|
||
"openTunnels": "Открытые туннели",
|
||
"openServerDetails": "Открыть сведения о сервере",
|
||
"statistics": "Статистика",
|
||
"enabledWidgets": "Включенные виджеты",
|
||
"openServerStats": "Открыть статистику сервера",
|
||
"enabledWidgetsDesc": "Выберите, какие виджеты статистики отображать для этого хоста.",
|
||
"monitoringConfiguration": "Настройка мониторинга",
|
||
"monitoringConfigurationDesc": "Настройте частоту проверки статистики и состояния сервера.",
|
||
"statusCheckEnabled": "Включить мониторинг состояния",
|
||
"statusCheckEnabledDesc": "Проверьте, находится ли сервер в сети или нет.",
|
||
"statusCheckInterval": "Интервал проверки состояния",
|
||
"statusCheckIntervalDesc": "Как часто следует проверять, находится ли хост в сети (от 5 секунд до 1 часа)?",
|
||
"metricsEnabled": "Включить мониторинг метрик",
|
||
"metricsEnabledDesc": "Собирайте статистику по процессору, оперативной памяти, дисковому пространству и другим параметрам системы.",
|
||
"metricsInterval": "Интервал сбора метрик",
|
||
"metricsIntervalDesc": "Как часто следует собирать статистику сервера (от 5 секунд до 1 часа)?",
|
||
"intervalSeconds": "секунд",
|
||
"intervalMinutes": "минут",
|
||
"intervalValidation": "Интервалы мониторинга должны составлять от 5 секунд до 1 часа (3600 секунд).",
|
||
"monitoringDisabled": "Для этого хоста мониторинг сервера отключен.",
|
||
"enableMonitoring": "Включите мониторинг в диспетчере хостов → вкладка «Статистика».",
|
||
"monitoringDisabledBadge": "Мониторинг отключен",
|
||
"statusMonitoring": "Статус",
|
||
"metricsMonitoring": "Метрики",
|
||
"terminalCustomization": "Настройка терминала",
|
||
"appearance": "Появление",
|
||
"behavior": "Поведение",
|
||
"advanced": "Передовой",
|
||
"themePreview": "Предварительный просмотр темы",
|
||
"theme": "Тема",
|
||
"selectTheme": "Выберите тему",
|
||
"chooseColorTheme": "Выберите цветовую тему для терминала.",
|
||
"fontFamily": "Семейство шрифтов",
|
||
"selectFont": "Выберите шрифт",
|
||
"selectFontDesc": "Выберите шрифт для использования в терминале.",
|
||
"fontSize": "Размер шрифта",
|
||
"fontSizeValue": "Размер шрифта: {{name}}px",
|
||
"adjustFontSize": "Отрегулируйте размер шрифта в терминале.",
|
||
"letterSpacing": "Межбуквенный интервал",
|
||
"letterSpacingValue": "Межбуквенный интервал: {{value}}px",
|
||
"adjustLetterSpacing": "Отрегулируйте расстояние между символами",
|
||
"lineHeight": "Высота строки",
|
||
"lineHeightValue": "Высота строки: {{value}}",
|
||
"adjustLineHeight": "Отрегулируйте расстояние между строками",
|
||
"cursorStyle": "Стиль курсора",
|
||
"selectCursorStyle": "Выберите стиль курсора",
|
||
"cursorStyleBlock": "Блокировать",
|
||
"cursorStyleUnderline": "Подчеркнуть",
|
||
"cursorStyleBar": "Бар",
|
||
"chooseCursorAppearance": "Выберите внешний вид курсора",
|
||
"cursorBlink": "Мерцание курсора",
|
||
"enableCursorBlink": "Включить анимацию мигания курсора",
|
||
"scrollbackBuffer": "Буфер прокрутки",
|
||
"scrollbackBufferValue": "Буфер прокрутки: {{value}} строк",
|
||
"scrollbackBufferDesc": "Количество строк, сохраняемых в истории прокрутки",
|
||
"bellStyle": "Белл Стайл",
|
||
"selectBellStyle": "Выберите стиль колокола",
|
||
"bellStyleNone": "Никто",
|
||
"bellStyleSound": "Звук",
|
||
"bellStyleVisual": "Визуальный",
|
||
"bellStyleBoth": "Оба",
|
||
"bellStyleDesc": "Как обрабатывать звуковой сигнал терминала (символ BEL, \\x07). Программы запускают его при завершении задач, возникновении ошибок или для уведомлений. «Звук» воспроизводит звуковой сигнал, «Визуальный» кратковременно мигает на экране, «Оба» делает и то, и другое, «Ничего» отключает звуковые оповещения.",
|
||
"rightClickSelectsWord": "Щелчок правой кнопкой мыши выделяет слово",
|
||
"rightClickSelectsWordDesc": "Щелчок правой кнопкой мыши выделяет слово под курсором.",
|
||
"fastScrollModifier": "Модификатор быстрой прокрутки",
|
||
"selectModifier": "Выберите модификатор",
|
||
"modifierAlt": "Альт",
|
||
"modifierCtrl": "Ctrl",
|
||
"modifierShift": "Сдвиг",
|
||
"fastScrollModifierDesc": "Клавиша-модификатор для быстрой прокрутки",
|
||
"fastScrollSensitivity": "Чувствительность быстрой прокрутки",
|
||
"fastScrollSensitivityValue": "Чувствительность быстрой прокрутки: {{value}}",
|
||
"fastScrollSensitivityDesc": "Множитель скорости прокрутки при удержании клавиши-модификатора",
|
||
"minimumContrastRatio": "Минимальный коэффициент контрастности",
|
||
"minimumContrastRatioValue": "Минимальный коэффициент контрастности: {{value}}",
|
||
"minimumContrastRatioDesc": "Автоматическая корректировка цветов для лучшей читаемости.",
|
||
"sshAgentForwarding": "Переадресация агента SSH",
|
||
"sshAgentForwardingDesc": "Перенаправить агент аутентификации SSH на удаленный хост.",
|
||
"backspaceMode": "Режим Backspace",
|
||
"selectBackspaceMode": "Выберите режим удаления",
|
||
"backspaceModeNormal": "Нормальный (DEL)",
|
||
"backspaceModeControlH": "Контроль-H (^H)",
|
||
"backspaceModeDesc": "Поведение клавиши Backspace для обеспечения совместимости",
|
||
"startupSnippet": "Фрагмент запуска",
|
||
"selectSnippet": "Выбрать фрагмент",
|
||
"searchSnippets": "Поисковые фрагменты...",
|
||
"snippetNone": "Никто",
|
||
"noneAuthTitle": "Интерактивная аутентификация с помощью клавиатуры",
|
||
"noneAuthDescription": "Данный метод аутентификации будет использовать интерактивную аутентификацию с клавиатуры при подключении к SSH-серверу.",
|
||
"noneAuthDetails": "Интерактивная аутентификация с помощью клавиатуры позволяет серверу запрашивать у вас учетные данные во время подключения. Это полезно для серверов, требующих многофакторной аутентификации, или если вы не хотите сохранять учетные данные локально.",
|
||
"forceKeyboardInteractive": "Принудительное использование клавиатуры",
|
||
"forceKeyboardInteractiveDesc": "Принудительно использует интерактивную аутентификацию с клавиатуры. Иногда это требуется для серверов, использующих двухфакторную аутентификацию (TOTP/2FA).",
|
||
"overrideCredentialUsername": "Переопределение имени пользователя учетных данных",
|
||
"overrideCredentialUsernameDesc": "Используйте другое имя пользователя, отличное от того, которое сохранено в учетных данных. Это позволит вам использовать одни и те же учетные данные с разными именами пользователей.",
|
||
"jumpHosts": "Jump Hosts",
|
||
"jumpHostsDescription": "Хосты-посредники (также известные как бастионные хосты) позволяют подключаться к целевому серверу через один или несколько промежуточных серверов. Это полезно для доступа к серверам за брандмауэрами или в частных сетях.",
|
||
"jumpHostChain": "Цепочка переходов хостов",
|
||
"addJumpHost": "Добавить промежуточного хоста",
|
||
"selectServer": "Выберите сервер",
|
||
"searchServers": "Поисковые серверы...",
|
||
"noServerFound": "Сервер не найден",
|
||
"jumpHostsOrder": "Соединения будут устанавливаться в следующем порядке: Jump Host 1 → Jump Host 2 → ... → Target Server",
|
||
"socks5Proxy": "SOCKS5 Proxy",
|
||
"socks5Description": "Настройте SOCKS5-прокси для SSH-подключения. Весь трафик будет направляться через указанный прокси-сервер.",
|
||
"enableSocks5": "Включить прокси SOCKS5",
|
||
"enableSocks5Description": "Для этого SSH-соединения используйте прокси SOCKS5.",
|
||
"socks5Host": "Прокси-хост",
|
||
"socks5Port": "Прокси-порт",
|
||
"socks5Username": "Имя пользователя прокси",
|
||
"socks5Password": "Пароль прокси",
|
||
"socks5UsernameOptional": "Необязательно: оставьте поле пустым, если прокси-сервер не требует аутентификации.",
|
||
"socks5PasswordOptional": "Необязательно: оставьте поле пустым, если прокси-сервер не требует аутентификации.",
|
||
"socks5ProxyChain": "Цепочка прокси",
|
||
"socks5ProxyChainDescription": "Настройте цепочку SOCKS-прокси. Каждый прокси в цепочке будет подключаться через предыдущий.",
|
||
"socks5ProxyMode": "Режим прокси",
|
||
"socks5UseSingleProxy": "Используйте один прокси",
|
||
"socks5UseProxyChain": "Используйте цепочку прокси.",
|
||
"socks5UsePreset": "Использовать сохраненный пресет",
|
||
"socks5SelectPreset": "Выберите предустановку",
|
||
"socks5ManagePresets": "Управление настройками",
|
||
"socks5ProxyNode": "Прокси {{value}}",
|
||
"socks5AddProxy": "Добавить прокси в цепочку",
|
||
"socks5RemoveProxy": "Удалить прокси",
|
||
"socks5ProxyType": "Тип прокси",
|
||
"socks5SaveAsPreset": "Сохранить как предустановку",
|
||
"socks5SavePresetTitle": "Сохранить цепочку прокси как предустановку",
|
||
"socks5SavePresetDescription": "Сохраните текущую конфигурацию цепочки прокси-серверов как многоразовый пресет.",
|
||
"socks5PresetName": "Название предустановки",
|
||
"socks5PresetDescription": "Описание (необязательно)",
|
||
"socks5PresetCreated": "Создан предустановленный набор прокси-серверов.",
|
||
"socks5PresetUpdated": "Обновлены настройки цепочки прокси-серверов.",
|
||
"socks5PresetDeleted": "Предварительно настроенная цепочка прокси удалена",
|
||
"socks5PresetSaved": "Предустановка \"{{number}}\" успешно сохранена.",
|
||
"socks5PresetSaveError": "Не удалось сохранить предустановку",
|
||
"socks5PresetNameRequired": "Необходимо указать имя заранее.",
|
||
"socks5EmptyChainError": "Не удается сохранить пустую цепочку прокси.",
|
||
"socks5ProxyChainEmpty": "Добавьте в цепочку как минимум один прокси-сервер.",
|
||
"socks5HostDescription": "Имя хоста или IP-адрес SOCKS-прокси-сервера",
|
||
"socks5PortDescription": "Номер порта SOCKS-прокси-сервера (по умолчанию: 1080)",
|
||
"addProxyNode": "Добавить прокси-узел",
|
||
"noProxyNodes": "Прокси-узлы не настроены. Нажмите «Добавить прокси-узел», чтобы добавить его.",
|
||
"proxyNode": "Прокси-узел",
|
||
"proxyType": "Тип прокси",
|
||
"quickActions": "Быстрые действия",
|
||
"quickActionsDescription": "Функция быстрых действий позволяет создавать пользовательские кнопки для выполнения фрагментов SSH-запросов на этом сервере. Эти кнопки будут отображаться в верхней части страницы статистики сервера для быстрого доступа.",
|
||
"quickActionsList": "Список быстрых действий",
|
||
"addQuickAction": "Добавить быстрое действие",
|
||
"quickActionName": "Название действия",
|
||
"noSnippetFound": "Фрагмент не найден",
|
||
"quickActionsOrder": "Кнопки быстрых действий будут отображаться в порядке, указанном выше, на странице статистики сервера.",
|
||
"advancedAuthSettings": "Расширенные настройки аутентификации",
|
||
"sudoPasswordAutoFill": "Автозаполнение паролей Sudo",
|
||
"sudoPasswordAutoFillDesc": "Автоматически предлагать ввести пароль SSH, когда команда sudo запросит пароль.",
|
||
"sudoPassword": "Пароль Sudo",
|
||
"sudoPasswordDesc": "Дополнительный пароль для команд sudo (полезно при аутентификации по ключу).",
|
||
"socks4": "НОСКИ4",
|
||
"socks5": "НОСКИ5",
|
||
"executeSnippetOnConnect": "Выполнить фрагмент кода при подключении терминала.",
|
||
"autoMosh": "Авто-МОШ",
|
||
"autoMoshDesc": "Автоматически запускать команду MOSH при подключении",
|
||
"moshCommand": "Команда МОШ",
|
||
"moshCommandDesc": "Команда MOSH для выполнения",
|
||
"environmentVariables": "Переменные окружающей среды",
|
||
"environmentVariablesDesc": "Настройте пользовательские переменные среды для терминальной сессии.",
|
||
"variableName": "Имя переменной",
|
||
"variableValue": "Ценить",
|
||
"addVariable": "Добавить переменную",
|
||
"docker": "Docker",
|
||
"openDocker": "Open Docker",
|
||
"notEnabled": "Docker отключен для этого хоста. Включите его в настройках хоста, чтобы использовать возможности Docker.",
|
||
"validating": "Проверка Docker...",
|
||
"error": "Ошибка",
|
||
"errorCode": "Код ошибки: {{name}}",
|
||
"version": "Docker v{{code}}",
|
||
"current": "Текущий",
|
||
"used_limit": "Использовано / Лимит",
|
||
"percentage": "Процент",
|
||
"input": "Вход",
|
||
"output": "Выход",
|
||
"read": "Читать",
|
||
"write": "Писать",
|
||
"pids": "Идентификаторы процессов",
|
||
"id": "ИДЕНТИФИКАТОР",
|
||
"state": "Состояние",
|
||
"console": "Консоль",
|
||
"containerMustBeRunning": "Для подключения к консоли контейнер должен быть запущен.",
|
||
"authenticationRequired": "Требуется аутентификация",
|
||
"connectedTo": "Подключено к {{version}}",
|
||
"disconnected": "Отключено",
|
||
"consoleError": "Ошибка консоли",
|
||
"errorMessage": "Ошибка: {{containerName}}",
|
||
"failedToConnect": "Не удалось подключиться к консоли",
|
||
"disconnectedFromContainer": "Отключение от консоли контейнера.",
|
||
"containerNotRunning": "Контейнер не запущен",
|
||
"startContainerToAccess": "Запустите контейнер, чтобы получить доступ к консоли.",
|
||
"selectShell": "Выберите оболочку",
|
||
"bash": "Баш",
|
||
"sh": "Ш",
|
||
"ash": "Пепел",
|
||
"connecting": "Подключение...",
|
||
"connect": "Соединять",
|
||
"disconnect": "Отключить",
|
||
"notConnected": "Не подключено",
|
||
"clickToConnect": "Нажмите «Подключиться», чтобы запустить интерактивную оболочку.",
|
||
"connectingTo": "Подключение к {{message}}...",
|
||
"containerMustBeRunningToViewStats": "Для просмотра статистики контейнер должен быть запущен.",
|
||
"failedToFetchStats": "Не удалось получить статистику.",
|
||
"noContainersFound": "Контейнеры не найдены",
|
||
"noContainersFoundHint": "Для начала создайте контейнеры на вашем сервере.",
|
||
"searchPlaceholder": "Поиск по имени, изображению или идентификатору...",
|
||
"filterByStatusPlaceholder": "Фильтрация по статусу",
|
||
"allContainersCount": "Все ({{containerName}})",
|
||
"statusCount": "{{count}} ({{status}})",
|
||
"noContainersMatchFilters": "Ни один контейнер не подходит к вашим фильтрам.",
|
||
"noContainersMatchFiltersHint": "Попробуйте изменить параметры поиска или фильтра.",
|
||
"containerStarted": "Контейнер {{count}} запущен",
|
||
"failedToStartContainer": "Не удалось запустить контейнер: {{name}}",
|
||
"containerStopped": "Контейнер {{error}} остановлен",
|
||
"failedToStopContainer": "Не удалось остановить контейнер: {{name}}",
|
||
"containerRestarted": "Контейнер {{error}} перезапущен",
|
||
"failedToRestartContainer": "Не удалось перезапустить контейнер: {{name}}",
|
||
"containerUnpaused": "Контейнер {{error}} не приостановлен",
|
||
"containerPaused": "Контейнер {{name}} приостановлен",
|
||
"failedToTogglePauseContainer": "Не удалось загрузить контейнер {{name}}: {{action}}",
|
||
"containerRemoved": "Контейнер {{error}} удален",
|
||
"failedToRemoveContainer": "Не удалось удалить контейнер: {{name}}",
|
||
"image": "Изображение:",
|
||
"idLabel": "ИДЕНТИФИКАТОР:",
|
||
"ports": "Порты:",
|
||
"noPorts": "Никто",
|
||
"created": "Созданный:",
|
||
"start": "Начинать",
|
||
"stop": "Останавливаться",
|
||
"unpause": "Снять с паузы",
|
||
"pause": "Пауза",
|
||
"restart": "Перезапуск",
|
||
"removeContainer": "Удалить контейнер",
|
||
"confirmRemoveContainer": "Вы уверены, что хотите удалить контейнер \"{{error}}\"?",
|
||
"runningContainerWarning": "Внимание: данный контейнер запущен и будет принудительно удален.",
|
||
"removing": "Удаление:",
|
||
"containerNotFound": "Контейнер не найден",
|
||
"backToList": "Вернуться к списку",
|
||
"logs": "Журналы",
|
||
"stats": "Статистика",
|
||
"consoleTab": "Консоль",
|
||
"failedToFetchLogs": "Не удалось получить журналы: {{name}}",
|
||
"failedToDownloadLogs": "Не удалось загрузить журналы: {{error}}",
|
||
"linesToShow": "Линии для отображения",
|
||
"last50Lines": "Последние 50 строк",
|
||
"last100Lines": "Последние 100 строк",
|
||
"last500Lines": "Последние 500 строк",
|
||
"last1000Lines": "Последние 1000 строк",
|
||
"allLogs": "Все журналы",
|
||
"showTimestamps": "Показать временные метки",
|
||
"autoRefresh": "Автоматическое обновление",
|
||
"filterLogsPlaceholder": "Фильтрация журналов...",
|
||
"noLogsAvailable": "Журналы отсутствуют"
|
||
},
|
||
"terminal": {
|
||
"title": "Терминал",
|
||
"connect": "Подключиться к хосту",
|
||
"disconnect": "Отключить",
|
||
"clear": "Прозрачный",
|
||
"copy": "Копия",
|
||
"paste": "Вставить",
|
||
"find": "Находить",
|
||
"fullscreen": "Полноэкранный",
|
||
"splitHorizontal": "Разделение по горизонтали",
|
||
"splitVertical": "Разделение вертикально",
|
||
"closePanel": "Закрыть панель",
|
||
"reconnect": "Переподключитесь",
|
||
"sessionEnded": "Сессия завершилась.",
|
||
"connectionLost": "Соединение потеряно",
|
||
"error": "ОШИБКА: {{error}}",
|
||
"disconnected": "Отключено",
|
||
"connectionClosed": "Соединение закрыто",
|
||
"connectionError": "Ошибка подключения: {{message}}",
|
||
"connected": "Подключено",
|
||
"sshConnected": "Установлено SSH-соединение.",
|
||
"authError": "Аутентификация не удалась: {{message}}",
|
||
"unknownError": "Произошла неизвестная ошибка.",
|
||
"messageParseError": "Не удалось разобрать сообщение сервера.",
|
||
"websocketError": "Ошибка подключения WebSocket",
|
||
"connecting": "Подключение...",
|
||
"reconnecting": "Восстановление соединения... ({{message}}/{{attempt}})",
|
||
"reconnected": "Подключение успешно восстановлено.",
|
||
"maxReconnectAttemptsReached": "Достигнуто максимальное количество попыток переподключения.",
|
||
"connectionTimeout": "Таймаут соединения",
|
||
"terminalTitle": "Терминал - {{max}}",
|
||
"terminalWithPath": "Терминал - {{host}}:{{host}}",
|
||
"runTitle": "Запуск {{path}} - {{command}}",
|
||
"totpRequired": "Требуется двухфакторная аутентификация.",
|
||
"totpCodeLabel": "Проверочный код",
|
||
"totpPlaceholder": "000000",
|
||
"totpVerify": "Проверять",
|
||
"sudoPasswordPopupTitle": "Введите пароль?",
|
||
"sudoPasswordPopupHint": "Нажмите Enter для вставки, Esc для закрытия.",
|
||
"sudoPasswordPopupConfirm": "Вставлять",
|
||
"sudoPasswordPopupDismiss": "Увольнять"
|
||
},
|
||
"fileManager": {
|
||
"title": "Файловый менеджер",
|
||
"file": "Файл",
|
||
"folder": "Папка",
|
||
"connectToSsh": "Для работы с файлами подключитесь по SSH.",
|
||
"uploadFile": "Загрузить файл",
|
||
"downloadFile": "Скачать",
|
||
"extractArchive": "Извлечь архив",
|
||
"extractingArchive": "Извлечение {{host}}...",
|
||
"archiveExtractedSuccessfully": "{{name}} успешно извлечено",
|
||
"extractFailed": "Извлечение не удалось.",
|
||
"compressFile": "Сжать файл",
|
||
"compressFiles": "Сжать файлы",
|
||
"compressFilesDesc": "Сожмите {{name}} элементов в архив",
|
||
"archiveName": "Название архива",
|
||
"enterArchiveName": "Введите название архива...",
|
||
"compressionFormat": "Формат сжатия",
|
||
"selectedFiles": "Выбранные файлы",
|
||
"andMoreFiles": "и {{count}} ещё...",
|
||
"compress": "Компресс",
|
||
"compressingFiles": "Сжатие {{count}} элементов в {{count}}...",
|
||
"filesCompressedSuccessfully": "{{name}} успешно создан",
|
||
"compressFailed": "Сжатие не удалось",
|
||
"edit": "Редактировать",
|
||
"preview": "Предварительный просмотр",
|
||
"previous": "Предыдущий",
|
||
"next": "Следующий",
|
||
"pageXOfY": "Страница {{name}} из {{current}}",
|
||
"zoomOut": "Отдалиться",
|
||
"zoomIn": "Увеличить масштаб",
|
||
"newFile": "Новый файл",
|
||
"newFolder": "Новая папка",
|
||
"rename": "Переименовать",
|
||
"renameItem": "Переименовать элемент",
|
||
"deleteItem": "Удалить элемент",
|
||
"currentPath": "Текущий путь",
|
||
"uploadFileTitle": "Загрузить файл",
|
||
"maxFileSize": "Максимальный размер: 1 ГБ (JSON) / 5 ГБ (бинарный формат) - поддерживаются большие файлы.",
|
||
"removeFile": "Удалить файл",
|
||
"clickToSelectFile": "Нажмите, чтобы выбрать файл",
|
||
"chooseFile": "Выберите файл",
|
||
"uploading": "Загрузка...",
|
||
"downloading": "Загрузка...",
|
||
"uploadingFile": "Загрузка {{total}}...",
|
||
"uploadingLargeFile": "Загрузка большого файла {{name}} ({{name}})...",
|
||
"downloadingFile": "Загрузка {{size}}...",
|
||
"creatingFile": "Создание {{name}}...",
|
||
"creatingFolder": "Создание {{name}}...",
|
||
"deletingItem": "Удаление {{name}} {{type}}...",
|
||
"renamingItem": "Переименование {{name}} {{type}} в {{oldName}}...",
|
||
"createNewFile": "Создать новый файл",
|
||
"fileName": "Имя файла",
|
||
"creating": "Создание...",
|
||
"createFile": "Создать файл",
|
||
"createNewFolder": "Создать новую папку",
|
||
"folderName": "Название папки",
|
||
"createFolder": "Создать папку",
|
||
"warningCannotUndo": "Внимание: это действие необратимо.",
|
||
"itemPath": "Путь к элементу",
|
||
"thisIsDirectory": "Это каталог (будет удален рекурсивно).",
|
||
"deleting": "Удаление...",
|
||
"currentPathLabel": "Текущий путь",
|
||
"newName": "Новое имя",
|
||
"thisIsDirectoryRename": "Это каталог.",
|
||
"renaming": "Переименование...",
|
||
"fileUploadedSuccessfully": "Файл \"{{newName}}\" успешно загружен",
|
||
"failedToUploadFile": "Не удалось загрузить файл.",
|
||
"fileDownloadedSuccessfully": "Файл \"{{name}}\" успешно загружен",
|
||
"failedToDownloadFile": "Не удалось загрузить файл.",
|
||
"noFileContent": "Содержимое файла не получено",
|
||
"filePath": "Путь к файлу",
|
||
"fileCreatedSuccessfully": "Файл \"{{name}}\" успешно создан",
|
||
"failedToCreateFile": "Не удалось создать файл.",
|
||
"folderCreatedSuccessfully": "Папка \"{{name}}\" успешно создана",
|
||
"failedToCreateFolder": "Не удалось создать папку.",
|
||
"failedToCreateItem": "Не удалось создать элемент",
|
||
"operationFailed": "Операция {{name}} завершилась неудачей для {{operation}}: {{name}}",
|
||
"failedToResolveSymlink": "Не удалось разрешить символическую ссылку.",
|
||
"itemDeletedSuccessfully": "{{error}} успешно удалено",
|
||
"itemsDeletedSuccessfully": "{{type}} элементов успешно удалены",
|
||
"failedToDeleteItems": "Не удалось удалить элементы.",
|
||
"dragFilesToUpload": "Перетащите файлы сюда для загрузки.",
|
||
"emptyFolder": "Эта папка пуста.",
|
||
"itemCount": "{{count}} предметов",
|
||
"selectedCount": "{{count}} выбрано",
|
||
"searchFiles": "Поиск файлов...",
|
||
"upload": "Загрузить",
|
||
"selectHostToStart": "Выберите хост, чтобы начать управление файлами.",
|
||
"failedToConnect": "Не удалось подключиться к SSH.",
|
||
"failedToLoadDirectory": "Не удалось загрузить каталог.",
|
||
"noSSHConnection": "SSH-соединение недоступно",
|
||
"enterFolderName": "Введите название папки:",
|
||
"enterFileName": "Введите имя файла:",
|
||
"copy": "Копия",
|
||
"cut": "Резать",
|
||
"paste": "Вставить",
|
||
"copyPath": "Скопировать путь",
|
||
"copyPaths": "Копировать пути",
|
||
"delete": "Удалить",
|
||
"properties": "Характеристики",
|
||
"refresh": "Обновить",
|
||
"downloadFiles": "Скачать {{count}} файлов в браузер",
|
||
"copyFiles": "Скопировать {{count}} элементов",
|
||
"cutFiles": "Вырезать {{count}} предметов",
|
||
"deleteFiles": "Удалить {{count}} элементов",
|
||
"filesCopiedToClipboard": "{{count}} элементов скопировано в буфер обмена",
|
||
"filesCutToClipboard": "{{count}} элементов, вырезанных в буфер обмена",
|
||
"pathCopiedToClipboard": "Путь скопирован в буфер обмена.",
|
||
"pathsCopiedToClipboard": "{{count}} пути скопированы в буфер обмена",
|
||
"failedToCopyPath": "Не удалось скопировать путь в буфер обмена.",
|
||
"movedItems": "Перемещено {{count}} элементов",
|
||
"failedToDeleteItem": "Не удалось удалить элемент",
|
||
"itemRenamedSuccessfully": "{{count}} успешно переименовано",
|
||
"failedToRenameItem": "Не удалось переименовать элемент.",
|
||
"download": "Скачать",
|
||
"permissions": "Разрешения",
|
||
"size": "Размер",
|
||
"modified": "Модифицированный",
|
||
"path": "Путь",
|
||
"confirmDelete": "Вы уверены, что хотите удалить {{type}}?",
|
||
"uploadSuccess": "Файл успешно загружен.",
|
||
"uploadFailed": "Загрузка файла не удалась.",
|
||
"downloadSuccess": "Файл успешно загружен.",
|
||
"downloadFailed": "Загрузка файла не удалась.",
|
||
"permissionDenied": "Доступ запрещен",
|
||
"checkDockerLogs": "Для получения подробной информации об ошибках проверьте журналы Docker.",
|
||
"internalServerError": "Произошла внутренняя ошибка сервера.",
|
||
"serverError": "Ошибка сервера",
|
||
"error": "Ошибка",
|
||
"requestFailed": "Запрос завершился с кодом ошибки.",
|
||
"unknownFileError": "неизвестный",
|
||
"cannotReadFile": "Не удается прочитать файл.",
|
||
"noSshSessionId": "Идентификатор SSH-сессии недоступен",
|
||
"noFilePath": "Путь к файлу отсутствует.",
|
||
"noCurrentHost": "В данный момент нет доступного хоста.",
|
||
"fileSavedSuccessfully": "Файл успешно сохранен.",
|
||
"saveTimeout": "Операция сохранения завершилась по истечении времени ожидания. Возможно, файл был успешно сохранен, но операция заняла слишком много времени. Проверьте журналы Docker для подтверждения.",
|
||
"failedToSaveFile": "Не удалось сохранить файл.",
|
||
"deletedSuccessfully": "удалено успешно",
|
||
"connectToServer": "Подключитесь к серверу",
|
||
"selectServerToEdit": "Выберите сервер на боковой панели, чтобы начать редактирование файлов.",
|
||
"fileOperations": "Операции с файлами",
|
||
"confirmDeleteMessage": "Вы уверены, что хотите удалить {{name}}?",
|
||
"confirmDeleteSingleItem": "Вы уверены, что хотите навсегда удалить \"{{name}}\"?",
|
||
"confirmDeleteMultipleItems": "Вы уверены, что хотите навсегда удалить {{name}} элементов?",
|
||
"confirmDeleteMultipleItemsWithFolders": "Вы уверены, что хотите навсегда удалить {{count}} элементов? Это включает папки и их содержимое.",
|
||
"confirmDeleteFolder": "Вы уверены, что хотите навсегда удалить папку \"{{count}}\" и все ее содержимое?",
|
||
"deleteDirectoryWarning": "Это удалит папку и всё её содержимое.",
|
||
"actionCannotBeUndone": "Это действие необратимо.",
|
||
"permanentDeleteWarning": "Это действие необратимо. Указанный(е) элемент(ы) будут безвозвратно удалены с сервера.",
|
||
"recent": "Недавний",
|
||
"pinned": "Закреплено",
|
||
"folderShortcuts": "Ярлыки папок",
|
||
"noRecentFiles": "Нет недавних файлов.",
|
||
"noPinnedFiles": "Файлы не закреплены.",
|
||
"enterFolderPath": "Введите путь к папке",
|
||
"noShortcuts": "Никаких коротких путей.",
|
||
"searchFilesAndFolders": "Поиск файлов и папок...",
|
||
"noFilesOrFoldersFound": "Файлы и папки не найдены.",
|
||
"failedToConnectSSH": "Не удалось подключиться к SSH.",
|
||
"failedToReconnectSSH": "Не удалось повторно подключиться к SSH-сессии.",
|
||
"failedToListFiles": "Не удалось отобразить список файлов.",
|
||
"fetchHomeDataTimeout": "Время ожидания при получении данных с домашнего сайта истекло.",
|
||
"sshStatusCheckTimeout": "Проверка состояния SSH завершилась по истечении времени ожидания.",
|
||
"sshReconnectionTimeout": "Время ожидания повторного подключения по SSH истекло.",
|
||
"saveOperationTimeout": "Время ожидания операции сохранения истекло.",
|
||
"cannotSaveFile": "Не удаётся сохранить файл.",
|
||
"dragSystemFilesToUpload": "Перетащите системные файлы сюда для загрузки.",
|
||
"dragFilesToWindowToDownload": "Перетащите файлы за пределы окна для загрузки.",
|
||
"openTerminalHere": "Откройте терминал здесь",
|
||
"run": "Бегать",
|
||
"saveToSystem": "Сохранить как...",
|
||
"selectLocationToSave": "Выберите местоположение для сохранения.",
|
||
"openTerminalInFolder": "Откройте Терминал в этой папке",
|
||
"openTerminalInFileLocation": "Откройте терминал по адресу расположения файла.",
|
||
"terminalWithPath": "Терминал - {{name}}:{{host}}",
|
||
"runningFile": "Бег - {{path}}",
|
||
"onlyRunExecutableFiles": "Можно запускать только исполняемые файлы.",
|
||
"noHostSelected": "Хост не выбран",
|
||
"starred": "Отмечено звездочкой",
|
||
"shortcuts": "Ярлыки",
|
||
"directories": "Справочники",
|
||
"removedFromRecentFiles": "Удалено \"{{file}}\" из последних файлов",
|
||
"removeFailed": "Удалить неудавшийся",
|
||
"unpinnedSuccessfully": "Откреплено \"{{name}}\" успешно",
|
||
"unpinFailed": "Открепление не удалось",
|
||
"removedShortcut": "Удалён ярлык \"{{name}}\"",
|
||
"removeShortcutFailed": "Удаление ярлыка не удалось.",
|
||
"clearedAllRecentFiles": "Удалены все последние файлы.",
|
||
"clearFailed": "Очистка не удалась",
|
||
"removeFromRecentFiles": "Удалить из последних файлов",
|
||
"clearAllRecentFiles": "Удалите все недавно использованные файлы.",
|
||
"unpinFile": "Открепить файл",
|
||
"removeShortcut": "Удалить ярлык",
|
||
"saveFilesToSystem": "Сохраните {{name}} файлов как...",
|
||
"pinFile": "Закрепленный файл",
|
||
"addToShortcuts": "Добавить в ярлыки",
|
||
"downloadToDefaultLocation": "Скачать в местоположение по умолчанию",
|
||
"pasteFailed": "Вставка не удалась",
|
||
"noUndoableActions": "Нет необратимых действий",
|
||
"undoCopySuccess": "Операция копирования отменена: Удалено {{count}} скопированных файлов",
|
||
"undoCopyFailedDelete": "Отмена не удалась: Не удалось удалить скопированные файлы.",
|
||
"undoCopyFailedNoInfo": "Отмена не удалась: не удалось найти информацию о скопированном файле.",
|
||
"undoMoveSuccess": "Операция перемещения отменена: Перемещено {{count}} файлов обратно в исходное местоположение",
|
||
"undoMoveFailedMove": "Отмена не удалась: Не удалось переместить файлы обратно.",
|
||
"undoMoveFailedNoInfo": "Отмена не удалась: не удалось найти информацию о перемещенном файле.",
|
||
"undoDeleteNotSupported": "Операция удаления необратима: файлы были безвозвратно удалены с сервера.",
|
||
"undoTypeNotSupported": "Неподдерживаемый тип операции отмены",
|
||
"undoOperationFailed": "Операция отмены не удалась.",
|
||
"unknownError": "Неизвестная ошибка",
|
||
"enterPath": "Введите путь...",
|
||
"editPath": "Изменить путь",
|
||
"confirm": "Подтверждать",
|
||
"cancel": "Отмена",
|
||
"find": "Находить...",
|
||
"replaceWith": "Заменить на...",
|
||
"replace": "Заменять",
|
||
"replaceAll": "Заменить все",
|
||
"downloadInstead": "Скачать вместо",
|
||
"keyboardShortcuts": "Клавиатурные сочетания",
|
||
"searchAndReplace": "Поиск и замена",
|
||
"editing": "Редактирование",
|
||
"navigation": "Навигация",
|
||
"code": "Код",
|
||
"search": "Поиск",
|
||
"findNext": "Найти Далее",
|
||
"findPrevious": "Найти предыдущий",
|
||
"save": "Сохранять",
|
||
"selectAll": "Выбрать все",
|
||
"undo": "Отменить",
|
||
"redo": "Переделать",
|
||
"goToLine": "Перейти к линии",
|
||
"moveLineUp": "Переместить состав",
|
||
"moveLineDown": "Сдвинуть линию вниз",
|
||
"toggleComment": "Скрыть/Показать комментарий",
|
||
"indent": "Отступ",
|
||
"outdent": "Удаление",
|
||
"autoComplete": "Автозаполнение",
|
||
"imageLoadError": "Не удалось загрузить изображение",
|
||
"rotate": "Повернуть",
|
||
"originalSize": "Оригинальный размер",
|
||
"startTyping": "Начните печатать...",
|
||
"unknownSize": "Неизвестный размер",
|
||
"fileIsEmpty": "Файл пуст",
|
||
"largeFileWarning": "Предупреждение о больших файлах",
|
||
"largeFileWarningDesc": "Размер этого файла составляет {{count}}, что может вызвать проблемы с производительностью при открытии в текстовом формате.",
|
||
"fileNotFoundAndRemoved": "Файл \"{{size}}\" не найден и был удален из списка последних/закрепленных файлов.",
|
||
"failedToLoadFile": "Не удалось загрузить файл: {{name}}",
|
||
"serverErrorOccurred": "Произошла ошибка сервера. Пожалуйста, попробуйте позже.",
|
||
"autoSaveFailed": "Автосохранение не удалось",
|
||
"fileAutoSaved": "Файл автоматически сохранен",
|
||
"moveFileFailed": "Не удалось переместить {{error}}",
|
||
"moveOperationFailed": "Операция перемещения не удалась.",
|
||
"canOnlyCompareFiles": "Можно сравнить только два файла.",
|
||
"comparingFiles": "Сравнение файлов: {{name}} и {{file1}}",
|
||
"dragFailed": "Операция перетаскивания не удалась.",
|
||
"filePinnedSuccessfully": "Файл \"{{file2}}\" успешно закреплен",
|
||
"pinFileFailed": "Не удалось закрепить файл.",
|
||
"fileUnpinnedSuccessfully": "Файл \"{{name}}\" успешно откреплен",
|
||
"unpinFileFailed": "Не удалось открепить файл.",
|
||
"shortcutAddedSuccessfully": "Ярлык папки \"{{name}}\" успешно добавлен",
|
||
"addShortcutFailed": "Не удалось добавить ярлык.",
|
||
"operationCompletedSuccessfully": "{{name}} {{operation}} успешно элементов",
|
||
"operationCompleted": "{{count}} {{operation}} предметов",
|
||
"downloadFileSuccess": "Файл {{count}} успешно загружен",
|
||
"downloadFileFailed": "Загрузка не удалась.",
|
||
"moveTo": "Перейти к {{name}}",
|
||
"diffCompareWith": "Сравните с {{name}}",
|
||
"dragOutsideToDownload": "Перетащите за пределы окна, чтобы загрузить ({{name}} файлов)",
|
||
"newFolderDefault": "Новая папка",
|
||
"newFileDefault": "NewFile.txt",
|
||
"successfullyMovedItems": "Успешно перемещено {{count}} элементов в {{count}}",
|
||
"move": "Двигаться",
|
||
"searchInFile": "Поиск в файле (Ctrl+F)",
|
||
"showKeyboardShortcuts": "Показать сочетания клавиш",
|
||
"startWritingMarkdown": "Начните создавать контент в формате Markdown...",
|
||
"loadingFileComparison": "Загрузка сравнения файлов...",
|
||
"reload": "Перезагрузка",
|
||
"compare": "Сравнивать",
|
||
"sideBySide": "Бок о бок",
|
||
"inline": "В соответствии",
|
||
"fileComparison": "Сравнение файлов: {{target}} против {{file1}}",
|
||
"fileTooLarge": "Файл слишком большой: {{file2}}",
|
||
"sshConnectionFailed": "SSH-соединение не удалось. Пожалуйста, проверьте ваше соединение с {{error}} ({{name}}:{{ip}})",
|
||
"loadFileFailed": "Не удалось загрузить файл: {{port}}",
|
||
"connectedSuccessfully": "Соединение установлено успешно.",
|
||
"totpVerificationFailed": "Проверка TOTP не удалась.",
|
||
"verificationCodePrompt": "Проверочный код:",
|
||
"changePermissions": "Изменить права доступа",
|
||
"changePermissionsDesc": "Изменить права доступа к файлу для",
|
||
"currentPermissions": "Текущие разрешения",
|
||
"newPermissions": "Новые разрешения",
|
||
"owner": "Владелец",
|
||
"group": "Группа",
|
||
"others": "Другие",
|
||
"read": "Читать",
|
||
"write": "Писать",
|
||
"execute": "Выполнять",
|
||
"permissionsChangedSuccessfully": "Права доступа успешно изменены.",
|
||
"failedToChangePermissions": "Не удалось изменить права доступа."
|
||
},
|
||
"tunnel": {
|
||
"noTunnelsConfigured": "Туннели не настроены",
|
||
"configureTunnelsInHostSettings": "Для начала настройте туннельные соединения в Host Manager."
|
||
},
|
||
"tunnels": {
|
||
"title": "SSH-туннели",
|
||
"noSshTunnels": "Нет SSH-туннелей",
|
||
"createFirstTunnelMessage": "Вы еще не создали ни одного SSH-туннеля. Для начала настройте туннельные соединения в диспетчере хостов.",
|
||
"connected": "Подключено",
|
||
"disconnected": "Отключено",
|
||
"connecting": "Подключение...",
|
||
"disconnecting": "Отключение...",
|
||
"unknownTunnelStatus": "Неизвестный",
|
||
"statusUnknown": "Неизвестный",
|
||
"unknown": "Неизвестный",
|
||
"error": "Ошибка",
|
||
"failed": "Неуспешный",
|
||
"retrying": "Повторная попытка",
|
||
"waiting": "Ожидающий",
|
||
"waitingForRetry": "Ожидание повторной попытки",
|
||
"retryingConnection": "Повторная попытка подключения.",
|
||
"canceling": "Отмена...",
|
||
"connect": "Соединять",
|
||
"disconnect": "Отключить",
|
||
"cancel": "Отмена",
|
||
"port": "Порт",
|
||
"attempt": "Попытка {{error}} из {{current}}",
|
||
"nextRetryIn": "Следующая попытка повтора через {{max}} секунд",
|
||
"checkDockerLogs": "Проверьте логи Docker, чтобы узнать причину ошибки, присоединитесь к...",
|
||
"orCreate": "или создать",
|
||
"noTunnelConnections": "Туннельные соединения не настроены",
|
||
"tunnelConnections": "Туннельные соединения",
|
||
"addTunnel": "Добавить туннель",
|
||
"editTunnel": "Редактировать туннель",
|
||
"deleteTunnel": "Удалить туннель",
|
||
"tunnelName": "Название туннеля",
|
||
"localPort": "Местный порт",
|
||
"remoteHost": "Удаленный хост",
|
||
"remotePort": "Удаленный порт",
|
||
"autoStart": "Автозапуск",
|
||
"status": "Статус",
|
||
"active": "Активный",
|
||
"inactive": "Неактивный",
|
||
"start": "Начинать",
|
||
"stop": "Останавливаться",
|
||
"restart": "Перезапуск",
|
||
"connectionType": "Тип подключения",
|
||
"local": "Местный",
|
||
"remote": "Удаленный",
|
||
"dynamic": "Динамический",
|
||
"unknownConnectionStatus": "Неизвестный",
|
||
"portMapping": "Порт {{seconds}} → {{sourcePort}}:{{endpointHost}}",
|
||
"endpointHostNotFound": "Конечная точка хоста не найдена",
|
||
"discord": "Discord",
|
||
"githubIssue": "Проблема на GitHub",
|
||
"forHelp": "за помощью"
|
||
},
|
||
"serverStats": {
|
||
"title": "Статистика сервера",
|
||
"cpu": "Процессор",
|
||
"memory": "Память",
|
||
"disk": "Диск",
|
||
"network": "Сеть",
|
||
"uptime": "Время безотказной работы",
|
||
"loadAverage": "Среднее значение: {{endpointPort}}, {{avg1}}, {{avg5}}",
|
||
"processes": "Процессы",
|
||
"connections": "Связи",
|
||
"usage": "Использование",
|
||
"available": "Доступный",
|
||
"total": "Общий",
|
||
"free": "Бесплатно",
|
||
"used": "Использовал",
|
||
"percentage": "Процент",
|
||
"refreshStatusAndMetrics": "Обновить статус и показатели",
|
||
"refreshStatus": "Статус обновления",
|
||
"fileManagerAlreadyOpen": "Для этого хоста уже открыт файловый менеджер.",
|
||
"openFileManager": "Открыть файловый менеджер",
|
||
"cpuCores_one": "{{avg15}} ЦП",
|
||
"cpuCores_other": "{{count}} ЦП",
|
||
"naCpus": "N/A CPU(s)",
|
||
"loadAverageNA": "Среднее значение: Н/Д",
|
||
"cpuUsage": "Использование ЦП",
|
||
"memoryUsage": "Использование памяти",
|
||
"diskUsage": "Использование диска",
|
||
"rootStorageSpace": "Корневое пространство хранения",
|
||
"of": "из",
|
||
"feedbackMessage": "Есть идеи о том, что следует предпринять в будущем для управления серверами? Поделитесь ими в социальных сетях.",
|
||
"failedToFetchHostConfig": "Не удалось получить конфигурацию хоста.",
|
||
"failedToFetchStatus": "Не удалось получить статус сервера.",
|
||
"failedToFetchMetrics": "Не удалось получить метрики сервера.",
|
||
"failedToFetchHomeData": "Не удалось получить данные о домашнем хозяйстве.",
|
||
"loadingMetrics": "Загрузка метрик...",
|
||
"connecting": "Подключение...",
|
||
"refreshing": "Освежающе...",
|
||
"serverOffline": "Сервер отключен",
|
||
"cannotFetchMetrics": "Не удаётся получить метрики с недоступного сервера.",
|
||
"totpRequired": "Требуется аутентификация TOTP.",
|
||
"totpUnavailable": "Статистика сервера недоступна для серверов с поддержкой TOTP.",
|
||
"totpVerified": "Протокол TOTP подтвержден, сбор метрик начался.",
|
||
"totpFailed": "Проверка TOTP не удалась.",
|
||
"totpInvalidCode": "Неверный код подтверждения",
|
||
"totpCancelled": "Сбор метрик отменен.",
|
||
"authenticationFailed": "Аутентификация не удалась",
|
||
"noneAuthNotSupported": "Server Stats не поддерживает тип аутентификации \"none\".",
|
||
"load": "Нагрузка",
|
||
"editLayout": "Редактировать макет",
|
||
"cancelEdit": "Отмена",
|
||
"addWidget": "Добавить виджет",
|
||
"saveLayout": "Сохранить макет",
|
||
"unsavedChanges": "Несохраненные изменения",
|
||
"layoutSaved": "Макет успешно сохранен.",
|
||
"failedToSaveLayout": "Не удалось сохранить макет.",
|
||
"systemInfo": "Информация о системе",
|
||
"hostname": "Имя хоста",
|
||
"operatingSystem": "Операционная система",
|
||
"kernel": "Ядро",
|
||
"totalUptime": "Общее время безотказной работы",
|
||
"seconds": "секунд",
|
||
"networkInterfaces": "Сетевые интерфейсы",
|
||
"noInterfacesFound": "Сетевые интерфейсы не обнаружены",
|
||
"totalProcesses": "Комплексные процессы",
|
||
"running": "Бег",
|
||
"noProcessesFound": "Процессы не найдены",
|
||
"loginStats": "Статистика входа по SSH",
|
||
"totalLogins": "Общее количество входов",
|
||
"uniqueIPs": "Уникальные IP-адреса",
|
||
"recentSuccessfulLogins": "Недавние успешные входы в систему",
|
||
"recentFailedAttempts": "Недавние неудачные попытки",
|
||
"noRecentLoginData": "Нет данных о недавних входах в систему.",
|
||
"from": "от",
|
||
"quickActions": "Быстрые действия",
|
||
"executeQuickAction": "Выполнить {{count}}",
|
||
"executingQuickAction": "Выполнение {{name}}...",
|
||
"quickActionSuccess": "{{name}} успешно завершено",
|
||
"quickActionFailed": "{{name}} провалился",
|
||
"quickActionError": "Не удалось выполнить {{name}}"
|
||
},
|
||
"auth": {
|
||
"tagline": "МЕНЕДЖЕР SSH-СЕРВЕРА",
|
||
"description": "Безопасное, мощное и интуитивно понятное управление SSH-соединениями.",
|
||
"welcomeBack": "Снова добро пожаловать в TERMIX!",
|
||
"createAccount": "Создайте свою учетную запись TERMIX",
|
||
"continueExternal": "Продолжить работу с внешним поставщиком",
|
||
"loginTitle": "Войти в Termix",
|
||
"registerTitle": "Зарегистрироваться",
|
||
"loginButton": "Авторизоваться",
|
||
"registerButton": "Регистрация",
|
||
"forgotPassword": "Забыли пароль?",
|
||
"rememberMe": "Запомнить меня",
|
||
"noAccount": "У вас нет аккаунта?",
|
||
"hasAccount": "У вас уже есть аккаунт?",
|
||
"loginSuccess": "Вход выполнен успешно.",
|
||
"loginFailed": "Ошибка входа",
|
||
"registerSuccess": "Регистрация прошла успешно.",
|
||
"registerFailed": "Регистрация не удалась",
|
||
"logoutSuccess": "Выход из системы выполнен успешно.",
|
||
"invalidCredentials": "Неверное имя пользователя или пароль.",
|
||
"accountCreated": "Учетная запись успешно создана.",
|
||
"passwordReset": "Ссылка для сброса пароля отправлена.",
|
||
"twoFactorAuth": "Двухфакторная аутентификация",
|
||
"enterCode": "Введите проверочный код",
|
||
"backupCode": "Или используйте резервный код",
|
||
"verifyCode": "Подтвердите код",
|
||
"redirectingToApp": "Перенаправление в приложение...",
|
||
"enableTwoFactor": "Включить двухфакторную аутентификацию",
|
||
"disableTwoFactor": "Отключить двухфакторную аутентификацию",
|
||
"scanQRCode": "Отсканируйте этот QR-код с помощью вашего приложения-аутентификатора.",
|
||
"backupCodes": "Резервные коды",
|
||
"saveBackupCodes": "Сохраните эти резервные коды в надежном месте.",
|
||
"twoFactorEnabledSuccess": "Двухфакторная аутентификация успешно включена!",
|
||
"twoFactorDisabled": "Двухфакторная аутентификация отключена",
|
||
"newBackupCodesGenerated": "Сгенерированы новые резервные коды.",
|
||
"backupCodesDownloaded": "Загружены резервные коды",
|
||
"pleaseEnterSixDigitCode": "Пожалуйста, введите 6-значный код.",
|
||
"invalidVerificationCode": "Неверный код подтверждения",
|
||
"failedToDisableTotp": "Не удалось отключить TOTP.",
|
||
"failedToGenerateBackupCodes": "Не удалось сгенерировать резервные коды.",
|
||
"enterPassword": "Введите свой пароль",
|
||
"lockedOidcAuth": "Заблокировано (аутентификация OIDC)",
|
||
"twoFactorTitle": "Двухфакторная аутентификация",
|
||
"twoFactorProtected": "Ваш аккаунт защищен двухфакторной аутентификацией.",
|
||
"twoFactorActive": "В вашей учетной записи в данный момент активна двухфакторная аутентификация.",
|
||
"disable2FA": "Отключить двухфакторную аутентификацию",
|
||
"disableTwoFactorWarning": "Отключение двухфакторной аутентификации сделает вашу учетную запись менее защищенной.",
|
||
"passwordOrTotpCode": "Пароль или TOTP-код",
|
||
"or": "Или",
|
||
"generateNewBackupCodesText": "Сгенерируйте новые резервные коды, если вы потеряли существующие.",
|
||
"generateNewBackupCodes": "Сгенерировать новые резервные коды",
|
||
"yourBackupCodes": "Ваши резервные коды",
|
||
"download": "Скачать",
|
||
"setupTwoFactorTitle": "Настройка двухфакторной аутентификации",
|
||
"sshAuthenticationRequired": "Требуется аутентификация SSH.",
|
||
"sshNoKeyboardInteractive": "Интерактивная аутентификация с помощью клавиатуры недоступна",
|
||
"sshAuthenticationFailed": "Аутентификация не удалась",
|
||
"sshAuthenticationTimeout": "Тайм-аут аутентификации",
|
||
"sshNoKeyboardInteractiveDescription": "Сервер не поддерживает интерактивную аутентификацию с клавиатуры. Пожалуйста, укажите свой пароль или SSH-ключ.",
|
||
"sshAuthFailedDescription": "Предоставленные учетные данные неверны. Пожалуйста, попробуйте еще раз с действительными учетными данными.",
|
||
"sshTimeoutDescription": "Попытка аутентификации завершилась по истечении времени ожидания. Пожалуйста, попробуйте снова.",
|
||
"sshProvideCredentialsDescription": "Пожалуйста, укажите свои учетные данные SSH для подключения к этому серверу.",
|
||
"sshPasswordDescription": "Введите пароль для этого SSH-соединения.",
|
||
"sshKeyPasswordDescription": "Если ваш SSH-ключ зашифрован, введите парольную фразу здесь.",
|
||
"step1ScanQR": "Шаг 1: Отсканируйте QR-код с помощью приложения-аутентификатора.",
|
||
"manualEntryCode": "Код ручного ввода",
|
||
"cannotScanQRText": "Если вам не удается отсканировать QR-код, введите этот код вручную в приложении-аутентификаторе.",
|
||
"nextVerifyCode": "Далее: Подтвердите код",
|
||
"verifyAuthenticator": "Подтвердите подлинность вашего аутентификатора",
|
||
"step2EnterCode": "Шаг 2: Введите 6-значный код из приложения-аутентификатора.",
|
||
"verificationCode": "Проверочный код",
|
||
"back": "Назад",
|
||
"verifyAndEnable": "Проверить и включить",
|
||
"saveBackupCodesTitle": "Сохраните резервные коды",
|
||
"step3StoreCodesSecurely": "Шаг 3: Сохраните эти коды в безопасном месте.",
|
||
"importantBackupCodesText": "Сохраните эти резервные коды в надежном месте. Вы сможете использовать их для доступа к своей учетной записи, если потеряете устройство аутентификации.",
|
||
"completeSetup": "Полная настройка",
|
||
"notEnabledText": "Двухфакторная аутентификация добавляет дополнительный уровень безопасности, требуя ввода кода из вашего приложения-аутентификатора при входе в систему.",
|
||
"enableTwoFactorButton": "Включить двухфакторную аутентификацию",
|
||
"addExtraSecurityLayer": "Добавьте дополнительный уровень безопасности к своему аккаунту.",
|
||
"firstUser": "Первый пользователь",
|
||
"firstUserMessage": "Вы первый пользователь и будете назначены администратором. Настройки администратора можно посмотреть в выпадающем списке пользователей на боковой панели. Если вы считаете, что это ошибка, проверьте логи Docker или создайте проблему на GitHub.",
|
||
"external": "Внешний",
|
||
"loginWithExternal": "Вход через внешнего поставщика",
|
||
"loginWithExternalDesc": "Войдите в систему, используя настроенный вами внешний поставщик идентификации.",
|
||
"externalNotSupportedInElectron": "Внешняя аутентификация в приложении Electron пока не поддерживается. Для входа через OIDC используйте веб-версию.",
|
||
"resetPasswordButton": "Сбросить пароль",
|
||
"sendResetCode": "Отправить код сброса",
|
||
"resetCodeDesc": "Введите ваше имя пользователя, чтобы получить код для сброса пароля. Код будет записан в логи контейнера Docker.",
|
||
"resetCode": "Код сброса",
|
||
"verifyCodeButton": "Подтвердите код",
|
||
"enterResetCode": "Введите 6-значный код из логов контейнера Docker для пользователя:",
|
||
"goToLogin": "Перейти к входу",
|
||
"newPassword": "Новый пароль",
|
||
"confirmNewPassword": "Подтвердите пароль",
|
||
"enterNewPassword": "Введите новый пароль для пользователя:",
|
||
"signUp": "Зарегистрироваться",
|
||
"mobileApp": "Мобильное приложение",
|
||
"loggingInToMobileApp": "Вход в мобильное приложение",
|
||
"desktopApp": "Настольное приложение",
|
||
"loggingInToDesktopApp": "Вход в настольное приложение",
|
||
"loggingInToDesktopAppViaWeb": "Вход в настольное приложение через веб-интерфейс.",
|
||
"loadingServer": "Загрузка сервера...",
|
||
"authenticating": "Аутентификация...",
|
||
"dataLossWarning": "Сброс пароля таким способом удалит все сохраненные SSH-хосты, учетные данные и другие зашифрованные данные. Это действие необратимо. Используйте этот способ только в том случае, если вы забыли свой пароль и не вошли в систему.",
|
||
"authenticationDisabled": "Аутентификация отключена",
|
||
"authenticationDisabledDesc": "В настоящее время все методы аутентификации отключены. Пожалуйста, свяжитесь с администратором.",
|
||
"passwordResetSuccess": "Сброс пароля пройден успешно.",
|
||
"passwordResetSuccessDesc": "Ваш пароль успешно сброшен. Теперь вы можете войти в систему, используя новый пароль."
|
||
},
|
||
"errors": {
|
||
"notFound": "Страница не найдена",
|
||
"unauthorized": "Несанкционированный доступ",
|
||
"forbidden": "Доступ запрещен",
|
||
"serverError": "Ошибка сервера",
|
||
"networkError": "Сетевая ошибка",
|
||
"databaseConnection": "Не удалось подключиться к базе данных.",
|
||
"unknownError": "Неизвестная ошибка",
|
||
"loginFailed": "Ошибка входа",
|
||
"failedPasswordReset": "Не удалось инициировать сброс пароля.",
|
||
"failedVerifyCode": "Не удалось проверить код сброса",
|
||
"failedCompleteReset": "Сброс пароля не удался.",
|
||
"invalidTotpCode": "Неверный TOTP-код",
|
||
"failedOidcLogin": "Не удалось запустить вход в OIDC.",
|
||
"failedUserInfo": "Не удалось получить информацию о пользователе после входа в систему OIDC.",
|
||
"oidcAuthFailed": "Аутентификация OIDC не удалась",
|
||
"noTokenReceived": "При входе в систему токен не получен.",
|
||
"invalidAuthUrl": "Получен недействительный URL-адрес авторизации от бэкэнда.",
|
||
"invalidInput": "Неверный ввод",
|
||
"requiredField": "Это поле обязательно к заполнению",
|
||
"minLength": "Минимальная длина составляет {{name}}",
|
||
"maxLength": "Максимальная длина составляет {{min}}",
|
||
"invalidEmail": "Неверный адрес электронной почты",
|
||
"passwordMismatch": "Пароли не совпадают",
|
||
"passwordLoginDisabled": "Вход по имени пользователя/паролю в данный момент отключен.",
|
||
"weakPassword": "Пароль слишком слабый",
|
||
"usernameExists": "Имя пользователя уже существует.",
|
||
"emailExists": "Адрес электронной почты уже существует.",
|
||
"loadFailed": "Не удалось загрузить данные.",
|
||
"saveError": "Не удалось сохранить",
|
||
"sessionExpired": "Срок действия сессии истек — пожалуйста, войдите снова."
|
||
},
|
||
"messages": {
|
||
"saveSuccess": "Сохранено успешно",
|
||
"saveError": "Не удалось сохранить",
|
||
"deleteSuccess": "Удалено успешно",
|
||
"deleteError": "Не удалось удалить",
|
||
"updateSuccess": "Обновление успешно завершено.",
|
||
"updateError": "Не удалось обновить",
|
||
"copySuccess": "Скопировано в буфер обмена",
|
||
"copyError": "Не удалось скопировать",
|
||
"copiedToClipboard": "{{max}} скопировано в буфер обмена",
|
||
"connectionEstablished": "Соединение установлено.",
|
||
"connectionClosed": "Соединение закрыто",
|
||
"reconnecting": "Восстановление связи...",
|
||
"processing": "Обработка...",
|
||
"pleaseWait": "Пожалуйста, подождите...",
|
||
"registrationDisabled": "В настоящее время регистрация новых учетных записей отключена администратором. Пожалуйста, войдите в систему или свяжитесь с администратором.",
|
||
"databaseConnected": "База данных успешно подключена.",
|
||
"databaseConnectionFailed": "Не удалось подключиться к серверу базы данных.",
|
||
"checkServerConnection": "Пожалуйста, проверьте подключение к серверу и попробуйте снова.",
|
||
"resetCodeSent": "Код сброса отправлен в логи Docker.",
|
||
"codeVerified": "Код успешно проверен.",
|
||
"passwordResetSuccess": "Пароль успешно сброшен.",
|
||
"loginSuccess": "Вход выполнен успешно.",
|
||
"registrationSuccess": "Регистрация прошла успешно."
|
||
},
|
||
"profile": {
|
||
"title": "Профиль пользователя",
|
||
"description": "Управляйте настройками своей учетной записи и безопасностью.",
|
||
"security": "Безопасность",
|
||
"changePassword": "Изменить пароль",
|
||
"twoFactorAuth": "Двухфакторная аутентификация",
|
||
"accountInfo": "Информация об учетной записи",
|
||
"role": "Роль",
|
||
"admin": "Администратор",
|
||
"user": "Пользователь",
|
||
"authMethod": "Метод аутентификации",
|
||
"local": "Местный",
|
||
"external": "Внешний (OIDC)",
|
||
"externalAndLocal": "Двойная аутентификация",
|
||
"selectPreferredLanguage": "Выберите предпочитаемый язык интерфейса.",
|
||
"fileColorCoding": "Цветовая кодировка файлов",
|
||
"fileColorCodingDesc": "Раскрасьте файлы по типу: папки (красный), файлы (синий), символические ссылки (зеленый).",
|
||
"commandAutocomplete": "Автозаполнение команд",
|
||
"commandAutocompleteDesc": "Включите автозаполнение команд терминала с помощью клавиши Tab на основе истории команд.",
|
||
"defaultSnippetFoldersCollapsed": "Сворачивать папки с фрагментами по умолчанию",
|
||
"defaultSnippetFoldersCollapsedDesc": "При включении этой функции все папки с фрагментами кода будут свернуты при открытии вкладки «Фрагменты кода».",
|
||
"terminalSyntaxHighlighting": "Подсветка синтаксиса терминала",
|
||
"showHostTags": "Показать теги ведущего",
|
||
"showHostTagsDesc": "В боковой панели под каждым хостом отображаются теги. Отключите эту опцию, чтобы скрыть все теги.",
|
||
"account": "Счет",
|
||
"appearance": "Появление",
|
||
"languageLocalization": "Язык и локализация",
|
||
"fileManagerSettings": "Файловый менеджер",
|
||
"terminalSettings": "Терминал",
|
||
"hostSidebarSettings": "Хостинг и боковая панель",
|
||
"snippetsSettings": "Фрагменты",
|
||
"currentPassword": "Текущий пароль",
|
||
"passwordChangedSuccess": "Пароль успешно изменен! Пожалуйста, войдите снова.",
|
||
"failedToChangePassword": "Не удалось изменить пароль. Пожалуйста, проверьте свой текущий пароль и попробуйте снова.",
|
||
"theme": "Тема",
|
||
"themeLight": "Свет",
|
||
"themeDark": "Темный",
|
||
"themeSystem": "Система",
|
||
"appearanceDesc": "Выберите цветовую тему для приложения.",
|
||
"terminalSyntaxHighlightingDesc": "Автоматическое выделение команд, путей, IP-адресов и уровней логирования в выводе терминала."
|
||
},
|
||
"user": {
|
||
"failedToLoadVersionInfo": "Не удалось загрузить информацию о версии."
|
||
},
|
||
"placeholders": {
|
||
"enterCode": "000000",
|
||
"ipAddress": "127.0.0.1",
|
||
"port": "22",
|
||
"maxRetries": "3",
|
||
"retryInterval": "10",
|
||
"language": "Язык",
|
||
"username": "имя пользователя",
|
||
"hostname": "имя хоста",
|
||
"folder": "папка",
|
||
"password": "пароль",
|
||
"keyPassword": "ключ пароль",
|
||
"sudoPassword": "Пароль sudo (необязательно)",
|
||
"notes": "Добавить примечания об этом хосте...",
|
||
"expirationDate": "Выберите дату истечения срока действия",
|
||
"pastePrivateKey": "Вставьте сюда свой закрытый ключ...",
|
||
"pastePublicKey": "Вставьте сюда свой открытый ключ...",
|
||
"credentialName": "Мой SSH-сервер",
|
||
"description": "Описание учетных данных SSH",
|
||
"searchCredentials": "Поиск учетных данных по имени, имени пользователя или тегам...",
|
||
"sshConfig": "конфигурация SSH конечной точки",
|
||
"homePath": "/дом",
|
||
"clientId": "ваш-идентификатор-клиента",
|
||
"clientSecret": "секрет вашего клиента",
|
||
"authUrl": "https://your-provider.com/application/o/authorize/",
|
||
"redirectUrl": "https://your-provider.com/application/o/termix/",
|
||
"tokenUrl": "https://your-provider.com/application/o/token/",
|
||
"userIdField": "субтитры",
|
||
"usernameField": "имя",
|
||
"scopes": "профиль электронной почты OpenID",
|
||
"userinfoUrl": "https://your-provider.com/application/o/userinfo/",
|
||
"enterUsername": "Введите имя пользователя, чтобы сделать его администратором.",
|
||
"searchHosts": "Поиск хостов по имени, имени пользователя, IP-адресу, папке, тегам...",
|
||
"enterPassword": "Введите свой пароль",
|
||
"totpCode": "6-значный TOTP-код",
|
||
"searchHostsAny": "Поиск хостов (попробуйте: tag:prod, user:root, ip:192.168)...",
|
||
"confirmPassword": "Введите свой пароль для подтверждения.",
|
||
"typeHere": "Введите здесь",
|
||
"fileName": "Введите имя файла (например, example.txt)",
|
||
"folderName": "Введите название папки",
|
||
"fullPath": "Введите полный путь к элементу",
|
||
"currentPath": "Введите текущий путь к элементу",
|
||
"newName": "Введите новое имя",
|
||
"socks5Host": "127.0.0.1",
|
||
"socks5Username": "имя пользователя прокси",
|
||
"socks5Password": "пароль прокси",
|
||
"socks5PresetName": "например, Work VPN Chain",
|
||
"socks5PresetDescription": "например, цепочка прокси-серверов для доступа к рабочим серверам.",
|
||
"moshCommand": "mosh user@server",
|
||
"defaultPort": "22",
|
||
"defaultEndpointPort": "224",
|
||
"defaultMaxRetries": "3",
|
||
"defaultRetryInterval": "10"
|
||
},
|
||
"leftSidebar": {
|
||
"failedToLoadHosts": "Не удалось загрузить хосты.",
|
||
"noFolder": "Нет папки",
|
||
"passwordRequired": "Требуется пароль",
|
||
"failedToDeleteAccount": "Не удалось удалить учетную запись.",
|
||
"failedToMakeUserAdmin": "Не удалось назначить пользователя администратором.",
|
||
"userIsNowAdmin": "Пользователь {{item}} теперь является администратором.",
|
||
"removeAdminConfirm": "Вы уверены, что хотите удалить статус администратора у {{username}}?",
|
||
"deleteUserConfirm": "Вы уверены, что хотите удалить пользователя {{username}}? Это действие необратимо.",
|
||
"deleteAccount": "Удалить аккаунт",
|
||
"closeDeleteAccount": "Закрыть Удалить учетную запись",
|
||
"deleteAccountWarning": "Это действие необратимо. Ваша учетная запись и все связанные с ней данные будут безвозвратно удалены.",
|
||
"deleteAccountWarningDetails": "Удаление вашей учетной записи приведет к удалению всех ваших данных, включая SSH-хосты, конфигурации и настройки. Это действие необратимо.",
|
||
"deleteAccountWarningShort": "Это действие необратимо и приведет к безвозвратному удалению вашей учетной записи.",
|
||
"cannotDeleteAccount": "Невозможно удалить аккаунт",
|
||
"lastAdminWarning": "Вы — последний пользователь с правами администратора. Вы не можете удалить свою учетную запись, так как это оставит систему без администраторов. Пожалуйста, сначала назначьте администратором другого пользователя или обратитесь в службу поддержки системы.",
|
||
"confirmPassword": "Подтвердите пароль",
|
||
"deleting": "Удаление...",
|
||
"cancel": "Отмена"
|
||
},
|
||
"interface": {
|
||
"sidebar": "Боковая панель",
|
||
"toggleSidebar": "Переключить боковую панель",
|
||
"close": "Закрывать",
|
||
"online": "Онлайн",
|
||
"offline": "Офлайн",
|
||
"maintenance": "Обслуживание",
|
||
"degraded": "Деградировавший",
|
||
"noTunnelConnections": "Туннельные соединения не настроены",
|
||
"discord": "Discord",
|
||
"connectToSshForOperations": "Для работы с файлами подключитесь по SSH.",
|
||
"uploadFile": "Загрузить файл",
|
||
"newFile": "Новый файл",
|
||
"newFolder": "Новая папка",
|
||
"rename": "Переименовать",
|
||
"deleteItem": "Удалить элемент",
|
||
"createNewFile": "Создать новый файл",
|
||
"createNewFolder": "Создать новую папку",
|
||
"renameItem": "Переименовать элемент",
|
||
"clickToSelectFile": "Нажмите, чтобы выбрать файл",
|
||
"noSshHosts": "Нет SSH-хостов",
|
||
"sshHosts": "SSH-хосты",
|
||
"importSshHosts": "Импорт SSH-хостов из JSON",
|
||
"clientId": "Идентификатор клиента",
|
||
"clientSecret": "Секрет клиента",
|
||
"error": "Ошибка",
|
||
"warning": "Предупреждение",
|
||
"deleteAccount": "Удалить аккаунт",
|
||
"closeDeleteAccount": "Закрыть Удалить учетную запись",
|
||
"cannotDeleteAccount": "Невозможно удалить аккаунт",
|
||
"confirmPassword": "Подтвердите пароль",
|
||
"deleting": "Удаление...",
|
||
"externalAuth": "Внешняя аутентификация (OIDC)",
|
||
"configureExternalProvider": "Настройте внешний поставщик идентификации для",
|
||
"waitingForRetry": "Ожидание повторной попытки",
|
||
"retryingConnection": "Повторная попытка подключения.",
|
||
"resetSplitSizes": "Сбросить размеры разделения",
|
||
"sshManagerAlreadyOpen": "Менеджер SSH уже открыт",
|
||
"disabledDuringSplitScreen": "Отключено при разделенном экране",
|
||
"unknown": "Неизвестный",
|
||
"connected": "Подключено",
|
||
"disconnected": "Отключено",
|
||
"maxRetriesExhausted": "Максимальное количество попыток исчерпано.",
|
||
"endpointHostNotFound": "Конечная точка хоста не найдена",
|
||
"administrator": "Администратор",
|
||
"user": "Пользователь",
|
||
"external": "Внешний",
|
||
"local": "Местный",
|
||
"saving": "Сохранение...",
|
||
"saveConfiguration": "Сохранение конфигурации",
|
||
"loading": "Загрузка...",
|
||
"refresh": "Обновить",
|
||
"adding": "Добавляем...",
|
||
"makeAdmin": "Сделать администратором",
|
||
"verifying": "Проверка...",
|
||
"verifyAndEnable": "Проверить и включить",
|
||
"secretKey": "Секретный ключ",
|
||
"totpQrCode": "QR-код TOTP",
|
||
"passwordRequired": "Для аутентификации по паролю требуется пароль.",
|
||
"sshKeyRequired": "Для аутентификации по ключу требуется закрытый ключ SSH.",
|
||
"keyTypeRequired": "Тип ключа обязателен при использовании аутентификации по ключу.",
|
||
"validSshConfigRequired": "Необходимо выбрать допустимую конфигурацию SSH из списка.",
|
||
"updateHost": "Обновить хост",
|
||
"addHost": "Добавить хост",
|
||
"editHost": "Редактировать хост",
|
||
"pinConnection": "Подключение контактов",
|
||
"authentication": "Аутентификация",
|
||
"password": "Пароль",
|
||
"key": "Ключ",
|
||
"sshPrivateKey": "Закрытый ключ SSH",
|
||
"keyPassword": "Ключ Пароль",
|
||
"keyType": "Тип ключа",
|
||
"enableTerminal": "Включить терминал",
|
||
"enableTunnel": "Включить туннель",
|
||
"enableFileManager": "Включить файловый менеджер",
|
||
"defaultPath": "Путь по умолчанию",
|
||
"tunnelConnections": "Туннельные соединения",
|
||
"maxRetries": "Максимальное количество повторных попыток",
|
||
"upload": "Загрузить",
|
||
"updateKey": "Ключ обновления",
|
||
"productionFolder": "Производство",
|
||
"databaseServer": "Сервер базы данных",
|
||
"developmentServer": "Сервер разработки",
|
||
"developmentFolder": "Разработка",
|
||
"webServerProduction": "Веб-сервер - производственная среда",
|
||
"unknownError": "Неизвестная ошибка",
|
||
"failedToInitiatePasswordReset": "Не удалось инициировать сброс пароля.",
|
||
"failedToVerifyResetCode": "Не удалось проверить код сброса",
|
||
"failedToCompletePasswordReset": "Сброс пароля не удался.",
|
||
"invalidTotpCode": "Неверный TOTP-код",
|
||
"failedToStartOidcLogin": "Не удалось запустить вход в OIDC.",
|
||
"failedToGetUserInfoAfterOidc": "Не удалось получить информацию о пользователе после входа в систему OIDC.",
|
||
"loginWithExternalProvider": "Вход через внешнего провайдера",
|
||
"loginWithExternal": "Вход через внешнего поставщика",
|
||
"sendResetCode": "Отправить код сброса",
|
||
"verifyCode": "Подтвердите код",
|
||
"resetPassword": "Сбросить пароль",
|
||
"login": "Авторизоваться",
|
||
"signUp": "Зарегистрироваться",
|
||
"failedToUpdateOidcConfig": "Не удалось обновить конфигурацию OIDC.",
|
||
"failedToMakeUserAdmin": "Не удалось назначить пользователя администратором.",
|
||
"failedToStartTotpSetup": "Не удалось запустить настройку TOTP.",
|
||
"invalidVerificationCode": "Неверный код подтверждения",
|
||
"failedToDisableTotp": "Не удалось отключить TOTP.",
|
||
"failedToGenerateBackupCodes": "Не удалось сгенерировать резервные коды."
|
||
},
|
||
"mobile": {
|
||
"selectHostToStart": "Выберите хост, чтобы начать сеанс терминала.",
|
||
"limitedSupportMessage": "Поддержка мобильных версий сайта пока находится в стадии разработки. Для более удобного использования воспользуйтесь мобильным приложением.",
|
||
"mobileAppInProgress": "Разработка мобильного приложения ведётся.",
|
||
"mobileAppInProgressDesc": "Мы работаем над специальным мобильным приложением, чтобы обеспечить более удобное использование на мобильных устройствах.",
|
||
"viewMobileAppDocs": "Установите мобильное приложение",
|
||
"mobileAppDocumentation": "Документация мобильного приложения"
|
||
},
|
||
"dashboard": {
|
||
"title": "Панель управления",
|
||
"github": "GitHub",
|
||
"support": "Поддерживать",
|
||
"discord": "Discord",
|
||
"donate": "Пожертвовать",
|
||
"serverOverview": "Обзор сервера",
|
||
"version": "Версия",
|
||
"upToDate": "До настоящего времени",
|
||
"updateAvailable": "Доступно обновление",
|
||
"uptime": "Время безотказной работы",
|
||
"database": "База данных",
|
||
"healthy": "Здоровый",
|
||
"error": "Ошибка",
|
||
"totalServers": "Всего серверов",
|
||
"totalTunnels": "Всего туннелей",
|
||
"totalCredentials": "Полный набор учетных данных",
|
||
"recentActivity": "Последние события",
|
||
"reset": "Перезагрузить",
|
||
"loadingRecentActivity": "Загрузка последних событий...",
|
||
"noRecentActivity": "Нет недавней активности",
|
||
"quickActions": "Быстрые действия",
|
||
"addHost": "Добавить хост",
|
||
"addCredential": "Добавить учетные данные",
|
||
"adminSettings": "Настройки администратора",
|
||
"userProfile": "Профиль пользователя",
|
||
"serverStats": "Статистика сервера",
|
||
"loadingServerStats": "Загрузка статистики сервера...",
|
||
"noServerData": "Данные сервера отсутствуют.",
|
||
"cpu": "Процессор",
|
||
"ram": "БАРАН",
|
||
"notAvailable": "Н/Д"
|
||
},
|
||
"rbac": {
|
||
"shareHost": "Совместный хостинг",
|
||
"shareHostTitle": "Совместный доступ к хосту",
|
||
"shareHostDescription": "Предоставить временный или постоянный доступ этому хосту.",
|
||
"targetUser": "Целевой пользователь",
|
||
"selectUser": "Выберите пользователя, с которым хотите поделиться.",
|
||
"duration": "Продолжительность",
|
||
"durationHours": "Продолжительность (часы)",
|
||
"neverExpires": "Срок действия не ограничен.",
|
||
"permissionLevel": "Уровень доступа",
|
||
"permissionLevels": {
|
||
"readonly": "Только для чтения",
|
||
"readonlyDesc": "Только просмотр, ввод команд невозможен.",
|
||
"restricted": "Ограниченный",
|
||
"restrictedDesc": "Блокирует опасные команды (passwd, rm -rf и т. д.)",
|
||
"monitored": "Контролируемый",
|
||
"monitoredDesc": "Записывает все команды, но не блокирует выполнение (рекомендуется).",
|
||
"full": "Полный доступ",
|
||
"fullDesc": "Без ограничений (не рекомендуется)"
|
||
},
|
||
"blockedCommands": "Заблокированные команды",
|
||
"blockedCommandsPlaceholder": "Введите команды для блокировки, например, passwd, rm, dd.",
|
||
"maxSessionDuration": "Максимальная продолжительность сеанса (в минутах)",
|
||
"createTempUser": "Создать временного пользователя",
|
||
"createTempUserDesc": "Создает на сервере пользователя с ограниченными правами вместо предоставления доступа к вашим учетным данным. Требует доступа с правами суперпользователя (sudo). Наиболее безопасный вариант.",
|
||
"expiresAt": "Срок действия истекает в",
|
||
"expiresIn": "Срок действия истекает через {{username}} часов",
|
||
"expired": "Истекший",
|
||
"grantedBy": "Утверждено",
|
||
"accessLevel": "Уровень доступа",
|
||
"lastAccessed": "Последнее посещение",
|
||
"accessCount": "Количество доступов",
|
||
"revokeAccess": "Отменить доступ",
|
||
"confirmRevokeAccess": "Вы уверены, что хотите отозвать доступ для {{hours}}?",
|
||
"hostSharedSuccessfully": "Хост успешно предоставлен в общий доступ {{username}}",
|
||
"hostAccessUpdated": "Обновлен доступ к хосту.",
|
||
"failedToShareHost": "Не удалось предоставить общий доступ к хосту.",
|
||
"accessRevokedSuccessfully": "Доступ успешно отозван.",
|
||
"failedToRevokeAccess": "Не удалось отозвать доступ",
|
||
"shared": "Общий",
|
||
"sharedHosts": "Общие хосты",
|
||
"sharedWithMe": "Поделился со мной",
|
||
"noSharedHosts": "Хозяева вам не предоставили никакой информации.",
|
||
"owner": "Владелец",
|
||
"viewAccessList": "Просмотреть список доступа",
|
||
"accessList": "Список доступа",
|
||
"noAccessGranted": "Доступ к данному хосту не предоставлен.",
|
||
"noAccessGrantedMessage": "Доступ к этому хосту пока не предоставлен ни одному пользователю.",
|
||
"manageAccessFor": "Управление доступом для",
|
||
"totalAccessRecords": "{{username}} запись(и) доступа",
|
||
"neverAccessed": "Никогда",
|
||
"timesAccessed": "{{count}} раз(а)",
|
||
"daysRemaining": "{{count}} дня(дней)",
|
||
"hoursRemaining": "{{days}} часов",
|
||
"failedToFetchAccessList": "Не удалось получить список доступа",
|
||
"currentAccess": "Текущий доступ",
|
||
"securityWarning": "Предупреждение о безопасности",
|
||
"securityWarningMessage": "Предоставление учетных данных дает пользователю полный доступ к выполнению любых операций на сервере, включая изменение паролей и удаление файлов. Предоставляйте доступ только доверенным пользователям.",
|
||
"tempUserRecommended": "Для повышения уровня безопасности мы рекомендуем включить функцию «Создать временного пользователя».",
|
||
"roleManagement": "Управление ролями",
|
||
"manageRoles": "Управление ролями",
|
||
"manageRolesFor": "Управление ролями для {{hours}}",
|
||
"assignRole": "Назначить роль",
|
||
"removeRole": "Удалить роль",
|
||
"userRoles": "Роли пользователей",
|
||
"permissions": "Разрешения",
|
||
"systemRole": "Системная роль",
|
||
"customRole": "Пользовательская роль",
|
||
"roleAssignedSuccessfully": "Роль, назначенная {{username}}, успешно завершена.",
|
||
"failedToAssignRole": "Не удалось назначить роль",
|
||
"roleRemovedSuccessfully": "Роль успешно удалена из {{username}}",
|
||
"failedToRemoveRole": "Не удалось удалить роль",
|
||
"cannotRemoveSystemRole": "Невозможно удалить системную роль.",
|
||
"cannotShareWithSelf": "Невозможно поделиться хостом с самим собой.",
|
||
"noCustomRolesToAssign": "Пользовательские роли недоступны. Системные роли назначаются автоматически.",
|
||
"credentialSharingWarning": "Аутентификация учетных данных не поддерживается для совместного использования.",
|
||
"credentialRequired": "Для совместного использования хоста требуются учетные данные.",
|
||
"credentialRequiredDescription": "Этот хост не использует аутентификацию на основе учетных данных. Для совместного использования хостов, в связи с шифрованием для каждого пользователя, хост должен использовать аутентификацию на основе учетных данных.",
|
||
"auditLogs": "Журналы аудита",
|
||
"viewAuditLogs": "Просмотр журналов аудита",
|
||
"action": "Действие",
|
||
"resourceType": "Тип ресурса",
|
||
"resourceName": "Название ресурса",
|
||
"timestamp": "Отметка времени",
|
||
"ipAddress": "IP-адрес",
|
||
"userAgent": "Агент пользователя",
|
||
"success": "Успех",
|
||
"failed": "Неуспешный",
|
||
"details": "Подробности",
|
||
"noAuditLogs": "Журналы аудита отсутствуют",
|
||
"sessionRecordings": "Записи сессий",
|
||
"viewRecording": "Просмотреть запись",
|
||
"downloadRecording": "Скачать запись",
|
||
"dangerousCommand": "Обнаружена опасная команда.",
|
||
"commandBlocked": "Команда заблокирована",
|
||
"terminateSession": "Завершить сессию",
|
||
"sessionTerminated": "Сессия завершена владельцем хоста.",
|
||
"sharedAccessExpired": "Срок действия вашего общего доступа к этому хосту истек.",
|
||
"sharedAccessExpiresIn": "Срок действия общего доступа истекает через {{username}} часов",
|
||
"roles": {
|
||
"label": "Роли",
|
||
"admin": "Администратор",
|
||
"user": "Пользователь"
|
||
},
|
||
"createRole": "Создать роль",
|
||
"editRole": "Редактировать роль",
|
||
"roleName": "Название роли",
|
||
"displayName": "Отображаемое имя",
|
||
"description": "Описание",
|
||
"assignRoles": "Назначить роли",
|
||
"userRoleAssignment": "Назначение ролей пользователям",
|
||
"selectUserPlaceholder": "Выберите пользователя",
|
||
"searchUsers": "Поиск пользователей...",
|
||
"noUserFound": "Пользователь не найден",
|
||
"currentRoles": "Текущие должности",
|
||
"noRolesAssigned": "Роли не назначены",
|
||
"assignNewRole": "Назначить новую роль",
|
||
"selectRolePlaceholder": "Выберите роль",
|
||
"searchRoles": "Поиск ролей...",
|
||
"noRoleFound": "Роль не найдена",
|
||
"assign": "Назначать",
|
||
"roleCreatedSuccessfully": "Роль успешно создана",
|
||
"roleUpdatedSuccessfully": "Роль успешно обновлена.",
|
||
"roleDeletedSuccessfully": "Роль успешно удалена",
|
||
"failedToLoadRoles": "Не удалось загрузить роли.",
|
||
"failedToSaveRole": "Не удалось сохранить роль",
|
||
"failedToDeleteRole": "Не удалось удалить роль.",
|
||
"roleDisplayNameRequired": "Имя, отображаемое в роли, обязательно для заполнения.",
|
||
"roleNameRequired": "Название роли обязательно для ввода.",
|
||
"roleNameHint": "Используйте только строчные буквы, цифры, подчеркивания и дефисы.",
|
||
"displayNamePlaceholder": "Разработчик",
|
||
"descriptionPlaceholder": "Разработчики и инженеры программного обеспечения",
|
||
"confirmDeleteRole": "Удалить роль",
|
||
"confirmDeleteRoleDescription": "Вы уверены, что хотите удалить роль \"{{hours}}\"? Это действие необратимо.",
|
||
"confirmRemoveRole": "Удалить роль",
|
||
"confirmRemoveRoleDescription": "Вы уверены, что хотите удалить эту роль у пользователя?",
|
||
"editRoleDescription": "Обновить информацию о роли",
|
||
"createRoleDescription": "Создайте новую пользовательскую роль для группировки пользователей.",
|
||
"assignRolesDescription": "Управление назначением ролей пользователям.",
|
||
"noRoles": "Роли не найдены",
|
||
"selectRole": "Выберите роль",
|
||
"type": "Тип",
|
||
"user": "Пользователь",
|
||
"role": "Роль",
|
||
"saveHostFirst": "Сначала сохраните хоста.",
|
||
"saveHostFirstDescription": "Перед настройкой параметров общего доступа сохраните имя хоста.",
|
||
"shareWithUser": "Поделиться с пользователем",
|
||
"shareWithRole": "Поделиться с помощью роли",
|
||
"share": "Делиться",
|
||
"target": "Цель",
|
||
"expires": "Срок действия истекает",
|
||
"never": "Никогда",
|
||
"noAccessRecords": "Записи доступа не найдены",
|
||
"sharedSuccessfully": "Успешно опубликовано",
|
||
"failedToShare": "Не удалось поделиться",
|
||
"confirmRevokeAccessDescription": "Вы уверены, что хотите отозвать этот доступ?",
|
||
"hours": "часы",
|
||
"sharing": "Совместное использование",
|
||
"selectUserAndRole": "Пожалуйста, выберите пользователя и роль.",
|
||
"view": "Только для просмотра",
|
||
"viewDesc": "В связи с использованием системы шифрования Termix, другие уровни доступа будут доступны позже."
|
||
},
|
||
"commandPalette": {
|
||
"searchPlaceholder": "Поиск хостов или быстрых действий...",
|
||
"recentActivity": "Последние события",
|
||
"navigation": "Навигация",
|
||
"addHost": "Добавить хост",
|
||
"addCredential": "Добавить учетные данные",
|
||
"adminSettings": "Настройки администратора",
|
||
"userProfile": "Профиль пользователя",
|
||
"updateLog": "Журнал обновлений",
|
||
"hosts": "Хозяева",
|
||
"openServerDetails": "Открыть сведения о сервере",
|
||
"openFileManager": "Открыть файловый менеджер",
|
||
"edit": "Редактировать",
|
||
"links": "Ссылки",
|
||
"github": "GitHub",
|
||
"support": "Поддерживать",
|
||
"discord": "Discord",
|
||
"donate": "Пожертвовать",
|
||
"press": "Нажимать",
|
||
"toToggle": "переключать",
|
||
"close": "Закрывать",
|
||
"hostManager": "Менеджер хоста",
|
||
"pressToToggle": "Нажмите левую клавишу Shift дважды, чтобы открыть палитру команд."
|
||
},
|
||
"docker": {
|
||
"notEnabled": "Docker не включен для этого хоста.",
|
||
"validating": "Проверка Docker...",
|
||
"connectingToHost": "Подключение к хосту...",
|
||
"error": "Ошибка",
|
||
"errorCode": "Код ошибки: {{name}}",
|
||
"version": "Docker {{code}}",
|
||
"containerStarted": "Контейнер {{version}} запущен",
|
||
"failedToStartContainer": "Не удалось запустить контейнер {{name}}",
|
||
"containerStopped": "Контейнер {{name}} остановлен",
|
||
"failedToStopContainer": "Не удалось остановить контейнер {{name}}",
|
||
"containerRestarted": "Контейнер {{name}} перезапущен",
|
||
"failedToRestartContainer": "Не удалось перезапустить контейнер {{name}}",
|
||
"containerPaused": "Контейнер {{name}} приостановлен",
|
||
"containerUnpaused": "Контейнер {{name}} не приостановлен",
|
||
"failedToTogglePauseContainer": "Не удалось переключить состояние паузы для контейнера {{name}}",
|
||
"containerRemoved": "Контейнер {{name}} удален",
|
||
"failedToRemoveContainer": "Не удалось удалить контейнер {{name}}",
|
||
"image": "Изображение",
|
||
"idLabel": "ИДЕНТИФИКАТОР",
|
||
"ports": "Порты",
|
||
"noPorts": "Нет портов",
|
||
"created": "Созданный",
|
||
"start": "Начинать",
|
||
"stop": "Останавливаться",
|
||
"pause": "Пауза",
|
||
"unpause": "Снять с паузы",
|
||
"restart": "Перезапуск",
|
||
"remove": "Удалять",
|
||
"removeContainer": "Удалить контейнер",
|
||
"confirmRemoveContainer": "Вы уверены, что хотите удалить контейнер \"{{name}}\"? Это действие необратимо.",
|
||
"runningContainerWarning": "Внимание: Этот контейнер в данный момент запущен. Удаление контейнера сначала остановит основной контейнер.",
|
||
"removing": "Удаление...",
|
||
"loadingContainers": "Загрузка контейнеров...",
|
||
"noContainersFound": "Контейнеры не найдены",
|
||
"noContainersFoundHint": "На этом хосте контейнеры Docker недоступны.",
|
||
"searchPlaceholder": "Обыск контейнеров...",
|
||
"filterByStatusPlaceholder": "Фильтрация по статусу",
|
||
"allContainersCount": "Все ({{name}})",
|
||
"statusCount": "{{count}} ({{status}})",
|
||
"noContainersMatchFilters": "Ни один контейнер не подходит к вашим фильтрам.",
|
||
"noContainersMatchFiltersHint": "Попробуйте скорректировать критерии поиска или фильтрации.",
|
||
"containerMustBeRunningToViewStats": "Для просмотра статистики контейнер должен быть запущен.",
|
||
"failedToFetchStats": "Не удалось получить статистику по контейнеру.",
|
||
"containerNotRunning": "Контейнер не запущен",
|
||
"startContainerToViewStats": "Запустите контейнер, чтобы просмотреть статистику.",
|
||
"loadingStats": "Загрузка статистики...",
|
||
"errorLoadingStats": "Статистика ошибок загрузки",
|
||
"noStatsAvailable": "Статистические данные отсутствуют.",
|
||
"cpuUsage": "Использование ЦП",
|
||
"current": "Текущий",
|
||
"memoryUsage": "Использование памяти",
|
||
"usedLimit": "Использовано / Лимит",
|
||
"percentage": "Процент",
|
||
"networkIo": "Сетевой ввод-вывод",
|
||
"input": "Вход",
|
||
"output": "Выход",
|
||
"blockIo": "Блочный ввод-вывод",
|
||
"read": "Читать",
|
||
"write": "Писать",
|
||
"pids": "Идентификаторы процессов",
|
||
"containerInformation": "Информация о контейнере",
|
||
"name": "Имя",
|
||
"id": "ИДЕНТИФИКАТОР",
|
||
"state": "Состояние",
|
||
"disconnectedFromContainer": "Отключено от контейнера",
|
||
"containerMustBeRunning": "Для доступа к консоли контейнер должен быть запущен.",
|
||
"authenticationRequired": "Требуется аутентификация",
|
||
"verificationCodePrompt": "Введите проверочный код",
|
||
"totpVerificationFailed": "Проверка TOTP не удалась. Пожалуйста, попробуйте еще раз.",
|
||
"connectedTo": "Подключено к {{count}}",
|
||
"disconnected": "Отключено",
|
||
"consoleError": "Ошибка консоли",
|
||
"errorMessage": "Ошибка: {{containerName}}",
|
||
"failedToConnect": "Не удалось подключиться к контейнеру.",
|
||
"console": "Консоль",
|
||
"selectShell": "Выберите оболочку",
|
||
"bash": "Баш",
|
||
"sh": "ш",
|
||
"ash": "пепел",
|
||
"connecting": "Подключение...",
|
||
"connect": "Соединять",
|
||
"disconnect": "Отключить",
|
||
"notConnected": "Не подключено",
|
||
"clickToConnect": "Нажмите «Подключиться», чтобы начать сеанс командной оболочки.",
|
||
"connectingTo": "Подключение к {{message}}...",
|
||
"containerNotFound": "Контейнер не найден",
|
||
"backToList": "Вернуться к списку",
|
||
"logs": "Журналы",
|
||
"stats": "Статистика",
|
||
"consoleTab": "Консоль",
|
||
"startContainerToAccess": "Запустите контейнер, чтобы получить доступ к консоли."
|
||
},
|
||
"theme": {
|
||
"switchToLight": "Переключиться на свет",
|
||
"switchToDark": "Переключиться на темный"
|
||
}
|
||
} |