mirror of
https://github.com/Termix-SSH/Termix.git
synced 2026-08-29 18:31:33 +00:00
+7






![dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>](/assets/img/avatar_default.png)


Luke Gustafson
emreumar
dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
ZacharyZcR
Russell Poovey
russell
Subedi Bibek
Claude Fable 5
Alexander Elsner
SankeerthNara
Stephan Groth
DivByZero
devdanetra
Aleksandr Fominykh
sash
lhojun
Yunus Emre Umar
ddbdd5c437
* chore(deps): bump node from 24-slim to 26-slim in /docker in the docker-major-updates group (#1021) * chore: fix release workflow to merge docs branch * fix: svg donation generator push fail * fix: svg donation generator push fail * Update termix.rb * fix: svg donation generator push fail * chore: move donation badge to badges branch to avoid ruleset conflicts * chore: remove unneeded token from donation badge workflow * chore: debug donation badge commit step * fix: escape < character in donation SVG * fix: point donation badge to badges branch * chore: remove unused donation badge svg from main * Add Rack Genius logo to README Added Rack Genius logo to the README. * chore: improve donation goal svg generator to include stablecoins * chore: donation goal generator syntax error * chore: donation goal generator incorrect docs url usage * chore(deps): bump node in /docker in the docker-major-updates group Bumps the docker-major-updates group in /docker with 1 update: node. Updates `node` from 24-slim to 26-slim --- updated-dependencies: - dependency-name: node dependency-version: 26-slim dependency-type: direct:production dependency-group: docker-major-updates ... Signed-off-by: dependabot[bot] <support@github.com> --------- Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: LukeGus <bugattiguy527@gmail.com> Co-authored-by: Luke Gustafson <88517757+LukeGus@users.noreply.github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * chore(deps-dev): bump the dev-patch-updates group with 24 updates (#1023) * chore: fix release workflow to merge docs branch * fix: svg donation generator push fail * fix: svg donation generator push fail * Update termix.rb * fix: svg donation generator push fail * chore: move donation badge to badges branch to avoid ruleset conflicts * chore: remove unneeded token from donation badge workflow * chore: debug donation badge commit step * fix: escape < character in donation SVG * fix: point donation badge to badges branch * chore: remove unused donation badge svg from main * Add Rack Genius logo to README Added Rack Genius logo to the README. * chore: improve donation goal svg generator to include stablecoins * chore: donation goal generator syntax error * chore: donation goal generator incorrect docs url usage * chore(deps-dev): bump the dev-patch-updates group with 24 updates Bumps the dev-patch-updates group with 24 updates: | Package | From | To | | --- | --- | --- | | [@biomejs/biome](https://github.com/biomejs/biome/tree/HEAD/packages/@biomejs/biome) | `2.5.1` | `2.5.2` | | [@codemirror/commands](https://github.com/codemirror/commands) | `6.10.3` | `6.10.4` | | [@codemirror/view](https://github.com/codemirror/view) | `6.43.1` | `6.43.5` | | [@radix-ui/react-accordion](https://github.com/radix-ui/primitives/tree/HEAD/packages/react/accordion) | `1.2.14` | `1.2.15` | | [@radix-ui/react-alert-dialog](https://github.com/radix-ui/primitives/tree/HEAD/packages/react/alert-dialog) | `1.1.17` | `1.1.18` | | [@radix-ui/react-checkbox](https://github.com/radix-ui/primitives/tree/HEAD/packages/react/checkbox) | `1.3.5` | `1.3.6` | | [@radix-ui/react-dialog](https://github.com/radix-ui/primitives/tree/HEAD/packages/react/dialog) | `1.1.17` | `1.1.18` | | [@radix-ui/react-dropdown-menu](https://github.com/radix-ui/primitives/tree/HEAD/packages/react/dropdown-menu) | `2.1.18` | `2.1.19` | | [@radix-ui/react-label](https://github.com/radix-ui/primitives/tree/HEAD/packages/react/label) | `2.1.10` | `2.1.11` | | [@radix-ui/react-popover](https://github.com/radix-ui/primitives/tree/HEAD/packages/react/popover) | `1.1.17` | `1.1.18` | | [@radix-ui/react-progress](https://github.com/radix-ui/primitives/tree/HEAD/packages/react/progress) | `1.1.10` | `1.1.11` | | [@radix-ui/react-scroll-area](https://github.com/radix-ui/primitives/tree/HEAD/packages/react/scroll-area) | `1.2.12` | `1.2.13` | | [@radix-ui/react-select](https://github.com/radix-ui/primitives/tree/HEAD/packages/react/select) | `2.3.1` | `2.3.2` | | [@radix-ui/react-separator](https://github.com/radix-ui/primitives/tree/HEAD/packages/react/separator) | `1.1.10` | `1.1.11` | | [@radix-ui/react-slider](https://github.com/radix-ui/primitives/tree/HEAD/packages/react/slider) | `1.4.1` | `1.4.2` | | [@radix-ui/react-switch](https://github.com/radix-ui/primitives/tree/HEAD/packages/react/switch) | `1.3.1` | `1.3.2` | | [@radix-ui/react-tabs](https://github.com/radix-ui/primitives/tree/HEAD/packages/react/tabs) | `1.1.15` | `1.1.16` | | [@radix-ui/react-tooltip](https://github.com/radix-ui/primitives/tree/HEAD/packages/react/tooltip) | `1.2.10` | `1.2.11` | | [@tailwindcss/vite](https://github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/@tailwindcss-vite) | `4.3.1` | `4.3.2` | | [@vitejs/plugin-react](https://github.com/vitejs/vite-plugin-react/tree/HEAD/packages/plugin-react) | `6.0.2` | `6.0.3` | | [i18next](https://github.com/i18next/i18next) | `26.3.1` | `26.3.4` | | [radix-ui](https://github.com/radix-ui/primitives/tree/HEAD/packages/react/radix-ui) | `1.6.0` | `1.6.1` | | [sharp](https://github.com/lovell/sharp) | `0.35.2` | `0.35.3` | | [tailwindcss](https://github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/tailwindcss) | `4.3.1` | `4.3.2` | Updates `@biomejs/biome` from 2.5.1 to 2.5.2 - [Release notes](https://github.com/biomejs/biome/releases) - [Changelog](https://github.com/biomejs/biome/blob/main/packages/@biomejs/biome/CHANGELOG.md) - [Commits](https://github.com/biomejs/biome/commits/@biomejs/biome@2.5.2/packages/@biomejs/biome) Updates `@codemirror/commands` from 6.10.3 to 6.10.4 - [Changelog](https://github.com/codemirror/commands/blob/main/CHANGELOG.md) - [Commits](https://github.com/codemirror/commands/commits) Updates `@codemirror/view` from 6.43.1 to 6.43.5 - [Changelog](https://github.com/codemirror/view/blob/main/CHANGELOG.md) - [Commits](https://github.com/codemirror/view/commits) Updates `@radix-ui/react-accordion` from 1.2.14 to 1.2.15 - [Changelog](https://github.com/radix-ui/primitives/blob/main/packages/react/accordion/CHANGELOG.md) - [Commits](https://github.com/radix-ui/primitives/commits/HEAD/packages/react/accordion) Updates `@radix-ui/react-alert-dialog` from 1.1.17 to 1.1.18 - [Changelog](https://github.com/radix-ui/primitives/blob/main/packages/react/alert-dialog/CHANGELOG.md) - [Commits](https://github.com/radix-ui/primitives/commits/HEAD/packages/react/alert-dialog) Updates `@radix-ui/react-checkbox` from 1.3.5 to 1.3.6 - [Changelog](https://github.com/radix-ui/primitives/blob/main/packages/react/checkbox/CHANGELOG.md) - [Commits](https://github.com/radix-ui/primitives/commits/HEAD/packages/react/checkbox) Updates `@radix-ui/react-dialog` from 1.1.17 to 1.1.18 - [Changelog](https://github.com/radix-ui/primitives/blob/main/packages/react/dialog/CHANGELOG.md) - [Commits](https://github.com/radix-ui/primitives/commits/HEAD/packages/react/dialog) Updates `@radix-ui/react-dropdown-menu` from 2.1.18 to 2.1.19 - [Changelog](https://github.com/radix-ui/primitives/blob/main/packages/react/dropdown-menu/CHANGELOG.md) - [Commits](https://github.com/radix-ui/primitives/commits/HEAD/packages/react/dropdown-menu) Updates `@radix-ui/react-label` from 2.1.10 to 2.1.11 - [Changelog](https://github.com/radix-ui/primitives/blob/main/packages/react/label/CHANGELOG.md) - [Commits](https://github.com/radix-ui/primitives/commits/HEAD/packages/react/label) Updates `@radix-ui/react-popover` from 1.1.17 to 1.1.18 - [Changelog](https://github.com/radix-ui/primitives/blob/main/packages/react/popover/CHANGELOG.md) - [Commits](https://github.com/radix-ui/primitives/commits/HEAD/packages/react/popover) Updates `@radix-ui/react-progress` from 1.1.10 to 1.1.11 - [Changelog](https://github.com/radix-ui/primitives/blob/main/packages/react/progress/CHANGELOG.md) - [Commits](https://github.com/radix-ui/primitives/commits/HEAD/packages/react/progress) Updates `@radix-ui/react-scroll-area` from 1.2.12 to 1.2.13 - [Changelog](https://github.com/radix-ui/primitives/blob/main/packages/react/scroll-area/CHANGELOG.md) - [Commits](https://github.com/radix-ui/primitives/commits/HEAD/packages/react/scroll-area) Updates `@radix-ui/react-select` from 2.3.1 to 2.3.2 - [Changelog](https://github.com/radix-ui/primitives/blob/main/packages/react/select/CHANGELOG.md) - [Commits](https://github.com/radix-ui/primitives/commits/HEAD/packages/react/select) Updates `@radix-ui/react-separator` from 1.1.10 to 1.1.11 - [Changelog](https://github.com/radix-ui/primitives/blob/main/packages/react/separator/CHANGELOG.md) - [Commits](https://github.com/radix-ui/primitives/commits/HEAD/packages/react/separator) Updates `@radix-ui/react-slider` from 1.4.1 to 1.4.2 - [Changelog](https://github.com/radix-ui/primitives/blob/main/packages/react/slider/CHANGELOG.md) - [Commits](https://github.com/radix-ui/primitives/commits/HEAD/packages/react/slider) Updates `@radix-ui/react-switch` from 1.3.1 to 1.3.2 - [Changelog](https://github.com/radix-ui/primitives/blob/main/packages/react/switch/CHANGELOG.md) - [Commits](https://github.com/radix-ui/primitives/commits/HEAD/packages/react/switch) Updates `@radix-ui/react-tabs` from 1.1.15 to 1.1.16 - [Changelog](https://github.com/radix-ui/primitives/blob/main/packages/react/tabs/CHANGELOG.md) - [Commits](https://github.com/radix-ui/primitives/commits/HEAD/packages/react/tabs) Updates `@radix-ui/react-tooltip` from 1.2.10 to 1.2.11 - [Changelog](https://github.com/radix-ui/primitives/blob/main/packages/react/tooltip/CHANGELOG.md) - [Commits](https://github.com/radix-ui/primitives/commits/HEAD/packages/react/tooltip) Updates `@tailwindcss/vite` from 4.3.1 to 4.3.2 - [Release notes](https://github.com/tailwindlabs/tailwindcss/releases) - [Changelog](https://github.com/tailwindlabs/tailwindcss/blob/main/CHANGELOG.md) - [Commits](https://github.com/tailwindlabs/tailwindcss/commits/v4.3.2/packages/@tailwindcss-vite) Updates `@vitejs/plugin-react` from 6.0.2 to 6.0.3 - [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.0.3/packages/plugin-react) Updates `i18next` from 26.3.1 to 26.3.4 - [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.3.1...v26.3.4) Updates `radix-ui` from 1.6.0 to 1.6.1 - [Changelog](https://github.com/radix-ui/primitives/blob/main/packages/react/radix-ui/CHANGELOG.md) - [Commits](https://github.com/radix-ui/primitives/commits/HEAD/packages/react/radix-ui) Updates `sharp` from 0.35.2 to 0.35.3 - [Release notes](https://github.com/lovell/sharp/releases) - [Commits](https://github.com/lovell/sharp/compare/v0.35.2...v0.35.3) Updates `tailwindcss` from 4.3.1 to 4.3.2 - [Release notes](https://github.com/tailwindlabs/tailwindcss/releases) - [Changelog](https://github.com/tailwindlabs/tailwindcss/blob/main/CHANGELOG.md) - [Commits](https://github.com/tailwindlabs/tailwindcss/commits/v4.3.2/packages/tailwindcss) --- updated-dependencies: - dependency-name: "@biomejs/biome" dependency-version: 2.5.2 dependency-type: direct:development update-type: version-update:semver-patch dependency-group: dev-patch-updates - dependency-name: "@codemirror/commands" dependency-version: 6.10.4 dependency-type: direct:development update-type: version-update:semver-patch dependency-group: dev-patch-updates - dependency-name: "@codemirror/view" dependency-version: 6.43.5 dependency-type: direct:development update-type: version-update:semver-patch dependency-group: dev-patch-updates - dependency-name: "@radix-ui/react-accordion" dependency-version: 1.2.15 dependency-type: direct:development update-type: version-update:semver-patch dependency-group: dev-patch-updates - dependency-name: "@radix-ui/react-alert-dialog" dependency-version: 1.1.18 dependency-type: direct:development update-type: version-update:semver-patch dependency-group: dev-patch-updates - dependency-name: "@radix-ui/react-checkbox" dependency-version: 1.3.6 dependency-type: direct:development update-type: version-update:semver-patch dependency-group: dev-patch-updates - dependency-name: "@radix-ui/react-dialog" dependency-version: 1.1.18 dependency-type: direct:development update-type: version-update:semver-patch dependency-group: dev-patch-updates - dependency-name: "@radix-ui/react-dropdown-menu" dependency-version: 2.1.19 dependency-type: direct:development update-type: version-update:semver-patch dependency-group: dev-patch-updates - dependency-name: "@radix-ui/react-label" dependency-version: 2.1.11 dependency-type: direct:development update-type: version-update:semver-patch dependency-group: dev-patch-updates - dependency-name: "@radix-ui/react-popover" dependency-version: 1.1.18 dependency-type: direct:development update-type: version-update:semver-patch dependency-group: dev-patch-updates - dependency-name: "@radix-ui/react-progress" dependency-version: 1.1.11 dependency-type: direct:development update-type: version-update:semver-patch dependency-group: dev-patch-updates - dependency-name: "@radix-ui/react-scroll-area" dependency-version: 1.2.13 dependency-type: direct:development update-type: version-update:semver-patch dependency-group: dev-patch-updates - dependency-name: "@radix-ui/react-select" dependency-version: 2.3.2 dependency-type: direct:development update-type: version-update:semver-patch dependency-group: dev-patch-updates - dependency-name: "@radix-ui/react-separator" dependency-version: 1.1.11 dependency-type: direct:development update-type: version-update:semver-patch dependency-group: dev-patch-updates - dependency-name: "@radix-ui/react-slider" dependency-version: 1.4.2 dependency-type: direct:development update-type: version-update:semver-patch dependency-group: dev-patch-updates - dependency-name: "@radix-ui/react-switch" dependency-version: 1.3.2 dependency-type: direct:development update-type: version-update:semver-patch dependency-group: dev-patch-updates - dependency-name: "@radix-ui/react-tabs" dependency-version: 1.1.16 dependency-type: direct:development update-type: version-update:semver-patch dependency-group: dev-patch-updates - dependency-name: "@radix-ui/react-tooltip" dependency-version: 1.2.11 dependency-type: direct:development update-type: version-update:semver-patch dependency-group: dev-patch-updates - dependency-name: "@tailwindcss/vite" dependency-version: 4.3.2 dependency-type: direct:development update-type: version-update:semver-patch dependency-group: dev-patch-updates - dependency-name: "@vitejs/plugin-react" dependency-version: 6.0.3 dependency-type: direct:development update-type: version-update:semver-patch dependency-group: dev-patch-updates - dependency-name: i18next dependency-version: 26.3.4 dependency-type: direct:development update-type: version-update:semver-patch dependency-group: dev-patch-updates - dependency-name: radix-ui dependency-version: 1.6.1 dependency-type: direct:development update-type: version-update:semver-patch dependency-group: dev-patch-updates - dependency-name: sharp dependency-version: 0.35.3 dependency-type: direct:development update-type: version-update:semver-patch dependency-group: dev-patch-updates - dependency-name: tailwindcss dependency-version: 4.3.2 dependency-type: direct:development update-type: version-update:semver-patch dependency-group: dev-patch-updates ... Signed-off-by: dependabot[bot] <support@github.com> --------- Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: LukeGus <bugattiguy527@gmail.com> Co-authored-by: Luke Gustafson <88517757+LukeGus@users.noreply.github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * chore(deps): bump the prod-patch-updates group with 2 updates (#1025) * chore: fix release workflow to merge docs branch * fix: svg donation generator push fail * fix: svg donation generator push fail * Update termix.rb * fix: svg donation generator push fail * chore: move donation badge to badges branch to avoid ruleset conflicts * chore: remove unneeded token from donation badge workflow * chore: debug donation badge commit step * fix: escape < character in donation SVG * fix: point donation badge to badges branch * chore: remove unused donation badge svg from main * Add Rack Genius logo to README Added Rack Genius logo to the README. * chore: improve donation goal svg generator to include stablecoins * chore: donation goal generator syntax error * chore: donation goal generator incorrect docs url usage * chore(deps): bump the prod-patch-updates group with 2 updates Bumps the prod-patch-updates group with 2 updates: [axios](https://github.com/axios/axios) and [nanoid](https://github.com/ai/nanoid). Updates `axios` from 1.18.0 to 1.18.1 - [Release notes](https://github.com/axios/axios/releases) - [Changelog](https://github.com/axios/axios/blob/v1.x/CHANGELOG.md) - [Commits](https://github.com/axios/axios/compare/v1.18.0...v1.18.1) Updates `nanoid` from 5.1.15 to 5.1.16 - [Release notes](https://github.com/ai/nanoid/releases) - [Changelog](https://github.com/ai/nanoid/blob/main/CHANGELOG.md) - [Commits](https://github.com/ai/nanoid/compare/5.1.15...5.1.16) --- updated-dependencies: - dependency-name: axios dependency-version: 1.18.1 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: prod-patch-updates - dependency-name: nanoid dependency-version: 5.1.16 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: prod-patch-updates ... Signed-off-by: dependabot[bot] <support@github.com> --------- Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: LukeGus <bugattiguy527@gmail.com> Co-authored-by: Luke Gustafson <88517757+LukeGus@users.noreply.github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * chore(deps): bump the prod-minor-updates group with 3 updates (#1026) * chore: fix release workflow to merge docs branch * fix: svg donation generator push fail * fix: svg donation generator push fail * Update termix.rb * fix: svg donation generator push fail * chore: move donation badge to badges branch to avoid ruleset conflicts * chore: remove unneeded token from donation badge workflow * chore: debug donation badge commit step * fix: escape < character in donation SVG * fix: point donation badge to badges branch * chore: remove unused donation badge svg from main * Add Rack Genius logo to README Added Rack Genius logo to the README. * chore: improve donation goal svg generator to include stablecoins * chore: donation goal generator syntax error * chore: donation goal generator incorrect docs url usage * chore(deps): bump the prod-minor-updates group with 3 updates Bumps the prod-minor-updates group with 3 updates: [js-yaml](https://github.com/nodeca/js-yaml), [motion](https://github.com/motiondivision/motion) and [undici](https://github.com/nodejs/undici). Updates `js-yaml` from 5.0.0 to 5.2.1 - [Changelog](https://github.com/nodeca/js-yaml/blob/master/CHANGELOG.md) - [Commits](https://github.com/nodeca/js-yaml/compare/5.0.0...5.2.1) Updates `motion` from 12.40.0 to 12.42.2 - [Changelog](https://github.com/motiondivision/motion/blob/main/CHANGELOG.md) - [Commits](https://github.com/motiondivision/motion/compare/v12.40.0...v12.42.2) Updates `undici` from 8.5.0 to 8.7.0 - [Release notes](https://github.com/nodejs/undici/releases) - [Commits](https://github.com/nodejs/undici/compare/v8.5.0...v8.7.0) --- updated-dependencies: - dependency-name: js-yaml dependency-version: 5.2.1 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: prod-minor-updates - dependency-name: motion dependency-version: 12.42.2 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: prod-minor-updates - dependency-name: undici dependency-version: 8.7.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: prod-minor-updates ... Signed-off-by: dependabot[bot] <support@github.com> --------- Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: LukeGus <bugattiguy527@gmail.com> Co-authored-by: Luke Gustafson <88517757+LukeGus@users.noreply.github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * chore(deps-dev): bump electron from 42.4.1 to 43.0.0 in the major-updates group (#1027) * chore: fix release workflow to merge docs branch * fix: svg donation generator push fail * fix: svg donation generator push fail * Update termix.rb * fix: svg donation generator push fail * chore: move donation badge to badges branch to avoid ruleset conflicts * chore: remove unneeded token from donation badge workflow * chore: debug donation badge commit step * fix: escape < character in donation SVG * fix: point donation badge to badges branch * chore: remove unused donation badge svg from main * Add Rack Genius logo to README Added Rack Genius logo to the README. * chore: improve donation goal svg generator to include stablecoins * chore: donation goal generator syntax error * chore: donation goal generator incorrect docs url usage * chore(deps-dev): bump electron in the major-updates group Bumps the major-updates group with 1 update: [electron](https://github.com/electron/electron). Updates `electron` from 42.4.1 to 43.0.0 - [Release notes](https://github.com/electron/electron/releases) - [Commits](https://github.com/electron/electron/compare/v42.4.1...v43.0.0) --- updated-dependencies: - dependency-name: electron dependency-version: 43.0.0 dependency-type: direct:development update-type: version-update:semver-major dependency-group: major-updates ... Signed-off-by: dependabot[bot] <support@github.com> --------- Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: LukeGus <bugattiguy527@gmail.com> Co-authored-by: Luke Gustafson <88517757+LukeGus@users.noreply.github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Fix MC syntax highlighting artifacts (#996) * Filter dashboard status hosts (#997) * Persist dashboard service link changes (#999) * Fix snippet text overflow (#1000) * Persist remote desktop credential auth (#1001) * Guard language switching failures (#1002) * Resolve tunnel source credentials (#1003) * Support Vault auth for monitors (#1004) * Fix Windows file delete command (#1005) * Fix release artifact checkout ref (#1006) * Fix command palette escape in fullscreen (#1008) * Fix alerts and audit log data normalization (#1010) * Fix macOS VNC protocol negotiation (#1012) * Fix port knocking before SSH connect (#1013) * Allow Escape to close link confirmation (#1014) * Prevent Electron modifier wheel zoom (#1016) * Fix credential auth optional password (#1009) * Retry transient terminal DNS lookups (#1011) * Retry transient terminal DNS lookups * Apply DNS retry to SSH entry points * Fix OIDC redirect forwarded port handling (#1007) * Preserve recent open tabs on startup (#1015) * Fix fish prompt OSC highlighting (#998) * Fix terminal font selection (#1018) * fix: font legibility (#1019) * chore: fix release workflow to merge docs branch * fix: svg donation generator push fail * fix: svg donation generator push fail * Update termix.rb * fix: svg donation generator push fail * chore: move donation badge to badges branch to avoid ruleset conflicts * chore: remove unneeded token from donation badge workflow * chore: debug donation badge commit step * fix: escape < character in donation SVG * fix: point donation badge to badges branch * chore: remove unused donation badge svg from main * Add Rack Genius logo to README Added Rack Genius logo to the README. * chore: improve donation goal svg generator to include stablecoins * chore: donation goal generator syntax error * chore: donation goal generator incorrect docs url usage * fix: font legibility Text was entirely unreadable in places for me. Especially with themes like Catppuccin. The muted-foreground text and the tags too similiar to the background. --------- Co-authored-by: LukeGus <bugattiguy527@gmail.com> Co-authored-by: Luke Gustafson <88517757+LukeGus@users.noreply.github.com> Co-authored-by: russell <git@0896c69e.com> * fix(file-manager): chunked uploads fail with 'Expected multipart/form-data request' (#1020) * chore: fix release workflow to merge docs branch * fix: svg donation generator push fail * fix: svg donation generator push fail * Update termix.rb * fix: svg donation generator push fail * chore: move donation badge to badges branch to avoid ruleset conflicts * chore: remove unneeded token from donation badge workflow * chore: debug donation badge commit step * fix: escape < character in donation SVG * fix: point donation badge to badges branch * chore: remove unused donation badge svg from main * Add Rack Genius logo to README Added Rack Genius logo to the README. * chore: improve donation goal svg generator to include stablecoins * chore: donation goal generator syntax error * chore: donation goal generator incorrect docs url usage * fix(file-manager): use postForm for chunked uploads so multipart content-type is sent The fileManagerApi axios instance defaults to Content-Type: application/json. Axios 1.x's default transformRequest converts a FormData body to JSON whenever the request content type is application/json, so every chunk POSTed to /ssh/uploadFileChunk arrived as a JSON body like {"chunk":{}} and the backend rejected it with 400 'Expected multipart/form-data request'. This breaks all uploads of files larger than the 1.5 GiB chunking threshold. The non-chunked path already uses postForm for /ssh/uploadFileStream; use it for the chunk path too so axios keeps the FormData intact and the browser sets the multipart boundary. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> --------- Co-authored-by: LukeGus <bugattiguy527@gmail.com> Co-authored-by: Luke Gustafson <88517757+LukeGus@users.noreply.github.com> Co-authored-by: Claude Fable 5 <noreply@anthropic.com> * feat: implement OIDC back-channel logout support with session management (#1028) * feat: implement OIDC back-channel logout support with session management * Fix OIDC back-channel logout handling * Require logout token replay identifiers --------- Co-authored-by: ZacharyZcR <zacharyzcr1984@gmail.com> * Add API key host enrollment endpoint (#1029) * Fix tmux detection for non-POSIX shells (#1030) * Fix OPKSSH js-yaml ESM import (#1031) * Fix Android Vietnamese IME input (#1032) * Fix Firefox RDP clipboard paste (#1033) * Fix Proxmox discovery over HTTPS (#1041) * Fix external editor actions in file preview (#1042) * Allow pinned hosts with name sorting (#1043) * Fix Firefox desktop OIDC callback (#1044) * feat(session): add recording and replay (#1049) * Fix status checks through jump hosts (#1045) * Add terminal font size shortcuts (#1047) * feat: add Open File Manager to tab right-click menu (#1051) Co-authored-by: SankeerthNara <sankeerthnara@gmail.com> * perf: frontend request cache, poll pause, and code-split shell (#1052) Host/status caching, shell code-split, SSH pool waits, host-metrics concurrency, background-tab idle, per-host status subscriptions, homepage poll quieting, and virtualized host sidebar + file manager lists. * Merge commit from fork * Merge commit from fork * Merge commit from fork * Merge commit from fork * Merge commit from fork * Merge commit from fork * Merge commit from fork * Merge commit from fork * Merge commit from fork * Merge commit from fork * Merge commit from fork * Merge commit from fork * feat: save quick connect sessions as hosts (#1055) * fix: restore sudo password autofill settings (#1056) * fix: preserve file editor position on save (#1057) * fix: sync cloud preference storage mode (#1058) * fix: render RDP sessions at native pixel density (#1059) * fix: restore database import in embedded desktop mode (#1060) * Update Auto-complete.tsx (#1061) * chore: fix release workflow to merge docs branch * fix: svg donation generator push fail * fix: svg donation generator push fail * Update termix.rb * fix: svg donation generator push fail * chore: move donation badge to badges branch to avoid ruleset conflicts * chore: remove unneeded token from donation badge workflow * chore: debug donation badge commit step * fix: escape < character in donation SVG * fix: point donation badge to badges branch * chore: remove unused donation badge svg from main * Add Rack Genius logo to README Added Rack Genius logo to the README. * chore: improve donation goal svg generator to include stablecoins * chore: donation goal generator syntax error * chore: donation goal generator incorrect docs url usage * chore: donation bar reporting wrong result * feat: add Open File Manager to tab right-click menu (#1046) * Revert "feat: add Open File Manager to tab right-click menu (#1046)" (#1050) This reverts commit0712fdd731. * Remove donation badge from README Removed donation badge from README. * Delete .github/workflows/donation-goal.yml * Update Auto-complete.tsx --------- Co-authored-by: LukeGus <bugattiguy527@gmail.com> Co-authored-by: Luke Gustafson <88517757+LukeGus@users.noreply.github.com> Co-authored-by: ZacharyZcR <zacharyzcr1984@gmail.com> * feat(auth): opt-in OIDC DEK unlock for API-key requests (ALLOW_APIKEY_DATA_UNLOCK) (#1064) * chore: fix release workflow to merge docs branch * fix: svg donation generator push fail * fix: svg donation generator push fail * Update termix.rb * fix: svg donation generator push fail * chore: move donation badge to badges branch to avoid ruleset conflicts * chore: remove unneeded token from donation badge workflow * chore: debug donation badge commit step * fix: escape < character in donation SVG * fix: point donation badge to badges branch * chore: remove unused donation badge svg from main * Add Rack Genius logo to README Added Rack Genius logo to the README. * chore: improve donation goal svg generator to include stablecoins * chore: donation goal generator syntax error * chore: donation goal generator incorrect docs url usage * chore: donation bar reporting wrong result * feat: add Open File Manager to tab right-click menu (#1046) * Revert "feat: add Open File Manager to tab right-click menu (#1046)" (#1050) This reverts commit0712fdd731. * Remove donation badge from README Removed donation badge from README. * Delete .github/workflows/donation-goal.yml * feat(auth): opt-in OIDC DEK unlock for API-key requests API keys authenticate but cannot touch the encrypted credential/host store ('User data not unlocked') unless the user has a live interactive session, making them unusable for headless automation. For OIDC users the DEK is server-derivable (deriveOIDCSystemKey), so handleApiKeyAuth can unlock it without a password. Gated behind ALLOW_APIKEY_DATA_UNLOCK (default off) because enabling it widens the blast radius of a leaked API key. OIDC-only; password users are untouched. Refs #1063 --------- Co-authored-by: LukeGus <bugattiguy527@gmail.com> Co-authored-by: Luke Gustafson <88517757+LukeGus@users.noreply.github.com> Co-authored-by: Sankeerth Nara <sankeerthnara@gmail.com> Co-authored-by: ZacharyZcR <zacharyzcr1984@gmail.com> * chore: package lock sync * Add Proxmox guest auto sync (#1053) * draft: database layer refactor (#1054) * feat(sshid) - sshid.io equivalent for termix (#919) * feat(ssh-id): database schema, migrations and field encryption Adds ssh_identities, ssh_identity_keys and ssh_identity_ca tables (public keys stored plaintext for the unauthenticated resolver; CA private key registered for per-user field encryption), with UNIQUE(user_id), an index on ssh_identity_keys(identity_id), and idempotent CREATE TABLE migrations. * feat(ssh-id): backend API — resolver, key management, CA and certificates Mounts /sshid (nginx route added). Public text/plain authorized_keys resolver (+ exact /:algo filter, HTML viewer) and CA public-key endpoint; no-store + noindex headers on every resolver response including early 404s. Authenticated management: claim/rename/delete handle, add/import/generate/enable/delete keys, and a per-user CA (create/rotate/delete) with pure-Node OpenSSH certificate issuance. Audit logging on all mutations; UNIQUE races map to a precise 409. Unit tests for key parsing and certificate signing (ssh-keygen-validated). * feat(ssh-id): frontend panel, API client and i18n SSH ID panel wired into the app rail and AppShell: claim handle, resolver URL + curl one-liner, key list, generate, paste/import, CA enable/rotate/remove with server trust command, and per-key certificate issuance. API client re-exported through main-axios.ts; all strings i18n'd. * style(ssh-id): align panel and resolver page with Termix theme - Rebuild the SSH ID sidebar panel with the theme's square components (SectionCard / SettingRow / FakeSwitch) instead of rounded ad-hoc cards; use accent-brand and destructive tokens rather than raw red/green. - Fix panel scrolling: move overflow to a block scroll container so the cards keep their natural height instead of being clipped. - Restyle the public resolver HTML page (/sshid/u/:handle) to the Termix dark theme: square corners, #18181b/#303032 palette, #f59145 accent, uppercase section labels. - Tidy copy: 'Save To Credentials' label, drop the redundant generate intro, and correct the generate tooltip (the key is stored when saving to vault). * feat: rename to Termix ID, improve UI, backend inconsistencies, and general bug fixes --------- Co-authored-by: LukeGus <bugattiguy527@gmail.com> * ci(deps): bump actions/checkout from 6 to 7 in the github-actions group (#922) Bumps the github-actions group with 1 update: [actions/checkout](https://github.com/actions/checkout). Updates `actions/checkout` from 6 to 7 - [Release notes](https://github.com/actions/checkout/releases) - [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md) - [Commits](https://github.com/actions/checkout/compare/v6...v7) --- updated-dependencies: - dependency-name: actions/checkout dependency-version: '7' dependency-type: direct:production update-type: version-update:semver-major dependency-group: github-actions ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * chore(deps-dev): bump the dev-patch-updates group with 11 updates (#923) Bumps the dev-patch-updates group with 11 updates: | Package | From | To | | --- | --- | --- | | [@codemirror/search](https://github.com/codemirror/search) | `6.7.0` | `6.7.1` | | [@codemirror/view](https://github.com/codemirror/view) | `6.43.0` | `6.43.1` | | [@tailwindcss/vite](https://github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/@tailwindcss-vite) | `4.3.0` | `4.3.1` | | [@vitest/coverage-v8](https://github.com/vitest-dev/vitest/tree/HEAD/packages/coverage-v8) | `4.1.8` | `4.1.9` | | [@vitest/ui](https://github.com/vitest-dev/vitest/tree/HEAD/packages/ui) | `4.1.8` | `4.1.9` | | [eslint-plugin-react-refresh](https://github.com/ArnaudBarre/eslint-plugin-react-refresh) | `0.5.2` | `0.5.3` | | [lint-staged](https://github.com/lint-staged/lint-staged) | `17.0.7` | `17.0.8` | | [prettier](https://github.com/prettier/prettier) | `3.8.3` | `3.8.4` | | [sharp](https://github.com/lovell/sharp) | `0.35.1` | `0.35.2` | | [tailwindcss](https://github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/tailwindcss) | `4.3.0` | `4.3.1` | | [vitest](https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest) | `4.1.8` | `4.1.9` | Updates `@codemirror/search` from 6.7.0 to 6.7.1 - [Changelog](https://github.com/codemirror/search/blob/main/CHANGELOG.md) - [Commits](https://github.com/codemirror/search/commits) Updates `@codemirror/view` from 6.43.0 to 6.43.1 - [Changelog](https://github.com/codemirror/view/blob/main/CHANGELOG.md) - [Commits](https://github.com/codemirror/view/commits) Updates `@tailwindcss/vite` from 4.3.0 to 4.3.1 - [Release notes](https://github.com/tailwindlabs/tailwindcss/releases) - [Changelog](https://github.com/tailwindlabs/tailwindcss/blob/main/CHANGELOG.md) - [Commits](https://github.com/tailwindlabs/tailwindcss/commits/v4.3.1/packages/@tailwindcss-vite) Updates `@vitest/coverage-v8` from 4.1.8 to 4.1.9 - [Release notes](https://github.com/vitest-dev/vitest/releases) - [Changelog](https://github.com/vitest-dev/vitest/blob/main/docs/releases.md) - [Commits](https://github.com/vitest-dev/vitest/commits/v4.1.9/packages/coverage-v8) Updates `@vitest/ui` from 4.1.8 to 4.1.9 - [Release notes](https://github.com/vitest-dev/vitest/releases) - [Changelog](https://github.com/vitest-dev/vitest/blob/main/docs/releases.md) - [Commits](https://github.com/vitest-dev/vitest/commits/v4.1.9/packages/ui) Updates `eslint-plugin-react-refresh` from 0.5.2 to 0.5.3 - [Release notes](https://github.com/ArnaudBarre/eslint-plugin-react-refresh/releases) - [Changelog](https://github.com/ArnaudBarre/eslint-plugin-react-refresh/blob/main/CHANGELOG.md) - [Commits](https://github.com/ArnaudBarre/eslint-plugin-react-refresh/compare/v0.5.2...v0.5.3) Updates `lint-staged` from 17.0.7 to 17.0.8 - [Release notes](https://github.com/lint-staged/lint-staged/releases) - [Changelog](https://github.com/lint-staged/lint-staged/blob/main/CHANGELOG.md) - [Commits](https://github.com/lint-staged/lint-staged/compare/v17.0.7...v17.0.8) Updates `prettier` from 3.8.3 to 3.8.4 - [Release notes](https://github.com/prettier/prettier/releases) - [Changelog](https://github.com/prettier/prettier/blob/main/CHANGELOG.md) - [Commits](https://github.com/prettier/prettier/compare/3.8.3...3.8.4) Updates `sharp` from 0.35.1 to 0.35.2 - [Release notes](https://github.com/lovell/sharp/releases) - [Commits](https://github.com/lovell/sharp/compare/v0.35.1...v0.35.2) Updates `tailwindcss` from 4.3.0 to 4.3.1 - [Release notes](https://github.com/tailwindlabs/tailwindcss/releases) - [Changelog](https://github.com/tailwindlabs/tailwindcss/blob/main/CHANGELOG.md) - [Commits](https://github.com/tailwindlabs/tailwindcss/commits/v4.3.1/packages/tailwindcss) Updates `vitest` from 4.1.8 to 4.1.9 - [Release notes](https://github.com/vitest-dev/vitest/releases) - [Changelog](https://github.com/vitest-dev/vitest/blob/main/docs/releases.md) - [Commits](https://github.com/vitest-dev/vitest/commits/v4.1.9/packages/vitest) --- updated-dependencies: - dependency-name: "@codemirror/search" dependency-version: 6.7.1 dependency-type: direct:development update-type: version-update:semver-patch dependency-group: dev-patch-updates - dependency-name: "@codemirror/view" dependency-version: 6.43.1 dependency-type: direct:development update-type: version-update:semver-patch dependency-group: dev-patch-updates - dependency-name: "@tailwindcss/vite" dependency-version: 4.3.1 dependency-type: direct:development update-type: version-update:semver-patch dependency-group: dev-patch-updates - dependency-name: "@vitest/coverage-v8" dependency-version: 4.1.9 dependency-type: direct:development update-type: version-update:semver-patch dependency-group: dev-patch-updates - dependency-name: "@vitest/ui" dependency-version: 4.1.9 dependency-type: direct:development update-type: version-update:semver-patch dependency-group: dev-patch-updates - dependency-name: eslint-plugin-react-refresh dependency-version: 0.5.3 dependency-type: direct:development update-type: version-update:semver-patch dependency-group: dev-patch-updates - dependency-name: lint-staged dependency-version: 17.0.8 dependency-type: direct:development update-type: version-update:semver-patch dependency-group: dev-patch-updates - dependency-name: prettier dependency-version: 3.8.4 dependency-type: direct:development update-type: version-update:semver-patch dependency-group: dev-patch-updates - dependency-name: sharp dependency-version: 0.35.2 dependency-type: direct:development update-type: version-update:semver-patch dependency-group: dev-patch-updates - dependency-name: tailwindcss dependency-version: 4.3.1 dependency-type: direct:development update-type: version-update:semver-patch dependency-group: dev-patch-updates - dependency-name: vitest dependency-version: 4.1.9 dependency-type: direct:development update-type: version-update:semver-patch dependency-group: dev-patch-updates ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * chore(deps): bump nanoid in the prod-patch-updates group (#925) Bumps the prod-patch-updates group with 1 update: [nanoid](https://github.com/ai/nanoid). Updates `nanoid` from 5.1.11 to 5.1.15 - [Release notes](https://github.com/ai/nanoid/releases) - [Changelog](https://github.com/ai/nanoid/blob/main/CHANGELOG.md) - [Commits](https://github.com/ai/nanoid/compare/5.1.11...5.1.15) --- updated-dependencies: - dependency-name: nanoid dependency-version: 5.1.15 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: prod-patch-updates ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * chore(deps): bump the major-updates group with 5 updates (#926) Bumps the major-updates group with 5 updates: | Package | From | To | | --- | --- | --- | | [js-yaml](https://github.com/nodeca/js-yaml) | `4.2.0` | `5.0.0` | | [@eslint/js](https://github.com/eslint/eslint/tree/HEAD/packages/js) | `9.39.4` | `10.0.1` | | [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) | `25.9.2` | `26.0.0` | | [concurrently](https://github.com/open-cli-tools/concurrently) | `9.2.1` | `10.0.3` | | [eslint](https://github.com/eslint/eslint) | `9.39.4` | `10.5.0` | Updates `js-yaml` from 4.2.0 to 5.0.0 - [Changelog](https://github.com/nodeca/js-yaml/blob/master/CHANGELOG.md) - [Commits](https://github.com/nodeca/js-yaml/compare/4.2.0...5.0.0) Updates `@eslint/js` from 9.39.4 to 10.0.1 - [Release notes](https://github.com/eslint/eslint/releases) - [Commits](https://github.com/eslint/eslint/commits/v10.0.1/packages/js) Updates `@types/node` from 25.9.2 to 26.0.0 - [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases) - [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node) Updates `concurrently` from 9.2.1 to 10.0.3 - [Release notes](https://github.com/open-cli-tools/concurrently/releases) - [Commits](https://github.com/open-cli-tools/concurrently/compare/v9.2.1...v10.0.3) Updates `eslint` from 9.39.4 to 10.5.0 - [Release notes](https://github.com/eslint/eslint/releases) - [Commits](https://github.com/eslint/eslint/compare/v9.39.4...v10.5.0) --- updated-dependencies: - dependency-name: js-yaml dependency-version: 5.0.0 dependency-type: direct:production update-type: version-update:semver-major dependency-group: major-updates - dependency-name: "@eslint/js" dependency-version: 10.0.1 dependency-type: direct:development update-type: version-update:semver-major dependency-group: major-updates - dependency-name: "@types/node" dependency-version: 26.0.0 dependency-type: direct:development update-type: version-update:semver-major dependency-group: major-updates - dependency-name: concurrently dependency-version: 10.0.3 dependency-type: direct:development update-type: version-update:semver-major dependency-group: major-updates - dependency-name: eslint dependency-version: 10.5.0 dependency-type: direct:development update-type: version-update:semver-major dependency-group: major-updates ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * feat(ssh): add HashiCorp Vault SSH signer authentication * fix: small fixes to vault feature to align with Termix codebase * chore: add view docs links for vault/termix id * fix: file upload fails with 400 and missing schema migrations on upgrade (#929) Two bugs introduced in v2.4.1: 1. uploadFileStream uses fileManagerApi.post() which triggers axios's transformRequest to JSON-serialize the FormData because the instance default Content-Type is application/json. Change to postForm() which sets Content-Type: multipart/form-data so the browser XHR sends the correct multipart body with boundary. 2. Two schema items added to schema.ts were not included in migrateSchema() in db/index.ts, causing 500 errors on existing installations upgrading from v2.4.0: - user_preferences.status_color_scheme (no such column) - dashboard_service_links table (no such table) Fixes #928 Co-authored-by: sash <sash@fominykh.io> * fix: support PuTTY PPK ssh keys (#930) * fix: chunk large file manager uploads (#932) * fix: route dashboard hosts by protocol (#934) * fix: resolve tunnel endpoints reliably (#935) * Fix Electron OIDC browser auth failures (#936) * Allow RDP connections without stored credentials (#937) * Sync role credential shares for OIDC users (#938) * Fix terminal link dialog layering (#940) * Confirm large files before opening editor (#942) * Confirm closing active host connections (#943) * Preserve file path case in file manager UI (#941) * fix: preserve unicode guacamole tokens (#933) * Persist VNC authentication settings (#944) * Fix Guacamole websocket base path (#946) * Promote file manager terminals to tabs (#939) * Guard Guacamole disconnect during startup (#945) * chore: increment ver * feat: bitwarden ssh agent integration * feat: serial connections support * fix: various small bug fixes * feat: open all sessions in a folder and terminal custom theme color support * feat: cross host file manager clipboard and several small bug fixes * feat: tailscale/wireguard support and added a new status state for when backend is checking status * feat: grafana like server stats history, new alert system, ntfy/webhook support * feat: new grid and widget based homepage function * feat: new donate button in dashboard * fix: alert ui incorrectly using termix css and fixed issue with alert system not loading * chore: start database layer refactor * docs: plan database layer refactor * docs: audit database layer refactor phase zero * chore: add database runtime adapter skeleton * chore: add settings repository skeleton * chore: add user session repository skeleton * chore: add host credential repository skeleton * chore: add field encryption boundary * chore: migrate settings route slice * chore: migrate user settings routes * chore: migrate host metrics settings routes * chore: migrate acme settings route * chore: migrate terminal settings route * chore: migrate tailscale settings read * chore: migrate guacamole settings reads * chore: migrate session timeout settings reads * chore: migrate auth route settings reads * chore: migrate host metrics settings reads * chore: migrate startup settings reads * chore: migrate user settings cleanup * chore: migrate password reset settings * chore: migrate oidc legacy settings read * chore: migrate user route settings slice * chore: migrate oidc state settings * chore: migrate user login settings reads * chore: migrate user crypto settings * chore: consolidate startup settings defaults * chore: consolidate database settings import export * chore: migrate core session auth paths * chore: migrate remaining session auth paths * chore: migrate admin user routes * chore: migrate user route admin checks * chore: migrate user lifecycle routes * chore: migrate auth user lookups * chore: migrate oidc user routes * chore: migrate api key repository paths * docs: add database gray rollout guide * chore: migrate trusted device paths * chore: migrate user session route user lookups * chore: add database repository rollout guard * chore: expose repository rollout status * chore: warn on repository rollout misconfiguration * chore: migrate remaining user lookup helpers * chore: migrate ssh user lookups * chore: migrate user settings admin lookups * chore: migrate acme ssl user lookups * chore: migrate audit log admin checks * chore: migrate oidc account user updates * chore: migrate password reset user updates * chore: migrate user deletion core records * chore: migrate snippet audit user lookups * chore: migrate ldap user sync paths * chore: migrate totp user updates * chore: migrate rbac user checks * chore: migrate rbac role paths * chore: migrate permission role lookups * chore: migrate rbac access list reads * chore: migrate shared rbac reads * chore: migrate rbac access writes * chore: migrate permission host access * chore: migrate role host access lookup * chore: migrate snippet access lookup * chore: migrate shared credential access lookups * chore: migrate host access cleanup writes * chore: migrate host list access checks * chore: migrate host access cleanup routes * chore: migrate shared credential role lookups * chore: migrate user role cleanup * chore: migrate admin role sync * chore: migrate ldap role sync * chore: migrate user role assignment * chore: migrate sso provider access * chore: migrate audit log access * chore: migrate user preference access * chore: migrate open tab access * chore: migrate dismissed alert access * chore: migrate homepage layout access * chore: migrate network topology access * chore: migrate dashboard service link access * chore: migrate command history access * chore: migrate recent activity cleanup * chore: migrate ssh credential usage access * chore: migrate transfer recent access * chore: migrate file manager bookmark access * chore: migrate c2s tunnel preset access * chore: migrate homepage item access * chore: migrate session recording access * chore: migrate tmux session tag access * chore: migrate opkssh token access * chore: migrate vault token access * chore: migrate vault profile access * chore: migrate host metrics preference access * chore: migrate host health access * chore: migrate host metrics history access * chore: migrate alert persistence access * chore: route alert host lookup through repository * chore: migrate user data export reads * chore: route host metrics stats sync through repository * chore: migrate host folder persistence * chore: migrate host resolution reads * chore: route jump host resolution reads * chore: route docker console jump host reads * chore: route docker ssh resolution reads * chore: route proxmox discovery resolution reads * chore: route file manager activity host reads * chore: route host metrics resolution reads * chore: route ssh auth credential reads * chore: route tunnel endpoint credential reads * chore: route credential deployment resolution reads * chore: route command history host flag reads * chore: route snippet execution resolution reads * chore: route terminal host resolution reads * chore: route vault oidc host resolution reads * chore: route wake on lan host reads * chore: route internal host list reads * chore: route host key verification persistence * chore: route credential read paths * chore: route credential host usage reads * chore: route credential folder rename * chore: route host owner access checks * chore: route shared credential source reads * chore: route user host credential cleanup * chore: route credential delete reads * chore: route credential update reads * chore: route host credential reads * chore: route host read paths * chore: route host projection reads * chore: route host list reads * chore: route snippet read paths * chore: route snippet folder writes * chore: route snippet crud paths * chore: route snippet bulk import * chore: route rbac ownership reads * chore: route user count reads * chore: route cleanup snippets folders * chore: route shared credential persistence * chore: route dashboard activity * chore: route guacamole host reads * chore: route host bulk lookups * chore: remove unlock-only simple db ops * chore: route host autostart persistence * chore: route ldap provisioning through users * chore: route credential encrypted writes * chore: route host encrypted writes * chore: route bulk host encrypted writes * chore: route termix id credentials * chore: route termix id ca persistence * chore: route termix identity persistence * chore: route credential system migration * chore: isolate user encryption migration storage * chore: remove legacy simple db ops * chore: isolate legacy sqlite migration copy * chore: route database settings import export * chore: route database host credential export * chore: route database host credential import * chore: route database file-manager import export * chore: route database alert usage import export * chore: route database user checks * chore: isolate auth lazy migration storage * chore: route explicit database saves * chore: initialize database save boundary * chore: route migration snapshot saves * chore: isolate sqlite import constraints * chore: route import sqlite boundary * chore: route user encryption migration store * chore: centralize current repository runtime * chore: route more current repositories * chore: route activity repository runtimes * chore: route token repository runtimes * chore: route health repository runtimes * chore: route identity repository runtimes * chore: route rbac repository runtime * chore: centralize current sqlite runtime access * chore: route user deletion key cleanup * chore: route user deletion vault cleanup * chore: route user deletion homepage cleanup * chore: route user deletion health cleanup * chore: route user deletion alert cleanup * chore: route user deletion identity cleanup * chore: add database layer preupgrade backup * Fix database repository type errors * fix: complete post-merge compile fixes for database refactor Restore missing DatabaseSaveTrigger/getDb imports, session log format fallback, OIDC provider resolution, guacamole recording insert, and passwordFallbackOnly typing after merging current dev. --------- Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: DivByZero <mr.oplus@yahoo.fr> Co-authored-by: LukeGus <bugattiguy527@gmail.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: devdanetra <46488477+devdanetra@users.noreply.github.com> Co-authored-by: Aleksandr Fominykh <neoformalex@users.noreply.github.com> Co-authored-by: sash <sash@fominykh.io> * refactor(db): collapse repository rollout scaffolding into single factory Repositories are now the only data path. Replaces the 41 current-*-repository wrapper files, the DATABASE_LAYER_REPOSITORY_ROLLOUT flag/alias map and the unused database/runtime adapter with repositories/factory.ts, a plain DatabaseContext type and an in-memory TestSqliteDatabase test harness. * refactor(db): route remaining raw DB access through repositories proxmox, session-log, oidc-utils, webauthn and guacamole recording now use repositories (new WebauthnCredentialRepository; SsoProviderRepository listEnabled; HostRepository findDecryptedByIdAs/listProxmoxEnabled). Remaining raw access: db boot code, simple-db-ops and docker.ts, which are removed/restructured in later phases. * feat(crypto): add UserKeyManager with system-wrapped per-user DEKs New utils/user-keys.ts: one random 32-byte DEK per user, wrapped AES-256-GCM under an HKDF key derived from the system ENCRYPTION_KEY (per-user info string + AAD binding, versioned v3 wrap format stored in settings). Synchronous unwrap-on-demand with a 15-minute cache so the existing DataCrypto facade keeps its sync call sites. Not wired up yet. * feat(crypto): boot-time DEK migration to system-wrapped v3 format utils/crypto-migration/dek-migration.ts carries the legacy unwrap paths (PBKDF2 password KEK, OIDC/WebAuthn system keys, hardcoded-default fallback) and migrates every server-unwrappable DEK to the v3 wrap at startup. Password-wrapped DEKs migrate at next login or from a live session via adoptRecoveredDEK. Legacy rows are kept for now; cleanup flips on once the new path is authoritative. * refactor(crypto): make system-wrapped DEKs the authoritative key path DataCrypto and AuthManager now read keys through UserKeyManager: DEKs are always unwrappable server-side, so the in-memory unlock session, DEK-in-JWT wrapping, session-expiry data locks and ALLOW_APIKEY_DATA_UNLOCK are gone. utils/user-crypto.ts is deleted; boot migration now cleans legacy wraps. A one-release shim adopts DEKs from legacy dataKeyWrap tokens so active password users migrate without re-login. Password login migrates legacy password-wrapped DEKs via migratePasswordUserAtLogin. * refactor(crypto): remove pending share queue and credential sharing key With server-unwrappable DEKs both sides of a share are always available, so the needsReEncryption queue, CREDENTIAL_SHARING_KEY and the system_* shadow columns on ssh_credentials are gone. A one-time boot cleanup re-creates legacy pending share copies where possible (dropping unresolvable ones with a warning) and drops the legacy columns. * feat(auth): non-destructive password resets and admin reset endpoint Password resets no longer destroy user data: the DEK is system-wrapped, so forgot-password and admin resets are just a hash update plus session revoke. The wipe branch survives only for accounts that never logged in since the encryption upgrade and now requires explicit confirmDataWipe (surfaced as a 409 DATA_WIPE_REQUIRED; the reset UI asks for confirmation). Adds POST /users/admin/reset-password and removes the dead re-encryption paths. * refactor(ssh): consolidate four jump-host chain copies into one module terminal, host-metrics and docker now use ssh/jump-host-chain.ts (already shared by file-manager, tmux-monitor and docker-console); docker's inline copy also drops its raw SimpleDBOps host/credential lookups in favor of repositories. * refactor(ssh): single shared createConnectionLog helper file-manager-log.ts becomes ssh/connection-log.ts; the copies in docker.ts and host-metrics-helpers.ts are gone. * refactor(ssh): split docker module into layered directory ssh/docker/{index,routes,session-manager,container-routes,console}.ts: server boot and wiring in index, HTTP handlers in routes, SSH session registry and command execution in session-manager. Code motion only; port 30007/30009 and endpoints unchanged. Swagger now scans ssh subdirectories. * refactor(ssh): split tunnel module into layered directory ssh/tunnel/{index,routes,manager}.ts: server boot in index, HTTP handlers in routes, tunnel state and engine (connect/retry/autostart) in manager. Code motion only; port 30003 and endpoints unchanged. * refactor(backend): reorganize top-level layout - ssh/ renamed to hosts/ (it covers SSH, RDP, VNC, Telnet, Docker, metrics) - serial/serial.ts and guacamole/ moved inside hosts/ - dashboard.ts and homepage.ts moved to services/ - swagger.ts moved to utils/ with adjusted scan globs Import paths and the generate:openapi script updated; ports and endpoints unchanged. * refactor(tests): move backend tests into src/backend/tests mirror tree Backend *.test.ts files (and the test-support harness) no longer sit next to source files; they live under src/backend/tests/ mirroring the source layout. Imports rewritten accordingly; CLAUDE.md convention updated. * refactor(hosts): group host modules into per-feature directories file-manager/, metrics/ (incl. widgets, managers, alert-engine), terminal/, tmux/ and tunnel/ each own their files; docker/ gains container-runtime. Genuinely shared helpers (jump-host chain, host resolver, connection pool, opkssh, vault, serial) stay at hosts/ root. Pure file moves with import path updates; mirrored test paths follow. * refactor(backend): final cleanup pass - re-register WebAuthn passkey routes (registration was dropped in the #1054 merge, breaking passkey login) and document all six endpoints - delete utils/simple-db-ops.ts (last caller migrated to DataCrypto) - starter: use the typed serverReady export, collapse the four-way version lookup to env then package.json candidates - add OpenAPI JSDoc to c2s-tunnel-presets endpoints - strip block-divider comment banners * feat: remove legacy "data_unlocked" field * feat: refactor rbac/sharing to support new permissions and auth types * feat: refactor rbac/sharing to support new permissions and auth types * feat: add "id" to user profile hide list * chore: root cleanup * feat: add more donation references and a 30-day donation reminder * chore: update readme * feat: automate beta tests * feat: add links to milestones * fix: hoist github/google SSO defaults to module scope (#1065) * fix(ssh-tools): allow clipboard paste in key recording field (#1066) The broadcast key-recording input was marked readOnly, which makes browsers block paste entirely (no context-menu Paste, Ctrl+V does nothing). handleKeyDown also called preventDefault() unconditionally, swallowing the Ctrl+V shortcut before a paste event could even fire. Let Ctrl/Cmd+V pass through in handleKeyDown, drop readOnly, and add an onPaste handler that reads the clipboard text and broadcasts it to the selected terminals like any other captured keystroke. Signed-off-by: emreumar <emreumar@users.noreply.github.com> Co-authored-by: emreumar <emreumar@users.noreply.github.com> * chore: write release notes * chore: update release notes * chore: update readmes * chore: add crypto only reminder in en.json * fix: macOS and cask errors on release workflow * chore: sync Crowdin translations for 2.5.1 --------- Signed-off-by: dependabot[bot] <support@github.com> Signed-off-by: emreumar <emreumar@users.noreply.github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: ZacharyZcR <zacharyzcr1984@gmail.com> Co-authored-by: Russell Poovey <09.our_seekers@icloud.com> Co-authored-by: russell <git@0896c69e.com> Co-authored-by: Subedi Bibek <77529535+questbibek@users.noreply.github.com> Co-authored-by: Claude Fable 5 <noreply@anthropic.com> Co-authored-by: Alexander Elsner <101340634+Bensonheimer992@users.noreply.github.com> Co-authored-by: SankeerthNara <sankeerthnara@gmail.com> Co-authored-by: Stephan Groth <96803994+Kalvalax@users.noreply.github.com> Co-authored-by: DivByZero <mr.oplus@yahoo.fr> Co-authored-by: devdanetra <46488477+devdanetra@users.noreply.github.com> Co-authored-by: Aleksandr Fominykh <neoformalex@users.noreply.github.com> Co-authored-by: sash <sash@fominykh.io> Co-authored-by: lhojun <ldgs3324@gmail.com> Co-authored-by: Yunus Emre Umar <77045015+emre155@users.noreply.github.com> Co-authored-by: emreumar <emreumar@users.noreply.github.com>
3473 lines
180 KiB
JSON
3473 lines
180 KiB
JSON
{
|
||
"termixId": {
|
||
"title": "Termix-tunnus",
|
||
"loadFailed": "Termix-tunnuksen lataaminen epäonnistui",
|
||
"claimTitle": "Lunasta Termix-tunnuksesi",
|
||
"claimIntro": "Valitse yksilöllinen käyttäjätunnus. SSH-julkiset avaimesi julkaistaan julkisessa URL-osoitteessa, jonka voit lisätä minkä tahansa palvelimen authorized_keys-tiedostoon.",
|
||
"handleLabel": "Kahva",
|
||
"handlePlaceholder": "Alice",
|
||
"checking": "Tarkistetaan…",
|
||
"available": "Saatavilla",
|
||
"taken": "Jo otettu",
|
||
"invalidHandle": "Vain pienet kirjaimet, numerot - ja _",
|
||
"descriptionLabel": "Kuvaus (valinnainen)",
|
||
"descriptionPlaceholder": "Työkannettava ja puhelimen avaimet",
|
||
"create": "Luo Termix-tunnus",
|
||
"created": "Termix-tunnus luotu",
|
||
"createFailed": "Termix-tunnuksen luominen epäonnistui",
|
||
"deleteConfirm": "Poistetaanko Termix-tunnuksesi ja kaikki julkaistut avaimet? Määrittämäsi palvelimet säilyttävät avaimet, kunnes poistat ne manuaalisesti.",
|
||
"deleted": "Termix-tunnus poistettu",
|
||
"deleteFailed": "Termix-tunnuksen poistaminen epäonnistui",
|
||
"copyFailed": "Kopiointi epäonnistui",
|
||
"resolverUrlLabel": "Julkisen ratkaisijan URL-osoite",
|
||
"provisionLabel": "Palvelimen valmistelu",
|
||
"publishTitle": "Julkaise julkinen avain",
|
||
"generate": "Luo",
|
||
"generateTooltip": "Luo Ed25519-avainpari — julkaisee julkisen avaimen ja lataa yksityisen avaimen laitteellesi",
|
||
"saveToVault": "Tallenna tunnistetietoihin",
|
||
"keyPlaceholder": "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5... käyttäjä@isäntä",
|
||
"labelPlaceholder": "Tarra (valinnainen)",
|
||
"add": "Lisätä",
|
||
"importFromCredential": "Tai tuo tallennetuista tunnistetiedoista",
|
||
"keyPublished": "Avain julkaistu",
|
||
"addKeyFailed": "Avaimen lisääminen epäonnistui",
|
||
"generatedSaved": "Avainpari luotiin ja tallennettiin tunnistetietoholviisi. Myös yksityinen avain ladattiin.",
|
||
"generatedOnly": "Avainpari luotu — yksityinen avain ladattu (näytetään vain kerran).",
|
||
"generateFailed": "Avaimen luominen epäonnistui",
|
||
"imported": "Avain tuotu tunnistetiedoista",
|
||
"importFailed": "Avaimen tuonti epäonnistui",
|
||
"noKeys": "Julkisia avaimia ei ole vielä julkaistu.",
|
||
"keysTitle": "Julkaistut avaimet",
|
||
"published": "Julkaistu",
|
||
"hidden": "Piilotettu",
|
||
"keyRemoved": "Avain poistettu",
|
||
"removeKeyFailed": "Avaimen poistaminen epäonnistui",
|
||
"updateKeyFailed": "Avaimen päivittäminen epäonnistui",
|
||
"fromVault": "Tunnistetietosäilöstä",
|
||
"linkedToTermixId": "Julkaistu Termix ID:n kautta",
|
||
"selectCredential": "Valitse tunnistetiedot...",
|
||
"import": "Tuoda",
|
||
"caTitle": "Varmentaja",
|
||
"caIntro": "Luota tähän palvelimella olevaan varmenteiden myöntäjään, niin se hyväksyy kaikki allekirjoittamasi varmenteet. Kierrätä peruuttaaksesi kaiken kerralla; varmenteet myös vanhenevat itsestään.",
|
||
"caEnable": "Ota käyttöön CA",
|
||
"caEnabled": "CA käytössä",
|
||
"caCreateFailed": "CA:n käyttöönotto epäonnistui",
|
||
"caPublicKeyLabel": "CA:n julkinen avain",
|
||
"caTrustLabel": "Luota palvelimeen (aja root-käyttäjänä)",
|
||
"caRotate": "Kiertää",
|
||
"caRotateConfirm": "Kierrätetäänkö varmentajaa? Kaikki sen allekirjoittamat varmenteet lakkaavat olemasta hyväksyttäviä ja ne on myönnettävä uudelleen.",
|
||
"caRotated": "Varmentaja vaihdettu – aiemmat varmenteet peruutettu",
|
||
"caRotateFailed": "CA:n vaihtaminen epäonnistui",
|
||
"caDelete": "Poista CA",
|
||
"caDeleteConfirm": "Poistetaanko varmenteen myöntäjä?",
|
||
"caDeleted": "CA poistettu",
|
||
"caDeleteFailed": "CA:n poistaminen epäonnistui",
|
||
"caValidityLabel": "Sertifikaatin voimassaolo (päivää)",
|
||
"issueCert": "Todistus",
|
||
"issueCertTooltip": "Myönnä tälle avaimelle SSH-varmenne, jonka CA on allekirjoittanut",
|
||
"certIssued": "Todistus myönnetty ja ladattu",
|
||
"certIssueFailed": "Varmenteen myöntäminen epäonnistui"
|
||
},
|
||
"credentials": {
|
||
"folders": "Kansiot",
|
||
"folder": "Kansio",
|
||
"password": "Salasana",
|
||
"key": "Avain",
|
||
"sshPrivateKey": "SSH-yksityinen avain",
|
||
"upload": "Lataa",
|
||
"keyPassword": "Avaimen salasana",
|
||
"sshKey": "SSH-avain",
|
||
"uploadPrivateKeyFile": "Lähetä yksityisen avaimen tiedosto",
|
||
"searchCredentials": "Hae tunnistetietoja...",
|
||
"addCredential": "Lisää tunnistetiedot",
|
||
"caCertificate": "CA-sertifikaatti (-cert.pub)",
|
||
"caCertificateDescription": "Valinnainen: Lataa tai liitä varmentajan allekirjoittama varmennetiedosto (esim. id_ed25519-cert.pub). Pakollinen, kun SSH-palvelimesi käyttää varmennepohjaista todennusta.",
|
||
"uploadCertFile": "Lähetä tiedosto -cert.pub",
|
||
"clearCert": "Tyhjennä",
|
||
"certLoaded": "Varmenne ladattu",
|
||
"certPublicKeyLabel": "CA-sertifikaatti",
|
||
"certTypeLabel": "Varmenteen tyyppi",
|
||
"pasteOrUploadCert": "Liitä tai lataa -cert.pub-varmenne...",
|
||
"hasCaCert": "Onko CA-sertifikaatti",
|
||
"noCaCert": "Ei CA-varmennetta",
|
||
"noPublicKeyAvailable": "Julkista avainta ei ole saatavilla. Avaa ensin tunnistetietojen muokkausohjelma.",
|
||
"deployCommandCopied": "Deploy-komento kopioitu",
|
||
"sortCredentials": "Lajittele tunnistetiedot",
|
||
"sortDefault": "Oletusjärjestys",
|
||
"sortNameAsc": "Nimi (A → Ö)",
|
||
"sortNameDesc": "Nimi (Ö → A)",
|
||
"sortUsernameAsc": "Käyttäjätunnus (A → Ö)",
|
||
"sortUsernameDesc": "Käyttäjätunnus (Ö → A)",
|
||
"filterCredentials": "Suodata tunnistetiedot",
|
||
"filterClearAll": "Tyhjennä suodattimet",
|
||
"filterTypeGroup": "Tyyppi",
|
||
"filterTypePassword": "Salasana",
|
||
"filterTypeKey": "SSH-avain",
|
||
"filterTagsGroup": "Tunnisteet"
|
||
},
|
||
"homepage": {
|
||
"title": "Etusivu",
|
||
"addWidget": "Lisää widget",
|
||
"editWidget": "Muokkaa widgetiä",
|
||
"deleteWidget": "Poistaa",
|
||
"widgetTypes": "Widget-tyypit",
|
||
"serviceLink": "Palvelulinkki",
|
||
"folder": "Kansio",
|
||
"clock": "Kello",
|
||
"notes": "Muistiinpanoja",
|
||
"hostStatus": "Isännän tila",
|
||
"bookmarkList": "Kirjanmerkit",
|
||
"zoomIn": "Lähennä",
|
||
"zoomOut": "Loitonna",
|
||
"resetView": "Palauta näkymä",
|
||
"lockLayout": "Lukituksen asettelu",
|
||
"unlockLayout": "Avaa asettelu",
|
||
"noWidgets": "Lisää ensimmäinen widget napsauttamalla hiiren kakkospainikkeella tai napsauttamalla +",
|
||
"openFullView": "Avaa koko näkymä",
|
||
"previewTitle": "Etusivun esikatselu",
|
||
"cancel": "Peruuttaa",
|
||
"save": "Tallentaa",
|
||
"title_label": "Otsikko",
|
||
"widgetTitlePlaceholder": "Widgetin otsikko (valinnainen)",
|
||
"url": "URL-osoite",
|
||
"imageUrl": "Mukautetun kuvan URL-osoite",
|
||
"imageUrlHint": "Jätä tyhjäksi, jos haluat käyttää sivuston suosikkikuvaketta automaattisesti",
|
||
"showImage": "Näytä kuva",
|
||
"description": "Kuvaus",
|
||
"color": "Väri",
|
||
"icon": "Kuvake",
|
||
"expanded": "Oletusarvoisesti laajennettu",
|
||
"timezone": "Aikavyöhyke",
|
||
"showSeconds": "Näytä sekunnit",
|
||
"format12h": "12 tunnin",
|
||
"format24h": "24 tunnin",
|
||
"content": "Sisältö",
|
||
"backgroundColor": "Taustaväri",
|
||
"host": "Isäntä",
|
||
"showMetrics": "Näytä mittarit",
|
||
"links": "Linkit",
|
||
"addLink": "Lisää linkki",
|
||
"linkLabel": "Tarra",
|
||
"linkUrl": "URL-osoite",
|
||
"removeLink": "Poistaa",
|
||
"categoryLinks": "Linkit",
|
||
"categoryInfo": "Tiedot",
|
||
"categorySystem": "Järjestelmä",
|
||
"widgetServiceLinkDesc": "Klikattava laatta, joka linkittää palvelun URL-osoitteeseen",
|
||
"widgetFolderDesc": "Säiliö toisiinsa liittyvien widgetien ryhmittelyyn",
|
||
"widgetClockDesc": "Live-kello, jossa on konfiguroitava aikavyöhyke",
|
||
"widgetNotesDesc": "Markdown-muistiinpano-widget",
|
||
"widgetHostStatusDesc": "Näyttää reaaliaikaisen suorittimen, muistin ja levyn SSH-isännälle",
|
||
"widgetBookmarkListDesc": "Pikalinkkien luettelo",
|
||
"copyLink": "Kopioi linkki",
|
||
"linkCopied": "Linkki kopioitu!",
|
||
"location": "Sijainti",
|
||
"temperatureUnit": "Lämpötilayksikkö",
|
||
"showForecast": "Näytä 3 päivän ennuste",
|
||
"scrolling": "Salli vieritys",
|
||
"feedUrl": "Syötteen URL-osoite",
|
||
"maxItems": "Kohteiden enimmäismäärä",
|
||
"showDescription": "Näytä kuvaus",
|
||
"widgetWeatherName": "Sää",
|
||
"widgetWeatherDesc": "Live-sää missä tahansa paikassa",
|
||
"widgetIframeName": "iFrame-upotus",
|
||
"widgetIframeDesc": "Upota mikä tahansa URL-osoite iframe-kehykseen",
|
||
"widgetRssName": "RSS-syöte",
|
||
"widgetRssDesc": "Näytä RSS- tai Atom-syötteen kohteita",
|
||
"dragToFolder": "Vedä widgetit tähän tai lisää ne käyttämällä +-merkkiä",
|
||
"showDisk": "Näytä levyn käyttö",
|
||
"addToFolder": "Lisää widget kansioon",
|
||
"noHostSelected": "Ei valittua isäntää",
|
||
"metricsNotAvailable": "Mittareita ei ole saatavilla",
|
||
"selectHost": "Valitse isäntä...",
|
||
"displayedMetrics": "Näytetyt mittarit",
|
||
"metricCpu": "Suoritin",
|
||
"metricMemory": "Muisti",
|
||
"metricDisk": "Levy",
|
||
"metricUptime": "Käyttöaika",
|
||
"metricSystem": "Järjestelmä",
|
||
"metricOs": "Käyttöjärjestelmä",
|
||
"metricKernel": "Ydin",
|
||
"metricHostname": "Isäntänimi",
|
||
"metricNetwork": "Verkko",
|
||
"metricProcesses": "Prosessit",
|
||
"metricProcessesTotal": "kokonais-",
|
||
"metricProcessesRunning": "juokseminen",
|
||
"categoryMonitoring": "Seuranta",
|
||
"loading": "Ladataan...",
|
||
"noData": "Ei tietoja saatavilla",
|
||
"allClear": "Kaikki selvää",
|
||
"acknowledgeAlert": "Kuittaa",
|
||
"noPingUrls": "Ei määritettyjä URL-osoitteita",
|
||
"pingLabel": "Tarra",
|
||
"addPingUrl": "Lisää URL-osoite",
|
||
"showLatency": "Näytä latenssi",
|
||
"refreshInterval": "Päivitysväli",
|
||
"seconds": "sekuntia",
|
||
"filterActivityTypes": "Suodatintyypit",
|
||
"filterTypesHint": "Jätä tyhjäksi näyttääksesi kaikki",
|
||
"showTimestamp": "Näytä aikaleima",
|
||
"uptimeUnavailable": "Käyttöaika ei saatavilla",
|
||
"uptimeLabel": "Käyttöaika",
|
||
"overviewVersion": "Versio",
|
||
"overviewUpdate": "Ajan tasalla",
|
||
"overviewUpdateAvailable": "Päivitys saatavilla",
|
||
"overviewDatabase": "Tietokanta",
|
||
"overviewUptime": "Käyttöaika",
|
||
"noHosts": "Ei määritettyjä isäntiä",
|
||
"hostGridHosts": "Isännät",
|
||
"hostGridAllHint": "Jätä tyhjäksi, jos haluat näyttää kaikki isännät",
|
||
"columns": "Sarakkeet",
|
||
"showIp": "Näytä IP-osoite",
|
||
"connectionType": "Yhteystyyppi",
|
||
"layout": "Layout",
|
||
"showStatus": "Näytä tila",
|
||
"showHostName": "Näytä isäntänimi",
|
||
"noDockerActivity": "Ei Docker-toimintaa",
|
||
"noActivity": "Ei toimintaa",
|
||
"showAcknowledged": "Näytä kuitattu",
|
||
"showCurrentValue": "Näytä nykyinen arvo",
|
||
"chartMetric": "Metrinen",
|
||
"metricRange": "Alue",
|
||
"widgetMetricsChartName": "Mittarikaavio",
|
||
"widgetMetricsChartDesc": "Isännän historiallinen suorittimen, muistin, levyn tai verkon kaavio",
|
||
"widgetHostGridName": "Isäntäverkko",
|
||
"widgetHostGridDesc": "SSH-isäntätilojen ruudukkonäkymä",
|
||
"widgetAlertFeedName": "Hälytyssyöte",
|
||
"widgetAlertFeedDesc": "Reaaliaikaiset hälytyslaukaisut kuittaustuella",
|
||
"widgetPingStatusName": "Ping-tila",
|
||
"widgetPingStatusDesc": "Yhden tai useamman URL-osoitteen HTTP-ping-tila",
|
||
"widgetRecentActivityName": "Viimeaikaiset toiminnot",
|
||
"widgetRecentActivityDesc": "Vieritettävä syöte viimeaikaisesta Termix-toiminnasta",
|
||
"widgetTermixUptimeName": "Termixin käyttöaika",
|
||
"widgetTermixUptimeDesc": "Termix-palvelimen reaaliaikainen käyttöaikalaskuri",
|
||
"widgetSystemOverviewName": "Järjestelmän yleiskatsaus",
|
||
"widgetSystemOverviewDesc": "Termix-versio, tietokannan kunto ja käyttöaika yhdellä silmäyksellä",
|
||
"widgetSshQuickConnectName": "SSH-pikayhteys",
|
||
"widgetSshQuickConnectDesc": "Yhden napsautuksen painikkeet SSH-istuntojen avaamiseen",
|
||
"widgetDockerActivityName": "Docker-toiminta",
|
||
"widgetDockerActivityDesc": "Viimeaikaiset Docker-säilön tapahtumat kaikissa isännissä",
|
||
"widgetCalendarName": "Kalenteri",
|
||
"widgetCalendarDesc": "Kuukausikalenteri, jossa tämä päivä on korostettuna",
|
||
"widgetCountdownName": "Lähtölaskenta",
|
||
"widgetCountdownDesc": "Ajastin tavoitepäivämäärään",
|
||
"widgetSearchBarName": "Hakupalkki",
|
||
"widgetSearchBarDesc": "Nopea verkkohaku-widget",
|
||
"widgetTextBannerName": "Tekstibanneri",
|
||
"widgetTextBannerDesc": "Lihavoitu otsikko tai osion otsikko kanvaalle",
|
||
"widgetImageWidgetName": "Kuva",
|
||
"widgetImageWidgetDesc": "Näytä kuva URL-osoitteesta",
|
||
"widgetMarkdownNotesName": "Markdown-muistiinpanot",
|
||
"widgetMarkdownNotesDesc": "Runsaasti muistiinpanoja ja inline markdown -renderöinti",
|
||
"widgetCustomApiName": "Mukautettu API",
|
||
"widgetCustomApiDesc": "Hae ja näytä tietoja mistä tahansa JSON-rajapinnasta",
|
||
"widgetServiceGridName": "Palveluverkko",
|
||
"widgetServiceGridDesc": "Palveluruutujen linkkien konfiguroitava ruudukko",
|
||
"widgetDashboardLinksName": "Kojelaudan linkit",
|
||
"widgetDashboardLinksDesc": "Näytä määritetyt palvelulinkkisi kojelaudassa",
|
||
"widgetSearchLinksName": "Hakupikavalinnat",
|
||
"widgetSearchLinksDesc": "Pikahaun pikanäppäimet, joissa on rivikohtainen syöttö",
|
||
"widgetLinkTreeName": "Linkkipuu",
|
||
"widgetLinkTreeDesc": "Ryhmitellyt linkkiosiot otsikoineen",
|
||
"calMon": "Mo",
|
||
"calTue": "Ti",
|
||
"calWed": "Me",
|
||
"calThu": "To",
|
||
"calFri": "Pe",
|
||
"calSat": "La",
|
||
"calSun": "Su",
|
||
"startOnMonday": "Viikko alkaa maanantaina",
|
||
"countdownNoDate": "Ei asetettua tavoitepäivämäärää",
|
||
"countdownPast": "Tapahtuma on ohi",
|
||
"countdownDays": "päivää",
|
||
"countdownHours": "tuntia",
|
||
"countdownMinutes": "min",
|
||
"countdownSeconds": "sek",
|
||
"countdownLabel": "Tarra",
|
||
"countdownLabelPlaceholder": "esim. julkaisupäivä",
|
||
"countdownShowDays": "Näyttelypäivät",
|
||
"countdownShowHours": "Näytä aukioloajat",
|
||
"targetDate": "Tavoitepäivämäärä",
|
||
"searchEngine": "Hakukone",
|
||
"customSearchUrl": "Mukautetun haun URL-osoite",
|
||
"searchPlaceholder": "Haku...",
|
||
"searchGo": "Mennä",
|
||
"searchPlaceholderLabel": "Paikkamerkkiteksti",
|
||
"searchPlaceholderHint": "Hakusyötteen sisällä näkyvä teksti",
|
||
"openInNewTab": "Avaa uudessa välilehdessä",
|
||
"searchQueryPlaceholder": "Syötä kysely...",
|
||
"noSearchShortcuts": "Ei määritettyjä pikanäppäimiä",
|
||
"addSearchShortcut": "Lisää pikakuvake",
|
||
"fontSize": "Fonttikoko",
|
||
"textAlign": "Tekstin tasaus",
|
||
"fontWeight": "Fontin paino",
|
||
"clearColor": "Kirkas väri",
|
||
"imageFit": "Kuvan sovitus",
|
||
"imageLinkUrl": "Linkin URL-osoite",
|
||
"noImage": "Kuvan URL-osoitetta ei ole asetettu",
|
||
"altText": "Vaihtoehtoinen teksti",
|
||
"altTextPlaceholder": "Kuvaile kuvaa",
|
||
"renderMarkdown": "Renderöi Markdown",
|
||
"displayMode": "Näyttötila",
|
||
"displayField": "Näyttökenttä",
|
||
"jsonPath": "JSON-polku",
|
||
"customApiLabel": "Tarra",
|
||
"customApiLabelPlaceholder": "esim. Lämpötila",
|
||
"customApiUnit": "Yksikkö",
|
||
"customApiNoUrl": "API-URL-osoitetta ei ole määritetty",
|
||
"customApiError": "Nouto epäonnistui",
|
||
"customApiNotArray": "Vastaus ei ole taulukko",
|
||
"addService": "Lisää palvelu",
|
||
"showLabels": "Näytä otsikot",
|
||
"iconSize": "Kuvakkeen koko",
|
||
"noDashboardLinks": "Ei määritettyjä kojelaudan linkkejä",
|
||
"noLimit": "Ei rajaa",
|
||
"sectionHeading": "Osion otsikko",
|
||
"addSection": "Lisää osio",
|
||
"compactMode": "Kompakti tila",
|
||
"showDetailed": "Näytä yksityiskohtainen",
|
||
"selectHosts": "Valitse isännät",
|
||
"allHosts": "Kaikki isännät",
|
||
"listLayout": "Lista",
|
||
"gridLayout": "Ruudukko",
|
||
"terminal": "Terminaali",
|
||
"files": "Tiedostot",
|
||
"docker": "Satamatyöläinen",
|
||
"range15m": "15 minuuttia",
|
||
"range1h": "1 tunti",
|
||
"range6h": "6 tuntia",
|
||
"range24h": "24 tuntia",
|
||
"metricNetRx": "Verkkolataus",
|
||
"metricNetTx": "Verkkolataus",
|
||
"severityFilter": "Vakavuustason suodatin",
|
||
"filterAll": "Kaikki",
|
||
"accentColor": "Korostusväri",
|
||
"widgetSshTerminalName": "SSH-terminaali",
|
||
"widgetSshTerminalDesc": "Sisäänrakennettu SSH-pääte, joka on yhdistetty konfiguroituun isäntään",
|
||
"sshTerminalNoHost": "Ei määritettyä isäntää",
|
||
"sshTerminalConnect": "Yhdistä",
|
||
"sshTerminalAutoConnect": "Automaattinen yhteys kuormituksen yhteydessä",
|
||
"widgetQuickConnectName": "Pikayhteys",
|
||
"widgetQuickConnectDesc": "Yhden napsautuksen käynnistyspainikkeet mille tahansa yhteystyypille isäntätietokoneissasi",
|
||
"connectionTypes": "Yhteystyypit",
|
||
"connType_terminal": "Terminaali",
|
||
"connType_files": "Tiedostonhallinta",
|
||
"connType_docker": "Satamatyöläinen",
|
||
"connType_tunnel": "Tunneli",
|
||
"connType_host-metrics": "Isännän mittarit",
|
||
"connType_rdp": "Maaseudun kehittämisohjelma",
|
||
"connType_vnc": "VNC",
|
||
"connType_telnet": "Telnet",
|
||
"widgetFileManagerName": "Tiedostonhallinta",
|
||
"widgetFileManagerDesc": "Upotettu SFTP-tiedostonhallinta konfiguroidulle isännälle",
|
||
"widgetDockerName": "Docker-hallinta",
|
||
"widgetDockerDesc": "Sulautettu Docker-konttien hallintaohjelma konfiguroidulle isännälle",
|
||
"widgetTunnelName": "Tunnelin hallinta",
|
||
"widgetTunnelDesc": "Sulautettu SSH-tunnelinhallinta konfiguroidulle isännälle",
|
||
"widgetNoHostSelected": "Ei määritettyä isäntää"
|
||
},
|
||
"serverConfig": {
|
||
"title": "Palvelimen kokoonpano",
|
||
"description": "Määritä Termix-palvelimen URL-osoite yhteyden muodostamiseksi taustapalveluihin",
|
||
"serverUrl": "Palvelimen URL-osoite",
|
||
"enterServerUrl": "Anna palvelimen URL-osoite",
|
||
"saveFailed": "Määritysten tallennus epäonnistui",
|
||
"saveError": "Virhe tallennettaessa määritystä",
|
||
"saving": "Tallennetaan...",
|
||
"saveConfig": "Tallenna kokoonpano",
|
||
"helpText": "Anna URL-osoite, jossa Termix-palvelimesi toimii (esim. http://localhost:30001 tai https://your-server.com)",
|
||
"changeServer": "Vaihda palvelinta",
|
||
"mustIncludeProtocol": "Palvelimen URL-osoitteen on alettava http:// tai https://",
|
||
"allowInvalidCertificate": "Salli virheellinen varmenne",
|
||
"allowInvalidCertificateDesc": "Käytä vain luotettaville itse isännöidyille palvelimille, joissa on itse allekirjoitetut tai IP-osoitevarmenteet.",
|
||
"useEmbedded": "Käytä paikallista palvelinta",
|
||
"embeddedDesc": "Suorita Termix sisäänrakennetulla paikallisella palvelimella (etäpalvelinta ei tarvita)",
|
||
"embeddedConnecting": "Yhdistetään paikalliseen palvelimeen...",
|
||
"embeddedNotReady": "Paikallinen palvelin ei ole vielä valmis. Odota hetki ja yritä uudelleen.",
|
||
"localServer": "Paikallinen palvelin",
|
||
"savedServers": "Tallennetut palvelimet",
|
||
"noSavedServers": "Ei tallennettuja palvelimia",
|
||
"removeServer": "Poistaa"
|
||
},
|
||
"versionCheck": {
|
||
"error": "Versiotarkistusvirhe",
|
||
"checkFailed": "Päivitysten tarkistaminen epäonnistui",
|
||
"upToDate": "Sovellus on ajan tasalla",
|
||
"currentVersion": "Käytät versiota {{version}}",
|
||
"updateAvailable": "Päivitys saatavilla",
|
||
"newVersionAvailable": "Uusi versio on saatavilla! Käytät {{current}}, mutta {{latest}} on saatavilla.",
|
||
"betaVersion": "Beta-versio",
|
||
"betaVersionDesc": "Käytät {{current}}, joka on uudempi kuin viimeisin vakaa julkaisu {{latest}}.",
|
||
"releasedOn": "Julkaistu {{date}}",
|
||
"downloadUpdate": "Lataa päivitys",
|
||
"checking": "Tarkistetaan päivityksiä...",
|
||
"checkUpdates": "Tarkista päivitykset",
|
||
"checkingUpdates": "Tarkistetaan päivityksiä...",
|
||
"updateRequired": "Päivitys vaaditaan"
|
||
},
|
||
"common": {
|
||
"close": "Lähellä",
|
||
"minimize": "Minimoida",
|
||
"online": "Verkossa",
|
||
"offline": "Offline-tilassa",
|
||
"unknown": "Tuntematon",
|
||
"continue": "Jatkaa",
|
||
"maintenance": "Huolto",
|
||
"degraded": "Heikentynyt",
|
||
"error": "Virhe",
|
||
"warning": "Varoitus",
|
||
"unsavedChanges": "Tallentamattomat muutokset",
|
||
"dismiss": "Hylkää",
|
||
"loading": "Ladataan...",
|
||
"optional": "Valinnainen",
|
||
"connect": "Yhdistä",
|
||
"copied": "Kopioitu",
|
||
"connecting": "Yhdistetään...",
|
||
"updateAvailable": "Päivitys saatavilla",
|
||
"appName": "Termix",
|
||
"openInNewTab": "Avaa uudessa välilehdessä",
|
||
"noReleases": "Ei julkaisuja",
|
||
"updatesAndReleases": "Päivitykset ja julkaisut",
|
||
"newVersionAvailable": "Uusi versio ({{version}}) on saatavilla.",
|
||
"failedToFetchUpdateInfo": "Päivitystietojen hakeminen epäonnistui",
|
||
"preRelease": "Julkaisua edeltävä",
|
||
"noReleasesFound": "Ei löytynyt julkaisuja.",
|
||
"cancel": "Peruuttaa",
|
||
"username": "Käyttäjätunnus",
|
||
"login": "Kirjaudu sisään",
|
||
"logout": "Kirjaudu ulos",
|
||
"register": "Rekisteröidy",
|
||
"password": "Salasana",
|
||
"confirmPassword": "Vahvista salasana",
|
||
"back": "Takaisin",
|
||
"save": "Tallentaa",
|
||
"saving": "Tallennetaan...",
|
||
"delete": "Poistaa",
|
||
"rename": "Nimeä uudelleen",
|
||
"edit": "Muokata",
|
||
"add": "Lisätä",
|
||
"confirm": "Vahvistaa",
|
||
"no": "Ei",
|
||
"or": "TAI",
|
||
"next": "Seuraava",
|
||
"previous": "Edellinen",
|
||
"refresh": "Päivitä",
|
||
"language": "Kieli",
|
||
"checking": "Tarkistetaan...",
|
||
"checkingDatabase": "Tarkistetaan tietokantayhteyttä...",
|
||
"checkingAuthentication": "Tarkistetaan todennusta...",
|
||
"backendReconnected": "Palvelinyhteys palautettu",
|
||
"connectionDegraded": "Palvelinyhteys katkesi, palautetaan…",
|
||
"reload": "Lataa uudelleen",
|
||
"remove": "Poistaa",
|
||
"create": "Luoda",
|
||
"update": "Päivittää",
|
||
"copy": "Kopioida",
|
||
"copyFailed": "Leikepöydälle kopiointi epäonnistui",
|
||
"maximize": "Maksimoida",
|
||
"restore": "Palauttaa",
|
||
"of": "jostakin",
|
||
"saved": "Tallennettu",
|
||
"deleted": "Poistettu",
|
||
"deleteFailed": "Poistaminen epäonnistui",
|
||
"saveFailed": "Tallennus epäonnistui",
|
||
"required": "Pakollinen"
|
||
},
|
||
"nav": {
|
||
"home": "Kotiin",
|
||
"terminal": "Terminaali",
|
||
"docker": "Satamatyöläinen",
|
||
"tunnels": "Tunnelit",
|
||
"fileManager": "Tiedostonhallinta",
|
||
"serverStats": "Isännän mittarit",
|
||
"hostMetrics": "Isännän mittarit",
|
||
"admin": "Ylläpitäjä",
|
||
"termixId": "Henkilöllisyystodistus",
|
||
"userProfile": "Käyttäjäprofiili",
|
||
"splitScreen": "Jaettu näyttö",
|
||
"confirmClose": "Suljetaanko tämä aktiivinen istunto?",
|
||
"close": "Lähellä",
|
||
"cancel": "Peruuttaa",
|
||
"sshManager": "SSH-hallinta",
|
||
"cannotSplitTab": "Tätä välilehteä ei voi jakaa",
|
||
"hostTabTitle": "{{username}}@{{ip}}:{{port}}",
|
||
"copyPassword": "Kopioi salasana",
|
||
"copySudoPassword": "Kopioi Sudo-salasana",
|
||
"passwordCopied": "Salasana kopioitu leikepöydälle",
|
||
"noPasswordAvailable": "Salasanaa ei saatavilla",
|
||
"failedToCopyPassword": "Salasanan kopiointi epäonnistui",
|
||
"refreshTab": "Päivitä yhteys",
|
||
"renameTab": "Nimeä välilehti uudelleen",
|
||
"openFileManager": "Avaa tiedostonhallinta",
|
||
"dashboard": "Kojelauta",
|
||
"networkGraph": "Verkkokaavio",
|
||
"tmuxMonitor": "Tmux-näyttö",
|
||
"homepage": "Etusivu",
|
||
"quickConnect": "Pikayhteys",
|
||
"sshTools": "SSH-työkalut",
|
||
"history": "Historia",
|
||
"sessionLogs": "Istuntolokit",
|
||
"hosts": "Isännät",
|
||
"snippets": "Katkelmat",
|
||
"hostManager": "Isäntäpäällikkö",
|
||
"credentials": "Valtakirjat",
|
||
"connections": "Yhteydet",
|
||
"alerts": "Hälytykset",
|
||
"serial": "Sarjanumero",
|
||
"roleAdministrator": "Ylläpitäjä",
|
||
"roleUser": "Käyttäjä"
|
||
},
|
||
"hosts": {
|
||
"hosts": "Isännät",
|
||
"noHosts": "Ei SSH-isäntiä",
|
||
"retry": "Yritä uudelleen",
|
||
"refresh": "Päivitä",
|
||
"optional": "Valinnainen",
|
||
"downloadSample": "Lataa näyte",
|
||
"failedToDeleteHost": "Poisto epäonnistui {{name}}",
|
||
"importSkipExisting": "Tuo (ohita olemassa oleva)",
|
||
"importSSHConfig": "Tuo SSH-kokoonpanosta",
|
||
"connectionDetails": "Yhteystiedot",
|
||
"ssh": "SSH",
|
||
"telnet": "Telnet",
|
||
"remoteDesktop": "Etätyöpöytä",
|
||
"port": "Portti",
|
||
"username": "Käyttäjätunnus",
|
||
"folder": "Kansio",
|
||
"tags": "Tunnisteet",
|
||
"pin": "Kiinnitä",
|
||
"addHost": "Lisää isäntä",
|
||
"editHost": "Muokkaa isäntää",
|
||
"cloneHost": "Klooni-isäntä",
|
||
"enableTerminal": "Ota terminaali käyttöön",
|
||
"enableTunnel": "Ota tunneli käyttöön",
|
||
"enableFileManager": "Ota tiedostonhallinta käyttöön",
|
||
"enableDocker": "Ota Docker käyttöön",
|
||
"defaultPath": "Oletuspolku",
|
||
"connection": "Yhteys",
|
||
"upload": "Lataa",
|
||
"authentication": "Todennus",
|
||
"password": "Salasana",
|
||
"key": "Avain",
|
||
"credential": "Valtakirja",
|
||
"none": "Ei mitään",
|
||
"sshPrivateKey": "SSH-yksityinen avain",
|
||
"keyType": "Avaimen tyyppi",
|
||
"uploadFile": "Lähetä tiedosto",
|
||
"tabGeneral": "Yleistä",
|
||
"tabSsh": "SSH",
|
||
"tabTerminal": "Terminaali",
|
||
"tabRdp": "Maaseudun kehittämisohjelma",
|
||
"tabVnc": "VNC",
|
||
"tabTunnels": "Tunnelit",
|
||
"tabDocker": "Satamatyöläinen",
|
||
"tabFiles": "Tiedostot",
|
||
"tabStats": "Isännän mittarit",
|
||
"tabHostMetrics": "Isännän mittarit",
|
||
"tabTelnet": "Telnet",
|
||
"tabSharing": "Jakaminen",
|
||
"tabAuthentication": "Todennus",
|
||
"terminal": "Terminaali",
|
||
"tunnel": "Tunneli",
|
||
"fileManager": "Tiedostonhallinta",
|
||
"serverStats": "Isännän mittarit",
|
||
"status": "Status",
|
||
"folderRenamed": "Kansio \"{{oldName}}\" nimettiin uudelleen onnistuneesti muotoon \"{{newName}}\"",
|
||
"failedToRenameFolder": "Kansion uudelleennimeäminen epäonnistui",
|
||
"movedToFolder": "Siirretty {{count}} isäntä(ä) kohteeseen \"{{folder}}\"",
|
||
"editHostTooltip": "Muokkaa isäntää",
|
||
"statusChecks": "Tilatarkastukset",
|
||
"metricsCollection": "Mittarikokoelma",
|
||
"metricsInterval": "Mittaritietojen keräysväli",
|
||
"metricsIntervalDesc": "Palvelintilastojen keräämisen tiheys (5 s - 1 h)",
|
||
"behavior": "Käyttäytyminen",
|
||
"themePreview": "Teeman esikatselu",
|
||
"theme": "Teema",
|
||
"fontFamily": "Fonttiperhe",
|
||
"fontSize": "Fonttikoko",
|
||
"letterSpacing": "Kirjainväli",
|
||
"lineHeight": "Viivan korkeus",
|
||
"cursorStyle": "Kohdistimen tyyli",
|
||
"cursorBlink": "Kohdistimen vilkkuminen",
|
||
"scrollbackBuffer": "Vieroituspuskuri",
|
||
"bellStyle": "Kellotyyli",
|
||
"rightClickSelectsWord": "Hiiren kakkospainikkeen napsautus valitsee sanan",
|
||
"fastScrollModifier": "Nopea vieritysmuokkain",
|
||
"fastScrollSensitivity": "Nopea vieritysherkkyys",
|
||
"sshAgentForwarding": "SSH-agentin edelleenlähetys",
|
||
"backspaceMode": "Askelpalautintila",
|
||
"startupSnippet": "Käynnistyskoodinpätkä",
|
||
"selectSnippet": "Valitse katkelma",
|
||
"forceKeyboardInteractive": "Pakota näppäimistöinteraktiivinen",
|
||
"overrideCredentialUsername": "Ohita tunnistetiedot Käyttäjätunnus",
|
||
"overrideCredentialUsernameDesc": "Käytä yllä määritettyä käyttäjätunnusta tunnistetiedon käyttäjätunnuksen sijaan.",
|
||
"oidcUsernameHint": "Käytä OIDC-kirjautumisnimesi sijaan muotoa $oidc.preferred_username.",
|
||
"jumpHostChain": "Hyppyisäntäketju",
|
||
"portKnocking": "Portin koputus",
|
||
"addKnock": "Lisää portti",
|
||
"addProxyNode": "Lisää solmu",
|
||
"proxyNode": "Välityspalvelinsolmu",
|
||
"proxyType": "Välityspalvelimen tyyppi",
|
||
"quickActions": "Pikatoiminnot",
|
||
"sudoPasswordAutoFill": "Sudo-salasanan automaattinen täyttö",
|
||
"sudoPassword": "Sudo-salasana",
|
||
"keepaliveInterval": "Säilytysväli (ms)",
|
||
"moshCommand": "MOSH-komento",
|
||
"environmentVariables": "Ympäristömuuttujat",
|
||
"addVariable": "Lisää muuttuja",
|
||
"docker": "Satamatyöläinen",
|
||
"copyTerminalUrl": "Kopioi terminaalin URL-osoite",
|
||
"copyFileManagerUrl": "Kopioi tiedostonhallinnan URL-osoite",
|
||
"copyRemoteDesktopUrl": "Kopioi etätyöpöydän URL-osoite",
|
||
"failedToConnect": "Yhteyden muodostaminen konsoliin epäonnistui",
|
||
"connect": "Yhdistä",
|
||
"disconnect": "Katkaise yhteys",
|
||
"start": "Aloita",
|
||
"enableStatusCheck": "Ota tilan tarkistus käyttöön",
|
||
"enableMetrics": "Ota mittarit käyttöön",
|
||
"bulkUpdateFailed": "Joukkopäivitys epäonnistui",
|
||
"selectAll": "Valitse kaikki",
|
||
"deselectAll": "Poista kaikkien valinta",
|
||
"protocols": "Protokollat",
|
||
"secureShell": "Suojattu kuori",
|
||
"virtualNetwork": "Virtuaaliverkko",
|
||
"unencryptedShell": "Salaamaton kuori",
|
||
"addressIp": "Osoite / IP-osoite",
|
||
"friendlyName": "Ystävällinen nimi",
|
||
"macAddress": "MAC-osoite",
|
||
"wolBroadcastAddress": "WoL-lähetysosoite",
|
||
"wolBroadcastAddressDesc": "Valinnainen suunnattu lähetys Docker-/reititetyille verkoille (esim. 192.168.1.255). Jätä tyhjäksi käyttääksesi osoitetta 255.255.255.255.",
|
||
"folderAndAdvanced": "Kansio ja lisäasetukset",
|
||
"privateNotes": "Yksityiset muistiinpanot",
|
||
"privateNotesPlaceholder": "Tietoja tästä palvelimesta...",
|
||
"pinToTop": "Kiinnitä ylös",
|
||
"pinToTopDesc": "Näytä tämä isäntä aina listan kärjessä",
|
||
"portKnockingSequence": "Portin koputussekvenssi",
|
||
"addKnockBtn": "Lisää Knock",
|
||
"noPortKnocking": "Portin koputusta ei ole määritetty.",
|
||
"knockPort": "Knockin satama",
|
||
"protocol": "Protokolla",
|
||
"delayAfterMs": "Viive jälkeen (ms)",
|
||
"useSocks5Proxy": "Käytä SOCKS5-välityspalvelinta",
|
||
"useSocks5ProxyDesc": "Reititä yhteys välityspalvelimen kautta",
|
||
"proxyHost": "Välityspalvelin",
|
||
"proxyPort": "Välityspalvelimen portti",
|
||
"proxyUsername": "Välityspalvelimen käyttäjätunnus",
|
||
"proxyPassword": "Välityspalvelimen salasana",
|
||
"proxySingleMode": "Yksittäinen välityspalvelin",
|
||
"proxyChainMode": "Välityspalvelinketju",
|
||
"you": "Sinä",
|
||
"jumpHostChainLabel": "Hyppyisäntäketju",
|
||
"addJumpBtn": "Lisää hyppy",
|
||
"noJumpHosts": "Hyppypalvelimia ei ole määritetty.",
|
||
"selectAServer": "Valitse palvelin...",
|
||
"sshPort": "SSH-portti",
|
||
"authMethod": "Todennustapa",
|
||
"storedCredential": "Tallennetut tunnistetiedot",
|
||
"selectACredential": "Valitse tunnistetiedot...",
|
||
"vaultProfile": "Varaston allekirjoittajan profiili",
|
||
"selectAVaultProfile": "Valitse holviprofiili...",
|
||
"vaultProfileHint": "Asetukset tulevat jaetusta profiilista; kirjaudut Holviin OIDC:n kautta, kun muodostat yhteyden. Salaisuuksia ei tallenneta.",
|
||
"vaultNewProfile": "Uusi profiili",
|
||
"vaultManageProfiles": "Hallinnoi holviprofiileja",
|
||
"vaultAddrLabel": "Holvin osoite",
|
||
"vaultNamespaceLabel": "Nimiavaruus",
|
||
"vaultOidcMountLabel": "OIDC-todennusliitos",
|
||
"vaultOidcRoleLabel": "OIDC-rooli",
|
||
"vaultSshMountLabel": "SSH-salaisuuksien kiinnitys",
|
||
"vaultSshRoleLabel": "SSH-allekirjoittajan rooli",
|
||
"vaultValidPrincipalsLabel": "Voimassa olevat pääasialliset",
|
||
"vaultKeyTypeLabel": "Lyhytaikainen avaintyyppi",
|
||
"vaultSharedLabel": "Jaa kaikkien käyttäjien kanssa",
|
||
"vaultCreateProfile": "Luo profiili",
|
||
"vaultProfileCreated": "Holvin profiili luotu",
|
||
"vaultProfileSaved": "Holvin profiili tallennettu",
|
||
"vaultProfileDeleted": "Holvin profiili poistettu",
|
||
"vaultProfileSaveFailed": "Holvin profiilin tallentaminen epäonnistui",
|
||
"vaultProfileDeleteFailed": "Holviprofiilin poistaminen epäonnistui",
|
||
"vaultSaveProfile": "Tallenna profiili",
|
||
"vaultProfileValidationError": "Nimi, holvin osoite ja SSH-allekirjoittajan rooli vaaditaan",
|
||
"vaultNoProfiles": "Ei vielä holviprofiileja.",
|
||
"vaultSharedBadge": "jaettu",
|
||
"keyTypeLabel": "Avaimen tyyppi",
|
||
"keyTypeAuto": "Automaattinen tunnistus",
|
||
"keyPasteTab": "Liitä",
|
||
"keyUploadTab": "Lataa",
|
||
"keyFileLoaded": "Avaintiedosto ladattu",
|
||
"keyUploadClick": "Napsauta ladataksesi .pem / .key / .ppk -tiedoston",
|
||
"clearKey": "Tyhjennä näppäin",
|
||
"keySaved": "SSH-avain tallennettu",
|
||
"keyReplaceNotice": "liitä uusi avain alle korvataksesi sen",
|
||
"keyPassphraseSaved": "Salasana tallennettu, kirjoita muuttaaksesi",
|
||
"replaceKey": "Vaihda avain",
|
||
"docsLink": "Näytä dokumentit",
|
||
"opksshLabel": "OPKSSH",
|
||
"opksshDesc": "Kirjaudu tähän isäntään käyttämällä identiteetintarjoajaasi salasanan tai avaimen sijaan. Edellyttää OPKSSH:n määrittämistä palvelimelle.",
|
||
"warpgateLabel": "Warpgate-yhdyskäytävä",
|
||
"warpgateDesc": "Tämä isäntä muodostaa yhteyden Warpgate SSH -välityspalvelimen kautta. Termix käsittelee selainpohjaisen hyväksyntäprosessin automaattisesti todennuksen jälkeen.",
|
||
"agentLabel": "SSH-agentti",
|
||
"agentDesc": "Todenna itsesi käyttämällä Termix-palvelimella käynnissä olevaa SSH-agenttia (Bitwarden, 1Password, gpg-agent, KeeAgent, ssh-agent). Agentin on oltava käynnissä koneella, jolla Termix sijaitsee.",
|
||
"agentSocketPathLabel": "Agentin soketin polku",
|
||
"agentSocketPathPlaceholder": "Jätä tyhjäksi käyttääksesi SSH_AUTH_SOCKia",
|
||
"agentSocketPathHint": "Jätä tyhjäksi, jos haluat automaattisen tunnistuksen SSH_AUTH_SOCK-ympäristömuuttujasta, tai anna mukautettu soketin polku (esim. /run/user/1000/gnupg/S.gpg-agent.ssh).",
|
||
"tailscaleDeviceSelect": "Valitse Tailscale-laite",
|
||
"tailscaleDeviceSelectPlaceholder": "Valitse laite...",
|
||
"tailscaleNoApiKey": "Tailscale API -avainta ei ole määritetty. Lisää sellainen järjestelmänvalvojan asetuksissa, jotta laitteiden löytäminen on mahdollista.",
|
||
"tailscaleDocsLink": "Näytä dokumentit",
|
||
"tailscaleLoadingDevices": "Laitteita ladataan...",
|
||
"tailscaleNoDevices": "Hätäverkostasi ei löytynyt laitteita.",
|
||
"tailscaleDeviceAutoFill": "Laitteen valinta täyttää isännän IP-osoitteen automaattisesti.",
|
||
"forceKeyboardInteractiveLabel": "Force Keyboard Interactive",
|
||
"forceKeyboardInteractiveShortDesc": "Pakota salasanan syöttö manuaalisesti, vaikka avaimet olisivat paikallaan",
|
||
"allowLegacyAlgorithmsLabel": "Salli vanhat algoritmit",
|
||
"allowLegacyAlgorithmsDesc": "Ota käyttöön vanhentuneet SSH-algoritmit (ssh-dss, ssh-rsa, diffie-hellman-group1-sha1, hmac-md5, 3des-cbc) yhteyksille vanhoihin laitteisiin, joita ei voida päivittää.",
|
||
"insecure": "Epävarma",
|
||
"terminalAppearance": "Päätelaitteen ulkonäkö",
|
||
"colorTheme": "Väriteema",
|
||
"fontFamilyLabel": "Fonttiperhe",
|
||
"fontSizeLabel": "Fonttikoko",
|
||
"cursorStyleLabel": "Kohdistimen tyyli",
|
||
"letterSpacingPx": "Kirjainväli (px)",
|
||
"lineHeightLabel": "Viivan korkeus",
|
||
"bellStyleLabel": "Kellotyyli",
|
||
"backspaceModeLabel": "Askelpalautintila",
|
||
"cursorBlinking": "Kohdistimen vilkkuminen",
|
||
"cursorBlinkingDesc": "Ota käyttöön päätekohdistimen vilkkuva animaatio",
|
||
"rightClickSelectsWordLabel": "Napsauta hiiren kakkospainikkeella ja valitsee sanan",
|
||
"rightClickSelectsWordShortDesc": "Valitse kohdistimen alla oleva sana hiiren kakkospainikkeella",
|
||
"backgroundImageLabel": "Taustakuvan URL-osoite",
|
||
"backgroundImageDesc": "Valinnainen URL-osoite päätelaitteen taustakuvalle",
|
||
"backgroundImageOpacityLabel": "Taustakuvan läpinäkyvyys",
|
||
"customThemeColors": "Mukautetut värit",
|
||
"customThemeBackground": "Tausta",
|
||
"customThemeForeground": "Etuala",
|
||
"customThemeCursor": "Kohdistin",
|
||
"customThemeCursorAccent": "Kohdistimen aksentti",
|
||
"customThemeSelection": "Valinta",
|
||
"customThemeAnsiColors": "ANSI-värit",
|
||
"customThemeBlack": "Musta",
|
||
"customThemeRed": "Punainen",
|
||
"customThemeGreen": "Vihreä",
|
||
"customThemeYellow": "Keltainen",
|
||
"customThemeBlue": "Sininen",
|
||
"customThemeMagenta": "Purppura",
|
||
"customThemeCyan": "Syaani",
|
||
"customThemeWhite": "Valkoinen",
|
||
"customThemeBrightBlack": "Kirkkaan musta",
|
||
"customThemeBrightRed": "Kirkkaanpunainen",
|
||
"customThemeBrightGreen": "Kirkkaanvihreä",
|
||
"customThemeBrightYellow": "Kirkkaan keltainen",
|
||
"customThemeBrightBlue": "Kirkkaan sininen",
|
||
"customThemeBrightMagenta": "Kirkkaan magenta",
|
||
"customThemeBrightCyan": "Kirkkaan syaani",
|
||
"customThemeBrightWhite": "Kirkkaan valkoinen",
|
||
"customThemeResetTooltip": "Palauta oletusasetukset",
|
||
"syntaxHighlightingLabel": "Syntaksin korostus",
|
||
"syntaxHighlightingDesc": "Väritä päätelaitteen tuloste (virheet, polut, IP-osoitteet, aikaleimat)",
|
||
"syntaxHighlightingCategories": "Korosta kategoriat",
|
||
"syntaxHighlightingCategoriesDesc": "Valitse väritettävät sisältötyypit",
|
||
"syntaxCategoryLogLevels": "Lokitasot",
|
||
"syntaxCategoryLogLevelsDesc": "virhe, varoitus, tiedot, debug, kohtalokas",
|
||
"syntaxCategoryPaths": "Tiedostopolut",
|
||
"syntaxCategoryPathsDesc": "/usr/share/doc, ~/tiedosto.txt",
|
||
"syntaxCategoryTimestamps": "Aikaleimat",
|
||
"syntaxCategoryTimestampsDesc": "[12:34:56], 15.1.2024",
|
||
"syntaxCategoryIpAddresses": "IP-osoitteet",
|
||
"syntaxCategoryIpAddressesDesc": "192.168.1.1, 10.0.0.1:8080",
|
||
"syntaxCategoryUrls": "URL-osoitteet",
|
||
"syntaxCategoryUrlsDesc": "https://esimerkki.com",
|
||
"syntaxCategoryNumbers": "Merkityt numerot",
|
||
"syntaxCategoryNumbersDesc": "portti 8080, uloskäynti 1, tila 404",
|
||
"behaviorAndAdvanced": "Käyttäytyminen ja edistyneet",
|
||
"scrollbackBufferLabel": "Vieroituspuskuri",
|
||
"scrollbackMaxLines": "Historiassa säilytettävien rivien enimmäismäärä",
|
||
"sshAgentForwardingLabel": "SSH-agentin edelleenlähetys",
|
||
"sshAgentForwardingShortDesc": "Välitä paikalliset SSH-avaimesi tälle isännälle",
|
||
"useSSHTitleLabel": "Käytä SSH-ikkunan otsikkoa",
|
||
"useSSHTitleDesc": "Päivitä välilehden otsikko komentotulkin ikkunan otsikosta isäntänimen sijaan",
|
||
"enableAutoMosh": "Ota automaattinen mosh käyttöön",
|
||
"enableAutoMoshDesc": "Suosi Moshia SSH:n sijaan, jos saatavilla",
|
||
"enableAutoTmux": "Ota automaattinen Tmux käyttöön",
|
||
"enableAutoTmuxDesc": "Käynnistä automaattisesti tai liitä tmux-istuntoon",
|
||
"enableSessionLogging": "Istuntojen lokitiedot",
|
||
"enableSessionLoggingDesc": "Tallenna pääteistunnon tuloste myöhempää tarkastelua varten",
|
||
"enableCommandHistory": "Komentohistoria",
|
||
"enableCommandHistoryDesc": "Tallenna tässä terminaalissa suoritettavat komennot historiaa ja automaattista täydennystä varten",
|
||
"linkClickBehaviorLabel": "Linkin klikkauskäyttäytyminen",
|
||
"linkClickBehaviorDesc": "Määrittää, mitä tapahtuu, kun napsautat linkkiä terminaalissa. Käytä 'Oletus'-asetusta noudattaaksesi sovellustason asetuksia.",
|
||
"linkClickBehaviorDefault": "Oletus (noudata sovelluksen asetuksia)",
|
||
"linkClickBehaviorConfirm": "Näytä ponnahdusikkuna avaamista tai kopioimista varten",
|
||
"linkClickBehaviorDirect": "Avaa suoraan",
|
||
"sudoPasswordAutoFillLabel": "Sudo-salasanan automaattinen täyttö",
|
||
"sudoPasswordAutoFillShortDesc": "Anna sudo-salasana automaattisesti pyydettäessä",
|
||
"sudoPasswordAutoFillDesc": "Tallenna sudo-salasana, jotta isäntämittarit, päätekehotteet ja muut voivat suorittaa etuoikeutettuja komentoja automaattisesti.",
|
||
"sudoPasswordLabel": "Sudo-salasana",
|
||
"environmentVariablesLabel": "Ympäristömuuttujat",
|
||
"addVariableBtn": "Lisää muuttuja",
|
||
"noEnvVars": "Ei määritettyjä ympäristömuuttujia.",
|
||
"fastScrollModifierLabel": "Nopea vieritysmuokkain",
|
||
"fastScrollSensitivityLabel": "Nopea vieritysherkkyys",
|
||
"moshCommandLabel": "Moshin komento",
|
||
"startupSnippetLabel": "Käynnistyskoodinpätkä",
|
||
"keepaliveIntervalLabel": "Säilytysaika (sekuntia)",
|
||
"maxKeepaliveMisses": "Max Keepalive -heitot",
|
||
"tunnelSettings": "Tunnelin asetukset",
|
||
"enableTunneling": "Ota tunnelointi käyttöön",
|
||
"enableTunnelingDesc": "Ota SSH-tunnelitoiminto käyttöön tälle isännälle",
|
||
"serverTunnelsSection": "Palvelintunnelit",
|
||
"addTunnelBtn": "Lisää tunneli",
|
||
"noTunnelsConfigured": "Ei tunneleita määritettynä.",
|
||
"tunnelLabel": "Tunneli {{number}}",
|
||
"tunnelType": "Tunnelin tyyppi",
|
||
"tunnelModeLocalDesc": "Lähetä paikallinen portti etäpalvelimen (tai siitä tavoitettavan isännän) porttiin.",
|
||
"tunnelModeRemoteDesc": "Lähetä etäpalvelimen portti takaisin oman koneesi paikalliseen porttiin.",
|
||
"tunnelModeDynamicDesc": "Luo SOCKS5-välityspalvelin paikalliseen porttiin dynaamista portin edelleenlähetystä varten.",
|
||
"sameHost": "Tämä isäntä (suora tunneli)",
|
||
"endpointHost": "Päätepisteen isäntä",
|
||
"endpointHostPlaceholder": "Sama isäntä, SSH-isäntä tai tavoitettava isäntä/IP-osoite",
|
||
"endpointPort": "Päätepisteen portti",
|
||
"bindHost": "Sido isäntä",
|
||
"sourcePort": "Lähdeportti",
|
||
"maxRetries": "Maks. uudelleenyritykset",
|
||
"retryIntervalS": "Uudelleenyritysväli (s)",
|
||
"autoStartLabel": "Automaattinen käynnistys",
|
||
"autoStartDesc": "Yhdistä tämä tunneli automaattisesti, kun isäntä ladataan",
|
||
"tunnelConnecting": "Tunneli, joka yhdistää...",
|
||
"tunnelDisconnected": "Tunneli irrotettu",
|
||
"failedToConnectTunnel": "Yhteyden muodostaminen epäonnistui",
|
||
"failedToDisconnectTunnel": "Yhteyden katkaiseminen epäonnistui",
|
||
"dockerIntegration": "Docker-integraatio",
|
||
"enableDockerMonitor": "Ota Docker käyttöön",
|
||
"enableDockerMonitorDesc": "Valvo ja hallinnoi tämän isännän säilöjä Dockerin kautta",
|
||
"containerRuntime": "Säilön suoritusaika",
|
||
"containerRuntimeDesc": "Valitse CLI, jota käytetään säilön hallintaan tässä isännässä",
|
||
"containerRuntimeDocker": "Satamatyöläinen",
|
||
"containerRuntimePodman": "Podman",
|
||
"enableTmuxMonitor": "Ota Tmux-monitori käyttöön",
|
||
"enableTmuxMonitorDesc": "Näytä tämä isäntä Tmux-monitorissa ja lisää sen tmux-toiminnot sivupalkkiin",
|
||
"tabProxmox": "Proxmox",
|
||
"proxmoxIntegration": "Proxmox-integraatio",
|
||
"enableProxmox": "Ota Proxmox käyttöön",
|
||
"enableProxmoxDesc": "Merkitse tämä isäntä Proxmox-solmuksi. Mahdollistaa vieraslaitteiden etsinnän ja tuonnin suoraan tästä isännästä.",
|
||
"proxmoxDefaultAuthType": "Oletustodennustyyppi",
|
||
"proxmoxDefaultAuthTypeDesc": "Tuotuihin vieraspalvelimiin sovellettu todennustapa. Valitse todennustyyppi, joka vastaa tapaa, jolla muodostat yhteyden vieraisiin palvelimiin.",
|
||
"authTypePassword": "Salasana",
|
||
"authTypeKey": "SSH-avain",
|
||
"authTypeCredential": "Valtakirja",
|
||
"authTypeOpkssh": "OPKSSH",
|
||
"authTypeNone": "Ei mitään",
|
||
"proxmoxDefaultCredential": "Oletustunnistetiedot",
|
||
"proxmoxDefaultCredentialDesc": "Tuotujen vieraspalvelimien tunnistetiedot, kun todennustyypiksi on asetettu Tunnistetiedot.",
|
||
"proxmoxWindowsDetection": "Windowsin / RDP-tunnistus",
|
||
"proxmoxWindowsDetectionDesc": "Pilkuilla erotetut nimimallit, jotka käynnistävät RDP:n SSH:n sijaan (kirjainkokoa ei erotella)",
|
||
"proxmoxDockerDetection": "Docker-tunnistus",
|
||
"proxmoxDockerDetectionDesc": "Pilkuilla erotetut nimimallit, joiden avulla Docker löytää vieraat yhteensopiviksi",
|
||
"proxmoxPreferredRanges": "Suositellut IP-alueet",
|
||
"proxmoxPreferredRangesDesc": "Pilkuilla erotetut etuliitteet prioriteettijärjestyksessä IP-osoitteen valinnassa, kun vieraalla on useita rajapintoja",
|
||
"proxmoxAutoSync": "Synkronoi vieraat automaattisesti",
|
||
"proxmoxAutoSyncDesc": "Etsi tämä Proxmox-solmu säännöllisesti ja luo tai päivitä tuotuja vieraskomanteja istunnon ollessa lukitsematon.",
|
||
"proxmoxSyncInterval": "Synkronointiväli (minuuttia)",
|
||
"proxmoxSyncIntervalDesc": "Vähintään 5 minuuttia. Ajastin ohittaa lukitut käyttäjäistunnot.",
|
||
"proxmoxMarkMissing": "Merkitse puuttuvat vieraat",
|
||
"proxmoxMarkMissingDesc": "Lisää proxmox-missing-tunniste, kun aiemmin tuotu vieras katoaa sen poistamisen sijaan.",
|
||
"proxmoxLastSync": "Viimeisin synkronointi",
|
||
"proxmoxLastSyncNever": "Ei vielä synkronoitu",
|
||
"proxmoxLastSyncNoResult": "Ei tulostietoja",
|
||
"proxmoxLastSyncSummary": "{{created}} luotu, {{updated}} päivitetty, {{markedMissing}} puuttuu, {{skipped}} ohitettu",
|
||
"proxmoxLastSyncStatus": {
|
||
"success": "Menestys",
|
||
"error": "Epäonnistui",
|
||
"pending": "Odottaa"
|
||
},
|
||
"proxmoxDiscoverAction": "Löydä ja tuo Proxmox-vieraita",
|
||
"proxmoxImportTitle": "Tuo Proxmoxista",
|
||
"proxmoxSelectHost": "Valitse Proxmox-isäntä…",
|
||
"proxmoxDiscover": "Tutustu",
|
||
"proxmoxDiscovering": "Löytöretkellä…",
|
||
"proxmoxDiscoverGuests": "Tutustu vieraisiin",
|
||
"proxmoxGuestsSelected_one": "{{count}} vieras — {{selected}} valittu",
|
||
"proxmoxGuestsSelected_other": "{{count}} vieraat — {{selected}} valittu",
|
||
"proxmoxSelectAll": "Valitse kaikki",
|
||
"proxmoxDeselectAll": "Poista kaikkien valinta",
|
||
"proxmoxNoGuests": "Tältä Proxmox-solmulta ei löytynyt vieraita.",
|
||
"proxmoxImportButton_one": "Tuo {{count}} isäntä",
|
||
"proxmoxImportButton_other": "Tuo {{count}} isäntiä",
|
||
"proxmoxResultImported": "{{count}} tuotu",
|
||
"proxmoxResultUpdated": "{{count}} päivitetty",
|
||
"proxmoxResultFailed": "{{count}} epäonnistui",
|
||
"proxmoxImportComplete": "Proxmox-tuonti valmis: {{summary}}",
|
||
"proxmoxDiscoveryFailed": "Löytö epäonnistui",
|
||
"proxmoxImportFailed": "Tuonti epäonnistui",
|
||
"enableFileManagerMonitor": "Ota tiedostonhallinta käyttöön",
|
||
"enableFileManagerMonitorDesc": "Selaa ja hallinnoi tiedostoja tällä isännöinnillä SFTP:n kautta",
|
||
"scpLegacyLabel": "SCP:n vanha tila",
|
||
"scpLegacyDesc": "Käytä vanhaa tiedostonsiirtoa palvelimilla, jotka eivät tue SFTP-alijärjestelmää (esim. sulautetut tai minimaaliset SSH-palvelimet).",
|
||
"defaultPathLabel": "Oletuspolku",
|
||
"fileManagerPathHint": "Hakemisto, joka avataan, kun tiedostonhallinta käynnistyy tälle isännälle.",
|
||
"statusChecksLabel": "Tilatarkastukset",
|
||
"enableStatusChecks": "Ota käyttöön tilan tarkistukset",
|
||
"enableStatusChecksDesc": "Lähetä tälle isännälle säännöllisesti ping-viesti saatavuuden varmistamiseksi.",
|
||
"useGlobalInterval": "Käytä globaalia väliä",
|
||
"useGlobalIntervalDesc": "Ohita palvelimen laajuisella tilan tarkistusvälillä",
|
||
"checkIntervalS": "Tarkistusväli (s)",
|
||
"checkIntervalDesc": "Sekunteja yhteyskutsujen välillä",
|
||
"metricsCollectionLabel": "Mittarikokoelma",
|
||
"enableMetricsLabel": "Ota mittarit käyttöön",
|
||
"enableMetricsDesc": "Kerää prosessorin, RAMin, levyn ja muita mittareita tältä isännältä",
|
||
"useGlobalMetrics": "Käytä globaalia intervallia",
|
||
"useGlobalMetricsDesc": "Ohita palvelimen laajuisella mittarivälillä",
|
||
"metricsIntervalS": "Mittariväli (s)",
|
||
"metricsIntervalDesc2": "Sekunteja mittareiden tilannevedosten välillä",
|
||
"visibleWidgets": "Näkyvät widgetit",
|
||
"widgetsMovedToHostMetrics": "Kortteja lisätään, järjestetään ja niiden kokoa muutetaan nyt suoraan Isännän mittarit -välilehdellä. Avaa tämän isännän Isännän mittarit ja valitse näytettävät kortit Mukauta-toiminnolla.",
|
||
"cpuUsageLabel": "Suorittimen käyttö",
|
||
"cpuUsageDesc": "Suorittimen prosenttiosuus, kuormituksen keskiarvot, sparkline-kaavio",
|
||
"memoryLabel": "Muistin käyttö",
|
||
"memoryDesc": "RAM-käyttö, swap-muisti, välimuisti",
|
||
"storageLabel": "Levyn käyttö",
|
||
"storageDesc": "Levyn käyttö liitoskohtaa kohden",
|
||
"networkLabel": "Verkkoliitännät",
|
||
"networkDesc": "Liitäntäluettelo ja kaistanleveys",
|
||
"uptimeLabel": "Käyttöaika",
|
||
"uptimeDesc": "Järjestelmän käyttöaika ja käynnistysaika",
|
||
"systemInfoLabel": "Järjestelmätiedot",
|
||
"systemInfoDesc": "Käyttöjärjestelmä, ydin, isäntänimi, arkkitehtuuri",
|
||
"recentLoginsLabel": "Viimeisimmät kirjautumiset",
|
||
"recentLoginsDesc": "Onnistuneet ja epäonnistuneet kirjautumistapahtumat",
|
||
"topProcessesLabel": "Tärkeimmät prosessit",
|
||
"topProcessesDesc": "PID, CPU%, MEM%, komento",
|
||
"listeningPortsLabel": "Kuunteluportit",
|
||
"listeningPortsDesc": "Avaa portteja prosessilla ja tilalla",
|
||
"firewallLabel": "Palomuuri",
|
||
"firewallDesc": "Palomuurin, AppArmorin ja SELinuxin tila",
|
||
"quickActionsLabel": "Pikatoiminnot",
|
||
"quickActionsToolbar": "Pikatoiminnot näkyvät painikkeina isäntämetriikkatyökalurivillä komentojen suorittamista varten yhdellä napsautuksella.",
|
||
"noQuickActions": "Ei vielä nopeita toimia.",
|
||
"buttonLabel": "Painikkeen nimi",
|
||
"selectSnippetPlaceholder": "Valitse katkelma...",
|
||
"addActionBtn": "Lisää toiminto",
|
||
"hostSharedSuccessfully": "Isäntä jaettu onnistuneesti",
|
||
"failedToShareHost": "Isännän jakaminen epäonnistui",
|
||
"accessRevoked": "Pääsy peruutettu",
|
||
"failedToRevokeAccess": "Käyttöoikeuden peruuttaminen epäonnistui",
|
||
"cancelBtn": "Peruuttaa",
|
||
"savingBtn": "Tallennetaan...",
|
||
"addHostBtn": "Lisää isäntä",
|
||
"hostUpdated": "Isäntä päivitetty",
|
||
"hostCreated": "Isäntä luotu",
|
||
"failedToSave": "Isännän tallentaminen epäonnistui",
|
||
"credentialUpdated": "Tunnistetiedot päivitetty",
|
||
"credentialCreated": "Tunniste luotu",
|
||
"failedToSaveCredential": "Tunnusten tallentaminen epäonnistui",
|
||
"credentialNameRequired": "Anna tunnisteelle nimi",
|
||
"credentialAuthRequired": "Lisää salasana, SSH-avain tai molemmat",
|
||
"backToHosts": "Takaisin isäntiin",
|
||
"backToCredentials": "Takaisin tunnistetietoihin",
|
||
"pinned": "Kiinnitetty",
|
||
"noHostsFound": "Ei isäntiä",
|
||
"tryDifferentTerm": "Kokeile eri termiä",
|
||
"addFirstHost": "Lisää ensimmäinen isäntäsi aloittaaksesi",
|
||
"noCredentialsFound": "Tunnuksia ei löytynyt",
|
||
"addCredentialBtn": "Lisää tunnistetiedot",
|
||
"updateCredentialBtn": "Päivitä tunnistetiedot",
|
||
"features": "Ominaisuudet",
|
||
"noFolder": "(Ei kansiota)",
|
||
"deleteSelected": "Poistaa",
|
||
"exitSelection": "Poistu valinnasta",
|
||
"importSkip": "Tuo (ohita olemassa oleva)",
|
||
"importOverwrite": "Tuo (korvaa)",
|
||
"collapseBtn": "Romahdus",
|
||
"importExportBtn": "Tuonti / vienti",
|
||
"hostStatusesRefreshed": "Isäntien tilat päivitetty",
|
||
"failedToRefreshHosts": "Isäntien päivittäminen epäonnistui",
|
||
"movedHostTo": "Siirretty {{host}} kohtaan \"{{folder}}\"",
|
||
"failedToMoveHost": "Isännän siirtäminen epäonnistui",
|
||
"folderRenamedTo": "Kansio nimettiin uudelleen muotoon \"{{name}}\"",
|
||
"deletedFolder": "Poistettu kansio \"{{name}}\"",
|
||
"failedToDeleteFolder": "Kansion poistaminen epäonnistui",
|
||
"deleteAllInFolder": "Poistetaanko kaikki isännät kohdassa \"{{name}}\"? Tätä ei voi perua.",
|
||
"folderPickerPlaceholder": "Ei kansiota",
|
||
"folderPickerSearch": "Hae tai luo (käytä /-merkkiä alikansioille)...",
|
||
"folderPickerNone": "Ei kansiota",
|
||
"folderPickerCreate": "Luo \"{{path}}\"",
|
||
"folderPickerEmpty": "Ei vastaavia kansioita",
|
||
"newFolder": "Uusi kansio",
|
||
"createFolderTitle": "Luo kansio",
|
||
"editFolderTitle": "Muokkaa kansiota",
|
||
"folderDialogDescription": "Valitse nimi, väri ja kuvake. Käytä /-merkkiä kansioiden sisäkkäisyyteen.",
|
||
"folderNameLabel": "Kansion nimi",
|
||
"folderNamePlaceholder": "esim. Tuotanto/Verkko",
|
||
"folderNestingHint": "Käytä /-merkkiä tasojen erottamiseen ja sisäkkäisten kansioiden luomiseen.",
|
||
"folderColor": "Väri",
|
||
"folderIcon": "Kuvake",
|
||
"folderPreview": "Esikatselu",
|
||
"folderNameFallback": "Nimetön kansio",
|
||
"createFolderButton": "Luo kansio",
|
||
"saveFolderButton": "Tallenna kansio",
|
||
"cancel": "Peruuttaa",
|
||
"iconSearchPlaceholder": "Hakukuvakkeet...",
|
||
"openAllSessions": "Avaa kaikki istunnot",
|
||
"editFolder": "Muokkaa kansiota",
|
||
"deleteFolder": "Poista kansio",
|
||
"folderSaved": "Kansio tallennettu",
|
||
"failedToSaveFolder": "Kansion tallentaminen epäonnistui",
|
||
"folderDeleted": "Poistettu kansio \"{{name}}\"",
|
||
"deleteFolderConfirm": "Poistetaanko \"{{name}}\" ja sen {{count}} isäntä(t)? Tätä ei voi perua.",
|
||
"failedToMoveHosts": "Isäntien siirtäminen epäonnistui",
|
||
"expandAll": "Laajenna kaikki kansiot",
|
||
"collapseAll": "Pienennä kaikki kansiot",
|
||
"moreActions": "Lisää",
|
||
"groupBy": "Ryhmittele",
|
||
"GroupByFolder": "Kansio",
|
||
"GroupByTag": "Tag",
|
||
"GroupByStatus": "Status",
|
||
"GroupByProtocol": "Protokolla",
|
||
"GroupByAuth": "Valtuutustyyppi",
|
||
"groupUngrouped": "Ryhmittelemätön",
|
||
"deletedHost": "Poistettu {{name}}",
|
||
"copiedToClipboard": "Kopioitu leikepöydälle",
|
||
"terminalUrlCopied": "Päätelaitteen URL-osoite kopioitu",
|
||
"fileManagerUrlCopied": "Tiedostonhallinnan URL-osoite kopioitu",
|
||
"tunnelUrlCopied": "Tunnelin URL-osoite kopioitu",
|
||
"dockerUrlCopied": "Dockerin URL-osoite kopioitu",
|
||
"hostMetricsUrlCopied": "Isäntämittarien URL-osoite kopioitu",
|
||
"tmuxMonitorUrlCopied": "Tmux-monitorin URL-osoite kopioitu",
|
||
"rdpUrlCopied": "RDP-URL-osoite kopioitu",
|
||
"vncUrlCopied": "VNC-URL-osoite kopioitu",
|
||
"telnetUrlCopied": "Telnet-URL-osoite kopioitu",
|
||
"remoteDesktopUrlCopied": "Etätyöpöydän URL-osoite kopioitu",
|
||
"expandActions": "Laajenna toimintoja",
|
||
"collapseActions": "Tiivistä toiminnot",
|
||
"wakeOnLanAction": "Herätys lähiverkossa",
|
||
"wakeOnLanSuccess": "Taikapaketti lähetetty osoitteeseen {{name}}",
|
||
"wakeOnLanError": "Taikapaketin lähettäminen epäonnistui",
|
||
"cloneHostAction": "Klooni-isäntä",
|
||
"copyAddress": "Kopioi osoite",
|
||
"copyLink": "Kopioi linkki",
|
||
"copyTerminalUrlAction": "Kopioi terminaalin URL-osoite",
|
||
"copyFileManagerUrlAction": "Kopioi tiedostonhallinnan URL-osoite",
|
||
"copyTunnelUrlAction": "Kopioi tunnelin URL-osoite",
|
||
"copyDockerUrlAction": "Kopioi Dockerin URL-osoite",
|
||
"copyHostMetricsUrlAction": "Kopioi isäntätietojen URL-osoite",
|
||
"copyTmuxMonitorUrlAction": "Kopioi Tmux-monitorin URL-osoite",
|
||
"copyRdpUrlAction": "Kopioi RDP-URL-osoite",
|
||
"copyVncUrlAction": "Kopioi VNC-URL-osoite",
|
||
"copyTelnetUrlAction": "Kopioi Telnet-URL-osoite",
|
||
"copyRemoteDesktopUrlAction": "Kopioi etätyöpöydän URL-osoite",
|
||
"deleteCredentialConfirm": "Poistetaanko tunnistetiedot \"{{name}}\"?",
|
||
"deletedCredential": "Poistettu {{name}}",
|
||
"deploySSHKeyTitle": "Ota SSH-avain käyttöön",
|
||
"deployingBtn": "Käyttöönotto...",
|
||
"deployBtn": "Ota käyttöön",
|
||
"failedToDeployKey": "Avaimen käyttöönotto epäonnistui",
|
||
"deleteHostsConfirm": "Poistetaanko {{count}} isäntä{{plural}}? Tätä ei voi perua.",
|
||
"movedToRoot": "Siirretty pääkäyttäjäksi",
|
||
"enableTerminalFeature": "Ota terminaali käyttöön",
|
||
"disableTerminalFeature": "Poista käytöstä terminaali",
|
||
"enableFilesFeature": "Ota tiedostot käyttöön",
|
||
"disableFilesFeature": "Poista tiedostot käytöstä",
|
||
"enableTunnelsFeature": "Ota tunnelit käyttöön",
|
||
"disableTunnelsFeature": "Tunnelien poistaminen käytöstä",
|
||
"enableDockerFeature": "Ota Docker käyttöön",
|
||
"disableDockerFeature": "Poista Docker käytöstä",
|
||
"enableProxmoxFeature": "Ota Proxmox käyttöön",
|
||
"disableProxmoxFeature": "Poista Proxmox käytöstä",
|
||
"addTagsPlaceholder": "Lisää tunnisteita...",
|
||
"authDetails": "Todennustiedot",
|
||
"credType": "Tyyppi",
|
||
"generateKeyPairDesc": "Luo uusi avainpari, sekä yksityiset että julkiset avaimet täytetään automaattisesti.",
|
||
"generatingKey": "Luodaan...",
|
||
"generateLabel": "Luo {{label}}",
|
||
"uploadFileBtn": "Lähetä tiedosto",
|
||
"keyPassphraseOptional": "Avaimen salasana (valinnainen)",
|
||
"sshPublicKeyOptional": "SSH-julkinen avain (valinnainen)",
|
||
"publicKeyGenerated": "Julkinen avain luotu",
|
||
"failedToGeneratePublicKey": "Julkisen avaimen johtaminen epäonnistui",
|
||
"publicKeyCopied": "Julkinen avain kopioitu",
|
||
"keyPairGenerated": "{{label}} avainpari luotu",
|
||
"failedToGenerateKeyPair": "Avainparin luominen epäonnistui",
|
||
"searchHostsPlaceholder": "Hae isäntiä, osoitteita, tunnisteita…",
|
||
"searchCredentialsPlaceholder": "Hakutunnisteet…",
|
||
"refreshBtn": "Päivitä",
|
||
"addTag": "Lisää tunnisteita...",
|
||
"deleteConfirmBtn": "Poistaa",
|
||
"tunnelRequirementsText": "SSH-palvelimella on oltava GatewayPorts-, AllowTcpForwarding- ja PermitRootLogin-arvot asetettuina tiedostossa /etc/ssh/sshd_config.",
|
||
"deleteHostConfirm": "Poistetaanko \"{{name}}\"?",
|
||
"enableAtLeastOneProtocol": "Ota käyttöön vähintään yksi yllä olevista protokolla todennus- ja yhteysasetusten määrittämiseksi.",
|
||
"keyPassphrase": "Avaimen salasana",
|
||
"connectBtn": "Yhdistä",
|
||
"disconnectBtn": "Katkaise yhteys",
|
||
"basicInformation": "Perustiedot",
|
||
"authDetailsSection": "Todennustiedot",
|
||
"credTypeLabel": "Tyyppi",
|
||
"hostsTab": "Isännät",
|
||
"credentialsTab": "Valtakirjat",
|
||
"selectMultiple": "Valitse useita",
|
||
"selectHosts": "Valitse isännät",
|
||
"connectionLabel": "Yhteys",
|
||
"authenticationLabel": "Todennus",
|
||
"generateKeyPairTitle": "Luo avainpari",
|
||
"generateKeyPairDescription": "Luo uusi avainpari, sekä yksityiset että julkiset avaimet täytetään automaattisesti.",
|
||
"generateFromPrivateKey": "Luo yksityisestä avaimesta",
|
||
"refreshBtn2": "Päivitä",
|
||
"exitSelectionTitle": "Poistu valinnasta",
|
||
"exportAll": "Vie kaikki",
|
||
"exportForSharing": "Vie jakamista varten",
|
||
"addHostBtn2": "Lisää isäntä",
|
||
"addCredentialBtn2": "Lisää tunnistetiedot",
|
||
"checkingHostStatuses": "Tarkistetaan isännän tiloja...",
|
||
"pinnedSection": "Kiinnitetty",
|
||
"hostsExported": "Isännät vietiin onnistuneesti",
|
||
"hostsShareExported": "Jaettavien isäntien vienti onnistui",
|
||
"exportFailed": "Isäntien vienti epäonnistui",
|
||
"sampleDownloaded": "Näytetiedosto ladattu",
|
||
"failedToDeleteCredential2": "Tunnuksen poistaminen epäonnistui",
|
||
"noFolderOption": "(Ei kansiota)",
|
||
"nSelected": "{{count}} valittu",
|
||
"featuresMenu": "Ominaisuudet",
|
||
"moveMenu": "Liikkua",
|
||
"connectSelected": "Yhdistä",
|
||
"cancelSelection": "Peruuttaa",
|
||
"deployDialogDesc": "Ota käyttöön {{name}} isännän authorized_keys -avaimiin.",
|
||
"targetHostLabel": "Kohdeisäntä",
|
||
"selectHostOption": "Valitse isäntä...",
|
||
"keyDeployedSuccess": "Avain otettu käyttöön onnistuneesti",
|
||
"failedToDeployKey2": "Avaimen käyttöönotto epäonnistui",
|
||
"deletedCount": "Poistetut {{count}} isäntää",
|
||
"failedToDeleteCount": "{{count}} isännän poistaminen epäonnistui",
|
||
"duplicatedHost": "Kopioitu \"{{name}}\"",
|
||
"failedToDuplicateHost": "Isännän kopiointi epäonnistui",
|
||
"updatedCount": "Päivitetyt {{count}} isännät",
|
||
"friendlyNameLabel": "Ystävällinen nimi",
|
||
"descriptionLabel": "Kuvaus",
|
||
"loadingHost": "Ladataan isäntää...",
|
||
"loadingHosts": "Ladataan isäntiä...",
|
||
"loadingCredentials": "Tunnistetietoja ladataan...",
|
||
"noHostsYet": "Ei vielä isäntiä",
|
||
"noHostsMatchSearch": "Hakuasi vastaavia isäntiä ei löytynyt",
|
||
"hostNotFound": "Isäntää ei löydy",
|
||
"searchHosts": "Hae isäntiä...",
|
||
"sortHosts": "Lajittele isännät",
|
||
"sortDefault": "Oletusjärjestys",
|
||
"sortNameAsc": "Nimi (A → Ö)",
|
||
"sortNameDesc": "Nimi (Ö → A)",
|
||
"sortIpAsc": "IP-osoite (nouseva)",
|
||
"sortIpDesc": "IP-osoite (kuvaus)",
|
||
"sortOnlineFirst": "Verkossa ensin",
|
||
"sortOfflineFirst": "Offline First",
|
||
"sortPinnedFirst": "Kiinnitetty ensin",
|
||
"filterHosts": "Suodata isännät",
|
||
"filterClearAll": "Tyhjennä suodattimet",
|
||
"filterStatusGroup": "Status",
|
||
"filterOnline": "Verkossa",
|
||
"filterOffline": "Offline-tilassa",
|
||
"filterPinned": "Kiinnitetty",
|
||
"filterAuthGroup": "Valtuutustyyppi",
|
||
"filterAuthPassword": "Salasana",
|
||
"filterAuthKey": "SSH-avain",
|
||
"filterAuthCredential": "Valtakirja",
|
||
"filterAuthNone": "Ei mitään",
|
||
"filterAuthOpkssh": "OPKSSH",
|
||
"filterProtocolGroup": "Protokolla",
|
||
"filterProtocolSsh": "SSH",
|
||
"filterProtocolRdp": "Maaseudun kehittämisohjelma",
|
||
"filterProtocolVnc": "VNC",
|
||
"filterProtocolTelnet": "Telnet",
|
||
"filterFeaturesGroup": "Ominaisuudet",
|
||
"filterFeatureTerminal": "Terminaali",
|
||
"filterFeatureFileManager": "Tiedostonhallinta",
|
||
"filterFeatureTunnel": "Tunneli",
|
||
"filterFeatureDocker": "Satamatyöläinen",
|
||
"filterTagsGroup": "Tunnisteet",
|
||
"shareHost": "Jaa isäntä",
|
||
"shareHostTitle": "Jaa: {{name}}",
|
||
"sharing": {
|
||
"loadError": "Jakamistietojen lataaminen epäonnistui. Yritä uudelleen.",
|
||
"shareWithSection": "Jaa kanssa",
|
||
"usersTab": "Käyttäjät",
|
||
"rolesTab": "Roolit",
|
||
"searchPlaceholder": "Hae käyttäjiä tai rooleja...",
|
||
"noMatches": "Ei osumia",
|
||
"permissionLevelLabel": "Käyttöoikeustaso",
|
||
"levels": {
|
||
"connect": {
|
||
"label": "Yhdistä",
|
||
"description": "Vain avoimet istunnot: pääte, etätyöpöytä, tiedostonhallinta, tunnelit ja Docker. Ei pääsyä isäntäkokoonpanoon."
|
||
},
|
||
"view": {
|
||
"label": "Näytä",
|
||
"description": "Yhdistä ja katso isäntäkokoonpano. Salaisuuksia ei koskaan näytetä."
|
||
},
|
||
"edit": {
|
||
"label": "Muokata",
|
||
"description": "Näytä ja muokkaa isäntää. Salaisuuksia voidaan korvata, mutta niitä ei voida koskaan lukea; tunnistetietojen määritykset pysyvät vain omistajalla."
|
||
},
|
||
"manage": {
|
||
"label": "Hallitse",
|
||
"description": "Muokkaa ja jaa isäntä muiden kanssa, muuta käyttöoikeustasoja ja peruuta käyttöoikeuksia."
|
||
}
|
||
},
|
||
"expiryLabel": "Käyttöoikeuden päättyminen",
|
||
"expiry": {
|
||
"never": "Ei koskaan",
|
||
"oneHour": "1 tunti",
|
||
"oneDay": "24 tuntia",
|
||
"sevenDays": "7 päivää",
|
||
"thirtyDays": "30 päivää",
|
||
"custom": "Mukautettu"
|
||
},
|
||
"customHoursPlaceholder": "Tuntia käyttöoikeuden vanhenemiseen",
|
||
"shareButton": "Jakaa",
|
||
"shareWithCount": "Jaa ({{count}})",
|
||
"currentAccess": "Nykyinen käyttöoikeus",
|
||
"noAccessEntries": "Tätä isäntää ei ole vielä jaettu",
|
||
"grantedBy": "Myöntänyt",
|
||
"expires": "Vanhenee",
|
||
"expired": "Vanhentunut",
|
||
"never": "Ei koskaan",
|
||
"revoke": "Peruuttaa",
|
||
"accessUpdated": "Käyttöoikeus päivitetty",
|
||
"accessUpdateFailed": "Käyttöoikeuksien päivittäminen epäonnistui",
|
||
"sharedBadge": "Jaettu",
|
||
"sharedBadgeTooltip": "Jaettu käyttäjän {{owner}} toimesta ({{level}} pääsy)",
|
||
"viewOnlyBanner": "{{owner}} jakaa tämän isännän kanssasi ja hänellä on katseluoikeudet. Määritykset ovat vain luku -tilassa.",
|
||
"sharedEditBanner": "{{owner}} jakaa tämän isännän kanssasi muokkausoikeuksin. Muutokset koskevat varsinaista isäntää; vain omistaja voi muuttaa todennusviitteitä.",
|
||
"ownerOnlyControl": "Vain isännän omistaja voi muuttaa tätä"
|
||
},
|
||
"guac": {
|
||
"connection": "Yhteys",
|
||
"authentication": "Todennus",
|
||
"storedCredential": "Tallennetut tunnistetiedot",
|
||
"noCredential": "Ei tunnistetietoja (suorat tunnistetiedot alla)",
|
||
"authMethod": "Todennustapa",
|
||
"authTypeDirect": "Suoraan",
|
||
"authTypeCredential": "Valtakirja",
|
||
"selectCredential": "Valitse tunnistetiedot...",
|
||
"connectionSettings": "Yhteysasetukset",
|
||
"displaySettings": "Näyttöasetukset",
|
||
"audioSettings": "Ääniasetukset",
|
||
"rdpPerformance": "RDP-suorituskyky",
|
||
"deviceRedirection": "Laitteen uudelleenohjaus",
|
||
"session": "Istunto",
|
||
"gateway": "Yhdyskäytävä",
|
||
"remoteApp": "Etäsovellus",
|
||
"clipboard": "Leikepöytä",
|
||
"sessionRecording": "Istunnon tallennus",
|
||
"wakeOnLan": "Wake-on-LAN",
|
||
"vncSettings": "VNC-asetukset",
|
||
"terminalSettings": "Pääteasetukset",
|
||
"rdpPort": "RDP-portti",
|
||
"username": "Käyttäjätunnus",
|
||
"password": "Salasana",
|
||
"domain": "Verkkotunnus",
|
||
"securityMode": "Suojaustila",
|
||
"colorDepth": "Värisyvyys",
|
||
"width": "Leveys",
|
||
"height": "Korkeus",
|
||
"dpi": "DPI",
|
||
"resizeMethod": "Koon muuttamismenetelmä",
|
||
"clientName": "Asiakkaan nimi",
|
||
"initialProgram": "Alkuperäinen ohjelma",
|
||
"serverLayout": "Palvelimen asettelu",
|
||
"timezone": "Aikavyöhyke",
|
||
"loadBalanceInfo": "Kuormituksen tasapainotustiedot / eväste",
|
||
"loadBalanceInfoDesc": "RD Connection Broker -eväste RDS-farmin kuormituksen tasapainottamista varten (esim. tsv://MS Terminal Services Plugin.1.CollectionName)",
|
||
"guacdProxy": "guacd-välityspalvelin",
|
||
"guacdHostname": "guacd-isäntä",
|
||
"guacdHostnamePlaceholder": "Globaali oletusarvo",
|
||
"guacdPort": "guacdin satama",
|
||
"guacdProxyDesc": "Ohita tämän yhteyden globaali guacd-instanssi. Jätä tyhjäksi käyttääksesi globaalisti määritettyä guacd-instanssia.",
|
||
"gatewayHostname": "Yhdyskäytävän isäntänimi",
|
||
"gatewayPort": "Yhdyskäytäväportti",
|
||
"gatewayUsername": "Yhdyskäytävän käyttäjätunnus",
|
||
"gatewayPassword": "Yhdyskäytävän salasana",
|
||
"gatewayDomain": "Yhdyskäytävän verkkotunnus",
|
||
"remoteAppProgram": "RemoteApp-ohjelma",
|
||
"workingDirectory": "Työhakemisto",
|
||
"arguments": "Argumentit",
|
||
"normalizeLineEndings": "Normalisoi rivinpäätteet",
|
||
"recordingPath": "Tallennuspolku",
|
||
"recordingName": "Tallenteen nimi",
|
||
"macAddress": "MAC-osoite",
|
||
"broadcastAddress": "Lähetysosoite",
|
||
"udpPort": "UDP-portti",
|
||
"waitTimeS": "Odotusaika (s)",
|
||
"driveName": "Aseman nimi",
|
||
"drivePath": "Ajopolku",
|
||
"ignoreCertificate": "Ohita varmenne",
|
||
"ignoreCertificateDesc": "Salli yhteydet itse allekirjoitettuja varmenteita käyttäviin isäntiin",
|
||
"forceLossless": "Pakota häviötön",
|
||
"forceLosslessDesc": "Pakota häviötön kuvan koodaus (korkeampi laatu, enemmän kaistanleveyttä)",
|
||
"disableAudio": "Poista ääni käytöstä",
|
||
"disableAudioDesc": "Mykistä kaikki etäistunnon äänet",
|
||
"enableAudioInput": "Ota äänitulo käyttöön (mikrofoni)",
|
||
"enableAudioInputDesc": "Lähetä paikallinen mikrofoni etäistuntoon",
|
||
"wallpaper": "Taustakuva",
|
||
"wallpaperDesc": "Näytä työpöydän taustakuva (poistaminen käytöstä parantaa suorituskykyä)",
|
||
"theming": "Teemat",
|
||
"themingDesc": "Ota käyttöön visuaaliset teemat ja tyylit",
|
||
"fontSmoothing": "Fontin pehmennys",
|
||
"fontSmoothingDesc": "Ota ClearType-fonttien renderöinti käyttöön",
|
||
"fullWindowDrag": "Koko ikkunan vetäminen",
|
||
"fullWindowDragDesc": "Näytä ikkunan sisältö vetämisen aikana",
|
||
"desktopComposition": "Työpöydän sommittelu",
|
||
"desktopCompositionDesc": "Ota Aero Glass -tehosteet käyttöön",
|
||
"menuAnimations": "Valikkoanimaatiot",
|
||
"menuAnimationsDesc": "Ota käyttöön valikoiden häivytys ja dia-animaatiot",
|
||
"disableBitmapCaching": "Poista bittikarttavälimuisti käytöstä",
|
||
"disableBitmapCachingDesc": "Poista bittikarttavälimuisti käytöstä (saattaa auttaa häiriöiden kanssa)",
|
||
"disableOffscreenCaching": "Poista käytöstä näytön ulkopuolinen välimuisti",
|
||
"disableOffscreenCachingDesc": "Poista käytöstä näytön ulkopuolinen välimuisti",
|
||
"disableGlyphCaching": "Poista käytöstä glyfien välimuisti",
|
||
"disableGlyphCachingDesc": "Poista merkkijonojen välimuisti käytöstä",
|
||
"enableGfx": "Ota käyttöön näytönsäästäjä",
|
||
"enableGfxDesc": "Käytä RemoteFX-grafiikkaputkea",
|
||
"enablePrinting": "Ota tulostus käyttöön",
|
||
"enablePrintingDesc": "Ohjaa paikalliset tulostimet etäistuntoon",
|
||
"enableDriveRedirection": "Ota aseman uudelleenohjaus käyttöön",
|
||
"enableDriveRedirectionDesc": "Yhdistä paikallinen kansio asemaksi etäistunnossa",
|
||
"createDrivePath": "Luo ajopolku",
|
||
"createDrivePathDesc": "Luo kansio automaattisesti, jos sitä ei ole olemassa",
|
||
"disableDownload": "Poista lataus käytöstä",
|
||
"disableDownloadDesc": "Estä tiedostojen lataaminen etäistunnosta",
|
||
"disableUpload": "Poista lähetys käytöstä",
|
||
"disableUploadDesc": "Estä tiedostojen lataaminen etäistuntoon",
|
||
"enableTouch": "Ota kosketus käyttöön",
|
||
"enableTouchDesc": "Ota kosketussyötteen edelleenlähetys käyttöön",
|
||
"consoleSession": "Konsoli-istunto",
|
||
"consoleSessionDesc": "Yhdistä konsoliin (istunto 0) uuden istunnon sijaan",
|
||
"sendWolPacket": "Lähetä WOL-paketti",
|
||
"sendWolPacketDesc": "Lähetä taikapaketti herättääksesi tämän isännän ennen yhteyden muodostamista",
|
||
"disableCopy": "Poista kopiointi käytöstä",
|
||
"disableCopyDesc": "Estä tekstin kopioiminen etäistunnosta",
|
||
"disablePaste": "Poista liittäminen käytöstä",
|
||
"disablePasteDesc": "Estä tekstin liittäminen etäistuntoon",
|
||
"createPathIfMissing": "Luo polku, jos se puuttuu",
|
||
"createPathIfMissingDesc": "Luo tallennushakemisto automaattisesti",
|
||
"excludeOutput": "Sulje pois tuloste",
|
||
"excludeOutputDesc": "Älä tallenna näytön tulostetta (vain metatiedot)",
|
||
"excludeMouse": "Sulje hiiri pois",
|
||
"excludeMouseDesc": "Älä tallenna hiiren liikkeitä",
|
||
"includeKeystrokes": "Sisällytä näppäinpainallukset",
|
||
"includeKeystrokesDesc": "Tallenna raakat näppäinpainallukset näytön tulosteen lisäksi",
|
||
"vncPort": "VNC-portti",
|
||
"vncPassword": "VNC-salasana",
|
||
"vncUsernameOptional": "Käyttäjätunnus (valinnainen)",
|
||
"vncLeaveBlank": "Jätä tyhjäksi, jos ei pakollinen",
|
||
"cursorMode": "Kohdistimen tila",
|
||
"swapRedBlue": "Vaihda punainen/sininen",
|
||
"swapRedBlueDesc": "Vaihda punaisen ja sinisen värikanavan paikkaa (korjaa joitakin väriongelmia)",
|
||
"readOnly": "Vain lukuoikeus",
|
||
"readOnlyDesc": "Katso etänäyttöä lähettämättä mitään syötettä",
|
||
"telnetPort": "Telnet-portti",
|
||
"terminalType": "Liittimen tyyppi",
|
||
"fontName": "Fontin nimi",
|
||
"fontSize": "Fonttikoko",
|
||
"colorScheme": "Värimaailma",
|
||
"backspaceKey": "Askelpalautin-näppäin",
|
||
"saveHostFirst": "Tallenna ensin isäntä.",
|
||
"sharingOptionsAfterSave": "Jakamisvaihtoehdot ovat käytettävissä isännän tallentamisen jälkeen.",
|
||
"permissionLevel": "Käyttöoikeustaso",
|
||
"typeHeader": "Tyyppi",
|
||
"targetHeader": "Kohde",
|
||
"permissionHeader": "Lupa",
|
||
"cancelBtn": "Peruuttaa",
|
||
"savingBtn": "Tallennetaan...",
|
||
"updateHostBtn": "Päivitä isäntä",
|
||
"addHostBtn": "Lisää isäntä"
|
||
}
|
||
},
|
||
"commandPalette": {
|
||
"searchPlaceholder": "Hae isäntiä, komentoja tai asetuksia...",
|
||
"quickActions": "Pikatoiminnot",
|
||
"hostManager": "Isäntäpäällikkö",
|
||
"hostManagerDesc": "Hallitse, lisää tai muokkaa isäntiä",
|
||
"addNewHost": "Lisää uusi isäntä",
|
||
"addNewHostDesc": "Rekisteröi uusi isäntä",
|
||
"adminSettings": "Järjestelmänvalvojan asetukset",
|
||
"adminSettingsDesc": "Järjestelmäasetusten ja käyttäjien määrittäminen",
|
||
"userProfile": "Käyttäjäprofiili",
|
||
"userProfileDesc": "Hallinnoi tiliäsi ja asetuksiasi",
|
||
"addCredential": "Lisää tunnistetiedot",
|
||
"addCredentialDesc": "SSH-avainten tai salasanojen tallentaminen",
|
||
"tmuxMonitor": "Tmux-näyttö",
|
||
"tmuxMonitorDesc": "Valvo tmux-istuntoja eri isännilläsi",
|
||
"recentActivity": "Viimeaikaiset toiminnot",
|
||
"serversAndHosts": "Palvelimet ja isännät",
|
||
"noHostsFound": "Ei löytynyt isäntiä, jotka vastaavat \"{{search}}\"",
|
||
"links": "Linkit",
|
||
"navigate": "Navigoida",
|
||
"select": "Valitse",
|
||
"toggleWith": "Vaihda"
|
||
},
|
||
"splitScreen": {
|
||
"paneEmpty": "Ruutu {{index}} - tyhjä",
|
||
"noTabAssigned": "Ei välilehteä määritettynä",
|
||
"focusedPane": "Aktiivinen ruutu"
|
||
},
|
||
"connections": {
|
||
"noConnections": "Ei yhteyksiä",
|
||
"noConnectionsDesc": "Avaa pääte, tiedostonhallinta tai etätyöpöytä nähdäksesi yhteydet täällä",
|
||
"connectedFor": "Yhdistetty kohteeseen {{duration}}",
|
||
"connected": "Yhdistetty",
|
||
"disconnected": "Yhteys katkennut",
|
||
"closeTab": "Sulje välilehti",
|
||
"closeConnection": "Sulje yhteys",
|
||
"forgetTab": "Unohtaa",
|
||
"removeBackground": "Poistaa",
|
||
"reconnect": "Yhdistä uudelleen",
|
||
"reopenTab": "Avaa uudelleen",
|
||
"sectionOpen": "Avata",
|
||
"sectionBackground": "Tausta",
|
||
"backgroundDesc": "Istunto jatkuu 30 minuuttia yhteyden katkaisemisen jälkeen, ja se voidaan yhdistää uudelleen.",
|
||
"persisted": "Jatkui taustalla",
|
||
"expiresIn": "Vanhenee {{duration}} kuluttua",
|
||
"search": "Hae yhteyksiä...",
|
||
"noSearchResults": "Ei hakuasi vastaavia yhteyksiä",
|
||
"rename": "Nimeä istunto uudelleen"
|
||
},
|
||
"guacamole": {
|
||
"connecting": "Yhdistetään {{type}} -istuntoon...",
|
||
"connectionError": "Yhteysvirhe",
|
||
"connectionFailed": "Yhteys epäonnistui",
|
||
"failedToConnect": "Yhteystunnuksen hakeminen epäonnistui",
|
||
"hostNotFound": "Isäntää ei löydy",
|
||
"noHostSelected": "Ei valittua isäntää",
|
||
"reconnect": "Yhdistä uudelleen",
|
||
"retry": "Yritä uudelleen",
|
||
"guacdUnavailable": "Etätyöpöytäpalvelu (guacd) ei ole käytettävissä. Varmista, että guacd on käynnissä, käytettävissä ja määritetty oikein järjestelmänvalvojan asetuksissa.",
|
||
"ctrlAltDel": "Ctrl+Alt+Del",
|
||
"toolbar": {
|
||
"ctrlAltDel": "Ctrl+Alt+Del",
|
||
"winL": "Win+L (Lukitusnäyttö)",
|
||
"winKey": "Windows-näppäin",
|
||
"ctrl": "Ctrl",
|
||
"alt": "Vaihtoehto",
|
||
"shift": "Siirtää",
|
||
"win": "Voittaa",
|
||
"stickyActive": "{{key}} (lukittu - napsauta vapauttaaksesi)",
|
||
"stickyInactive": "{{key}} (napsauta lukitaksesi)",
|
||
"esc": "Paeta",
|
||
"tab": "Välilehti",
|
||
"home": "Kotiin",
|
||
"end": "Loppu",
|
||
"pageUp": "Sivu ylös",
|
||
"pageDown": "Sivu alas",
|
||
"arrowUp": "Nuoli ylös",
|
||
"arrowDown": "Nuoli alas",
|
||
"arrowLeft": "Nuoli vasemmalle",
|
||
"arrowRight": "Nuoli oikealle",
|
||
"fnToggle": "Toimintonäppäimet",
|
||
"reconnect": "Yhdistä istunto uudelleen",
|
||
"collapse": "Pienennä työkalupalkki",
|
||
"expand": "Laajenna työkalupalkkia",
|
||
"dragHandle": "Vedä siirtääksesi"
|
||
}
|
||
},
|
||
"terminal": {
|
||
"connect": "Yhdistä isäntään",
|
||
"clear": "Tyhjennä",
|
||
"paste": "Liitä",
|
||
"reconnect": "Yhdistä uudelleen",
|
||
"connectionLost": "Yhteys katkesi",
|
||
"connected": "Yhdistetty",
|
||
"clipboardWriteFailed": "Kopiointi leikepöydälle epäonnistui. Varmista, että sivua käytetään HTTPS:n tai paikallisen isännän kautta.",
|
||
"clipboardReadFailed": "Leikepöydän lukeminen epäonnistui. Varmista, että leikepöydän käyttöoikeudet on myönnetty.",
|
||
"clipboardHttpWarning": "Liittäminen vaatii HTTPS:n. Käytä Ctrl+Shift+V tai käytä Termixiä HTTPS:n kautta.",
|
||
"passwordPromptFillTitle": "Täytä tallennettu salasana tähän kehotteeseen?",
|
||
"unknownError": "Tuntematon virhe tapahtui",
|
||
"websocketError": "WebSocket-yhteysvirhe",
|
||
"connecting": "Yhdistetään...",
|
||
"noHostSelected": "Ei valittua isäntää",
|
||
"reconnecting": "Yhdistetään uudelleen... ({{attempt}}/{{max}})",
|
||
"reconnected": "Yhdistäminen uudelleen onnistui",
|
||
"tmuxSessionCreated": "tmux-istunto luotu: {{name}}",
|
||
"tmuxSessionAttached": "tmux-istunto liitetty: {{name}}",
|
||
"tmuxUnavailable": "tmuxia ei ole asennettu etäkoneeseen, vaan käytetään vakiokuorta.",
|
||
"tmuxSessionPickerTitle": "tmux-istunnot",
|
||
"tmuxSessionPickerDesc": "Tältä isännältä löytyi olemassa olevia tmux-istuntoja. Valitse yksi liittääksesi sen uudelleen tai luodaksesi uuden istunnon.",
|
||
"tmuxWindows": "Ikkunat",
|
||
"tmuxWindowCount": "{{count}} ikkuna",
|
||
"tmuxAttached": "Liitetyt asiakkaat",
|
||
"tmuxAttachedCount": "{{count}} liitteenä",
|
||
"tmuxLastActivity": "Viimeisin aktiviteetti",
|
||
"tmuxTimeJustNow": "juuri nyt",
|
||
"tmuxTimeMinutes": "{{count}}minuuttia sitten",
|
||
"tmuxTimeHours": "{{count}}tuntia sitten",
|
||
"tmuxTimeDays": "{{count}}d sitten",
|
||
"tmuxCreateNew": "Aloita uusi istunto",
|
||
"tmuxCopyHint": "Säädä valintaa ja kopioi leikepöydälle painamalla Enter",
|
||
"tmuxDetach": "Irrota tmux-istunnosta",
|
||
"tmuxDetached": "Irrotettu tmux-istunnosta",
|
||
"maxReconnectAttemptsReached": "Yhteyden muodostamisen uudelleenyritysten enimmäismäärä saavutettu",
|
||
"closeTab": "Lähellä",
|
||
"connectionTimeout": "Yhteyden aikakatkaisu",
|
||
"terminalTitle": "Pääte - {{host}}",
|
||
"terminalWithPath": "Pääte - {{host}}:{{path}}",
|
||
"runTitle": "Juoksemassa {{command}} - {{host}}",
|
||
"totpRequired": "Kaksivaiheinen todennus vaaditaan",
|
||
"totpCodeLabel": "Vahvistuskoodi",
|
||
"totpVerify": "Vahvista",
|
||
"warpgateAuthRequired": "Warpgate-todennus vaaditaan",
|
||
"warpgateSecurityKey": "Suojausavain",
|
||
"warpgateAuthUrl": "Todennus-URL-osoite",
|
||
"warpgateOpenBrowser": "Avaa selaimessa",
|
||
"warpgateContinue": "Olen suorittanut todennuksen",
|
||
"opksshAuthRequired": "OPKSSH-todennus vaaditaan",
|
||
"opksshAuthDescription": "Suorita todennus selaimessasi jatkaaksesi. Tämä istunto on voimassa 24 tuntia.",
|
||
"opksshOpenBrowser": "Avaa selain todennusta varten",
|
||
"opksshWaitingForAuth": "Odotetaan selaimen todennusta...",
|
||
"opksshAuthenticating": "Todennusta käsitellään...",
|
||
"opksshTimeout": "Todennus aikakatkaistiin. Yritä uudelleen.",
|
||
"opksshAuthFailed": "Todennus epäonnistui. Tarkista tunnistetietosi ja yritä uudelleen.",
|
||
"opksshSignInWith": "Kirjaudu sisään tunnuksella {{provider}}",
|
||
"vaultAuthTitle": "Holviin kirjautuminen vaaditaan",
|
||
"vaultAuthDescription": "Ikkuna HashiCorp-holviin kirjautumista varten on avautunut. Kirjaudu sisään siinä. Yhteys jatkuu automaattisesti.",
|
||
"vaultAuthFailed": "Holvin todennus epäonnistui. Yritä uudelleen.",
|
||
"vaultReopen": "Avaa kirjautumisikkuna uudelleen",
|
||
"sudoPasswordPopupTitle": "Syötä salasana?",
|
||
"linkDialogTitle": "Avaa linkki",
|
||
"linkDialogOpen": "Avata",
|
||
"linkDialogCopy": "Kopioida",
|
||
"websocketAbnormalClose": "Yhteys katkesi odottamatta. Tämä voi johtua käänteisestä välityspalvelimesta tai SSL-määritysongelmasta. Tarkista palvelimen lokit.",
|
||
"connectionLogTitle": "Yhteysloki",
|
||
"connectionLogCopy": "Kopioi lokit leikepöydälle",
|
||
"connectionLogEmpty": "Ei vielä yhteyslokeja",
|
||
"connectionLogWaiting": "Yhteyslokeja odotetaan...",
|
||
"connectionLogCopied": "Yhteyslokit kopioitu leikepöydälle",
|
||
"connectionLogCopyFailed": "Lokien kopiointi leikepöydälle epäonnistui",
|
||
"connectionRejected": "Palvelin hylkäsi yhteyden. Tarkista todennus ja verkkoasetukset.",
|
||
"hostKeyRejected": "SSH-isännän avaimen vahvistus hylättiin. Yhteys katkaistu.",
|
||
"sessionTakenOver": "Istunto avattiin toisella välilehdellä. Yhdistetään uudelleen...",
|
||
"split": {
|
||
"splitTab": "Jaettu välilehti",
|
||
"addToSplit": "Lisää Splitiin",
|
||
"removeFromSplit": "Poista jaosta"
|
||
}
|
||
},
|
||
"fileManager": {
|
||
"noHostSelected": "Ei valittua isäntää",
|
||
"initializingEditor": "Editorin alustaminen...",
|
||
"file": "Tiedosto",
|
||
"folder": "Kansio",
|
||
"uploadFile": "Lähetä tiedosto",
|
||
"downloadFile": "Lataa",
|
||
"extractArchive": "Pura arkisto",
|
||
"extractingArchive": "Puretaan {{name}}...",
|
||
"archiveExtractedSuccessfully": "{{name}} uutettu onnistuneesti",
|
||
"extractFailed": "Poiminta epäonnistui",
|
||
"compressFile": "Pakkaa tiedosto",
|
||
"compressFiles": "Pakkaa tiedostot",
|
||
"compressFilesDesc": "Pakkaa {{count}} kohdetta arkistoon",
|
||
"archiveName": "Arkiston nimi",
|
||
"enterArchiveName": "Anna arkiston nimi...",
|
||
"compressionFormat": "Pakkausmuoto",
|
||
"selectedFiles": "Valitut tiedostot",
|
||
"andMoreFiles": "ja {{count}} lisää...",
|
||
"compress": "Pakkaa",
|
||
"compressingFiles": "Pakkaamalla {{count}} alkiota {{name}}...",
|
||
"filesCompressedSuccessfully": "{{name}} luotu onnistuneesti",
|
||
"compressFailed": "Pakkaus epäonnistui",
|
||
"edit": "Muokata",
|
||
"preview": "Esikatselu",
|
||
"previous": "Edellinen",
|
||
"next": "Seuraava",
|
||
"pageXOfY": "Sivu {{current}} / {{total}}",
|
||
"zoomOut": "Loitonna",
|
||
"zoomIn": "Lähennä",
|
||
"newFile": "Uusi tiedosto",
|
||
"newFolder": "Uusi kansio",
|
||
"rename": "Nimeä uudelleen",
|
||
"uploading": "Ladataan...",
|
||
"uploadingFile": "Ladataan {{name}}...",
|
||
"fileName": "Tiedoston nimi",
|
||
"folderName": "Kansion nimi",
|
||
"fileUploadedSuccessfully": "Tiedosto \"{{name}}\" ladattu onnistuneesti",
|
||
"failedToUploadFile": "Tiedoston lataaminen epäonnistui",
|
||
"fileDownloadedSuccessfully": "Tiedosto \"{{name}}\" ladattu onnistuneesti",
|
||
"failedToDownloadFile": "Tiedoston lataaminen epäonnistui",
|
||
"fileCreatedSuccessfully": "Tiedosto \"{{name}}\" luotu onnistuneesti",
|
||
"folderCreatedSuccessfully": "Kansio \"{{name}}\" luotu onnistuneesti",
|
||
"failedToCreateItem": "Kohteen luominen epäonnistui",
|
||
"operationFailed": "{{operation}} toiminto epäonnistui kohteelle {{name}}: {{error}}",
|
||
"failedToResolveSymlink": "Symlinkin ratkaiseminen epäonnistui",
|
||
"itemsDeletedSuccessfully": "{{count}} kohdetta poistettu onnistuneesti",
|
||
"failedToDeleteItems": "Kohteiden poistaminen epäonnistui",
|
||
"sudoPasswordRequired": "Järjestelmänvalvojan salasana vaaditaan",
|
||
"enterSudoPassword": "Anna sudo-salasana jatkaaksesi tätä toimintoa",
|
||
"sudoPassword": "Sudo-salasana",
|
||
"sudoOperationFailed": "Sudo-toiminto epäonnistui",
|
||
"sudoAuthFailed": "Sudo-todennus epäonnistui",
|
||
"dragFilesToUpload": "Pudota tiedostot tähän ladataksesi",
|
||
"emptyFolder": "Tämä kansio on tyhjä",
|
||
"searchFiles": "Hae tiedostoja...",
|
||
"upload": "Lataa",
|
||
"selectHostToStart": "Valitse isäntä tiedostonhallinnan aloittamiseksi",
|
||
"sshRequiredForFileManager": "Tiedostonhallinta vaatii SSH:n. Tässä isännässä SSH ei ole käytössä.",
|
||
"failedToConnect": "SSH-yhteyden muodostaminen epäonnistui",
|
||
"failedToLoadDirectory": "Hakemiston lataaminen epäonnistui",
|
||
"noSSHConnection": "SSH-yhteyttä ei ole saatavilla",
|
||
"copy": "Kopioida",
|
||
"cut": "Leikata",
|
||
"paste": "Liitä",
|
||
"copyPath": "Kopioi polku",
|
||
"copyPaths": "Kopioi polut",
|
||
"delete": "Poistaa",
|
||
"properties": "Ominaisuudet",
|
||
"refresh": "Päivitä",
|
||
"downloadFiles": "Lataa {{count}} tiedostoa selaimeen",
|
||
"copyFiles": "Kopioi {{count}} kohdetta",
|
||
"cutFiles": "Leikkaa {{count}} kohdetta",
|
||
"deleteFiles": "Poista {{count}} kohdetta",
|
||
"filesCopiedToClipboard": "{{count}} kohdetta kopioitiin leikepöydälle",
|
||
"filesCutToClipboard": "{{count}} kohdetta leikataan leikepöydälle",
|
||
"pathCopiedToClipboard": "Polku kopioitu leikepöydälle",
|
||
"pathsCopiedToClipboard": "{{count}} polut kopioitu leikepöydälle",
|
||
"failedToCopyPath": "Polun kopioiminen leikepöydälle epäonnistui",
|
||
"copyFolderLink": "Kopioi linkki kansioon",
|
||
"copyCurrentFolderLink": "Kopioi linkki nykyiseen kansioon",
|
||
"folderLinkCopied": "Kansiolinkki kopioitu leikepöydälle",
|
||
"failedToCopyFolderLink": "Kansiolinkin kopiointi epäonnistui",
|
||
"movedItems": "Siirretty {{count}} kohdetta",
|
||
"failedToDeleteItem": "Kohteen poistaminen epäonnistui",
|
||
"itemRenamedSuccessfully": "{{type}} nimettiin uudelleen onnistuneesti",
|
||
"failedToRenameItem": "Kohteen uudelleennimeäminen epäonnistui",
|
||
"download": "Lataa",
|
||
"openExternalEditor": "Avaa ulkopuolelta",
|
||
"chooseExternalEditor": "Valitse ulkoinen editori",
|
||
"externalEditorSelected": "Ulkoinen editori valittu",
|
||
"externalEditorDesktopOnly": "Ulkoinen editori on käytettävissä vain työpöytäsovelluksessa",
|
||
"externalEditorOpened": "Avattu ulkoisessa editorissa. Tallentamalla sinne muutokset latautuvat takaisin palvelimelle.",
|
||
"failedToOpenExternalEditor": "Ulkoisen editorin avaaminen epäonnistui",
|
||
"failedToSelectExternalEditor": "Ulkoisen editorin valinta epäonnistui",
|
||
"permissions": "Käyttöoikeudet",
|
||
"size": "Koko",
|
||
"modified": "Muokattu",
|
||
"path": "Polku",
|
||
"confirmDelete": "Oletko varma, että haluat poistaa {{name}}?",
|
||
"permissionDenied": "Lupa evätty",
|
||
"serverError": "Palvelinvirhe",
|
||
"fileSavedSuccessfully": "Tiedosto tallennettu onnistuneesti",
|
||
"failedToSaveFile": "Tiedoston tallennus epäonnistui",
|
||
"confirmDeleteSingleItem": "Oletko varma, että haluat poistaa pysyvästi \"{{name}}\"?",
|
||
"confirmDeleteMultipleItems": "Oletko varma, että haluat poistaa pysyvästi {{count}} kohdetta?",
|
||
"confirmDeleteMultipleItemsWithFolders": "Haluatko varmasti poistaa pysyvästi {{count}} kohdetta? Tämä koskee myös kansioita ja niiden sisältöä.",
|
||
"confirmDeleteFolder": "Oletko varma, että haluat poistaa pysyvästi kansion \"{{name}}\" ja kaiken sen sisällön?",
|
||
"permanentDeleteWarning": "Tätä toimintoa ei voi perua. Kohde/kohteet poistetaan pysyvästi palvelimelta.",
|
||
"recent": "Viimeaikaiset",
|
||
"pinned": "Kiinnitetty",
|
||
"folderShortcuts": "Kansion pikavalinnat",
|
||
"failedToReconnectSSH": "SSH-istunnon uudelleenyhdistäminen epäonnistui",
|
||
"openTerminalHere": "Avaa terminaali tästä",
|
||
"run": "Juokse",
|
||
"openTerminalInFolder": "Avaa pääte tässä kansiossa",
|
||
"openTerminalInFileLocation": "Avaa pääte tiedoston sijainnissa",
|
||
"runningFile": "Juokseminen - {{file}}",
|
||
"onlyRunExecutableFiles": "Voi suorittaa vain suoritettavia tiedostoja",
|
||
"directories": "Hakemistot",
|
||
"removedFromRecentFiles": "Poistettu \"{{name}}\" viimeisimmistä tiedostoista",
|
||
"removeFailed": "Poisto epäonnistui",
|
||
"unpinnedSuccessfully": "Pinnauksen \"{{name}}\" irrotettu onnistuneesti",
|
||
"unpinFailed": "Irrottaminen epäonnistui",
|
||
"removedShortcut": "Pikakuvake \"{{name}} \" poistettu",
|
||
"removeShortcutFailed": "Pikakuvakkeen poistaminen epäonnistui",
|
||
"clearedAllRecentFiles": "Tyhjensi kaikki viimeisimmät tiedostot",
|
||
"clearFailed": "Tyhjennys epäonnistui",
|
||
"removeFromRecentFiles": "Poista viimeisimmistä tiedostoista",
|
||
"clearAllRecentFiles": "Tyhjennä kaikki viimeisimmät tiedostot",
|
||
"unpinFile": "Irrota tiedosto",
|
||
"removeShortcut": "Poista pikakuvake",
|
||
"pinFile": "Kiinnitä tiedosto",
|
||
"addToShortcuts": "Lisää pikakuvakkeisiin",
|
||
"pasteFailed": "Liittäminen epäonnistui",
|
||
"noUndoableActions": "Ei peruuttamattomia toimintoja",
|
||
"undoCopySuccess": "Kopioinnin peruutus: Poistettu {{count}} kopioitua tiedostoa",
|
||
"undoCopyFailedDelete": "Kumoaminen epäonnistui: Kopioituja tiedostoja ei voitu poistaa",
|
||
"undoCopyFailedNoInfo": "Kumoaminen epäonnistui: Kopioituja tiedostotietoja ei löytynyt",
|
||
"undoMoveSuccess": "Peruttu siirto: Siirsi {{count}} tiedostoa takaisin alkuperäiseen sijaintiinsa",
|
||
"undoMoveFailedMove": "Kumoaminen epäonnistui: Tiedostoja ei voitu siirtää takaisin",
|
||
"undoMoveFailedNoInfo": "Kumoaminen epäonnistui: Siirretyn tiedoston tietoja ei löytynyt",
|
||
"undoDeleteNotSupported": "Poistoa ei voi perua: Tiedostot on poistettu pysyvästi palvelimelta",
|
||
"undoTypeNotSupported": "Ei-tuettu kumoamistoimintotyyppi",
|
||
"undoOperationFailed": "Kumoamistoiminto epäonnistui",
|
||
"unknownError": "Tuntematon virhe",
|
||
"confirm": "Vahvistaa",
|
||
"find": "Löytää...",
|
||
"replace": "Korvata",
|
||
"downloadInstead": "Lataa sen sijaan",
|
||
"keyboardShortcuts": "Pikanäppäimet",
|
||
"searchAndReplace": "Etsi ja korvaa",
|
||
"editing": "Muokkaus",
|
||
"search": "Haku",
|
||
"findNext": "Etsi seuraava",
|
||
"findPrevious": "Etsi edellinen",
|
||
"save": "Tallentaa",
|
||
"selectAll": "Valitse kaikki",
|
||
"undo": "Kumoa",
|
||
"redo": "Tee uudelleen",
|
||
"moveLineUp": "Siirrä riviä ylös",
|
||
"moveLineDown": "Siirrä rivi alas",
|
||
"toggleComment": "Näytä kommentti",
|
||
"autoComplete": "Automaattinen täydennys",
|
||
"imageLoadError": "Kuvan lataaminen epäonnistui",
|
||
"startTyping": "Aloita kirjoittaminen...",
|
||
"unknownSize": "Tuntematon koko",
|
||
"fileIsEmpty": "Tiedosto on tyhjä",
|
||
"largeFileWarning": "Varoitus suuresta tiedostosta",
|
||
"largeFileWarningDesc": "Tiedoston koko on {{size}} , mikä voi aiheuttaa suorituskykyongelmia avattaessa sitä tekstinä.",
|
||
"fileNotFoundAndRemoved": "Tiedostoa \"{{name}}\" ei löytynyt ja se on poistettu viimeksi käytettyjen/kiinnitettyjen tiedostojen joukosta.",
|
||
"failedToLoadFile": "Tiedoston lataus epäonnistui: {{error}}",
|
||
"serverErrorOccurred": "Palvelinvirhe. Yritä myöhemmin uudelleen.",
|
||
"autoSaveFailed": "Automaattinen tallennus epäonnistui",
|
||
"fileAutoSaved": "Tiedosto tallennettu automaattisesti",
|
||
"moveFileFailed": "Siirto epäonnistui {{name}}",
|
||
"moveOperationFailed": "Siirto epäonnistui",
|
||
"canOnlyCompareFiles": "Voi verrata vain kahta tiedostoa",
|
||
"comparingFiles": "Tiedostojen vertailu: {{file1}} ja {{file2}}",
|
||
"dragFailed": "Vetotoiminto epäonnistui",
|
||
"filePinnedSuccessfully": "Tiedosto \"{{name}}\" kiinnitetty onnistuneesti",
|
||
"pinFileFailed": "Tiedoston kiinnittäminen epäonnistui",
|
||
"fileUnpinnedSuccessfully": "Tiedosto \"{{name}}\" irrotettu onnistuneesti",
|
||
"unpinFileFailed": "Tiedoston irrottaminen epäonnistui",
|
||
"shortcutAddedSuccessfully": "Kansion pikakuvake \"{{name}}\" lisätty onnistuneesti",
|
||
"addShortcutFailed": "Pikakuvakkeen lisääminen epäonnistui",
|
||
"operationCompletedSuccessfully": "{{operation}} {{count}} kohteita onnistuneesti",
|
||
"operationCompleted": "{{operation}} {{count}} kohdetta",
|
||
"downloadFileSuccess": "Tiedosto {{name}} ladattu onnistuneesti",
|
||
"downloadFileFailed": "Lataus epäonnistui",
|
||
"moveTo": "Siirrä kohtaan {{name}}",
|
||
"diffCompareWith": "Vertaa eroa kohtaan {{name}}",
|
||
"dragOutsideToDownload": "Vedä ikkunan ulkopuolelle ladataksesi ({{count}} tiedostoa)",
|
||
"newFolderDefault": "Uusi kansio",
|
||
"newFileDefault": "UusiTiedosto.txt",
|
||
"successfullyMovedItems": "{{count}} kohdetta siirretty onnistuneesti kohteeseen {{target}}",
|
||
"move": "Liikkua",
|
||
"searchInFile": "Hae tiedostosta (Ctrl+F)",
|
||
"showKeyboardShortcuts": "Näytä pikanäppäimet",
|
||
"decreaseFontSize": "Pienennä fonttikokoa",
|
||
"increaseFontSize": "Suurenna fonttikokoa",
|
||
"startWritingMarkdown": "Aloita Markdown-sisältösi kirjoittaminen...",
|
||
"loadingFileComparison": "Tiedostojen vertailua ladataan...",
|
||
"reload": "Lataa uudelleen",
|
||
"compare": "Vertaa",
|
||
"sideBySide": "Rinnakkain",
|
||
"inline": "Rivissä",
|
||
"fileComparison": "Tiedostovertailu: {{file1}} vs. {{file2}}",
|
||
"fileTooLarge": "Tiedosto liian suuri: {{error}}",
|
||
"sshConnectionFailed": "SSH-yhteys epäonnistui. Tarkista yhteytesi kohteeseen {{name}} ({{ip}}:{{port}})",
|
||
"loadFileFailed": "Tiedoston lataus epäonnistui: {{error}}",
|
||
"connecting": "Yhdistetään...",
|
||
"connectedSuccessfully": "Yhteys onnistui",
|
||
"totpVerificationFailed": "TOTP-vahvistus epäonnistui",
|
||
"warpgateVerificationFailed": "Warpgate-todennus epäonnistui",
|
||
"authenticationFailed": "Todennus epäonnistui",
|
||
"incorrectPassphrase": "Virheellinen salasana. Yritä uudelleen.",
|
||
"verificationCodePrompt": "Vahvistuskoodi:",
|
||
"changePermissions": "Muuta käyttöoikeuksia",
|
||
"currentPermissions": "Nykyiset käyttöoikeudet",
|
||
"owner": "Omistaja",
|
||
"group": "Ryhmä",
|
||
"others": "Muut",
|
||
"read": "Lukea",
|
||
"write": "Kirjoittaa",
|
||
"execute": "Suorittaa",
|
||
"permissionsChangedSuccessfully": "Käyttöoikeudet muutettu onnistuneesti",
|
||
"failedToChangePermissions": "Käyttöoikeuksien muuttaminen epäonnistui",
|
||
"name": "Nimi",
|
||
"sortByName": "Nimi",
|
||
"sortByDate": "Muokkauspäivämäärä",
|
||
"sortBySize": "Koko",
|
||
"ascending": "Nouseva",
|
||
"descending": "Laskeva",
|
||
"root": "Juuri",
|
||
"new": "Uusi",
|
||
"sortBy": "Lajittele",
|
||
"items": "Kohteet",
|
||
"selected": "Valittu",
|
||
"editor": "Toimittaja",
|
||
"octal": "Oktaali",
|
||
"storage": "Säilytys",
|
||
"disk": "Levy",
|
||
"used": "Käytetty",
|
||
"of": "jostakin",
|
||
"toggleSidebar": "Näytä/piilota sivupalkki",
|
||
"cannotLoadPdf": "PDF-tiedoston lataaminen ei onnistu",
|
||
"pdfLoadError": "PDF-tiedoston lataamisessa tapahtui virhe.",
|
||
"loadingPdf": "Ladataan PDF-tiedostoa...",
|
||
"loadingPage": "Sivua ladataan..."
|
||
},
|
||
"transfer": {
|
||
"copyToHost": "Kopioi isäntäkoneeseen…",
|
||
"moveToHost": "Siirrä isäntäkoneeseen…",
|
||
"copyItemsToHost": "Kopioi {{count}} kohdetta isäntään…",
|
||
"moveItemsToHost": "Siirrä {{count}} kohdetta isäntään…",
|
||
"noHostsConnected": "Muita tiedostonhallintaohjelmia ei ole saatavilla.",
|
||
"noHostsConnectedHint": "Lisää toinen SSH-isäntä, jonka tiedostonhallinta on käytössä isäntähallinnassa.",
|
||
"selectDestinationHost": "Valitse kohdeisäntä",
|
||
"destinationPath": "Kohdepolku",
|
||
"recentDestinations": "Viimeaikaiset kohteet",
|
||
"collapseRecentDestinations": "Pienennä viimeisimmät kohteet",
|
||
"expandRecentDestinations": "Laajenna viimeisimmät kohteet",
|
||
"browseFolders": "Selaa kohdekansioita",
|
||
"browseDestination": "Selaa tai anna polku",
|
||
"confirmCopy": "Kopioida",
|
||
"confirmMove": "Liikkua",
|
||
"transferring": "Siirretään…",
|
||
"compressing": "Pakkaamalla…",
|
||
"extracting": "Poimitaan…",
|
||
"transferringItems": "Siirretään {{current}} / {{total}} kohdetta…",
|
||
"transferSuccess": "Siirto valmis",
|
||
"transferError": "Siirto epäonnistui",
|
||
"transferPartial": "Siirto suoritettu, mutta virheitä on {{count}}",
|
||
"transferPartialHint": "Siirto epäonnistui: {{paths}}",
|
||
"itemsSummary": "{{count}} kohdetta",
|
||
"destMustBeDirectory": "Määränpään on oltava hakemisto useiden kohteiden siirtoja varten",
|
||
"selectThisFolder": "Valitse tämä kansio",
|
||
"browsePathWillBeCreated": "Tätä kansiota ei ole vielä olemassa. Se luodaan, kun siirto alkaa.",
|
||
"browsePathError": "Tätä polkua ei voitu avata kohdepalvelimella.",
|
||
"goUp": "Mene ylös",
|
||
"copyFolderToHost": "Kopioi kansio isäntään…",
|
||
"moveFolderToHost": "Siirrä kansio isäntään…",
|
||
"hostReady": "Valmis",
|
||
"hostConnecting": "Yhdistetään…",
|
||
"hostDisconnected": "Ei yhdistetty",
|
||
"hostAuthRequired": "Todennus vaaditaan — avaa ensin tiedostonhallinta tällä isännöintikoneella",
|
||
"hostConnectionFailed": "Yhteys epäonnistui",
|
||
"metricsTitle": "Siirtoajat",
|
||
"metricsPrepare": "Valmistele kohde: {{duration}}",
|
||
"metricsCompress": "Pakkaa lähdekoodissa: {{duration}}",
|
||
"metricsHopSourceRead": "Lähde → palvelin: {{throughput}}",
|
||
"metricsHopDestSftpWrite": "Palvelin → kohde (SFTP): {{throughput}}",
|
||
"metricsHopDestLocalWrite": "Palvelin → kohde (paikallinen): {{throughput}}",
|
||
"metricsTransfer": "Päästä päähän: {{throughput}} ({{duration}})",
|
||
"metricsExtract": "Ote määränpäässä: {{duration}}",
|
||
"metricsSourceDelete": "Poista lähteestä: {{duration}}",
|
||
"metricsTotal": "Yhteensä: {{duration}}",
|
||
"progressCompressing": "Pakkaus lähdepalvelimella…",
|
||
"progressExtracting": "Puretaan kohteessa…",
|
||
"progressTransferring": "Tiedon siirtäminen…",
|
||
"progressReconnecting": "Yhdistetään uudelleen…",
|
||
"parallelSegmentsLabel": "Rinnakkaiset siirtokaistat",
|
||
"parallelSegmentsOption": "{{count}} kaistaa",
|
||
"parallelSegmentsHint": "Suuret tiedostot jaetaan 256 Mt:n osiin. Useat kaistat käyttävät erillisiä yhteyksiä (kuten useiden siirtojen aloittaminen) suuremman kokonaisläpivirtauksen saavuttamiseksi.",
|
||
"progressTotalSpeed": "{{speed}} yhteensä ({{lanes}} kaistaa)",
|
||
"progressTransferringItems": "Tiedostojen siirtäminen ({{current}} / {{total}})…",
|
||
"progressBytes": "{{transferred}} / {{total}}",
|
||
"progressItems": "{{current}} / {{total}} tiedostoa",
|
||
"sourceNotDeletedPartial": "Lähdetiedostot säilytetään (osittainen siirto)",
|
||
"jumpHostLimitation": "Molempien isäntien on oltava tavoitettavissa Termix-palvelimelta. Suoraa isäntien välistä reititystä ei tueta.",
|
||
"cancel": "Peruuttaa",
|
||
"methodLabel": "Siirtotapa",
|
||
"methodAuto": "Auto",
|
||
"methodTar": "Tar-arkisto",
|
||
"methodItemSftp": "Tiedostokohtainen SFTP",
|
||
"methodAutoHint": "Valitsee tar- tai tiedostokohtaisen SFTP:n tiedostomäärän, koon ja pakkautuvuuden perusteella. Yksittäiset tiedostot käyttävät aina suoratoistettavaa SFTP:tä.",
|
||
"methodTarHint": "Pakkaa lähdekoodissa, siirrä yksi arkisto, pura kohdetiedostossa. Vaatii tar-tiedoston molemmissa Unix-koneissa.",
|
||
"methodItemSftpHint": "Siirrä jokainen tiedosto erikseen SFTP:n kautta. Toimii kaikilla isännöintijärjestelmillä, mukaan lukien Windows.",
|
||
"methodPreviewLoading": "Siirtomenetelmän laskeminen…",
|
||
"methodPreviewError": "Siirtomenetelmän esikatselu ei onnistunut. Palvelin valitsee silti menetelmän käynnistyksen yhteydessä.",
|
||
"methodPreviewWillUseTar": "Käytetään: Tar-arkistoa",
|
||
"methodPreviewWillUseItemSftp": "Käytetään: Tiedostokohtaista SFTP:tä",
|
||
"methodPreviewScanSummary": "{{fileCount}} tiedostoa, {{totalSize}} yhteensä (skannattu lähdepalvelimella).",
|
||
"methodItemSftpLimitation": "Jokainen tiedosto käyttää samaa SFTP-tietovirtaa kuin yksittäiset tiedostokopiot, yksi kerrallaan. Edistyminen yhdistetään kaikkien tiedostojen välillä, joten palkki liikkuu hitaasti suurten tiedostojen käsittelyssä.",
|
||
"methodReason": {
|
||
"user_item_sftp": "Valitsit tiedostokohtaisen SFTP:n.",
|
||
"user_tar": "Valitsit tar-arkiston.",
|
||
"tar_unavailable": "Tar ei ole käytettävissä yhdellä tai molemmilla isännillä — sen sijaan käytetään tiedostokohtaista SFTP:tä.",
|
||
"windows_host": "Windows-isäntä on mukana – tar-tiedostoa ei käytetä.",
|
||
"auto_multi_large": "Automaattinen: useita tiedostoja, mukaan lukien suuri tiedosto ({{largestSize}}), jossa on pakattavaa dataa — tar niputtaa yhdeksi siirroksi.",
|
||
"auto_single_large_in_archive": "Automaattinen: yksi suuri tiedosto ({{largestSize}}) tässä joukossa — tiedostokohtainen SFTP.",
|
||
"auto_many_incompressible": "Automaattinen: enimmäkseen pakkaamatonta dataa — tiedostokohtainen SFTP.",
|
||
"auto_many_files": "Automaattinen: monta tiedostoa ({{fileCount}}) — tar vähentää tiedostokohtaista laskentatehoa.",
|
||
"auto_default": "Automaattinen: tiedostokohtainen SFTP tälle joukolle."
|
||
},
|
||
"progressCancel": "Peruuttaa",
|
||
"progressCancelling": "Peruutetaan…",
|
||
"progressStalled": "Pysähtynyt",
|
||
"resumedHint": "Yhdistetty uudelleen toisessa ikkunassa aloitettuun aktiiviseen siirtoon.",
|
||
"transferCancelled": "Siirto peruttu",
|
||
"transferCancelledCopyHint": "Osittaisia tiedostoja voi jäädä kohteeseen.",
|
||
"transferCancelledMoveHint": "Kohdekansioon saattaa jäädä osittaisia tiedostoja. Lähdetiedostoja ei poistettu.",
|
||
"cleanupDestFiles": "Siivouskohde",
|
||
"cleanupDestFilesSuccess": "Osittainen tiedosto poistettu kohteesta",
|
||
"cleanupDestFilesPartial": "Joitakin osittaisia tiedostoja ei voitu poistaa",
|
||
"cleanupDestFilesNothing": "Ei mitään siivottavaa määränpäässä",
|
||
"cleanupDestFilesError": "Siivous epäonnistui",
|
||
"retryTransfer": "Yritä uudelleen",
|
||
"retryTransferError": "Uudelleenyritys epäonnistui",
|
||
"transferFailedRetryHint": "Kohteessa säilytettiin vain osa tiedoista. Uudelleenyritys jatkuu, kun yhteys on palannut."
|
||
},
|
||
"tunnels": {
|
||
"noSshTunnels": "Ei SSH-tunneleita",
|
||
"createFirstTunnelMessage": "Et ole vielä luonut SSH-tunneleita. Aloita määrittämällä tunneliyhteydet Host Managerissa.",
|
||
"connected": "Yhdistetty",
|
||
"disconnected": "Yhteys katkennut",
|
||
"connecting": "Yhdistetään...",
|
||
"error": "Virhe",
|
||
"canceling": "Peruutetaan...",
|
||
"connect": "Yhdistä",
|
||
"disconnect": "Katkaise yhteys",
|
||
"cancel": "Peruuttaa",
|
||
"port": "Portti",
|
||
"localPort": "Paikallinen satama",
|
||
"remotePort": "Etäportti",
|
||
"currentHostPort": "Nykyinen isäntäportti",
|
||
"endpointPort": "Päätepisteen portti",
|
||
"bindIp": "Paikallinen IP-osoite",
|
||
"endpointSshConfig": "Päätepisteen SSH-konfiguraatio",
|
||
"endpointSshHost": "Päätepisteen SSH-isäntä",
|
||
"endpointSshHostPlaceholder": "Valitse määritetty isäntä",
|
||
"endpointSshHostRequired": "Valitse kullekin asiakastunnelille SSH-päätepisteisäntä.",
|
||
"attempt": "Yritys {{current}} / {{max}}",
|
||
"nextRetryIn": "Seuraava uudelleenyritys {{seconds}} sekunnin kuluttua",
|
||
"clientTunnels": "Asiakastunnelit",
|
||
"clientTunnel": "Asiakastunneli",
|
||
"addClientTunnel": "Lisää asiakastunneli",
|
||
"noClientTunnels": "Tälle työpöydälle ei ole määritetty asiakastunneleita.",
|
||
"tunnelName": "Tunnelin nimi",
|
||
"remoteHost": "Etäisäntä",
|
||
"autoStart": "Automaattinen käynnistys",
|
||
"clientAutoStartDesc": "Käynnistyy, kun tämä työpöytäsovellus avautuu ja pysyy yhteydessä.",
|
||
"clientManualStartDesc": "Käytä Käynnistä- ja Pysäytä-painikkeita tältä riviltä. Termix ei avaa sitä automaattisesti.",
|
||
"clientRemoteServerNote": "Etä edelleenlähetys saattaa vaatia AllowTcpForwarding- ja GatewayPorts-määritykset SSH-päätepalvelimella. Etäportti sulkeutuu, kun tämä työpöytä katkaisee yhteyden.",
|
||
"clientTunnelStarted": "Asiakastunneli aloitettu",
|
||
"clientTunnelStopped": "Asiakastunneli pysäytetty",
|
||
"tunnelTestSucceeded": "Tunnelitesti onnistui",
|
||
"tunnelTestFailed": "Tunnelitesti epäonnistui",
|
||
"localSaved": "Asiakastunnelit tallennettu",
|
||
"localSaveError": "Paikallisten asiakastunnelien tallentaminen epäonnistui",
|
||
"invalidBindIp": "Paikallisen IP-osoitteen on oltava kelvollinen IPv4-osoite.",
|
||
"invalidLocalTargetIp": "Paikallisen kohde-IP-osoitteen on oltava kelvollinen IPv4-osoite.",
|
||
"invalidLocalPort": "Paikallisen portin on oltava välillä 1–65535.",
|
||
"invalidRemotePort": "Etäportin on oltava välillä 1–65535.",
|
||
"invalidLocalTargetPort": "Paikallisen kohdeportin on oltava välillä 1–65535.",
|
||
"invalidEndpointPort": "Päätepisteen portin on oltava välillä 1–65535.",
|
||
"duplicateAutoStartBind": "Vain yksi automaattisesti käynnistyvä asiakastunneli voi käyttää {{bind}} -merkkiä.",
|
||
"manualControlError": "Tunnelin tilan päivittäminen epäonnistui.",
|
||
"active": "Aktiivinen",
|
||
"start": "Aloita",
|
||
"stop": "Stop",
|
||
"test": "Testata",
|
||
"type": "Tunnelin tyyppi",
|
||
"typeLocal": "Paikallinen (-L)",
|
||
"typeRemote": "Kauko-ohjain (-R)",
|
||
"typeDynamic": "Dynaaminen (-D)",
|
||
"typeServerLocalDesc": "Nykyisestä isännästä päätepisteeseen.",
|
||
"typeServerRemoteDesc": "Päätepiste takaisin nykyiseen isäntään.",
|
||
"typeClientLocalDesc": "Paikallinen tietokone päätepisteeseen.",
|
||
"typeClientRemoteDesc": "Päätepiste takaisin paikalliseen tietokoneeseen.",
|
||
"typeClientDynamicDesc": "SOCKS paikallisella tietokoneella.",
|
||
"typeDynamicDesc": "Välitä SOCKS5 CONNECT -liikennettä SSH:n kautta",
|
||
"forwardDescriptionServerLocal": "Nykyinen isäntä {{sourcePort}} → päätepiste {{endpointPort}}.",
|
||
"forwardDescriptionServerRemote": "Päätepiste {{endpointPort}} → nykyinen isäntä {{sourcePort}}.",
|
||
"forwardDescriptionServerDynamic": "SOCKS nykyisellä koneella {{sourcePort}}.",
|
||
"forwardDescriptionClientLocal": "Paikallinen {{sourcePort}} → etäinen {{endpointPort}}.",
|
||
"forwardDescriptionClientRemote": "Etäinen {{sourcePort}} → paikallinen {{endpointPort}}.",
|
||
"forwardDescriptionClientDynamic": "SOCKS paikallisessa portissa {{sourcePort}}.",
|
||
"summaryClientLocal": "{{localHost}}:{{localPort}} → {{endpoint}}:{{remotePort}}",
|
||
"summaryClientRemote": "{{endpoint}}:{{remotePort}} → {{localHost}}:{{localPort}}",
|
||
"summaryClientDynamic": "{{localHost}}:{{localPort}} → SUKAT {{endpoint}} kautta",
|
||
"autoNameClientLocal": "Paikallinen {{localPort}} → {{endpoint}} {{remotePort}}",
|
||
"autoNameClientRemote": "{{endpoint}} {{remotePort}} → paikallinen {{localPort}}",
|
||
"autoNameClientDynamic": "SUKAT {{localPort}} kautta {{endpoint}}",
|
||
"route": "Reitti:",
|
||
"lastStarted": "Viimeksi aloitettu",
|
||
"lastTested": "Viimeksi testattu",
|
||
"lastError": "Viimeisin virhe",
|
||
"maxRetries": "Uudelleenyritysten enimmäismäärä",
|
||
"maxRetriesDescription": "Uudelleenyritysten enimmäismäärä.",
|
||
"retryInterval": "Uudelleenyritysväli (sekuntia)",
|
||
"retryIntervalDescription": "Odotusaika uudelleenyritysten välillä.",
|
||
"local": "Paikallinen",
|
||
"remote": "Kauko",
|
||
"destination": "Määränpää",
|
||
"host": "Isäntä",
|
||
"mode": "Tila",
|
||
"noHostSelected": "Ei valittua isäntää",
|
||
"working": "Työskentely..."
|
||
},
|
||
"cardGrid": {
|
||
"dragToMove": "Vedä siirtääksesi",
|
||
"dragToResize": "Vedä muuttaaksesi kokoa",
|
||
"changeWidth": "Muuta leveyttä",
|
||
"removeCard": "Poista {{label}}",
|
||
"addCard": "Lisätä",
|
||
"columns": "Sarakkeet",
|
||
"empty": "Ei kortteja. Lisää kortit alla olevalla Lisää-toiminnolla."
|
||
},
|
||
"hostMetrics": {
|
||
"cpu": "Suoritin",
|
||
"memory": "Muisti",
|
||
"disk": "Levy",
|
||
"network": "Verkko",
|
||
"uptime": "Käyttöaika",
|
||
"processes": "Prosessit",
|
||
"available": "Saatavilla",
|
||
"free": "Ilmainen",
|
||
"connecting": "Yhdistetään...",
|
||
"connectionFailed": "Palvelimeen ei saatu yhteyttä",
|
||
"naCpus": "Ei saatavilla olevaa suoritinta",
|
||
"cpuCores_one": "{{count}} Ydin",
|
||
"cpuCores_other": "{{count}} Ytimet",
|
||
"cpuUsage": "Suorittimen käyttö",
|
||
"memoryUsage": "Muistin käyttö",
|
||
"diskUsage": "Levyn käyttö",
|
||
"temperature": "Lämpötila",
|
||
"highestTemperature": "Korkein lämpötila",
|
||
"failedToFetchHostConfig": "Isännän määritysten nouto epäonnistui",
|
||
"serverOffline": "Palvelin offline-tilassa",
|
||
"cannotFetchMetrics": "Mittarien nouto offline-palvelimelta ei onnistu",
|
||
"totpFailed": "TOTP-vahvistus epäonnistui",
|
||
"noneAuthNotSupported": "Isäntämittarit eivät tue 'none'-todennustyyppiä.",
|
||
"noHostSelected": "Ei valittua isäntää",
|
||
"load": "Ladata",
|
||
"systemInfo": "Järjestelmätiedot",
|
||
"hostname": "Isäntänimi",
|
||
"operatingSystem": "Käyttöjärjestelmä",
|
||
"kernel": "Ydin",
|
||
"seconds": "sekuntia",
|
||
"networkInterfaces": "Verkkoliitännät",
|
||
"noInterfacesFound": "Verkkoliitäntöjä ei löytynyt",
|
||
"noProcessesFound": "Ei prosesseja",
|
||
"processesTotal": "kokonais-",
|
||
"processesRunning": "juokseminen",
|
||
"loginStats": "SSH-kirjautumistilastot",
|
||
"noRecentLoginData": "Ei viimeaikaisia kirjautumistietoja",
|
||
"executingQuickAction": "Suoritetaan {{name}}...",
|
||
"quickActionSuccess": "{{name}} suoritettu onnistuneesti",
|
||
"quickActionFailed": "{{name}} epäonnistui",
|
||
"quickActionError": "Suoritus epäonnistui {{name}}",
|
||
"ports": {
|
||
"title": "Kuunteluportit",
|
||
"protocol": "Protokolla",
|
||
"port": "Portti",
|
||
"address": "Osoite",
|
||
"process": "Käsitellä",
|
||
"search": "Hakusatamat...",
|
||
"allProtocols": "Kaikki",
|
||
"noData": "Ei kuunteluporttien tietoja"
|
||
},
|
||
"firewall": {
|
||
"title": "Palomuuri",
|
||
"inactive": "Passiivinen",
|
||
"policy": "Käytäntö",
|
||
"rules": "säännöt",
|
||
"noRules": "Ei sääntöjä tässä ketjussa",
|
||
"noData": "Palomuuritietoja ei ole saatavilla",
|
||
"action": "Toiminta",
|
||
"protocol": "Proto",
|
||
"port": "Portti",
|
||
"source": "Lähde",
|
||
"anywhere": "Missä tahansa",
|
||
"chains": "ketjut"
|
||
},
|
||
"loadAvg": "Keskimääräinen lataus",
|
||
"swap": "Vaihtaa",
|
||
"architecture": "Arkkitehtuuri",
|
||
"refresh": "Päivitä",
|
||
"retry": "Yritä uudelleen",
|
||
"customize": "Mukauta asettelua",
|
||
"reset": "Nollaa",
|
||
"tabLive": "Elää",
|
||
"editModeInstructions": "Vedä kortteja järjestelläksesi niitä uudelleen, vedä alareunaa muuttaaksesi kokoa ja käytä leveyspainiketta muuttaaksesi kortin väliä. Lisää tai poista kortteja alla.",
|
||
"managers": {
|
||
"services": "Palvelut",
|
||
"processInspector": "Prosessitarkastaja",
|
||
"logViewer": "Lokikatseluohjelma",
|
||
"cron": "Cron-työt",
|
||
"packages": "Paketit",
|
||
"ssl": "SSL-sertifikaatit",
|
||
"firewall": "Palomuuri",
|
||
"users": "Käyttäjät ja käyttöoikeudet",
|
||
"healthCheck": "Terveystarkastukset",
|
||
"diskBreakdown": "Levyn erittely",
|
||
"systemdTimers": "Ajastimet",
|
||
"topMemory": "Muistin mukaan huippu",
|
||
"noData": "Ei tietoja",
|
||
"sudoHint": "Aseta tälle isännälle sudo-salasana isäntäeditorissa ottaaksesi käyttöön etuoikeutetut toiminnot.",
|
||
"filter": "Suodattaa...",
|
||
"start": "Aloita",
|
||
"stop": "Stop",
|
||
"restart": "Käynnistä uudelleen",
|
||
"actionDone": "{{name}} päivitetty",
|
||
"actionFailed": "Toiminto epäonnistui",
|
||
"signalSent": "Signaali lähetetään PID:lle {{pid}}",
|
||
"killHint": "Napsauta: lopeta (SIGTERM). Napsauta hiiren kakkospainikkeella: pakota lopettaminen (SIGKILL).",
|
||
"working": "Työskentely...",
|
||
"update": "Päivittää",
|
||
"upgradeAll": "Päivitä kaikki",
|
||
"allUpToDate": "Kaikki on ajan tasalla",
|
||
"save": "Tallentaa",
|
||
"command": "Komento",
|
||
"enabled": "Käytössä",
|
||
"cronSaved": "Crontab päivitetty",
|
||
"clients": "Asiakkaat",
|
||
"dryRun": "Kuiva ajo",
|
||
"renew": "Uudista",
|
||
"noAcmeClient": "Tältä isännältä ei löytynyt ACME-asiakasohjelmaa (certbot tai acme.sh).",
|
||
"addInputRule": "Lisää SYÖTTÖSääntö",
|
||
"firewallWarning": "Muutokset ovat vain ajonaikaisia, kunnes ne pysyvät voimassa. Varo lukitsemasta itseäsi ulos.",
|
||
"ruleApplied": "Sääntö sovellettu",
|
||
"invalidPort": "Anna kelvollinen portti (1-65535)",
|
||
"newUsername": "Uusi käyttäjätunnus",
|
||
"addUser": "Lisätä",
|
||
"deleteUser": "Poista käyttäjä",
|
||
"noHealthChecks": "Ei vielä määritettyjä kuntotarkastuksia.",
|
||
"follow": "Seuraa",
|
||
"noLogData": "Ei lokitulostetta.",
|
||
"tree": "Puu",
|
||
"enableDisable": "Ota käyttöön / poista käytöstä käynnistyksen yhteydessä",
|
||
"grantSudo": "Myönnä sudo",
|
||
"revokeSudo": "Peruuta sudo",
|
||
"sslIssueCert": "Myöntötodistus",
|
||
"sslExpired": "Vanhentunut",
|
||
"sslInDays": "{{days}}d:ssä",
|
||
"sslNeedDomain": "Anna vähintään yksi verkkotunnus",
|
||
"sslIssued": "Todistus myönnetty",
|
||
"sslDomainsPlaceholder": "esimerkki.com, www.esimerkki.com",
|
||
"sslHttpStandalone": "HTTP (erillinen)",
|
||
"sslHttpWebroot": "HTTP (verkkojuuri)",
|
||
"sslDns": "DNS",
|
||
"sslDnsProvider": "DNS-palveluntarjoaja (esim. cloudflare)",
|
||
"sslIssueHint": "DNS-palveluntarjoajan tunnistetietojen on oltava jo määritettyinä isännälle.",
|
||
"sslRevoke": "Peruuta varmenne",
|
||
"sslRevoked": "Varmenne peruutettu",
|
||
"sslRevokeConfirm": "Peruuttaa ja poistaa varmenne \"{{name}}\"? Tätä ei voi perua.",
|
||
"healthRun": "Juokse",
|
||
"healthName": "Nimi",
|
||
"healthTarget": "Isäntä / osoite",
|
||
"healthAddCheck": "Lisää shekki",
|
||
"healthSaved": "Terveystarkastukset tallennettu",
|
||
"healthMissingFields": "Jokaisella tarkistuksella on oltava nimi ja kohde",
|
||
"logFile": "Tiedosto",
|
||
"logUnit": "Yksikkö",
|
||
"logCustomPath": "Mukautettu polku /var/log-hakemistossa (valinnainen)",
|
||
"logGrep": "Suodata viivat...",
|
||
"firewallPersist": "Säilytä säännöt",
|
||
"firewallPersisted": "Palomuurisäännöt säilyivät",
|
||
"wireguard": "WireGuard",
|
||
"tailscale": "Tailscale",
|
||
"wgNotInstalled": "WireGuardia ei ole asennettu tälle koneelle",
|
||
"wgNoInterfaces": "Ei WireGuard-liitäntöjä määritettynä",
|
||
"wgInterfaceUp": "Tuo esiin",
|
||
"wgInterfaceDown": "Alentaa",
|
||
"wgBringingUp": "Tuodaan {{name}} esiin...",
|
||
"wgBringingDown": "Lasketaan {{name}} alas...",
|
||
"wgInterfaceUpDone": "{{name}} on ylhäällä",
|
||
"wgInterfaceDownDone": "{{name}} on alhaalla",
|
||
"wgListenPort": "Portti",
|
||
"wgPublicKey": "Julkinen avain",
|
||
"wgEndpoint": "Päätepiste",
|
||
"wgAllowedIPs": "Sallitut IP-osoitteet",
|
||
"wgLastHandshake": "Viimeinen kädenpuristus",
|
||
"wgHandshakeNever": "Ei koskaan",
|
||
"wgTransfer": "Siirtää",
|
||
"tsNotInstalled": "Tailscalea ei ole asennettu tälle isännälle",
|
||
"tsRunning": "Juoksu",
|
||
"tsStopped": "Pysähtynyt",
|
||
"tsEnable": "Yhdistä",
|
||
"tsDisable": "Katkaise yhteys",
|
||
"tsEnabling": "Yhdistetään Tailscaleen...",
|
||
"tsDisabling": "Yhteyden katkaiseminen Tailscaleen...",
|
||
"tsEnabled": "Tailscale yhdistetty",
|
||
"tsDisabled": "Tailscale irrotettu",
|
||
"tsIPs": "Tailscale IP-osoitteet",
|
||
"tsPeers": "Vertaiset",
|
||
"tsOnline": "Verkossa",
|
||
"tsOffline": "Offline-tilassa",
|
||
"tsExitNode": "Poistumissolmu",
|
||
"tsExitNodeActive": "Poistumissolmu aktiivinen",
|
||
"tsHostname": "Isäntänimi"
|
||
}
|
||
},
|
||
"auth": {
|
||
"tagline": "Itse isännöity SSH ja etätyöpöytähallinta",
|
||
"loginTitle": "Tervetuloa takaisin",
|
||
"registerTitle": "Luo tili",
|
||
"forgotPassword": "Unohditko salasanasi?",
|
||
"rememberMe": "Muista laite 30 päivän ajan (sisältää TOTP:n)",
|
||
"noAccount": "Eikö sinulla ole tiliä?",
|
||
"hasAccount": "Onko sinulla jo tili?",
|
||
"twoFactorAuth": "Kaksivaiheinen todennus",
|
||
"enterCode": "Syötä vahvistuskoodi",
|
||
"backupCode": "Tai käytä varakoodia",
|
||
"verifyCode": "Vahvista koodi",
|
||
"redirectingToApp": "Ohjataan sovellukseen...",
|
||
"sshAuthenticationRequired": "SSH-todennus vaaditaan",
|
||
"sshNoKeyboardInteractive": "Näppäimistöinteraktiivinen todennus ei ole käytettävissä",
|
||
"sshAuthenticationFailed": "Todennus epäonnistui",
|
||
"sshAuthenticationTimeout": "Todennuksen aikakatkaisu",
|
||
"sshNoKeyboardInteractiveDescription": "Palvelin ei tue näppäimistöinteraktiivista todennusta. Anna salasanasi tai SSH-avaimesi.",
|
||
"sshAuthFailedDescription": "Annetut tunnistetiedot olivat virheelliset. Yritä uudelleen kelvollisilla tunnistetiedoilla.",
|
||
"sshTimeoutDescription": "Todennusyritys aikakatkaistiin. Yritä uudelleen.",
|
||
"sshProvideCredentialsDescription": "Anna SSH-tunnuksesi muodostaaksesi yhteyden tähän palvelimeen.",
|
||
"sshPasswordDescription": "Anna tämän SSH-yhteyden salasana.",
|
||
"sshKeyPasswordDescription": "Jos SSH-avaimesi on salattu, anna salasana tähän.",
|
||
"passphraseRequired": "Salasana vaaditaan",
|
||
"passphraseRequiredDescription": "SSH-avain on salattu. Anna salasana avataksesi sen.",
|
||
"back": "Takaisin",
|
||
"firstUser": "Ensimmäinen käyttäjä",
|
||
"firstUserMessage": "Olet ensimmäinen käyttäjä ja sinusta tulee ylläpitäjä. Voit tarkastella ylläpitäjän asetuksia sivupalkin käyttäjävalikosta. Jos epäilet, että tämä on virhe, tarkista Docker-lokit tai luo GitHub-ongelma.",
|
||
"external": "Ulkoinen",
|
||
"loginWithExternal": "Kirjaudu sisään ulkoisella palveluntarjoajalla",
|
||
"loginWithExternalDesc": "Kirjaudu sisään käyttämällä määritettyä ulkoista identiteetintarjoajaasi",
|
||
"externalNotSupportedInElectron": "Ulkoista todennusta ei vielä tueta Electron-sovelluksessa. Käytä verkkoversiota OIDC-kirjautumiseen.",
|
||
"loginWithProvider": "Kirjaudu sisään tunnuksella {{name}}",
|
||
"orContinueWith": "tai jatka",
|
||
"ldapUsername": "LDAP-käyttäjätunnus",
|
||
"ldapPassword": "LDAP-salasana",
|
||
"ldapSignIn": "Kirjaudu sisään",
|
||
"ldapLoginFailed": "LDAP-kirjautuminen epäonnistui",
|
||
"resetPasswordButton": "Palauta salasana",
|
||
"sendResetCode": "Lähetä nollauskoodi",
|
||
"resetCodeDesc": "Syötä käyttäjätunnuksesi saadaksesi salasanan palautuskoodin. Koodi kirjataan Docker-säilön lokeihin.",
|
||
"resetCode": "Nollaa koodi",
|
||
"verifyCodeButton": "Vahvista koodi",
|
||
"enterResetCode": "Syötä käyttäjän Docker-säilön lokitiedoista löytyvä 6-numeroinen koodi:",
|
||
"newPassword": "Uusi salasana",
|
||
"confirmNewPassword": "Vahvista salasana",
|
||
"enterNewPassword": "Anna uusi salasana käyttäjälle:",
|
||
"signUp": "Rekisteröidy",
|
||
"desktopApp": "Työpöytäsovellus",
|
||
"loggingInToDesktopApp": "Kirjautuminen työpöytäsovellukseen",
|
||
"loadingServer": "Palvelinta ladataan...",
|
||
"dataLossWarning": "Salasanan palauttaminen tällä tavalla poistaa kaikki tallennetut SSH-isäntäpalvelimesi, tunnistetietosi ja muut salatut tiedot. Tätä toimintoa ei voi perua. Käytä tätä vain, jos olet unohtanut salasanasi etkä ole kirjautunut sisään.",
|
||
"authenticationDisabled": "Todennus poistettu käytöstä",
|
||
"authenticationDisabledDesc": "Kaikki todennusmenetelmät ovat tällä hetkellä poissa käytöstä. Ota yhteyttä järjestelmänvalvojaan.",
|
||
"passwordLoginDisabledDesc": "Salasanalla kirjautuminen on poistettu käytöstä. Käytä salasanaa tai ulkoista todennuspalveluntarjoajaa.",
|
||
"signInWithPasskey": "Kirjaudu sisään salasanalla",
|
||
"passkeyLoginFailed": "Salasanan kirjautuminen epäonnistui",
|
||
"attemptsRemaining": "{{count}} yritystä jäljellä",
|
||
"confirmResetDataWipe": "Tälle tilille ei ole kirjautunut sisään salauspäivityksen jälkeen, joten sen tallennettuja tietoja ei voida palauttaa ilman vanhaa salasanaa. Nollaaminen poistaa pysyvästi sen isännät, tunnistetiedot ja koodinpätkät. Jatketaanko?"
|
||
},
|
||
"hostKey": {
|
||
"verifyNewHost": "Vahvista SSH-isäntäavain",
|
||
"keyChangedWarning": "SSH-isäntäavain muuttunut",
|
||
"firstConnectionTitle": "Ensimmäinen kerta, kun muodostan yhteyden tähän isäntään",
|
||
"firstConnectionDescription": "Tämän isännän aitoutta ei voida vahvistaa. Varmista, että sormenjälki vastaa odotuksiasi.",
|
||
"keyChangedDescription": "Tämän palvelimen isäntäavain on muuttunut viimeisimmän yhteytesi jälkeen. Tämä voi viitata tietoturvaongelmaan.",
|
||
"previousKey": "Edellinen avain",
|
||
"newFingerprint": "Uusi sormenjälki",
|
||
"fingerprint": "Sormenjälki",
|
||
"verifyInstructions": "Jos luotat tähän isäntään, jatka napsauttamalla Hyväksy ja tallenna tämä sormenjälki tulevia yhteyksiä varten.",
|
||
"securityWarning": "Turvallisuusvaroitus",
|
||
"acceptAndContinue": "Hyväksy ja jatka",
|
||
"acceptNewKey": "Hyväksy uusi avain ja jatka"
|
||
},
|
||
"errors": {
|
||
"databaseConnection": "Tietokantaan ei saatu yhteyttä",
|
||
"unknownError": "Tuntematon virhe",
|
||
"loginFailed": "Kirjautuminen epäonnistui",
|
||
"failedPasswordReset": "Salasanan vaihdon aloittaminen epäonnistui",
|
||
"failedVerifyCode": "Nollauskoodin vahvistaminen epäonnistui",
|
||
"failedCompleteReset": "Salasanan vaihtaminen epäonnistui",
|
||
"invalidTotpCode": "Virheellinen TOTP-koodi",
|
||
"failedOidcLogin": "OIDC-kirjautumisen aloittaminen epäonnistui",
|
||
"silentSigninOidcUnavailable": "Hiljaista kirjautumista pyydettiin, mutta OIDC-kirjautuminen ei ole käytettävissä.",
|
||
"failedUserInfo": "Käyttäjätietojen hakeminen epäonnistui kirjautumisen jälkeen",
|
||
"oidcAuthFailed": "OIDC-todennus epäonnistui",
|
||
"invalidAuthUrl": "Virheellinen valtuutus-URL-osoite vastaanotettu taustajärjestelmästä",
|
||
"requiredField": "Tämä kenttä on pakollinen",
|
||
"minLength": "Minimipituus on {{min}}",
|
||
"passwordMismatch": "Salasanat eivät täsmää",
|
||
"passwordLoginDisabled": "Käyttäjätunnus/salasana-kirjautuminen on tällä hetkellä poistettu käytöstä",
|
||
"sessionExpired": "Istunto vanhentunut - kirjaudu sisään uudelleen",
|
||
"totpRateLimited": "Nopeus rajoitettu: Liian monta TOTP-vahvistusyritystä. Yritä myöhemmin uudelleen.",
|
||
"totpRateLimitedWithTime": "Nopeus rajoitettu: Liian monta TOTP-vahvistusyritystä. Odota {{time}} sekuntia ennen kuin yrität uudelleen.",
|
||
"resetCodeRateLimited": "Nopeus rajoitettu: Liian monta vahvistusyritystä. Yritä myöhemmin uudelleen.",
|
||
"resetCodeRateLimitedWithTime": "Nopeus rajoitettu: Liian monta vahvistusyritystä. Odota {{time}} sekuntia ennen kuin yrität uudelleen.",
|
||
"authTokenSaveFailed": "Todennustunnuksen tallennus epäonnistui",
|
||
"failedToLoadServer": "Palvelimen lataus epäonnistui"
|
||
},
|
||
"messages": {
|
||
"registrationDisabled": "Ylläpitäjä on tällä hetkellä poistanut käytöstä uuden tilin rekisteröinnin. Kirjaudu sisään tai ota yhteyttä ylläpitäjään.",
|
||
"userNotAllowed": "Tililläsi ei ole oikeutta rekisteröityä. Ota yhteyttä ylläpitäjään.",
|
||
"databaseConnectionFailed": "Yhteyden muodostaminen tietokantapalvelimeen epäonnistui",
|
||
"resetCodeSent": "Docker-lokeihin lähetetyn koodin nollaus",
|
||
"codeVerified": "Koodi vahvistettu onnistuneesti",
|
||
"passwordResetSuccess": "Salasanan palautus onnistui",
|
||
"loginSuccess": "Kirjautuminen onnistui",
|
||
"registrationSuccess": "Rekisteröinti onnistui"
|
||
},
|
||
"profile": {
|
||
"c2sTunnelConfigDesc": "Paikalliset työpöytätunnelit, jotka kohdistuvat konfiguroituihin SSH-isäntiin.",
|
||
"c2sTunnelPresets": "Asiakastunnelin esiasetukset",
|
||
"c2sTunnelPresetsDesc": "Tallenna tämän työpöytäsovelluksen paikallinen tunneliluettelo nimetyn palvelimen esiasetukseksi tai lataa esiasetus takaisin tähän työasemaan.",
|
||
"c2sTunnelPresetsUnavailable": "Asiakasohjelman tunnelin esiasetukset ovat käytettävissä vain työpöytäsovelluksessa.",
|
||
"c2sPresetName": "Esiasetetun nimen",
|
||
"c2sPresetNamePlaceholder": "Asiakkaan esiasetettu nimi",
|
||
"c2sPresetToLoad": "Ladattava esiasetus",
|
||
"c2sNoPresetSelected": "Ei valittua esiasetusta",
|
||
"c2sNoPresets": "Ei tallennettuja esiasetuksia",
|
||
"c2sLoadPreset": "Ladata",
|
||
"c2sCurrentLocalConfig": "{{count}} paikallista asiakastunnelia, jotka on konfiguroitu tälle työpöydälle.",
|
||
"c2sPresetSyncNote": "Esiasetukset ovat eksplisiittisiä tilannevedoksia; yhden lataaminen korvaa tämän työpöytäasiakkaan paikallisen asiakastunneliluettelon.",
|
||
"c2sPresetSaved": "Asiakastunnelin esiasetus tallennettu",
|
||
"c2sPresetLoaded": "Asiakastunnelin esiasetus ladattu paikallisesti",
|
||
"c2sPresetRenamed": "Asiakastunnelin esiasetettu nimi",
|
||
"c2sPresetDeleted": "Asiakastunnelin esiasetus poistettu",
|
||
"c2sPresetLoadError": "Asiakasohjelman tunnelin esiasetusten lataaminen epäonnistui"
|
||
},
|
||
"placeholders": {
|
||
"maxRetries": "3",
|
||
"retryInterval": "10",
|
||
"language": "Kieli",
|
||
"keyPassword": "avainsalasana",
|
||
"pastePrivateKey": "Liitä yksityinen avaimesi tähän...",
|
||
"localListenerHost": "127.0.0.1 (kuuntele paikallisesti)",
|
||
"localTargetHost": "127.0.0.1 (kohde tässä tietokoneessa)",
|
||
"socksListenerHost": "127.0.0.1 (SOCKS-kuuntelija)",
|
||
"enterPassword": "Anna salasanasi",
|
||
"defaultPort": "22",
|
||
"defaultEndpointPort": "224"
|
||
},
|
||
"dashboard": {
|
||
"title": "Kojelauta",
|
||
"loading": "Kojelautaa ladataan...",
|
||
"github": "GitHub",
|
||
"support": "Tukea",
|
||
"discord": "Eripura",
|
||
"docs": "Dokumentit",
|
||
"donate": "Lahjoittaa",
|
||
"serverOverview": "Palvelimen yleiskatsaus",
|
||
"version": "Versio",
|
||
"upToDate": "Ajan tasalla",
|
||
"updateAvailable": "Päivitys saatavilla",
|
||
"beta": "Beeta",
|
||
"uptime": "Käyttöaika",
|
||
"database": "Tietokanta",
|
||
"healthy": "Terveellinen",
|
||
"error": "Virhe",
|
||
"totalHosts": "Isäntien kokonaismäärä",
|
||
"totalTunnels": "Tunneleita yhteensä",
|
||
"totalCredentials": "Yhteensä valtakirjoja",
|
||
"recentActivity": "Viimeaikainen toiminta",
|
||
"reset": "Nollaa",
|
||
"loadingRecentActivity": "Ladataan viimeaikaista toimintaa...",
|
||
"noRecentActivity": "Ei viimeaikaista toimintaa",
|
||
"quickActions": "Pikatoiminnot",
|
||
"addHost": "Lisää isäntä",
|
||
"addCredential": "Lisää tunnistetiedot",
|
||
"adminSettings": "Järjestelmänvalvojan asetukset",
|
||
"userProfile": "Käyttäjäprofiili",
|
||
"serverStats": "Palvelimen tilastot",
|
||
"loadingServerStats": "Ladataan palvelimen tilastoja...",
|
||
"noServerData": "Palvelintietoja ei saatavilla",
|
||
"cpu": "Suoritin",
|
||
"ram": "RAM-muistia",
|
||
"customizeLayout": "Mukauta kojelautaa",
|
||
"dashboardSettings": "Kojelaudan asetukset",
|
||
"enableDisableCards": "Korttien käyttöönotto/pois käytöstä",
|
||
"resetLayout": "Palauta oletusarvoihin",
|
||
"serverOverviewCard": "Palvelimen yleiskatsaus",
|
||
"recentActivityCard": "Viimeaikainen toiminta",
|
||
"networkGraphCard": "Verkkokaavio",
|
||
"networkGraph": "Verkkokaavio",
|
||
"quickActionsCard": "Pikatoiminnot",
|
||
"serverStatsCard": "Palvelimen tilastot",
|
||
"panelMain": "Pääasiallinen",
|
||
"panelSide": "Sivu",
|
||
"justNow": "juuri nyt",
|
||
"serviceLinks": "Palvelulinkit",
|
||
"homepagePreview": "Etusivun esikatselu"
|
||
},
|
||
"donation": {
|
||
"title": "Pidätkö Termixistä?",
|
||
"body": "Termix on ilmainen ja avoimen lähdekoodin ohjelmisto, jota kahden hengen tiimi rakentaa ja ylläpitää vapaa-ajallaan. Jos se korvaa kaupallisen työkalun, josta muuten maksaisit, lahjoitus auttaa kattamaan ylläpitokulut ja pitämään kehityksen käynnissä. Tällä hetkellä lahjoitukset ovat vain kryptovaluuttoja.",
|
||
"milestones": "Lahjoitukset auttavat myös rahoittamaan aikaa tutkimukseen ja oppimaan, mitä tarvitaan ominaisuuksien, kuten SAML:n ja Kubernetes-tuen, rakentamiseen. Katso edistyminen lahjoitussivulta.",
|
||
"cta": "Lahjoittaa",
|
||
"dismiss": "Ehkä myöhemmin"
|
||
},
|
||
"dashboardTab": {
|
||
"stable": "VAKAA",
|
||
"hostsOnline": "Isännät verkossa",
|
||
"activeTunnels": "Aktiiviset tunnelit",
|
||
"registerNewServer": "Rekisteröi uusi palvelin",
|
||
"storeSshKeysOrPasswords": "SSH-avainten tai salasanojen tallentaminen",
|
||
"manageUsersAndRoles": "Hallitse käyttäjiä ja rooleja",
|
||
"manageYourAccount": "Hallinnoi tiliäsi",
|
||
"hostStatus": "Isännän tila",
|
||
"noHostsConfigured": "Ei määritettyjä isäntiä",
|
||
"online": "VERKOSSA",
|
||
"offline": "OFFLINE-TILASSA",
|
||
"checking": "TARKISTAMINEN",
|
||
"onlineLower": "Verkossa",
|
||
"nodes": "{{count}} solmut",
|
||
"add": "Lisätä:",
|
||
"commandPalette": "Komentopaletti",
|
||
"done": "Tehty",
|
||
"editModeInstructions": "Vedä kortteja järjestelläksesi uudelleen · Vedä sarakeväliä muuttaaksesi sarakkeiden kokoa · Vedä kortin alareunaa muuttaaksesi sen korkeutta · Roskakori poistaaksesi",
|
||
"empty": "Tyhjä",
|
||
"clear": "Tyhjennä",
|
||
"serviceLinksTitle": "Palvelulinkit",
|
||
"serviceLinksEmpty": "Ei vielä palvelulinkkejä",
|
||
"serviceLinksAddLabel": "Tarra",
|
||
"serviceLinksAddUrl": "URL-osoite",
|
||
"serviceLinksAdd": "Lisätä",
|
||
"serviceLinksLabelPlaceholder": "Palveluni",
|
||
"serviceLinksUrlPlaceholder": "http://192.168.1.10:8080",
|
||
"serviceLinksInvalidUrl": "Anna kelvollinen verkko-osoite",
|
||
"serviceLinksAddFailed": "Palvelulinkin lisääminen epäonnistui",
|
||
"disk": "Levy",
|
||
"viewServerDetails": "Näytä palvelimen tiedot"
|
||
},
|
||
"sessionLogs": {
|
||
"title": "Istuntolokit",
|
||
"noLogs": "Ei vielä istuntolokeja",
|
||
"noLogsDesc": "Ota istunnon lokikirjaus käyttöön isännässä aloittaaksesi tallennuksen",
|
||
"duration": "Kesto",
|
||
"viewLog": "Näytä loki",
|
||
"downloadLog": "Lataa",
|
||
"deleteLog": "Poistaa",
|
||
"confirmDelete": "Poistetaanko tämä istuntoloki?",
|
||
"confirmDeleteDesc": "Tätä toimintoa ei voi perua.",
|
||
"copyContent": "Kopioida",
|
||
"copied": "Kopioitu!",
|
||
"loadError": "Istuntolokien lataaminen epäonnistui",
|
||
"deleteError": "Istuntolokitietojen poistaminen epäonnistui",
|
||
"filterByHost": "Suodata isännän mukaan..."
|
||
},
|
||
"networkGraph": {
|
||
"addHost": "Lisää isäntä",
|
||
"addGroup": "Lisää ryhmä",
|
||
"addLink": "Lisää linkki",
|
||
"zoomIn": "Lähennä",
|
||
"zoomOut": "Loitonna",
|
||
"resetView": "Palauta näkymä",
|
||
"selectHost": "Valitse isäntä",
|
||
"chooseHost": "Valitse isäntä...",
|
||
"parentGroup": "Yläryhmä",
|
||
"noGroup": "Ei ryhmää",
|
||
"groupName": "Ryhmän nimi",
|
||
"color": "Väri",
|
||
"source": "Lähde",
|
||
"target": "Kohde",
|
||
"moveToGroup": "Siirrä ryhmään",
|
||
"selectGroup": "Valitse ryhmä...",
|
||
"addConnection": "Lisää yhteys",
|
||
"hostDetails": "Isännän tiedot",
|
||
"removeFromGroup": "Poista ryhmästä",
|
||
"addHostHere": "Lisää isäntä tähän",
|
||
"editGroup": "Muokkaa ryhmää",
|
||
"delete": "Poistaa",
|
||
"add": "Lisätä",
|
||
"create": "Luoda",
|
||
"move": "Liikkua",
|
||
"connect": "Yhdistä",
|
||
"createGroup": "Luo ryhmä",
|
||
"selectSourcePlaceholder": "Valitse lähde...",
|
||
"selectTargetPlaceholder": "Valitse kohde...",
|
||
"invalidFile": "Virheellinen tiedosto",
|
||
"hostAlreadyExists": "Isäntä on jo topologiassa",
|
||
"connectionExists": "Yhteys on jo olemassa",
|
||
"unknown": "Tuntematon",
|
||
"name": "Nimi",
|
||
"ip": "IP-osoite",
|
||
"status": "Status",
|
||
"failedToAddNode": "Solmun lisääminen epäonnistui",
|
||
"sourceDifferentFromTarget": "Lähteen ja kohteen on oltava eri",
|
||
"exportJSON": "Vie JSON",
|
||
"importJSON": "Tuo JSON",
|
||
"terminal": "Terminaali",
|
||
"fileManager": "Tiedostonhallinta",
|
||
"tunnel": "Tunneli",
|
||
"docker": "Satamatyöläinen",
|
||
"serverStats": "Isännän mittarit",
|
||
"hostMetrics": "Isännän mittarit",
|
||
"noNodes": "Ei vielä solmuja"
|
||
},
|
||
"docker": {
|
||
"notEnabled": "Docker ei ole käytössä tälle isännälle",
|
||
"validating": "Dockerin validointi...",
|
||
"connecting": "Yhdistetään...",
|
||
"error": "Virhe",
|
||
"version": "Docker {{version}}",
|
||
"connectionFailed": "Yhteyden muodostaminen Dockeriin epäonnistui",
|
||
"containerStarted": "Säiliö {{name}} aloitettu",
|
||
"failedToStartContainer": "Säiliön {{name}} käynnistäminen epäonnistui",
|
||
"containerStopped": "Kontti {{name}} pysäytetty",
|
||
"failedToStopContainer": "Säiliön {{name}} pysäyttäminen epäonnistui",
|
||
"containerRestarted": "Säiliö {{name}} käynnistetty uudelleen",
|
||
"failedToRestartContainer": "Säiliön uudelleenkäynnistys epäonnistui {{name}}",
|
||
"containerPaused": "Säilö {{name}} keskeytetty",
|
||
"containerUnpaused": "Säiliö {{name}} keskeytetty",
|
||
"failedToTogglePauseContainer": "Säilön {{name}} taukotilan vaihtaminen epäonnistui",
|
||
"containerRemoved": "Säiliö {{name}} poistettu",
|
||
"failedToRemoveContainer": "Säilön {{name}} poistaminen epäonnistui",
|
||
"image": "Kuva",
|
||
"ports": "Portit",
|
||
"noPorts": "Ei portteja",
|
||
"start": "Aloita",
|
||
"confirmRemoveContainer": "Haluatko varmasti poistaa säilön '{{name}}'? Tätä toimintoa ei voi perua.",
|
||
"runningContainerWarning": "Varoitus: Tämä säilö on parhaillaan käynnissä. Sen poistaminen pysäyttää säilön ensin.",
|
||
"loadingContainers": "Konttien lastaus...",
|
||
"manager": "Docker-hallinta",
|
||
"autoRefresh": "Automaattinen päivitys",
|
||
"timestamps": "Aikaleimat",
|
||
"lines": "Viivat",
|
||
"filterLogs": "Suodata lokit...",
|
||
"refresh": "Päivitä",
|
||
"download": "Lataa",
|
||
"clear": "Tyhjennä",
|
||
"logsDownloaded": "Lokien lataus onnistui",
|
||
"last50": "Viimeiset 50",
|
||
"last100": "Viimeiset 100",
|
||
"last500": "Viimeiset 500",
|
||
"last1000": "Viimeiset 1000",
|
||
"allLogs": "Kaikki lokit",
|
||
"noLogsMatching": "Ei lokeja, jotka vastaavat \"{{query}}\"",
|
||
"noLogsAvailable": "Ei lokeja saatavilla",
|
||
"noContainersFound": "Ei löytynyt säiliöitä",
|
||
"noContainersFoundHint": "Docker-kontteja ei ole saatavilla tällä isännöintipalvelimella",
|
||
"searchPlaceholder": "Hae säilöjä...",
|
||
"allStatuses": "Kaikki tilat",
|
||
"stateRunning": "Juoksu",
|
||
"statePaused": "Keskeytetty",
|
||
"stateExited": "Poistui",
|
||
"stateRestarting": "Uudelleenkäynnistys",
|
||
"noContainersMatchFilters": "Yksikään säilö ei vastaa suodattimiasi",
|
||
"noContainersMatchFiltersHint": "Kokeile muokata haku- tai suodatusehtojasi",
|
||
"failedToFetchStats": "Säilön tilastojen nouto epäonnistui",
|
||
"containerNotRunning": "Säiliö ei ole käynnissä",
|
||
"startContainerToViewStats": "Käynnistä säilö tilastojen tarkastelemiseksi",
|
||
"loadingStats": "Ladataan tilastoja...",
|
||
"errorLoadingStats": "Virhe tilastojen lataamisessa",
|
||
"noStatsAvailable": "Ei tilastoja saatavilla",
|
||
"cpuUsage": "Suorittimen käyttö",
|
||
"current": "Nykyinen",
|
||
"memoryUsage": "Muistin käyttö",
|
||
"networkIo": "Verkko-I/O",
|
||
"input": "Syöttö",
|
||
"output": "Lähtö",
|
||
"blockIo": "Estä I/O",
|
||
"read": "Lukea",
|
||
"write": "Kirjoittaa",
|
||
"pids": "PID-tunnukset",
|
||
"containerInformation": "Säiliön tiedot",
|
||
"name": "Nimi",
|
||
"id": "Henkilöllisyystodistus",
|
||
"state": "Osavaltio",
|
||
"containerMustBeRunning": "Kontin on oltava käynnissä, jotta konsoliin pääsee käsiksi.",
|
||
"verificationCodePrompt": "Syötä vahvistuskoodi",
|
||
"totpVerificationFailed": "TOTP-vahvistus epäonnistui. Yritä uudelleen.",
|
||
"warpgateVerificationFailed": "Warpgate-todennus epäonnistui. Yritä uudelleen.",
|
||
"connectedTo": "Yhdistetty kohteeseen {{containerName}}",
|
||
"disconnected": "Yhteys katkennut",
|
||
"consoleError": "Konsolivirhe",
|
||
"errorMessage": "Virhe: {{message}}",
|
||
"failedToConnect": "Yhteyden muodostaminen säilöön epäonnistui",
|
||
"console": "Konsoli",
|
||
"selectShell": "Valitse komentotulkki",
|
||
"bash": "Lyödä",
|
||
"sh": "sh",
|
||
"ash": "tuhka",
|
||
"connect": "Yhdistä",
|
||
"disconnect": "Katkaise yhteys",
|
||
"notConnected": "Ei yhdistetty",
|
||
"clickToConnect": "Aloita shell-istunto napsauttamalla Yhdistä",
|
||
"connectingTo": "Yhdistetään kohteeseen {{containerName}}...",
|
||
"containerNotFound": "Säiliötä ei löydy",
|
||
"backToList": "Takaisin listaan",
|
||
"logs": "Lokit",
|
||
"stats": "Tilastot",
|
||
"consoleTab": "Konsoli",
|
||
"startContainerToAccess": "Käynnistä säilö päästäksesi konsoliin"
|
||
},
|
||
"admin": {
|
||
"sectionGeneral": "Yleistä",
|
||
"sectionOidc": "OIDC",
|
||
"sectionSso": "SSO-palveluntarjoajat",
|
||
"ssoAddProvider": "Lisää palveluntarjoaja",
|
||
"ssoDocsLink": "Näytä dokumentit",
|
||
"ssoProviderDocsLink": "Näytä dokumentit",
|
||
"ssoNoProviders": "SSO-palveluntarjoajia ei ole määritetty.",
|
||
"ssoProviderName": "Näyttönimi",
|
||
"ssoProviderType": "Palveluntarjoajan tyyppi",
|
||
"ssoDeleteProvider": "Poista palveluntarjoaja",
|
||
"ssoDeleteConfirm": "Poistetaanko tämä palveluntarjoaja? Liitännäiset käyttäjät eivät voi kirjautua sisään.",
|
||
"ssoTypeOidc": "OIDC",
|
||
"ssoTypeLdap": "LDAP",
|
||
"ssoTypeGithub": "GitHub",
|
||
"ssoTypeGoogle": "Google",
|
||
"ssoEnabled": "Käytössä",
|
||
"ssoDisabled": "Liikuntarajoitteinen",
|
||
"ssoSaveProvider": "Tallenna palveluntarjoaja",
|
||
"ssoTestConnection": "Testaa yhteys",
|
||
"ssoEditProvider": "Muokkaa palveluntarjoajaa",
|
||
"ldapHost": "LDAP-isäntä",
|
||
"ldapPort": "Portti",
|
||
"ldapUseTls": "Käytä TLS:ää (LDAPS)",
|
||
"ldapBindDn": "Sido DN",
|
||
"ldapBindPassword": "Sido salasana",
|
||
"ldapUserSearchBase": "Käyttäjähakupohja",
|
||
"ldapUserSearchFilter": "Käyttäjän hakusuodatin",
|
||
"ldapUsernameAttr": "Käyttäjätunnusattribuutti",
|
||
"ldapDisplayNameAttr": "Näyttönimen attribuutti",
|
||
"ldapGroupSearchBase": "Ryhmän hakukanta",
|
||
"ldapAdminGroup": "Hallintaryhmä",
|
||
"ldapAllowedUsers": "Sallitut käyttäjät",
|
||
"sectionUsers": "Käyttäjät",
|
||
"sectionSessions": "Istunnot",
|
||
"sectionRoles": "Roolit",
|
||
"sectionDatabase": "Tietokanta",
|
||
"sectionApiKeys": "API-avaimet",
|
||
"sectionAuditLog": "Tarkastusloki",
|
||
"sectionSsl": "SSL / Let's Encrypt",
|
||
"sslDescription": "Myönnä ja uusi automaattisesti Let's Encryptin luotettava SSL-varmenne. Vaatii julkisen verkkotunnuksen ja portin 80 tai DNS-yhteyden.",
|
||
"sslDocsLink": "Näytä SSL-dokumentit",
|
||
"sslDomain": "Verkkotunnus",
|
||
"sslDomainPlaceholder": "termix.esimerkki.com",
|
||
"sslDomainDesc": "Varmenteen julkinen verkkotunnus.",
|
||
"sslEmail": "Sähköposti",
|
||
"sslEmailPlaceholder": "admin@esimerkki.com",
|
||
"sslEmailDesc": "Let's Encrypt -ilmoitusten ja -tilin yhteystiedot.",
|
||
"sslChallengeType": "Haasteen tyyppi",
|
||
"sslChallengeTypeDesc": "Kuinka todistaa verkkotunnuksen omistajuus Let's Encryptille.",
|
||
"sslChallengeHttp": "HTTP (webroot) – vaatii internetistä saatavilla olevan portin 80",
|
||
"sslChallengeDns": "DNS (Cloudflare) – vaatii Cloudflare API -tunnuksen",
|
||
"sslCloudflareToken": "Cloudflare API-tunnus",
|
||
"sslCloudflareTokenPlaceholder": "Syötä tunnus...",
|
||
"sslCloudflareTokenDesc": "Laajuusaluetunnus, jolla on Zone:DNS:Edit-käyttöoikeus verkkotunnuksellesi.",
|
||
"sslCertStatus": "Sertifikaatin tila",
|
||
"sslCertStatusNone": "Ei todistusta",
|
||
"sslCertStatusValid": "Voimassa",
|
||
"sslCertStatusExpiring": "Vanhenee pian",
|
||
"sslCertStatusExpired": "Vanhentunut",
|
||
"sslCertExpiresAt": "Vanhenee {{date}}",
|
||
"sslLastIssued": "Viimeksi myönnetty {{date}}",
|
||
"sslRequestCert": "Myönnä / Uudista sertifikaatti",
|
||
"sslRequestCertLoading": "Pyydetään varmennetta...",
|
||
"sslRequestCertSuccess": "Varmenne myönnetty ja asennettu onnistuneesti",
|
||
"sslRequestCertFailed": "Varmennepyyntö epäonnistui",
|
||
"sslSave": "Tallenna asetukset",
|
||
"sslSaved": "SSL-asetukset tallennettu",
|
||
"sslSaveFailed": "SSL-asetusten tallentaminen epäonnistui",
|
||
"sslRequiresDomain": "Verkkotunnus ja sähköpostiosoite vaaditaan",
|
||
"sslInfoNote": "Kun olet myöntänyt varmenteen, ota SSL käyttöön ympäristömuuttujissasi (ENABLE_SSL=true) ja käynnistä Termix uudelleen.",
|
||
"auditLogTotal": "{{total}} merkintöjä yhteensä",
|
||
"auditLogEmpty": "Ei tarkastuslokin merkintöjä",
|
||
"auditLogSuccess": "Menestys",
|
||
"auditLogFailed": "Epäonnistui",
|
||
"auditLogClearFilters": "Tyhjennä suodattimet",
|
||
"auditLogPage": "Sivu {{page}} / {{totalPages}} (yhteensä{{total}})",
|
||
"auditLogIp": "IP-osoite",
|
||
"auditLogResourceId": "Resurssin tunnus",
|
||
"auditLogFilterUser": "Käyttäjä",
|
||
"auditLogFilterAction": "Toiminta",
|
||
"auditLogFilterResourceType": "Resurssityyppi",
|
||
"auditLogFilterStatus": "Status",
|
||
"auditLogFilterFrom": "Alkaen",
|
||
"auditLogFilterTo": "Kohti",
|
||
"auditLogFilterAll": "Kaikki",
|
||
"allowRegistration": "Salli käyttäjän rekisteröinti",
|
||
"allowRegistrationDesc": "Anna uusien käyttäjien rekisteröityä itse käyttäjätunnuksella ja salasanalla",
|
||
"allowPasswordLogin": "Salli salasanalla kirjautuminen",
|
||
"allowPasswordLoginDesc": "Käyttäjätunnus/salasana kirjautuminen",
|
||
"oidcAutoProvision": "OIDC:n automaattinen valmistelu",
|
||
"oidcAutoProvisionDesc": "Luo OIDC/SSO-käyttäjille tilit automaattisesti ensimmäisen kirjautumisen yhteydessä (rekisteröintiasetuksista riippumatta)",
|
||
"oidcSilentLoginDefault": "Hiljainen OIDC-kirjautuminen oletuksena",
|
||
"oidcSilentLoginDefaultDesc": "Ohjaa automaattisesti OIDC-kirjautumiseen joka käynnillä, ohittaen kirjautumislomakkeen kokonaan",
|
||
"allowPasswordReset": "Salli salasanan palautus",
|
||
"allowPasswordResetDesc": "Palauta koodi Docker-lokien kautta",
|
||
"commandHistoryEnabled": "Komentohistoria",
|
||
"commandHistoryEnabledDesc": "Salli komentohistorian tallennus. Kun tämä on poistettu käytöstä, historiaa ei tallenneta isäntäkohtaisista asetuksista riippumatta.",
|
||
"updateCommandHistoryFailed": "Komentohistoria-asetuksen päivittäminen epäonnistui",
|
||
"sessionTimeout": "Istunnon aikakatkaisu",
|
||
"hours": "tuntia",
|
||
"sessionTimeoutRange": "Vähintään 1 h · Enintään 720 h",
|
||
"monitoringDefaults": "Valvonnan oletusarvot",
|
||
"statusCheck": "Tilatarkistus",
|
||
"metrics": "Mittarit",
|
||
"sec": "sek",
|
||
"logLevel": "Lokitaso",
|
||
"enableGuacamole": "Ota guacamole käyttöön",
|
||
"enableGuacamoleDesc": "RDP/VNC-etätyöpöytä",
|
||
"enableGuacamoleDocsLink": "Näytä dokumentit",
|
||
"guacdUrl": "guacd-URL-osoite",
|
||
"tailscaleApiKey": "Tailscale API-avain",
|
||
"tailscaleApiKeyDescription": "Käytetään laitteen löytämiseen isäntäeditorissa. Luo avain osoitteessa tailscale.com/admin/settings/keys.",
|
||
"tailscaleApiKeyDocsLink": "Näytä dokumentit",
|
||
"oidcDescription": "Määritä OpenID Connect kertakirjautumista varten. Tähdellä (*) merkityt kentät ovat pakollisia.",
|
||
"oidcDocsLink": "Näytä dokumentit",
|
||
"oidcClientId": "Asiakastunnus",
|
||
"oidcClientSecret": "Asiakkaan salaisuus",
|
||
"oidcAuthUrl": "Valtuutus-URL-osoite",
|
||
"oidcIssuerUrl": "Liikkeeseenlaskijan URL-osoite",
|
||
"oidcTokenUrl": "Tunnuksen URL-osoite",
|
||
"oidcUserIdentifier": "Käyttäjätunnisteen polku",
|
||
"oidcDisplayName": "Näyttönimen polku",
|
||
"oidcScopes": "Laajuusalueet",
|
||
"oidcUserinfoUrl": "Käyttäjätietojen URL-osoitteen ohitus",
|
||
"oidcAllowedUsers": "Sallitut käyttäjät",
|
||
"oidcAllowedUsersDesc": "Yksi sähköpostiosoite riviä kohden. Jätä tyhjäksi salliaksesi kaikki.",
|
||
"oidcAdminGroup": "Hallintaryhmä",
|
||
"oidcAdminGroupDesc": "Tämän ryhmän käyttäjille on myönnetty järjestelmänvalvojan oikeudet. Jätä tyhjäksi, jos haluat poistaa ryhmän synkronoinnin käytöstä.",
|
||
"oidcGroupClaim": "Ryhmävaatimus",
|
||
"oidcGroupClaimDesc": "Valinnainen. Vaatimuspolku, joka sisältää käyttäjän ryhmät. Oletusarvo on ryhmät, roolit ja lopuksi ryhmä. Käytä tätä palveluntarjoajille, joilla on mukautettu vaatimus (esim. Zitadel).",
|
||
"oidcCaCert": "Mukautettu CA-varmenne",
|
||
"oidcCaCertDesc": "Valinnainen. PEM-koodattu CA-varmenne OIDC-palveluntarjoajille, jotka käyttävät yksityistä tai itse allekirjoitettua CA:ta. Jätä tyhjäksi, jos haluat käyttää järjestelmän luotettavuussäilöä.",
|
||
"removeOidc": "Poistaa",
|
||
"usersCount": "{{count}} käyttäjää",
|
||
"createUser": "Luoda",
|
||
"newRole": "Uusi rooli",
|
||
"roleName": "Nimi",
|
||
"roleDisplayName": "Näyttönimi",
|
||
"roleDescription": "Kuvaus",
|
||
"rolesCount": "{{count}} roolit",
|
||
"createRole": "Luoda",
|
||
"creating": "Luodaan...",
|
||
"exportDatabase": "Vie tietokanta",
|
||
"exportDatabaseDesc": "Lataa varmuuskopio kaikista isännistä, tunnistetiedoista ja asetuksista",
|
||
"export": "Viedä",
|
||
"exporting": "Vienti...",
|
||
"importDatabase": "Tuo tietokanta",
|
||
"importDatabaseDesc": "Palauttaminen .sqlite-varmuuskopiotiedostosta",
|
||
"importDatabaseSelected": "Valittu: {{name}}",
|
||
"selectFile": "Valitse tiedosto",
|
||
"changeFile": "Muuttaa",
|
||
"import": "Tuoda",
|
||
"importing": "Tuodaan...",
|
||
"apiKeysCount": "{{count}} -näppäimet",
|
||
"apiKeysDocsLink": "Näytä dokumentit",
|
||
"newApiKey": "Uusi API-avain",
|
||
"apiKeyCreatedWarning": "Avain luotu - kopioi se nyt, sitä ei näytetä uudelleen.",
|
||
"apiKeyName": "Nimi",
|
||
"apiKeyUser": "Käyttäjä",
|
||
"apiKeySelectUser": "Valitse käyttäjä...",
|
||
"apiKeyExpiresAt": "Vanhenee klo",
|
||
"createKey": "Luo avain",
|
||
"apiKeyNoExpiry": "Ei vanhenemista",
|
||
"revokedBadge": "PERUTTU",
|
||
"authTypeDual": "Kaksoistutkimus",
|
||
"authTypeOidc": "OIDC",
|
||
"authTypeLocal": "Paikallinen",
|
||
"adminStatusAdministrator": "Ylläpitäjä",
|
||
"adminStatusRegularUser": "Tavallinen käyttäjä",
|
||
"adminBadge": "YLLÄPITÄJÄ",
|
||
"systemBadge": "JÄRJESTELMÄ",
|
||
"customBadge": "MUKAUTETTU",
|
||
"youBadge": "SINÄ",
|
||
"sessionsActive": "{{count}} aktiivinen",
|
||
"sessionActive": "Aktiivinen: {{time}}",
|
||
"sessionExpires": "Voimassaoloaika: {{time}}",
|
||
"revokeAll": "Kaikki",
|
||
"revokeAllSessionsSuccess": "Kaikki käyttäjän istunnot peruutettu",
|
||
"revokeAllSessionsFailed": "Istuntojen peruuttaminen epäonnistui",
|
||
"revokeSessionFailed": "Istunnon peruuttaminen epäonnistui",
|
||
"addRole": "Lisää rooli",
|
||
"noCustomRoles": "Ei määritettyjä mukautettuja rooleja",
|
||
"removeRoleFailed": "Roolin poistaminen epäonnistui",
|
||
"assignRoleFailed": "Roolin määrittäminen epäonnistui",
|
||
"deleteRoleFailed": "Roolin poistaminen epäonnistui",
|
||
"userAdminAccess": "Ylläpitäjä",
|
||
"userAdminAccessDesc": "Täysi pääsy kaikkiin järjestelmänvalvojan asetuksiin",
|
||
"userRoles": "Roolit",
|
||
"revokeAllUserSessions": "Peruuta kaikki istunnot",
|
||
"revokeAllUserSessionsDesc": "Pakota uudelleenkirjautuminen kaikilla laitteilla",
|
||
"revoke": "Peruuttaa",
|
||
"deleteUserWarning": "Tämän käyttäjän poistaminen on pysyvää.",
|
||
"deleteUser": "Poista {{username}}",
|
||
"deleting": "Poistetaan...",
|
||
"deleteUserFailed": "Käyttäjän poistaminen epäonnistui",
|
||
"deleteUserSuccess": "Käyttäjä \"{{username}}\" poistettu",
|
||
"deleteRoleSuccess": "Rooli \"{{name}}\" poistettu",
|
||
"revokeKeySuccess": "Avain \"{{name}}\" peruutettu",
|
||
"revokeKeyFailed": "Avaimen peruuttaminen epäonnistui",
|
||
"copiedToClipboard": "Kopioitu leikepöydälle",
|
||
"done": "Tehty",
|
||
"createUserTitle": "Luo käyttäjä",
|
||
"createUserDesc": "Luo uusi paikallinen tili.",
|
||
"createUserUsername": "Käyttäjätunnus",
|
||
"createUserPassword": "Salasana",
|
||
"createUserPasswordHint": "Vähintään 6 merkkiä.",
|
||
"createUserEnterUsername": "Syötä käyttäjätunnus",
|
||
"createUserEnterPassword": "Syötä salasana",
|
||
"createUserSubmit": "Luo käyttäjä",
|
||
"editUserTitle": "Käyttäjän hallinta: {{username}}",
|
||
"editUserDesc": "Muokkaa rooleja, järjestelmänvalvojan tilaa, istuntoja ja tilin asetuksia.",
|
||
"editUserUsername": "Käyttäjätunnus",
|
||
"editUserAuthType": "Valtuutustyyppi",
|
||
"editUserAdminStatus": "Ylläpitäjän tila",
|
||
"editUserUserId": "Käyttäjätunnus",
|
||
"linkAccountTitle": "Yhdistä tilit",
|
||
"linkAccountDesc": "Yhdistä OIDC-tili {{username}} olemassa olevaan paikalliseen tiliin.",
|
||
"linkAccountDescLocal": "Yhdistä paikallinen tili {{username}} olemassa olevaan OIDC-tilille.",
|
||
"linkAccountWarningTitle": "Tämä auttaa:",
|
||
"linkAccountEffect1": "Poista OIDC-tilin",
|
||
"linkAccountEffect2": "Lisää OIDC-kirjautumistiedot kohdetilille",
|
||
"linkAccountEffect3": "Salli sekä OIDC- että salasanakirjautuminen",
|
||
"linkAccountTargetUsername": "Paikallisen tilin käyttäjätunnus",
|
||
"linkAccountTargetPlaceholder": "Anna paikallisen tilin käyttäjätunnus, johon linkitetään",
|
||
"linkAccountOidcUsername": "OIDC-tilin käyttäjätunnus",
|
||
"linkAccountOidcPlaceholder": "Anna yhdistettävän OIDC-tilin käyttäjätunnus",
|
||
"linkAccountOidcNotFound": "Käyttäjätunnuksella ei löytynyt OIDC-tiliä.",
|
||
"linkAccounts": "Linkitä tilit",
|
||
"linkAccountSuccess": "Tilit linkitetty onnistuneesti",
|
||
"linkAccountFailed": "Tilien linkittäminen epäonnistui",
|
||
"linkAccountInProgress": "Linkitetään...",
|
||
"unlinkAccountTitle": "Poista OIDC-linkitys",
|
||
"unlinkAccountDesc": "Poista OIDC-todennus kohdasta {{username}}. He voivat kirjautua sisään vain salasanallaan.",
|
||
"unlinkAccountWarning": "Tämä poistaa OIDC-kirjautumisen tältä tililtä. Käyttäjällä on oltava salasana asetettuna voidakseen jatkaa sisäänkirjautumista.",
|
||
"unlinkAccount": "Poista OIDC-linkitys",
|
||
"unlinkAccountInProgress": "Linkityksen poistaminen...",
|
||
"unlinkAccountSuccess": "OIDC-linkitys poistettu onnistuneesti",
|
||
"unlinkAccountFailed": "OIDC:n linkityksen poistaminen epäonnistui",
|
||
"saving": "Tallennetaan...",
|
||
"updateRegistrationFailed": "Rekisteröintiasetuksen päivittäminen epäonnistui",
|
||
"updatePasswordLoginFailed": "Salasanan kirjautumisasetusten päivittäminen epäonnistui",
|
||
"cannotDisablePasswordLoginWithTotp": "Salasanalla kirjautumista ei voi poistaa käytöstä, kun 2FA on käytössä yhdelle tai useammalle käyttäjälle. Poista 2FA ensin käytöstä.",
|
||
"updateOidcAutoProvisionFailed": "OIDC:n automaattisen valmistelun asetuksen päivittäminen epäonnistui.",
|
||
"updateOidcSilentLoginDefaultFailed": "Hiljaisen OIDC-kirjautumisasetuksen päivittäminen epäonnistui",
|
||
"updatePasswordResetFailed": "Salasanan palautusasetuksen päivittäminen epäonnistui",
|
||
"sessionTimeoutRange2": "Istunnon aikakatkaisun on oltava 1–720 tuntia",
|
||
"sessionTimeoutSaved": "Istunnon aikakatkaisu tallennettu",
|
||
"sessionTimeoutSaveFailed": "Istunnon aikakatkaisun tallentaminen epäonnistui",
|
||
"monitoringIntervalInvalid": "Virheelliset väliarvot",
|
||
"monitoringSaved": "Valvonta-asetukset tallennettu",
|
||
"monitoringSaveFailed": "Valvonta-asetusten tallentaminen epäonnistui",
|
||
"metricsHistoryRetention": "Mittarihistorian säilytys",
|
||
"metricsHistoryRetentionRange": "1–90 päivää",
|
||
"days": "päivää",
|
||
"guacamoleSaved": "Guacamole-asetukset tallennettu",
|
||
"guacamoleSaveFailed": "Guacamole-asetusten tallentaminen epäonnistui",
|
||
"guacamoleUpdateFailed": "Guacamole-asetuksen päivittäminen epäonnistui",
|
||
"tailscaleSettingsSaved": "Tailscale-asetukset tallennettu",
|
||
"tailscaleSettingsSaveFailed": "Tailscale-asetusten tallentaminen epäonnistui",
|
||
"logLevelUpdateFailed": "Lokitason päivittäminen epäonnistui",
|
||
"oidcSaved": "OIDC-määritys tallennettu",
|
||
"oidcSaveFailed": "OIDC-määrityksen tallentaminen epäonnistui",
|
||
"oidcRemoved": "OIDC-määritys poistettu",
|
||
"oidcRemoveFailed": "OIDC-määrityksen poistaminen epäonnistui",
|
||
"createUserRequired": "Käyttäjätunnus ja salasana vaaditaan",
|
||
"createUserPasswordTooShort": "Salasanan on oltava vähintään 6 merkkiä pitkä",
|
||
"createUserSuccess": "Käyttäjä \"{{username}}\" luotu",
|
||
"createUserFailed": "Käyttäjän luominen epäonnistui",
|
||
"updateAdminStatusFailed": "Ylläpitäjän tilan päivittäminen epäonnistui",
|
||
"allSessionsRevoked": "Kaikki istunnot peruutettu",
|
||
"revokeSessionsFailed": "Istuntojen peruuttaminen epäonnistui",
|
||
"manageUserData": "Hallinnoi käyttäjätietoja",
|
||
"backToUsers": "Takaisin käyttäjiin",
|
||
"manageTabAccount": "Tili",
|
||
"manageTabHosts": "Isännät",
|
||
"manageTabCredentials": "Valtakirjat",
|
||
"manageTabSnippets": "Katkelmat",
|
||
"manageTabSessions": "Istunnot",
|
||
"manageTabDanger": "Vaara",
|
||
"manageEditorBack": "Takaisin käyttäjän {{username}}tietoihin",
|
||
"dataLockedBadge": "LUKITTU",
|
||
"dataLockedNotice": "{{username}}:n tiedot pysyvät lukittuina, kunnes he kirjautuvat sisään seuraavalla kerralla. Heidän palvelimiaan, tunnistetietojaan ja koodinpätkiään ei voida tarkastella tai muokata ennen sitä.",
|
||
"resetPasswordTitle": "Palauta salasana",
|
||
"resetPasswordOidcOnly": "Tämä käyttäjä kirjautuu sisään ulkoisen palveluntarjoajan kautta eikä hänellä ole salasanaa.",
|
||
"resetPasswordPlaceholder": "Uusi salasana",
|
||
"resetPasswordBtn": "Nollaa",
|
||
"resetPasswordWorking": "Nollataan...",
|
||
"resetPasswordSuccess": "Salasanan palautus",
|
||
"resetPasswordSuccessWiped": "Salasanan palautus. Käyttäjän salatut tiedot on pyyhitty.",
|
||
"resetPasswordFailed": "Salasanan nollaaminen epäonnistui",
|
||
"resetPasswordConfirmWipe": "{{username}} ei ole kirjautunut sisään salauspäivityksen jälkeen, joten hänen tietojaan ei voida palauttaa. Nollaaminen nyt poistaa hänen palvelimensa, tunnistetietonsa ja koodinpätkänsä. Jatketaanko?",
|
||
"totpSectionTitle": "Kaksivaiheinen todennus",
|
||
"totpStatusEnabled": "TOTP on käytössä tälle käyttäjälle",
|
||
"totpStatusDisabled": "TOTP ei ole käytössä tälle käyttäjälle",
|
||
"disableTotp": "Poista käytöstä",
|
||
"disableTotpConfirm": "Poista kaksivaiheinen todennus käytöstä käyttäjälle {{username}}? He voivat kirjautua sisään pelkällä salasanallaan.",
|
||
"totpDisabledSuccess": "TOTP poistettu käytöstä",
|
||
"totpDisableFailed": "TOTP:n poistaminen käytöstä epäonnistui",
|
||
"manageApiKeys": "API-avaimet",
|
||
"apiKeyNamePlaceholder": "Avaimen nimi",
|
||
"apiKeyCopyNotice": "Kopioi tämä avain nyt, sitä ei näytetä enää uudelleen.",
|
||
"noApiKeysForUser": "Ei API-avaimia",
|
||
"apiKeyDeleteFailed": "API-avaimen poistaminen epäonnistui",
|
||
"exportUserData": "Tietojen vienti",
|
||
"exportUserDataDesc": "Lataa tämän käyttäjän isännät, tunnistetiedot ja tiedostonhallintadata JSON-muodossa. Salaisuudet on purettu.",
|
||
"exportUserDataSuccess": "Käyttäjätiedot viety",
|
||
"exportUserDataFailed": "Käyttäjätietojen vienti epäonnistui",
|
||
"hostsCount": "{{count}} isännät",
|
||
"addHostForUser": "Lisää isäntä",
|
||
"noHostsForUser": "Tällä käyttäjällä ei ole isäntiä",
|
||
"connectToHost": "Yhdistä",
|
||
"deleteHostConfirm": "Poistetaanko isäntä \"{{name}}\", joka kuuluu {{username}}:lle?",
|
||
"hostDeletedSuccess": "Isäntä poistettu",
|
||
"hostDeleteFailed": "Isännän poistaminen epäonnistui",
|
||
"credentialsCount": "{{count}} tunnistetiedot",
|
||
"addCredentialForUser": "Lisää tunnistetiedot",
|
||
"noCredentialsForUser": "Tällä käyttäjällä ei ole tunnuksia",
|
||
"deleteCredentialConfirm": "Poistetaanko tunniste \"{{name}}\", joka kuuluu käyttäjälle {{username}}?",
|
||
"credentialDeletedSuccess": "Tunnistetiedot poistettu",
|
||
"credentialDeleteFailed": "Tunnuksen poistaminen epäonnistui",
|
||
"snippetsCount": "{{count}} katkelmia",
|
||
"addSnippetForUser": "Lisää katkelma",
|
||
"noSnippetsForUser": "Tällä käyttäjällä ei ole katkelmia",
|
||
"snippetRequiredFields": "Katkelman nimi ja sisältö vaaditaan",
|
||
"snippetNamePlaceholder": "Katkelman nimi",
|
||
"snippetContentPlaceholder": "Komennon sisältö",
|
||
"snippetFolderPlaceholder": "Kansio (valinnainen)",
|
||
"snippetSaved": "Katkelma tallennettu",
|
||
"snippetSaveFailed": "Katkelman tallentaminen epäonnistui",
|
||
"deleteSnippetConfirm": "Poistetaanko koodinpätkä \"{{name}}\", joka kuuluu käyttäjälle {{username}}?",
|
||
"snippetDeletedSuccess": "Katkelma poistettu",
|
||
"snippetDeleteFailed": "Katkelman poistaminen epäonnistui",
|
||
"noSessionsForUser": "Ei aktiivisia istuntoja",
|
||
"deleteUserDangerDesc": "Poista pysyvästi {{username}} ja kaikki siihen liittyvät tiedot (isännät, tunnistetiedot, koodinpätkät, historia). Tätä ei voi perua.",
|
||
"deleteUserConfirm": "Poistetaanko pysyvästi {{username}} ja kaikki heidän datansa?",
|
||
"deleteUserAdminBlocked": "Poista järjestelmänvalvojan tila ennen tämän käyttäjän poistamista.",
|
||
"createRoleRequired": "Nimi ja näyttönimi vaaditaan",
|
||
"createRoleSuccess": "Rooli \"{{name}}\" luotu",
|
||
"createRoleFailed": "Roolin luominen epäonnistui",
|
||
"apiKeyNameRequired": "Avaimen nimi on pakollinen",
|
||
"apiKeyUserRequired": "Käyttäjätunnus vaaditaan",
|
||
"apiKeyCreatedSuccess": "API-avain \"{{name}}\" luotu",
|
||
"apiKeyCreateFailed": "API-avaimen luominen epäonnistui",
|
||
"exportSuccess": "Tietokannan vienti onnistui",
|
||
"exportFailed": "Tietokannan vienti epäonnistui",
|
||
"importSelectFile": "Valitse ensin tiedosto",
|
||
"importCompleted": "Tuonti valmis: {{total}} kohdetta tuotu, {{skipped}} ohitettu",
|
||
"importFailed": "Tuonti epäonnistui: {{error}}",
|
||
"importError": "Tietokannan tuonti epäonnistui",
|
||
"sectionHostDefaults": "Isännän oletusasetukset",
|
||
"hostDefaultsDesc": "Asetukset otetaan käyttöön automaattisesti uutta isäntää luotaessa. Yksittäiset isännät voivat edelleen ohittaa nämä.",
|
||
"hostDefaultsSocks5": "SOCKS5-välityspalvelin",
|
||
"hostDefaultsUseSocks5": "Ota SOCKS5-välityspalvelin käyttöön",
|
||
"hostDefaultsUseSocks5Desc": "Esitäytä SOCKS5-välityspalvelin kaikissa uusissa isännissä",
|
||
"hostDefaultsSocks5Host": "Välityspalvelin/portti",
|
||
"hostDefaultsSocks5Username": "Välityspalvelimen käyttäjätunnus",
|
||
"hostDefaultsSocks5Password": "Välityspalvelimen salasana",
|
||
"hostDefaultsMetrics": "Isännän mittarit",
|
||
"hostDefaultsMetricsEnabled": "Ota mittarit käyttöön",
|
||
"hostDefaultsMetricsEnabledDesc": "Kerää oletuksena uusien isäntien suorittimen, muistin ja muita tilastoja",
|
||
"hostDefaultsStatusCheckEnabled": "Ota tilan tarkistus käyttöön",
|
||
"hostDefaultsStatusCheckEnabledDesc": "Kysely online/offline-tila uusilla isännöillä oletuksena",
|
||
"hostDefaultsTerminal": "Terminaali",
|
||
"hostDefaultsSessionLogging": "Istuntojen lokitiedot",
|
||
"hostDefaultsSessionLoggingDesc": "Tallenna pääteistunnot uusille isännille oletuksena",
|
||
"hostDefaultsCommandHistory": "Komentohistoria",
|
||
"hostDefaultsCommandHistoryDesc": "Seuraa komentohistoriaa uusilla isännillä oletuksena",
|
||
"hostDefaultsSaved": "Isännän oletusasetukset tallennettu",
|
||
"hostDefaultsSaveFailed": "Isännän oletusasetusten tallentaminen epäonnistui",
|
||
"rolePermissions": {
|
||
"count": "{{count}} käyttöoikeudet",
|
||
"editAction": "Muokkaa käyttöoikeuksia",
|
||
"loadError": "Käyttöoikeusluettelon lataaminen epäonnistui",
|
||
"saved": "Roolien käyttöoikeudet tallennettu",
|
||
"saveError": "Roolien käyttöoikeuksien tallentaminen epäonnistui",
|
||
"save": "Tallentaa",
|
||
"saving": "Tallennetaan..."
|
||
}
|
||
},
|
||
"newUi": {
|
||
"sidebar": {
|
||
"quickConnect": {
|
||
"hostLabel": "Isäntä",
|
||
"hostPlaceholder": "192.168.1.1 tai esimerkki.com",
|
||
"portLabel": "Portti",
|
||
"portPlaceholder": "22",
|
||
"usernameLabel": "Käyttäjätunnus",
|
||
"usernamePlaceholder": "käyttäjätunnus",
|
||
"authLabel": "Valtuutus",
|
||
"passwordLabel": "Salasana",
|
||
"passwordPlaceholder": "salasana",
|
||
"privateKeyLabel": "Yksityinen avain",
|
||
"privateKeyPlaceholder": "Liitä yksityinen avain...",
|
||
"credentialLabel": "Valtakirja",
|
||
"credentialPlaceholder": "Valitse tallennettu tunnistetieto",
|
||
"connectToTerminal": "Yhdistä terminaaliin",
|
||
"connectToFiles": "Yhdistä tiedostoihin"
|
||
},
|
||
"history": {
|
||
"noTerminalSelected": "Ei valittua päätettä",
|
||
"noTerminalSelectedHint": "Avaa SSH-päätevälilehti nähdäksesi sen komentohistorian",
|
||
"searchPlaceholder": "Hakuhistoria...",
|
||
"clearAll": "Tyhjennä kaikki",
|
||
"noHistoryEntries": "Ei historiamerkintöjä",
|
||
"trackingDisabled": "Historian seuranta on poistettu käytöstä",
|
||
"trackingDisabledHint": "Ota se käyttöön isännän pääteasetuksissa."
|
||
},
|
||
"sshTools": {
|
||
"keyRecordingTitle": "Näppäinten tallennus",
|
||
"recordToTerminals": "Tallenna terminaaleihin",
|
||
"selectAll": "Kaikki",
|
||
"selectNone": "Ei mitään",
|
||
"noTerminalTabsOpen": "Ei auki olevia päätevälilehtiä",
|
||
"selectTerminalsAbove": "Valitse päätteet yllä",
|
||
"broadcastInputPlaceholder": "Kirjoita tähän lähettääksesi näppäinpainalluksia...",
|
||
"fillPassword": "Täytä salasana",
|
||
"fillPasswordSuccess": "Salasana syötetty {{count}} terminaaliin/terminaaleihin",
|
||
"fillPasswordMissing": "Ei tallennettua salasanaa {{count}} valitulle päätteelle/päätteille",
|
||
"stopRecording": "Lopeta tallennus",
|
||
"startRecording": "Aloita tallennus",
|
||
"settingsTitle": "Asetukset",
|
||
"enableRightClickCopyPaste": "Ota käyttöön hiiren kakkospainikkeella kopiointi/liitäminen"
|
||
},
|
||
"splitScreen": {
|
||
"layoutTitle": "Layout",
|
||
"selectLayoutAbove": "Valitse asettelu yllä",
|
||
"selectLayoutHint": "Valitse näytettävien ruutujen määrä",
|
||
"panesTitle": "Ruudut",
|
||
"openTabsTitle": "Avaa välilehdet",
|
||
"dragTabsHint": "Vedä välilehdet yllä oleviin ruutuihin tai käytä pikamääritystä",
|
||
"dropHere": "Pudota tähän",
|
||
"emptyPane": "Tyhjä",
|
||
"dashboard": "Kojelauta",
|
||
"clearSplitScreen": "Tyhjennä jaettu näyttö",
|
||
"quickAssign": "Pikamääritys",
|
||
"alreadyAssigned": "Ruutu {{index}}",
|
||
"splitTab": "Jaettu välilehti",
|
||
"addToSplit": "Lisää jakoon",
|
||
"removeFromSplit": "Poista jaosta",
|
||
"assignToPane": "Määritä ruutuun",
|
||
"hotkeysTitle": "Pikanäppäimet",
|
||
"hotkeysSplitRight": "Kaksisuuntainen jako päälle/pois",
|
||
"hotkeysSplitBelow": "3-tie jako päälle/pois",
|
||
"hotkeysNavigatePane": "Navigoi ruuduissa",
|
||
"hotkeysNextTab": "Seuraava välilehti",
|
||
"hotkeysPrevTab": "Edellinen välilehti"
|
||
},
|
||
"snippets": {
|
||
"title": "Katkelmat",
|
||
"createSnippetTitle": "Luo katkelma",
|
||
"createSnippetDescription": "Luo uusi komentokehotteen nopeaa suorittamista varten",
|
||
"nameLabel": "Nimi",
|
||
"namePlaceholder": "esim. Käynnistä Nginx uudelleen",
|
||
"descriptionLabel": "Kuvaus",
|
||
"descriptionPlaceholder": "Valinnainen kuvaus",
|
||
"optional": "Valinnainen",
|
||
"folderLabel": "Kansio",
|
||
"noFolder": "Ei kansiota (Luokittelematon)",
|
||
"commandLabel": "Komento",
|
||
"commandPlaceholder": "esim. sudo systemctl käynnistä nginx uudelleen",
|
||
"cancel": "Peruuttaa",
|
||
"createSnippetButton": "Luo katkelma",
|
||
"createFolderTitle": "Luo kansio",
|
||
"createFolderDescription": "Järjestä katkelmasi kansioihin",
|
||
"folderNameLabel": "Kansion nimi",
|
||
"folderNamePlaceholder": "esim. järjestelmäkomennot, Docker-skriptit",
|
||
"folderColorLabel": "Kansion väri",
|
||
"folderIconLabel": "Kansiokuvake",
|
||
"previewLabel": "Esikatselu",
|
||
"folderNameFallback": "Kansion nimi",
|
||
"createFolderButton": "Luo kansio",
|
||
"targetTerminals": "Kohdepäätteet",
|
||
"selectAll": "Kaikki",
|
||
"selectNone": "Ei mitään",
|
||
"noTerminalTabsOpen": "Ei auki olevia päätevälilehtiä",
|
||
"searchPlaceholder": "Haku katkelmia...",
|
||
"newSnippet": "Uusi katkelma",
|
||
"newFolder": "Uusi kansio",
|
||
"run": "Juokse",
|
||
"noSnippetsInFolder": "Tässä kansiossa ei ole katkelmia",
|
||
"uncategorized": "Luokittelematon",
|
||
"editSnippetTitle": "Muokkaa katkelmaa",
|
||
"editSnippetDescription": "Päivitä tämä komentokehotteen koodi",
|
||
"saveSnippetButton": "Tallenna muutokset",
|
||
"createSuccess": "Katkelma luotu onnistuneesti",
|
||
"createFailed": "Katkelman luominen epäonnistui",
|
||
"updateSuccess": "Katkelman päivitys onnistui",
|
||
"updateFailed": "Katkelman päivittäminen epäonnistui",
|
||
"deleteFailed": "Katkelman poistaminen epäonnistui",
|
||
"folderCreateSuccess": "Kansio luotu onnistuneesti",
|
||
"folderCreateFailed": "Kansion luominen epäonnistui",
|
||
"editFolderTitle": "Muokkaa kansiota",
|
||
"editFolderDescription": "Nimeä tämä kansio uudelleen tai muuta sen ulkoasua",
|
||
"saveFolderButton": "Tallenna muutokset",
|
||
"editFolder": "Muokkaa kansiota",
|
||
"deleteFolder": "Poista kansio",
|
||
"folderDeleteSuccess": "Kansio \"{{name}}\" poistettu",
|
||
"folderDeleteFailed": "Kansion poistaminen epäonnistui",
|
||
"folderEditSuccess": "Kansio päivitetty onnistuneesti",
|
||
"folderEditFailed": "Kansion päivittäminen epäonnistui",
|
||
"confirmRunMessage": "Suorittaa \"{{name}}\"?",
|
||
"confirmRunButton": "Juokse",
|
||
"runSuccess": "Suoritti komennon \"{{name}}\" {{count}} päätteessä/päätteissä",
|
||
"copySuccess": "Kopioitu \"{{name}}\" leikepöydälle",
|
||
"shareTitle": "Jaa katkelma",
|
||
"shareUser": "Käyttäjä",
|
||
"shareRole": "Rooli",
|
||
"selectUser": "Valitse käyttäjä...",
|
||
"selectRole": "Valitse rooli...",
|
||
"shareSuccess": "Katkelman jakaminen onnistui",
|
||
"shareFailed": "Katkelman jakaminen epäonnistui",
|
||
"revokeSuccess": "Pääsy peruutettu",
|
||
"revokeFailed": "Käyttöoikeuden peruuttaminen epäonnistui",
|
||
"currentAccess": "Nykyinen käyttöoikeus",
|
||
"shareLoadError": "Jaettujen tietojen lataaminen epäonnistui",
|
||
"loading": "Ladataan...",
|
||
"close": "Lähellä",
|
||
"reorderFailed": "Katkelmien järjestyksen tallentaminen epäonnistui",
|
||
"importExport": "Tuonti / vienti",
|
||
"exportBtn": "Vie JSON",
|
||
"importBtn": "Tuo JSON",
|
||
"exportSuccess": "Katkelmien vienti onnistui",
|
||
"exportFailed": "Katkelmien vienti epäonnistui",
|
||
"importTitle": "Tuo koodikatkelmia",
|
||
"importDescription": "Tuo koodikatkelmia ja kansioita Termixin viemästä JSON-tiedostosta",
|
||
"importDropOrClick": "Pudota JSON-tiedosto tähän tai napsauta selataksesi",
|
||
"importSelectedFile": "Valittu: {{name}}",
|
||
"importOverwrite": "Korvaa olemassa olevat koodinpätkät samalla nimellä ja kansiolla",
|
||
"importStartBtn": "Tuoda",
|
||
"importSuccess": "Tuonti valmis: {{snippets}} katkelma(a) lisätty, {{updated}} päivitetty, {{skipped}} ohitettu, {{folders}} kansio(a) lisätty",
|
||
"importFailed": "Katkelmien tuonti epäonnistui",
|
||
"importInvalidFile": "Virheellinen tiedosto: odotettiin JSON-objektia, jossa on koodikatkelmia tai kansiotaulukoita",
|
||
"targetHostsLabel": "Kohdepalvelimet",
|
||
"targetHostsHint": "Määritä isännät suorittamaan tämä koodinpätkä suoraan ilman avointa päätettä.",
|
||
"noHostsAvailable": "Ei määritettyjä isäntiä",
|
||
"clearTargetHosts": "Tyhjennä kaikki",
|
||
"hasTargetHosts": "Sisältää kohdeisäntiä",
|
||
"runOnTargets": "Juokse tavoitteilla",
|
||
"directRunSuccess": "Suoritti komennon \"{{name}}\" {{count}} isäntäkoneella/isännillä",
|
||
"directRunPartialFail": "\"{{name}}\" epäonnistui yhdellä tai useammalla isännällä",
|
||
"executionResultTitle": "Suorituksen tulokset: {{name}}",
|
||
"executionResultDescription": "Tuloste koodinpätkän suorittamisesta kullakin kohdeisännöllä.",
|
||
"executionSuccess": "Menestys",
|
||
"executionFailed": "Epäonnistui"
|
||
},
|
||
"userProfile": {
|
||
"donateTitle": "Pidä Termix hengissä",
|
||
"donateDescription": "Termix on ilmainen, itse isännöity ja vain muutaman ihmisen vapaa-ajallaan rakentama palvelu. Jos se on säästänyt aikaasi tai rahaasi, kryptovaluutan lahjoitus auttaa pitämään sen toiminnassa.",
|
||
"donateMilestones": "Lahjoitukset auttavat rahoittamaan aikaa SAML:n, Kubernetesin ja agenttituen rakentamiseen tarvittavien resurssien tutkimiseen ja oppimiseen. Katso edistymistä ja lahjoita.",
|
||
"donateButton": "Lahjoita kryptovaluuttaa",
|
||
"storageModeLocal": "Selain",
|
||
"storageModeCloud": "Tietokanta",
|
||
"storageModeDescription": "Selain tallentaa asetukset vain tähän selaimeen. Tietokanta synkronoituu palvelimelle ja latautuu mille tahansa laitteelle.",
|
||
"resetToDefaults": "Palauta oletusasetukset",
|
||
"resetToDefaultsSuccess": "Asetukset palautettu oletusasetuksiin.",
|
||
"storageModeSwitch": "Ensisijainen tallennustila",
|
||
"sectionAccount": "Tili",
|
||
"sectionAppearance": "Ulkonäkö",
|
||
"sectionSecurity": "Turvallisuus",
|
||
"sectionApiKeys": "API-avaimet",
|
||
"sectionC2sTunnels": "C2S-tunnelit",
|
||
"usernameLabel": "Käyttäjätunnus",
|
||
"roleLabel": "Rooli",
|
||
"roleAdministrator": "Ylläpitäjä",
|
||
"authMethodLabel": "Todennustapa",
|
||
"authMethodLocal": "Paikallinen",
|
||
"twoFaLabel": "2FA",
|
||
"twoFaOn": "Päällä",
|
||
"twoFaOff": "Pois",
|
||
"versionLabel": "Versio",
|
||
"betaProgramTitle": "Beetaohjelma",
|
||
"betaProgramDescription": "Kokeile tulevia ominaisuuksia etukäteen viikoittain julkaistavan :beta Docker -tunnisteen avulla. Epävakaa, ei tuotantokäyttöön.",
|
||
"betaProgramFeedback": "Löysitkö virheen? Ilmoita siitä täällä.",
|
||
"betaProgramLearnMore": "Lue lisää",
|
||
"deleteAccount": "Poista tili",
|
||
"deleteAccountDescription": "Poista tilisi pysyvästi",
|
||
"changeServerDescription": "Vaihda toiseen Termix-taustapalvelimeen",
|
||
"deleteButton": "Poistaa",
|
||
"deleteAccountPermanent": "Tämä toiminto on pysyvä eikä sitä voi perua.",
|
||
"deleteAccountWarning": "Kaikki istunnot, isännät, tunnistetiedot ja asetukset poistetaan pysyvästi.",
|
||
"confirmPasswordDeletePlaceholder": "Vahvista antamalla salasanasi",
|
||
"languageLabel": "Kieli",
|
||
"themeLabel": "Teema",
|
||
"fontSizeLabel": "Fonttikoko",
|
||
"accentColorLabel": "Korostusväri",
|
||
"settingsTerminal": "Terminaali",
|
||
"commandAutocomplete": "Komennon automaattinen täydennys",
|
||
"commandAutocompleteDesc": "Näytä automaattinen täydennys kirjoitettaessa",
|
||
"terminalLinkBehavior": "Päätelinkin napsautus",
|
||
"terminalLinkBehaviorDesc": "Oletuskäyttäytyminen linkkejä napsautettaessa terminaalissa",
|
||
"historyTracking": "Historian seuranta",
|
||
"historyTrackingDesc": "Seuraa terminaalin komentoja",
|
||
"commandPalette": "Komentopaletti",
|
||
"commandPaletteDesc": "Ota pikanäppäin käyttöön",
|
||
"reopenTabsOnLogin": "Avaa välilehdet uudelleen kirjautumisen yhteydessä",
|
||
"reopenTabsOnLoginDesc": "Palauta avoimet välilehdet, kun kirjaudut sisään tai päivität sivun, jopa toiselta laitteelta",
|
||
"confirmTabClose": "Vahvista välilehden sulkeminen",
|
||
"confirmTabCloseDesc": "Kysy ennen päätevälilehtien sulkemista",
|
||
"settingsSidebar": "Sivupalkki",
|
||
"showHostTags": "Näytä isäntätunnisteet",
|
||
"showHostTagsDesc": "Näytä tunnisteet isäntäluettelossa",
|
||
"hostTrayOnClick": "Napsauta laajentaaksesi isäntätoiminnot",
|
||
"hostTrayOnClickDesc": "Näytä aina yhteyspainikkeet; napsauta laajentaaksesi hallinta-asetuksia hiiren osoittimen sijaan",
|
||
"compactHostView": "Kompakti isäntänäkymä",
|
||
"compactHostViewDesc": "Kutista jokainen isäntä yhdelle riville, joka näyttää vain sen nimen ja osoitteen",
|
||
"statusColors": "Todellisen tilan värit",
|
||
"statusColorsDesc": "Käytä vihreää/punaista online-/offline-tilan ilmaisemiseen korostusvärin sijaan",
|
||
"pinAppRail": "Kiinnitä sovellusraide",
|
||
"pinAppRailDesc": "Pidä vasemman sivupalkin sovelluspalkki aina laajennettuna sen sijaan, että se laajenisi hiiren osoittimen vaikutuksesta",
|
||
"expandAppRailOnHover": "Laajenna sovellusraita hiiren osoittimen päällä",
|
||
"expandAppRailOnHoverDesc": "Salli vasemman sivupalkin sovelluskiskon laajentua, kun osoitin liikkuu sen päälle",
|
||
"settingsNavigation": "Navigointi",
|
||
"navigationTabsDesc": "Valitse sovelluskiskoon näkyvät välilehdet",
|
||
"settingsSnippets": "Katkelmat",
|
||
"foldersCollapsed": "Kansiot kutistettu",
|
||
"foldersCollapsedDesc": "Pienennä kansiot oletusarvoisesti",
|
||
"confirmExecution": "Vahvista suoritus",
|
||
"confirmExecutionDesc": "Vahvista ennen koodinpätkien suorittamista",
|
||
"settingsUpdates": "Päivitykset",
|
||
"disableUpdateChecks": "Poista päivitystarkistukset käytöstä",
|
||
"disableUpdateChecksDesc": "Lopeta päivitysten tarkistaminen",
|
||
"totpAuthenticator": "TOTP-todentaja",
|
||
"totpEnabled": "2FA on käytössä",
|
||
"totpDisabled": "Lisää kirjautumisen turvallisuutta",
|
||
"disable": "Poista käytöstä",
|
||
"enable": "Ota käyttöön",
|
||
"setupTotp": "TOTP:n määrittäminen",
|
||
"qrCode": "QR-koodi",
|
||
"totpInstructions": "Skannaa QR-koodi tai syötä salaisuus todennussovellukseesi ja syötä sitten 6-numeroinen koodi",
|
||
"totpCodePlaceholder": "000000",
|
||
"verify": "Vahvista",
|
||
"changePassword": "Vaihda salasana",
|
||
"currentPasswordLabel": "Nykyinen salasana",
|
||
"currentPasswordPlaceholder": "Nykyinen salasana",
|
||
"newPasswordLabel": "Uusi salasana",
|
||
"newPasswordPlaceholder": "Uusi salasana",
|
||
"confirmPasswordLabel": "Vahvista uusi salasana",
|
||
"confirmPasswordPlaceholder": "Vahvista uusi salasana",
|
||
"updatePassword": "Päivitä salasana",
|
||
"createApiKeyTitle": "Luo API-avain",
|
||
"createApiKeyDescription": "Luo uusi API-avain ohjelmallista käyttöä varten.",
|
||
"apiKeyNameLabel": "Nimi",
|
||
"apiKeyNamePlaceholder": "esim. CI-putkisto",
|
||
"expiryDateLabel": "Voimassaolopäivä",
|
||
"optional": "valinnainen",
|
||
"cancel": "Peruuttaa",
|
||
"createKey": "Luo avain",
|
||
"apiKeyCount": "{{count}} -näppäimet",
|
||
"newKey": "Uusi avain",
|
||
"noApiKeys": "Ei vielä API-avaimia.",
|
||
"apiKeyActive": "Aktiivinen",
|
||
"apiKeyUsageHint": "Sisällytä avaimesi mukaan",
|
||
"apiKeyUsageHintHeader": "otsikko.",
|
||
"apiKeyPermissionsHint": "Avaimet perivät luovan käyttäjän oikeudet.",
|
||
"roleUser": "Käyttäjä",
|
||
"authMethodDual": "Kaksoistutkimus",
|
||
"authMethodOidc": "OIDC",
|
||
"totpSetupFailed": "TOTP-asennuksen aloittaminen epäonnistui",
|
||
"totpEnter6Digits": "Syötä 6-numeroinen koodi",
|
||
"totpEnabledSuccess": "Kaksivaiheinen todennus käytössä",
|
||
"totpInvalidCode": "Virheellinen koodi, yritä uudelleen",
|
||
"totpDisableInputRequired": "Syötä TOTP-koodisi tai salasanasi",
|
||
"totpDisabledSuccess": "Kaksivaiheinen todennus poistettu käytöstä",
|
||
"totpDisableFailed": "2FA:n poistaminen käytöstä epäonnistui",
|
||
"totpDisableTitle": "Poista 2FA käytöstä",
|
||
"totpDisablePlaceholder": "Syötä TOTP-koodi tai salasana",
|
||
"totpDisableConfirm": "Poista 2FA käytöstä",
|
||
"totpContinueVerify": "Jatka vahvistamiseen",
|
||
"totpVerifyTitle": "Vahvista koodi",
|
||
"totpBackupTitle": "Varakoodit",
|
||
"totpDownloadBackup": "Lataa varakoodit",
|
||
"passkeys": "Salasanat",
|
||
"passkeysDesc": "Kirjaudu sisään ilman salasanaa WebAuthn/FIDO2-tunnuksilla",
|
||
"passkeyName": "Salasanan nimi",
|
||
"passkeyUvPreferred": "Ensisijainen",
|
||
"passkeyUvRequired": "Pakollinen",
|
||
"passkeyUvDiscouraged": "Lannistunut",
|
||
"addPasskey": "Lisää salasana",
|
||
"noPasskeys": "Ei rekisteröityjä salasanoja.",
|
||
"passkeyAdded": "Salasana lisätty",
|
||
"passkeyAddFailed": "Salasanan lisääminen epäonnistui",
|
||
"passkeyDeleted": "Salasana poistettu",
|
||
"passkeyDeleteFailed": "Salasanan poistaminen epäonnistui",
|
||
"done": "Tehty",
|
||
"secretCopied": "Salaisuus kopioitu leikepöydälle",
|
||
"apiKeyNameRequired": "Avaimen nimi on pakollinen",
|
||
"apiKeyCreated": "API-avain \"{{name}}\" luotu",
|
||
"apiKeyCreateFailed": "API-avaimen luominen epäonnistui",
|
||
"apiKeyUser": "Käyttäjä",
|
||
"apiKeyExpires": "Vanhenee",
|
||
"apiKeyRevoked": "API-avain \"{{name}}\" peruutettu",
|
||
"apiKeyRevokeFailed": "API-avaimen peruuttaminen epäonnistui",
|
||
"passwordFieldsRequired": "Nykyinen ja uusi salasana vaaditaan",
|
||
"passwordMismatch": "Salasanat eivät täsmää",
|
||
"passwordTooShort": "Salasanan on oltava vähintään 6 merkkiä pitkä",
|
||
"passwordUpdated": "Salasana päivitetty onnistuneesti",
|
||
"passwordUpdateFailed": "Salasanan päivittäminen epäonnistui",
|
||
"deletePasswordRequired": "Salasana vaaditaan tilisi poistamiseen",
|
||
"deleteFailed": "Tilin poistaminen epäonnistui",
|
||
"deleting": "Poistetaan...",
|
||
"colorPickerTooltip": "Avaa värivalitsin",
|
||
"themeSystem": "Järjestelmä",
|
||
"themeLight": "Valo",
|
||
"themeDark": "Tumma",
|
||
"themeDracula": "Dracula",
|
||
"themeCatppuccin": "Catppuccin",
|
||
"themeNord": "Pohjoinen",
|
||
"themeSolarized": "Solaroitu",
|
||
"themeTokyoNight": "Tokion yö",
|
||
"themeOneDark": "Yksi pimeä",
|
||
"themeGruvbox": "Gruvbox"
|
||
}
|
||
}
|
||
},
|
||
"tmuxMonitor": {
|
||
"title": "Tmux-näyttö",
|
||
"failedToLoadHosts": "Isäntien lataaminen epäonnistui",
|
||
"failedToLoad": "tmux-istuntojen lataaminen epäonnistui",
|
||
"tmuxUnavailable": "tmuxia ei ole asennettu tälle koneelle",
|
||
"noSessions": "Ei tmux-istuntoja tällä isännöinnillä",
|
||
"noHostSelected": "Ei valittua isäntää",
|
||
"attached": "Liitteenä",
|
||
"detached": "Erillinen",
|
||
"attach": "Liittää",
|
||
"editTags": "Muokkaa tunnisteita",
|
||
"tagsHint": "Pilkuilla erotetut tunnisteet (esim. YOLO, lab, training)",
|
||
"tagsSaved": "Tagit tallennettu",
|
||
"tagsSaveFailed": "Tunnisteiden tallentaminen epäonnistui",
|
||
"searchPlaceholder": "Hae tulostetta istuntojen välillä...",
|
||
"searchResults": "{{count}} osumaa",
|
||
"searchFailed": "Haku epäonnistui",
|
||
"selectPaneHint": "Valitse ruutu esikatsellaksesi sen tulosta",
|
||
"closePreview": "Sulje esikatselu",
|
||
"newSession": "Uusi istunto",
|
||
"newSessionHint": "Istunnon nimi (kirjaimet, numerot, _ @ % + = -)",
|
||
"newSessionPlaceholder": "my-session",
|
||
"create": "Luoda",
|
||
"sessionCreated": "Istunto \"{{name}}\" luotu",
|
||
"sessionCreateFailed": "Istunnon luominen epäonnistui",
|
||
"splitRight": "Jaa oikealle",
|
||
"splitDown": "Jaa alas",
|
||
"splitFailed": "Ruudun jakaminen epäonnistui",
|
||
"newWindow": "Uusi ikkuna",
|
||
"windowCreateFailed": "Ikkunan luominen epäonnistui",
|
||
"attachSessionTooltip": "Liitä kohtaan {{session}}",
|
||
"refresh": "Päivitä",
|
||
"refreshFailed": "Istuntojen päivittäminen epäonnistui",
|
||
"collapseAll": "Pienennä kaikki",
|
||
"expandAll": "Laajenna kaikki",
|
||
"moreActions": "Lisää toimintoja",
|
||
"sessionStats": "Istuntotilastot",
|
||
"renameSessionTitle": "Nimeä istunto uudelleen \"{{name}}\"",
|
||
"rename": "Nimeä uudelleen",
|
||
"sessionRenamed": "Istunto nimettiin uudelleen muotoon \"{{name}}\"",
|
||
"sessionRenameFailed": "Istunnon uudelleennimeäminen epäonnistui",
|
||
"editTagsTitle": "Muokkaa tunnisteita kohteelle \"{{name}}\"",
|
||
"killPane": "Tappaa ruutu",
|
||
"resizeTree": "Muuta kokoa vetämällä – kaksoisnapsauttamalla voit palauttaa sen",
|
||
"reattach": "Kiinnitä uudelleen (korjaa vääristyneen näkymän)",
|
||
"killWindow": "Tapa ikkuna",
|
||
"killWindowTitle": "Tappaa ikkuna {{index}} kohteelle \"{{session}}\"?",
|
||
"killWindowBody": "Jokainen tässä ikkunassa oleva ruutu ja prosessi lopetetaan. Viimeisen ikkunan sulkeminen lopettaa istunnon.",
|
||
"windowKillFailed": "Ikkunan sulkeminen epäonnistui",
|
||
"statusActivity": "Toiminta",
|
||
"statusWindows": "Ikkunat",
|
||
"statusPanes": "ruudut",
|
||
"statusTags": "Tunnisteet",
|
||
"killPaneTitle": "Tappaa ruutu {{id}}?",
|
||
"killPaneBody": "Tässä ruudussa käynnissä oleva prosessi lopetetaan. Viimeisen ruudun sulkeminen sulkee sen ikkunan.",
|
||
"paneKillFailed": "Ruudun sulkeminen epäonnistui",
|
||
"killSessionTitle": "Lopeta istunto \"{{name}}\"?",
|
||
"killSessionBody": "Kaikki tämän istunnon ikkunat ja käynnissä olevat prosessit lopetetaan. Tätä ei voi perua.",
|
||
"kill": "Tappaa",
|
||
"sessionKilled": "Istunto \"{{name}}\" lopetettu",
|
||
"sessionKillFailed": "Istunnon lopettaminen epäonnistui",
|
||
"hostUnreachable": "Yhteyden muodostaminen isäntään ei onnistu. Tarkista, että se on verkossa ja tavoitettavissa.",
|
||
"noServer": "Tällä isännöinnillä ei ole käynnissä tmux-palvelinta.",
|
||
"searchTruncated": "Osittaisia tuloksia — haku kattaa kunkin ruudun viimeiset {{lines}} rivit ja enintään {{panes}} ruutua.",
|
||
"closeSearchResults": "Sulje hakutulokset",
|
||
"retry": "Yritä uudelleen",
|
||
"noHosts": "Ei SSH-isäntiä saatavilla",
|
||
"noHostsHint": "Ota Tmux Monitor -asetus käyttöön SSH-isännässä (Isäntähallinta → Pääte-välilehti) sen tmux-istuntojen valvomiseksi.",
|
||
"tmuxInstallHint": "Asenna se isäntäkoneelle komennolla:",
|
||
"attachTooltip": "Avaa pääte ja kohdista {{host}}",
|
||
"attachTooltipPane": "Avaa pääteohjelma ja kohdista {{host}} — tmux-istunto {{session}}",
|
||
"timeJustNow": "juuri nyt",
|
||
"timeMinutes": "{{count}}minuuttia sitten",
|
||
"timeHours": "{{count}}tuntia sitten",
|
||
"timeDays": "{{count}}d sitten"
|
||
},
|
||
"mobileKeyboard": {
|
||
"shift": "Siirtää",
|
||
"ctrl": "Ctrl",
|
||
"esc": "Esc-näppäin",
|
||
"tab": "Välilehti",
|
||
"backTab": "⇥",
|
||
"arrowUp": "Nuoli ylös",
|
||
"arrowDown": "Nuoli alas",
|
||
"arrowLeft": "Nuoli vasemmalle",
|
||
"arrowRight": "Nuoli oikealle",
|
||
"home": "Kotiin",
|
||
"end": "Loppu",
|
||
"pageUp": "Sivu ylös",
|
||
"pageDown": "PgDn",
|
||
"delete": "Poista",
|
||
"editQuickKeys": "Muokkaa pikanäppäimiä",
|
||
"quickKeysTitle": "Pikanäppäimet",
|
||
"quickKeysDesc": "Poista napauttamalla ×. Tukee enintään 8 merkkiä.",
|
||
"quickKeyPlaceholder": "esim. sudo ",
|
||
"addQuickKey": "Lisätä",
|
||
"removeQuickKey": "Poistaa",
|
||
"resetDefaults": "Palauta oletusasetukset",
|
||
"done": "Tehty"
|
||
},
|
||
"serial": {
|
||
"title": "Sarjanumero",
|
||
"portLabel": "Portti",
|
||
"portPlaceholder": "/dev/ttyUSB0 tai COM3",
|
||
"baudRateLabel": "Baud-nopeus",
|
||
"dataBitsLabel": "Data",
|
||
"stopBitsLabel": "Stop",
|
||
"parityLabel": "Pariteetti",
|
||
"parityNone": "Ei mitään",
|
||
"parityEven": "Jopa",
|
||
"parityOdd": "Pariton",
|
||
"connect": "Yhdistä sarjaporttiin",
|
||
"disconnect": "Katkaise yhteys",
|
||
"refreshPorts": "Päivitä portit",
|
||
"connected": "Yhdistetty {{path}} -laitteeseen {{baud}} baudilla",
|
||
"disconnected": "Sarjaportti irrotettu",
|
||
"connectionError": "Sarjaportin avaaminen epäonnistui",
|
||
"wsError": "WebSocket-virhe",
|
||
"errorNoServerUrl": "Palvelimen URL-osoitetta ei ole määritetty",
|
||
"notSupportedTitle": "Sarjanumeroa ei tueta",
|
||
"notSupported": "Sarjaliikenne vaatii selaimen, jossa on Web Serial API -tuki (Chrome, Edge tai Firefox 151+), tai Termix-työpöytäsovelluksen.",
|
||
"hideHint": "Voit piilottaa Sarja-välilehden kohdassa Käyttäjäprofiili > Ulkoasu > Sivupalkki > Navigointi.",
|
||
"browserPickerHint": "Napsauta Yhdistä, niin selaimesi avaa porttivalitsimen laitteen valitsemiseksi."
|
||
},
|
||
"metricsHistory": {
|
||
"title": "Mittarihistoria",
|
||
"historySuffix": "Historia",
|
||
"cpuMemoryDisk": "CPU / Muisti / Levy",
|
||
"network": "Verkko",
|
||
"download": "Vastaanotto",
|
||
"upload": "Teksas",
|
||
"noData": "Tältä aikaväliltä ei ole saatavilla historiatietoja.",
|
||
"custom": "Mukautettu",
|
||
"to": "että",
|
||
"apply": "Käytä",
|
||
"viewHistory": "Näytä historia"
|
||
},
|
||
"alerts": {
|
||
"tabFirings": "Hälytykset",
|
||
"tabRules": "Säännöt",
|
||
"tabChannels": "Kanavat",
|
||
"noFirings": "Ei kuittaamattomia hälytyksiä",
|
||
"noRules": "Ei määritettyjä hälytyssääntöjä",
|
||
"noChannels": "Ei määritettyjä ilmoituskanavia",
|
||
"rulesDesc": "Hälytyssäännöt käynnistävät ilmoituksia",
|
||
"channelsDesc": "Minne hälytysilmoitukset lähetetään",
|
||
"acknowledge": "Kuittaa",
|
||
"ackAll": "Ack All",
|
||
"allAcknowledged": "Kaikki hälytykset kuitattu",
|
||
"ackFailed": "Hälytyksen kuittaus epäonnistui",
|
||
"ackAllFailed": "Kaikkien hälytysten kuittaus epäonnistui",
|
||
"showAcknowledged": "Näytä kaikki",
|
||
"hideAcknowledged": "Piilota kuitattu",
|
||
"addChannel": "Lisää kanava",
|
||
"editChannel": "Muokkaa kanavaa",
|
||
"channelName": "Nimi",
|
||
"channelType": "Tyyppi",
|
||
"channelNameRequired": "Nimi on pakollinen",
|
||
"webhookUrl": "URL-osoite",
|
||
"webhookUrlRequired": "Webhookin URL-osoite vaaditaan",
|
||
"webhookDesc": "Lähetä JSON-hyötysisältö tähän URL-osoitteeseen jokaisen hälytyksen käynnistyessä",
|
||
"ntfyServer": "Palvelimen URL-osoite",
|
||
"ntfyTopic": "Aihe",
|
||
"ntfyTopicRequired": "Aihe on pakollinen",
|
||
"ntfyToken": "Käyttöoikeustunnus (valinnainen)",
|
||
"channelSaveFailed": "Kanavan tallentaminen epäonnistui",
|
||
"test": "Testata",
|
||
"testSent": "Testi-ilmoitus lähetetty",
|
||
"testFailed": "Testi-ilmoitus epäonnistui",
|
||
"addRule": "Lisää hälytyssääntö",
|
||
"editRule": "Muokkaa hälytyssääntöä",
|
||
"ruleName": "Säännön nimi",
|
||
"ruleNameRequired": "Nimi on pakollinen",
|
||
"triggerType": "Laukaista",
|
||
"thresholdValue": "Kynnysarvo (%)",
|
||
"durationSeconds": "Kesto (sekuntia, 0 = käynnistyy välittömästi)",
|
||
"cooldownMinutes": "Jäähdyttelyaika (minuuttia)",
|
||
"channels": "Ilmoituskanavat",
|
||
"noChannelsHint": "Lisää kanavat ensin Kanavat-välilehdellä",
|
||
"ruleSaveFailed": "Säännön tallentaminen epäonnistui"
|
||
}
|
||
}
|