Files
Termix/src/ui/locales/translated/ro_RO.json
T
3643e7af97 release-2.9.0 (#1532)
* fix(macos): skip single-instance lock in Mac App Store builds (#1454)

fix(macos): skip single-instance lock in Mac App Store builds

* Fix/backend optional sharp (#1455)

Fix/backend optional sharp

* feat: issue #1218 (#1218)

https://github.com/Termix-SSH/Support/issues/1218

* feat: Add option to use saved global custom theme under Connection Defaults (#1209)

https://github.com/Termix-SSH/Support/issues/1209

* feat: Add Fleet Sharing functionality to the UI (#1228)

https://github.com/Termix-SSH/Support/issues/1228

* feat: Add a list view to the Docker management page (#1237)

https://github.com/Termix-SSH/Support/issues/1237

* feat: issue #1264 (#1264)

https://github.com/Termix-SSH/Support/issues/1264

* feat: 2FA With FortiToken (#1288)

https://github.com/Termix-SSH/Support/issues/1288

* feat: Allow to disable showing paths to folders (#1274)

https://github.com/Termix-SSH/Support/issues/1274

* feat: Sync Network Graph between Desktop and Remote Server (#1245)

https://github.com/Termix-SSH/Support/issues/1245

* feat: Version Number on offline servers (#1291)

https://github.com/Termix-SSH/Support/issues/1291

* feat: Support OrbStack Docker socket path on macOS / Fix "Docker is not installed" on mac... (#1302)

https://github.com/Termix-SSH/Support/issues/1302

* feat: Sidebar host click should focus existing tab instead of opening a new connection (#1289)

https://github.com/Termix-SSH/Support/issues/1289

* fix: Search in side bar shows overlapping hosts when grouped by tags (#1303)

https://github.com/Termix-SSH/Support/issues/1303

* fix: I can't send a file on its own. (#1304)

https://github.com/Termix-SSH/Support/issues/1304

* fix: sudo password not autofilling (#1248)

https://github.com/Termix-SSH/Support/issues/1248

* fix: node-MainThread (#1300)

https://github.com/Termix-SSH/Support/issues/1300

* fix: Tunnel authentication with shared credentials (#1295)

https://github.com/Termix-SSH/Support/issues/1295

* fix: host key updates not syncing, metrics 404 race on first connect

Host key writes never bumped updatedAt so sync never picked them up.
Also retry the first metrics fetch briefly instead of failing right away.

* chore: increment ver

* feat: add category and icon fields to plugin manifest schema

* ci(deps): bump the github-actions group with 2 updates (#1458)

Bumps the github-actions group with 2 updates: [crowdin/github-action](https://github.com/crowdin/github-action) and [actions/github-script](https://github.com/actions/github-script).


Updates `crowdin/github-action` from 2 to 3
- [Release notes](https://github.com/crowdin/github-action/releases)
- [Commits](https://github.com/crowdin/github-action/compare/v2...v3)

Updates `actions/github-script` from 7 to 9
- [Release notes](https://github.com/actions/github-script/releases)
- [Commits](https://github.com/actions/github-script/compare/v7...v9)

---
updated-dependencies:
- dependency-name: crowdin/github-action
  dependency-version: '3'
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: github-actions
- dependency-name: actions/github-script
  dependency-version: '9'
  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 13 updates (#1459)

Bumps the dev-patch-updates group with 13 updates:

| Package | From | To |
| --- | --- | --- |
| [@codemirror/commands](https://github.com/codemirror/commands) | `6.11.0` | `6.11.1` |
| [@codemirror/search](https://github.com/codemirror/search) | `6.7.1` | `6.7.2` |
| [@codemirror/view](https://github.com/codemirror/view) | `6.43.9` | `6.43.12` |
| [@testing-library/dom](https://github.com/testing-library/dom-testing-library) | `10.4.1` | `10.4.2` |
| [@testing-library/react](https://github.com/testing-library/react-testing-library) | `16.3.2` | `16.3.3` |
| [@testing-library/user-event](https://github.com/testing-library/user-event) | `14.6.5` | `14.6.7` |
| [@types/ssh2](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/ssh2) | `1.15.5` | `1.15.6` |
| [@vitejs/plugin-react](https://github.com/vitejs/vite-plugin-react/tree/HEAD/packages/plugin-react) | `6.1.0` | `6.1.1` |
| [cytoscape](https://github.com/cytoscape/cytoscape.js) | `3.34.1` | `3.34.3` |
| [eslint-plugin-react-refresh](https://github.com/ArnaudBarre/eslint-plugin-react-refresh) | `0.5.4` | `0.5.7` |
| [i18next](https://github.com/i18next/i18next) | `26.4.0` | `26.4.2` |
| [prettier](https://github.com/prettier/prettier) | `3.9.6` | `3.9.8` |
| [react-i18next](https://github.com/i18next/react-i18next) | `17.0.12` | `17.0.14` |


Updates `@codemirror/commands` from 6.11.0 to 6.11.1
- [Changelog](https://github.com/codemirror/commands/blob/main/CHANGELOG.md)
- [Commits](https://github.com/codemirror/commands/commits)

Updates `@codemirror/search` from 6.7.1 to 6.7.2
- [Changelog](https://github.com/codemirror/search/blob/main/CHANGELOG.md)
- [Commits](https://github.com/codemirror/search/commits)

Updates `@codemirror/view` from 6.43.9 to 6.43.12
- [Changelog](https://github.com/codemirror/view/blob/main/CHANGELOG.md)
- [Commits](https://github.com/codemirror/view/commits)

Updates `@testing-library/dom` from 10.4.1 to 10.4.2
- [Release notes](https://github.com/testing-library/dom-testing-library/releases)
- [Changelog](https://github.com/testing-library/dom-testing-library/blob/main/CHANGELOG.md)
- [Commits](https://github.com/testing-library/dom-testing-library/compare/v10.4.1...v10.4.2)

Updates `@testing-library/react` from 16.3.2 to 16.3.3
- [Release notes](https://github.com/testing-library/react-testing-library/releases)
- [Changelog](https://github.com/testing-library/react-testing-library/blob/main/CHANGELOG.md)
- [Commits](https://github.com/testing-library/react-testing-library/compare/v16.3.2...v16.3.3)

Updates `@testing-library/user-event` from 14.6.5 to 14.6.7
- [Release notes](https://github.com/testing-library/user-event/releases)
- [Changelog](https://github.com/testing-library/user-event/blob/main/CHANGELOG.md)
- [Commits](https://github.com/testing-library/user-event/compare/v14.6.5...v14.6.7)

Updates `@types/ssh2` from 1.15.5 to 1.15.6
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/ssh2)

Updates `@vitejs/plugin-react` from 6.1.0 to 6.1.1
- [Release notes](https://github.com/vitejs/vite-plugin-react/releases)
- [Changelog](https://github.com/vitejs/vite-plugin-react/blob/main/packages/plugin-react/CHANGELOG.md)
- [Commits](https://github.com/vitejs/vite-plugin-react/commits/plugin-react@6.1.1/packages/plugin-react)

Updates `cytoscape` from 3.34.1 to 3.34.3
- [Release notes](https://github.com/cytoscape/cytoscape.js/releases)
- [Commits](https://github.com/cytoscape/cytoscape.js/compare/v3.34.1...v3.34.3)

Updates `eslint-plugin-react-refresh` from 0.5.4 to 0.5.7
- [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.4...v0.5.7)

Updates `i18next` from 26.4.0 to 26.4.2
- [Release notes](https://github.com/i18next/i18next/releases)
- [Changelog](https://github.com/i18next/i18next/blob/master/CHANGELOG.md)
- [Commits](https://github.com/i18next/i18next/compare/v26.4.0...v26.4.2)

Updates `prettier` from 3.9.6 to 3.9.8
- [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.9.6...3.9.8)

Updates `react-i18next` from 17.0.12 to 17.0.14
- [Changelog](https://github.com/i18next/react-i18next/blob/master/CHANGELOG.md)
- [Commits](https://github.com/i18next/react-i18next/compare/v17.0.12...v17.0.14)

---
updated-dependencies:
- dependency-name: "@codemirror/commands"
  dependency-version: 6.11.1
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: dev-patch-updates
- dependency-name: "@codemirror/search"
  dependency-version: 6.7.2
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: dev-patch-updates
- dependency-name: "@codemirror/view"
  dependency-version: 6.43.12
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: dev-patch-updates
- dependency-name: "@testing-library/dom"
  dependency-version: 10.4.2
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: dev-patch-updates
- dependency-name: "@testing-library/react"
  dependency-version: 16.3.3
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: dev-patch-updates
- dependency-name: "@testing-library/user-event"
  dependency-version: 14.6.7
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: dev-patch-updates
- dependency-name: "@types/ssh2"
  dependency-version: 1.15.6
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: dev-patch-updates
- dependency-name: "@vitejs/plugin-react"
  dependency-version: 6.1.1
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: dev-patch-updates
- dependency-name: cytoscape
  dependency-version: 3.34.3
  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.7
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: dev-patch-updates
- dependency-name: i18next
  dependency-version: 26.4.2
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: dev-patch-updates
- dependency-name: prettier
  dependency-version: 3.9.8
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: dev-patch-updates
- dependency-name: react-i18next
  dependency-version: 17.0.14
  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 the prod-patch-updates group with 6 updates (#1461)

Bumps the prod-patch-updates group with 6 updates:

| Package | From | To |
| --- | --- | --- |
| [@tanstack/react-virtual](https://github.com/TanStack/virtual/tree/HEAD/packages/react-virtual) | `3.14.10` | `3.14.13` |
| [compression](https://github.com/expressjs/compression) | `1.8.1` | `1.8.2` |
| [jose](https://github.com/panva/jose) | `6.2.9` | `6.2.12` |
| [jszip](https://github.com/Stuk/jszip) | `3.10.1` | `3.10.2` |
| [socks](https://github.com/JoshGlazebrook/socks) | `2.8.9` | `2.8.10` |
| [undici](https://github.com/nodejs/undici) | `8.10.0` | `8.10.2` |


Updates `@tanstack/react-virtual` from 3.14.10 to 3.14.13
- [Release notes](https://github.com/TanStack/virtual/releases)
- [Changelog](https://github.com/TanStack/virtual/blob/main/packages/react-virtual/CHANGELOG.md)
- [Commits](https://github.com/TanStack/virtual/commits/@tanstack/react-virtual@3.14.13/packages/react-virtual)

Updates `compression` from 1.8.1 to 1.8.2
- [Release notes](https://github.com/expressjs/compression/releases)
- [Changelog](https://github.com/expressjs/compression/blob/master/HISTORY.md)
- [Commits](https://github.com/expressjs/compression/compare/v1.8.1...v1.8.2)

Updates `jose` from 6.2.9 to 6.2.12
- [Release notes](https://github.com/panva/jose/releases)
- [Changelog](https://github.com/panva/jose/blob/main/CHANGELOG.md)
- [Commits](https://github.com/panva/jose/compare/v6.2.9...v6.2.12)

Updates `jszip` from 3.10.1 to 3.10.2
- [Changelog](https://github.com/Stuk/jszip/blob/main/CHANGES.md)
- [Commits](https://github.com/Stuk/jszip/compare/v3.10.1...v3.10.2)

Updates `socks` from 2.8.9 to 2.8.10
- [Release notes](https://github.com/JoshGlazebrook/socks/releases)
- [Commits](https://github.com/JoshGlazebrook/socks/compare/2.8.9...2.8.10)

Updates `undici` from 8.10.0 to 8.10.2
- [Release notes](https://github.com/nodejs/undici/releases)
- [Commits](https://github.com/nodejs/undici/compare/v8.10.0...v8.10.2)

---
updated-dependencies:
- dependency-name: "@tanstack/react-virtual"
  dependency-version: 3.14.13
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: prod-patch-updates
- dependency-name: compression
  dependency-version: 1.8.2
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: prod-patch-updates
- dependency-name: jose
  dependency-version: 6.2.12
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: prod-patch-updates
- dependency-name: jszip
  dependency-version: 3.10.2
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: prod-patch-updates
- dependency-name: socks
  dependency-version: 2.8.10
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: prod-patch-updates
- dependency-name: undici
  dependency-version: 8.10.2
  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>

* feat: add plugin worker protocol, bootstrap and plugin_storage table

Worker-side ctx proxy plus the message envelope it talks over, and the
per-plugin key/value table behind ctx.storage with migrations for all
three dialects. Rows cascade with the plugin so uninstalling leaves
nothing behind.

* feat: add allowlisted host view for plugins

An allowlist rather than a list of fields to strip. A blocklist rots:
the moment a new secret-bearing column lands on SSHHost it starts
leaking silently. With an allowlist a new field stays invisible to
plugins until someone adds it here on purpose.

* feat: add plugin loader with manifest validation and crash restart

Validates an unpacked plugin, spawns a worker_threads worker and manages
activate/deactivate/crash-restart with backoff, disabling after three
tries.

The crash counter clears only after a plugin stays up past a stability
window, not on activation. Clearing it on activation let a plugin that
activates cleanly and then dies restart forever, because every attempt
looked like the first.

loader.ts documents what the worker boundary does and does not buy you.
Node's permission model is process-wide, not per-worker, so it cannot be
enabled for plugin workers alone and is not claimed here.

* feat: route internal events through a shared plugin event bus

Formalises three ad-hoc publish paths that already existed:
automation-events.ts, metrics/automation-bridge.ts and the
hostSessionStatus singleton, now the host.session.status topic.

Both invariants the old code relied on are preserved. Publishing stays
fire-and-forget, so a failing subscriber cannot disturb a metrics poll or
a host delete. The automations engine subscribes to the bus at scheduler
start instead of being imported ad hoc, which keeps the edge
one-directional: automations may import repositories, hosts modules must
not import automations.

* feat: add plugin ctx broker with permission gate and audit

Every ctx call a plugin makes is checked against its granted
capabilities, performed by the main thread, then audited. A capability
must be both declared in the manifest and granted in the database, so
widening a plugin's reach always needs a new manifest the user can see,
never just a database row.

Audit attribution is set by the broker, not the plugin. The plugin
supplies only the details, so it cannot forge the actor.

fix: stop plugin workers seeing plaintext credentials in error messages

A failing ctx.ssh.connect handed the worker the raw error from deep in
the SSH stack, which embeds the connect config. The worker received, in
full:

  Authentication failed for root using password <SECRET>

where <SECRET> was the host's real plaintext password. Any plugin with
ssh.exec could read it by catching the error, defeating the whole point
of the handle-based ssh API.

Errors crossing the boundary are now sanitised. Only PluginFacingError
and PluginPermissionError, both authored here, reach a plugin verbatim;
anything else becomes a generic message and the real one goes to the
log. This uses a marker class rather than matching on message text,
because matching would start leaking again the moment an upstream error
happened to contain a familiar phrase.

Covered by credential-isolation.test.ts, which plants a sentinel in
every secret-bearing field and asserts it appears in no message the
worker ever receives.

* feat: dispatch plugin HTTP routes and wire the runtime into startup

ctx.http.route now registers a real router on the /plugin-api/:pluginId
dispatcher, replacing its stub 404. A plugin never touches the Express
req/res: it gets a plain summary and returns a plain object, so sockets
and session cookies stay on this side of the boundary. Authorization and
cookie headers are not forwarded.

Plugins load last in the start-up sequence, after the server is fully
wired, and are terminated before the database on shutdown so none can
outlive it. A plugin that fails to load cannot stop the backend.

fix: correct the nginx plugin-api location regex

The pattern was ^/plugin-api/(/.*)?$, which needs a double slash and so
never matched /plugin-api/<id>/<route>. Every other block in the file
uses ^/prefix(/.*)?$. Left alone, plugin routes would work in dev and
404 only behind Docker.

* fix: update stale SFTP transfer test for single file destination paths

The test still asserted transferToHost was called with the destination
directory "/srv". Commit 7727fa09 (#1304) deliberately changed a single
file transfer to send the full destination path including the filename,
so the correct expectation is "/srv/remote-1.txt". The code was right
and the test was left behind.

* feat: ship the ssh terminal as a first-party in-process plugin

Adds a hardcoded process:transport-owner tier so the terminal can own its
WebSocket server and ssh2 clients, which cannot cross the worker boundary.

* feat: ship docker as a first-party in-process plugin

Moves docker backend and frontend into plugins/docker/, alongside
ssh-terminal. Adds a host editor tab seam, a dashboard card registry,
and a build step to compile plugin backends into dist.

* feat: ship host metrics as a first-party in-process plugin

* fix: harden plugin auth and add per-request identity for ctx calls

Require auth on /plugin-api, gate plugin enable/grant/revoke routes
behind admin.plugins.manage, and thread the calling user through
worker ctx.hosts/ctx.ssh calls instead of always using the install
owner. Also adds the plugin permissions grant/revoke UI.

* feat: ship the AI assistant as a first-party in-process plugin

Moves src/backend/ai and its routes into plugins/ai, mounted through a
small /ai dispatcher instead of its own port. Moves the ai-enabled and
ai-private-endpoints settings routes out of user-settings-routes.ts
into the plugin too, so it has no leftover core dependents.

* fix: remove compiled plugin JS left behind in plugins/ after build

copy-bundled-plugins.cjs compiled and rewrote plugin backend TS in
place, copied it to dist/plugins, but never deleted the .js it had
just emitted next to the .ts sources. Those files shadowed the real
source for vitest/tsx and had import paths rewritten for the dist
layout, so tests failed with "Cannot find module" once a local build
had run. Affects docker, host-metrics and ai, not just this one.

* feat: add a permission-gated backend service registry for plugins

* feat: add a permission-gated UI action registry and action slots for plugins

Moves the terminal toolbar's hardwired AI button into a slot the ssh-terminal
plugin offers and the ai plugin fills, gated on ai.services.use.

* feat: add cross-plugin secret references gated by the provider's RBAC permission

* feat: move proxmox discovery/import/sync into a first-party plugin

* feat: move remote desktop (RDP/VNC/Telnet) into a first-party plugin

Relocates guacamole backend/frontend source and tests into
plugins/remote-desktop, following the ssh-terminal/docker pattern.

* feat: wire remote-desktop plugin into core and rename i18n keys

Repoints core consumers (dispatcher, collab, session-sharing, tab
utils) at the plugin, adds isTabTypeAvailable gating for rdp/vnc/
telnet, widens hostCapability to accept an array, and renames the
guacamole i18n namespace to remoteDesktop.

* feat: move fleets into a first-party plugin

* feat: move automations into a first-party plugin

* feat: remove legacy alert rules, superseded by automations

Alert rules already auto-migrate into automations on boot and the old
engine stands down after. Deletes the rule/firing tables, routes, UI,
and AI tools; keeps notification channels since automations still use
them. Also fixes automations' notify step, which still called the
deleted repository.

* feat: move network topology into a first-party plugin

* feat: move tailscale device discovery and settings into a plugin

Adds plugins/tailscale/ with a devices sidebar tab, admin settings
section, and re-auth dialog. Host Metrics tailscale manager card and
SSH re-auth banner parsing stay in core.

* feat: move workspaces into a first-party plugin

* feat: move web endpoint into a first-party plugin

* feat: collapse plugin runtime to one tier behind a plugin SDK

* feat: make each plugin an npm workspace built by a termix-plugin CLI

* feat: give plugins their own tables, migrations and sync entities

* feat: serve plugin http and websockets from one mount instead of ports

* feat: namespace plugin permissions and keep them valid when a plugin is off

* feat: give plugins their own settings and one settings screen

* feat: load plugin frontends at runtime and remove plugin ids from the shell

* fix: mock the ai status fetch in its activate test

* feat: add auth extension points and one ssh connect pipeline

* feat: rebuild workspaces as the reference plugin

* fix: gate second factors after SSO/LDAP behind an admin setting

* feat: convert network-topology to a full plugin (B1)

* feat: move snippets backend and tables into a plugin (B2)

* feat: point core frontend snippets pickers at the plugin (B2)

* feat: add the snippets plugin (B2)

* feat: wire ai, automations, fleets and ssh-terminal to snippets (B2)

* feat: finish the tailscale plugin, including SSH auth (B3)

* feat: finish the fleets plugin, add ctx.hosts and host-commands SDK (B4)

* chore: update proxmox and host-metrics locale files for B5

* chore: regenerate drizzle migration journals for B5

* feat: add ctx.hosts create/update to the SDK, host-metrics drops proxmox

* feat: move proxmox node stats and collectors into the proxmox plugin

* feat: drop proxmox host columns, use plugin settings instead

* feat: finish the fleets plugin, add ctx.hosts and host-commands SDK (B4)

* feat: convert file manager into a plugin

* feat: convert ssh tunnels into a plugin

* feat: finish the web-endpoint plugin, add ctx.desktop (B8)

* feat: move the terminal fully into the ssh-terminal plugin (B9)

* feat: convert tmux monitoring into a plugin (B10)

* feat: convert serial console into the serial plugin

* feat: move session sharing and collab rooms into a plugin (B12)

* feat: turn session recording into a plugin (B13)

* feat: finish the remote-desktop plugin (B14)

* feat: finish the host-metrics plugin, move host status into core (B16)

* feat: finish the docker plugin (B15)

* feat: finish the automations plugin (B17)

* feat: finish the ai plugin (B18)

* feat: finish the homepage plugin, move service links and canvas out of core (B19)

* feat: convert wake-on-lan into a plugin (B20)

* feat: convert secret-sources into a plugin (B20)

* feat: move totp and passkeys into plugins (C1)

* feat: move sso and ldap logins into plugins (C2)

* feat: move opkssh and warpgate into plugins (C3)

* feat: move step-ca into a plugin (C4)

* feat: move vault ssh signing into a plugin (C5)

* feat: move termix identity into a plugin (C6)

* feat: move acme certificate automation into a plugin (C7)

* fix: finish 2.9.0 plugin moves and get every check green

* chore: lock the plugin boundary and remove 2.9.0 leftovers

* fix: harden the plugin runtime after the 2.9.0 security review

* feat: add plugin packing, signing, pinned trust and tmxplug bundling

* test: prove 2.8 to 2.9.0 upgrade is lossless and fix what it caught

* fix: give bundled plugin backends a real require for CJS deps

* feat: improve UI loading time and jitter

* feat: show credential sharing inline in the sidebar like host sharing

* feat: tailscale add host and copy ip, fix outbound fetch hang and plugin ESM warning

* feat: unify alerts into one plugin, channels, rules and inbox

* feat: rebuild desktop sync as linked server accounts, fix packaged plugin bundles and UI scaling

* fix: set blacksmith builder cache-key to stop broken gha cache fallback

* fix: link plugin-sdk workspace before npm ci in docker deps stage

* fix: link every plugin workspace before npm ci in docker deps stage

* fix(host-metrics): exclude image and firmware filesystems (#1469)

* fix(host-metrics): exclude image and firmware filesystems

* fix(ci): build plugin SDK before dependent checks

* fix(mysql): keep plugin settings scope indexes within limits

* test(mysql): refresh reviewed plugin upgrade SQL

* fix(hosts): normalize imported jump host references (#1470)

* fix(hosts): normalize imported jump host references

* fix(ci): build plugin SDK before dependent checks

* fix(mysql): keep plugin settings scope indexes within limits

* test(mysql): refresh reviewed plugin upgrade SQL

* fix(ci): build plugin SDK and repair MySQL settings migration (#1471)

* fix(ci): build plugin SDK before dependent checks

* fix(mysql): keep plugin settings scope indexes within limits

* test(mysql): refresh reviewed plugin upgrade SQL

* fix(file-manager): keep inline rename consistent (#1476)

* fix(ci): build plugin SDK before dependent checks

* fix(mysql): keep plugin settings scope indexes within limits

* test(mysql): refresh reviewed plugin upgrade SQL

* fix(file-manager): keep inline rename consistent

* fix(dashboard): reuse translated host status labels (#1475)

* fix(ci): build plugin SDK before dependent checks

* fix(mysql): keep plugin settings scope indexes within limits

* test(mysql): refresh reviewed plugin upgrade SQL

* fix(dashboard): reuse translated host status labels

* docs(api): clarify local and remote version fields (#1474)

* fix(ci): build plugin SDK before dependent checks

* fix(mysql): keep plugin settings scope indexes within limits

* test(mysql): refresh reviewed plugin upgrade SQL

* docs(api): clarify local and remote version fields

* fix(file-manager): preserve selected backgrounds on hover (#1473)

* fix(ci): build plugin SDK before dependent checks

* fix(mysql): keep plugin settings scope indexes within limits

* test(mysql): refresh reviewed plugin upgrade SQL

* fix(file-manager): preserve selection feedback on hover

* test(ui): await dialog focus cleanup before teardown

* fix(file-manager): restore Ctrl/Cmd+F file search (#1472)

* fix(ci): build plugin SDK before dependent checks

* fix(mysql): keep plugin settings scope indexes within limits

* test(mysql): refresh reviewed plugin upgrade SQL

* fix(file-manager): focus file search with Ctrl or Cmd F

* fix: keep rounded-full circular in production builds

* fix(file-manager): cancel uploads and stop remote writes (#1477)

* fix(file-manager): cancel uploads and stop remote writes

* test(css): exercise the configured PostCSS plugin chain

* fix(file-manager): apply compact density to directory tree (#1478)

* fix(file-manager): apply compact density to directory tree

* test(css): exercise the configured PostCSS plugin chain

* fix(file-manager): preserve font sizes in compact mode (#1480)

* fix(file-manager): preserve font sizes in compact mode

* test(css): exercise the configured PostCSS plugin chain

* fix(file-manager): prioritize file names in narrow lists (#1483)

* fix(file-manager): prioritize file names in narrow lists

* test(css): exercise the configured PostCSS plugin chain

* test(identity): preserve full Ed25519 public keys in fixtures

* test(remote-desktop): always mutate ciphertext in tamper test

* fix(remote-desktop): probe the saved host guacd endpoint (#1481)

* fix(remote-desktop): probe the saved host guacd endpoint

* test(css): exercise the configured PostCSS plugin chain

* test(identity): preserve full Ed25519 public keys in fixtures

* fix(homepage): check allowlisted private service reachability (#1479)

* fix(homepage): check allowlisted private service reachability

* test(css): exercise the configured PostCSS plugin chain

* fix(remote-desktop): stop unsolicited clipboard read prompts (#1482)

* fix(remote-desktop): read clipboard only on explicit paste

* test(css): exercise the configured PostCSS plugin chain

* test(identity): preserve full Ed25519 public keys in fixtures

* test(remote-desktop): always mutate ciphertext in tamper test

* chore: simplify plugin readmes, changelogs and manifest descriptions

* fix: keep plugins loaded after signing in from the login screen

* fix(file-manager): accept OS file drops over existing rows (#1484)

* fix(file-manager): accept OS file drops over existing rows

* test(file-manager): target the file label in drop tests

* test(css): exercise the configured PostCSS plugin chain

* test(identity): preserve full Ed25519 public keys in fixtures

* test(remote-desktop): always mutate ciphertext in tamper test

* fix(file-manager): pipeline SFTP download reads (#1485)

* feat: add plugin sdk build to beta release

* fix: make link-store secret check immune to random base64 matches

* fix(ldap): preserve the directory-provided bind DN (#1486)

* fix: compute beta changes across dev branches and move the beta tag

* chore: untrack plugin sdk ARCHITECTURE.md

* chore: remove references to plugin sdk ARCHITECTURE.md

* feat: merge host editor terminal tabs into one owned by ssh-terminal

* feat: add descriptions to plugin host enable toggles

* fix(file-manager): show download progress in file viewers (#1487)

* fix(electron): signal backend readiness over IPC (#1488)

* fix(split-screen): allow layout creation without randomUUID (#1490)

* fix(split-screen): allow layout creation without randomUUID

* test(credentials): avoid flaky Ed25519 key generation

* fix(sidebar): remeasure visible rows after density changes (#1489)

* fix(sidebar): remeasure visible rows after density changes

* test(credentials): avoid flaky Ed25519 key generation

* feat(split-screen): redesign split screen with free-form panes and pane picker

* feat(sidebar): add host click behavior setting, default to always opening a new tab

* feat(snippets): redesign panel to match the host list

* fix(session-recording): stop session logs panel from refetching in a loop

* feat(snippets): bring back sharing, target hosts and drag reorder

* feat(ssh-terminal): add toolbar position, start state, display and fade host settings

* feat(ssh-terminal): add host setting to turn off password prompt auto-fill

* fix(ai): stop streams getting cut off and keep tool steps across messages

* feat: improve quick connect system using plugin api

* fix: proxmox guest sync, startup snippet sync, drop dead cloudflare ssh transport

* feat: move terminal settings, look and ssh tools into ssh-terminal plugin

* feat: move snippets, keybinding actions and macros out of core into plugins

* feat: store rdp, vnc and telnet logins in a generic per-protocol table

* feat: type the plugin host record, move plugin strings out of core and add lint checks

* feat: replace core homepage widget registry with generic extension points

* feat: plugins only see their own host settings in the browser

* feat: harden plugin api for separate repos, signed updates and generic external login

* fix: keep plugin css below core utilities and version plugin assets by their css

* fix: load and save plugin host settings in the editor and tighten settings row spacing

* feat: redesign user host defaults system

* fix(remote-desktop): release held keys on focus loss (#1498)

* fix(session-sharing): replace local presentation after takeover (#1500)

* fix(file-manager): refresh disk usage with directory listing (#1503)

* fix(ssh-terminal): preserve input order during local echo reconciliation (#1505)

* feat(remote-desktop): expose display zoom controls for RDP (#1514)

* fix(file-manager): restore text selection and copying in Markdown previews (#1518)

* fix(sidebar): keep compact host addresses visible (#1524)

* fix(hosts): preserve plugin settings when reopening the editor (#1499)

* fix(ssh-terminal): close owner sockets when presentations unmount (#1501)

* fix(session-sharing): synchronize shared SSH terminal dimensions (#1502)

* fix(session-sharing): show participant presence in member terminals (#1504)

* fix(ai): sync provider configuration and keys across linked devices (#1506)

* feat(ssh-terminal): add a duplicate tab action (#1510)

* feat(file-manager): allow disabling move-to-trash confirmation (#1511)

* feat(file-manager): default to the remote login directory (#1512)

* feat(homepage): synchronize canvas layouts across devices (#1515)

* fix(shortcuts): prevent accidental double-Shift palette activation (#1519)

* feat(tmux-monitor): add a unified multi-host view (#1520)

* fix(electron): allow explicit quit with active connections (#1522)

* feat: reconnect all disconnected terminal tabs (#1523)

* fix(hosts): preserve recording and sharing settings in the dev editor (#1509)

* fix(database): preserve RDP domain during startup backfill (#1497)

* feat(sidebar): add keyboard type-ahead search for hosts (#1516)

* feat(automations): add per-host maintenance mode and recurring schedules (#1521)

* feat(tmux): add a per-host mouse toggle and preserve remote configuration (#1513)

* fix(session-sharing): use the linked server for desktop meetings and links (#1507)

* fix(tunnels): support TOTP for client tunnels and jump hosts (#1508)

* fix: type errors and lint failures from merged plugin prs

* feat(installer): make the Windows desktop shortcut optional (#1517)

* fix: ship the plugin sdk and serialport in desktop builds

* fix: prefer ipv4 when resolving ssh host names (#1365)

* fix: readable terminal selection with the light theme (#1319)

* fix: build desktop session share links on the linked server (#1350)

* fix: show meeting guests to members and hide the roster from guests (#1353)

* fix: reliable file manager saves with sudo prompt and no base64 guessing (#1335)

* fix: show disk usage for the mount being browsed (#1347)

* fix: load the linux tray icon reliably and log tray failures (#1332)

* fix: cover the gnome close path in the desktop quit test (#1332)

* fix: prompt for jump host TOTP in terminal, file manager and metrics (#1312)

* feat: optional auto reconnect for dropped ssh sessions (#1321)

* feat: tighter compact host rows with inline tags (#1325)

* feat: bring back the alert feed homepage widget

* feat: pick target terminals for snippets again

* feat: share button on connection tabs again

* feat: recent servers list when linking the desktop app

* feat: list the fixed app shortcuts in keyboard shortcuts

* fix: translate hardcoded toasts and drop em dashes from ui text

* fix: translate leftover hardcoded ui text

* fix: toolbar files button opens at the shell directory again

* fix: show the remote desktop note under connection origin again

* chore: openapi docs for host metrics manager routes

* chore: openapi docs for undocumented routes and fix two broken doc blocks

* fix: declare terminal.listSessions use for snippet targets

* revert: drop the alert feed widget, the notification center replaces it

* feat: restore the alert feed homepage widget

* fix: quick connect fills the host address from plugin auth editors like tailscale

* fix: docker container logs use the base background color

* chore: fix dependabot alerts and apply safe npm upgrades

* fix: proxmox stats tab reads its switch from plugin host settings

* fix: count plugin ssh logins toward host status and stop showing reachable as a warning

* fix: hide the built-in source pill in the host editor

* fix: host status shows online when the port answers and only warns on a failed login

* fix: drop the top border on the split layout menu

* fix: host defaults tabs sit where the host editor puts them and skip plugins with nothing to default

* fix: remote desktop auth method labels and notes for vnc and telnet

* fix: add description to the web endpoint enable switch

* fix: crowdin sync and pretranslate for plugin locales, run plugin tests on release

* feat: move telemetry out of core into a usage statistics plugin

* fix: recent activity card no longer cuts off host names early

* fix: remove duplicate top border on split screen menu

* fix: redesign session log player controls, fix tooltip overlap and drop dot separators

* fix: file manager and sftp text showing raw i18n keys

* fix: onboarding rerunning for existing users after upgrading

* fix: fleet detail buttons overflowing the sidebar

* fix: session log player scrolling off screen horizontally

* fix: network graph lag when adding hosts and on every render

* fix: maintenance index name, shared host read only view and badge polling

* fix: meeting tabs, workspace tab merging, rail panels as tabs and general ui lag

* chore: update release notes

* fix: remote desktop tabs reconnecting on every tab switch

* fix: build plugin sdk before linting in release workflow

* chore: lint, format, and bump version to 2.9.0

* chore: skip crowdin pre-translate in release for now

* chore: sync Crowdin translations for 2.9.0

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: Koi <38512047+datlt4@users.noreply.github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: ZacharyZcR <zacharyzcr1984@gmail.com>
2026-10-01 16:20:16 -05:00

2082 lines
119 KiB
JSON

{
"connection": {
"retryingIn": "Reîncercare în {{seconds}}s ({{attempt}}/{{max}})",
"retryingNow": "Se reîncearcă... ({{attempt}}/{{max}})",
"disconnected": "Nu se poate conecta",
"reconnect": "Reconectați-vă"
},
"credentials": {
"folders": "Foldere",
"folder": "Pliant",
"password": "Parolă",
"key": "Cheie",
"sshPrivateKey": "Cheie privată SSH",
"upload": "Încărcare",
"keyPassword": "Parolă cheie",
"sshKey": "Cheie SSH",
"uploadPrivateKeyFile": "Încărcați fișierul cu cheie privată",
"searchCredentials": "Căutați acreditări...",
"addCredential": "Adăugați acreditări",
"caCertificate": "Certificat CA (-cert.pub)",
"caCertificateDescription": "Opțional: Încărcați sau lipiți fișierul cu certificatul semnat de CA (de exemplu, id_ed25519-cert.pub). Obligatoriu atunci când serverul SSH utilizează autorizare bazată pe certificate.",
"uploadCertFile": "Încărcați fișierul -cert.pub",
"clearCert": "Clar",
"certLoaded": "Certificat încărcat",
"certPublicKeyLabel": "Certificat CA",
"certTypeLabel": "Tipul certificatului",
"pasteOrUploadCert": "Lipiți sau încărcați un certificat -cert.pub...",
"hasCaCert": "Are certificat CA",
"noCaCert": "Fără certificat CA",
"noPublicKeyAvailable": "Nu este disponibilă nicio cheie publică. Deschideți mai întâi editorul de acreditări.",
"deployCommandCopied": "Comanda de implementare a fost copiată",
"sortCredentials": "Sortare acreditări",
"sortDefault": "Ordine implicită",
"sortNameAsc": "Nume (A → Z)",
"sortNameDesc": "Nume (Z → A)",
"sortUsernameAsc": "Nume de utilizator (A → Z)",
"sortUsernameDesc": "Nume de utilizator (Z → A)",
"filterCredentials": "Filtrare acreditări",
"filterClearAll": "Ștergeți filtrele",
"filterTypeGroup": "Tip",
"filterTypePassword": "Parolă",
"filterTypeKey": "Cheie SSH",
"filterTagsGroup": "Etichete",
"copyDeployCommand": "Copiați comanda de implementare",
"cloneCredentialAction": "Acreditare clonată",
"clonedCredential": "Clonat {{name}}",
"clonedCredentialName": "{{name}} (copie)",
"shareCredentialAction": "Partajați acreditările",
"sharedBadge": "partajat",
"sharedBy": "Distribuit de {{owner}}",
"share": {
"title": "Distribuie „{{name}}”",
"description": "Destinatarii primesc propria copie criptată a secretelor. Aceasta este actualizată ori de câte ori se modifică acreditările și eliminată atunci când partajarea este revocată.",
"levelUse": "Utilizare",
"levelManage": "Gestionează",
"levelUseDesc": "Utilizare: atașați acreditările la gazde și conectați-vă. Secretul în sine rămâne ascuns.",
"levelManageDesc": "Gestionare: editați și acreditările și partajați-le cu alții.",
"noAccessEntries": "Această acreditare nu a fost încă partajată",
"accessRevoked": "Acces revocat",
"shared": "Acreditare partajată"
},
"deleteCredentialAction": "Ștergeți acreditările",
"editCredentialAction": "Editați acreditările",
"failedToCloneCredential": "Nu s-a putut clona acreditările",
"failedToDeleteCredential": "Ștergerea acreditării nu a reușit",
"keyBadge": "CHEIE",
"passwordBadge": "Persoană cu dizabilități",
"renameFolder": "Redenumiți folderul",
"deleteFolder": "Ștergeți folderul",
"deleteCredentialConfirm": "Ștergeți acreditările „{{name}}”?",
"deletedCredential": "Șters {{name}}",
"deploySSHKeyTitle": "Implementează cheia către gazdă",
"loadingCredentials": "Se încarcă acreditările...",
"noCredentialsFound": "Nu au fost găsite acreditări",
"noCredentialsMatchSearch": "Nicio acreditări nu corespunde căutării dvs.",
"addCredentialBtn": "Adăugați acreditări",
"failedToReorder": "Nu s-au putut reordona acreditările",
"failedToMoveCredential": "Nu s-a putut muta acreditările",
"sortManual": "Manual (trageți pentru a reordona)",
"customizeSidebar": "Personalizați bara laterală",
"customizeSidebarDescription": "Alegeți cum arată și se comportă lista de acreditări.",
"customizeDensityTitle": "Densitate",
"densityComfortableDesc": "O singură acreditare pe rând, cu detalii suplimentare.",
"densityCompactDesc": "O linie per acreditare, pentru liste mai lungi.",
"displayDensityComfortable": "Confortabil",
"displayDensityCompact": "Compact",
"customizeBehaviorTitle": "Comportament",
"showCredentialTags": "Afișați etichetele",
"showCredentialTagsDesc": "Afișați etichetele în lista de acreditări",
"actionsVisibility": "Acțiuni privind acreditările",
"actionsVisibilityDesc": "Când apar butoanele de conectare și gestionare de pe fiecare acreditări",
"actionsAlways": "Întotdeauna vizibil",
"actionsOnly": "Doar conectare, odihnă la clic",
"actionsHover": "Afișare la trecerea cu mouse-ul",
"actionsClick": "Afișare la clic",
"customizeSortHint": "Ordinea de sortare se află în meniul de sortare din bara de instrumente.",
"expandActions": "Extindeți acțiunile",
"collapseActions": "Acțiuni de restrângere",
"backToHosts": "Înapoi la Gazde",
"backToCredentials": "Înapoi la acreditări",
"searchCredentialsPlaceholder": "Căutați acreditări…",
"deployDialogTitle": "Implementați cheia SSH",
"deployDialogDesc": "Implementează {{name}} pe authorized_keys-urile unei gazde.",
"targetHostLabel": "Gazdă țintă",
"selectHostOption": "Selectați o gazdă...",
"deployingBtn": "Se implementează...",
"deployBtn": "Implementează",
"keyDeployedSuccess": "Cheia a fost implementată cu succes",
"failedToDeployKey": "Cheia nu a putut fi implementată",
"folderRenamedTo": "Dosarul a fost redenumit „{{name}}”",
"failedToRenameFolder": "Nu s-a putut redenumi folderul",
"arrangeUnlockedSwitchedToManual": "Am trecut la sortare manuală, astfel încât comanda să rămână valabilă.",
"arrangeUnlocked": "Deblocați trageți pentru a rearanja"
},
"versionCheck": {
"updateLinkLabel": "Actualizare disponibilă. Deschideți notele de lansare pe GitHub."
},
"common": {
"close": "Aproape",
"minimize": "Minimizare",
"online": "Online",
"offline": "Offline",
"signInFailed": "Conectarea a eșuat",
"unknown": "Necunoscut",
"continue": "Continua",
"maintenance": "Întreţinere",
"degraded": "Degradat",
"error": "Eroare",
"warning": "Avertizare",
"unsavedChanges": "Modificări nesalvate",
"dismiss": "Închide",
"more": "Mai mult",
"loading": "Încărcare...",
"host": "Gazdă",
"selectHost": "Selectați o gazdă...",
"noHostConfigured": "Nicio gazdă configurată",
"optional": "Opțional",
"connect": "Conectează-te",
"copied": "Copiat",
"connecting": "Se conectează...",
"updateAvailable": "Actualizare disponibilă",
"appName": "Termix",
"openInNewTab": "Deschide într-o filă nouă",
"noReleases": "Fără lansări",
"updatesAndReleases": "Actualizări și lansări",
"newVersionAvailable": "O nouă versiune ({{version}}) este disponibilă.",
"failedToFetchUpdateInfo": "Nu s-au putut prelua informațiile de actualizare",
"preRelease": "Prelansare",
"noReleasesFound": "Nu s-au găsit versiuni.",
"cancel": "Anula",
"username": "Nume de utilizator",
"login": "Log in",
"logout": "Deconectare",
"register": "Registru",
"password": "Parolă",
"confirmPassword": "Confirmați parola",
"back": "Spate",
"save": "Salva",
"saving": "Economisire...",
"delete": "Şterge",
"rename": "Redenumire",
"edit": "Edita",
"confirm": "Confirma",
"no": "Nu",
"or": "SAU",
"next": "Următorul",
"previous": "Anterior",
"refresh": "Reîmprospăta",
"language": "Limbă",
"checking": "Control...",
"checkingDatabase": "Se verifică conexiunea la baza de date...",
"checkingAuthentication": "Se verifică autentificarea...",
"backendReconnected": "Conexiunea la server a fost restabilită",
"connectionDegraded": "Conexiune la server pierdută, se recuperează…",
"reload": "Reîncărcare",
"create": "Crea",
"copy": "Copie",
"copyFailed": "Copierea în clipboard nu a reușit",
"maximize": "Maximizare",
"restore": "Restabili",
"of": "de",
"saved": "Salvat",
"deleted": "Șters",
"deleteFailed": "Ștergerea nu a reușit",
"saveFailed": "Salvarea nu a reușit",
"required": "Necesar",
"remove": "Elimina",
"add": "Adăuga",
"update": "Actualizare",
"noResults": "Nu s-au găsit rezultate"
},
"onboarding": {
"stepCounter": "Pasul {{current}} din {{total}}",
"skip": "Omiteți configurarea",
"next": "Următorul",
"finish": "Începeți",
"welcomeTitle": "Bun venit la Termix",
"welcomeIntro": "Termix gestionează serverele tale dintr-un singur loc. Această configurare durează aproximativ un minut și nimic de aici nu este permanent.",
"welcome_hosts": "Salvați-vă serverele",
"welcome_hosts_desc": "Păstrează fiecare mașină pe care o gestionezi într-o singură listă.",
"welcome_terminal": "Conectați-vă instantaneu",
"welcome_terminal_desc": "Deschide un terminal într-o filă, fără un client SSH separat.",
"welcome_files": "Răsfoiți și editați fișiere",
"welcome_files_desc": "Încărcați, descărcați și editați fișiere la distanță.",
"presetTitle": "Cât vrei pe ecran?",
"presetIntro": "Termix poate fi la fel de simplu sau de detaliat pe cât doriți. Alegeți un punct de plecare.",
"presetChangeLater": "Puteți schimba presetările sau modifica orice setare ulterior în Setări, la Interfață.",
"appearanceTitle": "Fă-l al tău",
"appearanceIntro": "Alege o temă, o culoare de accent și limba. Toate trei pot fi modificate ulterior în Setări.",
"featuresTitle": "Ce altceva face Termix",
"featuresIntro": "Fiecare server pe care îl salvezi poate fi deschis în mai multe terminale. Iată ce se află în spatele pictogramelor din stânga.",
"featuresRailHint": "Nu ai nevoie de una dintre acestea? Ascunde orice pictogramă din bara laterală din Setări, la Navigare.",
"workflowTitle": "Mișcă-te mai repede",
"workflowIntro": "Câteva obiceiuri care economisesc cel mai mult timp odată ce ai câteva chelnerițe.",
"workflow_palette": "Paleta de comenzi",
"workflow_palette_desc": "Accesați orice server sau acțiune tastând. Apăsați Shift de două ori pentru a o deschide.",
"workflow_split": "Ecran divizat",
"workflow_split_desc": "Afișați mai multe file una lângă alta, de exemplu pentru a viziona jurnalele în timp ce lucrați.",
"workflow_dock": "Panou lateral",
"workflow_dock_desc": "Faceți clic cu butonul din mijloc sau cu butonul din dreapta pe o pictogramă din bara laterală pentru a o deschide ca filă sau pentru a o fixa în dreapta.",
"securityTitle": "Păstrarea în siguranță a datelor de autentificare",
"securityIntro": "Termix stochează acreditările pentru tine, așa că merită să aștepți un minut să vezi cum funcționează.",
"security_credentials": "Acreditări reutilizabile",
"security_credentials_desc": "Salvează o cheie sau o parolă o singură dată și atașează-o la oricâte servere dorești.",
"security_twofa": "Doi factori și chei de acces",
"security_twofa_desc": "Adaugă TOTP sau o cheie de acces la contul tău în Setări, la Securitate.",
"security_identity": "ID-ul Termix",
"security_identity_desc": "Emiteți certificate SSH de scurtă durată în loc să copiați cheile pe fiecare server.",
"security_sharing": "Partajare",
"security_sharing_desc": "Oferiți altor utilizatori acces la un server fără a le oferi parola.",
"securityEncryptionNote": "Acreditările sunt criptate înainte de a fi stocate și decriptate doar atunci când o conexiune are nevoie de ele.",
"doneTitle": "Ești gata",
"doneHeading": "Configurarea finalizată",
"doneDesc": "Alegeți un server din bara laterală pentru a deschide un terminal, a răsfoi fișierele sale sau a vedea valorile sale.",
"done_settings": "Schimbați orice mai târziu",
"done_settings_desc": "Temele, densitatea aspectului și pictogramele care apar, toate sunt disponibile în Setări.",
"done_rerun": "Vrei asta din nou?",
"done_rerun_desc": "Deschide Setări, accesează Interfață și alege Executare configurare pentru a parcurge din nou acești pași.",
"done_desktop": "Aplicație desktop",
"done_desktop_desc": "Termix rulează ca aplicație desktop pe Windows, macOS și Linux.",
"done_desktop_link": "Obțineți aplicația pentru desktop",
"done_mobile": "Aplicație mobilă",
"done_mobile_desc": "Ia-ți serverele cu tine pe iOS și Android.",
"done_mobile_link": "Obțineți aplicația mobilă",
"done_docs": "Documentație completă",
"done_docs_desc": "Ghiduri pentru fiecare funcție, inclusiv cele care nu sunt acoperite aici.",
"done_docs_link": "Deschideți documentele",
"done_cli": "Instrumentul liniei de comandă",
"done_cli_desc": "Gestionează-ți serverele dintr-un terminal și folosește Termix în propriile scripturi.",
"done_cli_link": "Deschideți documentația CLI",
"desktopTitle": "Cum vrei să folosești Termix?",
"desktopBody": "Puteți schimba acest lucru oricând din secțiunea Sincronizare din bara laterală.",
"desktopLocalTitle": "Numai pe acest dispozitiv",
"desktopLocalBody": "Totul este stocat aici. Nimic de configurat.",
"desktopLinkTitle": "Cu serverul meu Termix",
"desktopLinkBody": "Conectați-vă la server pentru a utiliza aceleași gazde și setări pe fiecare dispozitiv.",
"desktopLinked": "Legat de {{server}}"
},
"nav": {
"home": "Acasă",
"terminal": "Terminal",
"fileManager": "Manager de fișiere",
"serverStats": "Metrici ale gazdei",
"admin": "Administrator",
"userProfile": "Profil utilizator",
"confirmClose": "Închideți această sesiune activă?",
"close": "Aproape",
"cancel": "Anula",
"sshManager": "Manager SSH",
"hostTabTitle": "{{username}}@{{ip}}:{{port}}",
"copyPassword": "Copiați parola",
"copySudoPassword": "Copiați parola Sudo",
"passwordCopied": "Parola a fost copiată în clipboard",
"noPasswordAvailable": "Nu este disponibilă nicio parolă",
"failedToCopyPassword": "Copierea parolei a eșuat",
"refreshTab": "Reîmprospătați conexiunea",
"renameTab": "Redenumiți fila",
"dashboard": "Bord",
"quickConnect": "Conectare rapidă",
"openAsTabHint": "Ctrl+clic sau clic mijloc pentru a deschide ca filă",
"openAsTab": "Deschide ca filă",
"openInRightDock": "Deschideți în docul din dreapta",
"closeRightDock": "Închideți docul din dreapta",
"toggleRightDock": "Comutare doc dreapta",
"multiPanelHintTitle": "Lucrul cu mai multe panouri",
"multiPanelHintBody": "Păstrați acest panou deschis în timp ce bara laterală este utilizată pentru altceva. Două moduri de a-l muta:",
"multiPanelHintTabHow": "Ctrl+clic pe pictograma șinei sau folosiți butonul din acest antet.",
"multiPanelHintDockHow": "Faceți clic dreapta pe pictograma șinei sau utilizați pictograma panoului din bara de file.",
"sidebarSettings": "Setări bară laterală...",
"hosts": "Gazde",
"hostManager": "Manager de gazdă",
"credentials": "Acreditări",
"connections": "Conexiuni",
"keepSideMenuOpen": "Mențineți meniul deschis",
"collapseSideMenu": "Restrângeți meniul",
"roleAdministrator": "Administrator",
"roleUser": "Utilizator",
"sync": "Sincronizare",
"reconnectDisconnectedTerminals": "Reconectați toate terminalele deconectate",
"reconnectingTerminals_one": "Reconectarea terminalului {{count}}",
"reconnectingTerminals_other": "Reconectarea terminalelor {{count}}",
"noDisconnectedTerminals": "Niciun terminal deconectat nu este gata de reconectare",
"reconnectTerminalsFailed_one": "Nu s-a putut începe reconectarea terminalului {{count}}",
"reconnectTerminalsFailed_other": "Nu s-a putut începe reconectarea terminalelor {{count}}",
"fullscreenUnsupported": "Ecranul complet nu este acceptat de acest browser",
"fullscreenFailed": "Nu s-a putut comuta pe ecran complet",
"resetSidebarWidth": "Resetare lățime",
"collapseSidebar": "Restrângeți bara laterală",
"openSidebar": "Deschide bara laterală",
"confirmCloseHost": "Închide {{host}}?",
"enterFullscreen": "Intrare în ecran complet (Ctrl+Shift+F)",
"exitFullscreen": "Ieșire din ecran complet (Ctrl+Shift+F)"
},
"hosts": {
"hosts": "Gazde",
"noHosts": "Fără gazde SSH",
"retry": "Reîncercați",
"refresh": "Reîmprospăta",
"optional": "Opțional",
"downloadSample": "Descărcați exemplul",
"failedToDeleteHost": "Nu s-a putut șterge {{name}}",
"importSkipExisting": "Import (săriți peste elementele existente)",
"importSSHConfig": "Import din configurația SSH",
"connectionDetails": "Detalii conexiune",
"ssh": "SSH",
"telnet": "Telnet",
"port": "Port",
"username": "Nume de utilizator",
"folder": "Pliant",
"tags": "Etichete",
"pin": "Fixează",
"addHost": "Adăugați gazdă",
"editHost": "Editați gazda",
"cloneHost": "Gazdă clonată",
"defaultPath": "Calea implicită",
"connection": "Conexiune",
"upload": "Încărcare",
"authentication": "Autentificare",
"password": "Parolă",
"passwordSaved": "Parolă salvată, tastați pentru a o modifica",
"key": "Cheie",
"credential": "Acreditare",
"sshPrivateKey": "Cheie privată SSH",
"keyType": "Tipul cheii",
"uploadFile": "Încărcați fișierul",
"tabGeneral": "General",
"tabSsh": "SSH",
"tabStats": "Metrici ale gazdei",
"tabSharing": "Partajare",
"tabAuthentication": "Autentificare",
"terminal": "Terminal",
"tunnel": "Tunel",
"serverStats": "Metrici ale gazdei",
"status": {
"available": "Disponibil",
"reachable": "Activ, dar ultima conectare a eșuat",
"offline": "Offline",
"monitoringDisabled": "Monitorizarea este dezactivată",
"label": "Stare"
},
"folderRenamed": "Dosarul „{{oldName}}” a fost redenumit în „{{newName}}” a fost reușit.",
"failedToRenameFolder": "Nu s-a putut redenumi folderul",
"unsavedChangesDescription": "Modificările gazdei dvs. nu au fost salvate. Le eliminați?",
"keepEditing": "Continuă să editezi",
"discardChanges": "Anulează modificările",
"movedToFolder": "Gazdele {{count}} au fost mutate la „{{folder}}”",
"editHostTooltip": "Editați gazda",
"behavior": "Comportament",
"scrollbackBuffer": "Buffer de derulare înapoi",
"sshAgentForwarding": "Redirecționarea agentului SSH",
"selectSnippet": "Selectați fragmentul",
"forceKeyboardInteractive": "Forțați interacțiunea cu tastatura",
"overrideCredentialUsername": "Suprascrierea acreditărilor de utilizator",
"overrideCredentialUsernameDesc": "Folosește numele de utilizator specificat mai sus în locul numelui de utilizator al acreditării",
"oidcUsernameHint": "Folosește $external.username pentru a completa numele cu care te-ai conectat prin SSO sau LDAP.",
"jumpHostChain": "Lanțul gazdă Jump",
"portKnocking": "Lovitura în port",
"addKnock": "Adăugați port",
"addProxyNode": "Adăugați nod",
"proxyNode": "Nod proxy",
"proxyType": "Tip de proxy",
"sudoPassword": "Parolă Sudo",
"keepaliveInterval": "Interval de menținere activă (ms)",
"environmentVariables": "Variabile de mediu",
"addVariable": "Adăugați o variabilă",
"docker": "Docher",
"failedToConnect": "Conectarea la consolă nu a reușit",
"connect": "Conectează-te",
"disconnect": "Deconecta",
"start": "Început",
"enableStatusCheck": "Activează verificarea stării",
"enableMetrics": "Activați metricile",
"bulkUpdateFailed": "Actualizarea în bloc a eșuat",
"selectAll": "Selectați tot",
"deselectAll": "Deselectați tot",
"protocols": "Protocoale",
"secureShell": "Shell securizat",
"addressIp": "Adresă / IP",
"friendlyName": "Nume prietenos",
"folderAndAdvanced": "Dosar și Avansat",
"showAdvancedSettings": "Afișați setările avansate",
"hideAdvancedSettings": "Ascundeți setările avansate",
"privateNotes": "Note private",
"privateNotesPlaceholder": "Detalii despre acest server...",
"pinToTop": "Fixează în partea de sus",
"pinToTopDesc": "Afișează întotdeauna această gazdă în partea de sus a listei",
"portKnockingSequence": "Secvența de lovire a portului",
"addKnockBtn": "Adaugă Knock",
"noPortKnocking": "Nu este configurată nicio declanșare a porturilor.",
"knockPort": "Portul Knock",
"protocol": "Protocol",
"delayAfterMs": "Întârziere după (ms)",
"useSocks5Proxy": "Folosește proxy-ul SOCKS5",
"useSocks5ProxyDesc": "Dirijați conexiunea printr-un server proxy",
"connectionOrigin": "Originea conexiunii",
"connectionOriginDesc": "De unde provine conexiunea acestei gazde. Suprascrie setarea globală implicită a aplicației desktop.",
"connectionOriginDefault": "Utilizați implicit",
"connectionOriginLocal": "Acest dispozitiv (rețea locală)",
"connectionOriginRemote": "Server la distanță",
"proxyHost": "Gazdă proxy",
"proxyPort": "Port proxy",
"proxyUsername": "Nume de utilizator proxy",
"proxyPassword": "Parolă proxy",
"proxySingleMode": "Proxy unic",
"proxyChainMode": "Lanț proxy",
"you": "Tu",
"jumpHostChainLabel": "Lanțul gazdă Jump",
"addJumpBtn": "Adăugați salt",
"noJumpHosts": "Nu sunt configurate gazde de salt.",
"selectAServer": "Selectați un server...",
"sshPort": "Port SSH",
"authMethod": "Metodă de autentificare",
"authenticationMethod": "Metodă de autentificare",
"authenticationMethodDesc": "Selectați metoda pe care Termix o va folosi pentru autentificarea acestei conexiuni SSH. Celelalte metode nu sunt încercate automat.",
"storedCredential": "Acreditare stocată",
"selectACredential": "Selectați o acreditare...",
"keyTypeLabel": "Tipul cheii",
"keyTypeAuto": "Detectare automată",
"keyPasteTab": "Pastă",
"keyUploadTab": "Încărcare",
"keyFileLoaded": "Fișierul cheie a fost încărcat",
"keyUploadClick": "Faceți clic pentru a încărca fișierele .pem / .key / .ppk",
"clearKey": "Tasta Ștergere",
"keySaved": "Cheia SSH a fost salvată",
"keyReplaceNotice": "lipiți o cheie nouă mai jos pentru a o înlocui",
"keyPassphraseSaved": "Parolă salvată, tastați pentru a o modifica",
"replaceKey": "Înlocuiți cheia",
"docsLink": "Vizualizați documentele",
"agentLabel": "Agent SSH",
"agentDesc": "Autentificați-vă folosind un agent SSH care rulează pe serverul Termix (Bitwarden, 1Password, gpg-agent, KeeAgent, ssh-agent). Agentul trebuie să ruleze pe mașina pe care este găzduit Termix.",
"agentAuthenticationDesc": "Folosește chei de la un agent SSH pentru a autentifica această conexiune. Lasă calea socketului goală pentru a utiliza SSH_AUTH_SOCK.",
"agentSocketPathLabel": "Calea socketului agentului",
"agentSocketPathPlaceholder": "Lăsați gol pentru a utiliza SSH_AUTH_SOCK",
"agentSocketPathHint": "Lăsați câmpul gol pentru detectarea automată din variabila de mediu SSH_AUTH_SOCK sau introduceți o cale de socket personalizată (de exemplu, /run/user/1000/gnupg/S.gpg-agent.ssh).",
"agentIdentityLabel": "Identitatea agentului (cheie publică)",
"agentIdentityPlaceholder": "Lăsați câmpul gol pentru a încerca toate cheile de la agent",
"agentIdentityHint": "Lipiți o cheie publică (de exemplu, ssh-ed25519 AAAA...) pentru a oferi doar acea cheie de la agent. Recomandat atunci când agentul deține mai multe chei, pentru a evita depășirea numărului MaxAuthTries al serverului.",
"shareSshAuthLabel": "Partajați autentificarea SSH",
"shareSshAuthDesc": "Oferiți destinatarilor copii criptate ale autentificării SSH a acestei gazde. Acreditările personale ale destinatarului au în continuare prioritate.",
"forceKeyboardInteractiveLabel": "Forțați tastatura interactivă",
"forceKeyboardInteractiveShortDesc": "Forțați introducerea manuală a parolei chiar dacă sunt prezente cheile",
"allowLegacyAlgorithmsLabel": "Permiteți algoritmi legați",
"allowLegacyAlgorithmsDesc": "Activați algoritmii SSH depreciați (ssh-dss, ssh-rsa, diffie-hellman-group1-sha1, hmac-md5, 3des-cbc) pentru conexiunile la dispozitive vechi care nu pot fi actualizate.",
"insecure": "Nesigur",
"syntaxHighlightingCategories": "Evidențiați categoriile",
"syntaxHighlightingCategoriesDesc": "Alegeți tipurile de conținut pe care doriți să le colorați",
"sshAgentForwardingLabel": "Redirecționarea agentului SSH",
"sshAgentForwardingShortDesc": "Permiteți acestei gazde la distanță să utilizeze agentul SSH local pentru conexiuni ulterioare. Acest lucru nu este necesar pentru autentificarea agentului.",
"sudoPasswordAutoFillShortDesc": "Furnizează automat parola sudo când ți se solicită",
"sudoPasswordLabel": "Parolă Sudo",
"sudoPasswordSaved": "Parolă salvată, tastați pentru a o modifica",
"environmentVariablesLabel": "Variabile de mediu",
"addVariableBtn": "Adăugați variabilă",
"noEnvVars": "Nicio variabilă de mediu configurată.",
"keepaliveIntervalLabel": "Interval Keepalive (secunde)",
"maxKeepaliveMisses": "Ratări maxime de menținere în viață",
"sameHost": "Această gazdă (tunel direct)",
"statusChecksLabel": "Verificări de stare",
"enableStatusChecks": "Activați verificările de stare",
"enableStatusChecksDesc": "Ping periodic această gazdă pentru a verifica disponibilitatea",
"useGlobalInterval": "Utilizați intervalul global",
"useGlobalIntervalDesc": "Suprascriere cu intervalul de verificare a stării la nivel de server",
"checkIntervalS": "Interval (e) de verificare",
"checkIntervalDesc": "Secunde între fiecare ping de conectivitate",
"cpuUsageLabel": "Utilizarea procesorului",
"cpuUsageDesc": "Procentaj CPU, medii de încărcare, grafic sparkline",
"memoryLabel": "Utilizarea memoriei",
"memoryDesc": "Utilizarea RAM, swap, cache",
"storageLabel": "Utilizarea discului",
"storageDesc": "Utilizarea discului per punct de montare",
"networkLabel": "Interfețe de rețea",
"networkDesc": "Lista de interfețe și lățimea de bandă",
"uptimeLabel": "Timp de funcționare",
"uptimeDesc": "Timpul de funcționare și timpul de pornire al sistemului",
"systemInfoLabel": "Informații despre sistem",
"systemInfoDesc": "Sistem de operare, kernel, nume de gazdă, arhitectură",
"recentLoginsLabel": "Autentificări recente",
"recentLoginsDesc": "Evenimente de conectare reușită și nereușită",
"topProcessesLabel": "Procese de top",
"topProcessesDesc": "PID, CPU%, MEM%, comandă",
"listeningPortsLabel": "Porturi de ascultare",
"listeningPortsDesc": "Deschide porturi cu proces și stare",
"firewallLabel": "Firewall",
"firewallDesc": "Firewall, AppArmor, stare SELinux",
"hostSharedSuccessfully": "Gazda a fost partajată cu succes",
"failedToShareHost": "Nu s-a putut partaja gazda",
"accessRevoked": "Acces revocat",
"failedToRevokeAccess": "Nu s-a putut revoca accesul",
"cancelBtn": "Anula",
"savingBtn": "Economisire...",
"addHostBtn": "Adăugați gazdă",
"hostUpdated": "Gazdă actualizată",
"hostCreated": "Gazdă creată",
"failedToSave": "Nu s-a putut salva gazda",
"credentialUpdated": "Acreditare actualizată",
"credentialCreated": "Acreditare creată",
"failedToSaveCredential": "Nu s-a putut salva acreditările",
"credentialNameRequired": "Vă rugăm să introduceți un nume pentru acreditare",
"credentialAuthRequired": "Adăugați o parolă, o cheie SSH sau ambele",
"createCredentialFromHostBtn": "Creați acreditări",
"createCredentialFromHostTitle": "Creați acreditări de la gazdă",
"createCredentialFromHostDesc": "Creați o intrare de acreditări reutilizabilă și partajabilă, preumplută cu numele de utilizator, parola și/sau cheia SSH actuale ale acestei gazde.",
"backToHosts": "Înapoi la Gazde",
"pinned": "Fixat",
"noHostsFound": "Nu s-au găsit gazde",
"tryDifferentTerm": "Încercați un termen diferit",
"addFirstHost": "Adăugați prima gazdă pentru a începe",
"noCredentialsFound": "Nu au fost găsite acreditări",
"addCredentialBtn": "Adăugați acreditări",
"updateCredentialBtn": "Actualizați acreditările",
"editCredentialAction": "Editați acreditările",
"backToHost": "Înapoi la gazdă",
"saveCredentialAsNewBtn": "Salvare ca nou",
"saveCredentialAsNewDesc": "Creează o nouă acreditare cu aceste modificări și o atribuie acestei gazde. Acreditarea originală rămâne neschimbată.",
"credentialSavedAsNew": "Salvat ca o nouă acreditare",
"failedToSaveCredentialAsNew": "Nu s-a putut salva ca o nouă acreditare",
"features": "Caracteristici",
"noFolder": "(Fără dosar)",
"deleteSelected": "Şterge",
"exitSelection": "Ieșire selecție",
"importSkip": "Import (săriți peste elementele existente)",
"importOverwrite": "Import (suprascriere)",
"collapseBtn": "Colaps",
"importExportBtn": "Import / Export",
"hostStatusesRefreshed": "Stările gazdelor au fost actualizate",
"failedToRefreshHosts": "Nu s-au putut actualiza gazdele",
"movedHostTo": "A fost mutat {{host}} la „{{folder}}”",
"failedToMoveHost": "Nu s-a putut muta gazda",
"deletedFolder": "Folderul șters „{{name}}”",
"failedToDeleteFolder": "Ștergerea folderului a eșuat",
"deleteAllInFolder": "Ștergeți toate gazdele din „{{name}}”? Această acțiune nu poate fi anulată.",
"folderPickerPlaceholder": "Niciun dosar",
"folderPickerSearch": "Căutați sau creați (utilizați / pentru subfoldere)...",
"folderPickerNone": "Niciun dosar",
"folderPickerCreate": "Creați „{{path}}”",
"folderPickerEmpty": "Niciun folder potrivit",
"parentHost": "Gazdă părinte",
"useFolderInstead": "Folosește folderul în schimb",
"useParentHostInstead": "Folosește gazda părinte în schimb",
"parentHostPickerPlaceholder": "Nicio gazdă părinte",
"parentHostPickerSearch": "Căutați gazde...",
"parentHostPickerNone": "Nicio gazdă părinte",
"parentHostPickerEmpty": "Nicio gazdă potrivită",
"collapseSubHosts": "Restrângeți subgazdele",
"expandSubHosts": "Extindeți subgazdele",
"cannotNestUnderDescendant": "Nu se poate imbrica o gazdă sub propria sub-gazdă",
"movedToParent": "A mutat {{count}} gazdă(e) sub „{{parent}}”",
"newFolder": "Dosar nou",
"createFolderTitle": "Creați un folder",
"editFolderTitle": "Editați folderul",
"folderDialogDescription": "Alegeți un nume, o culoare și o pictogramă. Folosiți / pentru a imbrica foldere.",
"folderNameLabel": "Numele folderului",
"folderNamePlaceholder": "de exemplu, Producție/Web",
"folderNestingHint": "Folosește / pentru a separa niveluri și a crea foldere imbricate.",
"folderNameDuplicate": "Există deja un folder cu acest nume aici.",
"folderColor": "Culoare",
"folderIcon": "Pictogramă",
"folderCredential": "Acreditare",
"folderCredentialNone": "Nicio acreditare atribuită",
"folderCredentialHint": "Gazdele din acest folder care utilizează autentificarea „Credențiale stocate” fără a fi selectate propriile credențiale vor moșteni aceasta.",
"folderPreview": "Previzualizare",
"folderNameFallback": "Dosar fără titlu",
"createFolderButton": "Creați un folder",
"saveFolderButton": "Salvați folderul",
"cancel": "Anula",
"iconSearchPlaceholder": "Pictograme de căutare...",
"openAllSessions": "Deschideți toate sesiunile",
"editFolder": "Editați folderul",
"deleteFolder": "Ștergeți folderul",
"selectFolder": "Selectați toate gazdele din folder",
"deselectFolder": "Deselectați toate gazdele din folder",
"folderSaved": "Dosar salvat",
"failedToSaveFolder": "Nu s-a putut salva folderul",
"folderDeleted": "Folderul șters „{{name}}”",
"deleteFolderConfirm": "Ștergeți „{{name}}” și gazdele sale {{count}} ? Această acțiune nu poate fi anulată.",
"failedToMoveHosts": "Nu s-au putut muta gazdele",
"failedToReorder": "Nu s-a putut reordona",
"expandAll": "Extindeți toate folderele",
"collapseAll": "Restrângeți toate folderele",
"moreActions": "Mai mult",
"groupBy": "Grupare după",
"GroupByFolder": "Pliant",
"GroupByTag": "Etichetă",
"GroupByStatus": "Stare",
"GroupByProtocol": "Protocol",
"GroupByAuth": "Tip de autentificare",
"groupUngrouped": "Negrupat",
"customizeSidebar": "Personalizați bara laterală",
"customizeSidebarDescription": "Alegeți cum arată și se comportă lista de gazde.",
"customizeDensityTitle": "Densitate",
"customizeBehaviorTitle": "Comportament",
"customizeSortHint": "Ordinea de sortare și gruparea se găsesc în meniurile de sortare și grupare din bara de instrumente.",
"densityComfortableDesc": "Mai multe detalii per gazdă: adresă, etichete și utilizarea resurselor.",
"densityCompactDesc": "O linie per gazdă, pentru liste mai lungi.",
"display": "Afişa",
"displayDensity": "Densitate",
"displayDensityComfortable": "Confortabil",
"displayDensityCompact": "Compact",
"displayShowTags": "Afișați etichetele",
"displayTrayOnClick": "Deschideți acțiunile la clic (în loc să treceți cu mouse-ul peste ele)",
"actionsVisibility": "Afișajul acțiunilor gazdei",
"actionsVisibilityDesc": "Alegeți când se extind acțiunile gazdei. Selectați clic pentru a restabili comportamentul anterior de tip clic pentru extindere.",
"actionsAlways": "Întotdeauna vizibil",
"actionsOnly": "Doar conectare, odihnă la clic",
"actionsHover": "Afișare la trecerea cu mouse-ul",
"actionsClick": "Faceți clic pentru a extinde/restrânge",
"openOnDoubleClick": "Deschideți cu dublu clic",
"openOnDoubleClickDesc": "Necesită un dublu clic pentru a deschide o sesiune gazdă în loc de un singur clic",
"showFolderPaths": "Afișează căile dosarelor",
"showFolderPathsDesc": "Afișează calea folderului părinte deasupra numelor subfolderelor imbricate. Subfolderele rămân indentate în ambele sensuri.",
"hostClickBehavior": "Faceți clic pe o gazdă",
"hostClickBehaviorDesc": "Ce se întâmplă când dai clic pe o gazdă care are deja o filă deschisă. Clic cu Ctrl/Cmd, clic cu butonul din mijloc sau „Deschide într-o filă nouă” pornesc întotdeauna una nouă.",
"hostClickNewTab": "Deschideți întotdeauna o filă nouă",
"hostClickFocusExisting": "Comutați la fila deschisă",
"hostClickFocusExistingDoubleNew": "Faceți clic pentru a comuta, faceți dublu clic pentru o filă nouă",
"openInNewTab": "Deschide într-o filă nouă",
"deletedHost": "Șters {{name}}",
"copiedToClipboard": "Copiat în clipboard",
"remoteDesktopUrlCopied": "Adresa URL a Desktopului la distanță a fost copiată",
"expandActions": "Extindeți acțiunile",
"collapseActions": "Acțiuni de restrângere",
"cloneHostAction": "Gazdă clonată",
"copyAddress": "Copiați adresa",
"copyLink": "Copiază linkul",
"deleteCredentialConfirm": "Ștergeți acreditările „{{name}}”?",
"deletedCredential": "Șters {{name}}",
"deleteHostsConfirm": "Ștergeți gazda {{count}}{{plural}}? Această acțiune nu poate fi anulată.",
"movedToRoot": "Mutat la root",
"addTagsPlaceholder": "Adăugați etichete...",
"authDetails": "Detalii de autentificare",
"credType": "Tip",
"generateKeyPairDesc": "Generați o nouă pereche de chei, atât cheia privată, cât și cea publică vor fi completate automat.",
"generatingKey": "Se generează...",
"generateLabel": "Generează {{label}}",
"uploadFileBtn": "Încărcați fișierul",
"keyPassphraseOptional": "Parolă cheie (opțional)",
"sshPublicKeyOptional": "Cheie publică SSH (opțională)",
"publicKeyGenerated": "Cheia publică generată",
"failedToGeneratePublicKey": "Cheia publică nu a putut fi obținută",
"publicKeyCopied": "Cheia publică a fost copiată",
"keyPairGenerated": "{{label}} pereche de chei generată",
"failedToGenerateKeyPair": "Nu s-a putut genera perechea de chei",
"searchHostsPlaceholder": "Căutare gazde, adrese, etichete…",
"refreshBtn": "Reîmprospăta",
"addTag": "Adăugați etichete...",
"deleteConfirmBtn": "Şterge",
"deleteHostConfirm": "Ștergeți „{{name}}”?",
"enableAtLeastOneProtocol": "Activați cel puțin unul dintre protocolele de mai sus pentru a configura setările de autentificare și conexiune.",
"keyPassphrase": "Parolă cheie",
"basicInformation": "Informații de bază",
"authDetailsSection": "Detalii de autentificare",
"credTypeLabel": "Tip",
"hostsTab": "Gazde",
"credentialsTab": "Acreditări",
"selectMultiple": "Selectați mai multe",
"selectHosts": "Selectați gazdele",
"connectionLabel": "Conexiune",
"authenticationLabel": "Autentificare",
"generateKeyPairTitle": "Generați o pereche de chei",
"generateKeyPairDescription": "Generați o nouă pereche de chei, atât cheia privată, cât și cea publică vor fi completate automat.",
"generateFromPrivateKey": "Generați din cheia privată",
"refreshBtn2": "Reîmprospăta",
"exitSelectionTitle": "Ieșire selecție",
"addHostBtn2": "Adăugați gazdă",
"addCredentialBtn2": "Adăugați acreditări",
"checkingHostStatuses": "Se verifică starea gazdei...",
"pinnedSection": "Fixat",
"hostsExported": "Gazdele au fost exportate cu succes",
"export": {
"menuItem": "Export...",
"title": "Gazde de export",
"scope": "Domeniu de aplicare",
"scopeAll": "Toate",
"scopeSelected": "Selectat",
"searchHosts": "Căutați gazde...",
"include": "Include",
"groupConnection": "Conexiune",
"groupCredentials": "Acreditări",
"groupNotes": "Note",
"groupTags": "Etichete și pinuri",
"groupProxy": "Proxy",
"groupJumpHosts": "Gazde de salt",
"groupFeatureFlags": "Steaguri de caracteristici",
"groupAdvanced": "Configurație avansată",
"preview": "Previzualizare",
"moreHosts": "... {{count}} mai multe gazde",
"summary": "{{selected}} din {{total}} gazde",
"credentialsIncluded": "acreditări incluse",
"credentialsExcluded": "acreditări excluse",
"noneSelected": "Nicio gazdă selectată",
"cancel": "Anula",
"confirm": "Export",
"fetchFailed": "Nu s-au putut încărca gazdele pentru export",
"bulkButton": "Export"
},
"sampleDownloaded": "Fișier exemplu descărcat",
"failedToDeleteCredential2": "Ștergerea acreditării nu a reușit",
"noFolderOption": "(Fără dosar)",
"nSelected": "{{count}} selectat",
"featuresMenu": "Caracteristici",
"moveMenu": "Mişcare",
"connectSelected": "Conectează-te",
"cancelSelection": "Anula",
"deletedCount": "Gazde {{count}} șterse",
"failedToDeleteCount": "Nu s-au putut șterge gazdele {{count}}",
"duplicatedHost": "„{{name}}” duplicat",
"failedToDuplicateHost": "Nu s-a putut duplica gazda",
"updatedCount": "Gazdele {{count}} actualizate",
"friendlyNameLabel": "Nume prietenos",
"descriptionLabel": "Descriere",
"loadingHosts": "Se încarcă gazdele...",
"loadingCredentials": "Se încarcă acreditările...",
"noHostsYet": "Nicio gazdă încă",
"noHostsYetHint": "Adăugați un server pentru a deschide terminale, a răsfoi fișiere și a vedea valori.",
"noHostsMatchSearch": "Nicio gazdă nu corespunde căutării dvs.",
"searchHosts": "Căutați gazde...",
"sortHosts": "Sortează gazdele",
"sortDefault": "Ordine implicită",
"sortNameAsc": "Nume (A → Z)",
"sortNameDesc": "Nume (Z → A)",
"sortIpAsc": "Adresă IP (Asc)",
"sortIpDesc": "Adresă IP (Desc)",
"sortOnlineFirst": "Online First",
"sortOfflineFirst": "Offline First",
"sortManual": "Manual (trageți pentru a reordona)",
"sortPinnedFirst": "Fixat primul",
"filterHosts": "Filtrare gazde",
"filterClearAll": "Ștergeți filtrele",
"filterStatusGroup": "Stare",
"filterOnline": "Online",
"filterOffline": "Offline",
"filterPinned": "Fixat",
"filterAuthGroup": "Tip de autentificare",
"filterAuthPassword": "Parolă",
"filterAuthKey": "Cheie SSH",
"filterAuthCredential": "Acreditare",
"filterAuthNone": "Nici unul",
"filterProtocolGroup": "Protocol",
"filterProtocolSsh": "SSH",
"filterTagsGroup": "Etichete",
"editHostAction": "Editați gazda",
"moreOptions": "Mai multe opțiuni",
"shareHost": "Gazdă partajată",
"shareHostTitle": "Distribuie: {{name}}",
"shareFolder": "Partajați folderul",
"shareFolderTitle": "Partajați folderul: {{name}}",
"folderSharedSuccessfully": "Gazdă(e) {{count}} partajată(e) în folder",
"failedToShareFolder": "Nu s-a putut partaja folderul",
"sharing": {
"loadError": "Nu s-au putut încărca datele de partajare. Vă rugăm să încercați din nou.",
"shareWithSection": "Distribuiți cu",
"usersTab": "Utilizatori",
"rolesTab": "Roluri",
"searchPlaceholder": "Căutați utilizatori sau roluri...",
"noMatches": "Nu s-au găsit potriviri",
"permissionLevelLabel": "Nivel de permisiune",
"levels": {
"connect": {
"label": "Conectează-te",
"description": "Deschideți doar sesiunile: terminal, desktop la distanță, manager de fișiere, tuneluri și Docker. Fără acces la configurația gazdei."
},
"view": {
"label": "Vedere",
"description": "Conectează-te și vezi configurația gazdei. Secretele nu sunt afișate niciodată."
},
"edit": {
"label": "Edita",
"description": "Vizualizați și modificați setările gazdei fără autentificare. Autentificarea SSH a proprietarului rămâne privată și exclusiv pentru proprietar."
},
"manage": {
"label": "Gestionează",
"description": "Editați, plus partajați gazda cu alții, modificați nivelurile de permisiune și revocați accesul."
}
},
"expiryLabel": "Expirarea accesului",
"expiry": {
"never": "Nu",
"oneHour": "1 oră",
"oneDay": "24 de ore",
"sevenDays": "7 zile",
"thirtyDays": "30 de zile",
"custom": "Personalizat"
},
"customHoursPlaceholder": "Ore până la expirarea accesului",
"shareButton": "Distribuie",
"shareWithCount": "Distribuie ({{count}})",
"currentAccess": "Acces curent",
"noAccessEntries": "Această gazdă nu a fost încă partajată",
"folderRulesTitle": "Se aplică gazdelor adăugate ulterior",
"folderRulesHint": "Aceste partajări rămân în folder: o gazdă creată sau mutată în acesta (sau într-un subfolder) primește automat același acces. Eliminarea unei reguli oprește doar moștenirea viitoare.",
"folderRuleRemove": "Nu mai moșteni",
"folderShareSummary": "Gazdă(e) {{shared}} partajată din {{total}} în acest folder",
"grantedBy": "Acordat de",
"expires": "Expiră",
"expired": "Expirat",
"never": "Nu",
"revoke": "Revoca",
"accessUpdated": "Acces actualizat",
"accessUpdateFailed": "Nu s-a putut actualiza accesul",
"sharedBadge": "Partajat",
"sharedBadgeTooltip": "Distribuit de {{owner}} ( acces{{level}})",
"viewOnlyBanner": "Această gazdă este partajată cu dvs. de către {{owner}} cu acces de vizualizare. Configurația este doar pentru citire.",
"sharedEditBanner": "Această gazdă este partajată cu dvs. de către {{owner}} cu acces de editare. Modificările se aplică gazdei reale; referințele de autentificare pot fi modificate numai de către proprietar.",
"ownerOnlyControl": "Doar proprietarul gazdei poate modifica acest lucru",
"ownerAuthPrivate": "Autentificarea SSH a proprietarului gazdei este privată. Folosește „Setează autentificarea SSH personală” din meniul gazdei pentru a-ți alege propriile credențiale.",
"ownerAuthShared": "Proprietarul gazdei a partajat autentificarea SSH pentru această gazdă. O puteți utiliza sau puteți alege propriile credențiale din „Setați autentificarea SSH personală”.",
"authOverrideAction": "Setează autentificarea SSH personală",
"authOverrideActionProtocol": "Setează autentificarea personală {{protocol}}",
"authOverrideTitle": "Autentificare SSH personală",
"authOverrideTitleProtocol": "Autentificare personală {{protocol}}",
"authOverrideDescriptionPrivate": "Acreditările SSH ale proprietarului gazdei rămân private. Alegeți una dintre acreditările salvate pentru conexiunile la {{host}}.",
"authOverrideDescriptionShared": "Folosește autentificarea partajată de proprietarul gazdei sau înlocuiește-o cu una dintre credențialele salvate pentru conexiunile la {{host}}.",
"authOverrideCredentialLabel": "Credențiale de autentificare",
"useSharedAuthentication": "Utilizați autentificarea gazdei partajate",
"noPersonalCredential": "Fără acreditare personală",
"authOverrideNoCredentials": "Nu aveți încă nicio autentificare SSH salvată. Creați una în Autentificare pentru a vă conecta la gazde care necesită autentificare.",
"authOverrideRequired": "Această gazdă necesită una dintre acreditările dvs. salvate înainte de a vă putea conecta.",
"authOverridePrivateHint": "Aceste acreditări sunt private pentru tine. Proprietarul gazdei și alți destinatari nu le pot vedea sau utiliza.",
"authOverrideSaved": "Autentificare SSH personală salvată",
"authOverrideCleared": "Autentificarea SSH personală a fost eliminată",
"authOverrideClearedToShared": "Utilizarea autentificării gazdei partajate",
"authOverrideLoadError": "Nu s-a putut încărca autentificarea SSH. Vă rugăm să încercați din nou.",
"authOverrideSaveError": "Nu s-a putut salva autentificarea SSH."
},
"arrangeUnlockedSwitchedToManual": "Am trecut la sortare manuală, astfel încât comanda să rămână valabilă.",
"dragToRearrange": "Trageți pentru a rearanja",
"arrangeUnlocked": "Deblocați trageți pentru a rearanja",
"webUiBindHostUnreachable": "Browserul dvs. nu poate ajunge la 127.0.0.1 pe mașina care rulează Termix, așadar acest endpoint nu se va încărca. Folosiți o adresă la care mașina răspunde, cum ar fi 0.0.0.0.",
"webUiBindHostSharesSessionCookie": "Din acest browser, redirecționarea ar fi atinsă la același nume de gazdă de pe care este deservit Termix, astfel încât serviciul tunelat ar primi sesiunea dvs. Termix. Cookie-urile ignoră portul. Acest endpoint va refuza să se deschidă aici; funcționează din aplicația desktop Termix sau când Termix este deschis la localhost.",
"webUiErrorLabelRequired": "Punctul final {{row}} necesită o etichetă.",
"webUiErrorLabelDuplicate": "Fiecare punct final are nevoie de un nume diferit.",
"webUiErrorPortRange": "Punctul final {{row}} necesită un port între 1 și 65535.",
"webUiErrorPathInvalid": "Punctul final {{row}} are o cale nevalidă. Folosește o cale precum /admin.",
"copyViewUrlAction": "Copiați linkul {{name}}",
"filterAuthAgent": "Agent SSH",
"authTypeNeedsPlugin": "Această gazdă folosește {{type}}, care necesită {{plugin}}. Este dezactivată pe acest server.",
"authTypeUnknown": "Această gazdă folosește {{type}}, care nu este disponibilă pe acest server.",
"authFieldsAfterSave": "Salvați mai întâi gazda, apoi completați aceste câmpuri.",
"enablePluginFeature": "Activează {{name}}",
"disablePluginFeature": "Dezactivați {{name}}",
"filterFeaturesGroup": "Caracteristici",
"localOnly": "Păstrați doar pe acest dispozitiv",
"localOnlyDesc": "Această gazdă nu este trimisă către server și nu apare pe celelalte dispozitive ale tale.",
"folderLocalOnly": "Păstrați doar pe acest dispozitiv",
"folderLocalOnlyDesc": "Acest folder și toate gazdele din el rămân pe acest dispozitiv și nu sunt trimise către server.",
"sudoPasswordDesc": "Se folosește atunci când terminalul completează un prompt sudo și de către funcțiile care execută comenzi cu sudo.",
"editorCancel": "Anula",
"editorSaving": "Economisire...",
"editorUpdate": "Actualizați gazda",
"editorAdd": "Adăugați gazdă",
"speedSearch": "Căutați gazde. Tastele săgeată pentru selectare, Enter pentru conectare, Esc pentru închidere",
"speedSearchList": "Listă de gazde. Tastați sau apăsați / pentru a căuta.",
"importNoHosts": "Nu s-au găsit gazde în fișier",
"importTooMany": "Puteți importa până la {{max}} gazde simultan",
"importSummary": "Import finalizat: {{imported}} importat, {{updated}} actualizat, {{failed}} eșuat",
"importHostsFailed": "Importarea gazdelor nu a reușit"
},
"commandPalette": {
"searchPlaceholder": "Căutați gazde, comenzi sau setări...",
"quickActions": "Acțiuni rapide",
"navigation": "Navigare",
"orShortcut": "sau",
"hostManager": "Manager de gazdă",
"hostManagerDesc": "Gestionați, adăugați sau editați gazde",
"addNewHost": "Adăugați o gazdă nouă",
"addNewHostDesc": "Înregistrați o nouă gazdă",
"adminSettings": "Setări de administrator",
"adminSettingsDesc": "Configurați preferințele de sistem și utilizatorii",
"userProfile": "Profil utilizator",
"userProfileDesc": "Gestionează-ți contul și preferințele",
"addCredential": "Adăugați acreditări",
"addCredentialDesc": "Stocarea cheilor SSH sau a parolelor",
"recentActivity": "Activitate recentă",
"serversAndHosts": "Servere și gazde",
"noHostsFound": "Nu s-au găsit gazde care să corespundă cu „{{search}}”",
"links": "Linkuri",
"navigate": "Navigare",
"select": "Selecta",
"toggleWith": "Comutare cu",
"pluginActions": "Mai multe acțiuni",
"noTargetTab": "Nicio filă de terminal nu este deschisă"
},
"splitScreen": {
"title": "Ecran divizat",
"defaultLabel": "Împărțire {{number}}",
"splitRight": "Împărțire la dreapta",
"splitDown": "Împărțiți",
"addToSplit": "Adăugați la {{split}}",
"paneEmptyItem": "Panou {{index}}: gol",
"paneItem": "Panoul {{index}}: {{label}}",
"paneNumber": "Panou {{index}}",
"newPaneRight": "Panou nou în dreapta",
"newPaneBelow": "Panou nou mai jos",
"emptyTitle": "Panou gol",
"emptyHint": "Alegeți ceva de afișat aici. În timp ce acest panou este selectat, tot ce deschideți din bara laterală se deschide și aici.",
"openTabs": "Deschideți filele",
"noOpenTabs": "Nicio altă filă nu este deschisă",
"hosts": "Gazde",
"searchHosts": "Căutați gazde",
"noHosts": "Nicio potrivire a gazdelor",
"newSession": "Nou",
"closePane": "Închideți panoul",
"closeSession": "Închide sesiunea",
"moveToTab": "Mută la propria filă",
"swapWith": "Schimbă cu",
"showHere": "Afișați în acest panou",
"clearPane": "Goliți acest panou",
"zoom": "Panou de zoom",
"unzoom": "Restaurați aspectul",
"unsplit": "Nedivizat",
"layouts": "Machete",
"applyLayout": "Schimbați aspectul",
"newSplit": "Nouă divizare",
"maxPanes": "O divizare poate conține până la {{count}} panouri",
"dropSplit": "Drop to split",
"dropHere": "Plasați pentru a afișa aici",
"paneActions": "Acțiuni din panou",
"dividerHint": "Trageți pentru a redimensiona. Faceți dublu clic pentru a uniformiza.",
"openInSplit": "Deschidere în divizare",
"openInNewSplit": "Nouă divizare cu fila curentă",
"shortcuts": "Scurtături",
"shortcutNavigate": "Mutare între panouri",
"presets": {
"columns2": "Două unul lângă altul",
"rows2": "Două stivuite",
"columns3": "Trei unul lângă altul",
"mainLeft3": "Unul la stânga, doi la dreapta",
"mainBottom3": "Două sus, una jos",
"grid4": "Grilă de patru",
"grid5": "Trei peste doi",
"grid6": "Grilă de șase"
}
},
"connections": {
"noConnections": "Fără conexiuni",
"noConnectionsDesc": "Deschideți un terminal, un manager de fișiere sau un desktop la distanță pentru a vedea conexiunile aici",
"connectedFor": "Conectat pentru {{duration}}",
"connected": "Conectat",
"disconnected": "Deconectat",
"closeTab": "Închide fila",
"closeConnection": "Conexiune strânsă",
"forgetTab": "Uita",
"removeBackground": "Elimina",
"reconnect": "Reconectați-vă",
"reopenTab": "Redeschide",
"sectionOpen": "Deschide",
"sectionBackground": "Fundal",
"backgroundDesc": "Sesiunile persistă timp de {{minutes}} minute după deconectare și pot fi reconectate.",
"persisted": "A persistat în fundal",
"expiresIn": "Expiră în {{duration}}",
"search": "Căutați conexiuni...",
"noSearchResults": "Nicio conexiune nu corespunde căutării dvs.",
"rename": "Redenumiți sesiunea"
},
"terminal": {
"totpRequired": "Autentificare cu doi factori necesară",
"totpCodeLabel": "Cod de verificare",
"totpVerify": "Verifica",
"mfaPromptRequired": "Autentificare necesară",
"mfaPushRequired": "Autentificare push necesară",
"mfaMenuPlaceholder": "Introduceți răspunsul dvs.",
"mfaCodeOrPushPlaceholder": "Cod sau „împingere”",
"mfaWaitingApproval": "Se așteaptă aprobarea pe dispozitivul dvs....",
"mfaSendRequest": "Trimiteți cererea",
"browserSignInCode": "Cheie de securitate",
"browserSignInUrl": "URL de conectare",
"browserSignInOpen": "Deschide în browser",
"browserSignInContinue": "Am finalizat conectarea",
"browserSignInRequired": "{{provider}} Este necesară conectarea",
"connectionLogTitle": "Jurnal de conectare",
"connectionLogCopy": "Copiați jurnalele în clipboard",
"connectionLogEmpty": "Încă nu există jurnale de conectare",
"connectionLogWaiting": "Se așteaptă jurnalele de conectare...",
"connectionLogCopied": "Jurnalele de conexiune au fost copiate în clipboard",
"connectionLogCopyFailed": "Nu s-au putut copia jurnalele în clipboard"
},
"cardGrid": {
"dragToMove": "Trageți pentru a muta",
"dragToResize": "Trageți pentru a redimensiona",
"changeWidth": "Schimbați lățimea",
"removeCard": "Eliminați {{label}}",
"addCard": "Adăuga",
"columns": "Coloane",
"empty": "Nicio carte. Folosește Adaugă mai jos pentru a plasa cărți."
},
"auth": {
"tagline": "Gestionare SSH și desktop la distanță auto-găzduită",
"loginTitle": "Bine ai revenit",
"registerTitle": "Creează cont",
"forgotPassword": "Aţi uitat parola?",
"rememberMe": "Rețineți dispozitivul timp de 30 de zile (include TOTP)",
"noAccount": "Nu aveți un cont?",
"hasAccount": "Ai deja un cont?",
"twoFactorAuth": "Autentificare cu doi factori",
"enterCode": "Introduceți codul de verificare",
"redirectingToApp": "Redirecționare către aplicație...",
"sshAuthenticationRequired": "Autentificare SSH necesară",
"sshNoKeyboardInteractive": "Autentificare interactivă prin tastatură indisponibilă",
"sshAuthenticationFailed": "Autentificare eșuată",
"sshAuthenticationTimeout": "Expirare autentificare",
"sshNoKeyboardInteractiveDescription": "Serverul nu acceptă autentificarea interactivă prin tastatură. Vă rugăm să furnizați parola sau cheia SSH.",
"sshAuthFailedDescription": "Datele de autentificare furnizate au fost incorecte. Vă rugăm să încercați din nou cu date de autentificare valide.",
"sshTimeoutDescription": "Încercarea de autentificare a expirat. Vă rugăm să încercați din nou.",
"sshProvideCredentialsDescription": "Vă rugăm să furnizați datele de autentificare SSH pentru a vă conecta la acest server.",
"sshPasswordDescription": "Introduceți parola pentru această conexiune SSH.",
"sshKeyPasswordDescription": "Dacă cheia SSH este criptată, introduceți aici parola.",
"passphraseRequired": "Parolă necesară",
"passphraseRequiredDescription": "Cheia SSH este criptată. Introduceți parola pentru a o debloca.",
"back": "Spate",
"firstUser": "Primul utilizator",
"firstUserMessage": "Ești primul utilizator și vei deveni administrator. Poți vizualiza setările de administrator în meniul derulant pentru utilizatori din bara laterală. Dacă crezi că este o greșeală, verifică jurnalele Docker sau creează o problemă GitHub.",
"external": "Extern",
"loginWithExternal": "Autentificare cu furnizor extern",
"loginWithExternalDesc": "Conectați-vă folosind furnizorul de identitate extern configurat",
"externalNotSupportedInElectron": "Conectarea externă nu este încă acceptată în aplicația pentru desktop. Vă rugăm să utilizați versiunea web.",
"loginWithProvider": "Autentificare cu {{name}}",
"orContinueWith": "sau continuați cu",
"resetPasswordButton": "Resetare parolă",
"sendResetCode": "Trimiteți codul de resetare",
"resetCodeDesc": "Introdu numele de utilizator pentru a primi un cod de resetare a parolei. Codul va fi înregistrat în jurnalele containerului Docker.",
"resetCode": "Resetare cod",
"verifyCodeButton": "Verificați codul",
"enterResetCode": "Introduceți codul de 6 cifre din jurnalele containerului Docker pentru utilizator:",
"newPassword": "Parolă Nouă",
"confirmNewPassword": "Confirmați parola",
"enterNewPassword": "Introduceți noua parolă pentru utilizatorul:",
"signUp": "Înregistrare",
"desktopApp": "Aplicație desktop",
"loggingInToDesktopApp": "Conectarea la aplicația desktop",
"loadingServer": "Se încarcă serverul...",
"dataLossWarning": "Resetarea parolei în acest fel va șterge toate gazdele SSH salvate, acreditările și alte date criptate. Această acțiune nu poate fi anulată. Folosește această opțiune doar dacă ai uitat parola și nu ești conectat.",
"authenticationDisabled": "Autentificare dezactivată",
"authenticationDisabledDesc": "Toate metodele de autentificare sunt dezactivate în prezent. Vă rugăm să contactați administratorul.",
"passwordLoginDisabledDesc": "Conectarea cu parolă este dezactivată. Folosiți o cheie de acces sau un furnizor de autentificare extern.",
"attemptsRemaining": "{{count}} încercări rămase",
"confirmResetDataWipe": "Acest cont nu s-a mai conectat de la actualizarea criptării, așadar datele sale stocate nu pot fi recuperate fără vechea parolă. Resetarea va șterge definitiv gazdele, acreditările și fragmentele de date. Continuați?",
"password": "Parolă",
"secondFactorUnavailable": "Contul tău folosește un al doilea factor care nu este disponibil momentan. Contactează un administrator pentru a-l reseta.",
"secondFactorNoUI": "Acest al doilea factor nu poate fi afișat pe acest ecran. Contactați un administrator.",
"serverAuthentication": "Conectare la server",
"minChars": "min. {{min}} caractere"
},
"hostKey": {
"verifyNewHost": "Verificați cheia gazdă SSH",
"keyChangedWarning": "Cheia gazdă SSH a fost modificată",
"firstConnectionTitle": "Prima conectare la această gazdă",
"firstConnectionDescription": "Autenticitatea acestei gazde nu poate fi stabilită. Verificați dacă amprenta corespunde cu ceea ce vă așteptați.",
"keyChangedDescription": "Cheia gazdă pentru acest server s-a modificat de la ultima conexiune. Acest lucru ar putea indica o problemă de securitate.",
"previousKey": "Cheia anterioară",
"newFingerprint": "Amprentă nouă",
"fingerprint": "Amprentă digitală",
"verifyInstructions": "Dacă aveți încredere în această gazdă, faceți clic pe Acceptare pentru a continua și a salva această amprentă pentru conexiuni viitoare.",
"securityWarning": "Avertisment de securitate",
"acceptAndContinue": "Acceptați și continuați",
"acceptNewKey": "Acceptați cheia nouă și continuați"
},
"errors": {
"databaseConnection": "Nu s-a putut conecta la baza de date",
"embeddedServerFailed": "Serverul local al Termix nu a putut porni",
"unknownError": "Eroare necunoscută",
"loginFailed": "Autentificare eșuată",
"failedPasswordReset": "Resetarea parolei nu a reușit",
"failedVerifyCode": "Nu s-a putut verifica codul de resetare",
"failedCompleteReset": "Resetarea parolei nu a reușit",
"invalidTotpCode": "Cod TOTP nevalid",
"failedOidcLogin": "Nu s-a putut porni conectarea externă",
"silentSigninOidcUnavailable": "A fost solicitată conectarea silențioasă, dar nu este configurată nicio conectare externă.",
"failedUserInfo": "Nu s-au putut obține informații despre utilizator după conectare",
"oidcAuthFailed": "Conectarea externă a eșuat",
"invalidAuthUrl": "Adresă URL de autorizare nevalidă primită de la backend",
"requiredField": "Acest câmp este obligatoriu",
"minLength": "Lungimea minimă este {{min}}",
"passwordMismatch": "Parolele nu se potrivesc",
"passwordLoginDisabled": "Autentificarea cu nume de utilizator/parolă este dezactivată în prezent",
"sessionExpired": "Sesiunea a expirat - vă rugăm să vă conectați din nou",
"totpRateLimited": "Rată limitată: Prea multe încercări de verificare TOTP. Vă rugăm să încercați din nou mai târziu.",
"totpRateLimitedWithTime": "Rată limitată: Prea multe încercări de verificare TOTP. Vă rugăm să așteptați {{time}} secunde înainte de a încerca din nou.",
"resetCodeRateLimited": "Rată limitată: Prea multe încercări de verificare. Vă rugăm să încercați din nou mai târziu.",
"resetCodeRateLimitedWithTime": "Rată limitată: Prea multe încercări de verificare. Vă rugăm să așteptați {{time}} secunde înainte de a încerca din nou.",
"authTokenSaveFailed": "Nu s-a putut salva jetonul de autentificare",
"authTokenMissing": "Serverul nu a returnat un nou token de autentificare. Vă rugăm să vă conectați din nou.",
"failedToLoadServer": "Nu s-a putut încărca serverul",
"sessionExpiredLogin": "Sesiunea a expirat. Vă rugăm să vă conectați din nou."
},
"messages": {
"registrationDisabled": "Înregistrarea unui cont nou este dezactivată în prezent de un administrator. Vă rugăm să vă conectați sau să contactați un administrator.",
"userNotAllowed": "Contul dumneavoastră nu este autorizat pentru înregistrare. Vă rugăm să contactați un administrator.",
"databaseConnectionFailed": "Conectarea la serverul bazei de date a eșuat",
"embeddedServerPortInUse": "Portul {{port}} este deja utilizat de un alt program. Acesta este de obicei un container Termix Docker sau un proces Termix rămas dintr-o sesiune anterioară. Închideți-l, apoi reporniți Termix.",
"embeddedServerPortInUseUnknownPort": "Unul dintre porturile de care are nevoie Termix este deja utilizat de un alt program. Închideți orice program îl folosește, apoi reporniți Termix.",
"embeddedServerCrashed": "Serverul local s-a oprit pe neașteptate. Reporniți Termix și verificați jurnalul desktopului dacă acest lucru se întâmplă în continuare.",
"resetCodeSent": "Codul de resetare trimis către jurnalele Docker",
"codeVerified": "Codul a fost verificat cu succes",
"passwordResetSuccess": "Parola a fost resetată cu succes",
"loginSuccess": "Conectare reușită",
"registrationSuccess": "Înregistrare reușită"
},
"placeholders": {
"language": "Limbă",
"keyPassword": "parolă cheie",
"pastePrivateKey": "Lipește cheia privată aici...",
"enterPassword": "Introduceți parola"
},
"dashboard": {
"title": "Bord",
"loading": "Se încarcă tabloul de bord...",
"github": "GitHub",
"support": "Sprijin",
"discord": "Discordie",
"docs": "Documente",
"donate": "Dona",
"serverOverview": "Prezentare generală a serverului",
"version": "Versiune",
"upToDate": "La zi",
"updateAvailable": "Actualizare disponibilă",
"beta": "Beta",
"uptime": "Timp de funcționare",
"database": "Bază de date",
"healthy": "Sănătos",
"error": "Eroare",
"totalHosts": "Total gazde",
"totalCredentials": "Acreditări totale",
"recentActivity": "Activitate recentă",
"reset": "Resetare",
"loadingRecentActivity": "Se încarcă activitatea recentă...",
"noRecentActivity": "Nicio activitate recentă",
"quickActions": "Acțiuni rapide",
"addHost": "Adăugați gazdă",
"addCredential": "Adăugați acreditări",
"adminSettings": "Setări de administrator",
"userProfile": "Profil utilizator",
"serverStats": "Statistici server",
"loadingServerStats": "Se încarcă statisticile serverului...",
"noServerData": "Nu sunt disponibile date de server",
"customizeLayout": "Personalizați tabloul de bord",
"dashboardSettings": "Setări tablou de bord",
"enableDisableCards": "Activare/Dezactivare carduri",
"resetLayout": "Resetare la valorile implicite",
"serverOverviewCard": "Prezentare generală a serverului",
"recentActivityCard": "Activitate recentă",
"quickActionsCard": "Acțiuni rapide",
"serverStatsCard": "Statistici server",
"panelMain": "Principal",
"panelSide": "Partea",
"justNow": "chiar acum",
"activityFileManager": "Manager de fișiere"
},
"donation": {
"title": "Îți place Termix?",
"body": "Termix este gratuit și open source, construit și întreținut de o echipă de două persoane în timpul liber. Dacă înlocuiește un instrument comercial pentru care altfel ați plăti, o donație ajută la acoperirea costurilor de găzduire și menține dezvoltarea în desfășurare. În prezent, donațiile sunt doar criptomonede.",
"milestones": "Donațiile ajută, de asemenea, la finanțarea timpului necesar pentru cercetare și învățare a ceea ce este necesar pentru a construi funcții precum suportul SAML și Kubernetes. Vedeți progresul pe pagina de donații.",
"cta": "Dona",
"dismiss": "Poate mai târziu"
},
"dashboardTab": {
"stable": "STABIL",
"hostsOnline": "Gazde online",
"registerNewServer": "Înregistrați un server nou",
"storeSshKeysOrPasswords": "Stocarea cheilor SSH sau a parolelor",
"manageUsersAndRoles": "Gestionați utilizatorii și rolurile",
"manageYourAccount": "Gestionează-ți contul",
"hostStatus": "Starea gazdei",
"noHostsConfigured": "Nicio gazdă configurată",
"online": "ONLINE",
"offline": "OFFLINE",
"checking": "CONTROL",
"onlineLower": "Online",
"add": "Adăuga:",
"commandPalette": "Paletă de comenzi",
"done": "Făcut",
"editModeInstructions": "Trageți cardurile pentru a reordona. Trageți separatorul de coloane pentru a redimensiona coloanele. Trageți marginea de jos a unui card pentru a-i modifica înălțimea. Folosiți butonul coș de gunoi pentru a elimina un card.",
"empty": "Gol",
"clear": "Clar",
"viewServerDetails": "Vizualizați detaliile serverului",
"dragToResizeColumns": "Trageți pentru a redimensiona coloanele",
"hostsAvailable": "Gazde disponibile"
},
"admin": {
"sectionGeneral": "General",
"sectionUsers": "Utilizatori",
"sectionSessions": "Sesiuni",
"sectionRoles": "Roluri",
"sectionDatabase": "Bază de date",
"sectionApiKeys": "Chei API",
"sectionAuditLog": "Jurnal de audit",
"sectionSsl": "Certificat HTTPS",
"sectionBranding": "Marcă albă",
"brandingAppName": "Numele aplicației",
"brandingAppNameDesc": "Afișat pe ecranul de conectare și în fila browserului. Lăsați câmpul gol pentru a utiliza „Termix”.",
"brandingTagline": "Slogan",
"brandingTaglineDesc": "Afișat sub numele aplicației pe ecranul de conectare. Lăsați câmpul gol pentru a utiliza sloganul implicit.",
"brandingLogo": "Siglă",
"brandingLogoDesc": "PNG, JPEG sau WEBP, până la 750 KB. Înlocuiește pictograma implicită de pe ecranul de conectare și din fila browserului.",
"brandingLogoUpload": "Încărcați sigla",
"brandingLogoReset": "Resetare la valorile implicite",
"brandingLogoInvalid": "Imagine nevalidă. Folosește un fișier PNG, JPEG sau WEBP de până la 750 KB.",
"brandingSaved": "Setările de branding au fost salvate",
"brandingSaveFailed": "Setările de branding nu au putut fi salvate",
"sslDescription": "Certificatul Termix este servit prin HTTPS. Încărcați-vă propriul certificat aici sau obțineți și reînnoiți unul de la Let's Encrypt în secțiunea Certificate ACME.",
"sslDocsLink": "Vizualizați documentele SSL",
"sslCertStatus": "Starea certificatului",
"sslCertStatusNone": "Fără certificat",
"sslCertStatusValid": "Valabil",
"sslCertStatusExpiring": "Expiră în curând",
"sslCertStatusExpired": "Expirat",
"sslCertExpiresAt": "Expiră la {{date}}",
"sslInfoNote": "După emiterea sau încărcarea unui certificat, Termix va activa automat HTTPS pe SSL_PORT (implicit 8443), pe lângă portul HTTP existent. Asigurați-vă că portul este publicat/mapat la acest container, astfel încât să fie accesibil.",
"sslManualCert": "Certificat (PEM)",
"sslManualCertPlaceholder": "-----ÎNCEPERE CERTIFICAT-----",
"sslManualKey": "Cheie privată (PEM)",
"sslManualKeyPlaceholder": "-----ÎNCEPERE CHEIE PRIVATĂ-----",
"sslManualDesc": "Lipiți certificatul și cheia privată existente, inclusiv un lanț complet, dacă este necesar de către autoritatea de certificare.",
"sslManualUpload": "Încărcați și instalați certificatul",
"sslManualUploadLoading": "Se încarcă certificatul...",
"sslManualUploadSuccess": "Certificatul a fost încărcat și instalat cu succes",
"sslManualUploadFailed": "Încărcarea certificatului a eșuat",
"sslManualRequiresFields": "Certificatul și cheia privată sunt necesare",
"auditLogTotal": "{{total}} total intrări",
"auditLogEmpty": "Nu au fost găsite intrări în jurnalul de audit",
"auditLogSuccess": "Succes",
"auditLogFailed": "Eșuat",
"auditLogClearFilters": "Ștergeți filtrele",
"auditLogPage": "Pagina {{page}} din {{totalPages}} (total{{total}})",
"auditLogIp": "IP-ul",
"auditLogResourceId": "ID-ul resursei",
"auditLogFilterUser": "Utilizator",
"auditLogFilterAction": "Acţiune",
"auditLogFilterResourceType": "Tip de resursă",
"auditLogFilterStatus": "Stare",
"auditLogFilterFrom": "Din",
"auditLogFilterTo": "La",
"auditLogFilterAll": "Toate",
"allowRegistration": "Permiteți înregistrarea utilizatorilor",
"allowRegistrationDesc": "Permiteți noilor utilizatori să se înregistreze automat cu un nume de utilizator și o parolă",
"allowPasswordLogin": "Permiteți conectarea cu parolă",
"allowPasswordLoginDesc": "Nume de utilizator/parolă de conectare",
"oidcAutoProvision": "Creați automat conturi externe",
"oidcAutoProvisionDesc": "Creați un cont prima dată când cineva se conectează printr-o conexiune externă, cum ar fi SSO sau LDAP, chiar și atunci când înregistrarea este dezactivată",
"secondFactorAfterExternalLogin": "Solicitați un al doilea factor după autentificările externe (SSO, GitHub, Google, LDAP)",
"secondFactorAfterExternalLoginDesc": "Dezactivat, un al doilea factor înregistrat este solicitat doar după parolă și alte autentificări locale, la fel ca înainte. Activat, este solicitat după fiecare metodă de autentificare, inclusiv SSO și LDAP.",
"allowPasswordReset": "Permite resetarea parolei",
"allowPasswordResetDesc": "Resetează codul prin jurnalele Docker",
"auditForwardingTitle": "Transmiteți către SIEM",
"auditForwardingDesc": "Trimiteți o copie a fiecărei intrări de audit către un colector extern ca NDJSON. Jurnalele locale rămân sursa de adevăr.",
"auditForwardingEnvNotice": "O variabilă de mediu configurează și redirecționarea; adresa URL salvată aici are prioritate.",
"auditForwardingToken": "Jeton la purtător (opțional)",
"auditForwardingTokenStored": "Jeton la purtător (stocat)",
"auditForwardingSaved": "Setările de redirecționare a auditului au fost salvate",
"auditForwardingSaveError": "Setările de redirecționare a auditului nu au putut fi salvate.",
"sessionTimeout": "Expirare sesiune",
"hours": "ore",
"sessionTimeoutRange": "Minim 1 oră, maxim 720 ore",
"monitoringDefaults": "Monitorizarea setărilor implicite",
"statusCheck": "Verificare stare",
"sec": "sec",
"logLevel": "Nivel de jurnal",
"usersCount": "utilizatori {{count}}",
"searchUsers": "Căutați utilizatori...",
"noUsers": "Niciun utilizator",
"noUsersMatch": "Niciun utilizator nu corespunde căutării dvs.",
"pageOf": "Pagina {{page}} din {{total}}",
"createUser": "Crea",
"newRole": "Rol nou",
"roleName": "Nume",
"roleDisplayName": "Numele de afișare",
"roleDescription": "Descriere",
"rolesCount": "roluri {{count}}",
"createRole": "Crea",
"creating": "Se creează...",
"exportDatabase": "Exportați baza de date",
"exportDatabaseDesc": "Descărcați o copie de rezervă SQLite portabilă a tuturor gazdelor, acreditărilor și setărilor",
"export": "Export",
"exporting": "Exportator...",
"importDatabase": "Importați baza de date",
"importDatabaseDesc": "Restaurare dintr-o copie de rezervă .sqlite portabilă pe orice backend de bază de date",
"importDatabaseSelected": "Selectat: {{name}}",
"selectFile": "Selectați fișierul",
"changeFile": "Schimba",
"import": "Import",
"importing": "Importare...",
"apiKeysCount": "taste {{count}}",
"apiKeysDocsLink": "Vizualizați documentele",
"apiKeysCliHint": "Folosește o cheie API cu interfața CLI Termix pentru a gestiona serverele din terminalul tău.",
"apiKeysCliLink": "Vizualizați documentele CLI",
"newApiKey": "Cheie API nouă",
"apiKeyCreatedWarning": "Cheie creată - copiați-o acum, nu va mai fi afișată.",
"apiKeyName": "Nume",
"apiKeyUser": "Utilizator",
"apiKeySelectUser": "Selectați un utilizator...",
"apiKeyExpiresAt": "Expiră la",
"createKey": "Creați cheie",
"apiKeyNoExpiry": "Fără expirare",
"revokedBadge": "REVOCAT",
"authTypeDual": "Autentificare duală",
"authTypeOidc": "Extern",
"authTypeLocal": "Local",
"adminStatusAdministrator": "Administrator",
"adminStatusRegularUser": "Utilizator obișnuit",
"adminBadge": "ADMINISTRATOR",
"systemBadge": "SYS",
"customBadge": "PERSONALIZAT",
"youBadge": "TU",
"sessionsActive": "{{count}} activ",
"sessionActive": "Activ: {{time}}",
"sessionExpires": "Exp: {{time}}",
"revokeAll": "Toate",
"revokeAllSessionsSuccess": "Toate sesiunile pentru utilizator au fost revocate",
"revokeAllSessionsFailed": "Nu s-au putut revoca sesiunile",
"revokeSessionFailed": "Nu s-a putut revoca sesiunea",
"addRole": "Adăugați un rol",
"noCustomRoles": "Niciun rol personalizat definit",
"removeRoleFailed": "Eliminarea rolului a eșuat",
"assignRoleFailed": "Rolul nu a fost atribuit",
"deleteRoleFailed": "Rolul nu a putut fi șters",
"userAdminAccess": "Administrator",
"userAdminAccessDesc": "Acces complet la toate setările de administrare",
"userRoles": "Roluri",
"revokeAllUserSessions": "Revocați toate sesiunile",
"revokeAllUserSessionsDesc": "Forțați reconectarea pe toate dispozitivele",
"revoke": "Revoca",
"deleteUserWarning": "Ștergerea acestui utilizator este definitivă.",
"deleteUser": "Șterge {{username}}",
"deleting": "Se șterge...",
"deleteUserFailed": "Ștergerea utilizatorului a eșuat",
"deleteUserSuccess": "Utilizatorul „{{username}}” a fost șters",
"deleteRoleSuccess": "Rolul „{{name}}” șters",
"revokeKeySuccess": "Cheia „{{name}}” a fost revocată",
"revokeKeyFailed": "Cheia nu a putut fi revocată",
"copiedToClipboard": "Copiat în clipboard",
"done": "Făcut",
"createUserTitle": "Creare utilizator",
"createUserDesc": "Creați un cont local nou.",
"createUserUsername": "Nume de utilizator",
"createUserPassword": "Parolă",
"createUserPasswordHint": "Minim 6 caractere.",
"createUserEnterUsername": "Introduceți numele de utilizator",
"createUserEnterPassword": "Introduceți parola",
"createUserSubmit": "Creare utilizator",
"editUserTitle": "Gestionare utilizator: {{username}}",
"editUserDesc": "Editați rolurile, statutul de administrator, sesiunile și setările contului.",
"editUserUsername": "Nume de utilizator",
"editUserAuthType": "Tip de autentificare",
"editUserAdminStatus": "Status de administrator",
"editUserUserId": "ID-ul de utilizator",
"linkAccountTitle": "Conectare conturi",
"linkAccountDesc": "Îmbinați contul extern {{username}} cu un cont local existent.",
"linkAccountDescLocal": "Conectați un cont local {{username}} cu un cont extern existent.",
"linkAccountWarningTitle": "Aceasta va:",
"linkAccountEffect1": "Ștergeți contul exclusiv extern",
"linkAccountEffect2": "Adăugați autentificarea externă la contul țintă",
"linkAccountEffect3": "Permiteți atât conectarea externă, cât și cea cu parolă",
"linkAccountTargetUsername": "Nume de utilizator al contului local",
"linkAccountTargetPlaceholder": "Introduceți numele de utilizator al contului local la care doriți să faceți legătura",
"linkAccountOidcUsername": "Nume de utilizator al contului extern",
"linkAccountOidcPlaceholder": "Introduceți numele de utilizator al contului extern pentru care doriți să îl îmbinați",
"linkAccountOidcNotFound": "Nu s-a găsit niciun cont extern cu acel nume de utilizator.",
"linkAccounts": "Conectare conturi",
"linkAccountSuccess": "Conturi conectate cu succes",
"linkAccountFailed": "Conectarea conturilor nu a reușit",
"linkAccountInProgress": "Se conectează...",
"unlinkAccountTitle": "Deconectați autentificarea externă",
"unlinkAccountDesc": "Eliminați autentificarea externă din {{username}}. Aceștia se vor putea conecta doar cu parola lor.",
"unlinkAccountWarning": "Această acțiune va elimina conectarea externă din acest cont. Utilizatorul trebuie să aibă o parolă setată pentru a se conecta în continuare.",
"unlinkAccount": "Deconectați autentificarea externă",
"unlinkAccountInProgress": "Se deconectează...",
"unlinkAccountSuccess": "Conectarea externă deconectată",
"unlinkAccountFailed": "Nu s-a putut deconecta conectarea externă.",
"saving": "Economisire...",
"updateRegistrationFailed": "Nu s-a putut actualiza setările de înregistrare",
"updatePasswordLoginFailed": "Setările de conectare cu parola nu au putut fi actualizate.",
"updateOidcAutoProvisionFailed": "Nu s-a putut actualiza setarea de creare automată",
"updateSecondFactorAfterExternalLoginFailed": "Nu s-a putut actualiza setarea celui de-al doilea factor",
"updatePasswordResetFailed": "Setările de resetare a parolei nu au putut fi actualizate.",
"sessionTimeoutRange2": "Timpul de expirare al sesiunii trebuie să fie între 1 și 720 de ore",
"sessionTimeoutSaved": "Expirarea sesiunii a fost salvată",
"sessionTimeoutSaveFailed": "Nu s-a putut salva timpul de expirare al sesiunii",
"monitoringIntervalInvalid": "Valori de interval nevalide",
"monitoringSaved": "Setările de monitorizare au fost salvate",
"monitoringSaveFailed": "Setările de monitorizare nu au putut fi salvate",
"logLevelUpdateFailed": "Nivelul de jurnalizare nu a putut fi actualizat",
"createUserRequired": "Numele de utilizator și parola sunt obligatorii",
"createUserPasswordTooShort": "Parola trebuie să aibă cel puțin 6 caractere",
"createUserSuccess": "Utilizatorul „{{username}}” a fost creat",
"createUserFailed": "Nu s-a putut crea utilizatorul",
"updateAdminStatusFailed": "Nu s-a putut actualiza starea de administrator",
"allSessionsRevoked": "Toate sesiunile revocate",
"revokeSessionsFailed": "Nu s-au putut revoca sesiunile",
"manageUserData": "Gestionați datele utilizatorilor",
"backToUsers": "Înapoi la utilizatori",
"manageTabAccount": "Cont",
"manageTabHosts": "Gazde",
"manageTabCredentials": "Acreditări",
"manageTabSessions": "Sesiuni",
"manageTabDanger": "Pericol",
"manageEditorBack": "Înapoi la datele lui {{username}}",
"dataLockedBadge": "BLOCAT",
"dataLockedNotice": "Datele utilizatorului {{username}}rămân blocate până la următoarea conectare. Gazdele, acreditările și fragmentele de date nu pot fi vizualizate sau editate până atunci.",
"resetPasswordTitle": "Resetare parolă",
"resetPasswordOidcOnly": "Acest utilizator se conectează printr-un furnizor extern și nu are parolă.",
"resetPasswordPlaceholder": "Parolă Nouă",
"resetPasswordBtn": "Resetare",
"resetPasswordWorking": "Resetare...",
"resetPasswordSuccess": "Resetare parolă",
"resetPasswordSuccessWiped": "Resetare parolă. Datele criptate ale utilizatorului au fost șterse.",
"resetPasswordFailed": "Resetarea parolei a eșuat",
"resetPasswordConfirmWipe": "{{username}} nu s-a conectat de la actualizarea criptării, prin urmare datele sale nu pot fi recuperate. Resetarea acum va șterge gazdele, acreditările și fragmentele de date. Continuați?",
"manageApiKeys": "Chei API",
"apiKeyNamePlaceholder": "Numele cheii",
"apiKeyCopyNotice": "Copiază această cheie acum, nu va mai fi afișată.",
"noApiKeysForUser": "Fără chei API",
"apiKeyDeleteFailed": "Cheia API nu a putut fi ștersă.",
"exportUserData": "Exportul datelor",
"exportUserDataDesc": "Descarcă gazdele, acreditările și datele managerului de fișiere ale acestui utilizator ca JSON. Secretele sunt decriptate.",
"exportUserDataSuccess": "Datele utilizatorului exportate",
"exportUserDataFailed": "Exportul datelor utilizatorului a eșuat",
"hostsCount": "gazde {{count}}",
"addHostForUser": "Adăugați gazdă",
"noHostsForUser": "Acest utilizator nu are gazde",
"connectToHost": "Conectează-te",
"deleteHostConfirm": "Ștergeți gazda „{{name}}” aparținând lui {{username}}?",
"hostDeletedSuccess": "Gazdă ștearsă",
"hostDeleteFailed": "Nu s-a putut șterge gazda",
"credentialsCount": "acreditări {{count}}",
"addCredentialForUser": "Adăugați acreditări",
"noCredentialsForUser": "Acest utilizator nu are acreditări",
"deleteCredentialConfirm": "Ștergeți acreditările „{{name}}” aparținând lui {{username}}?",
"credentialDeletedSuccess": "Acreditare ștearsă",
"credentialDeleteFailed": "Ștergerea acreditării nu a reușit",
"noSessionsForUser": "Nicio sesiune activă",
"deleteSuccessorLabel": "Predați gazdele și acreditările către",
"deleteSuccessorMe": "Eu (administratorul care șterge)",
"deleteSuccessorNone": "Nimeni, șterge-i",
"deleteSuccessorDesc": "Tot ce a partajat acest utilizator continuă să funcționeze sub noul proprietar; alegerea „nimeni” îi elimină gazdele, acreditările și partajările.",
"deleteUserDangerDesc": "Ștergeți definitiv {{username}} și toate datele aferente (gazde, acreditări, fragmente de date, istoric). Această acțiune nu poate fi anulată.",
"deleteUserConfirm": "Ștergeți definitiv {{username}} și toate datele aferente?",
"deleteUserAdminBlocked": "Eliminați statutul de administrator înainte de a șterge acest utilizator.",
"createRoleRequired": "Numele și numele afișat sunt obligatorii",
"createRoleSuccess": "Rolul „{{name}}” a fost creat",
"createRoleFailed": "Nu s-a putut crea rolul",
"apiKeyNameRequired": "Numele cheii este obligatoriu",
"apiKeyUserRequired": "ID-ul de utilizator este obligatoriu",
"apiKeyCreatedSuccess": "Cheia API „{{name}}” a fost creată",
"apiKeyCreateFailed": "Nu s-a putut crea cheia API",
"exportSuccess": "Baza de date exportată cu succes",
"exportFailed": "Exportul bazei de date a eșuat",
"importSelectFile": "Vă rugăm să selectați mai întâi un fișier",
"importCompleted": "Import finalizat: {{total}} articole importate, {{skipped}} omis",
"importFailed": "Importul a eșuat: {{error}}",
"importError": "Importul bazei de date a eșuat",
"sectionHostDefaults": "Setări implicite ale gazdei",
"minutes": "minute",
"rolePermissions": {
"count": "permisiuni {{count}}",
"editAction": "Editați permisiunile",
"loadError": "Nu s-a putut încărca catalogul de permisiuni",
"saved": "Permisiunile de rol au fost salvate",
"saveError": "Nu s-au putut salva permisiunile rolului",
"save": "Salva",
"saving": "Economisire...",
"pluginDisabled": "Funcția este dezactivată",
"groups": {
"hosts": "Gazde",
"credentials": "Acreditări",
"admin": "Administrare"
}
},
"notificationPrivateEndpoints": "Gazde de notificări private permise",
"notificationPrivateEndpointsDesc": "Gazde private exacte pe care canalele de notificare le pot contacta. Separați-le prin virgule.",
"updateNotificationEndpointsFailed": "Nu s-a putut actualiza lista de permise pentru punctul final de notificare",
"secondFactorsSectionTitle": "Factorii secundari",
"secondFactorsNone": "Niciun factor secundar înscris",
"secondFactorUnavailable": "Indisponibil",
"resetSecondFactors": "Resetează factorii secundari",
"resetSecondFactorsConfirm": "Eliminați fiecare al doilea factor pentru {{username}}? Se pot conecta cu parola sau SSO și se pot înscrie din nou.",
"secondFactorsResetSuccess": "Factorii secundari se resetează",
"secondFactorsResetFailed": "Nu s-au putut reseta factorii secundari",
"passwordLoginForced": "Conectarea cu parolă este dezactivată, dar nicio altă metodă de conectare nu este activată, așa că rămâne activată deocamdată. Nimeni nu va fi blocat.",
"sslNotRenewed": "Nimic nu reînnoiește acest certificat. Expiră la {{date}}. Activați reînnoirea automată în secțiunea Certificate ACME sau încărcați unul nou înainte de această dată.",
"sslSelfSigned": "Certificat autosemnat creat de Termix. Browserele vor avertiza în legătură cu acesta.",
"sslRenewedBy": "Reînnoit automat de {{plugin}}",
"sslIssuer": "Emis de {{issuer}}",
"sslNames": "Acoperă {{names}}",
"sslManualTitle": "Încărcați un certificat",
"updateExternalAutoProvisionFailed": "Nu s-a putut actualiza setarea de creare automată"
},
"newUi": {
"sidebar": {
"quickConnect": {
"hostLabel": "Gazdă",
"hostPlaceholder": "192.168.1.1 sau example.com",
"portLabel": "Port",
"portPlaceholder": "22",
"usernameLabel": "Nume de utilizator",
"usernamePlaceholder": "nume de utilizator",
"authLabel": "Autentificare",
"passwordLabel": "Parolă",
"passwordPlaceholder": "parolă",
"privateKeyLabel": "Cheie privată",
"privateKeyPlaceholder": "Lipiți cheia privată...",
"credentialLabel": "Acreditare",
"credentialPlaceholder": "Selectați o acreditare salvată",
"protocolLabel": "Protocol",
"domainLabel": "Domeniu",
"domainPlaceholder": "opțional",
"connectToAction": "Conectează-te la {{name}}",
"sshProtocol": "SSH",
"noTarget": "Nimic instalat nu se poate conecta la acest tip de gazdă"
},
"keybindings": {
"title": "Comenzi rapide de la tastatură",
"description": "Asociați tastele la acțiunile din terminal și din aplicație sau modificați comenzile rapide încorporate.",
"defaultsHeading": "Comenzi rapide încorporate",
"fixedHeading": "Comenzi rapide pentru aplicații",
"fixed": {
"splitRight": "Împărțire la dreapta",
"splitDown": "Împărțiți",
"zoomPane": "Măriți panoul focalizat",
"navigatePane": "Mutare între panouri",
"nextTab": "Fila următoare",
"previousTab": "Fila anterioară",
"jumpTab": "Salt la filă",
"previousView": "Înapoi la vizualizarea anterioară a barei laterale",
"fullscreen": "Comutare ecran complet"
},
"customHeading": "Comenzi rapide personalizate",
"addBinding": "Adăugați o comandă rapidă",
"addBindingTitle": "Adăugați o comandă rapidă",
"editBindingTitle": "Editare comandă rapidă",
"loading": "Încărcare...",
"noCustomBindings": "Încă nu există comenzi rapide personalizate",
"defaultBadge": "Implicit",
"customizedBadge": "Personalizat",
"customize": "Personalizare",
"resetToDefault": "Resetare la valorile implicite",
"resetAllToDefaults": "Resetați toate la valorile implicite",
"close": "Aproape",
"cancel": "Anula",
"saveBinding": "Salvați comanda rapidă",
"saveError": "Nu s-au putut salva comenzile rapide de la tastatură",
"pressKeysToRecord": "Combinație de taste",
"pressKeysPlaceholder": "Faceți clic și apăsați tastele",
"recording": "Apăsați tastele...",
"comboRequiredError": "Apăsați mai întâi o combinație de taste",
"conflictWarning": "Această combinație este deja legată de {{combo}}. Salvarea va face ca ambele să se declanșeze.",
"actionLabel": "Acţiune",
"actionNextTab": "Comutare la fila următoare",
"actionPreviousTab": "Comutare la fila anterioară",
"actionOpenCommandPalette": "Deschide căutarea rapidă",
"actionReconnectSession": "Reconectați sesiunea curentă",
"unavailableAction": "{{type}} (indisponibil)",
"actionRequiredError": "Alegeți mai întâi o acțiune"
},
"userProfile": {
"donateTitle": "Menține Termix în viață",
"donateDescription": "Termix este gratuit, găzduit în regim self-hosting și construit de doar câțiva oameni în timpul lor liber. Dacă ți-a economisit timp sau bani, o donație în criptomonede ajută la menținerea activității.",
"donateMilestones": "Donațiile ajută la finanțarea timpului necesar pentru cercetare și învățare a ceea ce este necesar pentru a dezvolta suport SAML, Kubernetes și pentru agenți. Vedeți progresul și donați.",
"donateButton": "Donează criptomonede",
"storageModeLocal": "Browser",
"storageModeCloud": "Bază de date",
"storageModeDescription": "Browserul stochează setările doar în acest browser. Baza de date se sincronizează cu serverul și se încarcă pe orice dispozitiv.",
"resetToDefaults": "Resetare la setările implicite",
"resetToDefaultsSuccess": "Setările sunt resetate la valorile implicite.",
"storageModeSwitch": "Stocare preferată",
"sectionAccount": "Cont",
"desktopProfileTitle": "Numai acest dispozitiv",
"desktopProfileDescription": "Acest profil se află pe acest dispozitiv și se conectează singur. Conectați-l la un server Termix pentru a utiliza aceleași gazde și setări pe fiecare dispozitiv.",
"sectionInterface": "Interfață",
"interfacePresetDesc": "Câte detalii afișează Termix. Fiecare funcție rămâne disponibilă.",
"preset_simple": "Simplu",
"preset_simple_desc": "Doar esențialele.",
"preset_balanced": "Echilibrat",
"preset_balanced_desc": "Aspectul standard.",
"preset_advanced": "Avansat",
"preset_advanced_desc": "Totul pus, foarte dens.",
"presetClearOverrides": "Resetează tot",
"presetOverridesTitle": "Personalizat",
"presetRevertArea": "Reveni",
"presetConfirmTitle": "Comutare la {{preset}}?",
"presetConfirmDesc": "Aceasta resetează bara laterală, navigarea, aspectul tabloului de bord, bara de instrumente a terminalului și vizualizarea managerului de fișiere. Gazdele, datele de autentificare și pagina principală nu sunt afectate.",
"presetConfirmApply": "Aplicați presetarea",
"runSetupAgainDesc": "Parcurgeți din nou configurația primei runde.",
"runSetupAgainButton": "Rulați configurarea",
"uiArea_chrome": "Aplicație Chrome",
"uiArea_hostList": "Lista de gazde",
"uiArea_credentialList": "Listă de acreditări",
"uiArea_rail": "Navigare",
"uiArea_dashboard": "Bord",
"uiArea_terminal": "Terminal",
"uiArea_fileManager": "Manager de fișiere",
"uiArea_hostEditor": "Editor gazdă",
"sectionAppearance": "Aspect",
"sectionSecurity": "Securitate",
"sectionApiKeys": "Chei API",
"sectionData": "Date",
"usernameLabel": "Nume de utilizator",
"roleLabel": "Rol",
"roleAdministrator": "Administrator",
"authMethodLabel": "Metodă de autentificare",
"authMethodLocal": "Local",
"twoFaLabel": "2FA",
"twoFaOn": "Pe",
"twoFaOff": "Dezactivat",
"versionLabel": "Versiune",
"betaProgramTitle": "Programul Beta",
"betaProgramDescription": "Încercați din timp funcțiile viitoare cu eticheta Docker săptămânală :beta. Instabil, nu este pentru producție.",
"betaProgramFeedback": "Ai găsit o eroare? Raportează-o aici.",
"betaProgramLearnMore": "Află mai multe",
"cliTitle": "Interfață de comandă (CLI) Termix",
"cliDescription": "Deschide terminale, rulează comenzi și mută fișiere din propriul shell.",
"cliLearnMore": "Află mai multe",
"deleteAccount": "Șterge contul",
"deleteAccountDescription": "Ștergeți definitiv contul dvs.",
"changeServerDescription": "Treceți la un alt server backend Termix",
"deleteButton": "Şterge",
"deleteAccountPermanent": "Această acțiune este permanentă și nu poate fi anulată.",
"deleteAccountWarning": "Toate sesiunile, gazdele, acreditările și setările vor fi șterse definitiv.",
"confirmPasswordDeletePlaceholder": "Introduceți parola pentru a confirma",
"languageLabel": "Limbă",
"themeLabel": "Temă",
"fontSizeLabel": "Dimensiunea fontului",
"interfaceFontLabel": "Fontul interfeței",
"interfaceFontDescription": "Modifică fontul interfeței aplicației. Profilurile terminalului își păstrează propriile setări de font.",
"accentColorLabel": "Culoare accentuată",
"keyboardShortcuts": "Comenzi rapide de la tastatură",
"keyboardShortcutsDescription": "Personalizați comenzile rapide pentru copiere, lipire și comenzi în terminal",
"manageShortcuts": "Gestionează",
"historyTracking": "Urmărirea istoricului",
"historyTrackingDesc": "Comenzile terminalului de urmărire",
"commandPalette": "Paletă de comenzi",
"commandPaletteDesc": "Activează comanda rapidă de la tastatură",
"reopenTabsOnLogin": "Redeschideți filele la conectare",
"reopenTabsOnLoginDesc": "Restaurați filele deschise atunci când vă conectați sau reîmprospătați pagina, chiar și de pe un alt dispozitiv",
"confirmTabClose": "Confirmați închiderea filei",
"confirmTabCloseDesc": "Întreabă înainte de a închide filele terminalului",
"showTabNumbers": "Afișați numerele de tabulare",
"showTabNumbersDesc": "Afișați un număr pe fiecare filă pentru a le diferenția mai ușor",
"settingsAppRail": "Aplicație Rail",
"sidebarSettingsMoved": "Setările de afișare a barei laterale a gazdei au fost mutate în panoul Personalizare bară laterală, deschis din bara de instrumente Gazde.",
"showHostTags": "Afișați etichetele gazdei",
"showHostTagsDesc": "Afișați etichetele în lista de gazde",
"hostTrayOnClick": "Faceți clic pentru a extinde acțiunile gazdei",
"hostTrayOnClickDesc": "Afișați întotdeauna butoanele de conectare; faceți clic pentru a extinde opțiunile de gestionare în loc să treceți cu mouse-ul peste",
"compactHostView": "Vizualizare compactă a gazdei",
"compactHostViewDesc": "Restrângeți fiecare gazdă la o singură linie care să afișeze doar numele și adresa acesteia",
"statusColors": "Culori de stare reală",
"statusColorsDesc": "Folosește verde/roșu pentru starea online/offline în loc de culoarea de accent",
"pinAppRail": "Fixează aplicația Pin Rail",
"pinAppRailDesc": "Mențineți șina aplicației din bara laterală stângă mereu extinsă, în loc să se extindă la trecerea cu mouse-ul peste mouse",
"openFullscreenSettings": "Deschide setările pe ecran complet",
"exitFullscreenSettings": "Ieșiți din setările ecran complet",
"expandAppRailOnHover": "Extindeți aplicația Rail la trecerea cu mouse-ul peste",
"expandAppRailOnHoverDesc": "Permite extinderea șinei aplicației din bara laterală stângă atunci când cursorul se mișcă peste ea",
"showPinAppRailButton": "Afișează butonul Pin App Rail",
"showPinAppRailButtonDesc": "Afișează un buton în bara aplicației pentru a o fixa deschisă. Dezactivat în mod implicit.",
"settingsNavigation": "Navigare",
"navigationTabsDesc": "Alegeți ce file apar în bara aplicației",
"showSnippetCommands": "Afișare comenzi",
"showSnippetCommandsDesc": "Afișează comanda fiecărui fragment sub numele său. Dezactivează pentru o listă compactă.",
"foldersCollapsed": "Foldere restrânse",
"foldersCollapsedDesc": "Restrângeți folderele în mod implicit",
"confirmExecution": "Confirmați execuția",
"confirmExecutionDesc": "Confirmați înainte de a rula fragmente",
"settingsUpdates": "Actualizări",
"disableUpdateChecks": "Dezactivați verificările de actualizare",
"disableUpdateChecksDesc": "Opriți verificarea actualizărilor",
"changePassword": "Schimbaţi parola",
"currentPasswordLabel": "Parola actuală",
"currentPasswordPlaceholder": "Parola actuală",
"newPasswordLabel": "Parolă Nouă",
"newPasswordPlaceholder": "Parolă Nouă",
"confirmPasswordLabel": "Confirmați noua parolă",
"confirmPasswordPlaceholder": "Confirmați noua parolă",
"updatePassword": "Actualizați parola",
"createApiKeyTitle": "Creați o cheie API",
"createApiKeyDescription": "Generați o nouă cheie API pentru acces programatic.",
"apiKeyNameLabel": "Nume",
"apiKeyNamePlaceholder": "de exemplu, conducta CI",
"expiryDateLabel": "Data de expirare",
"optional": "opțional",
"cancel": "Anula",
"createKey": "Creați cheie",
"apiKeyCreatedWarning": "Cheie creată - copiați-o acum, nu va mai fi afișată.",
"copyApiKey": "Copiați cheia API",
"copiedToClipboard": "Copiat în clipboard",
"apiKeyCount": "taste {{count}}",
"newKey": "Cheie nouă",
"noApiKeys": "Încă nu există chei API.",
"apiKeyActive": "Activ",
"apiKeyUsageHint": "Includeți cheia dvs. în",
"apiKeyUsageHintHeader": "antet.",
"apiKeyPermissionsHint": "Cheile moștenesc permisiunile utilizatorului care le creează.",
"exportData": "Exportați datele mele",
"exportDataDesc": "Descărcați o copie de rezervă a gazdelor, acreditărilor și setărilor pentru a o transfera pe un alt dispozitiv",
"export": "Export",
"exporting": "Exportator...",
"importData": "Importați datele mele",
"importDataDesc": "Restaurați gazdele, acreditările și setările dintr-un fișier de rezervă .sqlite",
"importDataSelected": "Selectat: {{name}}",
"selectFile": "Selectați fișierul",
"changeFile": "Schimba",
"import": "Import",
"importing": "Importare...",
"exportSuccess": "Datele au fost exportate cu succes",
"exportFailed": "Exportul datelor a eșuat",
"importSelectFile": "Vă rugăm să selectați mai întâi un fișier",
"importCompleted": "Import finalizat: {{total}} articole importate, {{skipped}} omis",
"importFailed": "Importul a eșuat: {{error}}",
"roleUser": "Utilizator",
"authMethodDual": "Autentificare duală",
"authMethodOidc": "Extern",
"done": "Făcut",
"apiKeyNameRequired": "Numele cheii este obligatoriu",
"apiKeyCreated": "Cheia API „{{name}}” a fost creată",
"apiKeyCreateFailed": "Nu s-a putut crea cheia API",
"apiKeyUser": "Utilizator",
"apiKeyExpires": "Expiră",
"apiKeyRevoked": "Cheia API „{{name}}” a fost revocată",
"apiKeyRevokeFailed": "Cheia API nu a putut fi revocată",
"passwordFieldsRequired": "Sunt necesare parolele actuale și noi",
"passwordMismatch": "Parolele nu se potrivesc",
"passwordTooShort": "Parola trebuie să aibă cel puțin 6 caractere",
"passwordUpdated": "Parola a fost actualizată cu succes",
"passwordUpdateFailed": "Parola nu a putut fi actualizată",
"deletePasswordRequired": "Parola este necesară pentru a șterge contul dvs.",
"deleteFailed": "Ștergerea contului a eșuat",
"deleting": "Se șterge...",
"colorPickerTooltip": "Deschideți selectorul de culori",
"themeSystem": "Sistem",
"themeLight": "Aprinde",
"themeDark": "Întuneric",
"themeDracula": "Dracula",
"themeCatppuccin": "Catpuccină",
"themeNord": "Nord",
"themeSolarized": "Solarizat",
"themeTokyoNight": "Noaptea din Tokyo",
"themeOneDark": "Un întuneric",
"themeGruvbox": "Gruvbox",
"linkedProfileTitle": "Conectat la {{server}}",
"linkedProfileDescription": "Acest dispozitiv folosește contul tău pe server și păstrează o copie a datelor tale, așa că funcționează în continuare offline.",
"manageSync": "Gestionați sincronizarea",
"setUpSync": "Legătură către un server",
"settingsTabsAndShortcuts": "Taburi și comenzi rapide"
}
}
},
"terminalToolbar": {},
"plugins": {
"capabilities": {
"credentials:read": {
"title": "Vedeți parolele și cheile dvs.",
"consequence": "Poate citi secretul stocat pentru orice gazdă pe care o puteți accesa."
},
"ssh:connect": {
"title": "Executați comenzi pe serverele dvs.",
"consequence": "Orice comandă, pe gazdele la care o conectați, cu accesul dvs."
},
"process:spawn": {
"title": "Rulați programe pe această mașină",
"consequence": "Programele rulează pe serverul Termix în sine, nu pe gazdele dvs."
},
"users:write": {
"title": "Crearea și modificarea conturilor de utilizator",
"consequence": "Poate adăuga utilizatori și le poate schimba rolurile."
},
"auth:provide": {
"title": "Gestionați conectarea",
"consequence": "Poate adăuga o metodă de autentificare, un al doilea factor sau un tip de autentificare SSH."
},
"system:tls": {
"title": "Gestionați certificatele",
"consequence": "Poate înlocui certificatul furnizat de Termix prin HTTPS și poate răspunde la verificările de domeniu de către autoritățile de certificare."
},
"device:serial": {
"title": "Accesați dispozitivele seriale și USB",
"consequence": "Poate deschide un port serial fizic pe mașina pe care rulează Termix."
},
"hosts:write": {
"title": "Creați și schimbați gazde",
"consequence": "Poate adăuga gazde și le poate edita pe cele pe care le aveți deja."
},
"credentials:use": {
"title": "Conectați-vă la serverele dvs.",
"consequence": "Nu poate vedea parolele sau cheile tale."
},
"credentials:write": {
"title": "Salvați noile acreditări",
"consequence": "Poate adăuga parole și chei la acreditările salvate."
},
"network:outbound": {
"title": "Accesați internetul",
"consequence": "Poate trimite cereri către servicii externe."
},
"network:serve": {
"title": "Acceptați conexiunile",
"consequence": "Deschide un port pe serverul Termix."
},
"network:broadcast": {
"title": "Trimiteți transmisii în rețea",
"consequence": "Poate trimite pachete către dispozitive din rețeaua locală, cum ar fi un semnal Wake-on-LAN."
},
"users:read": {
"title": "Vedeți numele de utilizator și rolurile",
"consequence": "Niciodată hash-uri de parolă, niciodată stare cu doi factori."
},
"events:core": {
"title": "Urmărește tot ce se întâmplă",
"consequence": "Incluzând activitatea altor utilizatori, nu doar a ta."
},
"notify:send": {
"title": "Trimiteți alerte",
"consequence": "Către dumneavoastră sau alți utilizatori și prin canalele pe care le-au configurat."
},
"notify:hub": {
"title": "Primește fiecare alertă",
"consequence": "Stochează și transmite alertele trimise de toate pluginurile, inclusiv conținutul acestora."
},
"audit:read": {
"title": "Citiți jurnalul de audit",
"consequence": "Poate vedea cine a făcut ce și când."
},
"desktop:window": {
"title": "Deschideți ferestrele desktopului",
"consequence": "Doar în aplicația desktop Termix."
},
"users:impersonate": {
"title": "Acționează ca alți utilizatori",
"consequence": "Rulează lucrări în fundal cu accesul altui utilizator, cum ar fi sarcinile programate. Fiecare utilizare este scrisă în jurnalul de audit."
},
"db:core-refs": {
"title": "Citirea tabelelor conturilor principale",
"consequence": "Poate interoga utilizatori, roluri și gazde direct din baza de date."
},
"hosts:read": {
"title": "Vedeți lista dvs. de gazde",
"consequence": "Nume și adrese pentru gazde pe care le puteți vedea deja."
},
"db:own": {
"title": "Stochează propriile date",
"consequence": "Păstrat în propriile tabele, separat de alte plugin-uri."
},
"kv:own": {
"title": "Amintiți-vă de micile setări",
"consequence": "Păstrat separat de alte pluginuri."
},
"files:own": {
"title": "Stochează propriile fișiere",
"consequence": "În propriul folder de pe disc, separat de alte pluginuri."
},
"secrets:own": {
"title": "Păstrează propriile secrete",
"consequence": "Criptat de Termix. Pluginul nu deține niciodată cheia."
},
"settings:read-core": {
"title": "Citiți setările Termix",
"consequence": "Setările serverului, nu gazdele sau acreditările dvs."
},
"plugins:read": {
"title": "Vedeți funcțiile instalate",
"consequence": "Poate vedea ce funcții sunt instalate și rulează."
},
"ui:surface": {
"title": "Adăugați propriile ecrane",
"consequence": "Taburi, panouri și setări pe care le puteți ascunde ulterior."
}
},
"runtime": {
"needsPlugin": "{{name}} nu este disponibil",
"needsUnknownPlugin": "Această funcție nu este disponibilă",
"disabledHint": "Este dezactivat pe acest server.",
"missingHint": "Funcția din care provenea a fost eliminată.",
"failed": "{{name}} nu a putut porni",
"failedHint": "Un administrator poate verifica jurnalele serverului pentru detalii.",
"loading": "Se încarcă {{name}}",
"crashed": "Ceva nu a mers bine în {{name}}",
"retry": "Încearcă din nou"
}
},
"settings": {
"secretSet": "Set",
"secretNotSet": "Nesetat",
"secretReplace": "Înlocui",
"pluginSettingsSaved": "Setările au fost salvate",
"pluginSettingsInvalid": "Unele setări nu au putut fi salvate. Verificați câmpurile evidențiate.",
"pluginSettingsSaveFailed": "Setările nu au putut fi salvate",
"pluginSettingsLoadFailed": "Setările nu au putut fi încărcate",
"featureUnavailable": "{{name}} nu este disponibil momentan. Aceste setări sunt salvate, dar nu vor avea efect."
},
"managerCard": {
"refresh": "Reîmprospăta",
"retry": "Reîncercați",
"sudoHint": "Setați o parolă sudo pentru această gazdă în editorul de gazde pentru a activa acțiuni privilegiate.",
"noData": "Fără date",
"filter": "Filtra..."
},
"sync": {
"server": "Serverul Termix",
"account": "Cont",
"status": "Stare",
"never": "nu",
"justNow": "chiar acum",
"minutesAgo_one": "acum {{count}} minut",
"minutesAgo_other": "{{count}} minute în urmă",
"hoursAgo_one": "Acum {{count}} oră",
"hoursAgo_other": "Acum {{count}} ore",
"actionFailed": "Asta nu a funcționat. Încearcă din nou.",
"unlinkedTitle": "Numai acest dispozitiv",
"unlinkedBody": "Termix funcționează independent pe acest dispozitiv. Conectați-l la serverul Termix pentru a menține totul în ritm.",
"unlinkedPointHosts": "Gazdele, acreditările, fragmentele de date și setările te însoțesc pe fiecare dispozitiv.",
"unlinkedPointOffline": "Totul funcționează chiar și atunci când serverul nu poate fi accesat și se recuperează mai târziu.",
"unlinkedPointAccount": "Te conectezi cu contul tău de server, iar gazdele pe care le-ai partajat cu tine apar și aici.",
"linkButton": "Legătură către un server",
"state": {
"syncing": "Sincronizare",
"offline": "Serverul nu este accesibil",
"error": "Sincronizarea s-a oprit",
"signedOut": "Deconectat/ă",
"synced": "Sincronizat {{time}}"
},
"pending_one": "{{count}} modificare în așteptare pentru sincronizare",
"pending_other": "{{count}} modificări care așteaptă sincronizarea",
"signInAgain": "Conectați-vă din nou",
"syncNow": "Sincronizează acum",
"unlink": "Deconectare",
"unlinked": "Acest dispozitiv nu mai este conectat",
"unlinkTitle": "Deconectați acest dispozitiv?",
"unlinkDescription": "Oprește sincronizarea și se deconectează de la server. Gazdele partajate cu dvs. de către alte persoane sunt eliminate de pe acest dispozitiv în ambele cazuri.",
"unlinkKeepTitle": "Păstrează-mi datele aici",
"unlinkKeepBody": "Gazdele, acreditările și setările tale rămân pe acest dispozitiv și continuă să funcționeze singure.",
"unlinkRemoveTitle": "Eliminați datele sincronizate",
"unlinkRemoveBody": "Tot ce a provenit de la server este eliminat de pe acest dispozitiv. Gazdele păstrate pe acest dispozitiv rămân doar.",
"conflictsTitle": "Conflicte",
"conflictsDescription": "Acestea au fost modificate aici și pe server în același timp. Versiunea de server este în uz. Păstrați-o pe a dvs. pentru a o trimite către server.",
"keepMine": "Păstrează-l pe al meu",
"keepServer": "Păstrați serverul",
"errorsTitle": "Nesincronizat",
"errorsDescription": "Serverul nu a acceptat aceste modificări. Acestea rămân pe acest dispozitiv.",
"errorPermission": "Contul tău de pe server nu are permisiunea de a face această modificare.",
"retry": "Încearcă din nou",
"whatSyncs": "Ce se sincronizează",
"whatSyncsDescription": "Dezactivați tot ce doriți să păstrați doar pe acest dispozitiv.",
"coreGroup": "Termix",
"notOnServer": "Serverul nu are asta",
"notOnDevice": "Încă nu este pe acest dispozitiv",
"localOnlyHint": "De asemenea, puteți păstra gazde sau foldere individuale pe acest dispozitiv din setările lor.",
"originTitle": "Unde încep conexiunile",
"originDescription": "Conectați-vă la gazde de pe acest dispozitiv sau prin server. Puteți modifica acest lucru pentru fiecare gazdă în parte.",
"originLocal": "Acest dispozitiv",
"originRemote": "Serverul",
"entities": {
"hosts": "Gazde",
"sshCredentials": "Acreditări",
"sshFolders": "Foldere",
"userPreferences": "Preferințe",
"pluginUserSettings": "Setări funcții",
"sharedHosts": "Gazdele au fost partajate cu dvs.",
"sharedCredentials": "Acreditări partajate cu dvs.",
"vaultProfiles": "Profiluri de seif",
"snippetFolders": "Foldere cu fragmente de fragmente",
"snippets": "Fragmente",
"dashboardServiceLinks": "Linkuri de servicii",
"homepageItems": "Elemente de pe pagina principală",
"networkTopology": "Harta rețelei",
"workspaces": "Spații de lucru"
},
"proxy": {
"title": "Proxy invers",
"description": "Necesar doar atunci când ceva precum Cloudflare Access sau o pagină de conectare se află în fața serverului tău.",
"headersTitle": "Anteturi suplimentare",
"headersHint": "Trimis odată cu fiecare solicitare către server, de exemplu, un token de serviciu Cloudflare Access.",
"headerName": "Numele antetului",
"headerValue": "Valoare",
"savedValue": "Salvat, tastați pentru a modifica",
"addHeader": "Adăugați antet",
"removeHeader": "Eliminați antetul",
"basicAuthTitle": "Nume de utilizator și parolă",
"basicAuthHint": "Pentru un proxy care solicită un nume de utilizator și o parolă înainte de Termix.",
"username": "Nume de utilizator",
"password": "Parolă",
"allowInvalidCertificate": "Aveți încredere într-un certificat autosemnat",
"allowInvalidCertificateHint": "Numai pentru propriul server, atunci când certificatul său nu provine de la o autoritate cunoscută.",
"saved": "Salvat"
},
"problems": {
"invalidUrl": "Asta nu pare a fi o adresă web.",
"unreachable": "Nu s-a putut accesa serverul. Verificați adresa și dacă serverul funcționează.",
"unreachableWithReason": "Nu s-a putut accesa serverul: {{reason}}",
"tlsUntrusted": "Certificatul serverului nu este de încredere. Dacă acesta este propriul server cu un certificat autosemnat, activați opțiunea de mai jos.",
"basicAuthRequired": "Ceva în fața serverului solicită un nume de utilizator și o parolă. Introduceți-le mai jos.",
"proxyLogin": "O pagină de conectare sau un proxy a răspuns în loc de Termix. Adăugați anteturile necesare mai jos sau verificați adresa.",
"notTermix": "Nu există niciun server Termix la acea adresă. Dacă rulează sub o cale, includeți-o, cum ar fi https://example.com/termix.",
"versionMismatch": "Serverul respectiv rulează o versiune mai veche de Termix. Actualizează-l la versiunea 2.9 sau mai nouă pentru a face legătura.",
"differentAccount": "Te-ai conectat la un alt cont. Conectează-te la contul la care este conectat acest dispozitiv sau deconectează-l mai întâi."
},
"wizard": {
"title": "Legătură către un server Termix",
"reloginTitle": "Conectați-vă din nou",
"savedServers": "Servere recente",
"removeServer": "Eliminați din listă",
"serverDescription": "Introdu adresa pe care o folosești pentru a deschide Termix în browser.",
"signinDescription": "Conectați-vă la {{url}}",
"chooseDescription": "Acest dispozitiv are deja date. Ce ar trebui să se întâmple cu el?",
"finishingDescription": "Se conectează acest dispozitiv.",
"serverUrl": "Adresa serverului",
"serverUrlHint": "De exemplu https://termix.example.com",
"showProxySettings": "Setări proxy invers",
"hideProxySettings": "Ascundeți setările de proxy invers",
"continue": "Continua",
"back": "Spate",
"mergeTitle": "Adaugă-l în contul meu",
"mergeBody": "Elementele {{count}} de pe acest dispozitiv sunt adăugate în contul dvs. Elementele pe care le aveți deja în contul dvs. rămân așa cum sunt pe server.",
"replaceTitle": "Înlocuiește-l cu contul meu",
"replaceBody": "Elementele {{count}} de pe acest dispozitiv sunt eliminate, iar acest dispozitiv preia tot din contul dvs. Gazdele păstrate pe acest dispozitiv rămân doar.",
"link": "Legătură",
"linking": "Se conectează și se execută prima sincronizare...",
"linked": "Conectat. Datele tale se sincronizează acum.",
"signedInAgain": "Conectat. Sincronizarea rulează din nou."
}
},
"hostDefaults": {
"source": {
"folder": "Dosar {{name}}",
"user": "Setările mele implicite",
"admin": "Server",
"builtin": "Încorporat"
},
"custom": "Personalizat",
"setHere": "Setați aici",
"notSet": "Nesetat",
"notSetTitle": "Nu este setată nicio valoare implicită pentru aceasta",
"resetTitle": "Această gazdă își setează propria valoare. Faceți clic pentru a utiliza din nou valoarea implicită de la {{source}}",
"clearTitle": "Setați la acest nivel. Faceți clic pentru a șterge și utilizați în schimb {{source}}",
"inheritedTitle": "Urmează implicit din {{source}}",
"titleAdmin": "Setările implicite ale gazdei serverului",
"titleUser": "Setările implicite ale gazdei mele",
"titleFolder": "Valori implicite pentru folder: {{name}}",
"descriptionAdmin": "Valori implicite pentru fiecare gazdă de pe acest server. Valorile implicite ale unui utilizator, valorile implicite ale unui folder sau gazda însăși pot seta în continuare o valoare diferită. Modificați un câmp pentru a-l seta aici sau debifați-l pentru a-l lăsa neconfigurat.",
"descriptionUser": "Valori implicite pentru toate gazdele dvs., prin intermediul celor ale serverului. Un folder sau gazda în sine poate seta în continuare o valoare diferită. Modificați un câmp pentru a-l seta aici sau debifați-l pentru a-l lăsa neconfigurat.",
"descriptionFolder": "Setări implicite pentru gazdele din acest folder și subfolderele sale, peste ale dvs. O gazdă poate seta în continuare o valoare diferită. Modificați un câmp pentru a-l seta aici sau debifați-l pentru a-l lăsa neconfigurat.",
"save": "Salvați setările implicite",
"saved_one": "Setările implicite au fost salvate. Gazda {{count}} a fost actualizată.",
"saved_other": "Setările implicite au fost salvate. Gazdele {{count}} au fost actualizate.",
"savedInBackground": "Setările implicite au fost salvate. Gazdele sunt actualizate în fundal.",
"appliedToHosts_one": "Gazda {{count}} a fost actualizată cu noile setări implicite.",
"appliedToHosts_other": "Gazdele {{count}} au fost actualizate cu noile setări implicite.",
"saveFailed": "Nu s-au putut salva setările implicite",
"loadFailed": "Nu s-au putut încărca setările implicite",
"confirmTitle": "Salvați setările implicite?",
"confirmChanges_one": "Gazda {{count}} respectă aceste setări implicite și se vor schimba.",
"confirmChanges_other": "Gazdele {{count}} respectă aceste setări implicite și se vor schimba.",
"confirmNoChanges": "Nicio modificare a gazdei existente. Gazdele noi vor începe cu aceste setări implicite.",
"menuMyDefaults": "Setările implicite ale gazdei mele",
"folderDefaultsAction": "Setări implicite pentru foldere",
"adminSectionDescription": "Setați valorile implicite pe care le urmează fiecare gazdă de pe acest server, pentru fiecare setare pe care o are o gazdă, inclusiv pentru fiecare funcționalitate. Utilizatorii și folderele își pot seta propriile valori deasupra, iar orice gazdă își poate folosi în continuare propria valoare.",
"editServerDefaults": "Editați setările implicite ale serverului",
"resetMenu": "Resetare",
"resetAll": "Totul la valorile implicite",
"resetCore": "Conexiune și SSH la setările implicite",
"resetDone_one": "Gazda {{count}} își urmează acum setările implicite.",
"resetDone_other": "Gazdele {{count}} își urmează acum setările implicite."
}
}