mirror of
https://github.com/Termix-SSH/Termix.git
synced 2026-10-30 07:05:24 +00:00
* fix(sso): send the PKCE verifier for GitHub login (#1534) * fix(remote-desktop): clip cursor overflow without disabling zoom (#1535) * test(remote-desktop): preserve sessions beyond one hour (#1536) * fix(hosts): expose controls for overflowing editor tabs (#1537) * fix(hosts): expose controls for overflowing editor tabs * test(hosts): mock resize observation in admin panel tests * fix(status): skip TCP probes while host sessions are active (#1538) * fix(database): batch session activity persistence (#1539) * docs(api): describe cookie and API key authentication (#1540) * fix(snippets): repair missing note column on SQLite upgrades (#1541) * fix(docker): retain stored SSH credential association (#1543) * fix(file-manager): render transfer toasts without plugin hooks (#1546) * feat(hosts): keep compact row actions inline (#1547) * fix(auth): allow retrying unavailable second-factor interfaces (#1549) * fix(auth): reject unresolved legacy identity provisioning (#1550) * fix(desktop): ship the plugin SDK inside Mac App Store builds (#1551) * fix(tmux): pass full session info to the terminal's session picker (#1552) The tmux.sessions service reduced detected sessions to bare names, but the picker reads session.name, so every entry rendered blank and selecting one sent an empty name, which created a new session instead of attaching. * fix(ssh): read force keyboard-interactive as a boolean when resolving hosts (#1553) The column holds the text "true"/"false", and the resolver passed it through as-is. The string "false" is truthy, so the password provider treated every saved host as forced keyboard-interactive and left the password out. Jump hops are built straight from the resolved host, so a password hop whose server doesn't offer keyboard-interactive failed with "All configured authentication methods failed". * fix(database): batch database saves for bulk host writes (#1554) * fix(database): yield to the event loop between database saves Each SQLite save serializes and encrypts the whole database into new buffers, which V8 only releases once the event loop turns. Boot migrations and bulk host import write plugin settings per host and per key in an awaited loop, so hundreds of full copies piled up and the container ran out of memory. * fix(database): save once per bulk host write instead of once per row On SQLite every repository write force-saves the whole database. Boot plugin data migrations, host defaults materialization and the bulk host routes write one row per host per setting, so they serialized and encrypted the full database hundreds of times in a row. DatabaseSaveTrigger.batched wraps a function so force saves made while it runs collapse into a single save when it finishes. Nested scopes fold into the outer one, and work that outlives its scope saves normally. * feat(hosts): add instance-wide predefined tag suggestions (#1548) * feat(hosts): add shared predefined tag suggestions * style(hosts): format tag catalog routes * test(database): advance fake timers past the save yield (#1555) * fix(i18n): complete Simplified Chinese core and plugin translations (#1542) * fix(i18n): complete Chinese onboarding and navigation labels * fix(i18n): translate remaining Chinese core and plugin interfaces * fix(i18n): translate host editor tab overflow controls * fix(i18n): use consistent Chinese fleet terminology * fix(i18n): localize hardcoded controls and plugin views * fix(i18n): translate built-in homepage widget catalog * test(homepage): follow translated timezone placeholder * fix(i18n): translate plugin-provided homepage widgets * fix(i18n): localize feature settings section titles * fix: 2.8 oidc accounts unable to sign in after upgrading (#1381) * fix: plugins losing the saved ssh login when copying a host (#1391) * fix: fleets, proxmox and automations not getting the host sudo password * fix: host imports running a defaults pass and metrics restart per host (#1384) * fix: high cpu from status probes and full database saves on every sample (#1300) * fix: user data export freezing the server (#1393) * fix: op:// secret references rejected as ssh keys on credentials (#1394) * fix: slow file deletes from the trash lookups on every delete (#1390) * fix: add openapi docs and error handling to host tag routes * test: compare download stream buffers directly so it stops timing out * chore: drop em dash from host row comment * chore: update release notes for 2.9.1 * fix: restore space to add host tags and redesign predefined tags editor * fix: host key silently accepted when the host is missing from the database (#1397) * fix: clearer host login failed status label and fix its translations (#1396) * chore: add host key and status label fixes to release notes * fix: sso and ldap provider dialogs overflowing the screen and using mismatched toggles * chore: increment ver * fix(audit): store plugin entries with no acting user as a null user_id (#1556) Plugin audit entries written outside a request used the literal "system" as user_id. That column references users.id, so the insert was refused (Postgres logs it as an FK violation) and the entry was silently dropped. Write null instead and keep "system" / plugin:<id> in username. * chore: add sso/ldap dialog and audit log fixes to release notes * fix: tunnels and host settings missing from shared hosts on desktop * fix: remote desktop logins missing from shared hosts on desktop * fix: simplify host status to online/offline and keep it live without a refresh * chore: sync Crowdin translations for 2.9.1 --------- Co-authored-by: ZacharyZcR <zacharyzcr1984@gmail.com>
556 lines
28 KiB
JSON
556 lines
28 KiB
JSON
{
|
|
"nav": {
|
|
"files": "Filer",
|
|
"sftp": "SFTP",
|
|
"openFileManager": "Åbn Filhåndtering"
|
|
},
|
|
"permissions": {
|
|
"use": {
|
|
"title": "Brug filhåndtering",
|
|
"description": "Gennemse, rediger og overfør filer via SFTP."
|
|
}
|
|
},
|
|
"settings": {
|
|
"host": {
|
|
"enable": {
|
|
"label": "Aktivér Filhåndtering",
|
|
"description": "Gennemse og rediger filer på denne vært via SFTP."
|
|
},
|
|
"defaultPath": {
|
|
"label": "Standardsti"
|
|
},
|
|
"scpLegacy": {
|
|
"label": "SCP Legacy-tilstand"
|
|
}
|
|
},
|
|
"user": {
|
|
"transferConcurrency": {
|
|
"label": "Samtidige filoverførsler",
|
|
"description": "Hvor mange filer den side om side lokale/fjernstyrede administrator uploader eller downloader på samme tid. Sænk dette, hvis din server begrænser SFTP-kanaler."
|
|
},
|
|
"confirmBeforeTrash": {
|
|
"label": "Bekræft før du flytter filer til papirkurven",
|
|
"description": "Spørg før du flytter eksterne filer til papirkurven. Permanent sletning kræver stadig bekræftelse."
|
|
}
|
|
}
|
|
},
|
|
"hostCapability": {
|
|
"label": "Filhåndtering"
|
|
},
|
|
"fileManager": {
|
|
"noHostSelected": "Ingen vært valgt",
|
|
"initializingEditor": "Initialiserer editor...",
|
|
"file": "Fil",
|
|
"folder": "Folder",
|
|
"uploadFile": "Upload fil",
|
|
"downloadFile": "Download",
|
|
"extractArchive": "Uddrag af arkivet",
|
|
"extractingArchive": "Udtrækker {{name}}...",
|
|
"archiveExtractedSuccessfully": "{{name}} blev udpakket",
|
|
"extractFailed": "Udpakning mislykkedes",
|
|
"compressFile": "Komprimer fil",
|
|
"compressFiles": "Komprimer filer",
|
|
"compressFilesDesc": "Komprimer {{count}} elementer til et arkiv",
|
|
"archiveName": "Arkivnavn",
|
|
"enterArchiveName": "Indtast arkivnavn...",
|
|
"compressionFormat": "Kompressionsformat",
|
|
"selectedFiles": "Valgte filer",
|
|
"andMoreFiles": "og {{count}} mere...",
|
|
"compress": "Sammenpresse",
|
|
"compressingFiles": "Komprimerer {{count}} elementer til {{name}}...",
|
|
"filesCompressedSuccessfully": "{{name}} er oprettet",
|
|
"compressFailed": "Komprimering mislykkedes",
|
|
"edit": "Redigere",
|
|
"preview": "Forhåndsvisning",
|
|
"previous": "Tidligere",
|
|
"next": "Næste",
|
|
"pageXOfY": "Side {{current}} af {{total}}",
|
|
"zoomOut": "Zoom ud",
|
|
"zoomIn": "Zoom ind",
|
|
"newFile": "Ny fil",
|
|
"newFolder": "Ny mappe",
|
|
"rename": "Omdøb",
|
|
"uploading": "Uploader...",
|
|
"uploadingFile": "Uploader {{name}}...",
|
|
"uploadingChunk": "Uploader {{name}}: {{percent}}% (del {{chunk}} af {{total}})",
|
|
"fileName": "Filnavn",
|
|
"folderName": "Mappenavn",
|
|
"fileUploadedSuccessfully": "Filen \"{{name}}\" er blevet uploadet",
|
|
"failedToUploadFile": "Kunne ikke uploade filen",
|
|
"uploadingFolderFiles": "Uploader {{count}} fil(er)...",
|
|
"uploadedFolderFiles": "Uploadede {{count}} fil(er)",
|
|
"uploadedFolderPartial": "Upload af {{uploaded}} fil(er), {{failed}} mislykkedes",
|
|
"fileDownloadedSuccessfully": "Filen \"{{name}}\" er blevet downloadet",
|
|
"failedToDownloadFile": "Kunne ikke downloade filen",
|
|
"fileCreatedSuccessfully": "Filen \"{{name}}\" er blevet oprettet",
|
|
"folderCreatedSuccessfully": "Mappen \"{{name}}\" er blevet oprettet",
|
|
"failedToCreateItem": "Kunne ikke oprette elementet",
|
|
"operationFailed": "{{operation}} handling mislykkedes for {{name}}: {{error}}",
|
|
"failedToResolveSymlink": "Kunne ikke løse symbolsk link",
|
|
"itemsDeletedSuccessfully": "{{count}} elementer er blevet slettet",
|
|
"failedToDeleteItems": "Kunne ikke slette elementer",
|
|
"sudoPasswordRequired": "Administratoradgangskode påkrævet",
|
|
"enterSudoPassword": "Indtast sudo-adgangskoden for at fortsætte denne handling",
|
|
"sudoPassword": "Sudo-adgangskode",
|
|
"sudoOperationFailed": "Sudo-handlingen mislykkedes",
|
|
"sudoAuthFailed": "Sudo-godkendelse mislykkedes",
|
|
"dragFilesToUpload": "Slip filer her for at uploade",
|
|
"dropToUploadHere": "Slip for at uploade her",
|
|
"dropToDownloadHere": "Slip for at downloade her",
|
|
"localFiles": "Lokal",
|
|
"showLocalFiles": "Vis lokale filer (delt visning)",
|
|
"hideLocalFiles": "Skjul lokale filer",
|
|
"localHome": "Hjemmemappe",
|
|
"localPathPlaceholder": "Lokal mappesti",
|
|
"localShowHidden": "Vis skjulte filer",
|
|
"localHideHidden": "Skjul skjulte filer",
|
|
"localRevealInFileManager": "Vis i systemfilhåndtering",
|
|
"localCannotOpenFolder": "Kan ikke åbne mappen",
|
|
"localItemCount": "{{count}} elementer",
|
|
"localSelectedCount": "{{count}} valgt",
|
|
"back": "Tilbage",
|
|
"forward": "Forward",
|
|
"up": "Op",
|
|
"kind": "Slags",
|
|
"localUploadingProgress": "Uploader {{current}} af {{total}}",
|
|
"localDownloadingProgress": "Downloader {{current}} af {{total}}",
|
|
"localTransferInFlight": "{{count}} på én gang",
|
|
"localPreparingDownload": "Forbereder download...",
|
|
"localTransferCancelled": "Overførsel annulleret",
|
|
"localNothingToTransfer": "Intet at overføre",
|
|
"localUploadComplete": "Uploadede {{count}} fil(er)",
|
|
"localUploadFailed": "Upload mislykkedes",
|
|
"localUploadPartial": "Upload af {{done}} fil(er), {{failed}} mislykkedes",
|
|
"localDownloadComplete": "Downloadede {{count}} fil(er)",
|
|
"localDownloadFailed": "Download mislykkedes",
|
|
"localDownloadPartial": "Download af {{done}} fil(er), {{failed}} mislykkedes",
|
|
"localReplaceExistingPrompt": "{{count}} elementer findes allerede i denne mappe. Skal de erstattes?",
|
|
"localReplace": "Erstatte",
|
|
"localSkipExisting": "Springe",
|
|
"localSkippedExisting": "Springede {{count}} eksisterende element(er) over",
|
|
"localUnsafeNamesSkipped": "Springede {{count}} elementer over, hvis navne ikke kan bruges på denne computer",
|
|
"localOpen": "Åben",
|
|
"localOpenFolder": "Åbn mappe",
|
|
"localUploadToRemote": "Upload til server",
|
|
"localUploadToRemoteMany": "Upload {{count}} elementer til serveren",
|
|
"localMoveToTrash": "Flyt til papirkurven",
|
|
"localMoveToTrashMany": "Flyt {{count}} elementer til papirkurven",
|
|
"localTrashConfirmSingle": "Flytte \"{{name}}\" til papirkurven?",
|
|
"localTrashConfirmFolder": "Flytte mappen \"{{name}}\" og alt dens indhold til papirkurven?",
|
|
"localTrashConfirmMany": "Flytte {{count}} elementer til papirkurven?",
|
|
"localTrashed": "Flyttede {{count}} element(er) til papirkurven",
|
|
"localTrashFailed": "Kunne ikke flytte til papirkurven",
|
|
"localRenameFailed": "Omdøbning mislykkedes",
|
|
"localCreateFailed": "Kunne ikke oprette elementet",
|
|
"goToParentFolder": "Gå til overordnet mappe",
|
|
"resizeSidebar": "Træk for at ændre størrelsen på sidebjælken (dobbeltklik for at nulstille)",
|
|
"resizeLocalPane": "Træk for at ændre størrelsen på den lokale rude (dobbeltklik for at nulstille)",
|
|
"columns": "Kolonner",
|
|
"columnsHint": "Højreklik for at vælge kolonner",
|
|
"emptyFolder": "Denne mappe er tom",
|
|
"searchFiles": "Søg i filer...",
|
|
"upload": "Upload",
|
|
"selectHostToStart": "Vælg en vært for at starte filhåndtering",
|
|
"sshRequiredForFileManager": "Filhåndtering kræver SSH. Denne vært har ikke SSH aktiveret.",
|
|
"failedToConnect": "Kunne ikke oprette forbindelse til SSH",
|
|
"failedToLoadDirectory": "Kunne ikke indlæse mappen",
|
|
"noSSHConnection": "Ingen SSH-forbindelse tilgængelig",
|
|
"copy": "Kopi",
|
|
"cut": "Skære",
|
|
"paste": "Indsæt",
|
|
"copyPath": "Kopiér sti",
|
|
"copyPaths": "Kopier stier",
|
|
"delete": "Slet",
|
|
"properties": "Ejendomme",
|
|
"refresh": "Opfriske",
|
|
"downloadFiles": "Download {{count}} filer til browseren",
|
|
"copyFiles": "Kopiér {{count}} elementer",
|
|
"cutFiles": "Klip {{count}} elementer",
|
|
"deleteFiles": "Slet {{count}} elementer",
|
|
"filesCopiedToClipboard": "{{count}} elementer kopieret til udklipsholderen",
|
|
"filesCutToClipboard": "{{count}} elementer klippet til udklipsholder",
|
|
"pathCopiedToClipboard": "Sti kopieret til udklipsholder",
|
|
"pathsCopiedToClipboard": "{{count}} stier kopieret til udklipsholder",
|
|
"failedToCopyPath": "Kunne ikke kopiere stien til udklipsholderen",
|
|
"copyFolderLink": "Kopiér link til mappe",
|
|
"copyCurrentFolderLink": "Kopiér link til aktuel mappe",
|
|
"folderLinkCopied": "Mappelink kopieret til udklipsholder",
|
|
"failedToCopyFolderLink": "Kunne ikke kopiere mappelinket",
|
|
"movedItems": "Flyttede {{count}} elementer",
|
|
"failedToDeleteItem": "Kunne ikke slette elementet",
|
|
"itemRenamedSuccessfully": "{{type}} er omdøbt",
|
|
"failedToRenameItem": "Kunne ikke omdøbe elementet",
|
|
"download": "Download",
|
|
"openExternalEditor": "Åbn eksternt",
|
|
"chooseExternalEditor": "Vælg ekstern editor",
|
|
"externalEditorSelected": "Ekstern editor valgt",
|
|
"externalEditorDesktopOnly": "Ekstern editor er kun tilgængelig i desktop-appen",
|
|
"externalEditorOpened": "Åbnet i ekstern editor. Hvis du gemmer der, uploades ændringerne tilbage til serveren.",
|
|
"failedToOpenExternalEditor": "Kunne ikke åbne den eksterne editor",
|
|
"failedToSelectExternalEditor": "Kunne ikke vælge ekstern editor",
|
|
"permissions": "Tilladelser",
|
|
"size": "Størrelse",
|
|
"modified": "Ændret",
|
|
"path": "Sti",
|
|
"confirmDelete": "Er du sikker på, at du vil slette {{name}}?",
|
|
"permissionDenied": "Tilladelse nægtet",
|
|
"serverError": "Serverfejl",
|
|
"fileSavedSuccessfully": "Filen er gemt",
|
|
"failedToSaveFile": "Kunne ikke gemme filen",
|
|
"confirmDeleteSingleItem": "Er du sikker på, at du vil slette \"{{name}} \" permanent?",
|
|
"confirmDeleteMultipleItems": "Er du sikker på, at du vil slette {{count}} elementer permanent?",
|
|
"confirmDeleteMultipleItemsWithFolders": "Er du sikker på, at du vil slette {{count}} elementer permanent? Dette inkluderer mapper og deres indhold.",
|
|
"confirmDeleteFolder": "Er du sikker på, at du vil slette mappen \"{{name}}\" og alt dens indhold permanent?",
|
|
"permanentDeleteWarning": "Denne handling kan ikke fortrydes. Elementet/elementerne vil blive permanent slettet fra serveren.",
|
|
"moveToTrashWarning": "Elementet/elementerne vil blive flyttet til Termix-papirkurven og kan gendannes, inden opbevaringsperioden udløber.",
|
|
"itemsMovedToTrash": "{{count}} element(er) flyttet til papirkurven",
|
|
"trash": "Skrald",
|
|
"trashDescription": "Slettede elementer gemmes i {{days}} dag(e) på denne vært.",
|
|
"trashLoadFailed": "Kunne ikke indlæse papirkurven",
|
|
"trashEmpty": "Papirkurven er tom",
|
|
"trashRestore": "Gendan",
|
|
"trashRestored": "Gendannet {{name}}",
|
|
"trashRestoreFailed": "Elementet kunne ikke gendannes. Den oprindelige sti findes muligvis allerede.",
|
|
"trashDeletePermanently": "Slet permanent",
|
|
"trashDeleteConfirm": "Vil du slette {{name}}permanent? Dette kan ikke fortrydes.",
|
|
"trashPermanentlyDeleted": "Permanent slettet {{name}}",
|
|
"trashDeleteFailed": "Kunne ikke slette elementet permanent",
|
|
"trashEmptyAction": "Tøm papirkurven",
|
|
"trashEmptyConfirm": "Vil du slette alle elementer i papirkurven permanent? Dette kan ikke fortrydes.",
|
|
"trashEmptied": "Skraldespanden tømt",
|
|
"trashRetention": "Automatisk oprydning efter (dage)",
|
|
"trashRetentionSaved": "Papirkurvsopbevaring opdateret",
|
|
"trashRetentionFailed": "Kunne ikke opdatere opbevaring af papirkurven",
|
|
"trashUnavailableConfirm": "Dette element kan ikke flyttes til papirkurven, normalt fordi det er på et andet filsystem eller kræver forhøjede tilladelser. Slet det permanent i stedet?",
|
|
"recent": "Nylig",
|
|
"pinned": "Fastgjort",
|
|
"folderShortcuts": "Mappegenveje",
|
|
"failedToReconnectSSH": "Kunne ikke genoprette forbindelsen til SSH-sessionen",
|
|
"openTerminalHere": "Åbn terminalen her",
|
|
"run": "Løbe",
|
|
"openTerminalInFolder": "Åbn Terminal i denne mappe",
|
|
"openTerminalInFileLocation": "Åbn terminalen på filplaceringen",
|
|
"runningFile": "Løb - {{file}}",
|
|
"onlyRunExecutableFiles": "Kan kun køre eksekverbare filer",
|
|
"directories": "Kataloger",
|
|
"removedFromRecentFiles": "Fjernede \"{{name}}\" fra seneste filer",
|
|
"removeFailed": "Fjernelse mislykkedes",
|
|
"unpinnedSuccessfully": "\"{{name}}\" blev frigjort",
|
|
"unpinFailed": "Frigørelse mislykkedes",
|
|
"removedShortcut": "Fjernede genvejen \"{{name}}\"",
|
|
"removeShortcutFailed": "Fjernelse af genvej mislykkedes",
|
|
"clearedAllRecentFiles": "Rydde alle seneste filer",
|
|
"clearFailed": "Rydning mislykkedes",
|
|
"removeFromRecentFiles": "Fjern fra seneste filer",
|
|
"clearAllRecentFiles": "Ryd alle seneste filer",
|
|
"unpinFile": "Frigør fil",
|
|
"removeShortcut": "Fjern genvej",
|
|
"pinFile": "Fastgør fil",
|
|
"addToShortcuts": "Føj til genveje",
|
|
"pasteFailed": "Indsætning mislykkedes",
|
|
"noUndoableActions": "Ingen handlinger, der kan fortrydes",
|
|
"undoCopySuccess": "Fortrydt kopiering: Slettede {{count}} kopierede filer",
|
|
"undoCopyFailedDelete": "Fortryd mislykkedes: Kunne ikke slette nogen kopierede filer",
|
|
"undoCopyFailedNoInfo": "Fortryd mislykkedes: Kunne ikke finde kopierede filoplysninger",
|
|
"undoMoveSuccess": "Fortrydt flyttehandling: Flyttede {{count}} filer tilbage til den oprindelige placering",
|
|
"undoMoveFailedMove": "Fortryd mislykkedes: Kunne ikke flytte nogen filer tilbage",
|
|
"undoMoveFailedNoInfo": "Fortryd mislykkedes: Kunne ikke finde oplysninger om den flyttede fil",
|
|
"undoDeleteNotSupported": "Sletningen kan ikke fortrydes: Filerne er blevet permanent slettet fra serveren",
|
|
"undoTypeNotSupported": "Ikke-understøttet fortrydelseshandlingstype",
|
|
"undoOperationFailed": "Fortrydelseshandling mislykkedes",
|
|
"unknownError": "Ukendt fejl",
|
|
"confirm": "Bekræfte",
|
|
"find": "Finde...",
|
|
"replace": "Erstatte",
|
|
"downloadInstead": "Download i stedet",
|
|
"keyboardShortcuts": "Tastaturgenveje",
|
|
"searchAndReplace": "Søg og erstat",
|
|
"editing": "Redigering",
|
|
"search": "Søge",
|
|
"findNext": "Find næste",
|
|
"findPrevious": "Find forrige",
|
|
"save": "Spare",
|
|
"selectAll": "Vælg alle",
|
|
"undo": "Fortryd",
|
|
"redo": "Gentag",
|
|
"moveLineUp": "Flyt linje op",
|
|
"moveLineDown": "Flyt linje ned",
|
|
"toggleComment": "Slå kommentar til/fra",
|
|
"autoComplete": "Autofuldførelse",
|
|
"imageLoadError": "Billedet kunne ikke indlæses",
|
|
"startTyping": "Begynd at skrive...",
|
|
"unknownSize": "Ukendt størrelse",
|
|
"fileIsEmpty": "Filen er tom",
|
|
"largeFileWarning": "Advarsel om stor fil",
|
|
"largeFileWarningDesc": "Denne fil er {{size}} stor, hvilket kan forårsage problemer med ydeevnen, når den åbnes som tekst.",
|
|
"fileNotFoundAndRemoved": "Filen \"{{name}}\" blev ikke fundet og er blevet fjernet fra seneste/fastgjorte filer",
|
|
"failedToLoadFile": "Kunne ikke indlæse filen: {{error}}",
|
|
"serverErrorOccurred": "Der opstod en serverfejl. Prøv igen senere.",
|
|
"autoSaveFailed": "Automatisk lagring mislykkedes",
|
|
"fileAutoSaved": "Fil gemt automatisk",
|
|
"moveFileFailed": "Kunne ikke flytte {{name}}",
|
|
"moveOperationFailed": "Flytteoperationen mislykkedes",
|
|
"canOnlyCompareFiles": "Kan kun sammenligne to filer",
|
|
"comparingFiles": "Sammenligning af filer: {{file1}} og {{file2}}",
|
|
"dragFailed": "Trækhandlingen mislykkedes",
|
|
"filePinnedSuccessfully": "Filen \"{{name}}\" er blevet fastgjort",
|
|
"pinFileFailed": "Kunne ikke fastlåse filen",
|
|
"fileUnpinnedSuccessfully": "Filen \"{{name}}\" blev frigjort",
|
|
"unpinFileFailed": "Kunne ikke frigøre filen",
|
|
"shortcutAddedSuccessfully": "Mappens genvej \"{{name}}\" blev tilføjet",
|
|
"addShortcutFailed": "Kunne ikke tilføje genvej",
|
|
"operationCompletedSuccessfully": "{{operation}} {{count}} elementer er blevet genanvendt",
|
|
"operationCompleted": "{{operation}} {{count}} elementer",
|
|
"downloadFileSuccess": "Fil {{name}} er blevet downloadet",
|
|
"downloadFileFailed": "Download mislykkedes",
|
|
"downloadingFile": "Downloader {{name}}…",
|
|
"downloadProgressBytes": "{{transferred}} / {{total}}",
|
|
"moveTo": "Flyt til {{name}}",
|
|
"diffCompareWith": "Differens sammenligning med {{name}}",
|
|
"dragOutsideToDownload": "Træk uden for vinduet for at downloade ({{count}} filer)",
|
|
"newFolderDefault": "NyMappe",
|
|
"newFileDefault": "Nyfil.txt",
|
|
"successfullyMovedItems": "{{count}} elementer er flyttet til {{target}}",
|
|
"move": "Flytte",
|
|
"searchInFile": "Søg i filen (Ctrl+F)",
|
|
"showKeyboardShortcuts": "Vis tastaturgenveje",
|
|
"decreaseFontSize": "Formindsk skriftstørrelsen",
|
|
"increaseFontSize": "Øg skriftstørrelsen",
|
|
"startWritingMarkdown": "Begynd at skrive dit indhold til nedskrivning...",
|
|
"loadingFileComparison": "Indlæser filsammenligning...",
|
|
"reload": "Genindlæs",
|
|
"compare": "Sammenligne",
|
|
"sideBySide": "Side om side",
|
|
"inline": "Indlejret",
|
|
"fileComparison": "Filsammenligning: {{file1}} vs. {{file2}}",
|
|
"fileTooLarge": "File is too large (> 10MB) and cannot be opened as text for security reasons.",
|
|
"sshConnectionFailed": "SSH-forbindelse mislykkedes. Kontroller venligst din forbindelse til {{name}} ({{ip}}:{{port}})",
|
|
"loadFileFailed": "Kunne ikke indlæse filen: {{error}}",
|
|
"connecting": "Forbinder...",
|
|
"connectedSuccessfully": "Forbindelsen er oprettet",
|
|
"totpVerificationFailed": "TOTP-bekræftelse mislykkedes",
|
|
"browserSignInFailed": "Log ind mislykkedes. Prøv igen.",
|
|
"authenticationFailed": "Godkendelse mislykkedes",
|
|
"incorrectPassphrase": "Forkert adgangskode. Prøv igen.",
|
|
"verificationCodePrompt": "Bekræftelseskode:",
|
|
"changePermissions": "Ændre tilladelser",
|
|
"currentPermissions": "Nuværende tilladelser",
|
|
"owner": "Ejer",
|
|
"group": "Gruppe",
|
|
"others": "Andre",
|
|
"read": "Læse",
|
|
"write": "Skrive",
|
|
"execute": "Udfør",
|
|
"permissionsChangedSuccessfully": "Tilladelserne er ændret",
|
|
"failedToChangePermissions": "Kunne ikke ændre tilladelser",
|
|
"name": "Navn",
|
|
"sortByName": "Navn",
|
|
"sortByDate": "Dato ændret",
|
|
"sortBySize": "Størrelse",
|
|
"ascending": "Stigende",
|
|
"descending": "Faldende",
|
|
"root": "Rod",
|
|
"new": "Ny",
|
|
"sortBy": "Sortér efter",
|
|
"items": "Varer",
|
|
"selected": "Valgt",
|
|
"editor": "Redaktør",
|
|
"octal": "Oktal",
|
|
"storage": "Opbevaring",
|
|
"disk": "Disk",
|
|
"used": "Brugt",
|
|
"of": "af",
|
|
"toggleSidebar": "Slå sidebjælken til/fra",
|
|
"compactLayout": "Brug kompakt layout",
|
|
"comfortableLayout": "Brug et komfortabelt layout",
|
|
"cannotLoadPdf": "Kan ikke indlæse PDF'en",
|
|
"pdfLoadError": "Der opstod en fejl under indlæsning af denne PDF-fil.",
|
|
"loadingPdf": "Loading PDF viewer...",
|
|
"loadingPage": "Indlæser side...",
|
|
"cancel": "Ophæve",
|
|
"copiedItems_one": "Kopieret {{count}} element",
|
|
"copiedItems_other": "Kopierede {{count}} elementer",
|
|
"deleteCopiedFileFailed": "Kunne ikke slette kopien af {{name}}: {{error}}",
|
|
"dragMovedItems_one": "Flyttede {{count}} element til {{target}}",
|
|
"dragMovedItems_other": "Flyttede {{count}} elementer til {{target}}",
|
|
"moveBackFileFailed": "Kunne ikke flytte {{name}} tilbage: {{error}}",
|
|
"terminal": "Terminal: {{host}} ({{path}})",
|
|
"dragToDesktop": "Træk {{name}} til skrivebordet",
|
|
"dragFilesToDesktop": "Træk {{count}} filer til skrivebordet",
|
|
"folderDragUnsupported": "Det understøttes endnu ikke at trække mapper til skrivebordet",
|
|
"saveToDesktopFailed": "Gemning mislykkedes: {{error}}",
|
|
"dragFailedDetail": "Træk mislykkedes: {{error}}",
|
|
"videoUnsupported": "Din browser kan ikke afspille dette videoformat.",
|
|
"downloadToPlay": "Download for at afspille det et andet sted",
|
|
"cannotPreviewType": "Kan ikke forhåndsvise denne filtype",
|
|
"cannotPreviewTypeHint": "Denne filtype har ingen forhåndsvisning. Download den for at åbne den i en anden app.",
|
|
"loadingFile": "Loading file...",
|
|
"loadingImage": "Loading image...",
|
|
"loadingEditor": "Loading editor...",
|
|
"loadingPreview": "Loading preview...",
|
|
"loadingAudio": "Loading audio player...",
|
|
"emptyPreview": "Nothing to preview yet...",
|
|
"revert": "Revert",
|
|
"openAsText": "Open as Text",
|
|
"confirmOpenAsText": "Do you want to continue opening this file as text? This may slow down your browser."
|
|
},
|
|
"sftpTransfer": {
|
|
"title": "SFTP",
|
|
"description": "Overfør filer mellem to SSH-værter.",
|
|
"sourceServer": "Kildeserver",
|
|
"destinationServer": "Destinationsserver",
|
|
"selectHost": "Vælg vært",
|
|
"noHostSelected": "Ingen vært valgt",
|
|
"move": "Flytte",
|
|
"copy": "Kopi",
|
|
"upload": "Upload",
|
|
"itemsSelected": "{{count}} element valgt",
|
|
"itemsSelected_other": "{{count}} elementer valgt",
|
|
"ready": "Parat",
|
|
"loadingHosts": "Indlæser værter...",
|
|
"name": "Navn",
|
|
"modified": "Ændret",
|
|
"size": "Størrelse",
|
|
"noFiles": "Ingen filer",
|
|
"open": "Åben",
|
|
"up": "Op",
|
|
"refresh": "Opfriske",
|
|
"copyToTarget": "Kopiér til målmappe",
|
|
"rename": "Omdøb",
|
|
"delete": "Slet",
|
|
"editPermissions": "Rediger tilladelser",
|
|
"createNewFolder": "Opret ny mappe",
|
|
"deleteSelectedItems": "Slet valgte elementer",
|
|
"deleteConfirm": "Slet {{count}} det valgte element?",
|
|
"deleteConfirm_other": "Slet {{count}} valgte elementer?",
|
|
"cancel": "Ophæve",
|
|
"save": "Spare",
|
|
"folderCreated": "Mappe oprettet",
|
|
"itemRenamed": "Varen er omdøbt",
|
|
"actionFailed": "Handlingen mislykkedes",
|
|
"itemsDeleted": "{{count}} element slettet",
|
|
"itemsDeleted_other": "{{count}} elementer slettet",
|
|
"deleteFailed": "Sletning mislykkedes",
|
|
"permissionsUpdated": "Tilladelser opdateret",
|
|
"noRemoteSessionConnected": "Ingen fjernsession tilsluttet",
|
|
"failedToListFiles": "Kunne ikke liste filer",
|
|
"failedToRefresh": "Kunne ikke opdatere",
|
|
"destinationInsideSource": "Destinationen må ikke være inden for den valgte kildesti.",
|
|
"sameHostNoOp": "Kilde og destination er den samme mappe."
|
|
},
|
|
"hosts": {
|
|
"fileManager": "Filhåndtering",
|
|
"fileManagerUrlCopied": "URL'en til filhåndtering er kopieret",
|
|
"copyFileManagerUrlAction": "Kopiér URL til filhåndtering",
|
|
"docsLink": "Se dokumenter",
|
|
"hostNotFound": "Værten blev ikke fundet",
|
|
"loadingHost": "Indlæser vært..."
|
|
},
|
|
"onboarding": {
|
|
"feature_files": "Filhåndtering",
|
|
"feature_files_desc": "Gennemse, upload, download og rediger filer via SFTP uden at forlade appen."
|
|
},
|
|
"terminal": {
|
|
"runTitle": "Kører {{command}} - {{host}}",
|
|
"terminalTitle": "Terminal - {{host}}",
|
|
"terminalWithPath": "Terminal - {{host}}:{{path}}"
|
|
},
|
|
"transfer": {
|
|
"browseFolders": "Gennemse destinationsmapper",
|
|
"browsePathError": "Kunne ikke åbne denne sti på destinationsværten.",
|
|
"browsePathWillBeCreated": "Denne mappe findes ikke endnu. Den vil blive oprettet, når overførslen starter.",
|
|
"cancel": "Ophæve",
|
|
"cleanupDestFiles": "Oprydningsdestination",
|
|
"cleanupDestFilesError": "Oprydning mislykkedes",
|
|
"cleanupDestFilesNothing": "Intet at rydde op på destinationen",
|
|
"cleanupDestFilesPartial": "Nogle delvise filer kunne ikke fjernes",
|
|
"cleanupDestFilesSuccess": "Fjernede delvise filer fra destinationen",
|
|
"confirmCopy": "Kopi",
|
|
"confirmMove": "Flytte",
|
|
"copyFolderToHost": "Kopiér mappe til vært…",
|
|
"copyItemsToHost": "Kopiér {{count}} elementer til at være vært for…",
|
|
"copyToHost": "Kopiér til vært…",
|
|
"destinationPath": "Destinationssti",
|
|
"destMustBeDirectory": "Destinationen skal være en mappe for overførsler af flere elementer",
|
|
"goUp": "Gå op",
|
|
"hostAuthRequired": "Godkendelse kræves. Åbn først Filhåndtering på denne vært",
|
|
"hostConnecting": "Forbinder…",
|
|
"hostConnectionFailed": "Forbindelsen mislykkedes",
|
|
"hostDisconnected": "Ikke forbundet",
|
|
"hostReady": "Parat",
|
|
"itemsSummary": "{{count}} elementer",
|
|
"jumpHostLimitation": "Begge værter skal kunne nås fra Termix-serveren. Direkte vært-til-vært-routing understøttes ikke.",
|
|
"methodAuto": "Bil",
|
|
"methodAutoHint": "Vælger tar eller SFTP pr. fil baseret på antal filer, størrelse og komprimerbarhed. Enkeltfiler bruger altid streaming SFTP.",
|
|
"methodItemSftp": "SFTP pr. fil",
|
|
"methodItemSftpHint": "Overfør hver fil individuelt via SFTP. Fungerer på alle værter, inklusive Windows.",
|
|
"methodItemSftpLimitation": "Hver fil bruger den samme SFTP-strøm som en enkelt filkopi, én efter én. Status kombineres på tværs af alle filer, så bjælken bevæger sig langsomt under store filer.",
|
|
"methodLabel": "Overførselsmetode",
|
|
"methodPreviewError": "Kunne ikke forhåndsvise overførselsmetoden. Serveren vil stadig vælge en metode, når du starter.",
|
|
"methodPreviewLoading": "Beregning af overførselsmetode…",
|
|
"methodPreviewScanSummary": "{{fileCount}} filer, {{totalSize}} i alt (scannet på kildevært).",
|
|
"methodPreviewWillUseItemSftp": "Vil bruge: SFTP pr. fil",
|
|
"methodPreviewWillUseTar": "Vil bruge: Tar-arkiv",
|
|
"methodReason": {
|
|
"user_item_sftp": "Du valgte SFTP pr. fil.",
|
|
"user_tar": "Du valgte tar-arkivet.",
|
|
"tar_unavailable": "Tar er ikke tilgængelig på den ene eller begge værter, så SFTP pr. fil vil blive brugt i stedet.",
|
|
"windows_host": "En Windows-vært er involveret, så tar bruges ikke.",
|
|
"auto_multi_large": "Auto: flere filer inklusive en stor fil ({{largestSize}}) med komprimerbare data. Tar samler dem i én overførsel.",
|
|
"auto_single_large_in_archive": "Auto: én stor fil ({{largestSize}}) i dette sæt, så SFTP pr. fil.",
|
|
"auto_many_incompressible": "Auto: for det meste inkomprimerbare data, så SFTP pr. fil.",
|
|
"auto_many_files": "Auto: mange filer ({{fileCount}}), tar reducerer overhead pr. fil.",
|
|
"auto_default": "Auto: SFTP pr. fil for dette sæt."
|
|
},
|
|
"methodTar": "Tar-arkiv",
|
|
"methodTarHint": "Komprimer ved kildekode, overfør ét arkiv, udpak ved destination. Kræver tar på begge Unix-værter.",
|
|
"metricsCompress": "Komprimer på kilde: {{duration}}",
|
|
"metricsExtract": "Udtræk på destination: {{duration}}",
|
|
"metricsPrepare": "Forbered destination: {{duration}}",
|
|
"metricsRouteBenchmark": "Ruteprobe: direkte {{direct}}, relæ {{relay}}",
|
|
"metricsSourceDelete": "Fjern fra kilde: {{duration}}",
|
|
"metricsTotal": "I alt: {{duration}}",
|
|
"metricsTransfer": "End-to-end: {{throughput}} ({{duration}})",
|
|
"metricsVerify": "SHA-256 verificeret: {{duration}}",
|
|
"moveFolderToHost": "Flyt mappe til vært…",
|
|
"moveItemsToHost": "Flyt {{count}} elementer til at være vært for…",
|
|
"moveToHost": "Flyt til vært…",
|
|
"noHostsConnected": "Ingen andre filhåndteringsværter tilgængelige.",
|
|
"noHostsConnectedHint": "Tilføj en anden SSH-vært med Filhåndtering aktiveret i Værtshåndtering.",
|
|
"parallelSegmentsHint": "Store filer opdeles i bidder på 256 MB. Flere baner bruger separate forbindelser (f.eks. at starte flere overførsler) for at opnå en højere samlet gennemløbshastighed.",
|
|
"parallelSegmentsLabel": "Parallelle overførselsbaner",
|
|
"parallelSegmentsOption": "{{count}} baner",
|
|
"progressBenchmarking": "Valg af den hurtigste overførselsrute…",
|
|
"progressBytes": "{{transferred}} / {{total}}",
|
|
"progressCancel": "Ophæve",
|
|
"progressCancelling": "Annullerer…",
|
|
"progressCompressing": "Komprimering på kildevært…",
|
|
"progressExtracting": "Udpakning på destination…",
|
|
"progressItems": "{{current}} / {{total}} filer",
|
|
"progressReconnecting": "Genopretter forbindelse…",
|
|
"progressStalled": "Standset",
|
|
"progressTotalSpeed": "{{speed}} i alt ({{lanes}} baner)",
|
|
"progressTransferring": "Overførsel af data…",
|
|
"progressTransferringItems": "Overførsel af filer ({{current}} af {{total}})…",
|
|
"progressVerifying": "Bekræfter filintegritet…",
|
|
"recentDestinations": "Seneste destinationer",
|
|
"resumedHint": "Genoprettet forbindelse til en aktiv overførsel, der er startet i et andet vindue.",
|
|
"retryTransfer": "Prøv igen",
|
|
"retryTransferError": "Genforsøg mislykkedes",
|
|
"selectDestinationHost": "Vælg destinationsvært",
|
|
"transferCancelled": "Overførsel annulleret",
|
|
"transferCancelledCopyHint": "Delvise filer kan forblive på destinationen.",
|
|
"transferCancelledMoveHint": "Delvise filer kan forblive på destinationen. Kildefilerne blev ikke fjernet.",
|
|
"transferError": "Overførslen mislykkedes",
|
|
"transferFailedRetryHint": "Delvise data blev gemt på destinationen. Forsøget genoptages, når forbindelsen er tilbage.",
|
|
"transferPartialHint": "Kunne ikke overføre: {{paths}}",
|
|
"transferSuccess": "Overførsel fuldført",
|
|
"metricsHopSourceRead": "Kilde → server: {{throughput}}",
|
|
"metricsHopDestSftpWrite": "Server → destination (SFTP): {{throughput}}",
|
|
"metricsHopDestLocalWrite": "Server → destination (lokal): {{throughput}}"
|
|
},
|
|
"plugin": {
|
|
"name": "File Manager"
|
|
}
|
|
}
|