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
30 KiB
JSON
556 lines
30 KiB
JSON
{
|
|
"nav": {
|
|
"files": "Ficheiros",
|
|
"sftp": "SFTP",
|
|
"openFileManager": "Abrir Gestor de Ficheiros"
|
|
},
|
|
"permissions": {
|
|
"use": {
|
|
"title": "Use o gestor de ficheiros",
|
|
"description": "Navegue, edite e transfira ficheiros via SFTP."
|
|
}
|
|
},
|
|
"settings": {
|
|
"host": {
|
|
"enable": {
|
|
"label": "Ativar Gestor de Ficheiros",
|
|
"description": "Navegue e edite ficheiros neste servidor via SFTP."
|
|
},
|
|
"defaultPath": {
|
|
"label": "Caminho Predefinido"
|
|
},
|
|
"scpLegacy": {
|
|
"label": "Modo SCP Legado"
|
|
}
|
|
},
|
|
"user": {
|
|
"transferConcurrency": {
|
|
"label": "Transferências simultâneas de ficheiros",
|
|
"description": "Quantos ficheiros o gestor local/remoto lado a lado carrega ou descarrega simultaneamente? Diminua este valor se o seu servidor limitar os canais SFTP."
|
|
},
|
|
"confirmBeforeTrash": {
|
|
"label": "Confirme antes de mover os ficheiros para a reciclagem.",
|
|
"description": "Peça permissão antes de mover ficheiros remotos para a reciclagem. A eliminação permanente ainda requer confirmação."
|
|
}
|
|
}
|
|
},
|
|
"hostCapability": {
|
|
"label": "Gestor de Ficheiros"
|
|
},
|
|
"fileManager": {
|
|
"noHostSelected": "Nenhum host selecionado",
|
|
"initializingEditor": "A inicializar editor...",
|
|
"file": "Ficheiro",
|
|
"folder": "Pasta",
|
|
"uploadFile": "Carregar Ficheiro",
|
|
"downloadFile": "Descarregar",
|
|
"extractArchive": "Extrair Arquivo",
|
|
"extractingArchive": "A extrair {{name}}...",
|
|
"archiveExtractedSuccessfully": "{{name}} extraído com sucesso",
|
|
"extractFailed": "Extração falhou",
|
|
"compressFile": "Comprimir Ficheiro",
|
|
"compressFiles": "Comprimir Ficheiros",
|
|
"compressFilesDesc": "Comprimir {{count}} itens num arquivo",
|
|
"archiveName": "Nome do arquivo",
|
|
"enterArchiveName": "Introduza o nome do arquivo...",
|
|
"compressionFormat": "Formato de compressão",
|
|
"selectedFiles": "Ficheiros selecionados",
|
|
"andMoreFiles": "e mais {{count}}...",
|
|
"compress": "Comprimir",
|
|
"compressingFiles": "A comprimir {{count}} itens em {{name}}...",
|
|
"filesCompressedSuccessfully": "{{name}} criado com sucesso",
|
|
"compressFailed": "Compressão falhou",
|
|
"edit": "Editar",
|
|
"preview": "Pré-visualizar",
|
|
"previous": "Anterior",
|
|
"next": "Seguinte",
|
|
"pageXOfY": "Página {{current}} de {{total}}",
|
|
"zoomOut": "Reduzir",
|
|
"zoomIn": "Ampliar",
|
|
"newFile": "Novo Ficheiro",
|
|
"newFolder": "Nova Pasta",
|
|
"rename": "Renomear",
|
|
"uploading": "A enviar...",
|
|
"uploadingFile": "A enviar {{name}}...",
|
|
"uploadingChunk": "A enviar {{name}}: {{percent}}% (parte {{chunk}} de {{total}})",
|
|
"fileName": "Nome do ficheiro",
|
|
"folderName": "Nome da pasta",
|
|
"fileUploadedSuccessfully": "Ficheiro \"{{name}}\" enviado com sucesso",
|
|
"failedToUploadFile": "Falha ao enviar ficheiro",
|
|
"uploadingFolderFiles": "A enviar {{count}} ficheiro(s)...",
|
|
"uploadedFolderFiles": "Ficheiro(s) carregado(s) com sucesso {{count}}",
|
|
"uploadedFolderPartial": "Uploaded {{uploaded}} file(s), {{failed}} failed",
|
|
"fileDownloadedSuccessfully": "Ficheiro \"{{name}}\" descarregado com sucesso",
|
|
"failedToDownloadFile": "Falha ao descarregar ficheiro",
|
|
"fileCreatedSuccessfully": "Ficheiro \"{{name}}\" criado com sucesso",
|
|
"folderCreatedSuccessfully": "Pasta \"{{name}}\" criada com sucesso",
|
|
"failedToCreateItem": "Falha ao criar item",
|
|
"operationFailed": "Operação {{operation}} falhou para {{name}}: {{error}}",
|
|
"failedToResolveSymlink": "Falha ao resolver ligação simbólica",
|
|
"itemsDeletedSuccessfully": "{{count}} itens eliminados com êxito",
|
|
"failedToDeleteItems": "Falha ao eliminar itens",
|
|
"sudoPasswordRequired": "Palavra-passe de administrador necessária",
|
|
"enterSudoPassword": "Introduza a palavra-passe sudo para continuar esta operação",
|
|
"sudoPassword": "Palavra-passe sudo",
|
|
"sudoOperationFailed": "Operação sudo falhou",
|
|
"sudoAuthFailed": "Autenticação sudo falhou",
|
|
"dragFilesToUpload": "Arraste ficheiros aqui para carregar",
|
|
"dropToUploadHere": "Arraste e faça o upload aqui.",
|
|
"dropToDownloadHere": "Faça o download aqui.",
|
|
"localFiles": "Local",
|
|
"showLocalFiles": "Visualizar ficheiros locais (visualização dividida)",
|
|
"hideLocalFiles": "Ocultar ficheiros locais",
|
|
"localHome": "Pasta inicial",
|
|
"localPathPlaceholder": "Caminho da pasta local",
|
|
"localShowHidden": "Mostrar ficheiros ocultos",
|
|
"localHideHidden": "Ocultar ficheiros ocultos",
|
|
"localRevealInFileManager": "Exibir no gestor de ficheiros do sistema",
|
|
"localCannotOpenFolder": "Não é possível abrir a pasta",
|
|
"localItemCount": "{{count}} itens",
|
|
"localSelectedCount": "{{count}} selecionado(s)",
|
|
"back": "Voltar",
|
|
"forward": "Encaminhar",
|
|
"up": "Para cima",
|
|
"kind": "Amabilidade",
|
|
"localUploadingProgress": "A enviar {{current}} de {{total}}",
|
|
"localDownloadingProgress": "A descarregar {{current}} de {{total}}",
|
|
"localTransferInFlight": "{{count}} imediatamente",
|
|
"localPreparingDownload": "A preparar o download...",
|
|
"localTransferCancelled": "Transferência cancelada",
|
|
"localNothingToTransfer": "Nada a transferir",
|
|
"localUploadComplete": "Uploaded {{count}} file(s)",
|
|
"localUploadFailed": "Falha no upload",
|
|
"localUploadPartial": "Uploaded {{done}} file(s), {{failed}} failed",
|
|
"localDownloadComplete": "Ficheiro(s) descarregado(s) {{count}}",
|
|
"localDownloadFailed": "Falha ao descarregar",
|
|
"localDownloadPartial": "O download de {{done}} ficheiro(s) falhou. {{failed}}",
|
|
"localReplaceExistingPrompt": "{{count}} Já existem itens nesta pasta. Deseja substituí-los?",
|
|
"localReplace": "Substituir",
|
|
"localSkipExisting": "Ignorar",
|
|
"localSkippedExisting": "Ignorou {{count}} item(s) existente(s)",
|
|
"localUnsafeNamesSkipped": "Ignorado {{count}} item(s) cujos nomes não podem ser utilizados neste computador",
|
|
"localOpen": "Abrir",
|
|
"localOpenFolder": "Abra a pasta",
|
|
"localUploadToRemote": "Enviar para o servidor",
|
|
"localUploadToRemoteMany": "Enviar {{count}} itens para o servidor",
|
|
"localMoveToTrash": "Mover para a Reciclagem",
|
|
"localMoveToTrashMany": "Mover {{count}} itens para a Reciclagem",
|
|
"localTrashConfirmSingle": "Deslocar \"{{name}}\" para a Reciclagem?",
|
|
"localTrashConfirmFolder": "Mover a pasta \"{{name}}\" e todo o seu conteúdo para a Reciclagem?",
|
|
"localTrashConfirmMany": "Mover {{count}} itens para a Reciclagem?",
|
|
"localTrashed": "Movidos {{count}} itens para a Reciclagem",
|
|
"localTrashFailed": "Não foi possível mover para a Reciclagem",
|
|
"localRenameFailed": "A renomeação falhou",
|
|
"localCreateFailed": "Não foi possível criar o item.",
|
|
"goToParentFolder": "Aceda à pasta principal",
|
|
"resizeSidebar": "Arraste para redimensionar a barra lateral (clique duas vezes para repor).",
|
|
"resizeLocalPane": "Arraste para redimensionar o painel local (clique duas vezes para repor).",
|
|
"columns": "Colunas",
|
|
"columnsHint": "Clique com o botão direito do rato para escolher as colunas.",
|
|
"emptyFolder": "Esta pasta está vazia",
|
|
"searchFiles": "Procurar ficheiros...",
|
|
"upload": "Carregar",
|
|
"selectHostToStart": "Selecione uma máquina para iniciar a gestão de ficheiros",
|
|
"sshRequiredForFileManager": "O gestor de ficheiros requer SSH. Esta máquina não tem SSH ativado.",
|
|
"failedToConnect": "Falha ao ligar ao SSH",
|
|
"failedToLoadDirectory": "Falha ao carregar diretório",
|
|
"noSSHConnection": "Nenhuma ligação SSH disponível",
|
|
"copy": "Copiar",
|
|
"cut": "Cortar",
|
|
"paste": "Colar",
|
|
"copyPath": "Copiar caminho",
|
|
"copyPaths": "Copiar caminhos",
|
|
"delete": "Eliminar",
|
|
"properties": "Propriedades",
|
|
"refresh": "Atualizar",
|
|
"downloadFiles": "Descarregar {{count}} ficheiros para o navegador",
|
|
"copyFiles": "Copiar {{count}} itens",
|
|
"cutFiles": "Cortar {{count}} itens",
|
|
"deleteFiles": "Eliminar {{count}} itens",
|
|
"filesCopiedToClipboard": "{{count}} itens copiados para a área de transferência",
|
|
"filesCutToClipboard": "{{count}} itens cortados para a área de transferência",
|
|
"pathCopiedToClipboard": "Caminho copiado para a área de transferência",
|
|
"pathsCopiedToClipboard": "{{count}} caminhos copiados para a área de transferência",
|
|
"failedToCopyPath": "Falha ao copiar o caminho para a área de transferência",
|
|
"copyFolderLink": "Copiar ligação para a pasta",
|
|
"copyCurrentFolderLink": "Copiar ligação para a pasta atual",
|
|
"folderLinkCopied": "Ligação da pasta copiada para a área de transferência",
|
|
"failedToCopyFolderLink": "Falha ao copiar a ligação da pasta",
|
|
"movedItems": "{{count}} itens movidos",
|
|
"failedToDeleteItem": "Falha ao eliminar o item",
|
|
"itemRenamedSuccessfully": "Renomeação de {{type}} bem-sucedida.",
|
|
"failedToRenameItem": "Falha ao renomear o item",
|
|
"download": "Transferir",
|
|
"openExternalEditor": "Abrir externamente",
|
|
"chooseExternalEditor": "Escolher editor externo",
|
|
"externalEditorSelected": "Editor externo selecionado",
|
|
"externalEditorDesktopOnly": "O editor externo está disponível apenas na aplicação de ambiente de trabalho",
|
|
"externalEditorOpened": "Aberto no editor externo. Ao guardar, as alterações serão enviadas de volta para o servidor.",
|
|
"failedToOpenExternalEditor": "Falha ao abrir o editor externo",
|
|
"failedToSelectExternalEditor": "Falha ao selecionar o editor externo",
|
|
"permissions": "Permissões",
|
|
"size": "Tamanho",
|
|
"modified": "Modificado",
|
|
"path": "Caminho",
|
|
"confirmDelete": "Tem a certeza de que pretende eliminar {{name}}?",
|
|
"permissionDenied": "Permissão negada",
|
|
"serverError": "Erro do servidor",
|
|
"fileSavedSuccessfully": "Ficheiro guardado com sucesso",
|
|
"failedToSaveFile": "Falha ao guardar o ficheiro",
|
|
"confirmDeleteSingleItem": "Tem a certeza de que pretende eliminar permanentemente \"{{name}}\"?",
|
|
"confirmDeleteMultipleItems": "Tem a certeza de que pretende eliminar permanentemente {{count}} itens?",
|
|
"confirmDeleteMultipleItemsWithFolders": "Tem a certeza de que pretende eliminar permanentemente {{count}} itens? Isto inclui pastas e o seu conteúdo.",
|
|
"confirmDeleteFolder": "Tem a certeza de que pretende eliminar permanentemente a pasta \"{{name}}\" e todo o seu conteúdo?",
|
|
"permanentDeleteWarning": "Esta ação não pode ser anulada. Os itens serão permanentemente eliminados do servidor.",
|
|
"moveToTrashWarning": "O(s) artigo(s) será(ão) movido(s) para a Reciclagem Termix e poderá(ão) ser restaurado(s) antes do fim do período de retenção.",
|
|
"itemsMovedToTrash": "{{count}} artigo(s) movido(s) para a Reciclagem",
|
|
"trash": "Lixo",
|
|
"trashDescription": "Os itens eliminados são retidos durante {{days}} dia(s) neste host.",
|
|
"trashLoadFailed": "Falha ao carregar a Reciclagem",
|
|
"trashEmpty": "A papeleira está vazia.",
|
|
"trashRestore": "Restaurar",
|
|
"trashRestored": "Restaurado {{name}}",
|
|
"trashRestoreFailed": "Falha ao restaurar o item. O caminho original pode já existir.",
|
|
"trashDeletePermanently": "Apagar permanentemente",
|
|
"trashDeleteConfirm": "Apagar permanentemente {{name}}? Esta ação não pode ser anulada.",
|
|
"trashPermanentlyDeleted": "Eliminado permanentemente {{name}}",
|
|
"trashDeleteFailed": "Falha ao eliminar o item permanentemente",
|
|
"trashEmptyAction": "Esvaziar o lixo",
|
|
"trashEmptyConfirm": "Apagar permanentemente todos os itens da Reciclagem? Esta ação é irreversível.",
|
|
"trashEmptied": "Lixo esvaziado",
|
|
"trashRetention": "Limpeza automática após (dias)",
|
|
"trashRetentionSaved": "Retenção de lixo atualizada",
|
|
"trashRetentionFailed": "Falha na atualização da retenção de lixo",
|
|
"trashUnavailableConfirm": "Este item não pode ser movido para a Reciclagem, geralmente porque está noutro sistema de ficheiros ou requer permissões elevadas. Deseja eliminá-lo permanentemente?",
|
|
"recent": "Recentes",
|
|
"pinned": "Fixados",
|
|
"folderShortcuts": "Atalhos de pastas",
|
|
"failedToReconnectSSH": "Falha ao restabelecer a sessão SSH",
|
|
"openTerminalHere": "Abrir Terminal Aqui",
|
|
"run": "Executar",
|
|
"openTerminalInFolder": "Abrir Terminal Nesta Pasta",
|
|
"openTerminalInFileLocation": "Abrir Terminal na Localização do Ficheiro",
|
|
"runningFile": "Em execução - {{file}}",
|
|
"onlyRunExecutableFiles": "Só pode executar ficheiros executáveis",
|
|
"directories": "Pastas",
|
|
"removedFromRecentFiles": "Removido \"{{name}}\" dos ficheiros recentes",
|
|
"removeFailed": "Falha ao remover",
|
|
"unpinnedSuccessfully": "\"{{name}}\" desafixado com sucesso",
|
|
"unpinFailed": "Falha ao desafixar",
|
|
"removedShortcut": "Atalho \"{{name}}\" removido",
|
|
"removeShortcutFailed": "Falha ao remover atalho",
|
|
"clearedAllRecentFiles": "Limpos todos os ficheiros recentes",
|
|
"clearFailed": "Falha ao limpar",
|
|
"removeFromRecentFiles": "Remover dos ficheiros recentes",
|
|
"clearAllRecentFiles": "Limpar todos os ficheiros recentes",
|
|
"unpinFile": "Desafixar ficheiro",
|
|
"removeShortcut": "Remover atalho",
|
|
"pinFile": "Afixar ficheiro",
|
|
"addToShortcuts": "Adicionar aos atalhos",
|
|
"pasteFailed": "Falha ao colar",
|
|
"noUndoableActions": "Sem ações para desfazer",
|
|
"undoCopySuccess": "Desfeita a operação de cópia: Eliminados {{count}} ficheiros copiados",
|
|
"undoCopyFailedDelete": "Falha ao desfazer: Não foi possível eliminar os ficheiros copiados",
|
|
"undoCopyFailedNoInfo": "Falha ao desfazer: Não foi possível encontrar a informação dos ficheiros copiados",
|
|
"undoMoveSuccess": "Desfeita a operação de mover: {{count}} ficheiros movidos de volta para o local original",
|
|
"undoMoveFailedMove": "Falha ao desfazer: Não foi possível mover nenhum ficheiro de volta",
|
|
"undoMoveFailedNoInfo": "Falha ao desfazer: Não foi possível encontrar a informação dos ficheiros movidos",
|
|
"undoDeleteNotSupported": "A operação de eliminar não pode ser desfeita: Os ficheiros foram eliminados permanentemente do servidor",
|
|
"undoTypeNotSupported": "Tipo de operação de desfazer não suportado",
|
|
"undoOperationFailed": "Falha ao desfazer a operação",
|
|
"unknownError": "Erro desconhecido",
|
|
"confirm": "Confirmar",
|
|
"find": "Procurar...",
|
|
"replace": "Substituir",
|
|
"downloadInstead": "Transferir em alternativa",
|
|
"keyboardShortcuts": "Atalhos de teclado",
|
|
"searchAndReplace": "Pesquisar e substituir",
|
|
"editing": "Edição",
|
|
"search": "Pesquisar",
|
|
"findNext": "Localizar seguinte",
|
|
"findPrevious": "Localizar anterior",
|
|
"save": "Guardar",
|
|
"selectAll": "Selecionar tudo",
|
|
"undo": "Desfazer",
|
|
"redo": "Refazer",
|
|
"moveLineUp": "Mover linha para cima",
|
|
"moveLineDown": "Mover linha para baixo",
|
|
"toggleComment": "Alternar comentário",
|
|
"autoComplete": "Autocompletar",
|
|
"imageLoadError": "Erro ao carregar a imagem",
|
|
"startTyping": "Comece a escrever...",
|
|
"unknownSize": "Tamanho desconhecido",
|
|
"fileIsEmpty": "O ficheiro está vazio",
|
|
"largeFileWarning": "Aviso de ficheiro grande",
|
|
"largeFileWarningDesc": "Este ficheiro tem {{size}} de tamanho, o que poderá causar problemas de desempenho ao ser aberto como texto.",
|
|
"fileNotFoundAndRemoved": "O ficheiro \"{{name}}\" não foi encontrado e foi removido dos ficheiros recentes/fixados",
|
|
"failedToLoadFile": "Erro ao carregar o ficheiro: {{error}}",
|
|
"serverErrorOccurred": "Ocorreu um erro no servidor. Por favor, tente novamente mais tarde.",
|
|
"autoSaveFailed": "Falha na gravação automática",
|
|
"fileAutoSaved": "Ficheiro gravado automaticamente",
|
|
"moveFileFailed": "Falha ao mover {{name}}",
|
|
"moveOperationFailed": "Falha na operação de movimentação",
|
|
"canOnlyCompareFiles": "Só é possível comparar dois ficheiros",
|
|
"comparingFiles": "A comparar ficheiros: {{file1}} e {{file2}}",
|
|
"dragFailed": "Falha ao arrastar",
|
|
"filePinnedSuccessfully": "Ficheiro \"{{name}}\" fixado com sucesso",
|
|
"pinFileFailed": "Erro ao fixar o ficheiro",
|
|
"fileUnpinnedSuccessfully": "Ficheiro \"{{name}}\" desafixado com sucesso",
|
|
"unpinFileFailed": "Falha ao desafixar ficheiro",
|
|
"shortcutAddedSuccessfully": "Atalho para a pasta \"{{name}}\" adicionado com sucesso",
|
|
"addShortcutFailed": "Falha ao adicionar atalho",
|
|
"operationCompletedSuccessfully": "{{operation}} {{count}} itens com sucesso",
|
|
"operationCompleted": "{{operation}} {{count}} itens",
|
|
"downloadFileSuccess": "Ficheiro {{name}} descarregado com sucesso",
|
|
"downloadFileFailed": "Falha ao descarregar",
|
|
"downloadingFile": "A descarregar {{name}}…",
|
|
"downloadProgressBytes": "{{transferred}} / {{total}}",
|
|
"moveTo": "Mover para {{name}}",
|
|
"diffCompareWith": "Comparar diferenças com {{name}}",
|
|
"dragOutsideToDownload": "Arraste para fora da janela para descarregar ({{count}} ficheiros)",
|
|
"newFolderDefault": "NovaPasta",
|
|
"newFileDefault": "NovoFicheiro.txt",
|
|
"successfullyMovedItems": "{{count}} itens movidos com sucesso para {{target}}",
|
|
"move": "Mover",
|
|
"searchInFile": "Procurar no ficheiro (Ctrl+F)",
|
|
"showKeyboardShortcuts": "Mostrar atalhos de teclado",
|
|
"decreaseFontSize": "Diminuir tamanho da letra",
|
|
"increaseFontSize": "Aumentar tamanho da letra",
|
|
"startWritingMarkdown": "Comece a escrever o seu conteúdo em markdown...",
|
|
"loadingFileComparison": "A carregar comparação de ficheiros...",
|
|
"reload": "Recarregar",
|
|
"compare": "Comparar",
|
|
"sideBySide": "Lado a lado",
|
|
"inline": "Em linha",
|
|
"fileComparison": "Comparação de ficheiros: {{file1}} vs {{file2}}",
|
|
"fileTooLarge": "File is too large (> 10MB) and cannot be opened as text for security reasons.",
|
|
"sshConnectionFailed": "Falha na ligação SSH. Verifique a sua ligação a {{name}} ({{ip}}:{{port}})",
|
|
"loadFileFailed": "Falha ao carregar ficheiro: {{error}}",
|
|
"connecting": "A ligar...",
|
|
"connectedSuccessfully": "Ligado com sucesso",
|
|
"totpVerificationFailed": "Falha na verificação TOTP",
|
|
"browserSignInFailed": "Falha ao efetuar o login. Tente novamente.",
|
|
"authenticationFailed": "Falha na autenticação",
|
|
"incorrectPassphrase": "Frase-passe incorreta. Tente novamente.",
|
|
"verificationCodePrompt": "Código de verificação:",
|
|
"changePermissions": "Alterar Permissões",
|
|
"currentPermissions": "Permissões Atuais",
|
|
"owner": "Proprietário",
|
|
"group": "Grupo",
|
|
"others": "Outros",
|
|
"read": "Leitura",
|
|
"write": "Escrita",
|
|
"execute": "Execução",
|
|
"permissionsChangedSuccessfully": "Permissões alteradas com sucesso",
|
|
"failedToChangePermissions": "Falha ao alterar permissões",
|
|
"name": "Nome",
|
|
"sortByName": "Nome",
|
|
"sortByDate": "Data de modificação",
|
|
"sortBySize": "Tamanho",
|
|
"ascending": "Ascendente",
|
|
"descending": "Descendente",
|
|
"root": "Raiz",
|
|
"new": "Novo",
|
|
"sortBy": "Ordenar por",
|
|
"items": "Itens",
|
|
"selected": "Selecionados",
|
|
"editor": "Editor",
|
|
"octal": "Octal",
|
|
"storage": "Armazenamento",
|
|
"disk": "Disco",
|
|
"used": "Utilizado",
|
|
"of": "de",
|
|
"toggleSidebar": "Alternar Barra Lateral",
|
|
"compactLayout": "Utilize um layout compacto.",
|
|
"comfortableLayout": "Utilize um layout confortável",
|
|
"cannotLoadPdf": "Não é possível carregar o PDF",
|
|
"pdfLoadError": "Ocorreu um erro ao carregar este ficheiro PDF.",
|
|
"loadingPdf": "Loading PDF viewer...",
|
|
"loadingPage": "A carregar página...",
|
|
"cancel": "Cancelar",
|
|
"copiedItems_one": "Item copiado {{count}}",
|
|
"copiedItems_other": "Itens copiados {{count}}",
|
|
"deleteCopiedFileFailed": "Não foi possível eliminar a cópia de {{name}}: {{error}}",
|
|
"dragMovedItems_one": "Moved {{count}} item to {{target}}",
|
|
"dragMovedItems_other": "Movidos {{count}} itens para {{target}}",
|
|
"moveBackFileFailed": "Não foi possível mover {{name}} para trás: {{error}}",
|
|
"terminal": "Terminal: {{host}} ({{path}})",
|
|
"dragToDesktop": "Arrastar {{name}} para o ambiente de trabalho",
|
|
"dragFilesToDesktop": "Arrastar {{count}} ficheiros para o ambiente de trabalho",
|
|
"folderDragUnsupported": "Arrastar pastas para o ambiente de trabalho ainda não é suportado.",
|
|
"saveToDesktopFailed": "Falha ao guardar: {{error}}",
|
|
"dragFailedDetail": "Falha ao arrastar: {{error}}",
|
|
"videoUnsupported": "O seu navegador não consegue reproduzir este formato de vídeo.",
|
|
"downloadToPlay": "Faça o download para jogar noutro local.",
|
|
"cannotPreviewType": "Não é possível visualizar este tipo de ficheiro.",
|
|
"cannotPreviewTypeHint": "Este tipo de ficheiro não possui pré-visualização. Faça o download para abri-lo noutra aplicação.",
|
|
"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": "Transferir ficheiros entre dois hosts SSH.",
|
|
"sourceServer": "Servidor de origem",
|
|
"destinationServer": "Servidor de destino",
|
|
"selectHost": "Selecione o host",
|
|
"noHostSelected": "Nenhum anfitrião selecionado",
|
|
"move": "Mover",
|
|
"copy": "Copiar",
|
|
"upload": "Carregar",
|
|
"itemsSelected": "{{count}} item selecionado",
|
|
"itemsSelected_other": "{{count}} itens selecionados",
|
|
"ready": "Pronto",
|
|
"loadingHosts": "A carregar hosts...",
|
|
"name": "Nome",
|
|
"modified": "Modificado",
|
|
"size": "Tamanho",
|
|
"noFiles": "Nenhum ficheiro",
|
|
"open": "Abrir",
|
|
"up": "Para cima",
|
|
"refresh": "Atualizar",
|
|
"copyToTarget": "Copiar para o diretório de destino",
|
|
"rename": "Renomear",
|
|
"delete": "Eliminar",
|
|
"editPermissions": "Editar permissões",
|
|
"createNewFolder": "Criar nova pasta",
|
|
"deleteSelectedItems": "Apagar itens selecionados",
|
|
"deleteConfirm": "Delete {{count}} selected item?",
|
|
"deleteConfirm_other": "Apagar {{count}} itens selecionados?",
|
|
"cancel": "Cancelar",
|
|
"save": "Guardar",
|
|
"folderCreated": "Pasta criada",
|
|
"itemRenamed": "Artigo renomeado",
|
|
"actionFailed": "A ação falhou",
|
|
"itemsDeleted": "{{count}} item eliminado",
|
|
"itemsDeleted_other": "{{count}} itens eliminados",
|
|
"deleteFailed": "Falha ao eliminar",
|
|
"permissionsUpdated": "Permissões atualizadas",
|
|
"noRemoteSessionConnected": "Nenhuma sessão remota ligada.",
|
|
"failedToListFiles": "Falha ao listar os ficheiros",
|
|
"failedToRefresh": "Falha ao atualizar",
|
|
"destinationInsideSource": "O destino não pode estar dentro do caminho de origem selecionado.",
|
|
"sameHostNoOp": "A origem e o destino são a mesma pasta."
|
|
},
|
|
"hosts": {
|
|
"fileManager": "Gestor de Ficheiros",
|
|
"fileManagerUrlCopied": "URL do gestor de ficheiros copiada",
|
|
"copyFileManagerUrlAction": "Copiar URL do Gestor de Ficheiros",
|
|
"docsLink": "Ver documentação",
|
|
"hostNotFound": "Host não encontrado",
|
|
"loadingHost": "A carregar o host..."
|
|
},
|
|
"onboarding": {
|
|
"feature_files": "Gestor de arquivos",
|
|
"feature_files_desc": "Navegue, carregue, descarregue e edite ficheiros via SFTP sem sair da aplicação."
|
|
},
|
|
"terminal": {
|
|
"runTitle": "A executar {{command}} - {{host}}",
|
|
"terminalTitle": "Terminal - {{host}}",
|
|
"terminalWithPath": "Terminal - {{host}}:{{path}}"
|
|
},
|
|
"transfer": {
|
|
"browseFolders": "Navegar pelas pastas de destino",
|
|
"browsePathError": "Não foi possível abrir este caminho no host de destino.",
|
|
"browsePathWillBeCreated": "Esta pasta ainda não existe. Será criada quando a transferência for iniciada.",
|
|
"cancel": "Cancelar",
|
|
"cleanupDestFiles": "Limpar destino",
|
|
"cleanupDestFilesError": "A limpeza falhou.",
|
|
"cleanupDestFilesNothing": "Nada a limpar no destino.",
|
|
"cleanupDestFilesPartial": "Não foi possível remover alguns ficheiros parciais.",
|
|
"cleanupDestFilesSuccess": "Ficheiros parciais removidos do destino.",
|
|
"confirmCopy": "Copiar",
|
|
"confirmMove": "Mover",
|
|
"copyFolderToHost": "Copiar pasta para o host…",
|
|
"copyItemsToHost": "Copiar {{count}} itens para o host…",
|
|
"copyToHost": "Copiar para o host…",
|
|
"destinationPath": "Caminho de destino",
|
|
"destMustBeDirectory": "O destino deve ser uma pasta para transferências de vários itens.",
|
|
"goUp": "Subir",
|
|
"hostAuthRequired": "É necessária autenticação. Primeiro, abra o Gestor de Ficheiros neste host.",
|
|
"hostConnecting": "A ligar…",
|
|
"hostConnectionFailed": "Falha na ligação",
|
|
"hostDisconnected": "Desligado",
|
|
"hostReady": "Pronto",
|
|
"itemsSummary": "{{count}} itens",
|
|
"jumpHostLimitation": "Ambos os hosts têm de ser acessíveis a partir do servidor Termix. O encaminhamento direto entre hosts não é suportado.",
|
|
"methodAuto": "Automático",
|
|
"methodAutoHint": "Escolhe tar ou SFTP por ficheiro com base no número de ficheiros, tamanho e compressibilidade. Os ficheiros únicos usam sempre SFTP por streaming.",
|
|
"methodItemSftp": "SFTP por ficheiro",
|
|
"methodItemSftpHint": "Transfere cada ficheiro individualmente por SFTP. Funciona em todos os hosts, incluindo Windows.",
|
|
"methodItemSftpLimitation": "Cada ficheiro utiliza o mesmo stream SFTP como uma cópia de um único ficheiro, um após o outro. O progresso é combinado para todos os ficheiros, pelo que a barra se move lentamente durante ficheiros grandes.",
|
|
"methodLabel": "Método de transferência",
|
|
"methodPreviewError": "Não foi possível pré-visualizar o método de transferência. O servidor ainda escolherá um método quando iniciar.",
|
|
"methodPreviewLoading": "A calcular o método de transferência…",
|
|
"methodPreviewScanSummary": "{{fileCount}} ficheiros, {{totalSize}} no total (analisados no host de origem).",
|
|
"methodPreviewWillUseItemSftp": "Utilizará: SFTP por ficheiro",
|
|
"methodPreviewWillUseTar": "Utilizará: Arquivo Tar",
|
|
"methodReason": {
|
|
"user_item_sftp": "Optou por SFTP ficheiro a ficheiro.",
|
|
"user_tar": "Optou por ficheiro tar.",
|
|
"tar_unavailable": "O ficheiro tar não está disponível num ou em ambos os servidores, pelo que será utilizado o SFTP por ficheiro.",
|
|
"windows_host": "Como se trata de um host Windows, o tar não é utilizado.",
|
|
"auto_multi_large": "Automático: vários ficheiros, incluindo um ficheiro grande ({{largestSize}}) com dados compressíveis. O Tar agrupa-os numa única transferência.",
|
|
"auto_single_large_in_archive": "Automático: um ficheiro grande ({{largestSize}}) neste conjunto, portanto, SFTP por ficheiro.",
|
|
"auto_many_incompressible": "Automático: dados maioritariamente não compressíveis, portanto, SFTP por ficheiro.",
|
|
"auto_many_files": "Automático: muitos ficheiros ({{fileCount}}), o tar reduz a sobrecarga por ficheiro.",
|
|
"auto_default": "Automático: SFTP ficheiro a ficheiro para este conjunto."
|
|
},
|
|
"methodTar": "Arquivo Tar",
|
|
"methodTarHint": "Comprime na origem, transfere um arquivo, extrai no destino. Requer tar em ambos os hosts Unix.",
|
|
"metricsCompress": "Compressão na origem: {{duration}}",
|
|
"metricsExtract": "Extração no destino: {{duration}}",
|
|
"metricsPrepare": "Preparar destino: {{duration}}",
|
|
"metricsRouteBenchmark": "Sondagem de percurso: direta {{direct}}, retransmissão {{relay}}",
|
|
"metricsSourceDelete": "Remoção da origem: {{duration}}",
|
|
"metricsTotal": "Total: {{duration}}",
|
|
"metricsTransfer": "Ponta a ponta: {{throughput}} ({{duration}})",
|
|
"metricsVerify": "Verificado por SHA-256: {{duration}}",
|
|
"moveFolderToHost": "Mover pasta para o host…",
|
|
"moveItemsToHost": "Mover {{count}} itens para o host…",
|
|
"moveToHost": "Mover para o host…",
|
|
"noHostsConnected": "Não há outros hosts do gestor de ficheiros disponíveis.",
|
|
"noHostsConnectedHint": "Adicione outro host SSH com o Gestor de Ficheiros ativado no Gestor de Hosts.",
|
|
"parallelSegmentsHint": "Os ficheiros grandes são divididos em partes de 256 MB. Múltiplas vias utilizam ligações separadas (como iniciar várias transferências) para um maior débito total.",
|
|
"parallelSegmentsLabel": "Vias de transferência paralelas",
|
|
"parallelSegmentsOption": "{{count}} vias",
|
|
"progressBenchmarking": "Selecionando a rota de transferência mais rápida…",
|
|
"progressBytes": "{{transferred}} / {{total}}",
|
|
"progressCancel": "Cancelar",
|
|
"progressCancelling": "A cancelar…",
|
|
"progressCompressing": "A comprimir no host de origem…",
|
|
"progressExtracting": "A extrair no destino…",
|
|
"progressItems": "{{current}} / {{total}} ficheiros",
|
|
"progressReconnecting": "A reconectar…",
|
|
"progressStalled": "Parado",
|
|
"progressTotalSpeed": "{{speed}} total ({{lanes}} vias)",
|
|
"progressTransferring": "A transferir dados…",
|
|
"progressTransferringItems": "A transferir ficheiros ({{current}} de {{total}})…",
|
|
"progressVerifying": "Verificação da integridade do ficheiro…",
|
|
"recentDestinations": "Destinos recentes",
|
|
"resumedHint": "Reconectado a uma transferência ativa iniciada noutra janela.",
|
|
"retryTransfer": "Repetir",
|
|
"retryTransferError": "A repetição falhou.",
|
|
"selectDestinationHost": "Selecionar host de destino",
|
|
"transferCancelled": "Transferência cancelada",
|
|
"transferCancelledCopyHint": "Poderão permanecer ficheiros parciais no destino.",
|
|
"transferCancelledMoveHint": "Poderão permanecer ficheiros parciais no destino. Os ficheiros de origem não foram removidos.",
|
|
"transferError": "Transferência falhou",
|
|
"transferFailedRetryHint": "Foram mantidos dados parciais no destino. A repetição será retomada quando a ligação for restabelecida.",
|
|
"transferPartialHint": "Não foi possível transferir: {{paths}}",
|
|
"transferSuccess": "Transferência concluída",
|
|
"metricsHopSourceRead": "Origem → servidor: {{throughput}}",
|
|
"metricsHopDestSftpWrite": "Servidor → destino (SFTP): {{throughput}}",
|
|
"metricsHopDestLocalWrite": "Servidor → destino (local): {{throughput}}"
|
|
},
|
|
"plugin": {
|
|
"name": "File Manager"
|
|
}
|
|
}
|