translations (#5541)

# Description of Changes

<!--
Please provide a summary of the changes, including:

- What was changed
- Why the change was made
- Any challenges encountered

Closes #(issue_number)
-->

---

## Checklist

### General

- [ ] I have read the [Contribution
Guidelines](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/CONTRIBUTING.md)
- [ ] I have read the [Stirling-PDF Developer
Guide](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/devGuide/DeveloperGuide.md)
(if applicable)
- [ ] I have read the [How to add new languages to
Stirling-PDF](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/devGuide/HowToAddNewLanguage.md)
(if applicable)
- [ ] I have performed a self-review of my own code
- [ ] My changes generate no new warnings

### Documentation

- [ ] I have updated relevant docs on [Stirling-PDF's doc
repo](https://github.com/Stirling-Tools/Stirling-Tools.github.io/blob/main/docs/)
(if functionality has heavily changed)
- [ ] I have read the section [Add New Translation
Tags](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/devGuide/HowToAddNewLanguage.md#add-new-translation-tags)
(for new translation tags only)

### Translations (if applicable)

- [ ] I ran
[`scripts/counter_translation.py`](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/docs/counter_translation.md)

### UI Changes (if applicable)

- [ ] Screenshots or videos demonstrating the UI changes are attached
(e.g., as comments or direct attachments in the PR)

### Testing (if applicable)

- [ ] I have tested my changes locally. Refer to the [Testing
Guide](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/devGuide/DeveloperGuide.md#6-testing)
for more details.
This commit is contained in:
Anthony Stirling
2026-01-24 00:02:31 +00:00
committed by GitHub
parent b76f3662e4
commit c77cd73deb
40 changed files with 5888 additions and 208 deletions
@@ -306,6 +306,7 @@ selectOperation = "Selecionar Operação"
addOperationButton = "Adicionar operação"
pipelineHeader = "Pipeline:"
saveButton = "Transferir"
saveForFolderScanning = "Guardar para varrimento de pastas"
validateButton = "Validar"
[enterpriseEdition]
@@ -556,6 +557,30 @@ webBrowserSettings = "Definições do Navegador Web"
syncToBrowser = "Sincronizar Conta -> Navegador"
syncToAccount = "Sincronizar Conta <- Navegador"
[account.mfa]
title = "Autenticação de dois fatores"
setupFailed = "Não foi possível iniciar a configuração de autenticação de dois fatores. Tente novamente."
codeRequired = "Introduza o código de autenticação para continuar."
enabled = "Autenticação de dois fatores ativada."
enableFailed = "Não foi possível ativar a autenticação de dois fatores. Verifique o código e tente novamente."
disabled = "Autenticação de dois fatores desativada."
disableFailed = "Não foi possível desativar a autenticação de dois fatores. Verifique o código e tente novamente."
description = "Adicione uma camada extra de segurança à sua conta."
enableButton = "Ativar autenticação de dois fatores"
disableButton = "Desativar autenticação de dois fatores"
setupTitle = "Configurar autenticação de dois fatores"
setupDescription = "Leia o código QR com a sua aplicação de autenticação e, em seguida, introduza o código de 6 dígitos para confirmar."
manualKey = "Chave de configuração manual"
secretWarning = "Mantenha esta chave privada. Qualquer pessoa com acesso pode gerar códigos de autenticação válidos."
codePlaceholder = "Introduza o código de 6 dígitos"
confirmEnable = "Ativar"
disableTitle = "Desativar autenticação de dois fatores"
disableDescription = "Introduza um código de autenticação válido para desativar a autenticação de dois fatores."
codeLabel = "Código de autenticação"
confirmDisable = "Desativar"
ssoDescription = "A autenticação de dois fatores é gerida pelo seu fornecedor de identidade para contas com início de sessão único."
ssoManaged = "Configure o MFA através do seu fornecedor de identidade."
[adminUserSettings]
title = "Definições de Controlo de Utilizador"
header = "Definições de Controlo de Utilizador Admin"
@@ -1264,7 +1289,10 @@ downloadHtml = "Transferir ficheiro HTML intermédio em vez de PDF"
pdfaOptions = "Opções de PDF/A"
outputFormat = "Formato de saída"
pdfaNote = "PDF/A-1b é mais compatível, PDF/A-2b suporta mais funcionalidades."
pdfaFormat = "Formato PDF/A"
pdfaDigitalSignatureWarning = "O PDF contém uma assinatura digital. Esta será removida no próximo passo."
pdfxDigitalSignatureWarning = "O PDF contém uma assinatura digital. Esta será removida no passo seguinte."
pdfxDescription = "PDF/X é um subconjunto de PDF normalizado pela ISO para impressão fiável e troca de gráficos."
fileFormat = "Formato de ficheiro"
wordDoc = "Documento Word"
wordDocExt = "Documento Word (.docx)"
@@ -2197,6 +2225,16 @@ tip = "Atualmente não funciona para múltiplas entradas de uma só vez"
outputFormat = "Formato de saída"
pdfWithDigitalSignature = "O PDF contém uma assinatura digital. Esta será removida no próximo passo."
[pdfToPDFX]
tags = "impressão,padrão,conversão,produção,pré-impressão,arquivo"
title = "PDF para PDF/X"
header = "PDF para PDF/X"
credit = "Este serviço utiliza Ghostscript para a conversão para PDF/X"
submit = "Converter"
tip = "Atualmente não funciona para várias entradas em simultâneo"
outputFormat = "Formato de saída"
pdfWithDigitalSignature = "O PDF contém uma assinatura digital. Esta será removida no passo seguinte."
[PDFToWord]
tags = "doc,docx,odt,word,transformação,formato,conversão,escritório,microsoft,docfile"
title = "PDF para Word"
@@ -3153,6 +3191,18 @@ other = "Outros"
perPageInfo = "Informações por página"
tableOfContents = "Índice"
[getPdfInfo.compliance]
notDetected = "Não detetado"
passed = "Aprovado"
failed = "Reprovado"
compliant = "Conforme"
nonCompliant = "Não conforme"
none = "Nenhuma norma detetada"
passedCount = "aprovados"
failedCount = "reprovados"
noVerification = "Nenhuma verificação efetuada"
noVerificationDesc = "A conformidade com as normas PDF não foi verificada para este documento."
[getPdfInfo.other]
attachments = "Anexos"
embeddedFiles = "Ficheiros incorporados"
@@ -3184,6 +3234,8 @@ permsRestricted = "{{count}} restrições"
permsMixed = "Algumas permissões restritas"
hasCompliance = "Tem normas de conformidade"
noCompliance = "Sem normas de conformidade"
compliancePassed = "{{standards}} conforme"
complianceChecked = "Normas verificadas ({{failed}} reprovadas)"
basic = "Informações básicas"
documentInfo = "Informações do documento"
securityTitle = "Estado de segurança"
@@ -3723,6 +3775,13 @@ passwordChangedSuccess = "Palavra-passe alterada com sucesso! Inicie sessão com
credentialsUpdated = "As suas credenciais foram atualizadas. Inicie sessão novamente."
defaultCredentials = "Credenciais de Login predefinidas"
changePasswordWarning = "Altere a sua palavra-passe após iniciar sessão pela primeira vez"
mfaRequired = "Código de dois fatores obrigatório"
mfaCode = "Código de autenticação"
enterMfaCode = "Introduza o código de 6 dígitos"
mfaPromptTitle = "Autenticação de dois fatores"
mfaPromptBody = "Introduza o código de autenticação da sua aplicação de autenticação para continuar."
verifyingMfa = "A verificar..."
verifyMfa = "Verificar código"
[login.slides.overview]
alt = "Visão geral do Stirling PDF"
@@ -4324,6 +4383,10 @@ title = "Modo de início de sessão necessário"
message = "O modo de início de sessão deve estar ativado para modificar as definições de administrador. Defina SECURITY_ENABLELOGIN=true no seu ambiente ou security.enableLogin: true em settings.yml e depois reinicie o servidor."
readOnly = "As definições abaixo mostram valores de exemplo para referência. Ative o modo de início de sessão para ver e editar a configuração real."
[admin.settings.enterpriseRequired]
title = "Licença Enterprise necessária"
message = "É necessária uma licença Enterprise para aceder a {{featureName}}. Está a visualizar dados de demonstração para referência."
[admin.settings.restart]
title = "É necessário reiniciar"
message = "As definições foram guardadas com sucesso. É necessário reiniciar o servidor para que as alterações tenham efeito."
@@ -4771,6 +4834,48 @@ description = "Mostrar mensagens de erro detalhadas para utilizadores."
title = "Base de dados"
description = "Configurar definições personalizadas de ligação a base de dados para implementações empresariais."
configuration = "Configuração da base de dados"
backupTitle = "Cópias de segurança e restauro"
backupDescription = "Gerir cópias de segurança H2 diretamente a partir da consola de administração."
loadError = "Falha ao carregar as cópias de segurança da base de dados"
backupCreated = "Cópia de segurança criada com sucesso"
backupFailed = "Falha ao criar a cópia de segurança"
deleteTitle = "Eliminar cópia de segurança"
deleteConfirm = "Eliminar esta cópia de segurança? Esta ação não pode ser anulada."
deleteSuccess = "Cópia de segurança eliminada"
deleteFailed = "Falha ao eliminar a cópia de segurança"
deleteConfirmAction = "Eliminar cópia de segurança"
downloadFailed = "Falha ao transferir a cópia de segurança"
version = "Versão do H2"
embedded = "H2 incorporado"
external = "Base de dados externa"
h2Only = "As cópias de segurança estão disponíveis apenas para a base de dados H2 incorporada."
h2Hint = "Defina o tipo de base de dados como H2 e desative a base de dados personalizada para ativar a cópia de segurança e o restauro."
manageBackups = "Gerir cópias de segurança"
refresh = "Atualizar"
createBackup = "Criar cópia de segurança"
uploadTitle = "Carregar e importar"
chooseFile = "Escolha um ficheiro de cópia de segurança .sql"
importFromUpload = "Importar carregamento"
confirmImportTitle = "Confirmar importação da base de dados"
overwriteWarning = "Aviso: Isto irá sobrescrever a base de dados atual."
overwriteWarningBody = "Todos os dados existentes serão substituídos pela cópia de segurança carregada. Esta ação não pode ser anulada."
confirmCodeLabel = "Introduza o código de confirmação para continuar"
enterCode = "Introduza o código apresentado acima"
confirmImport = "Confirmar importação"
codeMismatch = "O código de confirmação não corresponde"
codeMismatchBody = "Introduza o código exatamente como apresentado para continuar."
selectFile = "Selecione um ficheiro .sql para importar"
importSuccess = "Cópia de segurança importada com sucesso"
importFailed = "Falha ao importar a cópia de segurança"
noBackups = "Ainda não foram encontradas cópias de segurança."
unavailable = "A lista de cópias de segurança não está disponível para a configuração atual da base de dados."
fileName = "Ficheiro"
created = "Criado"
size = "Tamanho"
actions = "Ações"
download = "Transferir"
import = "Importar"
delete = "Eliminar"
[admin.settings.database.enableCustom]
label = "Ativar base de dados personalizada"
@@ -4848,6 +4953,26 @@ description = "DPI máximo para processamento de imagens (0 = ilimitado)"
[admin.settings.advanced.tessdataDir]
label = "Diretório Tessdata"
description = "Caminho para o diretório tessdata para ficheiros de idiomas de OCR"
downloadMissingTitle = "Nenhum idioma selecionado"
downloadMissingBody = "Selecione pelo menos um idioma para transferir."
downloadSuccessTitle = "Idiomas transferidos"
downloadSuccessBody = "Os idiomas tessdata selecionados foram guardados."
downloadErrorTitle = "Falha na transferência"
loadingLanguages = "A carregar idiomas tessdata instalados..."
installedLanguages = "Idiomas tessdata instalados"
noLanguages = "Não foram encontrados idiomas tessdata no diretório configurado."
downloadLabel = "Transferir idiomas tessdata adicionais"
downloadPlaceholder = "Selecionar idiomas"
downloadNothingFound = "Nenhum idioma adicional encontrado"
permissionNotice = "O caminho tessdata não é gravável. As transferências serão abertas no navegador; guarde manualmente os ficheiros .traineddata na pasta tessdata."
manualLinks = "Transferências manuais: clique nas ligações e coloque os ficheiros na pasta tessdata."
downloadButton = "Transferir idiomas selecionados"
downloadInvalidTitle = "Seleção inválida"
downloadInvalidBody = "Alguns dos idiomas selecionados não estão disponíveis para transferência. Atualize e escolha a partir da lista."
downloadErrorNetwork = "A transferência falhou devido a um erro de rede. Verifique a sua ligação e tente novamente."
downloadErrorServer = "O servidor encontrou um erro ao transferir os idiomas tessdata. Tente novamente mais tarde."
downloadErrorPermission = "O diretório tessdata não é gravável: {{message}}. Escolha um diretório gravável (por exemplo, na pasta de dados da aplicação) ou ajuste as permissões."
downloadErrorGeneric = "A transferência falhou: {{message}}. Tente novamente mais tarde."
[admin.settings.advanced.disableSanitize]
label = "Desativar sanitização de HTML"
@@ -5351,6 +5476,7 @@ desc = "Crie fluxos de trabalho com vários passos, encadeando ações de PDF. I
invalidStep = "Etapa inválida"
reviewTitle = "Resultados da automação"
copyToSaved = "Copiar para guardadas"
exportForFolderScanning = "Exportar para varrimento de pastas"
[automate.files]
placeholder = "Selecione ficheiros para processar com esta automação"
@@ -5372,6 +5498,7 @@ createTitle = "Criar automação"
editTitle = "Editar automação"
intro = "As automações executam ferramentas sequencialmente. Para começar, adicione as ferramentas pela ordem em que pretende que sejam executadas."
save = "Guardar automação"
exportForFolderScanning = "Exportar para varrimento de pastas"
[automate.creation.name]
label = "Nome da automação"
@@ -5746,9 +5873,11 @@ username = "Nome de utilizador (Email)"
usernamePlaceholder = "[email protected]"
password = "Palavrapasse"
passwordPlaceholder = "Introduza a palavrapasse"
passwordRequired = "A palavra-passe é obrigatória"
role = "Função"
team = "Equipa (Opcional)"
teamPlaceholder = "Selecione uma equipa"
authType = "Tipo de autenticação"
forcePasswordChange = "Forçar alteração de palavrapasse no primeiro início de sessão"
cancel = "Cancelar"
submit = "Adicionar membro"
@@ -5756,6 +5885,13 @@ usernameRequired = "Nome de utilizador e palavrapasse são obrigatórios"
passwordTooShort = "A palavrapasse deve ter pelo menos 6 caracteres"
success = "Utilizador criado com sucesso"
error = "Falha ao criar utilizador"
forceMFA = "Forçar configuração de MFA no próximo início de sessão"
[workspace.people.authType]
password = "Palavra-passe"
oauth = "OAuth2"
saml = "SAML2"
ssoDescription = "O utilizador irá autenticar-se através do fornecedor de SSO"
[workspace.people.editMember]
title = "Editar membro"
@@ -5859,6 +5995,11 @@ slotsAvailable = "{{count}} vaga(s) de utilizador disponíveis"
noSlotsAvailable = "Sem vagas disponíveis"
currentUsage = "A utilizar {{current}} de {{max}} licenças de utilizador"
[workspace.people.mfa]
adminDisableSuccess = "MFA desativado com sucesso para o utilizador"
adminDisableError = "Não foi possível desativar o MFA para o utilizador"
disableByAdmin = "Desativar MFA"
[workspace.teams]
title = "Equipas"
description = "Gerir equipas e organizar membros do espaço de trabalho"
@@ -6301,6 +6442,7 @@ endpoint = "Endpoint"
visits = "Visitas"
percentage = "Percentagem"
noData = "Sem dados disponíveis"
unknownEndpoint = "Endpoint desconhecido"
[backendHealth]
checking = "A verificar o estado do backend..."