mirror of
https://github.com/YuzuZensai/Termix.git
synced 2026-11-12 19:11:47 +00:00
* feat(sshid) - sshid.io equivalent for termix (#919) * feat(ssh-id): database schema, migrations and field encryption Adds ssh_identities, ssh_identity_keys and ssh_identity_ca tables (public keys stored plaintext for the unauthenticated resolver; CA private key registered for per-user field encryption), with UNIQUE(user_id), an index on ssh_identity_keys(identity_id), and idempotent CREATE TABLE migrations. * feat(ssh-id): backend API — resolver, key management, CA and certificates Mounts /sshid (nginx route added). Public text/plain authorized_keys resolver (+ exact /:algo filter, HTML viewer) and CA public-key endpoint; no-store + noindex headers on every resolver response including early 404s. Authenticated management: claim/rename/delete handle, add/import/generate/enable/delete keys, and a per-user CA (create/rotate/delete) with pure-Node OpenSSH certificate issuance. Audit logging on all mutations; UNIQUE races map to a precise 409. Unit tests for key parsing and certificate signing (ssh-keygen-validated). * feat(ssh-id): frontend panel, API client and i18n SSH ID panel wired into the app rail and AppShell: claim handle, resolver URL + curl one-liner, key list, generate, paste/import, CA enable/rotate/remove with server trust command, and per-key certificate issuance. API client re-exported through main-axios.ts; all strings i18n'd. * style(ssh-id): align panel and resolver page with Termix theme - Rebuild the SSH ID sidebar panel with the theme's square components (SectionCard / SettingRow / FakeSwitch) instead of rounded ad-hoc cards; use accent-brand and destructive tokens rather than raw red/green. - Fix panel scrolling: move overflow to a block scroll container so the cards keep their natural height instead of being clipped. - Restyle the public resolver HTML page (/sshid/u/:handle) to the Termix dark theme: square corners, #18181b/#303032 palette, #f59145 accent, uppercase section labels. - Tidy copy: 'Save To Credentials' label, drop the redundant generate intro, and correct the generate tooltip (the key is stored when saving to vault). * feat: rename to Termix ID, improve UI, backend inconsistencies, and general bug fixes --------- Co-authored-by: LukeGus <bugattiguy527@gmail.com> * ci(deps): bump actions/checkout from 6 to 7 in the github-actions group (#922) Bumps the github-actions group with 1 update: [actions/checkout](https://github.com/actions/checkout). Updates `actions/checkout` from 6 to 7 - [Release notes](https://github.com/actions/checkout/releases) - [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md) - [Commits](https://github.com/actions/checkout/compare/v6...v7) --- updated-dependencies: - dependency-name: actions/checkout dependency-version: '7' dependency-type: direct:production update-type: version-update:semver-major dependency-group: github-actions ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * chore(deps-dev): bump the dev-patch-updates group with 11 updates (#923) Bumps the dev-patch-updates group with 11 updates: | Package | From | To | | --- | --- | --- | | [@codemirror/search](https://github.com/codemirror/search) | `6.7.0` | `6.7.1` | | [@codemirror/view](https://github.com/codemirror/view) | `6.43.0` | `6.43.1` | | [@tailwindcss/vite](https://github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/@tailwindcss-vite) | `4.3.0` | `4.3.1` | | [@vitest/coverage-v8](https://github.com/vitest-dev/vitest/tree/HEAD/packages/coverage-v8) | `4.1.8` | `4.1.9` | | [@vitest/ui](https://github.com/vitest-dev/vitest/tree/HEAD/packages/ui) | `4.1.8` | `4.1.9` | | [eslint-plugin-react-refresh](https://github.com/ArnaudBarre/eslint-plugin-react-refresh) | `0.5.2` | `0.5.3` | | [lint-staged](https://github.com/lint-staged/lint-staged) | `17.0.7` | `17.0.8` | | [prettier](https://github.com/prettier/prettier) | `3.8.3` | `3.8.4` | | [sharp](https://github.com/lovell/sharp) | `0.35.1` | `0.35.2` | | [tailwindcss](https://github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/tailwindcss) | `4.3.0` | `4.3.1` | | [vitest](https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest) | `4.1.8` | `4.1.9` | Updates `@codemirror/search` from 6.7.0 to 6.7.1 - [Changelog](https://github.com/codemirror/search/blob/main/CHANGELOG.md) - [Commits](https://github.com/codemirror/search/commits) Updates `@codemirror/view` from 6.43.0 to 6.43.1 - [Changelog](https://github.com/codemirror/view/blob/main/CHANGELOG.md) - [Commits](https://github.com/codemirror/view/commits) Updates `@tailwindcss/vite` from 4.3.0 to 4.3.1 - [Release notes](https://github.com/tailwindlabs/tailwindcss/releases) - [Changelog](https://github.com/tailwindlabs/tailwindcss/blob/main/CHANGELOG.md) - [Commits](https://github.com/tailwindlabs/tailwindcss/commits/v4.3.1/packages/@tailwindcss-vite) Updates `@vitest/coverage-v8` from 4.1.8 to 4.1.9 - [Release notes](https://github.com/vitest-dev/vitest/releases) - [Changelog](https://github.com/vitest-dev/vitest/blob/main/docs/releases.md) - [Commits](https://github.com/vitest-dev/vitest/commits/v4.1.9/packages/coverage-v8) Updates `@vitest/ui` from 4.1.8 to 4.1.9 - [Release notes](https://github.com/vitest-dev/vitest/releases) - [Changelog](https://github.com/vitest-dev/vitest/blob/main/docs/releases.md) - [Commits](https://github.com/vitest-dev/vitest/commits/v4.1.9/packages/ui) Updates `eslint-plugin-react-refresh` from 0.5.2 to 0.5.3 - [Release notes](https://github.com/ArnaudBarre/eslint-plugin-react-refresh/releases) - [Changelog](https://github.com/ArnaudBarre/eslint-plugin-react-refresh/blob/main/CHANGELOG.md) - [Commits](https://github.com/ArnaudBarre/eslint-plugin-react-refresh/compare/v0.5.2...v0.5.3) Updates `lint-staged` from 17.0.7 to 17.0.8 - [Release notes](https://github.com/lint-staged/lint-staged/releases) - [Changelog](https://github.com/lint-staged/lint-staged/blob/main/CHANGELOG.md) - [Commits](https://github.com/lint-staged/lint-staged/compare/v17.0.7...v17.0.8) Updates `prettier` from 3.8.3 to 3.8.4 - [Release notes](https://github.com/prettier/prettier/releases) - [Changelog](https://github.com/prettier/prettier/blob/main/CHANGELOG.md) - [Commits](https://github.com/prettier/prettier/compare/3.8.3...3.8.4) Updates `sharp` from 0.35.1 to 0.35.2 - [Release notes](https://github.com/lovell/sharp/releases) - [Commits](https://github.com/lovell/sharp/compare/v0.35.1...v0.35.2) Updates `tailwindcss` from 4.3.0 to 4.3.1 - [Release notes](https://github.com/tailwindlabs/tailwindcss/releases) - [Changelog](https://github.com/tailwindlabs/tailwindcss/blob/main/CHANGELOG.md) - [Commits](https://github.com/tailwindlabs/tailwindcss/commits/v4.3.1/packages/tailwindcss) Updates `vitest` from 4.1.8 to 4.1.9 - [Release notes](https://github.com/vitest-dev/vitest/releases) - [Changelog](https://github.com/vitest-dev/vitest/blob/main/docs/releases.md) - [Commits](https://github.com/vitest-dev/vitest/commits/v4.1.9/packages/vitest) --- updated-dependencies: - dependency-name: "@codemirror/search" dependency-version: 6.7.1 dependency-type: direct:development update-type: version-update:semver-patch dependency-group: dev-patch-updates - dependency-name: "@codemirror/view" dependency-version: 6.43.1 dependency-type: direct:development update-type: version-update:semver-patch dependency-group: dev-patch-updates - dependency-name: "@tailwindcss/vite" dependency-version: 4.3.1 dependency-type: direct:development update-type: version-update:semver-patch dependency-group: dev-patch-updates - dependency-name: "@vitest/coverage-v8" dependency-version: 4.1.9 dependency-type: direct:development update-type: version-update:semver-patch dependency-group: dev-patch-updates - dependency-name: "@vitest/ui" dependency-version: 4.1.9 dependency-type: direct:development update-type: version-update:semver-patch dependency-group: dev-patch-updates - dependency-name: eslint-plugin-react-refresh dependency-version: 0.5.3 dependency-type: direct:development update-type: version-update:semver-patch dependency-group: dev-patch-updates - dependency-name: lint-staged dependency-version: 17.0.8 dependency-type: direct:development update-type: version-update:semver-patch dependency-group: dev-patch-updates - dependency-name: prettier dependency-version: 3.8.4 dependency-type: direct:development update-type: version-update:semver-patch dependency-group: dev-patch-updates - dependency-name: sharp dependency-version: 0.35.2 dependency-type: direct:development update-type: version-update:semver-patch dependency-group: dev-patch-updates - dependency-name: tailwindcss dependency-version: 4.3.1 dependency-type: direct:development update-type: version-update:semver-patch dependency-group: dev-patch-updates - dependency-name: vitest dependency-version: 4.1.9 dependency-type: direct:development update-type: version-update:semver-patch dependency-group: dev-patch-updates ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * chore(deps): bump nanoid in the prod-patch-updates group (#925) Bumps the prod-patch-updates group with 1 update: [nanoid](https://github.com/ai/nanoid). Updates `nanoid` from 5.1.11 to 5.1.15 - [Release notes](https://github.com/ai/nanoid/releases) - [Changelog](https://github.com/ai/nanoid/blob/main/CHANGELOG.md) - [Commits](https://github.com/ai/nanoid/compare/5.1.11...5.1.15) --- updated-dependencies: - dependency-name: nanoid dependency-version: 5.1.15 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: prod-patch-updates ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * chore(deps): bump the major-updates group with 5 updates (#926) Bumps the major-updates group with 5 updates: | Package | From | To | | --- | --- | --- | | [js-yaml](https://github.com/nodeca/js-yaml) | `4.2.0` | `5.0.0` | | [@eslint/js](https://github.com/eslint/eslint/tree/HEAD/packages/js) | `9.39.4` | `10.0.1` | | [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) | `25.9.2` | `26.0.0` | | [concurrently](https://github.com/open-cli-tools/concurrently) | `9.2.1` | `10.0.3` | | [eslint](https://github.com/eslint/eslint) | `9.39.4` | `10.5.0` | Updates `js-yaml` from 4.2.0 to 5.0.0 - [Changelog](https://github.com/nodeca/js-yaml/blob/master/CHANGELOG.md) - [Commits](https://github.com/nodeca/js-yaml/compare/4.2.0...5.0.0) Updates `@eslint/js` from 9.39.4 to 10.0.1 - [Release notes](https://github.com/eslint/eslint/releases) - [Commits](https://github.com/eslint/eslint/commits/v10.0.1/packages/js) Updates `@types/node` from 25.9.2 to 26.0.0 - [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases) - [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node) Updates `concurrently` from 9.2.1 to 10.0.3 - [Release notes](https://github.com/open-cli-tools/concurrently/releases) - [Commits](https://github.com/open-cli-tools/concurrently/compare/v9.2.1...v10.0.3) Updates `eslint` from 9.39.4 to 10.5.0 - [Release notes](https://github.com/eslint/eslint/releases) - [Commits](https://github.com/eslint/eslint/compare/v9.39.4...v10.5.0) --- updated-dependencies: - dependency-name: js-yaml dependency-version: 5.0.0 dependency-type: direct:production update-type: version-update:semver-major dependency-group: major-updates - dependency-name: "@eslint/js" dependency-version: 10.0.1 dependency-type: direct:development update-type: version-update:semver-major dependency-group: major-updates - dependency-name: "@types/node" dependency-version: 26.0.0 dependency-type: direct:development update-type: version-update:semver-major dependency-group: major-updates - dependency-name: concurrently dependency-version: 10.0.3 dependency-type: direct:development update-type: version-update:semver-major dependency-group: major-updates - dependency-name: eslint dependency-version: 10.5.0 dependency-type: direct:development update-type: version-update:semver-major dependency-group: major-updates ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * feat(ssh): add HashiCorp Vault SSH signer authentication * fix: small fixes to vault feature to align with Termix codebase * chore: add view docs links for vault/termix id * fix: file upload fails with 400 and missing schema migrations on upgrade (#929) Two bugs introduced in v2.4.1: 1. uploadFileStream uses fileManagerApi.post() which triggers axios's transformRequest to JSON-serialize the FormData because the instance default Content-Type is application/json. Change to postForm() which sets Content-Type: multipart/form-data so the browser XHR sends the correct multipart body with boundary. 2. Two schema items added to schema.ts were not included in migrateSchema() in db/index.ts, causing 500 errors on existing installations upgrading from v2.4.0: - user_preferences.status_color_scheme (no such column) - dashboard_service_links table (no such table) Fixes #928 Co-authored-by: sash <sash@fominykh.io> * fix: support PuTTY PPK ssh keys (#930) * fix: chunk large file manager uploads (#932) * fix: route dashboard hosts by protocol (#934) * fix: resolve tunnel endpoints reliably (#935) * Fix Electron OIDC browser auth failures (#936) * Allow RDP connections without stored credentials (#937) * Sync role credential shares for OIDC users (#938) * Fix terminal link dialog layering (#940) * Confirm large files before opening editor (#942) * Confirm closing active host connections (#943) * Preserve file path case in file manager UI (#941) * fix: preserve unicode guacamole tokens (#933) * Persist VNC authentication settings (#944) * Fix Guacamole websocket base path (#946) * Promote file manager terminals to tabs (#939) * Guard Guacamole disconnect during startup (#945) * chore: increment ver * feat: bitwarden ssh agent integration * feat: serial connections support * fix: various small bug fixes * feat: open all sessions in a folder and terminal custom theme color support * feat: cross host file manager clipboard and several small bug fixes * feat: tailscale/wireguard support and added a new status state for when backend is checking status * feat: grafana like server stats history, new alert system, ntfy/webhook support * feat: new grid and widget based homepage function * feat: new donate button in dashboard * fix: alert ui incorrectly using termix css and fixed issue with alert system not loading * chore: fix ci checks (#966) * Fix dashboard service link creation (#950) * Fix jump host SOCKS5 proxy selection (#951) * Fix jump host SOCKS5 proxy selection * fix: type jump host socks proxy config * Fix tmux detection path handling (#949) * Support GUACD_URL environment config (#952) * Retry autostart tunnel host fetches (#953) * Retry autostart tunnel host fetches * chore: format tunnel route * Fix PUID html ownership in Docker entrypoint (#954) * feat: allow custom tunnel endpoints (#977) * fix: skip metrics start for non-ssh hosts (#976) * Fix Proxmox import auth fallback (#956) * Fix Proxmox import auth fallback * chore: format proxmox import auth * Fix SSH heading syntax highlighting (#955) * Fix SSH heading syntax highlighting * chore: format terminal highlighter * Initialize auth before fullscreen terminal routes (#957) * Add WebAuthn passkey authentication (#959) * chore: add Biome tooling (#965) * chore: add biome tooling * chore: support tailwind syntax in biome * Fix VNC required argument handshake (#968) * Prioritize host results in command palette search (#969) * Prevent sidebar host hover layout shift (#970) * Add terminal font zoom with mouse wheel (#971) * Add host temperature metrics card (#972) * Make file downloads reliable in desktop app (#973) * Add app rail hover expansion setting (#974) * fix: use correct translation key for nav.close (#964) * fix(tunnel): skip endpoint credential validation for direct tunnels (#963) * fix: SSH port connection bug (#975) * fix: chunked upload for files >=1.5GB to bypass browser ArrayBuffer limit (#948) * feat: support SSH agent auth across SSH features (#960) * feat: add Podman container runtime support (#958) * chore: update readme and release notes * fix: stabilize Windows app icon (#978) * Add safe host sharing export (#979) * Add external editor support for file manager (#985) * Rework SSH credential password handling (#984) * Support password fallback for SSH key credentials * Complete SSH credential password fallback * Fix runtime base path for auth callbacks (#982) * Fix TUI terminal output highlighting (#983) Co-authored-by: LukeGus <bugattiguy527@gmail.com> * Add app fullscreen mode (#993) * Fix host metrics startup polling (#986) * chore: update release notes * fix: line chart text overlap * chore: update RELEASE_NOTES.md * chore: add donation goal to readme * chore: update readme * fix: hide full-screen button in electron app * fix: failed unit tests * chore: lint, format, and bump version to 2.5.0 * chore: remove timeout from crowdin translate * chore: sync Crowdin translations for 2.5.0 --------- Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: DivByZero <mr.oplus@yahoo.fr> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: devdanetra <46488477+devdanetra@users.noreply.github.com> Co-authored-by: Aleksandr Fominykh <neoformalex@users.noreply.github.com> Co-authored-by: sash <sash@fominykh.io> Co-authored-by: ZacharyZcR <zacharyzcr1984@gmail.com>
3336 lines
240 KiB
JSON
3336 lines
240 KiB
JSON
{
|
||
"termixId": {
|
||
"title": "Идентификатор смеси",
|
||
"loadFailed": "Не удалось загрузить идентификатор Termix.",
|
||
"claimTitle": "Получите свой идентификатор Termix.",
|
||
"claimIntro": "Выберите уникальный никнейм. Ваши открытые SSH-ключи будут опубликованы по общедоступному URL-адресу, который вы можете добавить в файл authorized_keys любого сервера.",
|
||
"handleLabel": "Ручка",
|
||
"handlePlaceholder": "Алиса",
|
||
"checking": "Проверка…",
|
||
"available": "Доступный",
|
||
"taken": "Уже занят",
|
||
"invalidHandle": "Только строчные буквы, цифры, - и _",
|
||
"descriptionLabel": "Описание (необязательно)",
|
||
"descriptionPlaceholder": "Рабочие клавиши для ноутбука и телефона",
|
||
"create": "Создать идентификатор Termix",
|
||
"created": "Идентификатор Termix создан",
|
||
"createFailed": "Не удалось создать идентификатор Termix.",
|
||
"deleteConfirm": "Удалить свой идентификатор Termix и все опубликованные ключи? Серверы, которые вы инициализировали, сохранят ключи до тех пор, пока вы не удалите их вручную.",
|
||
"deleted": "Идентификатор Termix удален",
|
||
"deleteFailed": "Не удалось удалить идентификатор Termix.",
|
||
"copyFailed": "Копирование не удалось",
|
||
"resolverUrlLabel": "Публичный URL-адрес резолвера",
|
||
"provisionLabel": "Подготовка сервера",
|
||
"publishTitle": "Опубликовать открытый ключ",
|
||
"generate": "Сгенерировать",
|
||
"generateTooltip": "Сгенерируйте пару ключей Ed25519 — опубликуйте открытый ключ и загрузите закрытый ключ на ваше устройство.",
|
||
"saveToVault": "Сохранить в учетные данные",
|
||
"keyPlaceholder": "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5... user@host",
|
||
"labelPlaceholder": "Этикетка (необязательно)",
|
||
"add": "Добавлять",
|
||
"importFromCredential": "Или импортируйте данные из сохраненных учетных данных.",
|
||
"keyPublished": "Ключевые опубликованные",
|
||
"addKeyFailed": "Не удалось добавить ключ.",
|
||
"generatedSaved": "Пара ключей сгенерирована и сохранена в хранилище ваших учетных данных. Закрытый ключ также загружен.",
|
||
"generatedOnly": "Пара ключей сгенерирована — закрытый ключ загружен (отображается только один раз).",
|
||
"generateFailed": "Не удалось сгенерировать ключ.",
|
||
"imported": "Ключ импортирован из учетных данных.",
|
||
"importFailed": "Не удалось импортировать ключ.",
|
||
"noKeys": "Открытые ключи пока не опубликованы.",
|
||
"keysTitle": "Опубликованные ключи",
|
||
"published": "Опубликовано",
|
||
"hidden": "Скрытый",
|
||
"keyRemoved": "Ключ извлечен",
|
||
"removeKeyFailed": "Не удалось вынуть ключ.",
|
||
"updateKeyFailed": "Не удалось обновить ключ.",
|
||
"fromVault": "Из хранилища учетных данных",
|
||
"linkedToTermixId": "Опубликовано через Termix ID",
|
||
"selectCredential": "Выберите учетные данные...",
|
||
"import": "Импорт",
|
||
"caTitle": "Центр сертификации",
|
||
"caIntro": "Доверьтесь этому центру сертификации на сервере, и он примет любой подписанный вами сертификат. Используйте функцию ротации, чтобы отозвать все сертификаты сразу; сертификаты также истекают автоматически.",
|
||
"caEnable": "Включить CA",
|
||
"caEnabled": "CA включен",
|
||
"caCreateFailed": "Не удалось включить CA.",
|
||
"caPublicKeyLabel": "открытый ключ CA",
|
||
"caTrustLabel": "Доверьтесь серверу (запустите его от имени root).",
|
||
"caRotate": "Повернуть",
|
||
"caRotateConfirm": "Если вы хотите сменить центр сертификации (ЦС), все подписанные им сертификаты перестанут приниматься и должны быть перевыпущены.",
|
||
"caRotated": "Центр сертификации был перезапущен — предыдущие сертификаты отозваны.",
|
||
"caRotateFailed": "Не удалось повернуть CA",
|
||
"caDelete": "Удалить CA",
|
||
"caDeleteConfirm": "Удалить центр сертификации?",
|
||
"caDeleted": "CA удален",
|
||
"caDeleteFailed": "Не удалось удалить CA",
|
||
"caValidityLabel": "Срок действия сертификата (в днях)",
|
||
"issueCert": "Сертификат",
|
||
"issueCertTooltip": "Выдайте для этого ключа SSH-сертификат, подписанный вашим центром сертификации.",
|
||
"certIssued": "Сертификат выдан и загружен.",
|
||
"certIssueFailed": "Не удалось выдать сертификат."
|
||
},
|
||
"credentials": {
|
||
"folders": "Папки",
|
||
"folder": "Папка",
|
||
"password": "Пароль",
|
||
"key": "Ключ",
|
||
"sshPrivateKey": "Закрытый ключ SSH",
|
||
"upload": "Загрузить",
|
||
"keyPassword": "Ключ Пароль",
|
||
"sshKey": "Ключ SSH",
|
||
"uploadPrivateKeyFile": "Загрузите файл закрытого ключа.",
|
||
"searchCredentials": "Поиск учетных данных...",
|
||
"addCredential": "Добавить учетные данные",
|
||
"caCertificate": "Сертификат CA (-cert.pub)",
|
||
"caCertificateDescription": "Необязательно: загрузите или вставьте файл сертификата, подписанного центром сертификации (например, id_ed25519-cert.pub). Обязательно, если ваш SSH-сервер использует авторизацию на основе сертификатов.",
|
||
"uploadCertFile": "Загрузите файл -cert.pub",
|
||
"clearCert": "Прозрачный",
|
||
"certLoaded": "Сертификат загружен",
|
||
"certPublicKeyLabel": "Сертификат CA",
|
||
"certTypeLabel": "Тип сертификата",
|
||
"pasteOrUploadCert": "Вставьте или загрузите сертификат из файла -cert.pub...",
|
||
"hasCaCert": "Имеет сертификат CA.",
|
||
"noCaCert": "Сертификат CA не требуется.",
|
||
"noPublicKeyAvailable": "Открытый ключ недоступен. Сначала откройте редактор учетных данных.",
|
||
"deployCommandCopied": "Команда развертывания скопирована.",
|
||
"sortCredentials": "Сортировка учетных данных",
|
||
"sortDefault": "Порядок по умолчанию",
|
||
"sortNameAsc": "Имя (от А до Я)",
|
||
"sortNameDesc": "Имя (Z → A)",
|
||
"sortUsernameAsc": "Имя пользователя (от А до Я)",
|
||
"sortUsernameDesc": "Имя пользователя (Z → A)",
|
||
"filterCredentials": "Фильтрация учетных данных",
|
||
"filterClearAll": "Очистить фильтры",
|
||
"filterTypeGroup": "Тип",
|
||
"filterTypePassword": "Пароль",
|
||
"filterTypeKey": "SSH-ключ",
|
||
"filterTagsGroup": "Теги"
|
||
},
|
||
"homepage": {
|
||
"title": "Главная страница",
|
||
"addWidget": "Добавить виджет",
|
||
"editWidget": "Редактировать виджет",
|
||
"deleteWidget": "Удалить",
|
||
"widgetTypes": "Типы виджетов",
|
||
"serviceLink": "Сервисная ссылка",
|
||
"folder": "Папка",
|
||
"clock": "Часы",
|
||
"notes": "Примечания",
|
||
"hostStatus": "Статус хоста",
|
||
"bookmarkList": "Закладки",
|
||
"zoomIn": "Увеличить масштаб",
|
||
"zoomOut": "Отдалиться",
|
||
"resetView": "Сбросить вид",
|
||
"lockLayout": "Схема расположения замков",
|
||
"unlockLayout": "Разблокировать макет",
|
||
"noWidgets": "Щелкните правой кнопкой мыши или нажмите +, чтобы добавить первый виджет.",
|
||
"openFullView": "Открыть полный просмотр",
|
||
"previewTitle": "Предварительный просмотр главной страницы",
|
||
"cancel": "Отмена",
|
||
"save": "Сохранять",
|
||
"title_label": "Заголовок",
|
||
"widgetTitlePlaceholder": "Заголовок виджета (необязательно)",
|
||
"url": "URL",
|
||
"imageUrl": "Пользовательский URL изображения",
|
||
"imageUrlHint": "Оставьте поле пустым, чтобы значок сайта использовался автоматически.",
|
||
"showImage": "Показать изображение",
|
||
"description": "Описание",
|
||
"color": "Цвет",
|
||
"icon": "Икона",
|
||
"expanded": "Развернуто по умолчанию",
|
||
"timezone": "Часовой пояс",
|
||
"showSeconds": "Показать секунды",
|
||
"format12h": "12-часовой",
|
||
"format24h": "24 часа",
|
||
"content": "Содержание",
|
||
"backgroundColor": "Цвет фона",
|
||
"host": "Хозяин",
|
||
"showMetrics": "Показать метрики",
|
||
"links": "Ссылки",
|
||
"addLink": "Добавить ссылку",
|
||
"linkLabel": "Этикетка",
|
||
"linkUrl": "URL",
|
||
"removeLink": "Удалять",
|
||
"categoryLinks": "Ссылки",
|
||
"categoryInfo": "Информация",
|
||
"categorySystem": "Система",
|
||
"widgetServiceLinkDesc": "Интерактивная плитка, ведущая на URL-адрес сервиса.",
|
||
"widgetFolderDesc": "Контейнер для группировки связанных виджетов.",
|
||
"widgetClockDesc": "Часы в реальном времени с настраиваемым часовым поясом.",
|
||
"widgetNotesDesc": "Виджет для заметок в формате Markdown",
|
||
"widgetHostStatusDesc": "Отображает текущее состояние ЦП, памяти и дискового пространства для SSH-хоста.",
|
||
"widgetBookmarkListDesc": "Список быстрых ссылок",
|
||
"copyLink": "Скопировать ссылку",
|
||
"linkCopied": "Ссылка скопирована!",
|
||
"location": "Расположение",
|
||
"temperatureUnit": "Единица измерения температуры",
|
||
"showForecast": "Показать прогноз на 3 дня",
|
||
"scrolling": "Разрешить прокрутку",
|
||
"feedUrl": "URL ленты",
|
||
"maxItems": "Максимальное количество предметов",
|
||
"showDescription": "Показать описание",
|
||
"widgetWeatherName": "Погода",
|
||
"widgetWeatherDesc": "Актуальная информация о погоде в любом месте.",
|
||
"widgetIframeName": "Встраивание iFrame",
|
||
"widgetIframeDesc": "Встраивайте любой URL-адрес в iframe.",
|
||
"widgetRssName": "RSS-лента",
|
||
"widgetRssDesc": "Отображение элементов из RSS- или Atom-ленты.",
|
||
"dragToFolder": "Перетащите виджеты сюда или используйте + для добавления.",
|
||
"showDisk": "Показать использование диска",
|
||
"addToFolder": "Добавить виджет в папку",
|
||
"noHostSelected": "Хост не выбран",
|
||
"metricsNotAvailable": "Показатели недоступны",
|
||
"selectHost": "Выберите хост...",
|
||
"displayedMetrics": "Отображаемые метрики",
|
||
"metricCpu": "Процессор",
|
||
"metricMemory": "Память",
|
||
"metricDisk": "Диск",
|
||
"metricUptime": "Время безотказной работы",
|
||
"metricSystem": "Система",
|
||
"metricOs": "ОС",
|
||
"metricKernel": "Ядро",
|
||
"metricHostname": "Имя хоста",
|
||
"metricNetwork": "Сеть",
|
||
"metricProcesses": "Процессы",
|
||
"metricProcessesTotal": "общий",
|
||
"metricProcessesRunning": "бег",
|
||
"categoryMonitoring": "Мониторинг",
|
||
"loading": "Загрузка...",
|
||
"noData": "Данные отсутствуют.",
|
||
"allClear": "Все чисто",
|
||
"acknowledgeAlert": "Сознавать",
|
||
"noPingUrls": "URL-адреса не настроены",
|
||
"pingLabel": "Этикетка",
|
||
"addPingUrl": "Добавить URL",
|
||
"showLatency": "Показать задержку",
|
||
"refreshInterval": "Интервал обновления",
|
||
"seconds": "секунд",
|
||
"filterActivityTypes": "Типы фильтров",
|
||
"filterTypesHint": "Оставьте поле пустым, чтобы отобразить все",
|
||
"showTimestamp": "Показать временную метку",
|
||
"uptimeUnavailable": "Время работы недоступно",
|
||
"uptimeLabel": "Время безотказной работы",
|
||
"overviewVersion": "Версия",
|
||
"overviewUpdate": "До настоящего времени",
|
||
"overviewUpdateAvailable": "Доступно обновление",
|
||
"overviewDatabase": "База данных",
|
||
"overviewUptime": "Время безотказной работы",
|
||
"noHosts": "Хосты не настроены",
|
||
"hostGridHosts": "Хозяева",
|
||
"hostGridAllHint": "Оставьте поле пустым, чтобы отобразить все хосты.",
|
||
"columns": "Колонки",
|
||
"showIp": "Показать IP-адрес",
|
||
"connectionType": "Тип подключения",
|
||
"layout": "Макет",
|
||
"showStatus": "Показать статус",
|
||
"showHostName": "Показать имя хоста",
|
||
"noDockerActivity": "Нет активности Docker.",
|
||
"noActivity": "Нет активности",
|
||
"showAcknowledged": "Показать подтверждено",
|
||
"showCurrentValue": "Показать текущую стоимость",
|
||
"chartMetric": "Метрика",
|
||
"metricRange": "Диапазон",
|
||
"widgetMetricsChartName": "Диаграмма показателей",
|
||
"widgetMetricsChartDesc": "Историческая диаграмма использования ЦП, памяти, диска или сети для хоста.",
|
||
"widgetHostGridName": "Сетка хостов",
|
||
"widgetHostGridDesc": "Табличное отображение статусов SSH-хостов",
|
||
"widgetAlertFeedName": "Лента оповещений",
|
||
"widgetAlertFeedDesc": "Стрельба в режиме реального времени с подтверждением получения сигнала",
|
||
"widgetPingStatusName": "Статус пинга",
|
||
"widgetPingStatusDesc": "Статус HTTP-пинга для одного или нескольких URL-адресов",
|
||
"widgetRecentActivityName": "Последние события",
|
||
"widgetRecentActivityDesc": "Лента с прокруткой последних событий в Termix",
|
||
"widgetTermixUptimeName": "Termix Uptime",
|
||
"widgetTermixUptimeDesc": "Счетчик времени безотказной работы сервера Termix в реальном времени",
|
||
"widgetSystemOverviewName": "Обзор системы",
|
||
"widgetSystemOverviewDesc": "Краткий обзор версии Termix, состояния базы данных и времени безотказной работы.",
|
||
"widgetSshQuickConnectName": "Быстрое подключение по SSH",
|
||
"widgetSshQuickConnectDesc": "Кнопки для открытия SSH-сессий одним нажатием",
|
||
"widgetDockerActivityName": "Docker Activity",
|
||
"widgetDockerActivityDesc": "Последние события контейнеров Docker на всех хостах",
|
||
"widgetCalendarName": "Календарь",
|
||
"widgetCalendarDesc": "Ежемесячный календарь с выделенным сегодняшним днем.",
|
||
"widgetCountdownName": "Обратный отсчет",
|
||
"widgetCountdownDesc": "Таймер обратного отсчета до целевой даты",
|
||
"widgetSearchBarName": "Строка поиска",
|
||
"widgetSearchBarDesc": "Виджет быстрого веб-поиска",
|
||
"widgetTextBannerName": "Текстовый баннер",
|
||
"widgetTextBannerDesc": "Выделенный заголовок или заголовок раздела для холста.",
|
||
"widgetImageWidgetName": "Изображение",
|
||
"widgetImageWidgetDesc": "Отобразить изображение по URL-адресу",
|
||
"widgetMarkdownNotesName": "Заметки по разметке Markdown",
|
||
"widgetMarkdownNotesDesc": "Насыщенные заметки с отображением в формате Markdown непосредственно в тексте",
|
||
"widgetCustomApiName": "Пользовательский API",
|
||
"widgetCustomApiDesc": "Получение и отображение данных из любого JSON API",
|
||
"widgetServiceGridName": "Сервисная сеть",
|
||
"widgetServiceGridDesc": "Настраиваемая сетка ссылок на сервисные плитки",
|
||
"widgetDashboardLinksName": "Ссылки на панели управления",
|
||
"widgetDashboardLinksDesc": "Отобразите настроенные вами ссылки на сервисы на панели управления.",
|
||
"widgetSearchLinksName": "Ярлыки поиска",
|
||
"widgetSearchLinksDesc": "Кнопки быстрого поиска с возможностью ввода текста в строку",
|
||
"widgetLinkTreeName": "Дерево ссылок",
|
||
"widgetLinkTreeDesc": "Сгруппированные разделы ссылок с заголовками",
|
||
"calMon": "Мо",
|
||
"calTue": "Ту",
|
||
"calWed": "Мы",
|
||
"calThu": "Т",
|
||
"calFri": "Фр",
|
||
"calSat": "Са",
|
||
"calSun": "Су",
|
||
"startOnMonday": "Начинайте неделю в понедельник",
|
||
"countdownNoDate": "Целевая дата не установлена.",
|
||
"countdownPast": "Событие прошло.",
|
||
"countdownDays": "дни",
|
||
"countdownHours": "часов",
|
||
"countdownMinutes": "мин",
|
||
"countdownSeconds": "сек",
|
||
"countdownLabel": "Этикетка",
|
||
"countdownLabelPlaceholder": "например, день запуска",
|
||
"countdownShowDays": "Дни шоу",
|
||
"countdownShowHours": "Часы работы выставки",
|
||
"targetDate": "Целевая дата",
|
||
"searchEngine": "Поисковая система",
|
||
"customSearchUrl": "Пользовательский URL-адрес поиска",
|
||
"searchPlaceholder": "Поиск...",
|
||
"searchGo": "Идти",
|
||
"searchPlaceholderLabel": "Текст-заполнитель",
|
||
"searchPlaceholderHint": "Текст, отображаемый внутри поля поиска.",
|
||
"openInNewTab": "Открыть в новой вкладке",
|
||
"searchQueryPlaceholder": "Введите запрос...",
|
||
"noSearchShortcuts": "Сочетания клавиш не настроены",
|
||
"addSearchShortcut": "Добавить ярлык",
|
||
"fontSize": "Размер шрифта",
|
||
"textAlign": "Выравнивание текста",
|
||
"fontWeight": "Толщина шрифта",
|
||
"clearColor": "Чистый цвет",
|
||
"imageFit": "Соответствие образу",
|
||
"imageLinkUrl": "URL-адрес ссылки",
|
||
"noImage": "URL изображения не указан",
|
||
"altText": "Альтернативный текст",
|
||
"altTextPlaceholder": "Опишите изображение",
|
||
"renderMarkdown": "Отобразить Markdown",
|
||
"displayMode": "Режим отображения",
|
||
"displayField": "Поле отображения",
|
||
"jsonPath": "Путь JSON",
|
||
"customApiLabel": "Этикетка",
|
||
"customApiLabelPlaceholder": "например, температура",
|
||
"customApiUnit": "Единица",
|
||
"customApiNoUrl": "URL API не настроен",
|
||
"customApiError": "Не удалось получить данные.",
|
||
"customApiNotArray": "Ответ не является массивом.",
|
||
"addService": "Добавить услугу",
|
||
"showLabels": "Показать метки",
|
||
"iconSize": "Размер значка",
|
||
"noDashboardLinks": "Ссылки на панели управления не настроены",
|
||
"noLimit": "Без ограничений",
|
||
"sectionHeading": "Заголовок раздела",
|
||
"addSection": "Добавить раздел",
|
||
"compactMode": "Компактный режим",
|
||
"showDetailed": "Показать подробности",
|
||
"selectHosts": "Выберите хосты",
|
||
"allHosts": "Все хосты",
|
||
"listLayout": "Список",
|
||
"gridLayout": "Сетка",
|
||
"terminal": "Терминал",
|
||
"files": "Файлы",
|
||
"docker": "Docker",
|
||
"range15m": "15 минут",
|
||
"range1h": "1 час",
|
||
"range6h": "6 часов",
|
||
"range24h": "24 часа",
|
||
"metricNetRx": "Загрузка из сети",
|
||
"metricNetTx": "Загрузка в сеть",
|
||
"severityFilter": "Фильтр серьезности",
|
||
"filterAll": "Все",
|
||
"accentColor": "Акцентный цвет",
|
||
"widgetSshTerminalName": "Терминал SSH",
|
||
"widgetSshTerminalDesc": "Встроенный SSH-терминал, подключенный к настроенному хосту.",
|
||
"sshTerminalNoHost": "Хост не настроен",
|
||
"sshTerminalConnect": "Соединять",
|
||
"sshTerminalAutoConnect": "Автоматическое подключение под нагрузкой",
|
||
"widgetQuickConnectName": "Быстрое подключение",
|
||
"widgetQuickConnectDesc": "Кнопки запуска в один клик для любого типа подключения на всех ваших хостах.",
|
||
"connectionTypes": "Типы подключения",
|
||
"connType_terminal": "Терминал",
|
||
"connType_files": "Файловый менеджер",
|
||
"connType_docker": "Docker",
|
||
"connType_tunnel": "Туннель",
|
||
"connType_host-metrics": "Метрики хоста",
|
||
"connType_rdp": "РДП",
|
||
"connType_vnc": "ВНК",
|
||
"connType_telnet": "Телнет",
|
||
"widgetFileManagerName": "Файловый менеджер",
|
||
"widgetFileManagerDesc": "Встроенный файловый менеджер SFTP для настроенного хоста",
|
||
"widgetDockerName": "Менеджер Docker",
|
||
"widgetDockerDesc": "Встроенный менеджер контейнеров Docker для настроенного хоста",
|
||
"widgetTunnelName": "Менеджер туннеля",
|
||
"widgetTunnelDesc": "Встроенный менеджер SSH-туннелей для настроенного хоста",
|
||
"widgetNoHostSelected": "Хост не настроен"
|
||
},
|
||
"serverConfig": {
|
||
"title": "Конфигурация сервера",
|
||
"description": "Настройте URL-адрес сервера Termix для подключения к вашим внутренним службам.",
|
||
"serverUrl": "URL сервера",
|
||
"enterServerUrl": "Пожалуйста, введите URL-адрес сервера.",
|
||
"saveFailed": "Не удалось сохранить конфигурацию.",
|
||
"saveError": "Ошибка сохранения конфигурации",
|
||
"saving": "Сохранение...",
|
||
"saveConfig": "Сохранение конфигурации",
|
||
"helpText": "Введите URL-адрес, по которому работает ваш сервер Termix (например, http://localhost:30001 или https://your-server.com).",
|
||
"changeServer": "Сменить сервер",
|
||
"mustIncludeProtocol": "URL-адрес сервера должен начинаться с http:// или https://",
|
||
"allowInvalidCertificate": "Разрешить использование недействительного сертификата",
|
||
"allowInvalidCertificateDesc": "Использовать только для доверенных серверов, размещенных на собственном сервере и имеющих самоподписанные сертификаты или сертификаты IP-адресов.",
|
||
"useEmbedded": "Использовать локальный сервер",
|
||
"embeddedDesc": "Запускайте Termix с помощью встроенного локального сервера (удаленный сервер не требуется).",
|
||
"embeddedConnecting": "Подключение к локальному серверу...",
|
||
"embeddedNotReady": "Локальный сервер пока не готов. Подождите немного и попробуйте снова.",
|
||
"localServer": "Локальный сервер",
|
||
"savedServers": "Сохраненные серверы",
|
||
"noSavedServers": "Сохраненные серверы отсутствуют",
|
||
"removeServer": "Удалять"
|
||
},
|
||
"versionCheck": {
|
||
"error": "Ошибка проверки версии",
|
||
"checkFailed": "Не удалось проверить наличие обновлений.",
|
||
"upToDate": "Приложение обновлено.",
|
||
"currentVersion": "Вы используете версию {{version}}",
|
||
"updateAvailable": "Доступно обновление",
|
||
"newVersionAvailable": "Доступна новая версия! Вы используете {{current}}, но доступна версия {{latest}}.",
|
||
"betaVersion": "Бета-версия",
|
||
"betaVersionDesc": "Вы используете версию {{current}}, которая новее последней стабильной версии {{latest}}.",
|
||
"releasedOn": "Выпущено {{date}}",
|
||
"downloadUpdate": "Скачать обновление",
|
||
"checking": "Проверяем наличие обновлений...",
|
||
"checkUpdates": "Проверьте наличие обновлений.",
|
||
"checkingUpdates": "Проверяем наличие обновлений...",
|
||
"updateRequired": "Требуется обновление"
|
||
},
|
||
"common": {
|
||
"close": "Закрывать",
|
||
"minimize": "Свести к минимуму",
|
||
"online": "Онлайн",
|
||
"offline": "Офлайн",
|
||
"unknown": "Неизвестный",
|
||
"continue": "Продолжать",
|
||
"maintenance": "Обслуживание",
|
||
"degraded": "Деградировавший",
|
||
"error": "Ошибка",
|
||
"warning": "Предупреждение",
|
||
"unsavedChanges": "Несохраненные изменения",
|
||
"dismiss": "Увольнять",
|
||
"loading": "Загрузка...",
|
||
"optional": "Необязательный",
|
||
"connect": "Соединять",
|
||
"copied": "Скопировано",
|
||
"connecting": "Подключение...",
|
||
"updateAvailable": "Доступно обновление",
|
||
"appName": "Термикс",
|
||
"openInNewTab": "Открыть в новой вкладке",
|
||
"noReleases": "Нет релизов",
|
||
"updatesAndReleases": "Обновления и релизы",
|
||
"newVersionAvailable": "Доступна новая версия ({{version}}).",
|
||
"failedToFetchUpdateInfo": "Не удалось получить информацию об обновлении.",
|
||
"preRelease": "Предварительный релиз",
|
||
"noReleasesFound": "Релизы не найдены.",
|
||
"cancel": "Отмена",
|
||
"username": "Имя пользователя",
|
||
"login": "Авторизоваться",
|
||
"logout": "Выйти",
|
||
"register": "Регистрация",
|
||
"password": "Пароль",
|
||
"confirmPassword": "Подтвердите пароль",
|
||
"back": "Назад",
|
||
"save": "Сохранять",
|
||
"saving": "Сохранение...",
|
||
"delete": "Удалить",
|
||
"rename": "Переименовать",
|
||
"edit": "Редактировать",
|
||
"add": "Добавлять",
|
||
"confirm": "Подтверждать",
|
||
"no": "Нет",
|
||
"or": "ИЛИ",
|
||
"next": "Следующий",
|
||
"previous": "Предыдущий",
|
||
"refresh": "Обновить",
|
||
"language": "Язык",
|
||
"checking": "Проверка...",
|
||
"checkingDatabase": "Проверка подключения к базе данных...",
|
||
"checkingAuthentication": "Проверка аутентификации...",
|
||
"backendReconnected": "Соединение с сервером восстановлено.",
|
||
"connectionDegraded": "Соединение с сервером потеряно, восстанавливаем…",
|
||
"reload": "Перезагрузка",
|
||
"remove": "Удалять",
|
||
"create": "Создавать",
|
||
"update": "Обновлять",
|
||
"copy": "Копия",
|
||
"copyFailed": "Не удалось скопировать в буфер обмена.",
|
||
"maximize": "Максимизировать",
|
||
"restore": "Восстановить",
|
||
"of": "из",
|
||
"saved": "Сохранено",
|
||
"deleted": "Удалено",
|
||
"deleteFailed": "Не удалось удалить",
|
||
"saveFailed": "Не удалось сохранить",
|
||
"required": "Необходимый"
|
||
},
|
||
"nav": {
|
||
"home": "Дом",
|
||
"terminal": "Терминал",
|
||
"docker": "Docker",
|
||
"tunnels": "Туннели",
|
||
"fileManager": "Файловый менеджер",
|
||
"serverStats": "Метрики хоста",
|
||
"hostMetrics": "Метрики хоста",
|
||
"admin": "Администратор",
|
||
"termixId": "ИДЕНТИФИКАТОР",
|
||
"userProfile": "Профиль пользователя",
|
||
"splitScreen": "Разделенный экран",
|
||
"confirmClose": "Закрыть активную сессию?",
|
||
"close": "Закрывать",
|
||
"cancel": "Отмена",
|
||
"sshManager": "Менеджер SSH",
|
||
"cannotSplitTab": "Невозможно разделить эту вкладку",
|
||
"hostTabTitle": "{{username}}@{{ip}}:{{port}}",
|
||
"copyPassword": "Скопировать пароль",
|
||
"copySudoPassword": "Скопировать пароль Sudo",
|
||
"passwordCopied": "Пароль скопирован в буфер обмена",
|
||
"noPasswordAvailable": "Пароль недоступен",
|
||
"failedToCopyPassword": "Не удалось скопировать пароль.",
|
||
"refreshTab": "Обновить соединение",
|
||
"renameTab": "Переименовать вкладку",
|
||
"openFileManager": "Открыть файловый менеджер",
|
||
"dashboard": "Панель управления",
|
||
"networkGraph": "Сетевой граф",
|
||
"tmuxMonitor": "Монитор Tmux",
|
||
"homepage": "Главная страница",
|
||
"quickConnect": "Быстрое подключение",
|
||
"sshTools": "Инструменты SSH",
|
||
"history": "История",
|
||
"sessionLogs": "Журналы сессий",
|
||
"hosts": "Хозяева",
|
||
"snippets": "Фрагменты",
|
||
"hostManager": "Менеджер хоста",
|
||
"credentials": "Реквизиты для входа",
|
||
"connections": "Связи",
|
||
"alerts": "Оповещения",
|
||
"serial": "Серийный номер",
|
||
"roleAdministrator": "Администратор",
|
||
"roleUser": "Пользователь"
|
||
},
|
||
"hosts": {
|
||
"hosts": "Хозяева",
|
||
"noHosts": "Нет SSH-хостов",
|
||
"retry": "Повторить попытку",
|
||
"refresh": "Обновить",
|
||
"optional": "Необязательный",
|
||
"downloadSample": "Скачать образец",
|
||
"failedToDeleteHost": "Не удалось удалить {{name}}",
|
||
"importSkipExisting": "Импорт (пропустить существующие)",
|
||
"importSSHConfig": "Импорт из конфигурации SSH",
|
||
"connectionDetails": "Данные подключения",
|
||
"ssh": "SSH",
|
||
"telnet": "Телнет",
|
||
"remoteDesktop": "Удаленный рабочий стол",
|
||
"port": "Порт",
|
||
"username": "Имя пользователя",
|
||
"folder": "Папка",
|
||
"tags": "Теги",
|
||
"pin": "Приколоть",
|
||
"addHost": "Добавить хост",
|
||
"editHost": "Редактировать хост",
|
||
"cloneHost": "Клон хоста",
|
||
"enableTerminal": "Включить терминал",
|
||
"enableTunnel": "Включить туннель",
|
||
"enableFileManager": "Включить файловый менеджер",
|
||
"enableDocker": "Включить Docker",
|
||
"defaultPath": "Путь по умолчанию",
|
||
"connection": "Связь",
|
||
"upload": "Загрузить",
|
||
"authentication": "Аутентификация",
|
||
"password": "Пароль",
|
||
"key": "Ключ",
|
||
"credential": "Удостоверение личности",
|
||
"none": "Никто",
|
||
"sshPrivateKey": "Закрытый ключ SSH",
|
||
"keyType": "Тип ключа",
|
||
"uploadFile": "Загрузить файл",
|
||
"tabGeneral": "Общий",
|
||
"tabSsh": "SSH",
|
||
"tabTerminal": "Терминал",
|
||
"tabRdp": "РДП",
|
||
"tabVnc": "ВНК",
|
||
"tabTunnels": "Туннели",
|
||
"tabDocker": "Docker",
|
||
"tabFiles": "Файлы",
|
||
"tabStats": "Метрики хоста",
|
||
"tabHostMetrics": "Метрики хоста",
|
||
"tabTelnet": "Телнет",
|
||
"tabSharing": "Совместное использование",
|
||
"tabAuthentication": "Аутентификация",
|
||
"terminal": "Терминал",
|
||
"tunnel": "Туннель",
|
||
"fileManager": "Файловый менеджер",
|
||
"serverStats": "Метрики хоста",
|
||
"status": "Статус",
|
||
"folderRenamed": "Папка \"{{oldName}}\" успешно переименована в \"{{newName}}\"",
|
||
"failedToRenameFolder": "Не удалось переименовать папку.",
|
||
"movedToFolder": "Перемещены хосты {{count}} в \"{{folder}}\"",
|
||
"editHostTooltip": "Редактировать хост",
|
||
"statusChecks": "Проверки статуса",
|
||
"metricsCollection": "Сбор метрик",
|
||
"metricsInterval": "Интервал сбора метрик",
|
||
"metricsIntervalDesc": "Как часто следует собирать статистику сервера (от 5 секунд до 1 часа)?",
|
||
"behavior": "Поведение",
|
||
"themePreview": "Предварительный просмотр темы",
|
||
"theme": "Тема",
|
||
"fontFamily": "Семейство шрифтов",
|
||
"fontSize": "Размер шрифта",
|
||
"letterSpacing": "Межбуквенный интервал",
|
||
"lineHeight": "Высота строки",
|
||
"cursorStyle": "Стиль курсора",
|
||
"cursorBlink": "Мерцание курсора",
|
||
"scrollbackBuffer": "Буфер прокрутки",
|
||
"bellStyle": "Белл Стайл",
|
||
"rightClickSelectsWord": "Щелчок правой кнопкой мыши выделяет слово",
|
||
"fastScrollModifier": "Модификатор быстрой прокрутки",
|
||
"fastScrollSensitivity": "Чувствительность быстрой прокрутки",
|
||
"sshAgentForwarding": "Переадресация агента SSH",
|
||
"backspaceMode": "Режим Backspace",
|
||
"startupSnippet": "Фрагмент запуска",
|
||
"selectSnippet": "Выбрать фрагмент",
|
||
"forceKeyboardInteractive": "Принудительное использование клавиатуры",
|
||
"overrideCredentialUsername": "Переопределение имени пользователя учетных данных",
|
||
"overrideCredentialUsernameDesc": "Вместо имени пользователя, указанного в учетных данных, используйте имя пользователя, указанное выше.",
|
||
"oidcUsernameHint": "Используйте $oidc.preferred_username для замены вашего имени пользователя OIDC.",
|
||
"jumpHostChain": "Цепочка переходов хостов",
|
||
"portKnocking": "Порт-Нокинг",
|
||
"addKnock": "Добавить порт",
|
||
"addProxyNode": "Добавить узел",
|
||
"proxyNode": "Прокси-узел",
|
||
"proxyType": "Тип прокси",
|
||
"quickActions": "Быстрые действия",
|
||
"sudoPasswordAutoFill": "Автозаполнение паролей Sudo",
|
||
"sudoPassword": "Пароль Sudo",
|
||
"keepaliveInterval": "Интервал поддержания соединения (мс)",
|
||
"moshCommand": "Команда МОШ",
|
||
"environmentVariables": "Переменные окружающей среды",
|
||
"addVariable": "Добавить переменную",
|
||
"docker": "Docker",
|
||
"copyTerminalUrl": "Скопировать URL терминала",
|
||
"copyFileManagerUrl": "Скопировать URL-адрес файлового менеджера",
|
||
"copyRemoteDesktopUrl": "Скопировать URL-адрес удаленного рабочего стола",
|
||
"failedToConnect": "Не удалось подключиться к консоли",
|
||
"connect": "Соединять",
|
||
"disconnect": "Отключить",
|
||
"start": "Начинать",
|
||
"enableStatusCheck": "Включить проверку состояния",
|
||
"enableMetrics": "Включить метрики",
|
||
"bulkUpdateFailed": "Сбой массового обновления",
|
||
"selectAll": "Выбрать все",
|
||
"deselectAll": "Снять выделение со всех элементов",
|
||
"protocols": "Протоколы",
|
||
"secureShell": "Secure Shell",
|
||
"virtualNetwork": "Виртуальная сеть",
|
||
"unencryptedShell": "Незашифрованная оболочка",
|
||
"addressIp": "Адрес / IP-адрес",
|
||
"friendlyName": "Дружественное имя",
|
||
"macAddress": "MAC-адрес",
|
||
"wolBroadcastAddress": "Обращение WoL в эфире",
|
||
"wolBroadcastAddressDesc": "Дополнительная опция для направленной широковещательной рассылки в сетях Docker/маршрутизируемых сетях (например, 192.168.1.255). Оставьте поле пустым, чтобы использовать 255.255.255.255.",
|
||
"folderAndAdvanced": "Папка и расширенные настройки",
|
||
"privateNotes": "Личные заметки",
|
||
"privateNotesPlaceholder": "Подробная информация об этом сервере...",
|
||
"pinToTop": "Закрепить вверху",
|
||
"pinToTopDesc": "Этот хост всегда должен отображаться вверху списка.",
|
||
"portKnockingSequence": "Последовательность стук в порт",
|
||
"addKnockBtn": "Добавить стук",
|
||
"noPortKnocking": "Функция \"вызова порта\" не настроена.",
|
||
"knockPort": "Порт для стук",
|
||
"protocol": "Протокол",
|
||
"delayAfterMs": "Задержка (мс)",
|
||
"useSocks5Proxy": "Используйте прокси SOCKS5",
|
||
"useSocks5ProxyDesc": "Маршрутизация соединения через прокси-сервер",
|
||
"proxyHost": "Прокси-хост",
|
||
"proxyPort": "Прокси-порт",
|
||
"proxyUsername": "Имя пользователя прокси",
|
||
"proxyPassword": "Пароль прокси",
|
||
"proxySingleMode": "Единый прокси",
|
||
"proxyChainMode": "Цепочка прокси",
|
||
"you": "Ты",
|
||
"jumpHostChainLabel": "Цепочка переходов хостов",
|
||
"addJumpBtn": "Добавить прыжок",
|
||
"noJumpHosts": "Переходные хосты не настроены.",
|
||
"selectAServer": "Выберите сервер...",
|
||
"sshPort": "Порт SSH",
|
||
"authMethod": "Метод аутентификации",
|
||
"storedCredential": "Сохраненные учетные данные",
|
||
"selectACredential": "Выберите учетные данные...",
|
||
"vaultProfile": "Профиль подписанта хранилища",
|
||
"selectAVaultProfile": "Выберите профиль хранилища...",
|
||
"vaultProfileHint": "Настройки берутся из общего профиля; при подключении вы будете входить в Vault через OIDC. Секретные данные не хранятся.",
|
||
"vaultNewProfile": "Новый профиль",
|
||
"vaultManageProfiles": "Управление профилями хранилища",
|
||
"vaultAddrLabel": "Адрес хранилища",
|
||
"vaultNamespaceLabel": "Пространство имен",
|
||
"vaultOidcMountLabel": "OIDC Auth Mount",
|
||
"vaultOidcRoleLabel": "Роль OIDC",
|
||
"vaultSshMountLabel": "SSH Secrets Mount",
|
||
"vaultSshRoleLabel": "Роль подписанта SSH",
|
||
"vaultValidPrincipalsLabel": "Действительные принципы",
|
||
"vaultKeyTypeLabel": "Тип эфемерного ключа",
|
||
"vaultSharedLabel": "Поделиться со всеми пользователями",
|
||
"vaultCreateProfile": "Создать профиль",
|
||
"vaultProfileCreated": "Профиль хранилища создан",
|
||
"vaultProfileSaved": "Профиль хранилища сохранен",
|
||
"vaultProfileDeleted": "Профиль хранилища удален",
|
||
"vaultProfileSaveFailed": "Не удалось сохранить профиль хранилища.",
|
||
"vaultProfileDeleteFailed": "Не удалось удалить профиль хранилища.",
|
||
"vaultSaveProfile": "Сохранить профиль",
|
||
"vaultProfileValidationError": "Необходимо указать имя, адрес хранилища и роль подписанта SSH.",
|
||
"vaultNoProfiles": "Профилей хранилища пока нет.",
|
||
"vaultSharedBadge": "общий",
|
||
"keyTypeLabel": "Тип ключа",
|
||
"keyTypeAuto": "Автоматическое определение",
|
||
"keyPasteTab": "Вставить",
|
||
"keyUploadTab": "Загрузить",
|
||
"keyFileLoaded": "Файл ключа загружен",
|
||
"keyUploadClick": "Нажмите, чтобы загрузить файлы .pem / .key / .ppk",
|
||
"clearKey": "Очистить ключ",
|
||
"keySaved": "Сохранён SSH-ключ",
|
||
"keyReplaceNotice": "Вставьте новый ключ ниже, чтобы заменить его.",
|
||
"keyPassphraseSaved": "Кодовая фраза сохранена, введите для изменения.",
|
||
"replaceKey": "Заменить ключ",
|
||
"docsLink": "Просмотреть документацию",
|
||
"opksshLabel": "ОПКШ",
|
||
"opksshDesc": "Войдите на этот хост, используя свой поставщик идентификации вместо пароля или ключа. Требуется настройка OPKSSH на сервере.",
|
||
"warpgateLabel": "Врата Варпа",
|
||
"warpgateDesc": "Этот хост подключается через SSH-прокси Warpgate. Termix автоматически обработает процесс подтверждения через браузер после аутентификации.",
|
||
"agentLabel": "Агент SSH",
|
||
"agentDesc": "Аутентификация должна осуществляться с помощью SSH-агента, работающего на сервере Termix (Bitwarden, 1Password, gpg-agent, KeeAgent, ssh-agent). Агент должен быть запущен на машине, где размещен Termix.",
|
||
"agentSocketPathLabel": "Путь к сокету агента",
|
||
"agentSocketPathPlaceholder": "Оставьте поле пустым, чтобы использовать SSH_AUTH_SOCK.",
|
||
"agentSocketPathHint": "Оставьте поле пустым для автоматического определения пути к сокету из переменной среды SSH_AUTH_SOCK или введите собственный путь к сокету (например, /run/user/1000/gnupg/S.gpg-agent.ssh).",
|
||
"tailscaleDeviceSelect": "Выберите устройство \"Хвостовая шкала\"",
|
||
"tailscaleDeviceSelectPlaceholder": "Выберите устройство...",
|
||
"tailscaleNoApiKey": "Ключ API Tailscale не настроен. Добавьте его в настройках администратора, чтобы включить обнаружение устройств.",
|
||
"tailscaleDocsLink": "Просмотреть документацию",
|
||
"tailscaleLoadingDevices": "Загрузочные устройства...",
|
||
"tailscaleNoDevices": "В вашей сети устройств не обнаружено.",
|
||
"tailscaleDeviceAutoFill": "При выборе устройства IP-адрес хоста будет заполнен автоматически.",
|
||
"forceKeyboardInteractiveLabel": "Принудительное использование клавиатуры",
|
||
"forceKeyboardInteractiveShortDesc": "Принудительный ручной ввод пароля, даже если ключи присутствуют.",
|
||
"allowLegacyAlgorithmsLabel": "Разрешить использование устаревших алгоритмов",
|
||
"allowLegacyAlgorithmsDesc": "Включите устаревшие алгоритмы SSH (ssh-dss, ssh-rsa, diffie-hellman-group1-sha1, hmac-md5, 3des-cbc) для подключений к старым устройствам, которые невозможно обновить.",
|
||
"insecure": "Ненадежный",
|
||
"terminalAppearance": "Внешний вид терминала",
|
||
"colorTheme": "Цветовая тема",
|
||
"fontFamilyLabel": "Семейство шрифтов",
|
||
"fontSizeLabel": "Размер шрифта",
|
||
"cursorStyleLabel": "Стиль курсора",
|
||
"letterSpacingPx": "Межбуквенный интервал (px)",
|
||
"lineHeightLabel": "Высота строки",
|
||
"bellStyleLabel": "Белл Стайл",
|
||
"backspaceModeLabel": "Режим Backspace",
|
||
"cursorBlinking": "Мигание курсора",
|
||
"cursorBlinkingDesc": "Включить анимацию мигания для курсора терминала",
|
||
"rightClickSelectsWordLabel": "Щелчок правой кнопкой мыши выделяет слово",
|
||
"rightClickSelectsWordShortDesc": "Выделите слово под курсором, щелкнув по нему правой кнопкой мыши.",
|
||
"backgroundImageLabel": "URL фонового изображения",
|
||
"backgroundImageDesc": "Дополнительный URL-адрес для фонового изображения терминала",
|
||
"backgroundImageOpacityLabel": "Прозрачность фонового изображения",
|
||
"customThemeColors": "Пользовательские цвета",
|
||
"customThemeBackground": "Фон",
|
||
"customThemeForeground": "Передний план",
|
||
"customThemeCursor": "Курсор",
|
||
"customThemeCursorAccent": "Акцент курсора",
|
||
"customThemeSelection": "Выбор",
|
||
"customThemeAnsiColors": "Цвета ANSI",
|
||
"customThemeBlack": "Черный",
|
||
"customThemeRed": "Красный",
|
||
"customThemeGreen": "Зеленый",
|
||
"customThemeYellow": "Желтый",
|
||
"customThemeBlue": "Синий",
|
||
"customThemeMagenta": "Пурпурный",
|
||
"customThemeCyan": "Голубой",
|
||
"customThemeWhite": "Белый",
|
||
"customThemeBrightBlack": "Ярко-черный",
|
||
"customThemeBrightRed": "Ярко-красный",
|
||
"customThemeBrightGreen": "Ярко-зелёный",
|
||
"customThemeBrightYellow": "Ярко-жёлтый",
|
||
"customThemeBrightBlue": "Ярко-синий",
|
||
"customThemeBrightMagenta": "Яркий пурпурный",
|
||
"customThemeBrightCyan": "Яркий голубой",
|
||
"customThemeBrightWhite": "Ярко-белый",
|
||
"customThemeResetTooltip": "Сбросить до значений по умолчанию",
|
||
"syntaxHighlightingLabel": "Подсветка синтаксиса",
|
||
"syntaxHighlightingDesc": "Раскрашивание вывода терминала (ошибки, пути, IP-адреса, временные метки)",
|
||
"syntaxHighlightingCategories": "Выделить категории",
|
||
"syntaxHighlightingCategoriesDesc": "Выберите, какие типы контента следует раскрасить.",
|
||
"syntaxCategoryLogLevels": "Уровни логарифма",
|
||
"syntaxCategoryLogLevelsDesc": "ошибка, предупреждение, информация, отладка, фатальная ошибка",
|
||
"syntaxCategoryPaths": "Пути к файлам",
|
||
"syntaxCategoryPathsDesc": "/usr/share/doc, ~/file.txt",
|
||
"syntaxCategoryTimestamps": "Временные метки",
|
||
"syntaxCategoryTimestampsDesc": "[12:34:56], 2024-01-15",
|
||
"syntaxCategoryIpAddresses": "IP-адреса",
|
||
"syntaxCategoryIpAddressesDesc": "192.168.1.1, 10.0.0.1:8080",
|
||
"syntaxCategoryUrls": "URL-адреса",
|
||
"syntaxCategoryUrlsDesc": "https://example.com",
|
||
"syntaxCategoryNumbers": "Пронумерованные цифры",
|
||
"syntaxCategoryNumbersDesc": "порт 8080, выход 1, статус 404",
|
||
"behaviorAndAdvanced": "Поведение и продвинутый уровень",
|
||
"scrollbackBufferLabel": "Буфер прокрутки",
|
||
"scrollbackMaxLines": "Максимальное количество строк, сохраняемых в истории.",
|
||
"sshAgentForwardingLabel": "Переадресация агента SSH",
|
||
"sshAgentForwardingShortDesc": "Передайте свои локальные SSH-ключи этому хосту.",
|
||
"useSSHTitleLabel": "Использовать заголовок окна SSH",
|
||
"useSSHTitleDesc": "Вместо имени хоста измените заголовок вкладки на заголовок окна оболочки.",
|
||
"enableAutoMosh": "Включить автомош",
|
||
"enableAutoMoshDesc": "Если доступен Mosh, предпочтительнее использовать SSH.",
|
||
"enableAutoTmux": "Включить Auto-Tmux",
|
||
"enableAutoTmuxDesc": "Автоматический запуск или подключение к сессии tmux",
|
||
"enableSessionLogging": "Ведение журнала сессий",
|
||
"enableSessionLoggingDesc": "Запишите вывод терминала для последующего анализа.",
|
||
"enableCommandHistory": "История командования",
|
||
"enableCommandHistoryDesc": "В этом терминале записываются команды для отображения истории и автозаполнения.",
|
||
"linkClickBehaviorLabel": "Поведение при клике по ссылке",
|
||
"linkClickBehaviorDesc": "Управляет действиями при нажатии на ссылку в терминале. Используйте значение «По умолчанию», чтобы следовать настройкам на уровне приложения.",
|
||
"linkClickBehaviorDefault": "По умолчанию (в соответствии с настройками приложения)",
|
||
"linkClickBehaviorConfirm": "Показать всплывающее окно для открытия или копирования",
|
||
"linkClickBehaviorDirect": "Открыть напрямую",
|
||
"sudoPasswordAutoFillLabel": "Автозаполнение паролей Sudo",
|
||
"sudoPasswordAutoFillShortDesc": "Автоматически вводить пароль sudo при появлении соответствующего запроса.",
|
||
"sudoPasswordAutoFillDesc": "Сохраните пароль для команды sudo, чтобы метрики хоста, командная строка терминала и другие средства могли автоматически выполнять привилегированные команды.",
|
||
"sudoPasswordLabel": "Пароль Sudo",
|
||
"environmentVariablesLabel": "Переменные окружающей среды",
|
||
"addVariableBtn": "Добавить переменную",
|
||
"noEnvVars": "Переменные среды не настроены.",
|
||
"fastScrollModifierLabel": "Модификатор быстрой прокрутки",
|
||
"fastScrollSensitivityLabel": "Чувствительность быстрой прокрутки",
|
||
"moshCommandLabel": "Команда Мош",
|
||
"startupSnippetLabel": "Фрагмент запуска",
|
||
"keepaliveIntervalLabel": "Интервал поддержания соединения (секунды)",
|
||
"maxKeepaliveMisses": "Макс Кипалайв промахнулся",
|
||
"tunnelSettings": "Настройки туннеля",
|
||
"enableTunneling": "Включить туннелирование",
|
||
"enableTunnelingDesc": "Включить функцию SSH-туннелирования для этого хоста.",
|
||
"serverTunnelsSection": "Серверные туннели",
|
||
"addTunnelBtn": "Добавить туннель",
|
||
"noTunnelsConfigured": "Туннели не настроены.",
|
||
"tunnelLabel": "Туннель {{number}}",
|
||
"tunnelType": "Туннельный тип",
|
||
"tunnelModeLocalDesc": "Перенаправьте локальный порт на порт удаленного сервера (или хоста, доступного с него).",
|
||
"tunnelModeRemoteDesc": "Перенаправьте порт на удаленном сервере на локальный порт на вашем компьютере.",
|
||
"tunnelModeDynamicDesc": "Создайте SOCKS5-прокси на локальном порту для динамической переадресации портов.",
|
||
"sameHost": "Этот хост (прямой туннель)",
|
||
"endpointHost": "Хост конечной точки",
|
||
"endpointHostPlaceholder": "Тот же хост, хост SSH или доступный хост/IP-адрес",
|
||
"endpointPort": "Порт конечной точки",
|
||
"bindHost": "Привязать хост",
|
||
"sourcePort": "Исходный порт",
|
||
"maxRetries": "Максимальное количество повторных попыток",
|
||
"retryIntervalS": "Интервал повторной попытки (с)",
|
||
"autoStartLabel": "Автозапуск",
|
||
"autoStartDesc": "Автоматически подключать этот туннель при загрузке хоста.",
|
||
"tunnelConnecting": "Туннель, соединяющий...",
|
||
"tunnelDisconnected": "Туннель отключен",
|
||
"failedToConnectTunnel": "Не удалось подключиться",
|
||
"failedToDisconnectTunnel": "Не удалось отключиться",
|
||
"dockerIntegration": "Интеграция с Docker",
|
||
"enableDockerMonitor": "Включить Docker",
|
||
"enableDockerMonitorDesc": "Мониторинг и управление контейнерами на этом хосте с помощью Docker.",
|
||
"containerRuntime": "Среда выполнения контейнеров",
|
||
"containerRuntimeDesc": "Выберите интерфейс командной строки, используемый для управления контейнерами на этом хосте.",
|
||
"containerRuntimeDocker": "Docker",
|
||
"containerRuntimePodman": "Подман",
|
||
"enableTmuxMonitor": "Включить монитор Tmux",
|
||
"enableTmuxMonitorDesc": "Отобразить этот хост в мониторе Tmux и добавить его действия Tmux на боковую панель.",
|
||
"tabProxmox": "Проксмокс",
|
||
"proxmoxIntegration": "Интеграция с Proxmox",
|
||
"enableProxmox": "Включить Proxmox",
|
||
"enableProxmoxDesc": "Отметьте этот хост как узел Proxmox. Это позволит обнаруживать и импортировать гостевые системы непосредственно с этого хоста.",
|
||
"proxmoxDefaultAuthType": "Тип аутентификации по умолчанию",
|
||
"proxmoxDefaultAuthTypeDesc": "Метод аутентификации, применяемый к импортированным гостевым хостам. Выберите тип аутентификации, соответствующий способу подключения к вашим гостям.",
|
||
"authTypePassword": "Пароль",
|
||
"authTypeKey": "Ключ SSH",
|
||
"authTypeCredential": "Удостоверение личности",
|
||
"authTypeOpkssh": "ОПКШ",
|
||
"authTypeNone": "Никто",
|
||
"proxmoxDefaultCredential": "Учетные данные по умолчанию",
|
||
"proxmoxDefaultCredentialDesc": "Учетные данные используются для импортированных гостевых хостов, если для типа аутентификации установлено значение «Учетные данные».",
|
||
"proxmoxWindowsDetection": "Обнаружение Windows / RDP",
|
||
"proxmoxWindowsDetectionDesc": "Шаблоны имен, разделенные запятыми, которые запускают RDP вместо SSH (регистронечувствительны).",
|
||
"proxmoxDockerDetection": "обнаружение Docker",
|
||
"proxmoxDockerDetectionDesc": "Шаблоны имен, разделенные запятыми, которые позволяют Docker сопоставлять гостевые системы.",
|
||
"proxmoxPreferredRanges": "Предпочтительные диапазоны IP-адресов",
|
||
"proxmoxPreferredRangesDesc": "Префиксы, разделённые запятыми, в порядке приоритета для выбора IP-адреса, когда у гостевой системы несколько сетевых интерфейсов.",
|
||
"proxmoxDiscoverAction": "Откройте для себя и импортируйте гостей Proxmox.",
|
||
"proxmoxImportTitle": "Импорт из Proxmox",
|
||
"proxmoxSelectHost": "Выберите хост Proxmox…",
|
||
"proxmoxDiscover": "Обнаружить",
|
||
"proxmoxDiscovering": "Открытие…",
|
||
"proxmoxDiscoverGuests": "Узнайте больше о гостях",
|
||
"proxmoxGuestsSelected_one": "{{count}} гость — {{selected}} выбран",
|
||
"proxmoxGuestsSelected_other": "{{count}} гостей — {{selected}} выбраны",
|
||
"proxmoxSelectAll": "Выбрать все",
|
||
"proxmoxDeselectAll": "Снять выделение со всех элементов",
|
||
"proxmoxNoGuests": "На этом узле Proxmox не обнаружено ни одного гостя.",
|
||
"proxmoxImportButton_one": "Импорт {{count}} хост",
|
||
"proxmoxImportButton_other": "Импорт {{count}} хостов",
|
||
"proxmoxResultImported": "{{count}} импортировано",
|
||
"proxmoxResultUpdated": "{{count}} обновлено",
|
||
"proxmoxResultFailed": "{{count}} провалился",
|
||
"proxmoxImportComplete": "Импорт в Proxmox завершен: {{summary}}",
|
||
"proxmoxDiscoveryFailed": "Обнаружение не удалось.",
|
||
"proxmoxImportFailed": "Импорт не удался",
|
||
"enableFileManagerMonitor": "Включить файловый менеджер",
|
||
"enableFileManagerMonitorDesc": "Просматривайте и управляйте файлами на этом хосте по протоколу SFTP.",
|
||
"scpLegacyLabel": "Режим наследия SCP",
|
||
"scpLegacyDesc": "Для серверов, не поддерживающих подсистему SFTP (например, встроенных или минималистичных SSH-серверов), используйте устаревшие методы передачи файлов.",
|
||
"defaultPathLabel": "Путь по умолчанию",
|
||
"fileManagerPathHint": "Каталог, который будет открыт при запуске файлового менеджера для данного хоста.",
|
||
"statusChecksLabel": "Проверки статуса",
|
||
"enableStatusChecks": "Включить проверку состояния",
|
||
"enableStatusChecksDesc": "Периодически отправляйте ping-запросы на этот хост для проверки его доступности.",
|
||
"useGlobalInterval": "Используйте глобальный интервал",
|
||
"useGlobalIntervalDesc": "Переопределите интервал проверки состояния на уровне всего сервера.",
|
||
"checkIntervalS": "Контрольный интервал (с)",
|
||
"checkIntervalDesc": "Секунды между каждым запросом на подключение",
|
||
"metricsCollectionLabel": "Сбор метрик",
|
||
"enableMetricsLabel": "Включить метрики",
|
||
"enableMetricsDesc": "Собирайте метрики ЦП, ОЗУ, диска и другие показатели с этого хоста.",
|
||
"useGlobalMetrics": "Используйте глобальный интервал",
|
||
"useGlobalMetricsDesc": "Укажите интервал сбора метрик для всего сервера.",
|
||
"metricsIntervalS": "Интервал метрик (с)",
|
||
"metricsIntervalDesc2": "Секунды между снимками метрики",
|
||
"visibleWidgets": "Видимые виджеты",
|
||
"widgetsMovedToHostMetrics": "Теперь карточки добавляются, упорядочиваются и изменяют размер непосредственно на вкладке «Метрики хоста». Откройте «Метрики хоста» для этого хоста и используйте функцию «Настроить», чтобы выбрать, какие карточки будут отображаться.",
|
||
"cpuUsageLabel": "Использование ЦП",
|
||
"cpuUsageDesc": "Процент использования ЦП, средняя загрузка, спарклайн-график",
|
||
"memoryLabel": "Использование памяти",
|
||
"memoryDesc": "Использование оперативной памяти, файла подкачки, кэша",
|
||
"storageLabel": "Использование диска",
|
||
"storageDesc": "Использование дискового пространства на точку монтирования",
|
||
"networkLabel": "Сетевые интерфейсы",
|
||
"networkDesc": "Список интерфейсов и пропускная способность",
|
||
"uptimeLabel": "Время безотказной работы",
|
||
"uptimeDesc": "Время безотказной работы системы и время загрузки",
|
||
"systemInfoLabel": "Информация о системе",
|
||
"systemInfoDesc": "ОС, ядро, имя хоста, архитектура",
|
||
"recentLoginsLabel": "Недавние входы в систему",
|
||
"recentLoginsDesc": "События успешного и неудачного входа в систему",
|
||
"topProcessesLabel": "Основные процессы",
|
||
"topProcessesDesc": "PID, CPU%, MEM%, команда",
|
||
"listeningPortsLabel": "Порты прослушивания",
|
||
"listeningPortsDesc": "Открытие портов с указанием процесса и состояния.",
|
||
"firewallLabel": "Брандмауэр",
|
||
"firewallDesc": "Состояние брандмауэра, AppArmor, SELinux",
|
||
"quickActionsLabel": "Быстрые действия",
|
||
"quickActionsToolbar": "Быстрые действия отображаются в виде кнопок на панели инструментов «Метрики хоста» для выполнения команд одним щелчком мыши.",
|
||
"noQuickActions": "Пока никаких быстрых действий не предпринято.",
|
||
"buttonLabel": "Метка кнопки",
|
||
"selectSnippetPlaceholder": "Выделите фрагмент...",
|
||
"addActionBtn": "Добавить действие",
|
||
"hostSharedSuccessfully": "Хост успешно предоставлен.",
|
||
"failedToShareHost": "Не удалось предоставить общий доступ к хосту.",
|
||
"accessRevoked": "Доступ отозван",
|
||
"failedToRevokeAccess": "Не удалось отозвать доступ",
|
||
"cancelBtn": "Отмена",
|
||
"savingBtn": "Сохранение...",
|
||
"addHostBtn": "Добавить хост",
|
||
"hostUpdated": "Хост обновлен",
|
||
"hostCreated": "Создан хост",
|
||
"failedToSave": "Не удалось сохранить хост",
|
||
"credentialUpdated": "Учетные данные обновлены.",
|
||
"credentialCreated": "Учетные данные созданы.",
|
||
"failedToSaveCredential": "Не удалось сохранить учетные данные.",
|
||
"credentialNameRequired": "Пожалуйста, введите имя для учетных данных.",
|
||
"credentialAuthRequired": "Добавьте пароль, SSH-ключ или и то, и другое.",
|
||
"backToHosts": "Вернуться к списку организаторов",
|
||
"backToCredentials": "Вернуться к учетным данным",
|
||
"pinned": "Закреплено",
|
||
"noHostsFound": "Хосты не найдены",
|
||
"tryDifferentTerm": "Попробуйте другой термин.",
|
||
"addFirstHost": "Добавьте своего первого хоста, чтобы начать работу.",
|
||
"noCredentialsFound": "Учетные данные не найдены",
|
||
"addCredentialBtn": "Добавить учетные данные",
|
||
"updateCredentialBtn": "Обновить учетные данные",
|
||
"features": "Функции",
|
||
"noFolder": "(Без папки)",
|
||
"deleteSelected": "Удалить",
|
||
"exitSelection": "Выбор выхода",
|
||
"importSkip": "Импорт (пропустить существующие)",
|
||
"importOverwrite": "Импорт (перезапись)",
|
||
"collapseBtn": "Крах",
|
||
"importExportBtn": "Импорт / Экспорт",
|
||
"hostStatusesRefreshed": "Статусы хостов обновлены.",
|
||
"failedToRefreshHosts": "Не удалось обновить хосты.",
|
||
"movedHostTo": "Перемещено {{host}} в \"{{folder}}\"",
|
||
"failedToMoveHost": "Не удалось переместить хост.",
|
||
"folderRenamedTo": "Папка переименована в \"{{name}}\"",
|
||
"deletedFolder": "Удалённая папка \"{{name}}\"",
|
||
"failedToDeleteFolder": "Не удалось удалить папку.",
|
||
"deleteAllInFolder": "Удалить все хосты в \"{{name}}\"? Это действие необратимо.",
|
||
"folderPickerPlaceholder": "Нет папки",
|
||
"folderPickerSearch": "Поиск или создание (используйте / для подпапок)...",
|
||
"folderPickerNone": "Нет папки",
|
||
"folderPickerCreate": "Создать \"{{path}}\"",
|
||
"folderPickerEmpty": "Нет подходящих папок",
|
||
"newFolder": "Новая папка",
|
||
"createFolderTitle": "Создать папку",
|
||
"editFolderTitle": "Редактировать папку",
|
||
"folderDialogDescription": "Выберите имя, цвет и значок. Используйте / для вложенности папок.",
|
||
"folderNameLabel": "Название папки",
|
||
"folderNamePlaceholder": "например, производство/веб-разработка",
|
||
"folderNestingHint": "Используйте символ / для разделения уровней и создания вложенных папок.",
|
||
"folderColor": "Цвет",
|
||
"folderIcon": "Икона",
|
||
"folderPreview": "Предварительный просмотр",
|
||
"folderNameFallback": "Папка без названия",
|
||
"createFolderButton": "Создать папку",
|
||
"saveFolderButton": "Сохраните папку",
|
||
"cancel": "Отмена",
|
||
"iconSearchPlaceholder": "Значки поиска...",
|
||
"openAllSessions": "Открыть все сессии",
|
||
"editFolder": "Редактировать папку",
|
||
"deleteFolder": "Удалить папку",
|
||
"folderSaved": "Папка сохранена",
|
||
"failedToSaveFolder": "Не удалось сохранить папку.",
|
||
"folderDeleted": "Удалённая папка \"{{name}}\"",
|
||
"deleteFolderConfirm": "Удалить \"{{name}}\" и его {{count}} хост(ы)? Это действие необратимо.",
|
||
"failedToMoveHosts": "Не удалось переместить хосты.",
|
||
"expandAll": "Развернуть все папки",
|
||
"collapseAll": "Свернуть все папки",
|
||
"moreActions": "Более",
|
||
"groupBy": "Сгруппировать по",
|
||
"GroupByFolder": "Папка",
|
||
"GroupByTag": "Ярлык",
|
||
"GroupByStatus": "Статус",
|
||
"GroupByProtocol": "Протокол",
|
||
"GroupByAuth": "Тип авторизации",
|
||
"groupUngrouped": "Негруппированный",
|
||
"deletedHost": "Удалено {{name}}",
|
||
"copiedToClipboard": "Скопировано в буфер обмена",
|
||
"terminalUrlCopied": "URL терминала скопирован.",
|
||
"fileManagerUrlCopied": "URL-адрес файлового менеджера скопирован.",
|
||
"tunnelUrlCopied": "URL туннеля скопирован.",
|
||
"dockerUrlCopied": "URL-адрес Docker скопирован.",
|
||
"hostMetricsUrlCopied": "URL-адрес метрик хоста скопирован.",
|
||
"tmuxMonitorUrlCopied": "Ссылка на монитор Tmux скопирована.",
|
||
"rdpUrlCopied": "URL-адрес RDP скопирован",
|
||
"vncUrlCopied": "Скопирована ссылка VNC.",
|
||
"telnetUrlCopied": "URL-адрес Telnet скопирован.",
|
||
"remoteDesktopUrlCopied": "Скопирована ссылка на удаленный рабочий стол.",
|
||
"expandActions": "Развернуть действия",
|
||
"collapseActions": "Свернуть действия",
|
||
"wakeOnLanAction": "Пробуждение по локальной сети",
|
||
"wakeOnLanSuccess": "Волшебный пакет отправлен на {{name}}",
|
||
"wakeOnLanError": "Не удалось отправить волшебный пакет.",
|
||
"cloneHostAction": "Клон хоста",
|
||
"copyAddress": "Скопировать адрес",
|
||
"copyLink": "Скопировать ссылку",
|
||
"copyTerminalUrlAction": "Скопировать URL терминала",
|
||
"copyFileManagerUrlAction": "Скопировать URL файлового менеджера",
|
||
"copyTunnelUrlAction": "Скопировать URL туннеля",
|
||
"copyDockerUrlAction": "Скопировать URL-адрес Docker",
|
||
"copyHostMetricsUrlAction": "Скопировать URL-адрес метрик хоста",
|
||
"copyTmuxMonitorUrlAction": "Скопировать URL-адрес монитора Tmux",
|
||
"copyRdpUrlAction": "Скопировать URL-адрес RDP",
|
||
"copyVncUrlAction": "Скопировать URL VNC",
|
||
"copyTelnetUrlAction": "Скопировать URL-адрес Telnet",
|
||
"copyRemoteDesktopUrlAction": "Скопировать URL-адрес удаленного рабочего стола",
|
||
"deleteCredentialConfirm": "Удалить учетные данные \"{{name}}\"?",
|
||
"deletedCredential": "Удалено {{name}}",
|
||
"deploySSHKeyTitle": "Развернуть SSH-ключ",
|
||
"deployingBtn": "Развертывание...",
|
||
"deployBtn": "Развертывать",
|
||
"failedToDeployKey": "Не удалось развернуть ключ.",
|
||
"deleteHostsConfirm": "Удалить хост {{count}}{{plural}}? Это действие необратимо.",
|
||
"movedToRoot": "Перемещено в корневой каталог",
|
||
"enableTerminalFeature": "Включить терминал",
|
||
"disableTerminalFeature": "Отключить терминал",
|
||
"enableFilesFeature": "Включить файлы",
|
||
"disableFilesFeature": "Отключить файлы",
|
||
"enableTunnelsFeature": "Включить туннели",
|
||
"disableTunnelsFeature": "Отключить туннели",
|
||
"enableDockerFeature": "Включить Docker",
|
||
"disableDockerFeature": "Отключить Docker",
|
||
"enableProxmoxFeature": "Включить Proxmox",
|
||
"disableProxmoxFeature": "Отключить Proxmox",
|
||
"addTagsPlaceholder": "Добавить теги...",
|
||
"authDetails": "Данные аутентификации",
|
||
"credType": "Тип",
|
||
"generateKeyPairDesc": "Сгенерируйте новую пару ключей; закрытый и открытый ключи будут заполнены автоматически.",
|
||
"generatingKey": "Генерация...",
|
||
"generateLabel": "Сгенерировать {{label}}",
|
||
"uploadFileBtn": "Загрузить файл",
|
||
"keyPassphraseOptional": "Ключевая кодовая фраза (необязательно)",
|
||
"sshPublicKeyOptional": "Открытый ключ SSH (необязательно)",
|
||
"publicKeyGenerated": "Сгенерирован открытый ключ",
|
||
"failedToGeneratePublicKey": "Не удалось получить открытый ключ.",
|
||
"publicKeyCopied": "Открытый ключ скопирован",
|
||
"keyPairGenerated": "{{label}} сгенерирована пара ключей",
|
||
"failedToGenerateKeyPair": "Не удалось сгенерировать пару ключей.",
|
||
"searchHostsPlaceholder": "Поиск хостов, адресов, тегов…",
|
||
"searchCredentialsPlaceholder": "Учетные данные для поиска…",
|
||
"refreshBtn": "Обновить",
|
||
"addTag": "Добавить теги...",
|
||
"deleteConfirmBtn": "Удалить",
|
||
"tunnelRequirementsText": "В файле /etc/ssh/sshd_config для SSH-сервера должны быть установлены следующие параметры: GatewayPorts yes, AllowTcpForwarding yes и PermitRootLogin yes.",
|
||
"deleteHostConfirm": "Удалить \"{{name}}\"?",
|
||
"enableAtLeastOneProtocol": "Включите хотя бы один из указанных выше протоколов, чтобы настроить параметры аутентификации и подключения.",
|
||
"keyPassphrase": "Ключевая кодовая фраза",
|
||
"connectBtn": "Соединять",
|
||
"disconnectBtn": "Отключить",
|
||
"basicInformation": "Основная информация",
|
||
"authDetailsSection": "Данные аутентификации",
|
||
"credTypeLabel": "Тип",
|
||
"hostsTab": "Хозяева",
|
||
"credentialsTab": "Реквизиты для входа",
|
||
"selectMultiple": "Выберите несколько",
|
||
"selectHosts": "Выберите хосты",
|
||
"connectionLabel": "Связь",
|
||
"authenticationLabel": "Аутентификация",
|
||
"generateKeyPairTitle": "Сгенерировать пару ключей",
|
||
"generateKeyPairDescription": "Сгенерируйте новую пару ключей; закрытый и открытый ключи будут заполнены автоматически.",
|
||
"generateFromPrivateKey": "Сгенерировать из закрытого ключа",
|
||
"refreshBtn2": "Обновить",
|
||
"exitSelectionTitle": "Выбор выхода",
|
||
"exportAll": "Экспорт всех",
|
||
"exportForSharing": "Экспорт для обмена",
|
||
"addHostBtn2": "Добавить хост",
|
||
"addCredentialBtn2": "Добавить учетные данные",
|
||
"checkingHostStatuses": "Проверка состояния хостов...",
|
||
"pinnedSection": "Закреплено",
|
||
"hostsExported": "Хосты успешно экспортированы.",
|
||
"hostsShareExported": "Доступные для совместного использования хосты успешно экспортированы.",
|
||
"exportFailed": "Не удалось экспортировать хосты.",
|
||
"sampleDownloaded": "Образец файла загружен",
|
||
"failedToDeleteCredential2": "Не удалось удалить учетные данные.",
|
||
"noFolderOption": "(Без папки)",
|
||
"nSelected": "{{count}} выбрано",
|
||
"featuresMenu": "Функции",
|
||
"moveMenu": "Двигаться",
|
||
"connectSelected": "Соединять",
|
||
"cancelSelection": "Отмена",
|
||
"deployDialogDesc": "Развернуть {{name}} в authorized_keys хоста.",
|
||
"targetHostLabel": "Целевой хост",
|
||
"selectHostOption": "Выберите хост...",
|
||
"keyDeployedSuccess": "Ключ успешно развернут.",
|
||
"failedToDeployKey2": "Не удалось развернуть ключ.",
|
||
"deletedCount": "Удалены {{count}} хостов",
|
||
"failedToDeleteCount": "Не удалось удалить {{count}} хостов",
|
||
"duplicatedHost": "Дублированный \"{{name}}\"",
|
||
"failedToDuplicateHost": "Не удалось дублировать хост.",
|
||
"updatedCount": "Обновлены хосты {{count}}",
|
||
"friendlyNameLabel": "Дружественное имя",
|
||
"descriptionLabel": "Описание",
|
||
"loadingHost": "Загрузка хоста...",
|
||
"loadingHosts": "Загрузка хостов...",
|
||
"loadingCredentials": "Загрузка учетных данных...",
|
||
"noHostsYet": "Хозяев пока нет.",
|
||
"noHostsMatchSearch": "Поиск не дал результатов.",
|
||
"hostNotFound": "Хост не найден",
|
||
"searchHosts": "Поиск хостов...",
|
||
"sortHosts": "Сортировка хостов",
|
||
"sortDefault": "Порядок по умолчанию",
|
||
"sortNameAsc": "Имя (от А до Я)",
|
||
"sortNameDesc": "Имя (Z → A)",
|
||
"sortIpAsc": "IP-адрес (восходящий)",
|
||
"sortIpDesc": "IP-адрес (описание)",
|
||
"sortOnlineFirst": "Онлайн прежде всего",
|
||
"sortOfflineFirst": "Офлайн-первый",
|
||
"sortPinnedFirst": "Закреплено первым",
|
||
"filterHosts": "Фильтрация хостов",
|
||
"filterClearAll": "Очистить фильтры",
|
||
"filterStatusGroup": "Статус",
|
||
"filterOnline": "Онлайн",
|
||
"filterOffline": "Офлайн",
|
||
"filterPinned": "Закреплено",
|
||
"filterAuthGroup": "Тип аутентификации",
|
||
"filterAuthPassword": "Пароль",
|
||
"filterAuthKey": "Ключ SSH",
|
||
"filterAuthCredential": "Удостоверение личности",
|
||
"filterAuthNone": "Никто",
|
||
"filterAuthOpkssh": "ОПКШ",
|
||
"filterProtocolGroup": "Протокол",
|
||
"filterProtocolSsh": "SSH",
|
||
"filterProtocolRdp": "РДП",
|
||
"filterProtocolVnc": "ВНК",
|
||
"filterProtocolTelnet": "Телнет",
|
||
"filterFeaturesGroup": "Функции",
|
||
"filterFeatureTerminal": "Терминал",
|
||
"filterFeatureFileManager": "Файловый менеджер",
|
||
"filterFeatureTunnel": "Туннель",
|
||
"filterFeatureDocker": "Docker",
|
||
"filterTagsGroup": "Теги",
|
||
"shareHost": "Совместный хостинг",
|
||
"shareHostTitle": "Поделиться: {{name}}",
|
||
"sharing": {
|
||
"requiresCredential": "Для включения общего доступа этому хосту необходимы учетные данные. Сначала отредактируйте хост и назначьте учетные данные."
|
||
},
|
||
"guac": {
|
||
"connection": "Связь",
|
||
"authentication": "Аутентификация",
|
||
"storedCredential": "Сохраненные учетные данные",
|
||
"noCredential": "Без учетных данных (прямые учетные данные указаны ниже)",
|
||
"authMethod": "Метод аутентификации",
|
||
"authTypeDirect": "Прямой",
|
||
"authTypeCredential": "Удостоверение личности",
|
||
"selectCredential": "Выберите учетные данные...",
|
||
"connectionSettings": "Настройки подключения",
|
||
"displaySettings": "Настройки дисплея",
|
||
"audioSettings": "Настройки звука",
|
||
"rdpPerformance": "Производительность RDP",
|
||
"deviceRedirection": "Перенаправление устройства",
|
||
"session": "Сессия",
|
||
"gateway": "Врата",
|
||
"remoteApp": "RemoteApp",
|
||
"clipboard": "Буфер обмена",
|
||
"sessionRecording": "Запись сессии",
|
||
"wakeOnLan": "Wake-on-LAN",
|
||
"vncSettings": "Настройки VNC",
|
||
"terminalSettings": "Настройки терминала",
|
||
"rdpPort": "Порт РДП",
|
||
"username": "Имя пользователя",
|
||
"password": "Пароль",
|
||
"domain": "Домен",
|
||
"securityMode": "Режим безопасности",
|
||
"colorDepth": "Глубина цвета",
|
||
"width": "Ширина",
|
||
"height": "Высота",
|
||
"dpi": "ДПИ",
|
||
"resizeMethod": "Метод изменения размера",
|
||
"clientName": "Имя клиента",
|
||
"initialProgram": "Начальная программа",
|
||
"serverLayout": "Схема расположения серверов",
|
||
"timezone": "Часовой пояс",
|
||
"loadBalanceInfo": "Информация о балансе нагрузки / Файлы cookie",
|
||
"loadBalanceInfoDesc": "Файл cookie брокера подключений RD для балансировки нагрузки фермы RDS (например, tsv://MS Terminal Services Plugin.1.CollectionName)",
|
||
"guacdProxy": "guacd Proxy",
|
||
"guacdHostname": "guacd Host",
|
||
"guacdHostnamePlaceholder": "Глобальные значения по умолчанию",
|
||
"guacdPort": "порт гуакад",
|
||
"guacdProxyDesc": "Переопределите глобальный экземпляр guacd для этого соединения. Оставьте поле пустым, чтобы использовать глобально настроенный guacd.",
|
||
"gatewayHostname": "Имя хоста шлюза",
|
||
"gatewayPort": "Порт-ворота",
|
||
"gatewayUsername": "Имя пользователя шлюза",
|
||
"gatewayPassword": "Пароль шлюза",
|
||
"gatewayDomain": "Домен шлюза",
|
||
"remoteAppProgram": "Программа RemoteApp",
|
||
"workingDirectory": "Рабочий справочник",
|
||
"arguments": "Аргументы",
|
||
"normalizeLineEndings": "Нормализация символов конца строки",
|
||
"recordingPath": "Путь записи",
|
||
"recordingName": "Название записи",
|
||
"macAddress": "MAC-адрес",
|
||
"broadcastAddress": "Обращение в эфире",
|
||
"udpPort": "Порт UDP",
|
||
"waitTimeS": "Время ожидания (с)",
|
||
"driveName": "Название диска",
|
||
"drivePath": "Путь подъезда",
|
||
"ignoreCertificate": "Игнорировать сертификат",
|
||
"ignoreCertificateDesc": "Разрешите подключения к хостам с самоподписанными сертификатами.",
|
||
"forceLossless": "Сила без потерь",
|
||
"forceLosslessDesc": "Принудительное кодирование изображений без потерь (более высокое качество, большая пропускная способность)",
|
||
"disableAudio": "Отключить звук",
|
||
"disableAudioDesc": "Отключить весь звук в удалённой сессии",
|
||
"enableAudioInput": "Включить аудиовход (микрофон)",
|
||
"enableAudioInputDesc": "Перенаправьте сигнал локального микрофона на удаленную сессию.",
|
||
"wallpaper": "Обои",
|
||
"wallpaperDesc": "Отображать обои рабочего стола (отключение повышает производительность)",
|
||
"theming": "Тематическое оформление",
|
||
"themingDesc": "Включите визуальные темы и стили.",
|
||
"fontSmoothing": "Сглаживание шрифта",
|
||
"fontSmoothingDesc": "Включить отображение шрифтов ClearType",
|
||
"fullWindowDrag": "Перетаскивание окна на весь экран",
|
||
"fullWindowDragDesc": "Отображение содержимого окна во время перетаскивания",
|
||
"desktopComposition": "Композиция рабочего стола",
|
||
"desktopCompositionDesc": "Включить эффекты стекла Aero",
|
||
"menuAnimations": "Анимация меню",
|
||
"menuAnimationsDesc": "Включить анимацию затухания и скольжения меню.",
|
||
"disableBitmapCaching": "Отключить кэширование растровых изображений",
|
||
"disableBitmapCachingDesc": "Отключите кэширование растровых изображений (это может помочь устранить сбои).",
|
||
"disableOffscreenCaching": "Отключить кэширование вне экрана",
|
||
"disableOffscreenCachingDesc": "Отключить кэширование вне экрана",
|
||
"disableGlyphCaching": "Отключить кэширование глифов",
|
||
"disableGlyphCachingDesc": "Отключите кэш глифов",
|
||
"enableGfx": "Включить GFX",
|
||
"enableGfxDesc": "Используйте графический конвейер RemoteFX.",
|
||
"enablePrinting": "Включить печать",
|
||
"enablePrintingDesc": "Перенаправьте локальные принтеры на удаленную сессию.",
|
||
"enableDriveRedirection": "Включить перенаправление дисков",
|
||
"enableDriveRedirectionDesc": "Подключить локальную папку в качестве диска в удалённом сеансе.",
|
||
"createDrivePath": "Создать путь к диску",
|
||
"createDrivePathDesc": "Если папка не существует, она будет создана автоматически.",
|
||
"disableDownload": "Отключить загрузку",
|
||
"disableDownloadDesc": "Запретить загрузку файлов из удаленной сессии.",
|
||
"disableUpload": "Отключить загрузку",
|
||
"disableUploadDesc": "Запретить загрузку файлов в удаленную сессию.",
|
||
"enableTouch": "Включить сенсорное управление",
|
||
"enableTouchDesc": "Включить переадресацию сенсорного ввода",
|
||
"consoleSession": "Консольная сессия",
|
||
"consoleSessionDesc": "Вместо создания новой сессии подключитесь к консоли (сессия 0).",
|
||
"sendWolPacket": "Отправить пакет WOL",
|
||
"sendWolPacketDesc": "Отправьте «магический пакет», чтобы разбудить этот хост перед подключением.",
|
||
"disableCopy": "Отключить копирование",
|
||
"disableCopyDesc": "Предотвратить копирование текста из удаленной сессии.",
|
||
"disablePaste": "Отключить вставку",
|
||
"disablePasteDesc": "Предотвратить вставку текста в удалённую сессию.",
|
||
"createPathIfMissing": "Создайте путь, если он отсутствует.",
|
||
"createPathIfMissingDesc": "Автоматически создать каталог для записи",
|
||
"excludeOutput": "Исключить вывод",
|
||
"excludeOutputDesc": "Не записывайте вывод на экран (только метаданные).",
|
||
"excludeMouse": "Исключить мышь",
|
||
"excludeMouseDesc": "Не записывайте движения мыши.",
|
||
"includeKeystrokes": "Включить нажатия клавиш",
|
||
"includeKeystrokesDesc": "Записывайте не только вывод на экран, но и сами нажатия клавиш.",
|
||
"vncPort": "Порт VNC",
|
||
"vncPassword": "Пароль VNC",
|
||
"vncUsernameOptional": "Имя пользователя (необязательно)",
|
||
"vncLeaveBlank": "Оставьте поле пустым, если оно не требуется.",
|
||
"cursorMode": "Режим курсора",
|
||
"swapRedBlue": "Поменять местами красный и синий",
|
||
"swapRedBlueDesc": "Поменяйте местами красный и синий цветовые каналы (это исправит некоторые проблемы с цветопередачей).",
|
||
"readOnly": "Только для чтения",
|
||
"readOnlyDesc": "Просматривайте удаленный экран, не отправляя никаких входных данных.",
|
||
"telnetPort": "Порт Телнет",
|
||
"terminalType": "Тип терминала",
|
||
"fontName": "Название шрифта",
|
||
"fontSize": "Размер шрифта",
|
||
"colorScheme": "Цветовая схема",
|
||
"backspaceKey": "Клавиша Backspace",
|
||
"saveHostFirst": "Сначала сохраните хост.",
|
||
"sharingOptionsAfterSave": "Параметры доступа становятся доступны после сохранения хоста.",
|
||
"sharingLoadError": "Не удалось загрузить данные для обмена. Проверьте подключение и повторите попытку.",
|
||
"shareHostSection": "Совместный хостинг",
|
||
"shareWithUser": "Поделиться с пользователем",
|
||
"shareWithRole": "Поделиться с помощью роли",
|
||
"selectUser": "Выберите пользователя",
|
||
"selectRole": "Выберите роль",
|
||
"selectUserOption": "Выберите пользователя...",
|
||
"selectRoleOption": "Выберите роль...",
|
||
"permissionLevel": "Уровень доступа",
|
||
"expiresInHours": "Срок действия истекает через (часы)",
|
||
"noExpiryPlaceholder": "Оставьте пустым, чтобы не истек срок действия.",
|
||
"shareBtn": "Делиться",
|
||
"currentAccess": "Текущий доступ",
|
||
"typeHeader": "Тип",
|
||
"targetHeader": "Цель",
|
||
"permissionHeader": "Разрешение",
|
||
"grantedByHeader": "Утверждено",
|
||
"expiresHeader": "Срок действия истекает",
|
||
"noAccessEntries": "Пока нет записей с правами доступа.",
|
||
"expiredLabel": "Истекший",
|
||
"neverLabel": "Никогда",
|
||
"revokeBtn": "Отменить",
|
||
"cancelBtn": "Отмена",
|
||
"savingBtn": "Сохранение...",
|
||
"updateHostBtn": "Обновить хост",
|
||
"addHostBtn": "Добавить хост"
|
||
}
|
||
},
|
||
"commandPalette": {
|
||
"searchPlaceholder": "Поиск хостов, команд или настроек...",
|
||
"quickActions": "Быстрые действия",
|
||
"hostManager": "Менеджер хоста",
|
||
"hostManagerDesc": "Управляйте, добавляйте и редактируйте хосты.",
|
||
"addNewHost": "Добавить новый хост",
|
||
"addNewHostDesc": "Зарегистрируйте нового хоста",
|
||
"adminSettings": "Настройки администратора",
|
||
"adminSettingsDesc": "Настройка системных параметров и пользователей.",
|
||
"userProfile": "Профиль пользователя",
|
||
"userProfileDesc": "Управляйте своей учетной записью и настройками.",
|
||
"addCredential": "Добавить учетные данные",
|
||
"addCredentialDesc": "Храните SSH-ключи или пароли.",
|
||
"tmuxMonitor": "Монитор Tmux",
|
||
"tmuxMonitorDesc": "Отслеживайте сессии tmux на всех ваших хостах.",
|
||
"recentActivity": "Последние события",
|
||
"serversAndHosts": "Серверы и хосты",
|
||
"noHostsFound": "Соответствующие хосты \"{{search}} не найдены",
|
||
"links": "Ссылки",
|
||
"navigate": "Навигация",
|
||
"select": "Выбирать",
|
||
"toggleWith": "Переключить с помощью"
|
||
},
|
||
"splitScreen": {
|
||
"paneEmpty": "Панель {{index}} - пустая",
|
||
"noTabAssigned": "Вкладка не назначена",
|
||
"focusedPane": "Активная панель"
|
||
},
|
||
"connections": {
|
||
"noConnections": "Нет подключений",
|
||
"noConnectionsDesc": "Откройте терминал, файловый менеджер или удаленный рабочий стол, чтобы увидеть подключения здесь.",
|
||
"connectedFor": "Подключено для {{duration}}",
|
||
"connected": "Подключено",
|
||
"disconnected": "Отключено",
|
||
"closeTab": "Закрыть вкладку",
|
||
"closeConnection": "Тесная связь",
|
||
"forgetTab": "Забывать",
|
||
"removeBackground": "Удалять",
|
||
"reconnect": "Переподключитесь",
|
||
"reopenTab": "Возобновить работу",
|
||
"sectionOpen": "Открыть",
|
||
"sectionBackground": "Фон",
|
||
"backgroundDesc": "После отключения сеанс связи длится 30 минут, после чего его можно повторно подключить.",
|
||
"persisted": "Сохранялся на заднем плане",
|
||
"expiresIn": "Срок действия истекает через {{duration}}",
|
||
"search": "Поиск связей...",
|
||
"noSearchResults": "Поисковые запросы не соответствуют вашим запросам.",
|
||
"rename": "Переименовать сессию"
|
||
},
|
||
"guacamole": {
|
||
"connecting": "Подключение к сессии {{type}}...",
|
||
"connectionError": "Ошибка подключения",
|
||
"connectionFailed": "Соединение не удалось.",
|
||
"failedToConnect": "Не удалось получить токен подключения.",
|
||
"hostNotFound": "Хост не найден",
|
||
"noHostSelected": "Хост не выбран",
|
||
"reconnect": "Переподключитесь",
|
||
"retry": "Повторить попытку",
|
||
"guacdUnavailable": "Служба удаленного рабочего стола (guacd) недоступна. Убедитесь, что guacd запущена, доступна и правильно настроена в параметрах администратора.",
|
||
"ctrlAltDel": "Ctrl+Alt+Del",
|
||
"toolbar": {
|
||
"ctrlAltDel": "Ctrl+Alt+Del",
|
||
"winL": "Win+L (Экран блокировки)",
|
||
"winKey": "Ключ Windows",
|
||
"ctrl": "Ctrl",
|
||
"alt": "Альт",
|
||
"shift": "Сдвиг",
|
||
"win": "Победить",
|
||
"stickyActive": "{{key}} (защелкнуто - нажмите, чтобы отпустить)",
|
||
"stickyInactive": "{{key}} (нажмите, чтобы защелкнуть)",
|
||
"esc": "Побег",
|
||
"tab": "Вкладка",
|
||
"home": "Дом",
|
||
"end": "Конец",
|
||
"pageUp": "Страница вверх",
|
||
"pageDown": "Вниз страницы",
|
||
"arrowUp": "Стрелка вверх",
|
||
"arrowDown": "Стрела вниз",
|
||
"arrowLeft": "Стрелка влево",
|
||
"arrowRight": "Стрелка вправо",
|
||
"fnToggle": "Функциональные клавиши",
|
||
"reconnect": "Повторное подключение сессии",
|
||
"collapse": "Свернуть панель инструментов",
|
||
"expand": "Развернуть панель инструментов",
|
||
"dragHandle": "Перетащите для изменения положения."
|
||
}
|
||
},
|
||
"terminal": {
|
||
"connect": "Подключиться к хосту",
|
||
"clear": "Прозрачный",
|
||
"paste": "Вставить",
|
||
"reconnect": "Переподключитесь",
|
||
"connectionLost": "Соединение потеряно",
|
||
"connected": "Подключено",
|
||
"clipboardWriteFailed": "Не удалось скопировать в буфер обмена. Убедитесь, что страница загружается по протоколу HTTPS или с локального сервера.",
|
||
"clipboardReadFailed": "Не удалось прочитать данные из буфера обмена. Убедитесь, что права доступа к буферу обмена предоставлены.",
|
||
"clipboardHttpWarning": "Для вставки требуется HTTPS. Используйте Ctrl+Shift+V или разместите Termix по протоколу HTTPS.",
|
||
"passwordPromptFillTitle": "Введите сохраненный пароль в это поле?",
|
||
"unknownError": "Произошла неизвестная ошибка.",
|
||
"websocketError": "Ошибка подключения WebSocket",
|
||
"connecting": "Подключение...",
|
||
"noHostSelected": "Хост не выбран",
|
||
"reconnecting": "Восстанавливаем соединение... ({{attempt}}/{{max}})",
|
||
"reconnected": "Подключение успешно восстановлено.",
|
||
"tmuxSessionCreated": "Создана сессия tmux: {{name}}",
|
||
"tmuxSessionAttached": "Прикреплена сессия tmux: {{name}}",
|
||
"tmuxUnavailable": "tmux не установлен на удаленном хосте, поэтому используется стандартная оболочка.",
|
||
"tmuxSessionPickerTitle": "Сессии tmux",
|
||
"tmuxSessionPickerDesc": "На этом хосте обнаружены существующие сессии tmux. Выберите одну для повторного подключения или создания новой сессии.",
|
||
"tmuxWindows": "Windows",
|
||
"tmuxWindowCount": "{{count}} окно",
|
||
"tmuxAttached": "Прикрепленные клиенты",
|
||
"tmuxAttachedCount": "{{count}} прикреплено",
|
||
"tmuxLastActivity": "Последняя активность",
|
||
"tmuxTimeJustNow": "прямо сейчас",
|
||
"tmuxTimeMinutes": "{{count}}м назад",
|
||
"tmuxTimeHours": "{{count}}ч назад",
|
||
"tmuxTimeDays": "{{count}}дней назад",
|
||
"tmuxCreateNew": "Начать новую сессию",
|
||
"tmuxCopyHint": "Отрегулируйте выделение и нажмите Enter, чтобы скопировать в буфер обмена.",
|
||
"tmuxDetach": "Отключитесь от сессии tmux.",
|
||
"tmuxDetached": "Отключение от сессии tmux",
|
||
"maxReconnectAttemptsReached": "Достигнуто максимальное количество попыток переподключения.",
|
||
"closeTab": "Закрывать",
|
||
"connectionTimeout": "Таймаут соединения",
|
||
"terminalTitle": "Терминал - {{host}}",
|
||
"terminalWithPath": "Терминал - {{host}}:{{path}}",
|
||
"runTitle": "Запуск {{command}} - {{host}}",
|
||
"totpRequired": "Требуется двухфакторная аутентификация.",
|
||
"totpCodeLabel": "Проверочный код",
|
||
"totpVerify": "Проверять",
|
||
"warpgateAuthRequired": "Требуется аутентификация варп-врат.",
|
||
"warpgateSecurityKey": "Ключ безопасности",
|
||
"warpgateAuthUrl": "URL-адрес аутентификации",
|
||
"warpgateOpenBrowser": "Открыть в браузере",
|
||
"warpgateContinue": "Я завершил аутентификацию.",
|
||
"opksshAuthRequired": "Требуется аутентификация OPKSSH.",
|
||
"opksshAuthDescription": "Для продолжения необходимо пройти полную аутентификацию в вашем браузере. Данная сессия будет действительна в течение 24 часов.",
|
||
"opksshOpenBrowser": "Откройте браузер для аутентификации.",
|
||
"opksshWaitingForAuth": "Ожидание аутентификации в браузере...",
|
||
"opksshAuthenticating": "Обработка аутентификации...",
|
||
"opksshTimeout": "Истекло время аутентификации. Пожалуйста, попробуйте еще раз.",
|
||
"opksshAuthFailed": "Аутентификация не удалась. Пожалуйста, проверьте свои учетные данные и повторите попытку.",
|
||
"opksshSignInWith": "Войдите с помощью {{provider}}",
|
||
"vaultAuthTitle": "Требуется вход в хранилище.",
|
||
"vaultAuthDescription": "Открылось окно для входа в HashiCorp Vault. Завершите вход; это соединение будет продолжено автоматически.",
|
||
"vaultAuthFailed": "Аутентификация хранилища не удалась. Пожалуйста, попробуйте еще раз.",
|
||
"vaultReopen": "Снова откройте окно входа в систему.",
|
||
"sudoPasswordPopupTitle": "Введите пароль?",
|
||
"linkDialogTitle": "Открыть ссылку",
|
||
"linkDialogOpen": "Открыть",
|
||
"linkDialogCopy": "Копия",
|
||
"websocketAbnormalClose": "Соединение неожиданно разорвано. Это может быть связано с проблемами обратного прокси-сервера или конфигурации SSL. Пожалуйста, проверьте журналы сервера.",
|
||
"connectionLogTitle": "Журнал подключений",
|
||
"connectionLogCopy": "Скопировать журналы в буфер обмена",
|
||
"connectionLogEmpty": "Журналы подключений пока отсутствуют.",
|
||
"connectionLogWaiting": "Ожидание журналов подключений...",
|
||
"connectionLogCopied": "Журналы подключений скопированы в буфер обмена",
|
||
"connectionLogCopyFailed": "Не удалось скопировать логи в буфер обмена.",
|
||
"connectionRejected": "Соединение отклонено сервером. Пожалуйста, проверьте настройки аутентификации и сети.",
|
||
"hostKeyRejected": "Проверка ключа хоста SSH отклонена. Соединение разорвано.",
|
||
"sessionTakenOver": "Сессия была открыта в другой вкладке. Повторное подключение...",
|
||
"split": {
|
||
"splitTab": "Разделить вкладку",
|
||
"addToSplit": "Добавить в раздел",
|
||
"removeFromSplit": "Удалить из Сплита"
|
||
}
|
||
},
|
||
"fileManager": {
|
||
"noHostSelected": "Хост не выбран",
|
||
"initializingEditor": "Инициализация редактора...",
|
||
"file": "Файл",
|
||
"folder": "Папка",
|
||
"uploadFile": "Загрузить файл",
|
||
"downloadFile": "Скачать",
|
||
"extractArchive": "Извлечь архив",
|
||
"extractingArchive": "Извлечение {{name}}...",
|
||
"archiveExtractedSuccessfully": "{{name}} успешно извлечено",
|
||
"extractFailed": "Извлечение не удалось.",
|
||
"compressFile": "Сжать файл",
|
||
"compressFiles": "Сжать файлы",
|
||
"compressFilesDesc": "Сжать {{count}} элементов в архив",
|
||
"archiveName": "Название архива",
|
||
"enterArchiveName": "Введите название архива...",
|
||
"compressionFormat": "Формат сжатия",
|
||
"selectedFiles": "Выбранные файлы",
|
||
"andMoreFiles": "и {{count}} ещё...",
|
||
"compress": "Компресс",
|
||
"compressingFiles": "Сжатие {{count}} элементов в {{name}}...",
|
||
"filesCompressedSuccessfully": "{{name}} успешно создано",
|
||
"compressFailed": "Сжатие не удалось",
|
||
"edit": "Редактировать",
|
||
"preview": "Предварительный просмотр",
|
||
"previous": "Предыдущий",
|
||
"next": "Следующий",
|
||
"pageXOfY": "Страница {{current}} из {{total}}",
|
||
"zoomOut": "Отдалиться",
|
||
"zoomIn": "Увеличить масштаб",
|
||
"newFile": "Новый файл",
|
||
"newFolder": "Новая папка",
|
||
"rename": "Переименовать",
|
||
"uploading": "Загрузка...",
|
||
"uploadingFile": "Загрузка {{name}}...",
|
||
"fileName": "Имя файла",
|
||
"folderName": "Название папки",
|
||
"fileUploadedSuccessfully": "Файл \"{{name}}\" успешно загружен",
|
||
"failedToUploadFile": "Не удалось загрузить файл.",
|
||
"fileDownloadedSuccessfully": "Файл \"{{name}}\" успешно загружен",
|
||
"failedToDownloadFile": "Не удалось загрузить файл.",
|
||
"fileCreatedSuccessfully": "Файл \"{{name}}\" успешно создан",
|
||
"folderCreatedSuccessfully": "Папка \"{{name}}\" успешно создана",
|
||
"failedToCreateItem": "Не удалось создать элемент",
|
||
"operationFailed": "Операция {{operation}} завершилась неудачей для {{name}}: {{error}}",
|
||
"failedToResolveSymlink": "Не удалось разрешить символическую ссылку.",
|
||
"itemsDeletedSuccessfully": "{{count}} элементы успешно удалены",
|
||
"failedToDeleteItems": "Не удалось удалить элементы.",
|
||
"sudoPasswordRequired": "Требуется пароль администратора.",
|
||
"enterSudoPassword": "Введите пароль sudo для продолжения операции.",
|
||
"sudoPassword": "пароль Sudo",
|
||
"sudoOperationFailed": "Операция Sudo завершилась неудачей.",
|
||
"sudoAuthFailed": "Аутентификация Sudo не удалась",
|
||
"dragFilesToUpload": "Перетащите файлы сюда для загрузки.",
|
||
"emptyFolder": "Эта папка пуста.",
|
||
"searchFiles": "Поиск файлов...",
|
||
"upload": "Загрузить",
|
||
"selectHostToStart": "Выберите хост, чтобы начать управление файлами.",
|
||
"sshRequiredForFileManager": "Для работы файлового менеджера требуется SSH. На этом хосте SSH отключен.",
|
||
"failedToConnect": "Не удалось подключиться к SSH.",
|
||
"failedToLoadDirectory": "Не удалось загрузить каталог.",
|
||
"noSSHConnection": "SSH-соединение недоступно",
|
||
"copy": "Копия",
|
||
"cut": "Резать",
|
||
"paste": "Вставить",
|
||
"copyPath": "Скопировать путь",
|
||
"copyPaths": "Копировать пути",
|
||
"delete": "Удалить",
|
||
"properties": "Характеристики",
|
||
"refresh": "Обновить",
|
||
"downloadFiles": "Скачать {{count}} файлов в браузер",
|
||
"copyFiles": "Скопировать {{count}} элементов",
|
||
"cutFiles": "Вырезать {{count}} предметов",
|
||
"deleteFiles": "Удалить {{count}} элементов",
|
||
"filesCopiedToClipboard": "{{count}} элементы скопированы в буфер обмена",
|
||
"filesCutToClipboard": "{{count}} элементы, вырезанные в буфер обмена",
|
||
"pathCopiedToClipboard": "Путь скопирован в буфер обмена.",
|
||
"pathsCopiedToClipboard": "{{count}} пути скопированы в буфер обмена",
|
||
"failedToCopyPath": "Не удалось скопировать путь в буфер обмена.",
|
||
"copyFolderLink": "Скопировать ссылку на папку",
|
||
"copyCurrentFolderLink": "Скопировать ссылку в текущую папку",
|
||
"folderLinkCopied": "Ссылка на папку скопирована в буфер обмена.",
|
||
"failedToCopyFolderLink": "Не удалось скопировать ссылку на папку.",
|
||
"movedItems": "Перемещено {{count}} элементов",
|
||
"failedToDeleteItem": "Не удалось удалить элемент",
|
||
"itemRenamedSuccessfully": "{{type}} успешно переименовано",
|
||
"failedToRenameItem": "Не удалось переименовать элемент.",
|
||
"download": "Скачать",
|
||
"openExternalEditor": "Открыть извне",
|
||
"chooseExternalEditor": "Выберите внешний редактор",
|
||
"externalEditorSelected": "Выбран внешний редактор",
|
||
"externalEditorDesktopOnly": "Внешний редактор доступен только в настольном приложении.",
|
||
"externalEditorOpened": "Открыто во внешнем редакторе. Сохранение там загрузит изменения обратно на сервер.",
|
||
"failedToOpenExternalEditor": "Не удалось открыть внешний редактор.",
|
||
"failedToSelectExternalEditor": "Не удалось выбрать внешнего редактора.",
|
||
"permissions": "Разрешения",
|
||
"size": "Размер",
|
||
"modified": "Модифицированный",
|
||
"path": "Путь",
|
||
"confirmDelete": "Вы уверены, что хотите удалить {{name}}?",
|
||
"permissionDenied": "Доступ запрещен",
|
||
"serverError": "Ошибка сервера",
|
||
"fileSavedSuccessfully": "Файл успешно сохранен.",
|
||
"failedToSaveFile": "Не удалось сохранить файл.",
|
||
"confirmDeleteSingleItem": "Вы уверены, что хотите навсегда удалить \"{{name}}\"?",
|
||
"confirmDeleteMultipleItems": "Вы уверены, что хотите навсегда удалить {{count}} элементов?",
|
||
"confirmDeleteMultipleItemsWithFolders": "Вы уверены, что хотите навсегда удалить {{count}} элементов? Это включает папки и их содержимое.",
|
||
"confirmDeleteFolder": "Вы уверены, что хотите навсегда удалить папку \"{{name}}\" и всё её содержимое?",
|
||
"permanentDeleteWarning": "Это действие необратимо. Указанный(е) элемент(ы) будут безвозвратно удалены с сервера.",
|
||
"recent": "Недавний",
|
||
"pinned": "Закреплено",
|
||
"folderShortcuts": "Ярлыки папок",
|
||
"failedToReconnectSSH": "Не удалось повторно подключиться к SSH-сессии.",
|
||
"openTerminalHere": "Откройте терминал здесь",
|
||
"run": "Бегать",
|
||
"openTerminalInFolder": "Откройте Терминал в этой папке",
|
||
"openTerminalInFileLocation": "Откройте терминал по адресу расположения файла.",
|
||
"runningFile": "Бег - {{file}}",
|
||
"onlyRunExecutableFiles": "Можно запускать только исполняемые файлы.",
|
||
"directories": "Справочники",
|
||
"removedFromRecentFiles": "Удалён символ \"{{name}}\" из последних файлов",
|
||
"removeFailed": "Удалить неудавшийся",
|
||
"unpinnedSuccessfully": "Откреплено \"{{name}}\" успешно",
|
||
"unpinFailed": "Открепление не удалось",
|
||
"removedShortcut": "Удалён ярлык \"{{name}}\"",
|
||
"removeShortcutFailed": "Удаление ярлыка не удалось.",
|
||
"clearedAllRecentFiles": "Удалены все последние файлы.",
|
||
"clearFailed": "Очистка не удалась",
|
||
"removeFromRecentFiles": "Удалить из последних файлов",
|
||
"clearAllRecentFiles": "Удалите все недавно использованные файлы.",
|
||
"unpinFile": "Открепить файл",
|
||
"removeShortcut": "Удалить ярлык",
|
||
"pinFile": "Закрепленный файл",
|
||
"addToShortcuts": "Добавить в ярлыки",
|
||
"pasteFailed": "Вставка не удалась",
|
||
"noUndoableActions": "Нет необратимых действий",
|
||
"undoCopySuccess": "Операция копирования отменена: Удалены скопированные файлы {{count}}",
|
||
"undoCopyFailedDelete": "Отмена не удалась: Не удалось удалить скопированные файлы.",
|
||
"undoCopyFailedNoInfo": "Отмена не удалась: не удалось найти информацию о скопированном файле.",
|
||
"undoMoveSuccess": "Операция перемещения отменена: файлы {{count}} перемещены обратно в исходное местоположение.",
|
||
"undoMoveFailedMove": "Отмена не удалась: Не удалось переместить файлы обратно.",
|
||
"undoMoveFailedNoInfo": "Отмена не удалась: не удалось найти информацию о перемещенном файле.",
|
||
"undoDeleteNotSupported": "Операция удаления необратима: файлы были безвозвратно удалены с сервера.",
|
||
"undoTypeNotSupported": "Неподдерживаемый тип операции отмены",
|
||
"undoOperationFailed": "Операция отмены не удалась.",
|
||
"unknownError": "Неизвестная ошибка",
|
||
"confirm": "Подтверждать",
|
||
"find": "Находить...",
|
||
"replace": "Заменять",
|
||
"downloadInstead": "Скачать вместо",
|
||
"keyboardShortcuts": "Клавиатурные сочетания",
|
||
"searchAndReplace": "Поиск и замена",
|
||
"editing": "Редактирование",
|
||
"search": "Поиск",
|
||
"findNext": "Найти Далее",
|
||
"findPrevious": "Найти предыдущий",
|
||
"save": "Сохранять",
|
||
"selectAll": "Выбрать все",
|
||
"undo": "Отменить",
|
||
"redo": "Переделать",
|
||
"moveLineUp": "Переместить состав",
|
||
"moveLineDown": "Сдвинуть линию вниз",
|
||
"toggleComment": "Скрыть/Показать комментарий",
|
||
"autoComplete": "Автозаполнение",
|
||
"imageLoadError": "Не удалось загрузить изображение",
|
||
"startTyping": "Начните печатать...",
|
||
"unknownSize": "Неизвестный размер",
|
||
"fileIsEmpty": "Файл пуст",
|
||
"largeFileWarning": "Предупреждение о больших файлах",
|
||
"largeFileWarningDesc": "Размер этого файла составляет {{size}} , что может вызвать проблемы с производительностью при открытии в текстовом формате.",
|
||
"fileNotFoundAndRemoved": "Файл \"{{name}}\" не найден и был удален из списка последних/закрепленных файлов.",
|
||
"failedToLoadFile": "Не удалось загрузить файл: {{error}}",
|
||
"serverErrorOccurred": "Произошла ошибка сервера. Пожалуйста, попробуйте позже.",
|
||
"autoSaveFailed": "Автосохранение не удалось",
|
||
"fileAutoSaved": "Файл автоматически сохранен",
|
||
"moveFileFailed": "Не удалось переместить {{name}}",
|
||
"moveOperationFailed": "Операция перемещения не удалась.",
|
||
"canOnlyCompareFiles": "Можно сравнить только два файла.",
|
||
"comparingFiles": "Сравнение файлов: {{file1}} и {{file2}}",
|
||
"dragFailed": "Операция перетаскивания не удалась.",
|
||
"filePinnedSuccessfully": "Файл \"{{name}}\" успешно закреплен",
|
||
"pinFileFailed": "Не удалось закрепить файл.",
|
||
"fileUnpinnedSuccessfully": "Файл \"{{name}}\" успешно откреплен",
|
||
"unpinFileFailed": "Не удалось открепить файл.",
|
||
"shortcutAddedSuccessfully": "Ярлык папки \"{{name}}\" успешно добавлен",
|
||
"addShortcutFailed": "Не удалось добавить ярлык.",
|
||
"operationCompletedSuccessfully": "{{operation}} {{count}} успешно добавлены элементы",
|
||
"operationCompleted": "{{operation}} {{count}} предметов",
|
||
"downloadFileSuccess": "Файл {{name}} успешно загружен",
|
||
"downloadFileFailed": "Загрузка не удалась.",
|
||
"moveTo": "Переместиться в {{name}}",
|
||
"diffCompareWith": "Сравните с {{name}}",
|
||
"dragOutsideToDownload": "Перетащите за пределы окна, чтобы загрузить ({{count}} файлов)",
|
||
"newFolderDefault": "Новая папка",
|
||
"newFileDefault": "NewFile.txt",
|
||
"successfullyMovedItems": "Успешно перемещено {{count}} элементов в {{target}}",
|
||
"move": "Двигаться",
|
||
"searchInFile": "Поиск в файле (Ctrl+F)",
|
||
"showKeyboardShortcuts": "Показать сочетания клавиш",
|
||
"decreaseFontSize": "Уменьшить размер шрифта",
|
||
"increaseFontSize": "Увеличьте размер шрифта",
|
||
"startWritingMarkdown": "Начните создавать контент в формате Markdown...",
|
||
"loadingFileComparison": "Загрузка сравнения файлов...",
|
||
"reload": "Перезагрузка",
|
||
"compare": "Сравнивать",
|
||
"sideBySide": "Бок о бок",
|
||
"inline": "В соответствии",
|
||
"fileComparison": "Сравнение файлов: {{file1}} против {{file2}}",
|
||
"fileTooLarge": "Файл слишком большой: {{error}}",
|
||
"sshConnectionFailed": "SSH-соединение не удалось. Пожалуйста, проверьте соединение с {{name}} ({{ip}}:{{port}})",
|
||
"loadFileFailed": "Не удалось загрузить файл: {{error}}",
|
||
"connecting": "Подключение...",
|
||
"connectedSuccessfully": "Соединение установлено успешно.",
|
||
"totpVerificationFailed": "Проверка TOTP не удалась.",
|
||
"warpgateVerificationFailed": "Аутентификация Warpgate не удалась.",
|
||
"authenticationFailed": "Аутентификация не удалась",
|
||
"incorrectPassphrase": "Неверная парольная фраза. Пожалуйста, попробуйте еще раз.",
|
||
"verificationCodePrompt": "Проверочный код:",
|
||
"changePermissions": "Изменить права доступа",
|
||
"currentPermissions": "Текущие права доступа",
|
||
"owner": "Владелец",
|
||
"group": "Группа",
|
||
"others": "Другие",
|
||
"read": "Читать",
|
||
"write": "Писать",
|
||
"execute": "Выполнять",
|
||
"permissionsChangedSuccessfully": "Права доступа успешно изменены.",
|
||
"failedToChangePermissions": "Не удалось изменить права доступа.",
|
||
"name": "Имя",
|
||
"sortByName": "Имя",
|
||
"sortByDate": "Дата изменения",
|
||
"sortBySize": "Размер",
|
||
"ascending": "Восходящий",
|
||
"descending": "Спуск",
|
||
"root": "Корень",
|
||
"new": "Новый",
|
||
"sortBy": "Сортировать по",
|
||
"items": "Предметы",
|
||
"selected": "Избранные",
|
||
"editor": "Редактор",
|
||
"octal": "Восьмеричный",
|
||
"storage": "Хранилище",
|
||
"disk": "Диск",
|
||
"used": "Использовал",
|
||
"of": "из",
|
||
"toggleSidebar": "Переключить боковую панель",
|
||
"cannotLoadPdf": "Не удаётся загрузить PDF-файл.",
|
||
"pdfLoadError": "Произошла ошибка при загрузке этого PDF-файла.",
|
||
"loadingPdf": "Загрузка PDF-файла...",
|
||
"loadingPage": "Загрузка страницы..."
|
||
},
|
||
"transfer": {
|
||
"copyToHost": "Скопировать на хост…",
|
||
"moveToHost": "Переместить на хост…",
|
||
"copyItemsToHost": "Скопировать {{count}} элементов на хост…",
|
||
"moveItemsToHost": "Переместить {{count}} элементов на хост…",
|
||
"noHostsConnected": "Других хостов для файловых менеджеров нет в наличии.",
|
||
"noHostsConnectedHint": "Добавьте еще один SSH-хост с включенным файловым менеджером в диспетчере хостов.",
|
||
"selectDestinationHost": "Выберите целевой хост",
|
||
"destinationPath": "Путь назначения",
|
||
"recentDestinations": "Недавние направления",
|
||
"collapseRecentDestinations": "Свернуть список последних направлений",
|
||
"expandRecentDestinations": "Развернуть список недавно открытых направлений",
|
||
"browseFolders": "Просмотрите папки назначения",
|
||
"browseDestination": "Просмотрите или введите путь",
|
||
"confirmCopy": "Копия",
|
||
"confirmMove": "Двигаться",
|
||
"transferring": "Передача…",
|
||
"compressing": "Сжатие…",
|
||
"extracting": "Извлечение…",
|
||
"transferringItems": "Передача {{current}} элементов {{total}}…",
|
||
"transferSuccess": "Передача завершена",
|
||
"transferError": "Перевод не удался",
|
||
"transferPartial": "Передача завершена с ошибками {{count}}",
|
||
"transferPartialHint": "Не удалось передать: {{paths}}",
|
||
"itemsSummary": "{{count}} предметов",
|
||
"destMustBeDirectory": "В качестве пункта назначения должен быть каталог для передачи нескольких элементов.",
|
||
"selectThisFolder": "Выберите эту папку",
|
||
"browsePathWillBeCreated": "Эта папка пока не существует. Она будет создана при начале передачи.",
|
||
"browsePathError": "Не удалось открыть этот путь на целевом хосте.",
|
||
"goUp": "Поднимитесь",
|
||
"copyFolderToHost": "Скопируйте папку на хост…",
|
||
"moveFolderToHost": "Переместить папку на хост…",
|
||
"hostReady": "Готовый",
|
||
"hostConnecting": "Подключение…",
|
||
"hostDisconnected": "Не подключено",
|
||
"hostAuthRequired": "Требуется аутентификация — сначала откройте файловый менеджер на этом хосте.",
|
||
"hostConnectionFailed": "Соединение не удалось.",
|
||
"metricsTitle": "Сроки трансферов",
|
||
"metricsPrepare": "Подготовьте пункт назначения: {{duration}}",
|
||
"metricsCompress": "Сжатие по источнику: {{duration}}",
|
||
"metricsHopSourceRead": "Источник → сервер: {{throughput}}",
|
||
"metricsHopDestSftpWrite": "Сервер → назначение (SFTP): {{throughput}}",
|
||
"metricsHopDestLocalWrite": "Сервер → назначение (локальное): {{throughput}}",
|
||
"metricsTransfer": "Сквозное сканирование: {{throughput}} ({{duration}})",
|
||
"metricsExtract": "Выгрузка в пункте назначения: {{duration}}",
|
||
"metricsSourceDelete": "Удалить из источника: {{duration}}",
|
||
"metricsTotal": "Итого: {{duration}}",
|
||
"progressCompressing": "Сжатие на исходном хосте…",
|
||
"progressExtracting": "Извлечение в целевом месте…",
|
||
"progressTransferring": "Передача данных…",
|
||
"progressReconnecting": "Воссоединение…",
|
||
"parallelSegmentsLabel": "Параллельные полосы для пересадки",
|
||
"parallelSegmentsOption": "{{count}} полосы",
|
||
"parallelSegmentsHint": "Большие файлы разбиваются на фрагменты по 256 МБ. Для увеличения общей пропускной способности используются несколько каналов связи (например, запуск нескольких передач одновременно).",
|
||
"progressTotalSpeed": "{{speed}} всего ({{lanes}} полос)",
|
||
"progressTransferringItems": "Передача файлов ({{current}} из {{total}})…",
|
||
"progressBytes": "{{transferred}} / {{total}}",
|
||
"progressItems": "{{current}} / {{total}} файлы",
|
||
"sourceNotDeletedPartial": "Исходные файлы сохранены (частичная передача).",
|
||
"jumpHostLimitation": "Оба хоста должны быть доступны с сервера Termix. Прямая маршрутизация между хостами не поддерживается.",
|
||
"cancel": "Отмена",
|
||
"methodLabel": "Метод передачи",
|
||
"methodAuto": "Авто",
|
||
"methodTar": "архив Tar",
|
||
"methodItemSftp": "SFTP для каждого файла",
|
||
"methodAutoHint": "Выбор способа передачи данных (tar или SFTP для каждого файла) зависит от количества файлов, их размера и возможности сжатия. Для отдельных файлов всегда используется потоковая передача SFTP.",
|
||
"methodTarHint": "Сжатие на источнике, передача одного архива, распаковка в пункте назначения. Требуется tar на обоих Unix-хостах.",
|
||
"methodItemSftpHint": "Передавайте каждый файл по отдельности по протоколу SFTP. Работает на всех хостах, включая Windows.",
|
||
"methodPreviewLoading": "Метод расчета переноса…",
|
||
"methodPreviewError": "Не удалось предварительно просмотреть способ передачи. Сервер все равно выберет способ передачи при запуске.",
|
||
"methodPreviewWillUseTar": "Будет использоваться: архив Tar",
|
||
"methodPreviewWillUseItemSftp": "Будет использоваться: SFTP для каждого файла.",
|
||
"methodPreviewScanSummary": "{{fileCount}} файлов, {{totalSize}} всего (просканировано на исходном хосте).",
|
||
"methodItemSftpLimitation": "Каждый файл копируется по одному и тому же SFTP-потоку, один за другим. Прогресс суммируется по всем файлам, поэтому индикатор выполнения движется медленно при работе с большими файлами.",
|
||
"methodReason": {
|
||
"user_item_sftp": "Вы выбрали SFTP для каждого файла.",
|
||
"user_tar": "Вы выбрали архив tar.",
|
||
"tar_unavailable": "Tar недоступен на одном или обоих хостах — вместо него будет использоваться SFTP для каждого файла.",
|
||
"windows_host": "Используется хост под управлением Windows — архив tar не применяется.",
|
||
"auto_multi_large": "Авто: несколько файлов, включая большой файл ({{largestSize}}) с сжимаемыми данными — tar-архивы объединяются в один файл для передачи.",
|
||
"auto_single_large_in_archive": "Авто: один большой файл ({{largestSize}}) в этом наборе — SFTP для каждого файла.",
|
||
"auto_many_incompressible": "Авто: преимущественно несжимаемые данные — SFTP для каждого файла.",
|
||
"auto_many_files": "Авто: много файлов ({{fileCount}}) — tar уменьшает накладные расходы на каждый файл.",
|
||
"auto_default": "Авто: SFTP для каждого файла в этом наборе."
|
||
},
|
||
"progressCancel": "Отмена",
|
||
"progressCancelling": "Отмена…",
|
||
"progressStalled": "Застрял",
|
||
"resumedHint": "Восстановлено соединение с активной передачей данных, начатой в другом окне.",
|
||
"transferCancelled": "Трансфер отменен",
|
||
"transferCancelledCopyHint": "Неполные файлы могут остаться на целевом устройстве.",
|
||
"transferCancelledMoveHint": "В целевом хранилище могут остаться неполные файлы. Исходные файлы не были удалены.",
|
||
"cleanupDestFiles": "Очистка места назначения",
|
||
"cleanupDestFilesSuccess": "Из целевого хранилища удалены частично скопированные файлы.",
|
||
"cleanupDestFilesPartial": "Некоторые частично скопированные файлы удалить не удалось.",
|
||
"cleanupDestFilesNothing": "На месте назначения ничего не нужно убирать.",
|
||
"cleanupDestFilesError": "Очистка не удалась",
|
||
"retryTransfer": "Повторить попытку",
|
||
"retryTransferError": "Повторная попытка не удалась.",
|
||
"transferFailedRetryHint": "Частичные данные были сохранены на целевом устройстве. Повторная попытка будет предпринята после восстановления соединения."
|
||
},
|
||
"tunnels": {
|
||
"noSshTunnels": "Нет SSH-туннелей",
|
||
"createFirstTunnelMessage": "Вы еще не создали ни одного SSH-туннеля. Для начала настройте туннельные соединения в Host Manager.",
|
||
"connected": "Подключено",
|
||
"disconnected": "Отключено",
|
||
"connecting": "Подключение...",
|
||
"error": "Ошибка",
|
||
"canceling": "Отмена...",
|
||
"connect": "Соединять",
|
||
"disconnect": "Отключить",
|
||
"cancel": "Отмена",
|
||
"port": "Порт",
|
||
"localPort": "Местный порт",
|
||
"remotePort": "Удаленный порт",
|
||
"currentHostPort": "Текущий порт хоста",
|
||
"endpointPort": "Порт конечной точки",
|
||
"bindIp": "Локальный IP-адрес",
|
||
"endpointSshConfig": "Конфигурация SSH конечной точки",
|
||
"endpointSshHost": "Конечная точка SSH-хост",
|
||
"endpointSshHostPlaceholder": "Выберите настроенный хост",
|
||
"endpointSshHostRequired": "Для каждого клиентского туннеля выберите конечный SSH-хост.",
|
||
"attempt": "Попытка {{current}} из {{max}}",
|
||
"nextRetryIn": "Следующая попытка через {{seconds}} секунд",
|
||
"clientTunnels": "Клиентские туннели",
|
||
"clientTunnel": "Клиентский туннель",
|
||
"addClientTunnel": "Добавить клиентский туннель",
|
||
"noClientTunnels": "На этом рабочем столе не настроены клиентские туннели.",
|
||
"tunnelName": "Название туннеля",
|
||
"remoteHost": "Удаленный хост",
|
||
"autoStart": "Автозапуск",
|
||
"clientAutoStartDesc": "Запускается при открытии этого настольного клиента и поддерживает с ним постоянное соединение.",
|
||
"clientManualStartDesc": "Используйте кнопки «Пуск» и «Стоп» из этой строки. Termix не откроет его автоматически.",
|
||
"clientRemoteServerNote": "Для удаленной переадресации может потребоваться установка параметров AllowTcpForwarding и GatewayPorts на SSH-сервере конечной точки. Удаленный порт закрывается при отключении этого рабочего стола.",
|
||
"clientTunnelStarted": "Клиентский туннель запущен",
|
||
"clientTunnelStopped": "Клиентский туннель остановлен",
|
||
"tunnelTestSucceeded": "Туннельные испытания прошли успешно.",
|
||
"tunnelTestFailed": "Проверка туннеля не пройдена.",
|
||
"localSaved": "Клиентские туннели сохранены",
|
||
"localSaveError": "Не удалось сохранить локальные клиентские туннели.",
|
||
"invalidBindIp": "Локальный IP-адрес должен быть действительным IPv4-адресом.",
|
||
"invalidLocalTargetIp": "Целевой IP-адрес должен быть действительным IPv4-адресом.",
|
||
"invalidLocalPort": "Местный порт должен находиться в диапазоне от 1 до 65535.",
|
||
"invalidRemotePort": "Удаленный порт должен находиться в диапазоне от 1 до 65535.",
|
||
"invalidLocalTargetPort": "Локальный целевой порт должен находиться в диапазоне от 1 до 65535.",
|
||
"invalidEndpointPort": "Порт конечной точки должен находиться в диапазоне от 1 до 65535.",
|
||
"duplicateAutoStartBind": "Только один клиентский туннель с автоматическим запуском может использовать {{bind}}.",
|
||
"manualControlError": "Не удалось обновить состояние туннеля.",
|
||
"active": "Активный",
|
||
"start": "Начинать",
|
||
"stop": "Останавливаться",
|
||
"test": "Тест",
|
||
"type": "Туннельный тип",
|
||
"typeLocal": "Локальный (-Л)",
|
||
"typeRemote": "Пульт дистанционного управления (-R)",
|
||
"typeDynamic": "Динамический (-D)",
|
||
"typeServerLocalDesc": "Текущий хост — конечная точка.",
|
||
"typeServerRemoteDesc": "Обратная связь с текущим хостом.",
|
||
"typeClientLocalDesc": "Локальный компьютер — конечная точка.",
|
||
"typeClientRemoteDesc": "Конечная точка подключения — локальный компьютер.",
|
||
"typeClientDynamicDesc": "Носки на локальном компьютере.",
|
||
"typeDynamicDesc": "Переадресация трафика SOCKS5 CONNECT через SSH.",
|
||
"forwardDescriptionServerLocal": "Текущий хост {{sourcePort}} → конечная точка {{endpointPort}}.",
|
||
"forwardDescriptionServerRemote": "Конечная точка {{endpointPort}} → текущий хост {{sourcePort}}.",
|
||
"forwardDescriptionServerDynamic": "SOCKS на текущем хосте {{sourcePort}}.",
|
||
"forwardDescriptionClientLocal": "Локальный {{sourcePort}} → удаленный {{endpointPort}}.",
|
||
"forwardDescriptionClientRemote": "Удаленный {{sourcePort}} → локальный {{endpointPort}}.",
|
||
"forwardDescriptionClientDynamic": "НОСКИ в местном порту {{sourcePort}}.",
|
||
"summaryClientLocal": "{{localHost}}:{{localPort}} → {{endpoint}}:{{remotePort}}",
|
||
"summaryClientRemote": "{{endpoint}}:{{remotePort}} → {{localHost}}:{{localPort}}",
|
||
"summaryClientDynamic": "{{localHost}}:{{localPort}} → НОСКИ через {{endpoint}}",
|
||
"autoNameClientLocal": "Локальный {{localPort}} → {{endpoint}} {{remotePort}}",
|
||
"autoNameClientRemote": "{{endpoint}} {{remotePort}} → локальный {{localPort}}",
|
||
"autoNameClientDynamic": "НОСКИ {{localPort}} через {{endpoint}}",
|
||
"route": "Маршрут:",
|
||
"lastStarted": "Последний раз начал",
|
||
"lastTested": "Последнее тестирование",
|
||
"lastError": "Последняя ошибка",
|
||
"maxRetries": "Максимальное количество повторных попыток",
|
||
"maxRetriesDescription": "Максимальное количество попыток повтора.",
|
||
"retryInterval": "Интервал повторной попытки (секунды)",
|
||
"retryIntervalDescription": "Время ожидания между повторными попытками.",
|
||
"local": "Местный",
|
||
"remote": "Удаленный",
|
||
"destination": "Место назначения",
|
||
"host": "Хозяин",
|
||
"mode": "Режим",
|
||
"noHostSelected": "Хост не выбран",
|
||
"working": "Работающий..."
|
||
},
|
||
"cardGrid": {
|
||
"dragToMove": "Перетащите для перемещения",
|
||
"dragToResize": "Перетащите для изменения размера.",
|
||
"changeWidth": "Изменить ширину",
|
||
"removeCard": "Удалить {{label}}",
|
||
"addCard": "Добавлять",
|
||
"columns": "Колонки",
|
||
"empty": "Карточки не требуются. Используйте кнопку «Добавить» ниже, чтобы разместить карточки."
|
||
},
|
||
"hostMetrics": {
|
||
"cpu": "Процессор",
|
||
"memory": "Память",
|
||
"disk": "Диск",
|
||
"network": "Сеть",
|
||
"uptime": "Время безотказной работы",
|
||
"processes": "Процессы",
|
||
"available": "Доступный",
|
||
"free": "Бесплатно",
|
||
"connecting": "Подключение...",
|
||
"connectionFailed": "Не удалось подключиться к серверу.",
|
||
"naCpus": "N/A CPU(s)",
|
||
"cpuCores_one": "{{count}} Ядро",
|
||
"cpuCores_other": "{{count}} Ядра",
|
||
"cpuUsage": "Использование ЦП",
|
||
"memoryUsage": "Использование памяти",
|
||
"diskUsage": "Использование диска",
|
||
"temperature": "Температура",
|
||
"highestTemperature": "Максимальная температура",
|
||
"failedToFetchHostConfig": "Не удалось получить конфигурацию хоста.",
|
||
"serverOffline": "Сервер отключен",
|
||
"cannotFetchMetrics": "Не удаётся получить метрики с недоступного сервера.",
|
||
"totpFailed": "Проверка TOTP не удалась.",
|
||
"noneAuthNotSupported": "Host Metrics не поддерживает тип аутентификации 'none'.",
|
||
"noHostSelected": "Хост не выбран",
|
||
"load": "Нагрузка",
|
||
"systemInfo": "Информация о системе",
|
||
"hostname": "Имя хоста",
|
||
"operatingSystem": "Операционная система",
|
||
"kernel": "Ядро",
|
||
"seconds": "секунд",
|
||
"networkInterfaces": "Сетевые интерфейсы",
|
||
"noInterfacesFound": "Сетевые интерфейсы не обнаружены",
|
||
"noProcessesFound": "Процессы не найдены",
|
||
"processesTotal": "общий",
|
||
"processesRunning": "бег",
|
||
"loginStats": "Статистика входа по SSH",
|
||
"noRecentLoginData": "Нет данных о недавних входах в систему.",
|
||
"executingQuickAction": "Выполнение {{name}}...",
|
||
"quickActionSuccess": "{{name}} успешно завершено",
|
||
"quickActionFailed": "{{name}} провалился",
|
||
"quickActionError": "Не удалось выполнить {{name}}",
|
||
"ports": {
|
||
"title": "Порты прослушивания",
|
||
"protocol": "Протокол",
|
||
"port": "Порт",
|
||
"address": "Адрес",
|
||
"process": "Процесс",
|
||
"search": "Поиск портов...",
|
||
"allProtocols": "Все",
|
||
"noData": "Нет данных о портах прослушивания."
|
||
},
|
||
"firewall": {
|
||
"title": "Брандмауэр",
|
||
"inactive": "Неактивный",
|
||
"policy": "Политика",
|
||
"rules": "правила",
|
||
"noRules": "В этой цепочке нет правил.",
|
||
"noData": "Данные брандмауэра отсутствуют.",
|
||
"action": "Действие",
|
||
"protocol": "Прото",
|
||
"port": "Порт",
|
||
"source": "Источник",
|
||
"anywhere": "В любом месте",
|
||
"chains": "цепи"
|
||
},
|
||
"loadAvg": "Средняя загрузка",
|
||
"swap": "Менять",
|
||
"architecture": "Архитектура",
|
||
"refresh": "Обновить",
|
||
"retry": "Повторить попытку",
|
||
"customize": "Настроить макет",
|
||
"reset": "Перезагрузить",
|
||
"tabLive": "Жить",
|
||
"editModeInstructions": "Перетаскивайте карточки, чтобы изменить их порядок, перетаскивайте нижний край, чтобы изменить размер, и используйте кнопку ширины, чтобы изменить размер карточки. Добавляйте или удаляйте карточки ниже.",
|
||
"managers": {
|
||
"services": "Услуги",
|
||
"processInspector": "Инспектор технологического процесса",
|
||
"logViewer": "Просмотрщик журналов",
|
||
"cron": "Задания Cron",
|
||
"packages": "Пакеты",
|
||
"ssl": "SSL-сертификаты",
|
||
"firewall": "Брандмауэр",
|
||
"users": "Пользователи и разрешения",
|
||
"healthCheck": "Медицинские осмотры",
|
||
"diskBreakdown": "Поломка диска",
|
||
"systemdTimers": "Таймеры",
|
||
"topMemory": "Сверху по памяти",
|
||
"noData": "Нет данных",
|
||
"sudoHint": "Установите пароль sudo для этого хоста в редакторе хостов, чтобы разрешить выполнение привилегированных действий.",
|
||
"filter": "Фильтр...",
|
||
"start": "Начинать",
|
||
"stop": "Останавливаться",
|
||
"restart": "Перезапуск",
|
||
"actionDone": "{{name}} обновлено",
|
||
"actionFailed": "Действие не удалось.",
|
||
"signalSent": "Сигнал отправлен ПИД-регулятору {{pid}}",
|
||
"killHint": "Щелчок мышью: завершить процесс (SIGTERM). Щелчок правой кнопкой мыши: принудительно завершить процесс (SIGKILL).",
|
||
"working": "Работающий...",
|
||
"update": "Обновлять",
|
||
"upgradeAll": "Обновить все",
|
||
"allUpToDate": "Всё актуально.",
|
||
"save": "Сохранять",
|
||
"command": "Командование",
|
||
"enabled": "Включено",
|
||
"cronSaved": "Обновление Crontab",
|
||
"clients": "Клиенты",
|
||
"dryRun": "Пробный запуск",
|
||
"renew": "Обновить",
|
||
"noAcmeClient": "На этом хосте не найден клиент ACME (certbot или acme.sh).",
|
||
"addInputRule": "Добавить правило ввода",
|
||
"firewallWarning": "Изменения вступают в силу только во время выполнения программы, пока не будут сохранены. Будьте осторожны, чтобы не заблокировать себе доступ.",
|
||
"ruleApplied": "Применено правило",
|
||
"invalidPort": "Введите действительный порт (1-65535)",
|
||
"newUsername": "Новое имя пользователя",
|
||
"addUser": "Добавлять",
|
||
"deleteUser": "Удалить пользователя",
|
||
"noHealthChecks": "Пока не настроены никакие проверки состояния здоровья.",
|
||
"follow": "Следовать",
|
||
"noLogData": "В логах ничего не отображается.",
|
||
"tree": "Дерево",
|
||
"enableDisable": "Включать/отключать при загрузке",
|
||
"grantSudo": "Грант судо",
|
||
"revokeSudo": "Отменить sudo",
|
||
"sslIssueCert": "Выдать сертификат",
|
||
"sslExpired": "Истекший",
|
||
"sslInDays": "в {{days}}д",
|
||
"sslNeedDomain": "Введите хотя бы один домен.",
|
||
"sslIssued": "Сертификат выдан",
|
||
"sslDomainsPlaceholder": "example.com, www.example.com",
|
||
"sslHttpStandalone": "HTTP (автономный)",
|
||
"sslHttpWebroot": "HTTP (корневой каталог)",
|
||
"sslDns": "DNS",
|
||
"sslDnsProvider": "DNS-провайдер (например, Cloudflare)",
|
||
"sslIssueHint": "Учетные данные DNS-провайдера должны быть уже настроены на хосте.",
|
||
"sslRevoke": "Отозвать сертификат",
|
||
"sslRevoked": "Сертификат аннулирован",
|
||
"sslRevokeConfirm": "Отозвать и удалить сертификат \"{{name}}\"? Это невозможно отменить.",
|
||
"healthRun": "Бегать",
|
||
"healthName": "Имя",
|
||
"healthTarget": "Хост / адрес",
|
||
"healthAddCheck": "Добавить галочку",
|
||
"healthSaved": "Сохранены медицинские осмотры",
|
||
"healthMissingFields": "Для каждой проверки необходимо указать название и цель.",
|
||
"logFile": "Файл",
|
||
"logUnit": "Единица",
|
||
"logCustomPath": "Укажите путь в каталоге /var/log (необязательно)",
|
||
"logGrep": "Фильтрующие линии...",
|
||
"firewallPersist": "Сохранять правила",
|
||
"firewallPersisted": "Правила брандмауэра сохранялись.",
|
||
"wireguard": "WireGuard",
|
||
"tailscale": "Хвостовая чешуя",
|
||
"wgNotInstalled": "На этом хосте не установлен WireGuard.",
|
||
"wgNoInterfaces": "Интерфейсы WireGuard не настроены",
|
||
"wgInterfaceUp": "Воспитывать",
|
||
"wgInterfaceDown": "Свергнуть",
|
||
"wgBringingUp": "Выращивая {{name}}...",
|
||
"wgBringingDown": "Свержение {{name}}...",
|
||
"wgInterfaceUpDone": "{{name}} включен",
|
||
"wgInterfaceDownDone": "{{name}} находится внизу",
|
||
"wgListenPort": "Порт",
|
||
"wgPublicKey": "Открытый ключ",
|
||
"wgEndpoint": "Конечная точка",
|
||
"wgAllowedIPs": "Разрешенные IP-адреса",
|
||
"wgLastHandshake": "Последнее рукопожатие",
|
||
"wgHandshakeNever": "Никогда",
|
||
"wgTransfer": "Передача",
|
||
"tsNotInstalled": "На этом хосте не установлена программа Tailscale.",
|
||
"tsRunning": "Бег",
|
||
"tsStopped": "Остановлено",
|
||
"tsEnable": "Соединять",
|
||
"tsDisable": "Отключить",
|
||
"tsEnabling": "Подключение к Tailscale...",
|
||
"tsDisabling": "Отключение от Tailscale...",
|
||
"tsEnabled": "Хвостовая чешуя подключена",
|
||
"tsDisabled": "Хвостовая чешуя отсоединена",
|
||
"tsIPs": "IP-блоки Tailscale",
|
||
"tsPeers": "Коллеги",
|
||
"tsOnline": "Онлайн",
|
||
"tsOffline": "Офлайн",
|
||
"tsExitNode": "Выходной узел",
|
||
"tsExitNodeActive": "Выходной узел активен",
|
||
"tsHostname": "Имя хоста"
|
||
}
|
||
},
|
||
"auth": {
|
||
"tagline": "Самостоятельно размещаемые SSH-серверы и системы удаленного управления рабочим столом",
|
||
"loginTitle": "Добро пожаловать",
|
||
"registerTitle": "Зарегистрироваться",
|
||
"forgotPassword": "Забыли пароль?",
|
||
"rememberMe": "Функция запоминания устройства на 30 дней (включая TOTP)",
|
||
"noAccount": "У вас нет аккаунта?",
|
||
"hasAccount": "У вас уже есть аккаунт?",
|
||
"twoFactorAuth": "Двухфакторная аутентификация",
|
||
"enterCode": "Введите проверочный код",
|
||
"backupCode": "Или используйте резервный код",
|
||
"verifyCode": "Подтвердите код",
|
||
"redirectingToApp": "Перенаправление в приложение...",
|
||
"sshAuthenticationRequired": "Требуется аутентификация SSH.",
|
||
"sshNoKeyboardInteractive": "Интерактивная аутентификация с помощью клавиатуры недоступна",
|
||
"sshAuthenticationFailed": "Аутентификация не удалась",
|
||
"sshAuthenticationTimeout": "Истекло время ожидания аутентификации",
|
||
"sshNoKeyboardInteractiveDescription": "Сервер не поддерживает интерактивную аутентификацию с клавиатуры. Пожалуйста, укажите свой пароль или SSH-ключ.",
|
||
"sshAuthFailedDescription": "Предоставленные учетные данные неверны. Пожалуйста, попробуйте еще раз с действительными учетными данными.",
|
||
"sshTimeoutDescription": "Попытка аутентификации завершилась по истечении времени ожидания. Пожалуйста, попробуйте снова.",
|
||
"sshProvideCredentialsDescription": "Пожалуйста, укажите свои учетные данные SSH для подключения к этому серверу.",
|
||
"sshPasswordDescription": "Введите пароль для этого SSH-соединения.",
|
||
"sshKeyPasswordDescription": "Если ваш SSH-ключ зашифрован, введите парольную фразу здесь.",
|
||
"passphraseRequired": "Требуется парольная фраза",
|
||
"passphraseRequiredDescription": "SSH-ключ зашифрован. Пожалуйста, введите парольную фразу для его разблокировки.",
|
||
"back": "Назад",
|
||
"firstUser": "Первый пользователь",
|
||
"firstUserMessage": "Вы первый пользователь и будете назначены администратором. Настройки администратора можно посмотреть в выпадающем списке пользователей на боковой панели. Если вы считаете, что это ошибка, проверьте логи Docker или создайте проблему на GitHub.",
|
||
"external": "Внешний",
|
||
"loginWithExternal": "Вход через внешнего поставщика",
|
||
"loginWithExternalDesc": "Войдите в систему, используя настроенный вами внешний поставщик идентификации.",
|
||
"externalNotSupportedInElectron": "Внешняя аутентификация в приложении Electron пока не поддерживается. Для входа через OIDC используйте веб-версию.",
|
||
"loginWithProvider": "Войти с помощью {{name}}",
|
||
"orContinueWith": "или продолжить",
|
||
"ldapUsername": "Имя пользователя LDAP",
|
||
"ldapPassword": "Пароль LDAP",
|
||
"ldapSignIn": "Войти",
|
||
"ldapLoginFailed": "Не удалось войти в LDAP.",
|
||
"resetPasswordButton": "Сбросить пароль",
|
||
"sendResetCode": "Отправить код сброса",
|
||
"resetCodeDesc": "Введите ваше имя пользователя, чтобы получить код для сброса пароля. Код будет записан в логи контейнера Docker.",
|
||
"resetCode": "Код сброса",
|
||
"verifyCodeButton": "Подтвердите код",
|
||
"enterResetCode": "Введите 6-значный код из логов контейнера Docker для пользователя:",
|
||
"newPassword": "Новый пароль",
|
||
"confirmNewPassword": "Подтвердите пароль",
|
||
"enterNewPassword": "Введите новый пароль для пользователя:",
|
||
"signUp": "Зарегистрироваться",
|
||
"desktopApp": "Настольное приложение",
|
||
"loggingInToDesktopApp": "Вход в настольное приложение",
|
||
"loadingServer": "Загрузка сервера...",
|
||
"dataLossWarning": "Сброс пароля таким способом удалит все сохраненные SSH-хосты, учетные данные и другие зашифрованные данные. Это действие необратимо. Используйте этот способ только в том случае, если вы забыли свой пароль и не вошли в систему.",
|
||
"authenticationDisabled": "Аутентификация отключена",
|
||
"authenticationDisabledDesc": "В настоящее время все методы аутентификации отключены. Пожалуйста, свяжитесь с администратором.",
|
||
"passwordLoginDisabledDesc": "Вход по паролю отключен. Используйте пароль или внешний источник аутентификации.",
|
||
"signInWithPasskey": "Войдите с помощью пароля.",
|
||
"passkeyLoginFailed": "Не удалось войти с помощью пароля.",
|
||
"attemptsRemaining": "{{count}} попыток осталось"
|
||
},
|
||
"hostKey": {
|
||
"verifyNewHost": "Проверьте ключ хоста SSH.",
|
||
"keyChangedWarning": "Ключ хоста SSH изменен.",
|
||
"firstConnectionTitle": "Первое подключение к этому хосту.",
|
||
"firstConnectionDescription": "Подлинность этого хоста установить невозможно. Убедитесь, что отпечаток соответствует вашим ожиданиям.",
|
||
"keyChangedDescription": "Ключ хоста для этого сервера изменился с момента вашего последнего подключения. Это может указывать на проблему с безопасностью.",
|
||
"previousKey": "Предыдущая клавиша",
|
||
"newFingerprint": "Новый отпечаток пальца",
|
||
"fingerprint": "Отпечаток пальца",
|
||
"verifyInstructions": "Если вы доверяете этому хосту, нажмите «Принять», чтобы продолжить и сохранить этот отпечаток для будущих подключений.",
|
||
"securityWarning": "Предупреждение о безопасности",
|
||
"acceptAndContinue": "Принять и продолжить",
|
||
"acceptNewKey": "Принять новый ключ и продолжить"
|
||
},
|
||
"errors": {
|
||
"databaseConnection": "Не удалось подключиться к базе данных.",
|
||
"unknownError": "Неизвестная ошибка",
|
||
"loginFailed": "Ошибка входа",
|
||
"failedPasswordReset": "Не удалось инициировать сброс пароля.",
|
||
"failedVerifyCode": "Не удалось проверить код сброса",
|
||
"failedCompleteReset": "Не удалось завершить сброс пароля",
|
||
"invalidTotpCode": "Неверный TOTP-код",
|
||
"failedOidcLogin": "Не удалось запустить вход в OIDC.",
|
||
"silentSigninOidcUnavailable": "Была запрошена бесшумная авторизация, но вход через OIDC недоступен.",
|
||
"failedUserInfo": "Не удалось получить информацию о пользователе после входа в систему.",
|
||
"oidcAuthFailed": "Аутентификация OIDC не удалась",
|
||
"invalidAuthUrl": "Получен недействительный URL-адрес авторизации от бэкэнда.",
|
||
"requiredField": "Это поле обязательно к заполнению",
|
||
"minLength": "Минимальная длина {{min}}",
|
||
"passwordMismatch": "Пароли не совпадают",
|
||
"passwordLoginDisabled": "Вход по имени пользователя/паролю в данный момент отключен.",
|
||
"sessionExpired": "Срок действия сессии истек — пожалуйста, войдите снова.",
|
||
"totpRateLimited": "Ограничение по количеству запросов: Слишком много попыток подтверждения TOTP. Пожалуйста, попробуйте позже.",
|
||
"totpRateLimitedWithTime": "Ограничение количества попыток: Слишком много попыток подтверждения TOTP. Пожалуйста, подождите {{time}} секунд, прежде чем повторить попытку.",
|
||
"resetCodeRateLimited": "Ограничение по количеству попыток: Слишком много попыток подтверждения. Пожалуйста, попробуйте позже.",
|
||
"resetCodeRateLimitedWithTime": "Ограничение количества попыток: Слишком много попыток подтверждения. Пожалуйста, подождите {{time}} секунд, прежде чем повторить попытку.",
|
||
"authTokenSaveFailed": "Не удалось сохранить токен аутентификации.",
|
||
"failedToLoadServer": "Не удалось загрузить сервер."
|
||
},
|
||
"messages": {
|
||
"registrationDisabled": "В настоящее время регистрация новых учетных записей отключена администратором. Пожалуйста, войдите в систему или свяжитесь с администратором.",
|
||
"userNotAllowed": "Ваша учетная запись не авторизована для регистрации. Пожалуйста, свяжитесь с администратором.",
|
||
"databaseConnectionFailed": "Не удалось подключиться к серверу базы данных.",
|
||
"resetCodeSent": "Код сброса отправлен в логи Docker.",
|
||
"codeVerified": "Код успешно проверен.",
|
||
"passwordResetSuccess": "Пароль успешно сброшен.",
|
||
"loginSuccess": "Вход выполнен успешно.",
|
||
"registrationSuccess": "Регистрация прошла успешно."
|
||
},
|
||
"profile": {
|
||
"c2sTunnelConfigDesc": "Локальные туннели для рабочих столов, нацеленные на настроенные SSH-хосты.",
|
||
"c2sTunnelPresets": "Настройки клиентского туннеля",
|
||
"c2sTunnelPresetsDesc": "Сохраните локальный список туннелей этого настольного клиента в качестве именованного сервера или загрузите предустановку обратно в этот клиент.",
|
||
"c2sTunnelPresetsUnavailable": "Настройки клиентского туннеля доступны только в настольном клиенте.",
|
||
"c2sPresetName": "Название предустановки",
|
||
"c2sPresetNamePlaceholder": "Название предустановленного клиента",
|
||
"c2sPresetToLoad": "Предварительные настройки для загрузки",
|
||
"c2sNoPresetSelected": "Предварительно заданные параметры не выбраны",
|
||
"c2sNoPresets": "Предустановки не сохранены",
|
||
"c2sLoadPreset": "Нагрузка",
|
||
"c2sCurrentLocalConfig": "{{count}} На этом рабочем столе настроены локальные клиентские туннели.",
|
||
"c2sPresetSyncNote": "Предустановки представляют собой конкретные снимки состояния; загрузка одной из них заменяет локальный список клиентских туннелей этого настольного клиента.",
|
||
"c2sPresetSaved": "Сохранены предустановленные параметры клиентского туннеля.",
|
||
"c2sPresetLoaded": "Предварительные настройки клиентского туннеля загружены локально.",
|
||
"c2sPresetRenamed": "Настройки клиентского туннеля переименованы.",
|
||
"c2sPresetDeleted": "Предварительные настройки клиентского туннеля удалены.",
|
||
"c2sPresetLoadError": "Не удалось загрузить настройки клиентского туннеля."
|
||
},
|
||
"placeholders": {
|
||
"maxRetries": "3",
|
||
"retryInterval": "10",
|
||
"language": "Язык",
|
||
"keyPassword": "ключ пароль",
|
||
"pastePrivateKey": "Вставьте сюда свой закрытый ключ...",
|
||
"localListenerHost": "127.0.0.1 (прослушивание локально)",
|
||
"localTargetHost": "127.0.0.1 (цель на этом компьютере)",
|
||
"socksListenerHost": "127.0.0.1 (слушатель SOCKS)",
|
||
"enterPassword": "Введите свой пароль",
|
||
"defaultPort": "22",
|
||
"defaultEndpointPort": "224"
|
||
},
|
||
"dashboard": {
|
||
"title": "Панель управления",
|
||
"loading": "Загрузка панели управления...",
|
||
"github": "GitHub",
|
||
"support": "Поддерживать",
|
||
"discord": "Discord",
|
||
"docs": "Документы",
|
||
"donate": "Пожертвовать",
|
||
"serverOverview": "Обзор сервера",
|
||
"version": "Версия",
|
||
"upToDate": "До настоящего времени",
|
||
"updateAvailable": "Доступно обновление",
|
||
"beta": "Бета",
|
||
"uptime": "Время безотказной работы",
|
||
"database": "База данных",
|
||
"healthy": "Здоровый",
|
||
"error": "Ошибка",
|
||
"totalHosts": "Total Hosts",
|
||
"totalTunnels": "Всего туннелей",
|
||
"totalCredentials": "Полный набор учетных данных",
|
||
"recentActivity": "Последние события",
|
||
"reset": "Перезагрузить",
|
||
"loadingRecentActivity": "Загрузка последних событий...",
|
||
"noRecentActivity": "Нет недавней активности",
|
||
"quickActions": "Быстрые действия",
|
||
"addHost": "Добавить хост",
|
||
"addCredential": "Добавить учетные данные",
|
||
"adminSettings": "Настройки администратора",
|
||
"userProfile": "Профиль пользователя",
|
||
"serverStats": "Статистика сервера",
|
||
"loadingServerStats": "Загрузка статистики сервера...",
|
||
"noServerData": "Данные сервера отсутствуют.",
|
||
"cpu": "Процессор",
|
||
"ram": "БАРАН",
|
||
"customizeLayout": "Настройка панели управления",
|
||
"dashboardSettings": "Настройки панели управления",
|
||
"enableDisableCards": "Включить/отключить карты",
|
||
"resetLayout": "Сброс до значений по умолчанию",
|
||
"serverOverviewCard": "Обзор сервера",
|
||
"recentActivityCard": "Последние события",
|
||
"networkGraphCard": "Сетевой граф",
|
||
"networkGraph": "Сетевой граф",
|
||
"quickActionsCard": "Быстрые действия",
|
||
"serverStatsCard": "Статистика сервера",
|
||
"panelMain": "Основной",
|
||
"panelSide": "Сторона",
|
||
"justNow": "прямо сейчас",
|
||
"serviceLinks": "Ссылки на сервисы",
|
||
"homepagePreview": "Предварительный просмотр главной страницы"
|
||
},
|
||
"dashboardTab": {
|
||
"stable": "СТАБИЛЬНЫЙ",
|
||
"hostsOnline": "Хосты онлайн",
|
||
"activeTunnels": "Активные туннели",
|
||
"registerNewServer": "Зарегистрируйте новый сервер",
|
||
"storeSshKeysOrPasswords": "Храните SSH-ключи или пароли.",
|
||
"manageUsersAndRoles": "Управление пользователями и ролями.",
|
||
"manageYourAccount": "Управление учетной записью",
|
||
"hostStatus": "Статус хоста",
|
||
"noHostsConfigured": "Хосты не настроены",
|
||
"online": "ОНЛАЙН",
|
||
"offline": "ОФЛАЙН",
|
||
"checking": "ПРОВЕРКА",
|
||
"onlineLower": "Онлайн",
|
||
"nodes": "{{count}} узлов",
|
||
"add": "Добавлять:",
|
||
"commandPalette": "Палитра команд",
|
||
"done": "Сделанный",
|
||
"editModeInstructions": "Перетаскивайте карточки, чтобы изменить порядок · Перетаскивайте разделитель столбцов, чтобы изменить размер столбцов · Перетаскивайте нижний край карточки, чтобы изменить ее высоту · Удалите карточку из корзины",
|
||
"empty": "Пустой",
|
||
"clear": "Прозрачный",
|
||
"serviceLinksTitle": "Ссылки на сервисы",
|
||
"serviceLinksEmpty": "Ссылки на сервисы пока отсутствуют.",
|
||
"serviceLinksAddLabel": "Этикетка",
|
||
"serviceLinksAddUrl": "URL",
|
||
"serviceLinksAdd": "Добавлять",
|
||
"serviceLinksLabelPlaceholder": "Моя услуга",
|
||
"serviceLinksUrlPlaceholder": "http://192.168.1.10:8080",
|
||
"serviceLinksInvalidUrl": "Введите действительный веб-адрес",
|
||
"serviceLinksAddFailed": "Не удалось добавить ссылку на сервис.",
|
||
"disk": "Диск",
|
||
"viewServerDetails": "Просмотреть сведения о сервере"
|
||
},
|
||
"sessionLogs": {
|
||
"title": "Журналы сессий",
|
||
"noLogs": "Журналы сессий пока отсутствуют.",
|
||
"noLogsDesc": "Включите ведение журнала сессий на хосте, чтобы начать запись.",
|
||
"duration": "Продолжительность",
|
||
"viewLog": "Просмотреть журнал",
|
||
"downloadLog": "Скачать",
|
||
"deleteLog": "Удалить",
|
||
"confirmDelete": "Удалить этот журнал сеанса?",
|
||
"confirmDeleteDesc": "Это действие необратимо.",
|
||
"copyContent": "Копия",
|
||
"copied": "Скопировано!",
|
||
"loadError": "Не удалось загрузить журналы сессии.",
|
||
"deleteError": "Не удалось удалить журнал сессии.",
|
||
"filterByHost": "Фильтрация по хосту..."
|
||
},
|
||
"networkGraph": {
|
||
"addHost": "Добавить хост",
|
||
"addGroup": "Добавить группу",
|
||
"addLink": "Добавить ссылку",
|
||
"zoomIn": "Увеличить масштаб",
|
||
"zoomOut": "Отдалиться",
|
||
"resetView": "Сбросить вид",
|
||
"selectHost": "Выберите хост",
|
||
"chooseHost": "Выберите хостинг...",
|
||
"parentGroup": "Родительская группа",
|
||
"noGroup": "Нет группы",
|
||
"groupName": "Название группы",
|
||
"color": "Цвет",
|
||
"source": "Источник",
|
||
"target": "Цель",
|
||
"moveToGroup": "Перейти в группу",
|
||
"selectGroup": "Выберите группу...",
|
||
"addConnection": "Добавить соединение",
|
||
"hostDetails": "Сведения о хосте",
|
||
"removeFromGroup": "Удалить из группы",
|
||
"addHostHere": "Добавить хоста сюда",
|
||
"editGroup": "Редактировать группу",
|
||
"delete": "Удалить",
|
||
"add": "Добавлять",
|
||
"create": "Создавать",
|
||
"move": "Двигаться",
|
||
"connect": "Соединять",
|
||
"createGroup": "Создать группу",
|
||
"selectSourcePlaceholder": "Выберите источник...",
|
||
"selectTargetPlaceholder": "Выберите цель...",
|
||
"invalidFile": "Недействительный файл",
|
||
"hostAlreadyExists": "Хост уже находится в топологии.",
|
||
"connectionExists": "Соединение уже существует",
|
||
"unknown": "Неизвестный",
|
||
"name": "Имя",
|
||
"ip": "IP",
|
||
"status": "Статус",
|
||
"failedToAddNode": "Не удалось добавить узел.",
|
||
"sourceDifferentFromTarget": "Источник и цель должны быть разными.",
|
||
"exportJSON": "Экспорт в формате JSON",
|
||
"importJSON": "Импорт JSON",
|
||
"terminal": "Терминал",
|
||
"fileManager": "Файловый менеджер",
|
||
"tunnel": "Туннель",
|
||
"docker": "Docker",
|
||
"serverStats": "Метрики хоста",
|
||
"hostMetrics": "Метрики хоста",
|
||
"noNodes": "Узлов пока нет."
|
||
},
|
||
"docker": {
|
||
"notEnabled": "Docker не включен для этого хоста.",
|
||
"validating": "Проверка Docker...",
|
||
"connecting": "Подключение...",
|
||
"error": "Ошибка",
|
||
"version": "Docker {{version}}",
|
||
"connectionFailed": "Не удалось подключиться к Docker.",
|
||
"containerStarted": "Контейнер {{name}} запущен",
|
||
"failedToStartContainer": "Не удалось запустить контейнер {{name}}",
|
||
"containerStopped": "Контейнер {{name}} остановлен",
|
||
"failedToStopContainer": "Не удалось остановить контейнер {{name}}",
|
||
"containerRestarted": "Контейнер {{name}} перезапущен",
|
||
"failedToRestartContainer": "Не удалось перезапустить контейнер {{name}}",
|
||
"containerPaused": "Контейнер {{name}} приостановлен",
|
||
"containerUnpaused": "Контейнер {{name}} не приостановлен",
|
||
"failedToTogglePauseContainer": "Не удалось переключить состояние паузы для контейнера {{name}}",
|
||
"containerRemoved": "Контейнер {{name}} удален",
|
||
"failedToRemoveContainer": "Не удалось удалить контейнер {{name}}",
|
||
"image": "Изображение",
|
||
"ports": "Порты",
|
||
"noPorts": "Нет портов",
|
||
"start": "Начинать",
|
||
"confirmRemoveContainer": "Вы уверены, что хотите удалить контейнер '{{name}}'? Это действие необратимо.",
|
||
"runningContainerWarning": "Внимание: Этот контейнер в данный момент запущен. Удаление контейнера сначала остановит основной контейнер.",
|
||
"loadingContainers": "Загрузка контейнеров...",
|
||
"manager": "Менеджер Docker",
|
||
"autoRefresh": "Автоматическое обновление",
|
||
"timestamps": "Временные метки",
|
||
"lines": "Линии",
|
||
"filterLogs": "Фильтрация журналов...",
|
||
"refresh": "Обновить",
|
||
"download": "Скачать",
|
||
"clear": "Прозрачный",
|
||
"logsDownloaded": "Журналы успешно загружены.",
|
||
"last50": "Последние 50",
|
||
"last100": "Последние 100",
|
||
"last500": "Последние 500",
|
||
"last1000": "Последние 1000",
|
||
"allLogs": "Все журналы",
|
||
"noLogsMatching": "Нет записей, соответствующих \"{{query}}\"",
|
||
"noLogsAvailable": "Журналы отсутствуют",
|
||
"noContainersFound": "Контейнеры не найдены",
|
||
"noContainersFoundHint": "На этом хосте контейнеры Docker недоступны.",
|
||
"searchPlaceholder": "Обыск контейнеров...",
|
||
"allStatuses": "Все статусы",
|
||
"stateRunning": "Бег",
|
||
"statePaused": "Приостановлено",
|
||
"stateExited": "Вышел",
|
||
"stateRestarting": "Перезапуск",
|
||
"noContainersMatchFilters": "Ни один контейнер не подходит к вашим фильтрам.",
|
||
"noContainersMatchFiltersHint": "Попробуйте скорректировать критерии поиска или фильтрации.",
|
||
"failedToFetchStats": "Не удалось получить статистику по контейнеру.",
|
||
"containerNotRunning": "Контейнер не запущен",
|
||
"startContainerToViewStats": "Запустите контейнер, чтобы просмотреть статистику.",
|
||
"loadingStats": "Загрузка статистики...",
|
||
"errorLoadingStats": "Статистика ошибок загрузки",
|
||
"noStatsAvailable": "Статистические данные отсутствуют.",
|
||
"cpuUsage": "Использование ЦП",
|
||
"current": "Текущий",
|
||
"memoryUsage": "Использование памяти",
|
||
"networkIo": "Сетевой ввод-вывод",
|
||
"input": "Вход",
|
||
"output": "Выход",
|
||
"blockIo": "Блочный ввод-вывод",
|
||
"read": "Читать",
|
||
"write": "Писать",
|
||
"pids": "Идентификаторы процессов",
|
||
"containerInformation": "Информация о контейнере",
|
||
"name": "Имя",
|
||
"id": "ИДЕНТИФИКАТОР",
|
||
"state": "Состояние",
|
||
"containerMustBeRunning": "Для доступа к консоли контейнер должен быть запущен.",
|
||
"verificationCodePrompt": "Введите проверочный код",
|
||
"totpVerificationFailed": "Проверка TOTP не удалась. Пожалуйста, попробуйте еще раз.",
|
||
"warpgateVerificationFailed": "Аутентификация Warpgate не удалась. Пожалуйста, попробуйте еще раз.",
|
||
"connectedTo": "Подключено к {{containerName}}",
|
||
"disconnected": "Отключено",
|
||
"consoleError": "Ошибка консоли",
|
||
"errorMessage": "Ошибка: {{message}}",
|
||
"failedToConnect": "Не удалось подключиться к контейнеру.",
|
||
"console": "Консоль",
|
||
"selectShell": "Выберите оболочку",
|
||
"bash": "Баш",
|
||
"sh": "ш",
|
||
"ash": "пепел",
|
||
"connect": "Соединять",
|
||
"disconnect": "Отключить",
|
||
"notConnected": "Не подключено",
|
||
"clickToConnect": "Нажмите «Подключиться», чтобы начать сеанс командной строки.",
|
||
"connectingTo": "Подключение к {{containerName}}...",
|
||
"containerNotFound": "Контейнер не найден",
|
||
"backToList": "Вернуться к списку",
|
||
"logs": "Журналы",
|
||
"stats": "Статистика",
|
||
"consoleTab": "Консоль",
|
||
"startContainerToAccess": "Запустите контейнер, чтобы получить доступ к консоли."
|
||
},
|
||
"admin": {
|
||
"sectionGeneral": "Общий",
|
||
"sectionOidc": "ОИДК",
|
||
"sectionSso": "Поставщики SSO",
|
||
"ssoAddProvider": "Добавить поставщика",
|
||
"ssoDocsLink": "Просмотреть документацию",
|
||
"ssoProviderDocsLink": "Просмотреть документацию",
|
||
"ssoNoProviders": "Поставщики SSO не настроены.",
|
||
"ssoProviderName": "Отображаемое имя",
|
||
"ssoProviderType": "Тип поставщика",
|
||
"ssoDeleteProvider": "Удалить поставщика",
|
||
"ssoDeleteConfirm": "Удалить этого поставщика услуг? Связанные пользователи не смогут войти в систему.",
|
||
"ssoTypeOidc": "ОИДК",
|
||
"ssoTypeLdap": "LDAP",
|
||
"ssoTypeGithub": "GitHub",
|
||
"ssoTypeGoogle": "Google",
|
||
"ssoEnabled": "Включено",
|
||
"ssoDisabled": "Неполноценный",
|
||
"ssoSaveProvider": "Сохранить поставщика",
|
||
"ssoTestConnection": "Проверить соединение",
|
||
"ssoEditProvider": "Поставщик редактирования",
|
||
"ldapHost": "Хост LDAP",
|
||
"ldapPort": "Порт",
|
||
"ldapUseTls": "Используйте TLS (LDAP).",
|
||
"ldapBindDn": "Bind DN",
|
||
"ldapBindPassword": "Привязать пароль",
|
||
"ldapUserSearchBase": "База поиска пользователей",
|
||
"ldapUserSearchFilter": "Фильтр поиска пользователя",
|
||
"ldapUsernameAttr": "Атрибут имени пользователя",
|
||
"ldapDisplayNameAttr": "Атрибут отображаемого имени",
|
||
"ldapGroupSearchBase": "База группового поиска",
|
||
"ldapAdminGroup": "Группа администраторов",
|
||
"ldapAllowedUsers": "Разрешенные пользователи",
|
||
"sectionUsers": "Пользователи",
|
||
"sectionSessions": "Сессии",
|
||
"sectionRoles": "Роли",
|
||
"sectionDatabase": "База данных",
|
||
"sectionApiKeys": "Ключи API",
|
||
"sectionAuditLog": "Журнал аудита",
|
||
"sectionSsl": "SSL / Let's Encrypt",
|
||
"sslDescription": "Автоматическая выдача и продление доверенного SSL-сертификата от Let's Encrypt. Требуется общедоступный домен и доступ к порту 80 или DNS.",
|
||
"sslDocsLink": "Просмотреть документацию по SSL",
|
||
"sslDomain": "Домен",
|
||
"sslDomainPlaceholder": "termix.example.com",
|
||
"sslDomainDesc": "Общедоступное доменное имя для сертификата.",
|
||
"sslEmail": "Электронная почта",
|
||
"sslEmailPlaceholder": "admin@example.com",
|
||
"sslEmailDesc": "Для получения уведомлений от Let's Encrypt и управления учетной записью используйте электронный адрес.",
|
||
"sslChallengeType": "Тип задачи",
|
||
"sslChallengeTypeDesc": "Как доказать Let's Encrypt право собственности на домен.",
|
||
"sslChallengeHttp": "HTTP (корневой каталог веб-сервера) — требуется доступ к порту 80 из интернета.",
|
||
"sslChallengeDns": "DNS (Cloudflare) — требуется токен API Cloudflare.",
|
||
"sslCloudflareToken": "API-токен Cloudflare",
|
||
"sslCloudflareTokenPlaceholder": "Введите токен...",
|
||
"sslCloudflareTokenDesc": "Токен с областью действия и разрешением Zone:DNS:Edit для вашего домена.",
|
||
"sslCertStatus": "Статус сертификата",
|
||
"sslCertStatusNone": "Сертификат отсутствует",
|
||
"sslCertStatusValid": "Действительный",
|
||
"sslCertStatusExpiring": "Срок действия скоро истекает",
|
||
"sslCertStatusExpired": "Истекший",
|
||
"sslCertExpiresAt": "Срок действия истекает {{date}}",
|
||
"sslLastIssued": "Последний выпуск {{date}}",
|
||
"sslRequestCert": "Выдача/продление сертификата",
|
||
"sslRequestCertLoading": "Запрос сертификата...",
|
||
"sslRequestCertSuccess": "Сертификат выдан и успешно установлен.",
|
||
"sslRequestCertFailed": "Запрос сертификата не удался.",
|
||
"sslSave": "Сохраните настройки",
|
||
"sslSaved": "Сохранены настройки SSL",
|
||
"sslSaveFailed": "Не удалось сохранить настройки SSL.",
|
||
"sslRequiresDomain": "Требуется указать домен и адрес электронной почты.",
|
||
"sslInfoNote": "После выдачи сертификата включите SSL в переменных среды (ENABLE_SSL=true) и перезапустите Termix.",
|
||
"auditLogTotal": "{{total}} всего записей",
|
||
"auditLogEmpty": "Записей в журнале аудита не обнаружено.",
|
||
"auditLogSuccess": "Успех",
|
||
"auditLogFailed": "Неуспешный",
|
||
"auditLogClearFilters": "Очистить фильтры",
|
||
"auditLogPage": "Страница {{page}} из {{totalPages}} (всего{{total}})",
|
||
"auditLogIp": "IP",
|
||
"auditLogResourceId": "Идентификатор ресурса",
|
||
"auditLogFilterUser": "Пользователь",
|
||
"auditLogFilterAction": "Действие",
|
||
"auditLogFilterResourceType": "Тип ресурса",
|
||
"auditLogFilterStatus": "Статус",
|
||
"auditLogFilterFrom": "От",
|
||
"auditLogFilterTo": "К",
|
||
"auditLogFilterAll": "Все",
|
||
"allowRegistration": "Разрешить регистрацию пользователей",
|
||
"allowRegistrationDesc": "Предоставьте новым пользователям возможность самостоятельно регистрироваться, используя имя пользователя и пароль.",
|
||
"allowPasswordLogin": "Разрешить вход по паролю",
|
||
"allowPasswordLoginDesc": "Вход по имени пользователя/паролю",
|
||
"oidcAutoProvision": "Автоматическая настройка OIDC",
|
||
"oidcAutoProvisionDesc": "Автоматическое создание учетных записей для пользователей OIDC/SSO при первом входе в систему (независимо от включения функции регистрации).",
|
||
"oidcSilentLoginDefault": "По умолчанию включен бесшумный вход в OIDC.",
|
||
"oidcSilentLoginDefaultDesc": "Автоматическое перенаправление на страницу входа в OIDC при каждом посещении, без заполнения формы авторизации.",
|
||
"allowPasswordReset": "Разрешить сброс пароля",
|
||
"allowPasswordResetDesc": "Сброс кода через логи Docker",
|
||
"commandHistoryEnabled": "История командования",
|
||
"commandHistoryEnabledDesc": "Разрешить запись истории команд. Если эта функция отключена, история не сохраняется независимо от настроек для каждого хоста.",
|
||
"updateCommandHistoryFailed": "Не удалось обновить настройки истории команд.",
|
||
"sessionTimeout": "Тайм-аут сессии",
|
||
"hours": "часы",
|
||
"sessionTimeoutRange": "Мин. 1 ч · Макс. 720 ч",
|
||
"monitoringDefaults": "Настройки мониторинга по умолчанию",
|
||
"statusCheck": "Проверка статуса",
|
||
"metrics": "Метрики",
|
||
"sec": "сек",
|
||
"logLevel": "Уровень лога",
|
||
"enableGuacamole": "Включить гуакамоле",
|
||
"enableGuacamoleDesc": "Удаленный рабочий стол RDP/VNC",
|
||
"enableGuacamoleDocsLink": "Просмотреть документацию",
|
||
"guacdUrl": "URL guacd",
|
||
"tailscaleApiKey": "Ключ API для масштабирования хвоста",
|
||
"tailscaleApiKeyDescription": "Используется для обнаружения устройств в редакторе хоста. Сгенерируйте ключ на tailscale.com/admin/settings/keys.",
|
||
"tailscaleApiKeyDocsLink": "Просмотреть документацию",
|
||
"oidcDescription": "Настройте OpenID Connect для единого входа (SSO). Поля, отмеченные *, обязательны для заполнения.",
|
||
"oidcDocsLink": "Просмотреть документацию",
|
||
"oidcClientId": "Идентификатор клиента",
|
||
"oidcClientSecret": "Секрет клиента",
|
||
"oidcAuthUrl": "URL авторизации",
|
||
"oidcIssuerUrl": "URL эмитента",
|
||
"oidcTokenUrl": "URL токена",
|
||
"oidcUserIdentifier": "Путь идентификатора пользователя",
|
||
"oidcDisplayName": "Отображаемый путь к имени",
|
||
"oidcScopes": "Области применения",
|
||
"oidcUserinfoUrl": "Переопределить URL-адрес информации о пользователе",
|
||
"oidcAllowedUsers": "Разрешенные пользователи",
|
||
"oidcAllowedUsersDesc": "Один адрес электронной почты на строку. Оставьте поле пустым, чтобы разрешить все адреса.",
|
||
"oidcAdminGroup": "Группа администраторов",
|
||
"oidcAdminGroupDesc": "Пользователям в этой группе предоставляются права администратора. Оставьте поле пустым, чтобы отключить синхронизацию групп.",
|
||
"oidcGroupClaim": "Групповое заявление",
|
||
"oidcGroupClaimDesc": "Необязательный параметр. Путь к условию, содержащему группы пользователя. По умолчанию: группы, роли, затем группа. Используйте это для поставщиков с пользовательским условием (например, Zitadel).",
|
||
"oidcCaCert": "Пользовательский сертификат центра сертификации",
|
||
"oidcCaCertDesc": "Необязательно. Сертификат центра сертификации в формате PEM для поставщиков OIDC, использующих частный или самоподписанный центр сертификации. Оставьте поле пустым, чтобы использовать системное хранилище доверенных сертификатов.",
|
||
"removeOidc": "Удалять",
|
||
"usersCount": "{{count}} пользователей",
|
||
"createUser": "Создавать",
|
||
"newRole": "Новая роль",
|
||
"roleName": "Имя",
|
||
"roleDisplayName": "Отображаемое имя",
|
||
"roleDescription": "Описание",
|
||
"rolesCount": "{{count}} роли",
|
||
"createRole": "Создавать",
|
||
"creating": "Создание...",
|
||
"exportDatabase": "Экспорт базы данных",
|
||
"exportDatabaseDesc": "Загрузите резервную копию всех хостов, учетных данных и настроек.",
|
||
"export": "Экспорт",
|
||
"exporting": "Экспорт...",
|
||
"importDatabase": "Импорт базы данных",
|
||
"importDatabaseDesc": "Восстановление из файла резервной копии .sqlite",
|
||
"importDatabaseSelected": "Выбрано: {{name}}",
|
||
"selectFile": "Выберите файл",
|
||
"changeFile": "Изменять",
|
||
"import": "Импорт",
|
||
"importing": "Импорт...",
|
||
"apiKeysCount": "{{count}} ключи",
|
||
"apiKeysDocsLink": "Просмотреть документацию",
|
||
"newApiKey": "Новый ключ API",
|
||
"apiKeyCreatedWarning": "Ключ создан — скопируйте его сейчас, он больше не будет отображаться.",
|
||
"apiKeyName": "Имя",
|
||
"apiKeyUser": "Пользователь",
|
||
"apiKeySelectUser": "Выберите пользователя...",
|
||
"apiKeyExpiresAt": "Срок действия истекает в",
|
||
"createKey": "Создать ключ",
|
||
"apiKeyNoExpiry": "Срок действия не ограничен.",
|
||
"revokedBadge": "ОТМЕНЕНО",
|
||
"authTypeDual": "Двойная аутентификация",
|
||
"authTypeOidc": "ОИДК",
|
||
"authTypeLocal": "Местный",
|
||
"adminStatusAdministrator": "Администратор",
|
||
"adminStatusRegularUser": "Обычный пользователь",
|
||
"adminBadge": "АДМИНИСТРАТОР",
|
||
"systemBadge": "СИСТЕМА",
|
||
"customBadge": "ОБЫЧАЙ",
|
||
"youBadge": "ТЫ",
|
||
"sessionsActive": "{{count}} активный",
|
||
"sessionActive": "Активно: {{time}}",
|
||
"sessionExpires": "Exp: {{time}}",
|
||
"revokeAll": "Все",
|
||
"revokeAllSessionsSuccess": "Все сессии пользователя аннулированы.",
|
||
"revokeAllSessionsFailed": "Не удалось отменить сессии.",
|
||
"revokeSessionFailed": "Не удалось отменить сессию.",
|
||
"addRole": "Добавить роль",
|
||
"noCustomRoles": "Пользовательские роли не определены",
|
||
"removeRoleFailed": "Не удалось удалить роль",
|
||
"assignRoleFailed": "Не удалось назначить роль",
|
||
"deleteRoleFailed": "Не удалось удалить роль.",
|
||
"userAdminAccess": "Администратор",
|
||
"userAdminAccessDesc": "Полный доступ ко всем административным настройкам.",
|
||
"userRoles": "Роли",
|
||
"revokeAllUserSessions": "Отменить все сессии",
|
||
"revokeAllUserSessionsDesc": "Принудительный повторный вход в систему на всех устройствах",
|
||
"revoke": "Отменить",
|
||
"deleteUserWarning": "Удаление этого пользователя будет безвозвратным.",
|
||
"deleteUser": "Удалить {{username}}",
|
||
"deleting": "Удаление...",
|
||
"deleteUserFailed": "Не удалось удалить пользователя.",
|
||
"deleteUserSuccess": "Пользователь \"{{username}}\" удален",
|
||
"deleteRoleSuccess": "Роль \"{{name}}\" удалена",
|
||
"revokeKeySuccess": "Ключ \"{{name}}\" отозван",
|
||
"revokeKeyFailed": "Не удалось отозвать ключ.",
|
||
"copiedToClipboard": "Скопировано в буфер обмена",
|
||
"done": "Сделанный",
|
||
"createUserTitle": "Создать пользователя",
|
||
"createUserDesc": "Создайте новую локальную учетную запись.",
|
||
"createUserUsername": "Имя пользователя",
|
||
"createUserPassword": "Пароль",
|
||
"createUserPasswordHint": "Минимум 6 символов.",
|
||
"createUserEnterUsername": "Введите имя пользователя",
|
||
"createUserEnterPassword": "Введите пароль",
|
||
"createUserSubmit": "Создать пользователя",
|
||
"editUserTitle": "Управление пользователем: {{username}}",
|
||
"editUserDesc": "Редактируйте роли, статус администратора, сессии и настройки учетной записи.",
|
||
"editUserUsername": "Имя пользователя",
|
||
"editUserAuthType": "Тип аутентификации",
|
||
"editUserAdminStatus": "Статус администратора",
|
||
"editUserUserId": "ID пользователя",
|
||
"linkAccountTitle": "Связать аккаунты",
|
||
"linkAccountDesc": "Объедините учетную запись OIDC {{username}} с существующей локальной учетной записью.",
|
||
"linkAccountDescLocal": "Свяжите локальную учетную запись {{username}} с существующей учетной записью, поддерживающей только OIDC.",
|
||
"linkAccountWarningTitle": "Это позволит:",
|
||
"linkAccountEffect1": "Удалите учетную запись, предназначенную только для OIDC.",
|
||
"linkAccountEffect2": "Добавьте вход через OIDC в целевую учетную запись.",
|
||
"linkAccountEffect3": "Разрешите вход как по протоколу OIDC, так и по паролю.",
|
||
"linkAccountTargetUsername": "Имя пользователя локальной учетной записи",
|
||
"linkAccountTargetPlaceholder": "Введите имя пользователя локальной учетной записи, которую нужно связать с...",
|
||
"linkAccountOidcUsername": "Имя пользователя учетной записи OIDC",
|
||
"linkAccountOidcPlaceholder": "Введите имя пользователя учетной записи, предназначенной только для OIDC, для объединения.",
|
||
"linkAccountOidcNotFound": "Учетная запись OIDC с таким именем пользователя не найдена.",
|
||
"linkAccounts": "Связать аккаунты",
|
||
"linkAccountSuccess": "Учетные записи успешно связаны.",
|
||
"linkAccountFailed": "Не удалось связать учетные записи.",
|
||
"linkAccountInProgress": "Связывание...",
|
||
"unlinkAccountTitle": "Отключить OIDC",
|
||
"unlinkAccountDesc": "Удалите аутентификацию OIDC из {{username}}. Они смогут войти в систему только с помощью своего пароля.",
|
||
"unlinkAccountWarning": "Это удалит возможность входа в OIDC для данной учетной записи. Для продолжения входа в систему пользователю необходимо установить пароль.",
|
||
"unlinkAccount": "Отключить OIDC",
|
||
"unlinkAccountInProgress": "Отмена связи...",
|
||
"unlinkAccountSuccess": "OIDC успешно отсоединен.",
|
||
"unlinkAccountFailed": "Не удалось разорвать связь OIDC",
|
||
"saving": "Сохранение...",
|
||
"updateRegistrationFailed": "Не удалось обновить настройки регистрации.",
|
||
"updatePasswordLoginFailed": "Не удалось обновить настройки входа по паролю.",
|
||
"cannotDisablePasswordLoginWithTotp": "Невозможно отключить вход по паролю, если двухфакторная аутентификация включена для одного или нескольких пользователей. Сначала отключите двухфакторную аутентификацию.",
|
||
"updateOidcAutoProvisionFailed": "Не удалось обновить настройки автоматической настройки OIDC.",
|
||
"updateOidcSilentLoginDefaultFailed": "Не удалось обновить настройки бесшумного входа в OIDC.",
|
||
"updatePasswordResetFailed": "Не удалось обновить настройки сброса пароля.",
|
||
"sessionTimeoutRange2": "Время ожидания сессии должно составлять от 1 до 720 часов.",
|
||
"sessionTimeoutSaved": "Сохранено время ожидания сессии",
|
||
"sessionTimeoutSaveFailed": "Не удалось сохранить сеанс, истекло время ожидания",
|
||
"monitoringIntervalInvalid": "Недопустимые значения интервала",
|
||
"monitoringSaved": "Сохранены настройки мониторинга.",
|
||
"monitoringSaveFailed": "Не удалось сохранить настройки мониторинга.",
|
||
"metricsHistoryRetention": "Метрики История Сохранение",
|
||
"metricsHistoryRetentionRange": "от 1 до 90 дней",
|
||
"days": "дни",
|
||
"guacamoleSaved": "Настройки гуакамоле сохранены.",
|
||
"guacamoleSaveFailed": "Не удалось сохранить настройки гуакамоле.",
|
||
"guacamoleUpdateFailed": "Не удалось обновить настройки гуакамоле.",
|
||
"tailscaleSettingsSaved": "Сохранены настройки масштаба хвоста",
|
||
"tailscaleSettingsSaveFailed": "Не удалось сохранить настройки масштаба хвоста.",
|
||
"logLevelUpdateFailed": "Не удалось обновить уровень логирования.",
|
||
"oidcSaved": "Конфигурация OIDC сохранена.",
|
||
"oidcSaveFailed": "Не удалось сохранить конфигурацию OIDC.",
|
||
"oidcRemoved": "Конфигурация OIDC удалена",
|
||
"oidcRemoveFailed": "Не удалось удалить конфигурацию OIDC.",
|
||
"createUserRequired": "Требуется имя пользователя и пароль.",
|
||
"createUserPasswordTooShort": "Пароль должен состоять как минимум из 6 символов.",
|
||
"createUserSuccess": "Пользователь \"{{username}}\" создал",
|
||
"createUserFailed": "Не удалось создать пользователя.",
|
||
"updateAdminStatusFailed": "Не удалось обновить статус администратора.",
|
||
"allSessionsRevoked": "Все заседания отменены",
|
||
"revokeSessionsFailed": "Не удалось отменить сессии.",
|
||
"createRoleRequired": "Имя и отображаемое имя обязательны для заполнения.",
|
||
"createRoleSuccess": "Создана роль \"{{name}}",
|
||
"createRoleFailed": "Не удалось создать роль",
|
||
"apiKeyNameRequired": "Имя ключа обязательно для ввода.",
|
||
"apiKeyUserRequired": "Требуется идентификатор пользователя.",
|
||
"apiKeyCreatedSuccess": "Создан ключ API \"{{name}}",
|
||
"apiKeyCreateFailed": "Не удалось создать ключ API.",
|
||
"exportSuccess": "База данных успешно экспортирована.",
|
||
"exportFailed": "Экспорт базы данных не удался.",
|
||
"importSelectFile": "Пожалуйста, сначала выберите файл.",
|
||
"importCompleted": "Импорт завершен: импортировано {{total}} элементов, {{skipped}} пропущено",
|
||
"importFailed": "Импорт не удался: {{error}}",
|
||
"importError": "Импорт базы данных не удался.",
|
||
"sectionHostDefaults": "Настройки хоста по умолчанию",
|
||
"hostDefaultsDesc": "Настройки применяются автоматически при создании нового хоста. Отдельные хосты по-прежнему могут переопределять эти настройки.",
|
||
"hostDefaultsSocks5": "SOCKS5 Proxy",
|
||
"hostDefaultsUseSocks5": "Включить прокси SOCKS5",
|
||
"hostDefaultsUseSocks5Desc": "Предварительное заполнение SOCKS5-прокси на всех новых хостах",
|
||
"hostDefaultsSocks5Host": "Прокси-сервер / Порт",
|
||
"hostDefaultsSocks5Username": "Имя пользователя прокси",
|
||
"hostDefaultsSocks5Password": "Пароль прокси",
|
||
"hostDefaultsMetrics": "Метрики хоста",
|
||
"hostDefaultsMetricsEnabled": "Включить метрики",
|
||
"hostDefaultsMetricsEnabledDesc": "По умолчанию осуществляется сбор статистики по процессору, памяти и другим параметрам на новых хостах.",
|
||
"hostDefaultsStatusCheckEnabled": "Включить проверку состояния",
|
||
"hostDefaultsStatusCheckEnabledDesc": "По умолчанию запрашивать статус онлайн/офлайн новых хостов.",
|
||
"hostDefaultsTerminal": "Терминал",
|
||
"hostDefaultsSessionLogging": "Ведение журнала сессий",
|
||
"hostDefaultsSessionLoggingDesc": "Запись терминальных сессий на новых хостах по умолчанию.",
|
||
"hostDefaultsCommandHistory": "История командования",
|
||
"hostDefaultsCommandHistoryDesc": "Отслеживание истории команд на новых хостах по умолчанию.",
|
||
"hostDefaultsSaved": "Сохранены настройки хоста по умолчанию",
|
||
"hostDefaultsSaveFailed": "Не удалось сохранить настройки хоста по умолчанию."
|
||
},
|
||
"newUi": {
|
||
"sidebar": {
|
||
"quickConnect": {
|
||
"hostLabel": "Хозяин",
|
||
"hostPlaceholder": "192.168.1.1 или example.com",
|
||
"portLabel": "Порт",
|
||
"portPlaceholder": "22",
|
||
"usernameLabel": "Имя пользователя",
|
||
"usernamePlaceholder": "имя пользователя",
|
||
"authLabel": "Авторизация",
|
||
"passwordLabel": "Пароль",
|
||
"passwordPlaceholder": "пароль",
|
||
"privateKeyLabel": "Закрытый ключ",
|
||
"privateKeyPlaceholder": "Вставьте закрытый ключ...",
|
||
"credentialLabel": "Удостоверение личности",
|
||
"credentialPlaceholder": "Выберите сохраненные учетные данные",
|
||
"connectToTerminal": "Подключиться к терминалу",
|
||
"connectToFiles": "Подключиться к файлам"
|
||
},
|
||
"history": {
|
||
"noTerminalSelected": "Терминал не выбран",
|
||
"noTerminalSelectedHint": "Откройте вкладку SSH-терминала, чтобы просмотреть историю команд.",
|
||
"searchPlaceholder": "История поиска...",
|
||
"clearAll": "Очистить все",
|
||
"noHistoryEntries": "Нет записей в истории.",
|
||
"trackingDisabled": "Отслеживание истории отключено.",
|
||
"trackingDisabledHint": "Включите эту функцию в настройках терминала хоста."
|
||
},
|
||
"sshTools": {
|
||
"keyRecordingTitle": "Запись ключевых моментов",
|
||
"recordToTerminals": "Запись на терминалы",
|
||
"selectAll": "Все",
|
||
"selectNone": "Никто",
|
||
"noTerminalTabsOpen": "Вкладки терминала не открыты",
|
||
"selectTerminalsAbove": "Выберите терминалы выше",
|
||
"broadcastInputPlaceholder": "Введите здесь, чтобы транслировать нажатия клавиш...",
|
||
"fillPassword": "Введите пароль",
|
||
"fillPasswordSuccess": "Введен пароль в терминал(ы) {{count}}",
|
||
"fillPasswordMissing": "Для выбранного(ых) терминала(ов) {{count}} не сохранен(-ов) пароль.",
|
||
"stopRecording": "Остановить запись",
|
||
"startRecording": "Начать запись",
|
||
"settingsTitle": "Настройки",
|
||
"enableRightClickCopyPaste": "Включить копирование/вставку по щелчку правой кнопкой мыши"
|
||
},
|
||
"splitScreen": {
|
||
"layoutTitle": "Макет",
|
||
"selectLayoutAbove": "Выберите макет выше",
|
||
"selectLayoutHint": "Выберите количество отображаемых панелей.",
|
||
"panesTitle": "Панели",
|
||
"openTabsTitle": "Открыть вкладки",
|
||
"dragTabsHint": "Перетащите вкладки в панели выше или воспользуйтесь функцией быстрого назначения.",
|
||
"dropHere": "Опустите сюда",
|
||
"emptyPane": "Пустой",
|
||
"dashboard": "Панель управления",
|
||
"clearSplitScreen": "Четкое разделение экрана",
|
||
"quickAssign": "Быстрое назначение",
|
||
"alreadyAssigned": "Панель {{index}}",
|
||
"splitTab": "Разделить вкладку",
|
||
"addToSplit": "Добавить в раздел",
|
||
"removeFromSplit": "Удалить из Сплита",
|
||
"assignToPane": "Назначить на панель",
|
||
"hotkeysTitle": "Клавиатурные сочетания",
|
||
"hotkeysSplitRight": "Переключить разделение на две части",
|
||
"hotkeysSplitBelow": "Переключить разделение на 3 части",
|
||
"hotkeysNavigatePane": "Перемещение по панелям",
|
||
"hotkeysNextTab": "Следующая вкладка",
|
||
"hotkeysPrevTab": "Предыдущая вкладка"
|
||
},
|
||
"snippets": {
|
||
"title": "Фрагменты",
|
||
"createSnippetTitle": "Создать фрагмент",
|
||
"createSnippetDescription": "Создайте новый фрагмент команды для быстрого выполнения.",
|
||
"nameLabel": "Имя",
|
||
"namePlaceholder": "например, перезапустите Nginx.",
|
||
"descriptionLabel": "Описание",
|
||
"descriptionPlaceholder": "Дополнительное описание",
|
||
"optional": "Необязательный",
|
||
"folderLabel": "Папка",
|
||
"noFolder": "Нет папки (Без категории)",
|
||
"commandLabel": "Командование",
|
||
"commandPlaceholder": "например, sudo systemctl restart nginx",
|
||
"cancel": "Отмена",
|
||
"createSnippetButton": "Создать фрагмент",
|
||
"createFolderTitle": "Создать папку",
|
||
"createFolderDescription": "Организуйте свои фрагменты кода по папкам.",
|
||
"folderNameLabel": "Название папки",
|
||
"folderNamePlaceholder": "например, системные команды, скрипты Docker.",
|
||
"folderColorLabel": "Цвет папки",
|
||
"folderIconLabel": "Значок папки",
|
||
"previewLabel": "Предварительный просмотр",
|
||
"folderNameFallback": "Название папки",
|
||
"createFolderButton": "Создать папку",
|
||
"targetTerminals": "Целевые терминалы",
|
||
"selectAll": "Все",
|
||
"selectNone": "Никто",
|
||
"noTerminalTabsOpen": "Вкладки терминала не открыты",
|
||
"searchPlaceholder": "Поисковые фрагменты...",
|
||
"newSnippet": "Новый фрагмент",
|
||
"newFolder": "Новая папка",
|
||
"run": "Бегать",
|
||
"noSnippetsInFolder": "В этой папке нет фрагментов кода.",
|
||
"uncategorized": "Без категории",
|
||
"editSnippetTitle": "Редактировать фрагмент",
|
||
"editSnippetDescription": "Обновите этот фрагмент команды.",
|
||
"saveSnippetButton": "Сохранить изменения",
|
||
"createSuccess": "Фрагмент кода успешно создан.",
|
||
"createFailed": "Не удалось создать фрагмент",
|
||
"updateSuccess": "Фрагмент кода успешно обновлен.",
|
||
"updateFailed": "Не удалось обновить фрагмент кода.",
|
||
"deleteFailed": "Не удалось удалить фрагмент",
|
||
"folderCreateSuccess": "Папка успешно создана.",
|
||
"folderCreateFailed": "Не удалось создать папку.",
|
||
"editFolderTitle": "Редактировать папку",
|
||
"editFolderDescription": "Переименовать или изменить внешний вид этой папки",
|
||
"saveFolderButton": "Сохранить изменения",
|
||
"editFolder": "Редактировать папку",
|
||
"deleteFolder": "Удалить папку",
|
||
"folderDeleteSuccess": "Папка \"{{name}}\" удалена",
|
||
"folderDeleteFailed": "Не удалось удалить папку.",
|
||
"folderEditSuccess": "Папка успешно обновлена.",
|
||
"folderEditFailed": "Не удалось обновить папку.",
|
||
"confirmRunMessage": "Запустить \"{{name}}\"?",
|
||
"confirmRunButton": "Бегать",
|
||
"runSuccess": "Выполнено \"{{name}}\" в {{count}} терминале(ах)",
|
||
"copySuccess": "Скопировано \"{{name}}\" в буфер обмена",
|
||
"shareTitle": "Поделиться фрагментом",
|
||
"shareUser": "Пользователь",
|
||
"shareRole": "Роль",
|
||
"selectUser": "Выберите пользователя...",
|
||
"selectRole": "Выберите роль...",
|
||
"shareSuccess": "Фрагмент успешно опубликован.",
|
||
"shareFailed": "Не удалось поделиться фрагментом",
|
||
"revokeSuccess": "Доступ отозван",
|
||
"revokeFailed": "Не удалось отозвать доступ",
|
||
"currentAccess": "Текущий доступ",
|
||
"shareLoadError": "Не удалось загрузить и распределить данные.",
|
||
"loading": "Загрузка...",
|
||
"close": "Закрывать",
|
||
"reorderFailed": "Не удалось сохранить порядок фрагментов.",
|
||
"importExport": "Импорт / Экспорт",
|
||
"exportBtn": "Экспорт в формате JSON",
|
||
"importBtn": "Импорт JSON",
|
||
"exportSuccess": "Фрагменты успешно экспортированы.",
|
||
"exportFailed": "Не удалось экспортировать фрагменты.",
|
||
"importTitle": "Импорт фрагментов",
|
||
"importDescription": "Импорт фрагментов кода и папок из JSON-файла, экспортированного Termix.",
|
||
"importDropOrClick": "Перетащите JSON-файл сюда или нажмите, чтобы выбрать нужный.",
|
||
"importSelectedFile": "Выбрано: {{name}}",
|
||
"importOverwrite": "Замените существующие фрагменты кода с тем же именем и папкой.",
|
||
"importStartBtn": "Импорт",
|
||
"importSuccess": "Импорт завершен: {{snippets}} фрагмент(ы) добавлены, {{updated}} обновлен, {{skipped}} пропущен, {{folders}} папка(и) добавлены",
|
||
"importFailed": "Не удалось импортировать фрагменты кода.",
|
||
"importInvalidFile": "Недопустимый файл: ожидался объект JSON с фрагментами кода или массивами папок.",
|
||
"targetHostsLabel": "Целевые хосты",
|
||
"targetHostsHint": "Назначьте хосты для запуска этого фрагмента кода напрямую, без открытого терминала.",
|
||
"noHostsAvailable": "Хосты не настроены",
|
||
"clearTargetHosts": "Очистить все",
|
||
"hasTargetHosts": "Имеет целевые хосты",
|
||
"runOnTargets": "Выполнено на целевых объектах",
|
||
"directRunSuccess": "Выполнено \"{{name}}\" на {{count}} хосте(ах)",
|
||
"directRunPartialFail": "\"{{name}}\" не удалось на одном или нескольких хостах",
|
||
"executionResultTitle": "Результаты выполнения: {{name}}",
|
||
"executionResultDescription": "Результат выполнения фрагмента кода на каждом целевом хосте.",
|
||
"executionSuccess": "Успех",
|
||
"executionFailed": "Неуспешный"
|
||
},
|
||
"userProfile": {
|
||
"storageModeLocal": "Браузер",
|
||
"storageModeCloud": "База данных",
|
||
"storageModeDescription": "Браузер сохраняет настройки только в этом браузере. База данных синхронизируется с сервером и загружается на любое устройство.",
|
||
"resetToDefaults": "Сбросить до значений по умолчанию",
|
||
"resetToDefaultsSuccess": "Настройки сброшены до значений по умолчанию.",
|
||
"storageModeSwitch": "Хранилище предпочтений",
|
||
"sectionAccount": "Счет",
|
||
"sectionAppearance": "Появление",
|
||
"sectionSecurity": "Безопасность",
|
||
"sectionApiKeys": "Ключи API",
|
||
"sectionC2sTunnels": "Туннели C2S",
|
||
"usernameLabel": "Имя пользователя",
|
||
"roleLabel": "Роль",
|
||
"roleAdministrator": "Администратор",
|
||
"authMethodLabel": "Метод аутентификации",
|
||
"authMethodLocal": "Местный",
|
||
"twoFaLabel": "2FA",
|
||
"twoFaOn": "На",
|
||
"twoFaOff": "Выключенный",
|
||
"versionLabel": "Версия",
|
||
"deleteAccount": "Удалить аккаунт",
|
||
"deleteAccountDescription": "Удалить свой аккаунт навсегда",
|
||
"changeServerDescription": "Переключитесь на другой сервер Termix.",
|
||
"deleteButton": "Удалить",
|
||
"deleteAccountPermanent": "Это действие является необратимым и не подлежит отмене.",
|
||
"deleteAccountWarning": "Все сессии, хосты, учетные данные и настройки будут безвозвратно удалены.",
|
||
"confirmPasswordDeletePlaceholder": "Введите свой пароль для подтверждения.",
|
||
"languageLabel": "Язык",
|
||
"themeLabel": "Тема",
|
||
"fontSizeLabel": "Размер шрифта",
|
||
"accentColorLabel": "Акцентный цвет",
|
||
"settingsTerminal": "Терминал",
|
||
"commandAutocomplete": "Автозаполнение команд",
|
||
"commandAutocompleteDesc": "Отображать автозаполнение во время набора текста",
|
||
"terminalLinkBehavior": "Ссылка на терминал Щелчок",
|
||
"terminalLinkBehaviorDesc": "Поведение по умолчанию при нажатии на ссылки в терминале",
|
||
"historyTracking": "Отслеживание истории",
|
||
"historyTrackingDesc": "Отслеживание команд терминала",
|
||
"commandPalette": "Палитра команд",
|
||
"commandPaletteDesc": "Включить сочетание клавиш",
|
||
"reopenTabsOnLogin": "Открывайте вкладки повторно при входе в систему.",
|
||
"reopenTabsOnLoginDesc": "Восстанавливайте открытые вкладки при входе в систему или обновлении страницы, даже с другого устройства.",
|
||
"confirmTabClose": "Подтвердить закрытие вкладки",
|
||
"confirmTabCloseDesc": "Спросите разрешения, прежде чем закрывать вкладки терминала.",
|
||
"settingsSidebar": "Боковая панель",
|
||
"showHostTags": "Показать теги ведущего",
|
||
"showHostTagsDesc": "Отображать теги в списке хостов",
|
||
"hostTrayOnClick": "Нажмите, чтобы развернуть действия с хостом.",
|
||
"hostTrayOnClickDesc": "Всегда отображайте кнопки подключения; щелкните по ним, чтобы развернуть параметры управления, вместо того чтобы наводить курсор на них.",
|
||
"compactHostView": "Компактный вид хоста",
|
||
"compactHostViewDesc": "Сверните список всех хостов в одну строку, отображающую только его имя и адрес.",
|
||
"statusColors": "Реальные цвета статуса",
|
||
"statusColorsDesc": "Вместо акцентного цвета используйте зеленый/красный для обозначения статуса онлайн/офлайн.",
|
||
"pinAppRail": "Панель приложений Pin",
|
||
"pinAppRailDesc": "Левая боковая панель приложения всегда должна быть развернута, а не расширяться при наведении курсора.",
|
||
"expandAppRailOnHover": "Развернуть панель приложений при наведении курсора",
|
||
"expandAppRailOnHoverDesc": "Разрешите левой боковой панели приложения расширяться при наведении на неё указателя мыши.",
|
||
"settingsNavigation": "Навигация",
|
||
"navigationTabsDesc": "Выберите, какие вкладки будут отображаться в панели приложений.",
|
||
"settingsSnippets": "Фрагменты",
|
||
"foldersCollapsed": "Папки свернуты",
|
||
"foldersCollapsedDesc": "Папки по умолчанию сворачиваются.",
|
||
"confirmExecution": "Подтвердить выполнение",
|
||
"confirmExecutionDesc": "Перед запуском фрагментов кода подтвердите выполнение.",
|
||
"settingsUpdates": "Обновления",
|
||
"disableUpdateChecks": "Отключить проверку обновлений",
|
||
"disableUpdateChecksDesc": "Прекратите проверку обновлений.",
|
||
"totpAuthenticator": "TOTP-аутентификатор",
|
||
"totpEnabled": "Двухфакторная аутентификация включена.",
|
||
"totpDisabled": "Добавить дополнительную защиту при входе в систему.",
|
||
"disable": "Запрещать",
|
||
"enable": "Давать возможность",
|
||
"setupTotp": "Настройка TOTP",
|
||
"qrCode": "QR-код",
|
||
"totpInstructions": "Отсканируйте QR-код или введите секретный код в приложении-аутентификаторе, затем введите 6-значный код.",
|
||
"totpCodePlaceholder": "000000",
|
||
"verify": "Проверять",
|
||
"changePassword": "Изменить пароль",
|
||
"currentPasswordLabel": "Текущий пароль",
|
||
"currentPasswordPlaceholder": "Текущий пароль",
|
||
"newPasswordLabel": "Новый пароль",
|
||
"newPasswordPlaceholder": "Новый пароль",
|
||
"confirmPasswordLabel": "Подтвердите новый пароль",
|
||
"confirmPasswordPlaceholder": "Подтвердите новый пароль",
|
||
"updatePassword": "Обновить пароль",
|
||
"createApiKeyTitle": "Создать ключ API",
|
||
"createApiKeyDescription": "Сгенерируйте новый API-ключ для программного доступа.",
|
||
"apiKeyNameLabel": "Имя",
|
||
"apiKeyNamePlaceholder": "например, конвейер непрерывной интеграции (CI Pipeline)",
|
||
"expiryDateLabel": "Дата истечения срока действия",
|
||
"optional": "необязательный",
|
||
"cancel": "Отмена",
|
||
"createKey": "Создать ключ",
|
||
"apiKeyCount": "{{count}} ключи",
|
||
"newKey": "Новый ключ",
|
||
"noApiKeys": "API-ключи пока отсутствуют.",
|
||
"apiKeyActive": "Активный",
|
||
"apiKeyUsageHint": "Вложите свой ключ в",
|
||
"apiKeyUsageHintHeader": "заголовок.",
|
||
"apiKeyPermissionsHint": "Ключи наследуют права доступа пользователя, создавшего их.",
|
||
"roleUser": "Пользователь",
|
||
"authMethodDual": "Двойная аутентификация",
|
||
"authMethodOidc": "ОИДК",
|
||
"totpSetupFailed": "Не удалось запустить настройку TOTP.",
|
||
"totpEnter6Digits": "Введите 6-значный код",
|
||
"totpEnabledSuccess": "Включена двухфакторная аутентификация",
|
||
"totpInvalidCode": "Неверный код, пожалуйста, попробуйте еще раз.",
|
||
"totpDisableInputRequired": "Введите свой TOTP-код или пароль.",
|
||
"totpDisabledSuccess": "Двухфакторная аутентификация отключена",
|
||
"totpDisableFailed": "Не удалось отключить двухфакторную аутентификацию.",
|
||
"totpDisableTitle": "Отключить двухфакторную аутентификацию",
|
||
"totpDisablePlaceholder": "Введите TOTP-код или пароль",
|
||
"totpDisableConfirm": "Отключить двухфакторную аутентификацию",
|
||
"totpContinueVerify": "Продолжить проверку",
|
||
"totpVerifyTitle": "Подтвердите код",
|
||
"totpBackupTitle": "Резервные коды",
|
||
"totpDownloadBackup": "Скачать резервные коды",
|
||
"passkeys": "Пароли",
|
||
"passkeysDesc": "Используйте учетные данные WebAuthn/FIDO2 для входа в систему без пароля.",
|
||
"passkeyName": "Имя пароля",
|
||
"passkeyUvPreferred": "Предпочтительный",
|
||
"passkeyUvRequired": "Необходимый",
|
||
"passkeyUvDiscouraged": "Разочарованный",
|
||
"addPasskey": "Добавить пароль",
|
||
"noPasskeys": "Пароли не зарегистрированы.",
|
||
"passkeyAdded": "Добавлен пароль",
|
||
"passkeyAddFailed": "Не удалось добавить пароль.",
|
||
"passkeyDeleted": "Пароль удален",
|
||
"passkeyDeleteFailed": "Не удалось удалить пароль.",
|
||
"done": "Сделанный",
|
||
"secretCopied": "Секретный ключ скопирован в буфер обмена",
|
||
"apiKeyNameRequired": "Имя ключа обязательно для ввода.",
|
||
"apiKeyCreated": "Создан ключ API \"{{name}}",
|
||
"apiKeyCreateFailed": "Не удалось создать ключ API.",
|
||
"apiKeyUser": "Пользователь",
|
||
"apiKeyExpires": "Срок действия истекает",
|
||
"apiKeyRevoked": "Ключ API \"{{name}}\" отозван",
|
||
"apiKeyRevokeFailed": "Не удалось отозвать ключ API.",
|
||
"passwordFieldsRequired": "Требуется указать текущий и новый пароль.",
|
||
"passwordMismatch": "Пароли не совпадают",
|
||
"passwordTooShort": "Пароль должен состоять как минимум из 6 символов.",
|
||
"passwordUpdated": "Пароль успешно обновлен.",
|
||
"passwordUpdateFailed": "Не удалось обновить пароль",
|
||
"deletePasswordRequired": "Для удаления вашей учетной записи требуется пароль.",
|
||
"deleteFailed": "Не удалось удалить учетную запись.",
|
||
"deleting": "Удаление...",
|
||
"colorPickerTooltip": "Открыть палитру цветов",
|
||
"themeSystem": "Система",
|
||
"themeLight": "Свет",
|
||
"themeDark": "Темный",
|
||
"themeDracula": "Дракула",
|
||
"themeCatppuccin": "Кэтпучин",
|
||
"themeNord": "Норд",
|
||
"themeSolarized": "Соляризованный",
|
||
"themeTokyoNight": "Токийская ночь",
|
||
"themeOneDark": "Один Темный",
|
||
"themeGruvbox": "Gruvbox"
|
||
}
|
||
}
|
||
},
|
||
"tmuxMonitor": {
|
||
"title": "Монитор Tmux",
|
||
"failedToLoadHosts": "Не удалось загрузить хосты.",
|
||
"failedToLoad": "Не удалось загрузить сессии tmux.",
|
||
"tmuxUnavailable": "tmux не установлен на этом хосте.",
|
||
"noSessions": "На этом хосте нет сессий tmux.",
|
||
"noHostSelected": "Хост не выбран",
|
||
"attached": "Прикрепил",
|
||
"detached": "Отдельно стоящий",
|
||
"attach": "Прикреплять",
|
||
"editTags": "Редактировать теги",
|
||
"tagsHint": "Теги, разделённые запятыми (например, YOLO, lab, training)",
|
||
"tagsSaved": "Сохраненные теги",
|
||
"tagsSaveFailed": "Не удалось сохранить теги.",
|
||
"searchPlaceholder": "Результаты поиска по всем сессиям...",
|
||
"searchResults": "{{count}} матчей",
|
||
"searchFailed": "Поиск не удался",
|
||
"selectPaneHint": "Выберите панель, чтобы просмотреть результат.",
|
||
"closePreview": "Закрыть предварительный просмотр",
|
||
"newSession": "Новая сессия",
|
||
"newSessionHint": "Название сессии (буквы, цифры, _ @ % + = -)",
|
||
"newSessionPlaceholder": "моя сессия",
|
||
"create": "Создавать",
|
||
"sessionCreated": "Создана сессия \"{{name}}",
|
||
"sessionCreateFailed": "Не удалось создать сессию.",
|
||
"splitRight": "Разделить вправо",
|
||
"splitDown": "Разделить",
|
||
"splitFailed": "Не удалось разделить панель",
|
||
"newWindow": "Новое окно",
|
||
"windowCreateFailed": "Не удалось создать окно.",
|
||
"attachSessionTooltip": "Прикрепить к {{session}}",
|
||
"refresh": "Обновить",
|
||
"refreshFailed": "Не удалось обновить сессии.",
|
||
"collapseAll": "Свернуть все",
|
||
"expandAll": "Развернуть все",
|
||
"moreActions": "Дополнительные действия",
|
||
"sessionStats": "Статистика сессии",
|
||
"renameSessionTitle": "Переименовать сессию \"{{name}}\"",
|
||
"rename": "Переименовать",
|
||
"sessionRenamed": "Сессия переименована в \"{{name}}\"",
|
||
"sessionRenameFailed": "Не удалось переименовать сессию.",
|
||
"editTagsTitle": "Редактировать теги для \"{{name}}\"",
|
||
"killPane": "Панель отключения",
|
||
"resizeTree": "Перетащите для изменения размера — дважды щелкните для сброса.",
|
||
"reattach": "Повторно прикрепите (исправляет искаженное изображение)",
|
||
"killWindow": "Окно убийства",
|
||
"killWindowTitle": "Окно уничтожения {{index}} из \"{{session}}\"?",
|
||
"killWindowBody": "Все окна и процессы в этом окне будут завершены. Завершение работы последнего окна завершает сессию.",
|
||
"windowKillFailed": "Не удалось уничтожить окно",
|
||
"statusActivity": "Активность",
|
||
"statusWindows": "Windows",
|
||
"statusPanes": "стекла",
|
||
"statusTags": "Теги",
|
||
"killPaneTitle": "Панель закрытия {{id}}?",
|
||
"killPaneBody": "Процесс, запущенный в этой панели, будет завершен. Завершение работы последней панели закроет ее окно.",
|
||
"paneKillFailed": "Не удалось закрыть панель",
|
||
"killSessionTitle": "Завершить сессию \"{{name}}\"?",
|
||
"killSessionBody": "Все окна и запущенные процессы в этой сессии будут завершены. Это действие необратимо.",
|
||
"kill": "Убийство",
|
||
"sessionKilled": "Сессия \"{{name}}\" завершена",
|
||
"sessionKillFailed": "Не удалось завершить сессию",
|
||
"hostUnreachable": "Не удалось подключиться к хосту. Убедитесь, что он находится в сети и доступен.",
|
||
"noServer": "На этом хосте не запущен сервер tmux.",
|
||
"searchTruncated": "Частичные результаты — поиск охватывает последние {{lines}} строк каждой панели и не более {{panes}} панелей.",
|
||
"closeSearchResults": "Закрыть результаты поиска",
|
||
"retry": "Повторить попытку",
|
||
"noHosts": "Нет доступных SSH-хостов.",
|
||
"noHostsHint": "Включите параметр Tmux Monitor на SSH-хосте (Менеджер хостов → вкладка Терминал), чтобы отслеживать его tmux-сессии.",
|
||
"tmuxInstallHint": "Установите его на хост с помощью:",
|
||
"attachTooltip": "Откройте терминал, чтобы перейти к {{host}}",
|
||
"attachTooltipPane": "Откройте терминал и перейдите в сессию tmux: {{host}} — tmux session {{session}}",
|
||
"timeJustNow": "прямо сейчас",
|
||
"timeMinutes": "{{count}}м назад",
|
||
"timeHours": "{{count}}ч назад",
|
||
"timeDays": "{{count}}дней назад"
|
||
},
|
||
"mobileKeyboard": {
|
||
"shift": "Сдвиг",
|
||
"ctrl": "Ctrl",
|
||
"esc": "Эск",
|
||
"tab": "Вкладка",
|
||
"backTab": "⇥",
|
||
"arrowUp": "Стрелка вверх",
|
||
"arrowDown": "Стрела вниз",
|
||
"arrowLeft": "Стрелка влево",
|
||
"arrowRight": "Стрелка вправо",
|
||
"home": "Дом",
|
||
"end": "Конец",
|
||
"pageUp": "PgUp",
|
||
"pageDown": "PgDn",
|
||
"delete": "Дел",
|
||
"editQuickKeys": "Редактировать быстрые клавиши",
|
||
"quickKeysTitle": "Быстрые клавиши",
|
||
"quickKeysDesc": "Нажмите × для удаления. Поддерживается до 8 символов.",
|
||
"quickKeyPlaceholder": "например, судо ",
|
||
"addQuickKey": "Добавлять",
|
||
"removeQuickKey": "Удалять",
|
||
"resetDefaults": "Сбросить до значений по умолчанию",
|
||
"done": "Сделанный"
|
||
},
|
||
"serial": {
|
||
"title": "Серийный номер",
|
||
"portLabel": "Порт",
|
||
"portPlaceholder": "/dev/ttyUSB0 или COM3",
|
||
"baudRateLabel": "Скорость передачи данных",
|
||
"dataBitsLabel": "Данные",
|
||
"stopBitsLabel": "Останавливаться",
|
||
"parityLabel": "Паритет",
|
||
"parityNone": "Никто",
|
||
"parityEven": "Даже",
|
||
"parityOdd": "Странный",
|
||
"connect": "Подключиться к последовательному порту",
|
||
"disconnect": "Отключить",
|
||
"refreshPorts": "Порты обновления",
|
||
"connected": "Подключено к {{path}} со скоростью {{baud}} бод",
|
||
"disconnected": "Последовательный порт отключен",
|
||
"connectionError": "Не удалось открыть последовательный порт.",
|
||
"wsError": "Ошибка WebSocket",
|
||
"errorNoServerUrl": "URL-адрес сервера не настроен",
|
||
"notSupportedTitle": "Последовательный порт не поддерживается",
|
||
"notSupported": "Для последовательного соединения требуется браузер с поддержкой Web Serial API (Chrome, Edge или Firefox 151+) или настольное приложение Termix.",
|
||
"hideHint": "Вкладку «Серийный номер» можно скрыть в разделе «Профиль пользователя» > «Внешний вид» > «Боковая панель» > «Навигация».",
|
||
"browserPickerHint": "Нажмите «Подключить», и в вашем браузере откроется окно выбора порта, где вы сможете выбрать устройство."
|
||
},
|
||
"metricsHistory": {
|
||
"title": "История метрик",
|
||
"historySuffix": "История",
|
||
"cpuMemoryDisk": "Процессор / Память / Диск",
|
||
"network": "Сеть",
|
||
"download": "РКС",
|
||
"upload": "TX",
|
||
"noData": "Данные за этот период времени отсутствуют.",
|
||
"custom": "Обычай",
|
||
"to": "к",
|
||
"apply": "Применять",
|
||
"viewHistory": "Просмотреть историю"
|
||
},
|
||
"alerts": {
|
||
"tabFirings": "Оповещения",
|
||
"tabRules": "Правила",
|
||
"tabChannels": "Каналы",
|
||
"noFirings": "Нет неподтвержденных уведомлений",
|
||
"noRules": "Правила оповещения не настроены",
|
||
"noChannels": "Каналы уведомлений не настроены",
|
||
"rulesDesc": "Правила оповещения запускают уведомления.",
|
||
"channelsDesc": "Куда отправляются уведомления об оповещениях",
|
||
"acknowledge": "Сознавать",
|
||
"ackAll": "Щелкнуть Все",
|
||
"allAcknowledged": "Все оповещения подтверждены.",
|
||
"ackFailed": "Не подтвердил оповещение",
|
||
"ackAllFailed": "Не удалось подтвердить все оповещения.",
|
||
"showAcknowledged": "Показать все",
|
||
"hideAcknowledged": "Спрячься",
|
||
"addChannel": "Добавить канал",
|
||
"editChannel": "Редактировать канал",
|
||
"channelName": "Имя",
|
||
"channelType": "Тип",
|
||
"channelNameRequired": "Имя обязательно для указания.",
|
||
"webhookUrl": "URL",
|
||
"webhookUrlRequired": "URL веб-перехватчика обязателен",
|
||
"webhookDesc": "Отправляйте JSON-данные по этому URL-адресу при каждом срабатывании оповещения.",
|
||
"ntfyServer": "URL сервера",
|
||
"ntfyTopic": "Тема",
|
||
"ntfyTopicRequired": "Тема обязательна",
|
||
"ntfyToken": "Токен доступа (необязательно)",
|
||
"channelSaveFailed": "Не удалось сохранить канал",
|
||
"test": "Тест",
|
||
"testSent": "Уведомление о тестировании отправлено.",
|
||
"testFailed": "Тестовое уведомление не удалось",
|
||
"addRule": "Добавить правило оповещения",
|
||
"editRule": "Изменить правило оповещения",
|
||
"ruleName": "Название правила",
|
||
"ruleNameRequired": "Имя обязательно для указания.",
|
||
"triggerType": "Курок",
|
||
"thresholdValue": "Порог (%)",
|
||
"durationSeconds": "Длительность (секунды, 0 = немедленный выстрел)",
|
||
"cooldownMinutes": "Время восстановления (минуты)",
|
||
"channels": "Каналы уведомлений",
|
||
"noChannelsHint": "Сначала добавьте каналы на вкладке «Каналы».",
|
||
"ruleSaveFailed": "Правило не удалось сохранить"
|
||
}
|
||
}
|