Files
Stirling-PDF/frontend/editor/public/locales/pt-BR/translation.toml
T
Anthony Stirling 783a51950f Update translations for 40 languages via GPT-5.5 (#6954)
# Description of Changes

- Adds and updates translations across **40 languages** (~1,400–2,200
keys each) using GPT-5.5, filling previously-missing UI strings.
- Switches the translation scripts' default model from the year-old
`gpt-5` (5.0) to `gpt-5.5`, adding a `--model` flag and token/cost
reporting.
- Purely additive and validated: no existing translations changed, all
40 files match the en-US key structure, and no new placeholder issues
introduced.

---

## 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/DeveloperGuide.md)
(if applicable)
- [x] 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)
- [x] I have performed a self-review of my own code
- [x] 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)
- [x] 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)

- [x] 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 run `task check` to verify linters, typechecks, and tests
pass
- [ ] I have tested my changes locally. Refer to the [Testing
Guide](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/DeveloperGuide.md#7-testing)
for more details.
2026-07-10 08:53:59 +00:00

11031 lines
414 KiB
TOML
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
alphabet = "Alfabeto"
apply = "Aplicar"
applyAndContinue = "Aplicar e continuar"
areYouSure = "Tem certeza de que deseja sair?"
back = "Voltar"
black = "Preto"
blue = "Azul"
cancel = "Cancelar"
chooseFile = "Escolher arquivo"
clear = "Limpar"
close = "Fechar"
comingSoon = "Em breve"
confirm = "Confirmar"
confirmClose = "Confirmar fechamento"
confirmCloseCancel = "Cancelar"
confirmCloseConfirm = "Fechar arquivo"
confirmCloseDiscard = "Descartar alterações e fechar"
confirmCloseMessage = "Tem certeza de que deseja fechar este arquivo?"
confirmCloseSave = "Salvar e fechar"
confirmCloseSaveFailed_one = "Salvo com erros. Não foi possível salvar {{count}} arquivo."
confirmCloseSaveFailed_other = "Saved with errors. {{count}} files could not be saved."
confirmCloseSaveFailedTitle = "Falha ao salvar"
confirmCloseUnsaved = "Este arquivo tem alterações não salvas."
confirmCloseUnsavedList_one = "Você tem {{count}} arquivo com alterações não salvas.\n\n{{fileList}}"
confirmCloseUnsavedList_other = "You have {{count}} files with unsaved changes.\n\n{{fileList}}"
custom = "Personalizado..."
customPosition = "Posição personalizada"
customTextTooltip = "Formato personalizado opcional para os números de página. Use {n} como espaço reservado para o número. Exemplo: \"Página {n}\" mostrará \"Página 1\", \"Página 2\", etc."
delete = "Apagar"
details = "Detalhes"
discardChanges = "Descartar alterações"
download = "Baixar (JSON)"
downloadPdf = "Baixar PDF"
downloadUnavailable = "Download indisponível para este item"
edit = "Editar"
editSecret = "Editar este valor"
editYourNewFiles = "Edite seu(s) novo(s) arquivo(s)"
encryptedFilesBlocked_one = "O arquivo está protegido por senha. Desbloqueie-o primeiro."
encryptedFilesBlocked_other = "{{count}} arquivos estão protegidos por senha. Desbloqueie-os primeiro."
exportAndContinue = "Exportar e continuar"
false = "Falso"
fileNotSavedToDisk = "Não salvo no disco"
fileSavedToDisk = "Arquivo salvo no disco"
fileSelected = "Selecionado: {{filename}}"
filesSelected = "Arquivos Selecionados"
font = "Fonte"
fontSizeTooltip = "Tamanho do texto do número da página em pontos. Números maiores criam texto maior."
fontTypeTooltip = "Família de fontes para os números de página. Escolha conforme o estilo do seu documento."
genericSubmit = "Enviar"
green = "Verde"
help = "Ajuda"
imgPrompt = "Selecione a(s) Imagem(ns)"
incorrectPasswordMessage = "A senha atual está incorreta."
info = "Informações"
invalidUndoData = "Não é possível desfazer: dados de operação inválidos"
keepWorking = "Continuar trabalhando"
loading = "Carregando..."
loginAgreementAccept = "Aceitar"
loginAgreementDecline = "Recusar"
loginAgreementProvider = "Este aviso é fornecido pelo seu administrador, não pela Stirling PDF Inc."
loginAgreementTitle = "Acordo de login"
logOut = "Sair"
marginTooltip = "Distância entre o número da página e a borda da página."
moreOptions = "Mais opções"
multiPdfPrompt = "Selecione os PDFs (2+)"
never = "Nunca"
no = "Não"
noFileSelected = "Nenhum arquivo selecionado. Por favo, envie um arquivo."
noFilesToUndo = "Não é possível desfazer: nenhum arquivo foi processado na última operação"
noOperationToUndo = "Nenhuma operação para desfazer"
nothingToUndo = "Nada para desfazer"
noValidFiles = "Nenhum arquivo válido para processar"
oops = "Ops!"
openInNewWindow = "Abrir em nova janela"
openInViewer = "Abrir no visualizador"
operationCancelled = "Operação cancelada"
page = "Página"
pageNum = "Número da Página"
pageOrderPrompt = "Ordem de Página Personalizada (Digite uma lista de números de páginas, separadas por vírgula ou funções como 2n+1):"
pages = "Páginas"
pageSelectionPrompt = "Seleção de Página Personalizada (Digite uma lista de números de páginas, separadas por vírgula como 1,5,6 ou funções como 2n+1):"
password = "Senha"
pdfPrompt = "Selecione o(s) PDF(s)"
pin = "Fixar arquivo (manter ativo após execução da ferramenta)"
pro = "Profissional"
processingComplete = "Seu arquivo está pronto."
processingCompleteMultiple = "{{count}} arquivos estão prontos."
property = "Propriedade"
quickPosition = "Posição rápida"
red = "Vermelho"
remove = "Remover"
reset = "Reiniciar"
review = "Revisar"
save = "Salvar"
saveUnavailable = "Salvar indisponível para este item"
size = "Tamanho"
startingNumberTooltip = "O primeiro número a exibir. As páginas seguintes serão incrementadas a partir desse número."
submit = "Enviar"
success = "Sucesso"
termsAndConditions = "Termos e Condições"
text = "Texto"
true = "Verdadeiro"
undo = "Desfazer"
undoDataMismatch = "Não é possível desfazer: dados da operação corrompidos"
undoFailed = "Falha ao desfazer a operação"
undoOperationTooltip = "Clique para desfazer a última operação e restaurar os arquivos originais"
undoQuotaError = "Não é possível desfazer: espaço de armazenamento insuficiente"
undoStorageError = "Desfazer concluído, mas alguns arquivos não puderam ser salvos no armazenamento"
undoSuccess = "Operação desfeita com sucesso"
unknown = "Desconhecido"
unpin = "Desafixar arquivo (substituir após execução da ferramenta)"
unsavedChanges = "Você tem alterações não salvas no seu PDF. O que você gostaria de fazer?"
unsavedChangesTitle = "Alterações não salvas"
unsupported = "Não suportado"
username = "Usuário"
welcome = "Bem-vindo"
white = "Branco"
yes = "Sim"
[account]
accountSettings = "Configurações da Conta"
adminSettings = "Configurações de Administrador Visualizar e Adicionar Usuários"
changePassword = "Alterar a Senha"
changeUsername = "Alterar Usuário"
changeUsernameDescription = "Atualize seu nome de usuário. Você será desconectado após a atualização."
confirmNewPassword = "Confirme a Nova Senha"
newPassword = "Senha Nova"
newUsername = "Novo Usuário"
newUsernamePlaceholder = "Digite seu novo nome de usuário"
oldPassword = "Senha Antiga"
password = "Senha de Confirmação"
property = "Propriedade"
settingsCompare = "Comparação das Configurações:"
signOut = "Sair"
syncTitle = "Sincronize as configurações do navegador com sua conta:"
syncToAccount = "Sincronizar Conta <- Navegador"
syncToBrowser = "Sincronizar Conta -> Navegador"
title = "Configurações da Conta"
userControlSettings = "Configurações de Controle de Usuário"
webBrowserSettings = "Configuração do navegador Web"
yourApiKey = "Sua chave de API"
[account.mfa]
codeLabel = "Código de autenticação"
codePlaceholder = "Insira o código de 6 dígitos"
codeRequired = "Insira o código de autenticação para continuar."
confirmDisable = "Desativar"
confirmEnable = "Ativar"
description = "Adicione uma camada extra de segurança à sua conta."
disableButton = "Desativar autenticação de dois fatores"
disabled = "Autenticação de dois fatores desativada."
disableDescription = "Insira um código de autenticação válido para desativar a autenticação de dois fatores."
disableFailed = "Não foi possível desativar a autenticação de dois fatores. Verifique o código e tente novamente."
disableTitle = "Desativar autenticação de dois fatores"
enableButton = "Ativar autenticação de dois fatores"
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."
manualKey = "Chave de configuração manual"
secretWarning = "Mantenha esta chave em sigilo. Qualquer pessoa com acesso poderá gerar códigos de autenticação válidos."
setupDescription = "Escaneie o código QR com seu aplicativo autenticador e, em seguida, insira o código de 6 dígitos para confirmar."
setupFailed = "Não foi possível iniciar a configuração de dois fatores. Tente novamente."
setupTitle = "Configurar autenticação de dois fatores"
ssoDescription = "A autenticação de dois fatores é gerenciada pelo seu provedor de identidade para contas de login único."
ssoManaged = "Configure o MFA por meio do seu provedor de identidade."
title = "Autenticação de dois fatores"
[account.overview]
logOut = "Sair"
signedInAs = "Conectado como: {{email}}"
[add-page-numbers]
tags = "paginar,rotular,organizar,índice"
[addAttachments]
tags = "embed,attach,include,attachments,attach files,embed files,include files,add files,file attachment,associated files,supplementary files"
[addAttachments.error]
failed = "Ocorreu um erro ao adicionar anexos ao PDF."
[AddAttachmentsRequest]
addMoreFiles = "Adicionar mais arquivos..."
attachments = "Selecionar anexos"
info = "Selecione arquivos para anexar ao seu PDF. Esses arquivos serão incorporados e acessíveis pelo painel de anexos do PDF."
placeholder = "Escolha arquivos..."
removeFile = "Remover arquivo"
selectedFiles = "Arquivos selecionados"
submit = "Adicionar anexos"
[AddAttachmentsRequest.error]
failed = "Falha na operação de adicionar anexos"
[AddAttachmentsRequest.results]
title = "Resultados dos anexos"
[AddAttachmentsRequest.tooltip.description]
title = "O que faz"
[AddAttachmentsRequest.tooltip.header]
title = "Sobre Adicionar Anexos"
[addFileCard]
upload = "Enviar"
[addImage]
applySignatures = "Aplicar imagens"
header = "Adicionar Imagem"
tags = "img,jpg,imagem,foto"
title = "Adicionar Imagem"
[addImage.canvas]
colorPickerTitle = "Choose stroke colour"
[addImage.error]
failed = "Ocorreu um erro ao adicionar a imagem ao PDF."
[addImage.image]
hint = "Supports PNG, JPEG, GIF, BMP, TIFF, and SVG files. SVG files will be converted to PNG for embedding."
label = "Arquivo de imagem"
name = "Imagem"
placeholder = "Enviar uma imagem"
[addImage.instructions]
noSignature = "Envie uma imagem acima para habilitar o posicionamento."
paused = "Posicionamento pausado"
resumeHint = "Retome o posicionamento para clicar e adicionar sua imagem."
text = "Após enviar sua imagem acima, clique em qualquer lugar no PDF para posicioná-la."
title = "Como adicionar imagens"
[addImage.mode]
move = "Mover imagem"
pause = "Pausar posicionamento"
place = "Posicionar imagem"
resume = "Retomar posicionamento"
[addImage.results]
title = "Resultados de adicionar imagem"
[addImage.saved]
defaultCanvasLabel = "Drawing signature"
defaultImageLabel = "Imagem enviada"
defaultLabel = "Imagem"
defaultTextLabel = "Typed signature"
delete = "Remove"
emptyTitle = "No saved signatures yet"
heading = "Saved signatures"
label = "Label"
limitTitle = "Limit reached"
next = "Next"
personalHeading = "Personal Signatures"
prev = "Previous"
savePersonal = "Save Personal"
saveShared = "Save Shared"
sharedHeading = "Shared Signatures"
[addImage.saved.type]
canvas = "Drawing"
image = "Upload"
text = "Text"
[addImage.step]
createDesc = "Envie a imagem que deseja adicionar"
place = "Posicionar imagem"
placeDesc = "Clique no PDF para adicionar sua imagem"
[addImage.steps]
configure = "Configurar imagem"
[addImage.text]
colorLabel = "Text colour"
fontLabel = "Font"
fontSizeLabel = "Font size"
name = "Text"
placeholder = "Enter text"
[addImage.type]
canvas = "Canvas"
image = "Image"
saved = "Saved"
text = "Text"
[addPageNumbers]
customize = "Personalizar aparência"
customNumberDesc = "O padrão é {n}, também aceita 'Página {n} de {total}', 'Texto-{n}', '{nome do arquivo}-{n}'"
fontName = "Nome da Fonte"
fontSize = "Tamanho da Fonte"
numberPagesDesc = "Quais páginas numerar, padrão 'todas', também aceita 1-5 ou 2,5,9,etc."
pagesAndStarting = "Páginas e número inicial"
positionAndPages = "Posição e páginas"
preview = "Seleção de posição"
previewDisclaimer = "A prévia é aproximada. A saída final pode variar devido às métricas de fonte do PDF."
submit = "Adicionar Números de Página"
tags = "number,pagination,count,add page numbers,page numbering,page numbers,footer,header,number pages,sequential,pagination tool"
title = "Adicionar Números de Página"
zeroPad = "Zeropad Width (Bates Stamping)"
zeroPadTooltip = "Zeropad (Bates Stamp) page numbers to this width (e.g., 3 ⇒ 001). Set 0 to disable."
[addPageNumbers.error]
failed = "Falha ao adicionar números de página"
[addPageNumbers.results]
title = "Resultados da numeração de páginas"
[addPageNumbers.selectText]
2 = "Tamanho da margem:"
4 = "Número inicial:"
5 = "Páginas a numerar:"
6 = "Texto personalizado:"
[addPassword]
desc = "Criptografe seu documento PDF com uma senha."
submit = "Criptografar"
tags = "encrypt,password,lock,secure,protect,security,encryption,safeguard,confidential,private,restrict access"
title = "Proteger PDF"
[addPassword.encryption.keyLength]
128bit = "128 bits (Padrão)"
256bit = "256 bits (Alto)"
40bit = "40 bits (Baixo)"
label = "Tamanho da chave de criptografia"
[addPassword.error]
failed = "Ocorreu um erro ao criptografar o PDF."
[addPassword.passwords]
stepTitle = "Senhas e criptografia"
[addPassword.passwords.owner]
label = "Senha do proprietário"
placeholder = "Insira a senha do proprietário"
[addPassword.passwords.user]
label = "Senha do usuário"
placeholder = "Insira a senha do usuário"
[addPassword.results]
title = "PDFs criptografados"
[addPassword.tooltip.encryption]
bullet1 = "40 bits: Segurança básica, compatível com leitores antigos"
bullet2 = "128 bits: Segurança padrão, amplamente suportada"
bullet3 = "256 bits: Segurança máxima, requer leitores modernos"
text = "Níveis mais altos de criptografia oferecem melhor segurança, mas podem não ser compatíveis com visualizadores de PDF mais antigos."
title = "Níveis de criptografia"
[addPassword.tooltip.header]
title = "Visão geral da proteção por senha"
[addPassword.tooltip.passwords]
bullet1 = "Senha do usuário: Necessária para abrir o PDF"
bullet2 = "Senha do proprietário: Controla as permissões do documento (não suportado por todos os visualizadores de PDF)"
text = "A senha do usuário restringe a abertura do documento, enquanto a senha do proprietário controla o que pode ser feito com o documento após aberto. Você pode definir ambas ou apenas uma."
title = "Tipos de senha"
[addPassword.tooltip.permissions]
text = "Essas permissões controlam o que os usuários podem fazer com o PDF. São mais eficazes quando combinadas com uma senha de proprietário."
title = "Alterar Permissões"
[addStamp]
tags = "stamp,mark,seal,approved,rejected,confidential,stamp tool,rubber stamp,date stamp,approval stamp,received,void,copy,original"
[AddStampRequest]
alphabet = "Alfabeto:"
clickToExpand = "Click to expand"
customColor = "Cor de texto personalizada:"
customDateDesc = "Custom format"
customPosition = "Arraste o carimbo para o local desejado na janela de pré-visualização."
dateDesc = "Current date"
datetimeDesc = "Date and time combined"
dateTimeVars = "Date & Time"
dynamicVariables = "Dynamic Variables"
examples = "Examples"
filenameDesc = "Filename without extension"
filenameFullDesc = "Filename with extension"
fileVars = "File Information"
fontSize = "Tamanho da fonte/imagem:"
imageSize = "Tamanho da imagem"
margin = "Margem"
metadataDesc = "From PDF document properties"
metadataVars = "Document Metadata"
multiLine = "multi-line"
noStampSelected = "Nenhum carimbo selecionado. Volte para a Etapa 1."
opacity = "Opacidade:"
otherVars = "Other"
pageNumberDesc = "Current page number"
pageVars = "Page Information"
position = "Posição:"
positionAndFormatting = "Posição e formatação"
preview = "Preview:"
quickPosition = "Selecione uma posição na página para colocar o carimbo."
rotation = "Rotação:"
selectTemplate = "Select a template..."
stampSetup = "Configuração de carimbo"
stampText = "Texto do carimbo:"
stampTextDescription = "Use dynamic variables below. Use @@ for literal @. Use \\n for new lines."
stampType = "Tipo de carimbo:"
submit = "Enviar"
tags = "Carimbo,Adicionar imagem,centralizar imagem,Marca d'água,PDF,Incorporar,Personalizar"
timeDesc = "Current time"
title = "Adicionar Carimbo ao PDF"
totalPagesDesc = "Total number of pages"
useTemplate = "Use Template"
uuidDesc = "Short unique identifier (8 chars)"
variablesHelp = "Click on any variable to insert it into your stamp text. Use @@ for literal @."
yearMonthDayDesc = "Individual date parts"
[AddStampRequest.error]
failed = "Ocorreu um erro ao adicionar o carimbo ao PDF."
[AddStampRequest.results]
title = "Resultados do carimbo"
[AddStampRequest.template]
custom = "Custom"
dateHeader = "Date Header"
doc-info = "Document Info"
draft = "Draft Watermark"
draftWatermark = "Draft Watermark"
european-date = "European Date (DD/MM/YYYY)"
europeanDate = "European Date"
legal-footer = "Legal Footer"
page-numbers = "Page Numbers"
pageNumberFooter = "Page Number Footer"
timestamp = "Timestamp"
[addText]
applySignatures = "Aplicar texto"
header = "Adicionar texto a PDFs"
tags = "texto,anotação,rótulo"
title = "Adicionar texto"
[addText.canvas]
colorPickerTitle = "Choose stroke colour"
[addText.error]
failed = "Ocorreu um erro ao adicionar texto ao PDF."
[addText.instructions]
noSignature = "Digite o texto acima para ativar o posicionamento."
paused = "Posicionamento pausado"
resumeHint = "Retome o posicionamento para clicar e adicionar seu texto."
text = "Após digitar seu texto acima, clique em qualquer lugar do PDF para posicioná-lo."
title = "Como adicionar texto"
[addText.mode]
move = "Mover texto"
pause = "Pausar posicionamento"
place = "Posicionar texto"
resume = "Retomar posicionamento"
[addText.results]
title = "Resultados de adicionar texto"
[addText.saved]
defaultCanvasLabel = "Drawing signature"
defaultImageLabel = "Uploaded signature"
defaultLabel = "Signature"
defaultTextLabel = "Typed signature"
delete = "Remove"
emptyTitle = "No saved signatures yet"
heading = "Saved signatures"
label = "Label"
limitTitle = "Limit reached"
next = "Next"
personalHeading = "Personal Signatures"
prev = "Previous"
savePersonal = "Save Personal"
saveShared = "Save Shared"
sharedHeading = "Shared Signatures"
[addText.saved.type]
canvas = "Drawing"
image = "Upload"
text = "Text"
[addText.step]
createDesc = "Digite o texto que deseja adicionar"
place = "Posicionar texto"
placeDesc = "Clique no PDF para adicionar seu texto"
[addText.steps]
configure = "Configurar texto"
[addText.text]
colorLabel = "Cor do texto"
fontLabel = "Fonte"
fontSizeLabel = "Tamanho da fonte"
fontSizePlaceholder = "Digite ou selecione o tamanho da fonte (8-200)"
name = "Conteúdo do texto"
placeholder = "Digite o texto que deseja adicionar"
[addText.type]
canvas = "Canvas"
image = "Image"
saved = "Saved"
text = "Text"
[adjust-contrast]
tags = "correção-de-cor,ajustar,modificar,realçar"
[adjustContrast]
adjustColors = "Ajustar cores"
basic = "Ajustes básicos"
blue = "Azul"
brightness = "Brilho:"
confirm = "Confirmar"
contrast = "Contraste:"
green = "Verde"
noPreview = "Selecione um PDF para visualizar"
red = "Vermelho"
saturation = "Saturação:"
tags = "contrast,brightness,saturation,adjust colors,color correction,enhance,lighten,darken,improve quality,color balance,hue,vibrance"
title = "Ajuste Visual do PDF"
[adjustContrast.error]
failed = "Falha ao ajustar cores/contraste"
[adjustContrast.results]
title = "PDF ajustado"
[adjustPageScale]
submit = "Ajustar escala da página"
tags = "redimensionar,modificar,dimensão,adaptar"
title = "Ajustar escala da página"
[adjustPageScale.error]
failed = "Ocorreu um erro ao ajustar a escala da página."
[adjustPageScale.orientation]
label = "Orientação da página"
landscape = "Paisagem"
portrait = "Retrato"
[adjustPageScale.pageSize]
keep = "Manter tamanho original"
label = "Tamanho de página desejado"
legal = "Ofício"
letter = "Carta"
[adjustPageScale.scaleFactor]
label = "Fator de escala"
[adjustPageScale.tooltip.description]
text = "Ajuste o tamanho do conteúdo do PDF e altere as dimensões da página."
title = "Descrição"
[adjustPageScale.tooltip.header]
title = "Visão geral das configurações de escala da página"
[adjustPageScale.tooltip.pageSize]
text = "Define as dimensões das páginas do PDF de saída. 'Manter tamanho original' mantém as dimensões atuais, enquanto as outras opções redimensionam para tamanhos de papel padrão."
title = "Tamanho de página desejado"
[adjustPageScale.tooltip.scaleFactor]
bullet1 = "1,0 = Tamanho original"
bullet2 = "0,5 = Metade do tamanho (50% menor)"
bullet3 = "2,0 = Dobro do tamanho (200% maior, pode recortar)"
text = "Controla o quão grande ou pequeno o conteúdo aparece na página. O conteúdo é escalado e centralizado — se o conteúdo escalado for maior que o tamanho da página, ele poderá ser recortado."
title = "Fator de escala"
[admin]
close = "Fechar"
error = "Erro"
expand = "Expandir"
[admin.settings]
discard = "Descartar"
error = "Falha ao salvar as configurações"
fetchError = "Falha ao carregar configurações"
loginRequired = "O modo de login deve estar habilitado para modificar as configurações de administrador"
restartError = "Falha ao reiniciar o servidor. Reinicie manualmente."
restarting = "Reiniciando servidor"
restartingMessage = "O servidor está reiniciando. Aguarde um momento..."
restartRequired = "Reinicialização necessária"
save = "Salvar alterações"
saved = "Configurações salvas com sucesso"
saveError = "Falha ao salvar configurações"
saveSuccess = "Configurações salvas com sucesso"
success = "Configurações salvas com sucesso"
title = "Configurações de administrador"
workspace = "Área de trabalho"
[admin.settings.advanced]
description = "Configurar recursos avançados e funcionalidades experimentais."
features = "Flags de recursos"
processing = "Processamento"
title = "Avançado"
[admin.settings.advanced.disableSanitize]
description = "AVISO: Risco de segurança — desativar a sanitização de HTML pode levar a vulnerabilidades XSS"
label = "Desativar sanitização de HTML"
[admin.settings.advanced.enableAlphaFunctionality]
description = "Habilitar recursos experimentais e em estágio alpha (podem ser instáveis)"
label = "Habilitar recursos alpha"
[admin.settings.advanced.enableUrlToPDF]
description = "Permitir a conversão de páginas da web em documentos PDF"
label = "Habilitar URL para PDF"
[admin.settings.advanced.endpoints]
description = "O gerenciamento de endpoints é configurado via YAML. Veja a documentação para detalhes sobre habilitar/desabilitar endpoints específicos."
label = "Endpoints"
manage = "Gerenciar endpoints da API"
[admin.settings.advanced.maxDPI]
description = "DPI máximo para processamento de imagem (0 = ilimitado)"
label = "DPI máximo"
[admin.settings.advanced.processExecutor]
calibre = "Calibre"
description = "Configurar limites de sessão e timeouts para cada executor de processos"
ghostscript = "Ghostscript"
installApp = "Instalar app"
label = "Limites do executor de processos"
libreOffice = "LibreOffice"
ocrMyPdf = "OCRmyPDF"
pdfToHtml = "PDF para HTML"
pythonOpenCv = "Python OpenCV"
qpdf = "QPDF"
tesseract = "Tesseract OCR"
weasyPrint = "WeasyPrint"
[admin.settings.advanced.processExecutor.sessionLimit]
description = "Máximo de instâncias simultâneas"
label = "Limite de sessões"
[admin.settings.advanced.processExecutor.timeout]
description = "Tempo máximo de execução"
label = "Timeout (minutos)"
[admin.settings.advanced.tempFileManagement]
description = "Configurar armazenamento e limpeza de arquivos temporários"
label = "Gerenciamento de arquivos temporários"
[admin.settings.advanced.tempFileManagement.baseTmpDir]
description = "Diretório base para arquivos temporários (deixe em branco para padrão: java.io.tmpdir/stirling-pdf)"
label = "Diretório base temporário"
placeholder = "Padrão: java.io.tmpdir/stirling-pdf"
[admin.settings.advanced.tempFileManagement.cleanupIntervalMinutes]
description = "Frequência da limpeza (em minutos)"
label = "Intervalo de limpeza (minutos)"
[admin.settings.advanced.tempFileManagement.cleanupSystemTemp]
description = "Se deve limpar o diretório temporário geral do sistema (usar com cautela)"
label = "Limpar temporários do sistema"
[admin.settings.advanced.tempFileManagement.libreofficeDir]
description = "Diretório para arquivos temporários do LibreOffice (deixe em branco para padrão: baseTmpDir/libreoffice)"
label = "Diretório temporário do LibreOffice"
placeholder = "Padrão: baseTmpDir/libreoffice"
[admin.settings.advanced.tempFileManagement.maxAgeHours]
description = "Idade máxima em horas antes da limpeza dos arquivos temporários"
label = "Idade máxima (horas)"
[admin.settings.advanced.tempFileManagement.prefix]
description = "Prefixo para nomes de arquivos temporários"
label = "Prefixo de arquivo temporário"
[admin.settings.advanced.tempFileManagement.startupCleanup]
description = "Limpar arquivos temporários antigos na inicialização do aplicativo"
label = "Limpeza na inicialização"
[admin.settings.advanced.tempFileManagement.systemTempDir]
description = "Diretório temporário do sistema a limpar (usado apenas se cleanupSystemTemp estiver habilitado)"
label = "Diretório temporário do sistema"
placeholder = "Caminho do diretório temporário do sistema"
[admin.settings.advanced.tessdataDir]
description = "Caminho para o diretório tessdata para arquivos de idioma do OCR"
downloadButton = "Baixar idiomas selecionados"
downloadErrorGeneric = "Falha no download: {{message}}. Tente novamente mais tarde."
downloadErrorNetwork = "O download falhou devido a um erro de rede. Verifique sua conexão e tente novamente."
downloadErrorPermission = "O diretório tessdata não é gravável: {{message}}. Escolha um diretório gravável (por exemplo, na pasta de dados do aplicativo) ou ajuste as permissões."
downloadErrorServer = "O servidor encontrou um erro ao baixar os idiomas tessdata. Tente novamente mais tarde."
downloadErrorTitle = "Falha no download"
downloadInvalidBody = "Alguns idiomas selecionados não estão disponíveis para download. Atualize e escolha na lista."
downloadInvalidTitle = "Seleção inválida"
downloadLabel = "Baixar idiomas tessdata adicionais"
downloadMissingBody = "Selecione pelo menos um idioma para baixar."
downloadMissingTitle = "Nenhum idioma selecionado"
downloadNothingFound = "Nenhum idioma adicional encontrado"
downloadPlaceholder = "Selecionar idiomas"
downloadSuccessBody = "Os idiomas tessdata selecionados foram salvos."
downloadSuccessTitle = "Idiomas baixados"
installedLanguages = "Idiomas tessdata instalados"
label = "Diretório tessdata"
loadingLanguages = "Carregando idiomas tessdata instalados..."
manualLinks = "Downloads manuais: clique nos links e coloque os arquivos na pasta tessdata."
noLanguages = "Nenhum idioma tessdata encontrado no diretório configurado."
permissionNotice = "O caminho do tessdata não é gravável. Os downloads serão abertos no navegador; salve os arquivos .traineddata manualmente na pasta tessdata."
[admin.settings.badge]
clickToUpgrade = "Clique para ver detalhes do plano"
[admin.settings.connections]
connect = "Conectar"
description = "Configurar provedores de autenticação externos como OAuth2 e SAML."
disconnect = "Desconectar"
disconnected = "Provedor desconectado com sucesso"
disconnectError = "Falha ao desconectar provedor"
documentation = "Ver documentação"
imageResolutionFull = "Completa (tamanho original)"
imageResolutionReduced = "Reduzida (máx. 1200 px)"
linkedServices = "Serviços vinculados"
mobileScannerConvertToPdf = "Converter imagens em PDF"
mobileScannerConvertToPdfDesc = "Converter automaticamente as imagens enviadas para o formato PDF. Se desativado, as imagens serão mantidas como estão."
mobileScannerImageResolution = "Resolução da imagem"
mobileScannerImageResolutionDesc = "Resolução das imagens enviadas. \"Reduzida\" redimensiona as imagens para no máximo 1200 px para reduzir o tamanho do arquivo."
mobileScannerPageFormat = "Formato da página"
mobileScannerPageFormatDesc = "Tamanho da página do PDF para imagens convertidas. \"Manter\" usa as dimensões originais da imagem."
mobileScannerStretchToFit = "Ajustar para preencher"
mobileScannerStretchToFitDesc = "Esticar imagens para preencher toda a página. Se desativado, as imagens são centralizadas mantendo a proporção."
pageFormatA4 = "A4 (210×297 mm)"
pageFormatKeep = "Manter (dimensões originais)"
pageFormatLetter = "Carta (8,5×11 pol)"
title = "Conexões"
unlinkedServices = "Serviços não vinculados"
[admin.settings.connections.mobileScanner]
description = "Permitir que usuários enviem arquivos de dispositivos móveis escaneando um QR code"
enable = "Habilitar envio via QR Code"
imageResolutionFull = "Completa (tamanho original)"
imageResolutionReduced = "Reduzida (máx. 1200 px)"
label = "Envio pelo celular"
link = "Configurar nas Configurações do Sistema"
mobileScannerConvertToPdf = "Converter imagens em PDF"
mobileScannerConvertToPdfDesc = "Converter automaticamente as imagens enviadas para o formato PDF. Se desativado, as imagens serão mantidas como estão."
mobileScannerImageResolution = "Resolução da imagem"
mobileScannerImageResolutionDesc = "Resolução das imagens enviadas. \"Reduzida\" redimensiona as imagens para no máximo 1200 px para reduzir o tamanho do arquivo."
mobileScannerPageFormat = "Formato da página"
mobileScannerPageFormatDesc = "Tamanho da página do PDF para imagens convertidas. \"Manter\" usa as dimensões originais da imagem."
mobileScannerStretchToFit = "Ajustar para preencher"
mobileScannerStretchToFitDesc = "Esticar imagens para preencher toda a página. Se desativado, as imagens são centralizadas mantendo a proporção."
note = "Observação: requer que a URL do frontend esteja configurada. "
pageFormatA4 = "A4 (210×297 mm)"
pageFormatKeep = "Manter (dimensões originais)"
pageFormatLetter = "Carta (8,5×11 pol)"
[admin.settings.connections.oauth2]
label = "OAuth2"
[admin.settings.connections.oauth2.autoCreateUser]
description = "Criar automaticamente contas de usuário no primeiro login via OAuth2"
label = "Criar usuários automaticamente"
[admin.settings.connections.oauth2.blockRegistration]
description = "Impedir novo registro de usuários via OAuth2"
label = "Bloquear registro"
[admin.settings.connections.oauth2.clientId]
description = "O Client ID do OAuth2 do seu provedor"
label = "Client ID"
[admin.settings.connections.oauth2.clientSecret]
description = "O Client Secret do OAuth2 do seu provedor"
label = "Client Secret"
[admin.settings.connections.oauth2.enabled]
description = "Permitir que os usuários se autentiquem usando provedores OAuth2"
label = "Habilitar OAuth2"
[admin.settings.connections.oauth2.issuer]
description = "A URL do emissor do provedor OAuth2"
label = "URL do emissor"
[admin.settings.connections.oauth2.provider]
description = "O provedor OAuth2 a ser usado para autenticação"
label = "Provedor"
[admin.settings.connections.oauth2.scopes]
description = "Lista de escopos OAuth2 separados por vírgula (ex.: openid, profile, email)"
label = "Escopos OAuth2"
[admin.settings.connections.oauth2.useAsUsername]
description = "O claim do OAuth2 a ser usado como nome de usuário (ex.: email, sub)"
label = "Usar como nome de usuário"
[admin.settings.connections.saml2]
label = "SAML2"
[admin.settings.connections.saml2.autoCreateUser]
description = "Criar automaticamente contas de usuário no primeiro login via SAML2"
label = "Criar usuários automaticamente"
[admin.settings.connections.saml2.blockRegistration]
description = "Impedir novo registro de usuários via SAML2"
label = "Bloquear registro"
[admin.settings.connections.saml2.enabled]
description = "Permitir que os usuários se autentiquem usando provedores SAML2"
label = "Habilitar SAML2"
[admin.settings.connections.saml2.provider]
description = "O nome do provedor SAML2"
label = "Provedor"
[admin.settings.connections.saml2.registrationId]
description = "O identificador de registro SAML2"
label = "ID de registro"
[admin.settings.connections.ssoAutoLogin]
description = "Redirecionar automaticamente para o login SSO quando a autenticação for necessária"
enable = "Habilitar login automático SSO"
label = "Login automático SSO"
[admin.settings.database]
actions = "Ações"
backupCreated = "Backup criado com sucesso"
backupDescription = "Gerencie backups do H2 diretamente pelo console de administração."
backupFailed = "Falha ao criar o backup"
backupTitle = "Backups e Restauração"
chooseFile = "Escolha um arquivo .sql de backup"
codeMismatch = "O código de confirmação não corresponde"
codeMismatchBody = "Digite o código exatamente como mostrado para continuar."
configuration = "Configuração do banco de dados"
confirmCodeLabel = "Digite o código de confirmação para continuar"
confirmImport = "Confirmar importação"
confirmImportTitle = "Confirmar importação do banco de dados"
createBackup = "Criar backup"
created = "Criado"
delete = "Excluir"
deleteConfirm = "Excluir este backup? Esta ação não pode ser desfeita."
deleteConfirmAction = "Excluir backup"
deleteFailed = "Falha ao excluir o backup"
deleteSuccess = "Backup excluído"
deleteTitle = "Excluir backup"
description = "Configurar definições personalizadas de conexão com banco de dados para implantações corporativas."
download = "Baixar"
downloadFailed = "Falha ao baixar o backup"
embedded = "H2 incorporado"
enterCode = "Digite o código mostrado acima"
external = "Banco de dados externo"
fileName = "Arquivo"
h2Hint = "Defina o tipo de banco de dados como H2 e desative o banco de dados personalizado para habilitar backup e restauração."
h2Only = "Backups estão disponíveis apenas para o banco de dados H2 incorporado."
import = "Importar"
importFailed = "Falha ao importar o backup"
importFromUpload = "Importar upload"
importSuccess = "Backup importado com sucesso"
loadError = "Falha ao carregar os backups do banco de dados"
manageBackups = "Gerenciar backups"
noBackups = "Nenhum backup encontrado ainda."
overwriteWarning = "Aviso: Isso substituirá o banco de dados atual."
overwriteWarningBody = "Todos os dados existentes serão substituídos pelo backup enviado. Esta ação não pode ser desfeita."
refresh = "Atualizar"
selectFile = "Selecione um arquivo .sql para importar"
size = "Tamanho"
title = "Banco de dados"
unavailable = "Lista de backups indisponível para a configuração atual do banco de dados."
uploadTitle = "Upload e importação"
version = "Versão do H2"
[admin.settings.database.customUrl]
description = "String de conexão JDBC completa (ex.: jdbc:postgresql://localhost:5432/postgres). Se fornecida, as configurações individuais de conexão abaixo não serão usadas."
label = "URL do banco de dados personalizado"
[admin.settings.database.enableCustom]
description = "Usar sua própria configuração de banco de dados em vez do banco de dados embarcado padrão"
label = "Habilitar banco de dados personalizado"
[admin.settings.database.hostName]
description = "Nome do host do servidor de banco de dados (não usado se a URL personalizada for fornecida)"
label = "Nome do host"
[admin.settings.database.name]
description = "Nome do banco de dados (não usado se a URL personalizada for fornecida)"
label = "Nome do banco de dados"
[admin.settings.database.password]
description = "Senha de autenticação no banco de dados"
label = "Senha"
placeholder = "Insira a senha do banco de dados"
[admin.settings.database.port]
description = "Porta do servidor de banco de dados (não usado se a URL personalizada for fornecida)"
label = "Porta"
[admin.settings.database.type]
description = "Tipo de banco de dados (não usado se a URL personalizada for fornecida)"
label = "Tipo de banco de dados"
[admin.settings.database.username]
description = "Nome de usuário para autenticação no banco de dados"
label = "Nome de usuário"
[admin.settings.endpoints]
description = "Controlar quais endpoints de API e grupos de endpoints estão disponíveis."
management = "Gerenciamento de endpoints"
title = "Endpoints da API"
userDefaults = "Padrões de preferências do usuário"
userDefaultsDescription = "Defina valores padrão para as preferências do usuário. Os usuários podem substituí-los nas configurações pessoais."
[admin.settings.endpoints.defaultHideUnavailableConversions]
description = "Remover opções de conversão desativadas em vez de exibi-las acinzentadas"
label = "Ocultar conversões indisponíveis por padrão"
[admin.settings.endpoints.defaultHideUnavailableTools]
description = "Remover ferramentas desativadas em vez de exibi-las acinzentadas"
label = "Ocultar ferramentas indisponíveis por padrão"
[admin.settings.endpoints.groupsToRemove]
description = "Selecionar grupos de endpoints para desabilitar"
label = "Grupos de endpoints desabilitados"
placeholder = "Selecione os grupos para desativar"
[admin.settings.endpoints.toRemove]
description = "Selecionar endpoints individuais para desabilitar"
label = "Endpoints desabilitados"
placeholder = "Selecione os endpoints para desativar"
[admin.settings.enterpriseRequired]
message = "É necessária uma licença Enterprise para acessar {{featureName}}. Você está vendo dados de demonstração para referência."
title = "Licença Enterprise necessária"
[admin.settings.features]
description = "Configurar recursos e funcionalidades opcionais."
title = "Recursos"
[admin.settings.features.serverCertificate]
description = "Configurar a geração de certificado no servidor para a funcionalidade \"Assinar com Stirling-PDF\""
label = "Certificado do servidor"
[admin.settings.features.serverCertificate.enabled]
description = "Habilitar certificado no servidor para a opção \"Assinar com Stirling-PDF\""
label = "Habilitar certificado do servidor"
[admin.settings.features.serverCertificate.organizationName]
description = "Nome da organização para os certificados gerados"
label = "Nome da organização"
[admin.settings.features.serverCertificate.regenerateOnStartup]
description = "Gerar um novo certificado a cada inicialização do aplicativo"
label = "Regenerar na inicialização"
[admin.settings.features.serverCertificate.validity]
description = "Número de dias em que o certificado será válido"
label = "Validade do certificado (dias)"
[admin.settings.general]
description = "Configure definições de aplicativo em todo o sistema, incluindo branding e comportamento padrão."
system = "Sistema"
title = "Configurações do sistema"
ui = "Interface do usuário"
[admin.settings.general.appName]
description = "O nome exibido na aba do navegador e na página inicial"
label = "Nome do aplicativo"
[admin.settings.general.appNameNavbar]
description = "O nome exibido na barra de navegação"
label = "Marca da barra de navegação"
[admin.settings.general.customHTMLFiles]
description = "Permitir servir arquivos HTML personalizados do diretório customFiles"
label = "Arquivos HTML personalizados"
[admin.settings.general.customMetadata]
label = "Metadados personalizados"
[admin.settings.general.customMetadata.author]
description = "Autor padrão para os metadados do PDF (ex.: nome de usuário)"
label = "Autor padrão"
[admin.settings.general.customMetadata.autoUpdate]
description = "Atualizar automaticamente os metadados do PDF em todos os documentos processados"
label = "Atualizar metadados automaticamente"
[admin.settings.general.customMetadata.creator]
description = "Criador padrão para os metadados do PDF"
label = "Criador padrão"
[admin.settings.general.customMetadata.producer]
description = "Produtor padrão para os metadados do PDF"
label = "Produtor padrão"
[admin.settings.general.customPaths]
description = "Configurar caminhos personalizados do sistema de arquivos para processamento de pipeline e ferramentas externas"
label = "Caminhos personalizados"
[admin.settings.general.customPaths.operations]
label = "Caminhos de ferramentas externas"
[admin.settings.general.customPaths.operations.unoconvert]
description = "Caminho para o unoconvert do LibreOffice para conversões de documentos (deixe em branco para padrão: /opt/venv/bin/unoconvert)"
label = "Executável do unoconvert"
[admin.settings.general.customPaths.operations.weasyprint]
description = "Caminho para o executável WeasyPrint para conversão de HTML para PDF (deixe em branco para padrão: /opt/venv/bin/weasyprint)"
label = "Executável do WeasyPrint"
[admin.settings.general.customPaths.pipeline]
label = "Diretórios do pipeline"
[admin.settings.general.customPaths.pipeline.finishedFoldersDir]
description = "Diretório onde os PDFs processados são gerados (deixe em branco para padrão: /pipeline/finishedFolders)"
label = "Diretório de pastas finalizadas"
[admin.settings.general.customPaths.pipeline.pipelineDir]
description = "Base directory for pipeline resources (leave empty for default: /pipeline)"
label = "Pipeline Directory"
[admin.settings.general.customPaths.pipeline.watchedFoldersDir]
description = "Diretório onde o pipeline monitora PDFs recebidos (deixe em branco para padrão: /pipeline/watchedFolders)"
label = "Diretório de pastas monitoradas"
[admin.settings.general.customPaths.pipeline.watchedFoldersDirs]
description = "Directories where pipeline monitors for incoming PDFs (one per line or comma-separated; leave empty for default: /pipeline/watchedFolders)"
label = "Watched Folders Directories"
[admin.settings.general.defaultLocale]
description = "O idioma padrão para novos usuários (ex.: en_US, es_ES)"
label = "Localidade padrão"
[admin.settings.general.fileUploadLimit]
description = "Tamanho máximo de upload de arquivo (ex.: 100MB, 1GB)"
label = "Limite de upload de arquivo"
[admin.settings.general.frontendUrl]
description = "URL base do frontend (ex.: https://pdf.example.com). Usada para links de convite por e-mail e uploads por QR code no celular. Deixe vazio para usar a URL do backend."
label = "URL do frontend"
[admin.settings.general.hideDisabledTools]
description = "Ocultar ferramentas desativadas da interface"
label = "Ocultar ferramentas desativadas"
[admin.settings.general.hideDisabledTools.googleDrive]
description = "Ocultar botão do Google Drive quando não estiver ativado"
label = "Ocultar Google Drive"
[admin.settings.general.hideDisabledTools.mobileScanner]
description = "Ocultar botão de scanner QR no celular quando não estiver ativado"
label = "Ocultar scanner móvel"
[admin.settings.general.homeDescription]
description = "O texto de descrição mostrado na página inicial"
label = "Descrição da página inicial"
[admin.settings.general.languages]
description = "Idiomas que os usuários podem selecionar (deixe em branco para habilitar todos os idiomas)"
label = "Idiomas disponíveis"
placeholder = "Selecione idiomas"
[admin.settings.general.logoStyle]
classic = "Clássico"
classicAlt = "Logo clássico"
description = "Escolha entre o logo minimalista moderno ou o ícone S clássico"
label = "Estilo do logo"
modern = "Moderno"
modernAlt = "Logo moderno"
[admin.settings.general.showUpdate]
description = "Exibir notificações quando houver uma nova versão disponível"
label = "Mostrar notificações de atualização"
[admin.settings.general.showUpdateOnlyAdmin]
description = "Restringir notificações de atualização apenas a usuários administradores"
label = "Mostrar atualizações apenas para administradores"
[admin.settings.legal]
description = "Configurar links para documentos e políticas legais."
title = "Documentos legais"
[admin.settings.legal.accessibilityStatement]
description = "URL ou nome de arquivo da declaração de acessibilidade"
label = "Declaração de acessibilidade"
[admin.settings.legal.cookiePolicy]
description = "URL ou nome de arquivo da política de cookies"
label = "Política de cookies"
[admin.settings.legal.disclaimer]
message = "Ao personalizar estes documentos legais, você assume total responsabilidade por garantir a conformidade com todas as leis e regulamentações aplicáveis, incluindo, entre outras, a GDPR e outros requisitos de proteção de dados da UE. Só modifique estas configurações se: (1) você estiver operando uma instância pessoal/privada, (2) você estiver fora da jurisdição da UE e entender suas obrigações legais locais, ou (3) você tiver obtido a devida assessoria jurídica e aceitar a responsabilidade exclusiva por todos os dados dos usuários e pela conformidade legal. O Stirling-PDF e seus desenvolvedores não assumem responsabilidade por suas obrigações legais."
title = "Aviso de responsabilidade legal"
[admin.settings.legal.impressum]
description = "URL ou nome de arquivo do impressum (exigido em algumas jurisdições)"
label = "Impressum"
[admin.settings.legal.loginAgreement]
defaultLocaleHint = "— usado como padrão quando um idioma não tem arquivo."
defaultLocaleLink = "Configurar a localidade padrão"
description = "Mostrar um aviso que os usuários devem aceitar após fazer login. O texto segue o idioma de cada usuário."
discardConfirm = "Você tem alterações não salvas que serão perdidas. Mudar o idioma mesmo assim?"
editLabel = "Markdown"
emptyPreview = "Nada para visualizar ainda."
language = "Idioma"
languageHelp = "Cada idioma tem seu próprio arquivo. Se o idioma de um usuário não tiver arquivo, o acordo recorre ao arquivo da localidade padrão e, depois, ao texto de reserva."
loadError = "Falha ao carregar o acordo para {{locale}}. Altere o idioma e volte para tentar novamente."
previewLabel = "Prévia"
restartNote = "Ativar ou desativar o acordo é aplicado após uma reinicialização, como outras configurações. As edições de texto abaixo entram em vigor imediatamente."
save = "Salvar texto"
saved = "Salvo"
savedBody = "Acordo de login atualizado para {{locale}}"
textDescription = "Salvo em customFiles/disclaimer/{{locale}}.md e exibido no próximo login. Deixe em branco para remover este idioma."
title = "Acordo de login"
[admin.settings.legal.loginAgreement.anonymous]
label = "Mostrar no modo anônimo (sem login)"
[admin.settings.legal.loginAgreement.enabled]
label = "Ativar acordo de login"
[admin.settings.legal.privacyPolicy]
description = "URL ou nome de arquivo da política de privacidade"
label = "Política de privacidade"
[admin.settings.legal.termsAndConditions]
description = "URL ou nome de arquivo dos termos e condições"
label = "Termos e condições"
[admin.settings.loginDisabled]
message = "O modo de login deve estar habilitado para modificar as configurações de administrador. Defina SECURITY_ENABLELOGIN=true em seu ambiente ou security.enableLogin: true em settings.yml e reinicie o servidor."
readOnly = "As configurações abaixo mostram valores de exemplo para referência. Habilite o modo de login para ver e editar a configuração real."
title = "Modo de login necessário"
[admin.settings.mail]
description = "Configurar definições de SMTP para envio de notificações por email."
smtp = "Configuração de SMTP"
title = "Servidor de email"
[admin.settings.mail.enabled]
description = "Habilitar notificações por email e funcionalidade SMTP"
label = "Habilitar email"
[admin.settings.mail.enableInvites]
description = "Permitir que administradores convidem usuários por email com senhas geradas automaticamente"
label = "Habilitar convites por email"
[admin.settings.mail.from]
description = "O endereço de email a ser usado como remetente"
label = "Endereço do remetente"
[admin.settings.mail.frontendUrl]
description = "URL base do frontend (ex.: https://pdf.example.com). Usada para gerar links de convite em emails. Deixe em branco para usar a URL do backend."
label = "URL do frontend"
[admin.settings.mail.frontendUrlNote]
link = "Configurar nas Configurações do Sistema"
note = "Observação: requer que a URL do frontend esteja configurada. "
[admin.settings.mail.host]
description = "O nome do host ou endereço IP do seu servidor SMTP"
label = "Host SMTP"
[admin.settings.mail.password]
description = "Senha para autenticação SMTP"
label = "Senha SMTP"
placeholder = "Insira a senha SMTP"
[admin.settings.mail.port]
description = "O número da porta para conexão SMTP (tipicamente 25, 465 ou 587)"
label = "Porta SMTP"
[admin.settings.mail.username]
description = "Nome de usuário para autenticação SMTP"
label = "Usuário SMTP"
[admin.settings.mcp]
apikeyNote = "Clients send a Stirling API key in the X-API-KEY header (or Authorization: Bearer <key>). The key maps to its owning Stirling user - only provisioned accounts get in, and actions are audited as that user. Manage keys under Account > API Keys."
description = "Expose Stirling's PDF tools and AI agents to MCP clients over an OAuth-protected endpoint."
title = "MCP Server"
[admin.settings.mcp.acceptedAudiences]
description = "Extra token audience values accepted besides the Resource ID (comma or space separated). Leave blank for strict RFC 8707. Needed for IdPs that cannot mint resource audiences - e.g. Supabase's OAuth server always issues aud=authenticated."
label = "Additional accepted audiences (optional)"
[admin.settings.mcp.allowedOps]
description = "If set, ONLY these operation ids are exposed (an allow-list; comma or space separated). Leave blank to expose all enabled tools except any blocked below."
label = "Allowed tools"
[admin.settings.mcp.blockedOps]
description = "Operation ids to hide from MCP (comma or space separated), e.g. add-password remove-password. Leave blank to expose all enabled tools."
label = "Blocked tools"
[admin.settings.mcp.enabled]
description = "When off (default), no /mcp endpoint, metadata, or MCP beans are loaded."
label = "Enable MCP Server"
[admin.settings.mcp.guide]
step1 = "Enter your OAuth issuer + resource ID above, Save, and restart."
step1ApiKey = "Create an API key under Account > API Keys (each user uses their own)."
step2 = "In your MCP client add a"
step2b = "server pointing at:"
step3 = "The client auto-discovers OAuth from:"
step3ApiKey = "Send the key in an"
step3ApiKeyb = "header (or Authorization: Bearer <key>). No OAuth or metadata discovery is used."
step4 = "Approve the sign-in; the client retries with a token. Tools appear grouped: convert, pages, misc, security, ai."
step4ApiKey = "Tools appear grouped: convert, pages, misc, security, ai - and every call is audited as the key's owner."
tip = "Tip: register the resource ID as an allowed audience in your IdP. Tested with MCP Inspector and Claude Desktop."
tipApiKey = "Tip: API-key mode needs no external IdP - simplest for self-host. The key maps to its owning Stirling user."
title = "Connect an MCP client"
[admin.settings.mcp.issuerUri]
description = "Your OAuth2 authorization server (must publish /.well-known/openid-configuration). Required when enabled."
label = "OAuth Issuer URL"
[admin.settings.mcp.jwksUri]
description = "Leave blank to discover it from the issuer. Set only if your IdP serves keys at a non-standard URL."
label = "JWKS URL (optional)"
placeholder = "Auto-discovered from issuer"
[admin.settings.mcp.mode]
description = "OAuth needs an external IdP. API key uses a Stirling per-user API key (X-API-KEY) - simplest for self-host."
label = "Authentication mode"
[admin.settings.mcp.requireAccount]
description = "Only let tokens through if their subject maps to a provisioned, enabled Stirling user."
label = "Require an existing Stirling account"
[admin.settings.mcp.resourceId]
description = "This server's public /mcp URL. Tokens must list it in their audience (RFC 8707) or they are rejected."
label = "Resource ID"
[admin.settings.mcp.scopes]
description = "Require mcp.tools.read for read ops and mcp.tools.write for write/AI ops."
label = "Enforce OAuth scopes"
[admin.settings.mcp.usernameClaim]
description = "JWT claim matched against a Stirling username (e.g. sub, email, preferred_username)."
label = "Username claim"
[admin.settings.plan.noData]
message = "Os dados dos planos não estão disponíveis no momento."
title = "Nenhum dado disponível"
[admin.settings.premium]
description = "Configurar sua chave de licença premium ou enterprise."
license = "Configuração de licença"
noInput = "Forneça uma chave ou arquivo de licença"
title = "Premium e Enterprise"
[admin.settings.premium.currentLicense]
file = "Origem: arquivo de licença ({{path}})"
key = "Origem: chave de licença"
noInput = "Forneça uma chave de licença ou envie um arquivo de certificado"
success = "Sucesso"
title = "Licença ativa"
type = "Tipo: {{type}}"
[admin.settings.premium.enabled]
description = "Habilitar verificação de chave de licença para recursos pro/enterprise"
label = "Habilitar recursos Premium"
[admin.settings.premium.file]
choose = "Escolher arquivo de licença"
description = "Faça upload do seu arquivo de licença .lic ou .cert de compras offline"
label = "Arquivo de certificado de licença"
selected = "Selecionado: {{filename}} ({{size}})"
successMessage = "Arquivo de licença enviado e ativado com sucesso. Não é necessário reiniciar."
[admin.settings.premium.inputMethod]
file = "Arquivo de certificado"
text = "Chave de licença"
[admin.settings.premium.key]
description = "Insira sua chave de licença premium ou enterprise"
label = "Chave de licença"
success = "Chave de licença salva"
successMessage = "Sua chave de licença foi ativada com sucesso. Não é necessário reiniciar."
[admin.settings.premium.key.overwriteWarning]
line1 = "Substituir sua chave de licença atual não pode ser desfeito."
line2 = "Sua licença anterior será perdida permanentemente, a menos que você tenha um backup em outro lugar."
line3 = "Importante: mantenha chaves de licença privadas e seguras. Nunca as compartilhe publicamente."
title = "⚠️ Aviso: licença existente detectada"
[admin.settings.premium.licenseKey]
info = "Se você tem uma chave de licença ou um arquivo de certificado de uma compra direta, insira aqui para ativar recursos premium ou enterprise."
toggle = "Tem uma chave de licença ou arquivo de certificado?"
[admin.settings.premium.movedFeatures]
auditLogging = "<0>Audit Logging</0> (ENTERPRISE) - Segurança"
customMetadata = "<0>Custom Metadata</0> (PRO) - Geral"
databaseConfiguration = "<0>Database Configuration</0> (ENTERPRISE) - Banco de dados"
message = "Os recursos Premium e Enterprise agora estão organizados em suas respectivas seções:"
title = "Recursos Premium distribuídos"
[admin.settings.privacy]
analytics = "Analytics e rastreamento"
description = "Configurar configurações de privacidade e coleta de dados."
searchEngine = "Visibilidade em mecanismos de busca"
title = "Privacidade"
[admin.settings.privacy.enableAnalytics]
description = "Coletar analytics anônimos de uso para ajudar a melhorar o aplicativo"
label = "Habilitar Analytics"
[admin.settings.privacy.googleVisibility]
description = "Permitir que mecanismos de busca indexem este aplicativo"
label = "Visibilidade no Google"
[admin.settings.privacy.metricsEnabled]
description = "Habilitar a coleta de métricas de desempenho e uso. Fornece endpoint de API para administradores acessarem os dados de métricas"
label = "Habilitar métricas"
[admin.settings.restart]
later = "Reiniciar depois"
message = "As configurações foram salvas com sucesso. É necessário reiniciar o servidor para que as alterações tenham efeito."
now = "Reiniciar agora"
question = "Deseja reiniciar o servidor agora ou depois?"
title = "Reinicialização necessária"
[admin.settings.security]
authentication = "Autenticação"
description = "Configurar autenticação, comportamento de login e políticas de segurança."
title = "Segurança"
[admin.settings.security.audit]
hideDetails = "Ocultar detalhes do nível de auditoria"
label = "Registro de auditoria"
showDetails = "Mostrar detalhes do nível de auditoria"
[admin.settings.security.audit.advancedOptions]
description = "As opções a seguir aumentam o tempo de processamento e o uso de memória. Ative somente se realmente necessário."
title = "Opções avançadas"
[admin.settings.security.audit.captureFileHash]
description = "Extrair hash SHA-256 de arquivos PDF enviados para verificação de integridade. Independente do nível de auditoria."
label = "Capturar hash do arquivo (SHA-256)"
[admin.settings.security.audit.captureOperationResults]
description = "Capturar valores de retorno dos métodos. Não recomendado: aumenta significativamente o volume de logs e o uso de disco."
label = "Capturar resultados das operações"
[admin.settings.security.audit.capturePdfAuthor]
description = "Extrair o campo autor de documentos PDF durante o processamento. Requer análise do PDF, aumenta a latência. Independente do nível de auditoria."
label = "Capturar metadados de autor do PDF"
[admin.settings.security.audit.enabled]
description = "Rastrear ações do usuário e eventos do sistema para conformidade e monitoramento de segurança"
label = "Habilitar registro de auditoria"
[admin.settings.security.audit.level]
description = "0=OFF, 1=BASIC, 2=STANDARD, 3=VERBOSE"
label = "Nível de auditoria"
[admin.settings.security.audit.levelDetails]
basic = "Operações de arquivo PDF (compress, split, merge etc.) e alterações de configurações. Captura: status da operação (sucesso/falha), parâmetros do método, tempos. Volume mínimo de logs."
off = "Sem logs de auditoria (exceto eventos críticos de segurança)"
standard = "Eventos BASIC, além de: login/logout de usuário, alterações de conta, requisições GET gerais. Exclui chamadas de polling contínuo (/auth/me, /app-config, /health etc.) para reduzir ruído nos logs. Ideal para a maioria das implantações."
verbose = "Eventos STANDARD, além de: chamadas de polling contínuo, todas as requisições GET, tempos detalhados. Aviso: alto volume de logs e impacto no desempenho."
[admin.settings.security.audit.retentionDays]
description = "Número de dias para reter os logs de auditoria"
label = "Retenção de auditoria (dias)"
[admin.settings.security.csrfDisabled]
description = "Desativar a proteção contra Cross-Site Request Forgery (não recomendado)"
label = "Desativar proteção CSRF"
[admin.settings.security.enableLogin]
description = "Exigir que os usuários façam login antes de acessar o aplicativo"
label = "Habilitar login"
[admin.settings.security.htmlUrlSecurity]
advanced = "Configurações avançadas"
description = "Configurar restrições de acesso a URLs para processamento de HTML e evitar ataques SSRF"
label = "Segurança de URL de HTML"
networkBlocking = "Bloqueio de rede"
[admin.settings.security.htmlUrlSecurity.allowedDomains]
description = "Um domínio por linha (ex.: cdn.example.com). Apenas esses domínios são permitidos quando o nível é MAX"
label = "Domínios permitidos (whitelist)"
[admin.settings.security.htmlUrlSecurity.blockCloudMetadata]
description = "Bloquear endpoints de metadados de provedores de nuvem (169.254.169.254)"
label = "Bloquear endpoints de metadados de nuvem"
[admin.settings.security.htmlUrlSecurity.blockedDomains]
description = "Um domínio por linha (ex.: malicious.com). Domínios adicionais a bloquear"
label = "Domínios bloqueados (blacklist)"
[admin.settings.security.htmlUrlSecurity.blockLinkLocal]
description = "Bloquear endereços link-local (169.254.x.x, fe80::/10)"
label = "Bloquear endereços link-local"
[admin.settings.security.htmlUrlSecurity.blockLocalhost]
description = "Bloquear localhost e endereços de loopback (127.x.x.x, ::1)"
label = "Bloquear localhost"
[admin.settings.security.htmlUrlSecurity.blockPrivateNetworks]
description = "Bloquear redes privadas RFC 1918 (10.x.x.x, 192.168.x.x, 172.16-31.x.x)"
label = "Bloquear redes privadas"
[admin.settings.security.htmlUrlSecurity.enabled]
description = "Habilitar restrições de segurança de URL para conversões de HTML para PDF"
label = "Habilitar segurança de URL"
[admin.settings.security.htmlUrlSecurity.internalTlds]
description = "Um TLD por linha (ex.: .local, .internal). Bloquear domínios com esses padrões de TLD"
label = "TLDs internos"
[admin.settings.security.htmlUrlSecurity.level]
description = "MAX: apenas whitelist, MEDIUM: bloquear redes internas, OFF: sem restrições"
label = "Nível de segurança"
max = "Máximo (apenas whitelist)"
medium = "Médio (bloquear interno)"
off = "Desligado (sem restrições)"
[admin.settings.security.initialLogin]
label = "Login inicial"
[admin.settings.security.initialLogin.password]
description = "A senha para a conta de administrador inicial"
label = "Senha inicial"
[admin.settings.security.initialLogin.username]
description = "O nome de usuário para a conta de administrador inicial"
label = "Nome de usuário inicial"
[admin.settings.security.jwt]
label = "Configuração de JWT"
[admin.settings.security.jwt.allowedClockSkewSeconds]
description = "Tolerância para desvio de tempo cliente/servidor durante a validação do token (padrão: 60 segundos)"
label = "Tolerância de defasagem de relógio (segundos)"
[admin.settings.security.jwt.desktopTokenExpiryMinutes]
description = "Tempo de vida do token de acesso em minutos para clientes de desktop. Aplicativos de desktop são detectados automaticamente via User-Agent e recebem sessões mais longas para melhor UX (padrão: 43200 = 30 dias)"
label = "Expiração do token do desktop (minutos)"
[admin.settings.security.jwt.enableKeyCleanup]
description = "Remover automaticamente chaves JWT expiradas"
label = "Habilitar limpeza de chaves"
[admin.settings.security.jwt.enableKeyRotation]
description = "Rotacionar automaticamente as chaves de assinatura JWT periodicamente"
label = "Habilitar rotação de chaves"
[admin.settings.security.jwt.persistence]
description = "Armazenar chaves JWT de forma persistente para sobreviver a reinicializações do servidor"
label = "Habilitar persistência de chaves"
[admin.settings.security.jwt.refreshGraceMinutes]
description = "Permitir a atualização do token dentro deste número de minutos após a expiração (padrão: 15 minutos, máximo de 3 tentativas)"
label = "Período de carência de atualização (minutos)"
[admin.settings.security.jwt.secureCookie]
description = "Exigir HTTPS para cookies JWT (recomendado para produção)"
label = "Cookie seguro"
[admin.settings.security.jwt.tokenExpiryMinutes]
description = "Tempo de vida do token de acesso em minutos para clientes web (padrão: 1440 = 24 horas)"
label = "Expiração do token web (minutos)"
[admin.settings.security.loginAttemptCount]
description = "Número máximo de tentativas de login com falha antes do bloqueio da conta"
label = "Limite de tentativas de login"
[admin.settings.security.loginMethod]
all = "Todos os métodos"
description = "O método de autenticação a ser usado para login do usuário"
label = "Método de login"
normal = "Apenas usuário/senha"
oauth2 = "Apenas OAuth2"
saml2 = "Apenas SAML2"
[admin.settings.security.loginResetTimeMinutes]
description = "Tempo antes que as tentativas de login com falha sejam redefinidas"
label = "Tempo para redefinir tentativas (minutos)"
[admin.settings.security.ssoNotice]
message = "Os provedores de autenticação OAuth2 e SAML2 foram movidos para o menu Conexões para facilitar a gestão."
title = "Procurando as configurações de SSO/SAML?"
[admin.settings.security.xFrameOptions]
deny = "Deny (Prevents all framing)"
description = "Controls whether the application can be embedded in iframes"
disabled = "Disabled (No X-Frame-Options header)"
label = "X-Frame-Options"
sameorigin = "Same Origin (Allow framing from same domain)"
[admin.settings.storage]
description = "Controla as opções de armazenamento e compartilhamento do servidor."
title = "Armazenamento e Compartilhamento de Arquivos"
[admin.settings.storage.enabled]
description = "Permitir que os usuários armazenem arquivos no servidor."
label = "Ativar armazenamento de arquivos no servidor"
[admin.settings.storage.sharing.email]
description = "Permitir compartilhamento com endereços de e-mail."
label = "Ativar compartilhamento por e-mail"
mailLink = "Configurar e-mail"
mailNote = "Requer configuração de e-mail. "
[admin.settings.storage.sharing.enabled]
description = "Permitir que os usuários compartilhem arquivos armazenados."
label = "Ativar compartilhamento"
[admin.settings.storage.sharing.links]
description = "Permitir compartilhamento via links autenticados."
frontendUrlLink = "Configurar nas configurações do sistema"
frontendUrlNote = "Requer uma URL de Frontend. "
label = "Ativar links de compartilhamento"
[admin.settings.storage.signing.enabled]
description = "Permitir que os usuários criem sessões de assinatura de documentos com vários participantes. Requer que o armazenamento de arquivos no servidor esteja ativado."
label = "Ativar assinatura em grupo (Alpha)"
[admin.settings.telegram]
description = "Configure a conectividade do bot do Telegram, controles de acesso e comportamento de feedback."
title = "Bot do Telegram"
[admin.settings.telegram.accessControl]
description = "Restringir quais usuários ou canais podem interagir com o bot."
title = "Controle de acesso"
[admin.settings.telegram.allowChannelIDs]
description = "Insira os IDs de canal do Telegram autorizados a interagir com o bot."
label = "IDs de canal permitidos"
placeholder = "Adicione o ID do canal e pressione Enter"
[admin.settings.telegram.allowUserIDs]
description = "Insira os IDs de usuário do Telegram autorizados a interagir com o bot."
label = "IDs de usuário permitidos"
placeholder = "Adicione o ID do usuário e pressione Enter"
[admin.settings.telegram.botToken]
description = "Token de API fornecido pelo BotFather para seu bot do Telegram."
label = "Token do bot"
[admin.settings.telegram.botUsername]
description = "O nome de usuário público do seu bot do Telegram."
label = "Nome de usuário do bot"
[admin.settings.telegram.customFolderSuffix]
description = "Acrescentar o ID do chat às pastas de arquivos recebidos para isolar envios por chat."
label = "Usar sufixo de pasta personalizado"
[admin.settings.telegram.enableAllowChannelIDs]
description = "Quando habilitado, somente os IDs de canal listados podem usar o bot."
label = "Permitir IDs de canal específicos"
[admin.settings.telegram.enableAllowUserIDs]
description = "Quando habilitado, somente os IDs de usuário listados podem usar o bot."
label = "Permitir IDs de usuário específicos"
[admin.settings.telegram.enabled]
description = "Permitir que usuários interajam com o Stirling PDF por meio do seu bot do Telegram configurado."
label = "Habilitar bot do Telegram"
[admin.settings.telegram.feedback]
description = "Escolha quando o bot deve enviar feedback para usuários e canais."
title = "Mensagens de feedback"
[admin.settings.telegram.feedback.channel]
title = "Regras de feedback para canais"
[admin.settings.telegram.feedback.channel.errorMessage]
description = "Mostrar mensagens de erro detalhadas para canais."
label = "Mostrar mensagens de erro (Canal)"
[admin.settings.telegram.feedback.channel.errorProcessing]
description = "Enviar mensagens de erro de processamento para canais."
label = "Mostrar erros de processamento (Canal)"
[admin.settings.telegram.feedback.channel.noValidDocument]
description = "Suprimir a resposta de nenhum documento válido para envios em canal."
label = "Mostrar \"Nenhum documento válido\" (Canal)"
[admin.settings.telegram.feedback.general.enabled]
description = "Controla se o bot envia mensagens de feedback ou não."
label = "Habilitar feedback"
[admin.settings.telegram.feedback.user]
title = "Regras de feedback para usuários"
[admin.settings.telegram.feedback.user.errorMessage]
description = "Mostrar mensagens de erro detalhadas para usuários."
label = "Mostrar mensagens de erro (Usuário)"
[admin.settings.telegram.feedback.user.errorProcessing]
description = "Enviar mensagens de erro de processamento para usuários."
label = "Mostrar erros de processamento (Usuário)"
[admin.settings.telegram.feedback.user.noValidDocument]
description = "Suprimir a resposta de nenhum documento válido para envios de usuários."
label = "Mostrar \"Nenhum documento válido\" (Usuário)"
[admin.settings.telegram.pipelineInboxFolder]
description = "Pasta no diretório de pipeline onde os arquivos do Telegram são armazenados."
label = "Pasta de entrada"
[admin.settings.telegram.pollingIntervalMillis]
description = "Intervalo entre verificações por novas atualizações do Telegram."
label = "Intervalo de polling (ms)"
[admin.settings.telegram.processing]
description = "Controle intervalos de polling e tempos limite de processamento para uploads do Telegram."
title = "Processamento"
[admin.settings.telegram.processingTimeoutSeconds]
description = "Tempo máximo de espera por um trabalho de processamento antes de informar um erro."
label = "Tempo limite de processamento (segundos)"
[admin.settings.unsavedChanges]
cancel = "Continuar editando"
discard = "Descartar alterações"
hint = "Você tem alterações não salvas"
message = "Você tem alterações não salvas. Deseja descartá-las?"
title = "Alterações não salvas"
[adminOnboarding]
adminTools = "Por fim, temos ferramentas avançadas de administração como <strong>Auditoria</strong> para rastrear a atividade do sistema e <strong>Analytics de uso</strong> para monitorar como seus usuários interagem com a plataforma."
configButton = "Clique no botão <strong>Config</strong> para acessar todas as configurações do sistema e controles administrativos."
connectionsSection = "A seção <strong>Conexões</strong> oferece vários métodos de login, incluindo SSO personalizado e provedores SAML como Google e GitHub, além de integrações de email para notificações e comunicações."
databaseSection = "Para ambientes de produção avançados, temos configurações para permitir <strong>conexão com banco de dados externo</strong> para você integrar com sua infraestrutura existente."
settingsOverview = "Este é o <strong>Painel de Configurações</strong>. As configurações de admin estão organizadas por categoria para facilitar a navegação."
systemCustomization = "Temos várias maneiras de personalizar a interface: as <strong>Configurações do Sistema</strong> permitem alterar o nome do app e idiomas, <strong>Recursos</strong> permite o gerenciamento de certificado do servidor, e <strong>Endpoints</strong> permite habilitar ou desabilitar ferramentas específicas para seus usuários."
teamsAndUsers = "Gerencie <strong>Equipes</strong> e usuários individuais aqui. Você pode convidar novos usuários por email, links compartilháveis ou criar contas personalizadas para eles."
welcome = "Bem-vindo ao <strong>Tour do Admin</strong>! Vamos explorar os poderosos recursos e configurações empresariais disponíveis para administradores do sistema."
wrapUp = "Este foi o tour do admin! Você viu os recursos empresariais que tornam o Stirling PDF uma solução poderosa e personalizável para organizações. Acesse este tour a qualquer momento no menu <strong>Ajuda</strong>."
[adminUserSettings]
admin = "Administrador"
title = "Configurações de controle de usuário"
[agents]
stirling_name = "Stirling"
[analytics]
learnMore = "Saiba mais"
paragraph1 = "Stirling PDF possui coleta de dados opcional para ajudar a melhorar o produto. Nós não rastreamos nenhuma informação pessoal ou conteúdo dos arquivos."
paragraph2 = "Por favor considere habilitar a coleta de dados para ajudar Stirling PDF a crescer e nos ajudar a entender melhor nossos usuários."
title = "Você quer melhorar o Stirling PDF?"
[annotate]
tags = "annotate,highlight,draw,markup,comment,notes,review,redline,feedback,markup tools,sticky notes,shapes,arrows,text box,freehand"
[annotation]
alignCenter = "Alinhar ao centro"
alignLeft = "Alinhar à esquerda"
alignRight = "Alinhar à direita"
annotationStyle = "Estilo de anotação"
backgroundColor = "Cor de fundo"
borderOff = "Borda: desativada"
borderOn = "Borda: ativada"
changeColor = "Alterar cor"
chooseColor = "Escolher cor"
circle = "Círculo"
clearBackground = "Remover fundo"
clearDocumentAnnotations = "Limpar todas as anotações"
clearDocumentAnnotationsConfirm = "Limpar tudo"
clearDocumentAnnotationsDescription = "Isso remove todas as anotações carregadas no editor no momento. Salve as alterações para que isso seja gravado no PDF."
clearDocumentAnnotationsEmptyBody = "Não há anotações carregadas no editor no momento."
clearDocumentAnnotationsEmptyTitle = "Nenhuma anotação para limpar"
clearDocumentAnnotationsErrorTitle = "Não foi possível limpar as anotações"
clearDocumentAnnotationsSuccessBody = "Salve as alterações para que a remoção das anotações seja gravada no PDF."
clearDocumentAnnotationsSuccessTitle = "Todas as anotações foram limpas"
clearDocumentAnnotationsTitle = "Limpar todas as anotações?"
clearDocumentAnnotationsUnavailableBody = "A camada de anotações ainda está carregando. Tente novamente em instantes."
clearDocumentAnnotationsUnavailableTitle = "As anotações não estão prontas"
color = "Cor"
comment = "Comentário"
comments = "Comentários"
contents = "Texto"
delete = "Excluir"
drawing = "Desenho"
editSelectDescription = "Clique em uma anotação existente para editar sua cor, opacidade, texto ou tamanho."
editText = "Editar caixa de texto"
fillColor = "Cor de preenchimento"
fillOpacity = "Opacidade do preenchimento"
fontSize = "Tamanho da fonte"
freehandHighlighter = "Marca-texto à mão livre"
highlight = "Realçar"
imagePreview = "Prévia"
insertText = "Inserir texto"
line = "Linha"
lineArrow = "Seta"
moreActions = "Mais ações"
noBackground = "Sem fundo"
note = "Nota"
notesStamps = "Notas e carimbos"
opacity = "Opacidade"
pen = "Caneta"
polygon = "Polígono"
polyline = "Polilinha"
properties = "Propriedades"
rectangle = "Retângulo"
replaceText = "Substituir texto"
saveChanges = "Salvar alterações"
select = "Selecionar"
selectAndMove = "Selecionar e editar"
settings = "Configurações"
shapes = "Formas"
square = "Quadrado"
squiggly = "Ondulado"
stamp = "Adicionar imagem"
stampSettings = "Configurações de carimbo"
strikeout = "Tachar"
strokeColor = "Cor do contorno"
strokeOpacity = "Opacidade do contorno"
strokeWidth = "Largura"
text = "Caixa de texto"
textAlignment = "Alinhamento do texto"
textMarkup = "Marcação de texto"
title = "Anotar"
underline = "Sublinhar"
width = "Largura"
[app]
description = "A alternativa gratuita ao Adobe Acrobat (10M+ downloads)"
[attachments]
convertToPdfA3b = "Converter para PDF/A-3b"
convertToPdfA3bDescription = "Cria um PDF de arquivamento com anexos incorporados"
convertToPdfA3bTooltip = "PDF/A-3b é um formato de arquivamento que garante preservação de longo prazo. Permite incorporar formatos de arquivo arbitrários como anexos. A conversão requer Ghostscript e pode demorar mais para arquivos grandes."
convertToPdfA3bTooltipHeader = "Sobre a conversão para PDF/A-3b"
convertToPdfA3bTooltipTitle = "O que faz"
tags = "embed,attach,file,attachment,attachments"
title = "Add attachments"
[audit]
configureAudit = "Configurar logs de auditoria"
configureAuditMessage = "Ajuste o nível de logs de auditoria, o período de retenção e outras configurações na seção Segurança e Autenticação."
disabled = "O registro de auditoria está desativado"
disabledMessage = "Habilite o registro de auditoria na configuração do seu aplicativo para rastrear eventos do sistema."
enterpriseRequired = "Licença Enterprise necessária"
enterpriseRequiredMessage = "O sistema de registro de auditoria é um recurso Enterprise. Atualize para uma licença Enterprise para acessar logs e análises de auditoria."
goToSettings = "Ir para as configurações de auditoria"
notAvailable = "Sistema de auditoria não disponível"
notAvailableMessage = "O sistema de auditoria não está configurado ou não está disponível."
[audit.charts]
byType = "Eventos por tipo"
byUser = "Eventos por usuário"
day = "Dia"
error = "Erro ao carregar gráficos"
month = "Mês"
noData = "Sem dados para este período"
overTime = "Eventos ao longo do tempo"
title = "Painel de auditoria"
week = "Semana"
[audit.clearData]
cancel = "Cancelar"
codeDoesNotMatch = "O código não corresponde"
codePlaceholder = "Digite o código aqui"
confirmationCode = "Código de confirmação"
confirmationRequired = "Excluir todos os dados de auditoria"
confirmMessage = "Isto removerá permanentemente todos os logs de auditoria. Insira o código de confirmação abaixo para prosseguir."
confirmTitle = "Confirme que deseja excluir"
deleteButton = "Excluir"
enterCode = "Código de confirmação"
enterCodeBelow = "Digite o código exatamente como mostrado acima (diferencia maiúsculas de minúsculas)"
initiateDelete = "Excluir todos os dados"
irreversible = "IRREVERSÍVEL"
success = "Sucesso"
successMessage = "Todos os dados de auditoria foram limpos com sucesso"
warning1 = "Esta ação não pode ser desfeita"
warning2 = "A exclusão dos dados de auditoria removerá permanentemente todos os logs históricos de auditoria, incluindo eventos de segurança, atividades de usuários e operações de arquivos do banco de dados."
[audit.error]
title = "Erro ao carregar o sistema de auditoria"
[audit.events]
actions = "Ações"
author = "Autor"
clearFilters = "Limpar"
details = "Detalhes"
documentName = "Documento"
endDate = "Data de término"
error = "Erro ao carregar eventos"
eventDetails = "Detalhes do evento"
fileHash = "Hash do arquivo"
filterByType = "Filtrar por tipo"
filterByUser = "Filtrar por usuário"
ipAddress = "Endereço IP"
noEvents = "Nenhum evento encontrado"
startDate = "Data de início"
timestamp = "Carimbo de data/hora"
title = "Eventos de auditoria"
type = "Tipo"
user = "Usuário"
viewDetails = "Ver detalhes"
[audit.export]
description = "Exporte eventos de auditoria nos formatos CSV ou JSON. Use filtros para limitar os dados exportados."
error = "Falha ao exportar dados"
exportButton = "Exportar dados"
fieldAuthor = "Autor (do PDF)"
fieldDate = "Data"
fieldDocumentName = "Nome do documento"
fieldFileHash = "Hash do arquivo (SHA-256)"
fieldIpAddress = "Endereço IP"
fieldOperationResults = "Resultados da operação"
fieldOutcome = "Resultado (Sucesso/Falha)"
fieldTool = "Ferramenta"
fieldUsername = "Nome de usuário"
filters = "Filtros (opcional)"
format = "Formato de exportação"
selectFields = "Selecionar campos a incluir"
title = "Exportar dados de auditoria"
[audit.filters]
last30Days = "Últimos 30 dias"
last7Days = "Últimos 7 dias"
quickPresets = "Filtros rápidos"
thisMonth = "Este mês"
today = "Hoje"
[audit.stats]
activeUsers = "Usuários ativos"
attention = "Atenção necessária"
avgLatency = "Latência média"
error = "Erro ao carregar estatísticas"
excellent = "Excelente"
good = "Bom"
noData = "N/A"
successRate = "Taxa de sucesso"
totalEvents = "Eventos totais"
vsLastPeriod = "vs último período"
[audit.systemStatus]
captureBySettings = "Ativar nas configurações"
capturedFields = "Campos capturados"
date = "Data"
days = "dias"
disabled = "Desativado"
documentName = "Nome do documento"
enabled = "Habilitado"
fileHash = "Hash do arquivo"
level = "Nível de auditoria"
pdfAuthor = "Autor do PDF"
retention = "Período de retenção"
status = "Registro de auditoria"
title = "Status do sistema"
tool = "Ferramenta"
totalEvents = "Total de eventos"
username = "Nome de usuário"
[audit.tabs]
clearData = "Limpar dados"
dashboard = "Painel"
events = "Eventos de auditoria"
export = "Exportar"
[auth]
accessDenied = "Acesso negado"
insufficientPermissions = "Você não tem permissão para executar esta ação."
[auth.displayName]
guest = "Convidado"
user = "Usuário"
[auto-rename]
description = "Localiza automaticamente o título no conteúdo do seu PDF e o usa como nome de arquivo."
submit = "Renomeação Automática"
tags = "detecção-automática,baseado-em-cabeçalho,organizar,relabel"
title = "Renomeação Automática do PDF"
[auto-rename.error]
failed = "Ocorreu um erro ao renomear automaticamente o PDF."
[auto-rename.results]
title = "Resultados de renomeação automática"
[auto-rename.settings]
title = "Sobre"
[auto-rename.tooltip.description]
title = "O que faz"
[auto-rename.tooltip.header]
title = "Como funciona a renomeação automática"
[auto-rename.tooltip.howItWorks]
bullet1 = "Procura por texto que pareça ser um título ou cabeçalho"
bullet2 = "Cria um nome de arquivo limpo e válido a partir do título detectado"
bullet3 = "Mantém o nome original se nenhum título adequado for encontrado"
title = "Renomeação inteligente"
[automate]
copyToSaved = "Copiar para Salvos"
desc = "Crie fluxos de trabalho de várias etapas encadeando ações de PDF. Ideal para tarefas recorrentes."
export = "Exportar"
exportForFolderScanning = "Exportar para Varredura de Pasta"
import = "Importar"
importPartialSuccess_one = "Imported with {{count}} unmapped operation: {{ops}}"
importPartialSuccess_other = "Imported with {{count}} unmapped operations: {{ops}}"
importSuccess = "Automação importada: {{name}}"
invalidStep = "Etapa inválida"
reviewTitle = "Resultados da automação"
tags = "workflow,sequence,automation,automate,batch,batch processing,pipeline,chain,multi-step,recurring,scheduled,automatic,process multiple,bulk operations"
title = "Automatizar"
[automate.config]
cancel = "Cancelar"
description = "Configure as configurações desta ferramenta. Essas configurações serão aplicadas quando a automação for executada."
noSettings = "Esta ferramenta não possui configurações."
save = "Salvar configuração"
title = "Configurar {{toolName}}"
[automate.creation]
createTitle = "Criar automação"
editTitle = "Editar automação"
export = "Exportar"
exportForFolderScanning = "Exportar para Varredura de Pasta"
intro = "As automações executam ferramentas sequencialmente. Para começar, adicione as ferramentas na ordem em que deseja executá-las."
save = "Salvar automação"
[automate.creation.description]
label = "Descrição (opcional)"
placeholder = "Descreva o que esta automação faz..."
[automate.creation.icon]
label = "Ícone"
[automate.creation.name]
label = "Nome da automação"
placeholder = "Minha automação"
[automate.creation.tools]
add = "Adicionar uma ferramenta..."
addTool = "Adicionar ferramenta"
configure = "Configurar ferramenta"
notConfigured = "! Não configurado"
remove = "Remover ferramenta"
selected = "Ferramentas selecionadas"
selectTool = "Selecionar uma ferramenta..."
[automate.creation.unsavedChanges]
cancel = "Cancelar"
confirm = "Voltar"
message = "Você tem alterações não salvas. Tem certeza de que deseja voltar? Todas as alterações serão perdidas."
title = "Alterações não salvas"
[automate.entryMenu]
label = "Abrir menu para {{title}}"
[automate.importModal]
cancel = "Cancelar"
confirm = "Importar"
detectedAutomation = "JSON do Automate"
detectedFolderScan = "JSON de Varredura de Pasta"
dropHint = "Solte o JSON aqui ou clique para escolher um arquivo"
dropSubhint = "Ambas as configurações de Automate e de Varredura de Pasta são aceitas"
dropzoneAriaLabel = "Solte um arquivo JSON de automação aqui"
intro = "Solte um arquivo JSON ou cole seu conteúdo abaixo. O formato (Automate ou Varredura de Pasta) é detectado automaticamente."
opCount_one = "{{count}} operation"
opCount_other = "{{count}} operations"
parseError = "Não foi possível analisar: {{message}}"
pasteLabel = "Ou cole o JSON"
pastePlaceholder = "Cole seu JSON de automação aqui…"
title = "Importar automação"
unresolved = "Não mapeado: {{ops}}"
[automate.run]
title = "Executar automação"
[automate.selection]
title = "Seleção de automação"
[automate.selection.createNew]
title = "Criar nova automação"
[automate.selection.saved]
title = "Salvos"
[automate.selection.suggested]
title = "Sugeridos"
[automate.sequence]
finish = "Concluir"
run = "Executar automação"
running = "Executando automação..."
steps_one = "{{count}} step"
steps_other = "{{count}} etapas"
unnamed = "Automação sem nome"
[automation.suggested]
emailPreparation = "Preparação para e-mail"
emailPreparationDesc = "Otimiza PDFs para distribuição por e-mail comprimindo arquivos, dividindo documentos grandes em partes de 20MB para compatibilidade com e-mail e removendo metadados para privacidade."
prePublishSanitization = "Higienização pré-publicação"
prePublishSanitizationDesc = "Fluxo de higienização que remove todos os metadados ocultos, JavaScript, arquivos incorporados, anotações e achata formulários para evitar vazamento de dados antes de publicar PDFs online."
processImages = "Processar imagens"
processImagesDesc = "Converte vários arquivos de imagem em um único documento PDF e, em seguida, aplica tecnologia de OCR para extrair texto pesquisável das imagens."
securePdfIngestion = "Ingestão segura de PDF"
securePdfIngestionDesc = "Fluxo de processamento de PDF abrangente que higieniza documentos, aplica OCR com limpeza, converte para o formato PDF/A para arquivamento de longo prazo e otimiza o tamanho do arquivo."
secureWorkflow = "Fluxo de segurança"
secureWorkflowDesc = "Protege documentos PDF removendo conteúdo potencialmente malicioso, como JavaScript e arquivos incorporados, e adiciona proteção por senha para evitar acesso não autorizado. A senha padrão é 'password'."
[autoRename]
description = "Esta ferramenta renomeará automaticamente arquivos PDF com base no conteúdo. Ela analisa o documento para encontrar o título mais adequado a partir do texto."
tags = "auto-detect,header-based,organize,relabel,auto rename,automatic rename,smart rename,rename by content,filename,file naming,detect title"
[autoSizeSplitPDF]
tags = "pdf,divisão,documento,organização"
[autoSplitPDF]
dividerDownload2 = "Baixar 'Folha Divisória Automática (com instruções).pdf'"
duplexMode = "Modo Duplex (Digitalização frente e verso)."
tags = "baseado-em-QR,separar,segmento-de-digitalização,organizar"
title = "Divisão Automática de Páginas"
[backendHealth]
checking = "Verificando status do backend..."
offline = "Backend offline"
online = "Backend online"
starting = "Backend iniciando..."
wait = "Aguarde o backend concluir a inicialização e tente novamente."
[backendStartup]
notFoundTitle = "Backend não encontrado"
retry = "Tentar novamente"
unreachable = "No momento, o aplicativo não consegue se conectar ao backend. Verifique o status do backend e a conectividade de rede e tente novamente."
[billing]
basedOnUsers = "(usuários atuais)"
currentSeats = "Assentos atuais"
manageBilling = "Gerenciar cobrança"
minimumSeats = "Mínimo de assentos"
newSeatCount = "Novo número de assentos"
newSeatCountDescription = "Selecione o número de assentos para sua licença enterprise"
notEnterprise = "Gerenciamento de assentos disponível apenas para licenças Enterprise"
preparingUpdate = "Preparando atualização de assentos..."
seatCountTooLow = "O número de assentos deve ser pelo menos {{minimum}} (número atual de usuários)"
seatCountUnchanged = "Selecione um número de assentos diferente"
seatsUpdated = "Assentos atualizados"
seatsUpdatedMessage = "Seus assentos Enterprise foram atualizados para {{seats}}"
stripePortalRedirect = "Você será redirecionado ao portal de cobrança da Stripe para revisar e confirmar a alteração de assentos. O valor proporcional será calculado automaticamente."
updateEnterpriseSeats = "Atualizar assentos Enterprise"
updateProcessing = "Processando atualização"
updateProcessingMessage = "Sua atualização de assentos está sendo processada. Atualize em alguns instantes."
updateSeats = "Atualizar assentos"
whatHappensNext = "O que acontece a seguir?"
[billing.portal]
error = "Falha ao abrir o portal de cobrança"
[bookletImposition]
paperSizeNote = "O tamanho do papel é derivado automaticamente da sua primeira página."
submit = "Criar livreto"
tags = "livreto,imposição,impressão,encadernação,dobra,assinatura"
title = "Imposição de livreto"
[bookletImposition.addBorder]
label = "Adicionar bordas ao redor das páginas"
tooltip = "Adiciona bordas ao redor de cada seção da página para ajudar no corte e alinhamento"
[bookletImposition.addGutter]
label = "Adicionar margem de lombada"
tooltip = "Adiciona espaço de margem interna para encadernação"
[bookletImposition.advanced]
toggle = "Opções avançadas"
[bookletImposition.doubleSided]
label = "Impressão frente e verso"
tooltip = "Cria frente e verso para impressão correta do livreto"
[bookletImposition.duplexPass]
first = "1ª passagem"
firstInstructions = "Imprime as frentes → empilhe com a face voltada para baixo → execute novamente com a 2ª passagem"
label = "Passagem de impressão"
second = "2ª passagem"
secondInstructions = "Carregue a pilha impressa com a face voltada para baixo → imprime os versos"
[bookletImposition.error]
failed = "Ocorreu um erro ao criar a imposição de livreto."
[bookletImposition.flipOnShortEdge]
label = "Virar na borda curta (apenas duplex automático)"
manualNote = "Não necessário no modo manual — você vira a pilha manualmente"
tooltip = "Ative para impressão duplex na borda curta (apenas duplex automático — ignorado no modo manual)"
[bookletImposition.gutterSize]
label = "Tamanho da lombada (pontos)"
[bookletImposition.manualDuplex]
instructions = "Para impressoras sem duplex automático. Você precisará executar isto duas vezes:"
title = "Modo duplex manual"
[bookletImposition.rtlBinding]
label = "Encadernação da direita para a esquerda (RTL)"
tooltip = "Para árabe, hebraico ou outros idiomas da direita para a esquerda (RTL)"
[bookletImposition.tooltip.advanced]
bullet1 = "Encadernação da direita para a esquerda: Para árabe, hebraico ou idiomas RTL"
bullet2 = "Bordas: Mostra linhas de corte para acabamento"
bullet3 = "Margem de lombada: Adiciona espaço para encadernação"
bullet4 = "Virar na borda curta: Somente para impressoras com duplex automático"
text = "Ajuste fino do seu livreto:"
title = "Opções avançadas"
[bookletImposition.tooltip.description]
text = "Cria livretos profissionais organizando as páginas na ordem correta de impressão. Suas páginas do PDF são posicionadas 2 por folha em folhas paisagem para que, quando dobradas e encadernadas, sejam lidas na sequência correta como um livro real."
title = "O que é imposição de livreto?"
[bookletImposition.tooltip.example]
bullet1 = "Folha 1 Frente: Páginas 8, 1 | Verso: Páginas 2, 7"
bullet2 = "Folha 2 Frente: Páginas 6, 3 | Verso: Páginas 4, 5"
bullet3 = "Quando dobrado e empilhado: Lê 1→2→3→4→5→6→7→8"
text = "Seu documento de 8 páginas se torna 2 folhas:"
title = "Exemplo: livreto de 8 páginas"
[bookletImposition.tooltip.header]
title = "Guia de criação de livreto"
[bookletImposition.tooltip.manualDuplex]
bullet1 = "Desative 'Impressão frente e verso'"
bullet2 = "Selecione '1ª passagem' → Imprima → Empilhe com a face para baixo"
bullet3 = "Selecione '2ª passagem' → Carregue a pilha → Imprima os versos"
bullet4 = "Dobre e monte normalmente"
text = "Para impressoras sem duplex automático:"
title = "Duplex manual (impressoras de uma face)"
[bookletImposition.tooltip.printing]
bullet1 = "Imprima frente e verso com 'Virar na borda longa'"
bullet2 = "Empilhe as folhas em ordem e dobre ao meio"
bullet3 = "Grampeie ou encaderne ao longo da lombada dobrada"
bullet4 = "Para impressoras de borda curta: habilite a opção 'Virar na borda curta'"
text = "Siga estas etapas para livretos perfeitos:"
title = "Como imprimir e montar"
[bulkSelection]
syntaxError = "Há um problema de sintaxe. Veja as dicas de Seleção de Páginas para ajuda."
[bulkSelection.advanced]
title = "Avançado"
[bulkSelection.everyNthPage]
placeholder = "Tamanho do passo"
title = "A cada N páginas"
[bulkSelection.examples]
combineSets = "Combinar conjuntos"
every3rd = "A cada 3ª"
first50 = "Primeiras 50"
last50 = "Últimas 50"
oddWithinExcluding = "Ímpares entre 1-20, excluindo 5-7"
title = "Exemplos"
[bulkSelection.firstNPages]
placeholder = "Número de páginas"
title = "Primeiras N páginas"
[bulkSelection.header]
title = "Guia de seleção de páginas"
[bulkSelection.keywords]
title = "Palavras-chave"
[bulkSelection.lastNPages]
placeholder = "Número de páginas"
title = "Últimas N páginas"
[bulkSelection.operators]
text = "AND tem precedência maior que a vírgula. NOT se aplica dentro do intervalo do documento."
title = "Operadores"
[bulkSelection.operators.and]
title = "Combinar seleções (ambas as condições devem ser verdadeiras)"
[bulkSelection.operators.descriptions]
and = "AND: & ou \"and\" - requer ambas as condições (ex.: 1-50 & even)"
comma = "Vírgula: , ou | - combinar seleções (ex.: 1-10, 20)"
not = "NOT: ! ou \"not\" - excluir páginas (ex.: 3n & not 30)"
[bulkSelection.operators.even]
title = "Selecionar todas as páginas pares (2, 4, 6, 8...)"
[bulkSelection.operators.not]
title = "Excluir da seleção"
[bulkSelection.operators.odd]
title = "Selecionar todas as páginas ímpares (1, 3, 5, 7...)"
[bulkSelection.operators.or]
title = "Adicionar à seleção (qualquer condição pode ser verdadeira)"
[bulkSelection.pageSelection]
title = "Seleção de páginas"
[bulkSelection.range]
fromPlaceholder = "De"
title = "Intervalo"
toPlaceholder = "Até"
[bulkSelection.syntax]
text = "Use números, intervalos, palavras-chave e progressões (n começa em 0). Parênteses são suportados."
title = "Noções básicas de sintaxe"
[bulkSelection.syntax.bullets]
keywords = "Palavras-chave: ímpar, par"
numbers = "Números/intervalos: 5, 10-20"
progressions = "Progressões: 3n, 4n+1"
[certificateChoice.tooltip]
header = "Tipos de certificado"
[certificateChoice.tooltip.organization]
bullet1 = "Gerenciado pelos administradores do sistema"
bullet2 = "Compartilhado entre usuários autorizados"
bullet3 = "Representa a identidade da empresa, não do indivíduo"
bullet4 = "Melhor para: Documentos oficiais, assinaturas de equipe"
description = "Um certificado compartilhado fornecido pela sua organização. Usado para autoridade de assinatura em nível da empresa."
title = "Certificado da organização"
[certificateChoice.tooltip.personal]
bullet1 = "Gerado automaticamente no primeiro uso"
bullet2 = "Vinculado à sua conta de usuário"
bullet3 = "Não pode ser compartilhado com outros usuários"
bullet4 = "Melhor para: Documentos pessoais, responsabilidade individual"
description = "Um certificado gerado automaticamente, exclusivo para sua conta de usuário. Adequado para assinaturas individuais."
title = "Certificado pessoal"
[certificateChoice.tooltip.upload]
bullet1 = "Requer arquivo P12/PFX e senha"
bullet2 = "Pode ser emitido por Autoridades Certificadoras externas"
bullet3 = "Maior nível de confiança para documentos legais"
bullet4 = "Melhor para: Contratos legalmente vinculantes, validação externa"
description = "Use seu próprio certificado PKCS#12. Fornece controle total sobre as propriedades do certificado."
title = "Enviar P12 personalizado"
[certSign]
awaitingSignatures = "Aguardando assinaturas"
chooseCertificate = "Escolher arquivo de certificado"
chooseJksFile = "Escolher arquivo JKS"
chooseP12File = "Escolher arquivo PKCS12"
choosePfxFile = "Escolher arquivo PFX"
choosePrivateKey = "Escolher arquivo de chave privada"
declined = "Recusado"
fetchFailed = "Falha ao carregar dados de assinatura"
finalized = "Finalizado"
location = "Local"
logoTitle = "Logo"
name = "Nome"
noLogo = "Sem logo"
pageNumber = "Número da página"
password = "Senha do certificado"
passwordOptional = "Deixe em branco se não houver senha"
pemCertificateLabel = "Certificado (.pem / .crt)"
pemPrivateKeyLabel = "Chave privada (.pem / .key)"
pending = "Pendente"
readyToFinalize = "Pronto para finalizar"
reason = "Motivo"
serverCertMessage = "Usando certificado do servidor - sem arquivos ou senha necessários"
showLogo = "Mostrar logo"
signatureProgress = "{{signedCount}}/{{totalCount}} assinaturas"
signed = "Assinado"
tags = "autenticar,PEM,P12,oficial,criptografar"
title = "Assinatura com Certificado"
viewed = "Visualizado"
[certSign.appearance]
invisible = "Invisível"
stepTitle = "Aparência da assinatura"
visibility = "Visibilidade"
visible = "Visível"
[certSign.appearance.options]
title = "Detalhes da assinatura"
[certSign.appearance.tooltip.header]
title = "Sobre a aparência da assinatura"
[certSign.appearance.tooltip.invisible]
bullet1 = "Fornece segurança sem alterações visuais"
bullet2 = "Atende aos requisitos legais para assinatura digital"
bullet3 = "Não afeta o layout ou design do documento"
text = "A assinatura é adicionada ao PDF para segurança, mas não ficará visível ao visualizar o documento. Perfeita para requisitos legais sem alterar a aparência do documento."
title = "Assinaturas invisíveis"
[certSign.appearance.tooltip.visible]
bullet1 = "Mostra o nome e a data do signatário no documento"
bullet2 = "Pode incluir o motivo e o local da assinatura"
bullet3 = "Escolha em qual página posicionar a assinatura"
bullet4 = "Logo opcional pode ser incluído"
text = "Exibe um bloco de assinatura no PDF com seu nome, data e detalhes opcionais. Útil quando você quer que os leitores vejam claramente que o documento está assinado."
title = "Assinaturas visíveis"
[certSign.certFiles]
stepTitle = "Arquivos de certificado"
[certSign.certType.tooltip.convert]
text = "Converta seu arquivo para um keystore Java (.jks) com o keytool e, em seguida, escolha JKS."
title = "Chave não listada?"
[certSign.certType.tooltip.header]
title = "Sobre os tipos de certificado"
[certSign.certType.tooltip.what]
text = "É uma identificação segura da sua assinatura que comprova que você assinou. A menos que seja exigido assinar por certificado, recomendamos usar outro método seguro como Digitar, Desenhar ou Enviar."
title = "O que é um certificado?"
[certSign.certType.tooltip.which]
bullet1 = "PKCS#12 (.p12 / .pfx) um arquivo combinado (mais comum)"
bullet2 = "PFX (.pfx) versão da Microsoft do PKCS12"
bullet3 = "PEM arquivos .pem separados de chave privada e certificado"
bullet4 = "JKS keystore .jks Java para fluxos de trabalho de dev / CI-CD"
text = "Escolha o formato que corresponde ao seu arquivo de certificado:"
title = "Qual opção devo usar?"
[certSign.certTypeStep]
stepTitle = "Formato do certificado"
[certSign.collab.addParticipants]
add_one = "Add {{count}} Participant"
add_other = "Add {{count}} Participants"
reasonHelp = "Predefina um motivo de assinatura para estes participantes (opcional; eles podem alterar ao assinar)"
reasonPlaceholder = "ex.: Aprovação, Revisão..."
[certSign.collab.finalize]
button = "Finalizar e carregar PDF assinado"
early = "Finalizar com as assinaturas atuais"
[certSign.collab.participant]
certInvalid = "✗ {{error}}"
certInvalidFallback = "Certificado inválido"
certNetworkError = "Não foi possível validar o certificado"
certValid = "✓ Certificado válido"
certValidating = "Validando certificado..."
certValidUntil = " até {{date}}"
[certSign.collab.sessionCreation]
includeSummaryPage = "Incluir página de resumo de assinaturas"
includeSummaryPageHelp = "Uma página de resumo será adicionada ao final com todos os metadados de assinatura. As caixas de assinatura do certificado digital nas páginas individuais serão suprimidas (assinaturas manuscritas não são afetadas)."
[certSign.collab.sessionDetail]
addParticipants = "Adicionar participantes"
addParticipantsError = "Falha ao adicionar participantes"
backToList = "Voltar para sessões"
deleteConfirm = "Tem certeza? Isso não pode ser desfeito."
deleteError = "Falha ao excluir sessão"
deleteSession = "Excluir sessão"
dueDate = "Data de vencimento"
finalizeError = "Falha ao finalizar sessão"
loadPdfError = "Falha ao carregar o PDF assinado"
loadSignedPdf = "Carregar PDF assinado em arquivos ativos"
messageLabel = "Mensagem"
owner = "Proprietário"
participantRemoved = "Participante removido"
participants = "Participantes"
participantsAdded = "Participantes adicionados com sucesso"
removeParticipant = "Remover"
removeParticipantError = "Falha ao remover participante"
selectUsers = "Selecionar usuários..."
sessionInfo = "Informações da sessão"
[certSign.collab.sessionList]
active = "Ativa"
finalized = "Finalizada"
[certSign.collab.signatureSettings]
description = "Configurar como as assinaturas aparecerão para todos os participantes"
title = "Aparência da assinatura"
[certSign.collab.signRequest]
addedToFiles = "Documento adicionado aos arquivos ativos"
addToFiles = "Adicionar aos arquivos ativos"
advancedSettings = "Configurações avançadas"
backToList = "Voltar para solicitações de assinatura"
certificateChoice = "Selecione um certificado para assinar"
changeSignature = "Alterar assinatura"
clearSignature = "Limpar assinatura"
completeAndSign = "Concluir e assinar"
createNewSignature = "Criar nova assinatura"
decline = "Recusar solicitação"
declineButton = "Recusar"
deleteSelected = "Excluir assinatura selecionada"
drawSignature = "Desenhe sua assinatura abaixo"
fileTooLarge = "O tamanho do arquivo deve ser menor que 5MB"
fontFamily = "Família da fonte"
fontSize = "Tamanho da fonte: {{size}}px"
fontSizePlaceholder = "Tamanho"
from = "De"
invalidFileType = "Selecione um arquivo de imagem"
location = "Localização (opcional)"
locationPlaceholder = "De onde você está assinando?"
noCertificate = "Selecione um arquivo de certificado"
noSignatures = "Coloque ao menos uma assinatura no PDF"
p12File = "Arquivo de certificado P12/PFX"
password = "Senha do certificado"
penColor = "Cor da caneta"
penSize = "Tamanho da caneta: {{size}}px"
reason = "Motivo (opcional)"
reasonPlaceholder = "Por que você está assinando?"
removeImage = "Remover imagem"
savedSignatures = "Assinaturas salvas"
selectFile = "Selecionar arquivo de imagem"
selectSignatureTitle = "Selecionar ou criar assinatura"
signatureInfo = "Essas configurações são definidas pelo proprietário do documento"
signatureSettings = "Configurações de assinatura"
signatureText = "Texto da assinatura"
signatureTextPlaceholder = "Digite seu nome..."
signatureTypeLabel = "Tipo de assinatura"
signButton = "Assinar documento"
signingTitle = "Assinatura"
textColor = "Cor do texto"
typeSignature = "Digite seu nome para criar uma assinatura"
uploadCert = "Certificado personalizado"
uploadCertDesc = "Use seu próprio certificado P12/PFX"
uploadSignature = "Enviar imagem da sua assinatura"
usePersonalCert = "Certificado pessoal"
usePersonalCertDesc = "Gerado automaticamente para sua conta"
useServerCert = "Certificado da organização"
useServerCertDesc = "Certificado compartilhado da organização"
useSignature = "Usar assinatura"
[certSign.collab.signRequest.certModal]
certInvalid = "Certificado inválido: {{error}}"
certInvalidFallback = "Certificado inválido"
certNetworkError = "Não foi possível validar o certificado"
certValidating = "Validando certificado..."
certValidUntil = "Certificado válido até {{date}}"
description_one = "You have placed {{count}} signature. Choose your certificate to complete signing."
description_other = "You have placed {{count}} signatures. Choose your certificate to complete signing."
sign = "Assinar documento"
title = "Configurar certificado"
[certSign.collab.signRequest.mode]
move = "Mover assinatura"
place = "Colocar assinatura"
title = "Modo de assinar ou mover"
[certSign.collab.signRequest.modeTabs]
draw = "Desenhar"
image = "Enviar"
text = "Digitar"
[certSign.collab.signRequest.preview]
create = "Adicionar assinatura"
imageAlt = "Assinatura selecionada"
textFallback = "Assinatura"
[certSign.collab.signRequest.saved]
defaultCanvasLabel = "Assinatura desenhada"
defaultImageLabel = "Assinatura enviada"
defaultLabel = "Assinatura"
defaultTextLabel = "Assinatura digitada"
delete = "Excluir assinatura"
none = "Nenhuma assinatura salva"
[certSign.collab.signRequest.signatureType]
draw = "Desenhar"
type = "Digitar"
upload = "Enviar"
[certSign.collab.signRequest.steps]
back = "Voltar"
cancelPlacement = "Cancelar posicionamento"
certificate = "Certificado"
clickMultipleTimes = "Clique várias vezes no PDF para posicionar assinaturas. Arraste qualquer assinatura para mover ou redimensionar."
clickToPlace = "Clique no PDF onde você deseja que sua assinatura apareça."
continue = "Continuar para seleção de certificado"
continueToPlacement = "Continuar para posicionamento"
continueToReview = "Continuar para revisão"
createSignature = "Criar assinatura"
invisible = "Invisível"
location = "Localização:"
multipleSignatures = "{{count}} assinaturas serão aplicadas ao PDF"
oneSignature = "1 assinatura será aplicada ao PDF"
placeOnPdf = "Colocar no PDF"
reason = "Motivo:"
reviewTitle = "Revisar antes de assinar"
signaturePlaced = "Assinatura colocada na página {{page}}. Você pode ajustar a posição clicando novamente ou continuar para a revisão."
visibility = "Visibilidade:"
visible = "Visível"
yourSignatures = "Suas assinaturas ({{count}})"
[certSign.collab.userSelector]
inviteUsers = "Adicionar usuários"
loadError = "Falha ao carregar usuários"
noTeam = "Sem equipe"
noUsers = "Nenhum outro usuário encontrado."
placeholder = "Selecionar usuários..."
[certSign.device]
stepTitle = "Este dispositivo"
[certSign.error]
failed = "Ocorreu um erro ao processar as assinaturas."
[certSign.format]
pkcs11 = "Token USB"
windowsStore = "Repositório de certificados do Windows"
[certSign.hardware]
certificate = "Certificado"
customLibrary = "Caminho de driver personalizado…"
driver = "Driver PKCS#11"
driverPath = "Caminho da biblioteca do driver"
driverPathPlaceholder = "Caminho completo para seu driver PKCS#11 (.dll, .so ou .dylib)"
expired = "expirado"
expires = "expira"
listCerts = "Listar certificados"
loading = "Lendo certificados…"
noCerts = "Nenhum certificado de assinatura encontrado"
noDriver = "Nenhum driver PKCS#11 foi detectado. Instale o driver do seu token (ex.: OpenSC), depois reabra isto - ou informe manualmente o caminho do driver abaixo."
notYetValid = "ainda não válido"
pin = "PIN do token"
pkcs11Hint = "Selecione o driver PKCS#11 do seu token, digite o PIN e, em seguida, liste os certificados no token."
pkcs11LoadError = "Não foi possível ler certificados do token. Verifique o PIN e o driver."
refresh = "Atualizar"
selectCert = "Selecionar certificado"
selectDriver = "Selecionar driver"
slot = "Slot (opcional)"
windowsHint = "Escolha um certificado do repositório de certificados do Windows. A assinatura usa a chave no seu cartão/token - o Windows solicitará o PIN."
windowsLoadError = "Não foi possível ler o repositório de certificados do Windows"
[certSign.sessions]
deleted = "Sessão excluída"
fetchFailed = "Falha ao carregar detalhes da sessão"
finalized = "Sessão finalizada"
loaded = "PDF assinado carregado"
pdfNotReady = "PDF não está pronto"
pdfNotReadyDesc = "O PDF assinado está sendo gerado. Tente novamente em instantes."
[certSign.sign]
results = "PDF assinado"
submit = "Assinar PDF"
[certSign.signMode.tooltip.auto]
text = "Assina com um certificado de servidor <b>autoassinado</b>. Mesmo <b>selo à prova de adulteração</b> e <b>trilha de auditoria</b>; normalmente exibe <b>Não verificado</b> nos visualizadores."
title = "Automático — Selagem instantânea sem configuração"
use = "Use quando: você precisa de rapidez e identidade interna consistente em revisões e registros."
[certSign.signMode.tooltip.header]
title = "Sobre assinaturas de PDF"
[certSign.signMode.tooltip.manual]
text = "Use seus próprios arquivos de certificado para uma identidade alinhada à marca. Pode exibir <b>Confiável</b> quando sua AC/cadeia for reconhecida."
title = "Manual — Traga seu certificado"
use = "Use para: voltado ao cliente, jurídico, conformidade."
[certSign.signMode.tooltip.overview]
text = "Ambos os modos selam o documento (quaisquer edições são sinalizadas como adulteração) e registram quem/quando/como para auditoria. A confiabilidade no visualizador depende da cadeia de certificação."
title = "Como funcionam as assinaturas"
[certSign.signMode.tooltip.rule]
text = "Precisa do status <b>Confiável</b> no destinatário? <b>Manual</b>. Precisa de selagem rápida, à prova de adulteração e trilha de auditoria sem configuração? <b>Automático</b>."
title = "Regra prática"
[certSign.source]
device = "Este dispositivo"
noOtherSources = "Nenhuma outra fonte de certificado está disponível."
server = "Servidor"
stepTitle = "Origem do certificado"
upload = "Enviar"
[certSign.tooltip.header]
title = "Sobre o gerenciamento de assinaturas"
[certSign.tooltip.overview]
bullet1 = "Verifique as assinaturas existentes e sua validade"
bullet2 = "Veja informações detalhadas sobre signatários e certificados"
bullet3 = "Adicione novas assinaturas digitais para proteger seus documentos"
bullet4 = "Vários arquivos suportados com navegação fácil"
text = "Esta ferramenta permite verificar se seus PDFs estão assinados digitalmente e adicionar novas assinaturas digitais. Assinaturas digitais provam quem criou ou aprovou um documento e mostram se ele foi alterado desde a assinatura."
title = "O que esta ferramenta pode fazer?"
[certSign.tooltip.signing]
bullet1 = "Suporta formatos de certificado PEM, PKCS12, JKS e de servidor"
bullet2 = "Opção para mostrar ou ocultar a assinatura no PDF"
bullet3 = "Adicione motivo, local e nome do signatário"
bullet4 = "Escolha em qual página colocar assinaturas visíveis"
bullet5 = "Use certificado do servidor para a opção simples 'Assinar com Stirling-PDF'"
text = "Para assinar um PDF, você precisa de um certificado digital (como PEM, PKCS12 ou JKS). Você pode optar por deixar a assinatura visível no documento ou mantê-la invisível apenas para segurança."
title = "Adicionando assinaturas"
[certSign.tooltip.validation]
bullet1 = "Mostra se as assinaturas são válidas ou inválidas"
bullet2 = "Exibe informações do signatário e data da assinatura"
bullet3 = "Verifica se o documento foi modificado após a assinatura"
bullet4 = "Pode usar certificados personalizados para verificação"
text = "Ao verificar as assinaturas, a ferramenta informa se são válidas, quem assinou o documento, quando foi assinado e se o documento foi alterado desde a assinatura."
title = "Verificando assinaturas"
[changeCreds]
changeUsername = "Atualize seu nome de usuário. Você será desconectado após a atualização."
credsUpdated = "Conta atualizada"
description = "Alterações salvas. Faça login novamente."
error = "Não foi possível atualizar o nome de usuário. Verifique sua senha e tente novamente."
header = "Atualizar Detalhes da Conta"
newUsername = "Novo Usuário"
oldPassword = "Senha Atual"
ssoManaged = "Sua conta é gerenciada pelo seu provedor de identidade."
title = "Alterar Credenciais"
[changeMetadata]
filenamePrefix = "metadados"
submit = "Alterar"
tags = "edit,modify,update,metadata,properties,document properties,author,title,subject,keywords,creator,producer,info,document info,file properties"
[changeMetadata.advanced]
title = "Opções avançadas"
[changeMetadata.author]
label = "Autor"
placeholder = "Autor do documento"
[changeMetadata.creationDate]
label = "Data de criação"
placeholder = "Data de criação"
[changeMetadata.creator]
label = "Criador"
placeholder = "Criador do documento"
[changeMetadata.customFields]
add = "Adicionar campo"
description = "Adicione campos de metadados personalizados ao documento"
key = "Chave"
keyPlaceholder = "Chave personalizada"
remove = "Remover"
title = "Metadados personalizados"
value = "Valor"
valuePlaceholder = "Valor personalizado"
[changeMetadata.dates]
title = "Campos de data"
[changeMetadata.deleteAll]
checkbox = "Excluir todos os metadados"
label = "Remover metadados existentes"
[changeMetadata.error]
failed = "Ocorreu um erro ao alterar os metadados do PDF."
[changeMetadata.keywords]
label = "Palavras-chave"
placeholder = "Palavras-chave do documento"
[changeMetadata.modificationDate]
label = "Data de modificação"
placeholder = "Data de modificação"
[changeMetadata.producer]
label = "Produtor"
placeholder = "Produtor do documento"
[changeMetadata.results]
title = "PDFs atualizados"
[changeMetadata.standardFields]
title = "Campos padrão"
[changeMetadata.subject]
label = "Assunto"
placeholder = "Assunto do documento"
[changeMetadata.title]
label = "Título"
placeholder = "Título do documento"
[changeMetadata.tooltip.advanced]
title = "Opções avançadas"
[changeMetadata.tooltip.advanced.trapped]
bullet1 = "Verdadeiro: o documento foi preparado (trapping) para impressão"
bullet2 = "Falso: o documento não foi preparado (trapping)"
bullet3 = "Desconhecido: o status de trapping não está especificado"
description = "Indica se o documento está preparado para impressão de alta qualidade."
title = "Status de trapping"
[changeMetadata.tooltip.customFields]
bullet1 = "Adicione quaisquer campos personalizados relevantes ao seu documento"
bullet2 = "Exemplos: Departamento, Projeto, Versão, Status"
bullet3 = "Chave e valor são obrigatórios para cada entrada"
text = "Adicione seus próprios pares de metadados chave-valor."
title = "Metadados personalizados"
[changeMetadata.tooltip.dates]
bullet1 = "Data de criação: quando o documento original foi criado"
bullet2 = "Data de modificação: quando foi alterado pela última vez"
text = "Quando o documento foi criado e modificado."
title = "Campos de data"
[changeMetadata.tooltip.deleteAll]
text = "Exclusão completa de metadados para garantir privacidade."
title = "Remover metadados existentes"
[changeMetadata.tooltip.standardFields]
bullet1 = "Título: nome ou título do documento"
bullet2 = "Autor: pessoa que criou o documento"
bullet3 = "Assunto: breve descrição do conteúdo"
bullet4 = "Palavras-chave: termos de pesquisa do documento"
bullet5 = "Criador/Produtor: software usado para criar o PDF"
text = "Campos comuns de metadados de PDF que descrevem o documento."
title = "Campos padrão"
[changeMetadata.trapped]
false = "Falso"
label = "Status de trapping"
true = "Verdadeiro"
unknown = "Desconhecido"
[changePermissions]
desc = "Altere as restrições e permissões do documento."
submit = "Alterar Permissões"
tags = "permissions,restrictions,rights,access control,allow,deny,printing,copying,editing,modify permissions,security settings,user rights"
title = "Alterar Permissões"
[changePermissions.error]
failed = "Ocorreu um erro ao alterar as permissões do PDF."
[changePermissions.permissions.preventAssembly]
label = "Impedir montagem do documento."
[changePermissions.permissions.preventExtractContent]
label = "Impedir extração de conteúdo."
[changePermissions.permissions.preventExtractForAccessibility]
label = "Impedir extração para acessibilidade."
[changePermissions.permissions.preventFillInForm]
label = "Impedir preenchimento de formulário."
[changePermissions.permissions.preventModify]
label = "Impedir modificações."
[changePermissions.permissions.preventModifyAnnotations]
label = "Impedir modificação de anotações."
[changePermissions.permissions.preventPrinting]
label = "Impedir impressão."
[changePermissions.permissions.preventPrintingFaithful]
label = "Impedir impressão de formatos diferentes."
[changePermissions.results]
title = "PDFs modificados"
[changePermissions.tooltip.description]
text = "Altera as permissões do documento, permitindo/bloqueando o acesso a diferentes recursos nos leitores de PDF."
[changePermissions.tooltip.header]
title = "Alterar Permissões"
[changePermissions.tooltip.warning]
text = "Para tornar essas permissões imutáveis, use a ferramenta Adicionar senha para definir uma senha de proprietário."
[chat.actions]
copy = "Copiar mensagem"
[chat.fab]
close = "Close chat"
open = "Open Stirling AI assistant"
[chat.header]
agentMenu = "Opções do agente Stirling"
clearChat = "Limpar chat"
[chat.input]
disclaimer = "AI can make mistakes. Be sure to verify the output before sharing."
placeholder = "O que você quer fazer?"
send = "Enviar mensagem"
[chat.progress]
analyzing = "Analisando sua solicitação..."
calling_engine = "A IA está pensando..."
executing_tool_generic = "Executando a ferramenta..."
executing_tool_generic_step = "Executando a ferramenta (etapa {{step}} de {{total}})..."
executing_tool_single = "Executando {{tool}}..."
executing_tool_step = "Executando {{tool}} (etapa {{step}} de {{total}})..."
extracting_content = "Extraindo conteúdo dos seus documentos..."
processing = "Processando o conteúdo extraído..."
ranForMinutes_one = "Ran for 1 minute"
ranForMinutes_other = "Ran for {{count}} minutes"
ranForMinutesSeconds = "Ran for {{minutes}} min, {{seconds}} sec"
ranForSeconds_one = "Ran for 1 second"
ranForSeconds_other = "Ran for {{count}} seconds"
thinking = "Pensando..."
whole_doc_compression_round = "Consolidando notas..."
whole_doc_read_done = "Leitura do documento concluída..."
whole_doc_read_started = "Lendo o documento..."
whole_doc_slice_done = "Lendo o documento... ({{percent}}% concluído)"
[chat.quickActions]
browseYourFiles = "Navegar pelos seus arquivos"
compressMany = "Compactar estes documentos"
compressOne = "Compactar este documento"
convertMany = "Converter estes documentos para PDF"
convertOne = "Converter este documento para PDF"
heading = "Começar"
mergeMany = "Mesclar estes {{count}} documentos em 1"
moreFiles = "+{{count}} mais"
openFromComputer = "Abrir do computador"
removeFile = "Remover {{name}}"
splitOne = "Dividir este documento"
[chat.responses]
cannot_continue = "Algo deu errado e não posso continuar."
cannot_do = "Não consigo fazer isso."
done = "Concluído."
need_clarification = "Você poderia esclarecer sua solicitação?"
not_found = "Não consegui encontrar as informações solicitadas."
processing = "Processando ({{outcome}})..."
unsupported_capability = "Recurso não compatível: {{capability}}"
usage_limit_reached = "You've reached your usage limit. Check your plan options to keep going."
[chat.toolsUsed]
summary_one = "Executou 1 ferramenta"
summary_other = "Executou {{count}} ferramentas"
unknownTool = "Ferramenta desconhecida"
[cloudBadge]
tooltip = "Esta operação usará seus créditos de nuvem"
[color.eyeDropper]
tooltip = "Selecionar cor da tela"
[colorPicker]
title = "Escolha a cor"
[common]
back = "Voltar"
cancel = "Cancelar"
close = "Fechar"
collapse = "Recolher"
confirm = "Confirmar"
continue = "Continuar"
copied = "Copiado!"
copy = "Copiar"
done = "Concluído"
error = "Erro"
expand = "Expandir"
loading = "Carregando..."
next = "Próximo"
preview = "Pré-visualização"
previous = "Anterior"
refresh = "Atualizar"
retry = "Tentar novamente"
save = "Salvar"
[compare]
clearSelected = "Limpar selecionados"
clearSlot = "Remover arquivo"
cta = "Comparar"
loading = "Comparando..."
newLine = "nova linha"
pages = "Páginas"
tags = "diferenciar,contraste,mudanças,análise"
title = "Comparar"
[compare.actions]
linkScroll = "Vincular rolagem"
placeSideBySide = "Colocar lado a lado"
resetView = "Redefinir visualização"
stackVertically = "Empilhar verticalmente"
unlinkScroll = "Desvincular rolagem"
zoomIn = "Ampliar"
zoomOut = "Reduzir"
[compare.clear]
confirm = "Limpar e retornar"
confirmBody = "Isso fechará a comparação atual e levará você de volta a Arquivos ativos."
confirmTitle = "Limpar PDFs selecionados?"
[compare.dropdown]
additions = "Adições ({{count}})"
additionsLabel = "Adições"
deletions = "Exclusões ({{count}})"
deletionsLabel = "Exclusões"
noResults = "Nenhuma alteração encontrada"
searchPlaceholder = "Pesquisar alterações..."
[compare.earlyDissimilarity]
body = "Estamos vendo pouquíssimas semelhanças até agora. Você pode parar a comparação se não forem documentos relacionados."
stopButton = "Parar comparação"
title = "Esses PDFs parecem muito diferentes"
[compare.edited]
label = "PDF editado"
placeholder = "Select the edited PDF"
selectBaseFirst = "Selecione primeiro o PDF original"
[compare.error]
filesMissing = "Não foi possível localizar os arquivos selecionados. Selecione-os novamente."
generic = "Não foi possível comparar esses arquivos."
selectRequired = "Selecione um documento original e um editado."
title = "A comparação falhou"
[compare.large.file]
message = "Um ou ambos os documentos fornecidos são muito grandes para processar."
[compare.longJob]
body = "Esses PDFs juntos excedem 2.000 páginas. O processamento pode levar vários minutos."
title = "Comparação grande em andamento"
[compare.no.text]
message = "Um ou ambos os PDFs selecionados não possuem conteúdo de texto. Por favor, escolha PDFs com texto para comparação."
[compare.original]
label = "PDF original"
placeholder = "Select the original PDF"
[compare.pixel]
base = "Original"
changed = "alterado"
comparison = "Editado"
diff = "Diferenças"
diffOnly = "Apenas diferenças"
missingInBase = "Ausente no original"
missingInComparison = "Ausente no editado"
overall = "geral"
overlay = "Sobreposição"
pageLabel = "Página"
pagesChanged = "páginas alteradas"
sideBySide = "Lado a lado"
sizeMismatch = "Incompatibilidade de tamanho"
summaryTitle = "Comparação por pixel"
[compare.pixel.errors]
canvasContextUnavailable = "Não foi possível obter o contexto 2D do canvas para a comparação por pixel."
[compare.pixel.warnings]
noPages = "Um ou ambos os documentos não têm páginas."
pageCountMismatch = "Quantidade de páginas diferente: o original tem {{base}} página(s), o editado tem {{comparison}}. Páginas extras são exibidas em apenas um dos lados e marcadas como totalmente removidas/adicionadas."
[compare.rendering]
complete = "Renderização de páginas concluída"
inProgress = "Pelo menos um desses PDFs é muito grande; a rolagem não será suave até a conclusão da renderização"
pageNotReadyBody = "Algumas páginas ainda estão renderizando. A navegação ajustará automaticamente quando estiverem prontas."
pageNotReadyTitle = "Página ainda não renderizada"
pagesRendered = "páginas renderizadas"
rendering = "renderizando"
[compare.review]
title = "Resultado da comparação"
[compare.selection]
originalEditedTitle = "Selecione os PDFs Original e Editado"
[compare.status]
complete = "Comparação pronta"
error = "A comparação falhou"
extracting = "Extraindo texto..."
processing = "Analisando diferenças..."
[compare.summary]
baseHeading = "Documento original"
comparisonHeading = "Documento editado"
pageLabel = "Página"
[compare.swap]
confirm = "Trocar e executar novamente"
confirmBody = "Isso executará a ferramenta novamente. Tem certeza de que deseja trocar a ordem de Original e Editado?"
confirmTitle = "Executar a comparação novamente?"
label = "Trocar"
[compare.toasts]
unlinkedBody = "Dica: As setas para cima/baixo rolam ambos os painéis; a panorâmica move apenas o painel ativo."
unlinkedTitle = "Rolagem e panorâmica independentes ativadas"
[compare.too.dissimilar]
message = "Esses documentos parecem muito diferentes. A comparação foi interrompida para economizar tempo."
[compress]
desc = "Comprimir PDFs para reduzir o tamanho do arquivo."
submit = "Comprimir"
tags = "shrink,reduce,optimize,compress,smaller,downsize,file size,reduce size,minimize,make smaller,decrease size,optimize size"
title = "Comprimir"
[compress.compressionLevel]
range1to3 = "Valores menores preservam a qualidade, mas resultam em arquivos maiores"
range4to6 = "Compressão média com redução moderada de qualidade"
range7to9 = "Valores mais altos reduzem significativamente o tamanho do arquivo, mas podem reduzir a clareza das imagens"
[compress.error]
failed = "Ocorreu um erro ao comprimir o PDF."
[compress.grayscale]
label = "Aplicar escala de cinza para compressão"
[compress.linearize]
label = "Linearizar PDF para visualização rápida na web"
[compress.lineArt]
description = "Usa ImageMagick para reduzir as páginas a preto e branco de alto contraste para máxima redução de tamanho."
detailLevel = "Nível de detalhe"
edgeEmphasis = "Ênfase nas bordas"
edgeHigh = "Forte"
edgeLow = "Suave"
edgeMedium = "Equilibrado"
label = "Converter imagens em traço"
unavailable = "ImageMagick não está instalado ou habilitado neste servidor"
[compress.method]
filesize = "Tamanho do Arquivo"
quality = "Qualidade"
title = "Método de compressão"
[compress.settings]
desiredSize = "Tamanho de arquivo desejado"
desiredSizePlaceholder = "Insira o tamanho"
[compress.tooltip.description]
text = "A compressão é uma forma fácil de reduzir o tamanho do arquivo. Escolha Tamanho do arquivo para informar um tamanho alvo e deixarmos a qualidade ajustada para você. Escolha Qualidade para definir manualmente a intensidade da compressão."
title = "Descrição"
[compress.tooltip.grayscale]
text = "Selecione esta opção para converter todas as imagens para preto e branco, o que pode reduzir significativamente o tamanho do arquivo, especialmente para PDFs digitalizados ou documentos com muitas imagens."
title = "Tons de cinza"
[compress.tooltip.header]
title = "Visão geral das configurações de compressão"
[compress.tooltip.lineArt]
text = "Converta páginas para preto e branco de alto contraste usando ImageMagick. Use o nível de detalhe para controlar quanto conteúdo fica preto e a ênfase nas bordas para controlar quão agressiva é a detecção das bordas."
title = "Traço"
[compress.tooltip.qualityAdjustment]
bullet1 = "Valores menores preservam a qualidade"
bullet2 = "Valores maiores reduzem o tamanho do arquivo"
text = "Arraste o controle deslizante para ajustar a intensidade da compressão. Valores menores (13) preservam a qualidade, mas resultam em arquivos maiores. Valores maiores (79) reduzem mais o arquivo, porém diminuem a clareza das imagens."
title = "Ajuste de qualidade"
[compressPdfs]
tags = "compactar,pequeno,mínimo"
[config]
plan = "Plano"
team = "Team"
[config.account.overview]
confirmDelete = "Excluir minha conta"
deleteAccount = "Excluir conta"
deleteAccountTitle = "Excluir conta"
deleteFailed = "Falha ao excluir a conta."
deleteFailedTitle = "Não foi possível excluir a conta"
deleteWarning = "Esta ação é permanente e não pode ser desfeita. Todos os seus dados serão excluídos."
enterEmailConfirm = "Para confirmar a exclusão, digite seu endereço de e-mail ({{email}}) abaixo:"
guestDescription = "Você entrou como convidado. Considere atualizar sua conta acima."
label = "Visão geral"
manageAccountPreferences = "Gerencie as preferências da sua conta"
signedInAs = "Conectado como"
title = "Configurações da conta"
[config.account.profilePicture]
description = "Envie uma imagem para personalizar sua conta."
help = "PNG, JPG ou WebP de até 2 MB."
remove = "Remover"
sizeError = "Selecione uma imagem menor que 2 MB."
switchedToCustom = "Alterado para imagem personalizada. Agora você pode enviar a sua."
title = "Foto do perfil"
upload = "Enviar"
useCustom = "Usar imagem personalizada"
usingProvider = "Usando a foto do perfil do {{provider}}"
[config.account.profilePicture.cropper]
cropError = "Falha ao cortar a imagem. Tente novamente."
invalidImage = "Arquivo de imagem inválido. Selecione um arquivo PNG, JPG ou WebP válido."
processing = "Processando corte..."
save = "Salvar imagem recortada"
sizeErrorAfterCrop = "A imagem recortada é muito grande. Reduza o zoom ou recorte uma área menor."
title = "Recortar foto do perfil"
zoom = "Zoom"
[config.account.security]
changePassword = "Alterar senha"
description = "Gerencie sua senha e as configurações de segurança."
title = "Senhas e segurança"
update = "Atualizar senha"
[config.account.upgrade]
description = "Vincule sua conta para preservar seu histórico e acessar mais recursos!"
email = "E-mail"
emailPassword = "ou insira seu e-mail e senha"
emailPlaceholder = "Insira seu e-mail"
linkWith = "Vincular com"
password = "Senha (opcional)"
passwordNote = "Deixe em branco para usar apenas verificação por e-mail"
passwordPlaceholder = "Defina uma senha"
socialLogin = "Atualizar com conta social"
title = "Atualizar conta de convidado"
upgradeButton = "Atualizar conta"
[config.apiKeys]
copyKeyAriaLabel = "Copiar chave de API"
description = "Sua chave de API para acessar a suíte de ferramentas de PDF do Stirling. Copie-a para seu projeto ou atualize para gerar uma nova."
docsDescription = "Saiba mais sobre a integração com o Stirling PDF:"
docsLink = "Documentação da API"
docsTitle = "Documentação da API"
generateError = "Não conseguimos gerar sua chave de API."
goToAccount = "Ir para a conta"
guestInfo = "Usuários convidados não recebem chaves de API. Crie uma conta para obter uma chave de API que você possa usar em suas aplicações."
intro = "Use sua chave de API para acessar programaticamente os recursos de processamento do Stirling PDF."
label = "Chave de API"
publicKeyAriaLabel = "Chave pública de API"
refreshAriaLabel = "Atualizar chave de API"
schemaLink = "Referência do esquema da API"
usage = "Inclua esta chave no cabeçalho X-API-KEY em todas as solicitações de API."
[config.apiKeys.alert]
apiKeyErrorTitle = "Erro de chave de API"
apiKeyRefreshed = "Chave de API atualizada"
apiKeyRefreshedBody = "Sua chave de API foi atualizada com sucesso."
failedToCreateApiKey = "Falha ao criar chave de API."
failedToFetchApiKey = "Falha ao buscar a chave de API."
failedToRefreshApiKey = "Falha ao atualizar a chave de API."
failedToRetrieveApiKey = "Falha ao recuperar a chave de API da resposta."
[config.apiKeys.refreshModal]
confirmCta = "Atualizar chaves"
confirmPrompt = "Tem certeza de que deseja continuar?"
impact = "Quaisquer aplicativos ou serviços que estejam usando essas chaves deixarão de funcionar até que você os atualize com as novas chaves."
title = "Atualizar chaves de API"
warning = "⚠️ Aviso: Esta ação gerará novas chaves de API e tornará suas chaves anteriores inválidas."
[config.mcp]
description = "Model Context Protocol (MCP) lets AI assistants like Claude use your Stirling PDF tools directly. Connect a client once and your assistant can convert, edit, secure and process documents on your behalf."
guestInfo = "Guest users can't connect MCP clients. Create an account to use the MCP server and let your AI assistant run Stirling PDF tools on your behalf."
navLabel = "MCP Server"
tip = "Every action your assistant runs is performed as your account and counts towards your usage, just like using Stirling PDF directly."
title = "MCP Server"
viewApiKeys = "View API keys"
[config.mcp.copy]
configLabel = "Config"
copied = "Copied"
copy = "Copy"
endpointLabel = "Endpoint URL"
tooltip = "Copy {{label}}"
tooltipCopied = "{{label}} copied"
[config.mcp.endpoint]
label = "Your MCP endpoint"
[config.mcp.setup]
addTo = "Add to"
hint = "Pick your client, paste the snippet into the file shown, then restart it. You'll sign in with your Stirling account on first use - no keys to copy."
title = "Connect your AI assistant"
[config.overview]
description = "Configurações e detalhes atuais do aplicativo."
error = "Erro"
loading = "Carregando configuração..."
title = "Configuração do aplicativo"
warning = "Aviso de configuração"
[config.overview.sections]
basic = "Configuração básica"
integration = "Configuração de integração"
security = "Configuração de segurança"
system = "Configuração do sistema"
[convert]
autoRotate = "Rotação automática"
autoRotateDescription = "Gira automaticamente as imagens para se ajustarem melhor à página do PDF"
blackwhite = "Preto e branco"
cbrDpi = "DPI para renderização de imagem"
cbrOptions = "Opções de CBR"
cbrOutputOptions = "Opções de PDF para CBR"
cbrToPdf = "CBR → PDF"
cbzDpi = "DPI para renderização de imagem"
cbzOptions = "Opções de CBZ para PDF"
cbzOutputOptions = "Opções de PDF para CBZ"
cbzToPdf = "CBZ → PDF"
color = "Cor"
colorType = "Tipo de cor"
combineImages = "Combinar imagens"
combineImagesDescription = "Combine todas as imagens em um único PDF ou crie PDFs separados para cada imagem"
combineSvgs = "Combine SVGs into single PDF"
combineSvgsDescription = "Combine all SVG files into one PDF with multiple pages, or create separate PDFs for each SVG"
conversionResults = "Resultados da conversão"
convertFiles = "Converter arquivos"
convertFrom = "Converter de"
converting = "Convertendo..."
convertTo = "Converter para"
desc = "Converter arquivos entre diferentes formatos"
downloadHtml = "Baixar arquivo HTML intermediário em vez de PDF"
dpi = "DPI"
ebookToPdf = "eBook → PDF"
emailOptions = "Opções de E-mail para PDF"
emlToPdf = "E-mail → PDF"
errorConversion = "Ocorreu um erro ao converter o arquivo."
fileToPdf = "Office/Documento → PDF"
fillPage = "Preencher a página"
fitDocumentToPage = "Ajustar documento à página"
fitOption = "Opção de ajuste"
grayscale = "Escala de Cinza"
imageOptions = "Opções de imagem"
includeAllRecipients = "Incluir destinatários CC e BCC no cabeçalho"
includeAttachments = "Incluir anexos do e-mail"
maintainAspectRatio = "Manter proporção"
maxAttachmentSize = "Tamanho máximo do anexo (MB)"
multiple = "Múltiplos"
optimizeForEbook = "Otimizar PDF para leitores de e-book (usa Ghostscript)"
output = "Saída"
outputFormat = "Formato de saída"
pdfaDigitalSignatureWarning = "O PDF contém uma assinatura digital. Isso será removido na próxima etapa."
pdfaNote = "PDF/A-1b é mais compatível; PDF/A-2b oferece mais recursos."
pdfaOptions = "Opções de PDF/A"
pdfOptions = "Opções de PDF"
pdfToCbr = "PDF → CBR"
pdfToCbz = "PDF → CBZ"
pdfToEpub = "PDF → EPUB"
selectSourceFormatFirst = "Selecione primeiro um formato de origem"
settings = "Configurações"
single = "Único"
sourceFormatPlaceholder = "Formato de origem"
strictMode = "Strict Mode"
strictModeDesc = "Error if conversion is not perfect (uses VeraPDF verification)"
svgPdfOptions = "SVG to PDF Options"
svgToPdf = "SVG → PDF"
svgVectorNote = "SVG files are rendered as vector graphics for crisp output at any resolution. Dimensions from the SVG determine the PDF page size."
tags = "transform,change,convert,PDF to Word,PDF to Excel,PDF to image,Word to PDF,Excel to PDF,PowerPoint to PDF,HTML to PDF,export,import,file conversion,format change,save as"
targetFormatPlaceholder = "Formato de destino"
title = "Converter"
webOptions = "Opções de Web para PDF"
zoomLevel = "Nível de zoom"
[convert.ebookOptions]
embedAllFonts = "Incorporar todas as fontes"
embedAllFontsDesc = "Incorporar todas as fontes do eBook no PDF gerado"
includePageNumbers = "Incluir números de página"
includePageNumbersDesc = "Adicionar números de página ao PDF gerado"
includeTableOfContents = "Incluir sumário"
includeTableOfContentsDesc = "Adicionar um sumário gerado ao PDF resultante"
optimizeForEbookPdf = "Otimizar para leitores de eBook"
optimizeForEbookPdfDesc = "Otimizar o PDF para leitura em eBook (arquivo menor, melhor renderização em dispositivos eInk)"
[convert.epubOptions]
detectChapters = "Detectar capítulos"
detectChaptersDesc = "Detectar títulos que parecem capítulos e inserir quebras de página no EPUB"
kindleEink = "Kindle e-Ink (texto otimizado)"
outputFormat = "Formato de saída"
outputFormatDesc = "Escolha o formato de saída para o eBook"
tabletPhone = "Tablet/Celular (com imagens)"
targetDevice = "Dispositivo de destino"
targetDeviceDesc = "Escolha um perfil de saída otimizado para o dispositivo leitor"
[cookieBanner.popUp]
acceptAllBtn = "Aceito"
acceptNecessaryBtn = "Não, Obrigado"
showPreferencesBtn = "Gerenciar Preferências"
title = "Como nós utilizamos Cookies:"
[cookieBanner.popUp.description]
1 = "Nós utilizamos cookies e outras tecnologias para melhorar o Stirling PDF, ajude-nos para que possamos desenvolver novas funcionalidades que você irá amar."
2 = "Se você não tiver interesse, clicando em \"Não, Obrigado\" será habilitado apenas cookies essenciais, para o site funcionar sem problemas."
[cookieBanner.preferencesModal]
acceptAllBtn = "Aceitar tudo"
acceptNecessaryBtn = "Rejeitar tudo"
closeIconLabel = "Fechar janela"
savePreferencesBtn = "Salvar preferências"
serviceCounterLabel = "Serviço|Serviços"
subtitle = "Uso de Cookies"
title = "Central de Preferências de Consentimento"
[cookieBanner.preferencesModal.analytics]
description = "Estes cookies nos ajudam a entender como nossas ferramentas estão sendo utilizadas, para que possamos nos concentrar na construção dos recursos que nossa comunidade mais valoriza. Fique tranquilo: o Stirling PDF não pode e nunca rastreará o conteúdo dos documentos com os quais você manipula."
title = "Cookies Analíticos"
[cookieBanner.preferencesModal.description]
1 = "Stirling PDF utiliza cookies e tecnologias semelhantes para aprimorar sua experiência e entender como nossas ferramentas são utilizadas. Isso nos ajuda a melhorar o desempenho, desenvolver os recursos de seu interesse e fornecer suporte contínuo aos nossos usuários."
2 = "O Stirling PDF não pode e nunca irá rastrear ou acessar o conteúdo dos documentos que você manipula."
3 = "Sua privacidade e confiança são prioridades para nós."
[cookieBanner.preferencesModal.necessary]
description = "Estes cookies são essenciais para o bom funcionamento do site. Eles habilitam recursos básicos como definir suas preferências de privacidade, realizar login e preencher formulários e é por isso que não podem ser desativados."
[cookieBanner.preferencesModal.necessary.title]
1 = "Cookies Estritamente Necessários"
2 = "Sempre Ativado"
[cookieBanner.services]
posthog = "PostHog Analytics"
scarf = "Scarf Pixel"
[credits.modal]
advancedMonitoring = "Monitoramento avançado"
allInOneWorkspace = "Espaço de trabalho PDF tudo-em-um (visualizador, ferramentas e agente)"
apiSandbox = "API sandbox"
dedicatedSupportSlas = "Suporte dedicado e SLAs"
fasterThroughput = "Taxa 10x mais rápida"
fullyPrivateFiles = "Arquivos totalmente privados"
largeFileProcessing = "Processamento de arquivos grandes"
orgWideAccess = "Controles de acesso para toda a organização"
premiumAiModels = "Modelos de IA premium"
prioritySupport = "Suporte prioritário"
privateDocCloud = "Nuvem de documentos privada"
ragFineTuning = "RAG + fine-tuning"
secureApiAccess = "Acesso seguro à API"
standardThroughput = "Taxa de processamento padrão"
unlimitedApiAccess = "Acesso ilimitado à API"
unlimitedSeats = "Usuários ilimitados"
[crop]
autoCrop = "Cortar automaticamente espaços em branco"
noFileSelected = "Selecione um arquivo PDF para iniciar o corte"
reset = "Redefinir para o PDF completo"
submit = "Enviar"
title = "Recortar"
[crop.automation]
info = "Informe as coordenadas de corte em pontos de PDF. A origem (0,0) fica no canto inferior esquerdo. Esses valores serão aplicados a todos os PDFs processados nesta automação."
reference = "Referência: uma página A4 tem 595,28 × 841,89 pontos (210 mm × 297 mm). 1 polegada = 72 pontos."
[crop.coordinates]
title = "Posição e tamanho"
[crop.coordinates.height]
desc = "Altura do corte (pontos)"
label = "Altura"
[crop.coordinates.width]
desc = "Largura do corte (pontos)"
label = "Largura"
[crop.coordinates.x]
desc = "Borda esquerda (pontos)"
label = "Posição X"
[crop.coordinates.y]
desc = "Borda inferior (pontos)"
label = "Posição Y"
[crop.error]
failed = "Falha ao recortar o PDF"
invalidArea = "A área de corte se estende além dos limites do PDF"
[crop.preview]
title = "Seleção da área de corte"
[crop.results]
title = "Resultados do corte"
[crop.steps]
selectArea = "Selecionar área de corte"
[crop.tooltip]
description = "Selecione a área a recortar do seu PDF arrastando e redimensionando a sobreposição azul na miniatura."
drag = "Arraste a sobreposição para mover a área de corte"
precision = "Use as entradas de coordenadas para posicionamento preciso"
resize = "Arraste os cantos e bordas para redimensionar"
title = "Como recortar PDFs"
[database]
backupCreated = "Backup do banco de dados criado com sucesso"
fileName = "Nome do Arquivo"
title = "Importar/Exportar banco de dados"
[defaultApp]
setDefault = "Definir padrão"
title = "Definir como app padrão de PDF"
[defaultApp.error]
message = "Falha ao definir o manipulador de PDF padrão"
title = "Erro"
[defaultApp.prompt]
message = "Torne o Stirling PDF seu aplicativo padrão para abrir arquivos PDF."
[defaultApp.settingsOpened]
message = "Selecione o Stirling PDF nas configurações do sistema"
title = "Configurações abertas"
[defaultApp.success]
message = "O Stirling PDF agora é seu editor de PDF padrão"
title = "App padrão definido"
[desktopUpdate]
downloading = "Baixando atualização..."
installing = "Instalando atualização..."
installingWarning = "O app será fechado automaticamente para concluir a instalação."
installNow = "Instalar agora"
readyToRestart = "Atualização pronta"
restartMessage = "A atualização foi instalada. Reinicie o app para finalizar."
restartNow = "Reiniciar agora"
updateFailed = "Falha na atualização"
updateFailedMessage = "Falha ao baixar ou instalar a atualização."
[desktopUpdate.blocked]
docsLink = "Ver documentação de instalação"
message = "Stirling-PDF não tem permissão para se atualizar nesta máquina."
title = "Permissões de administrador necessárias"
[devAirgapped]
tags = "air-gapped,offline,isolated,no internet,disconnected,secure,network isolation,standalone"
[devApi]
tags = "API,development,documentation,developer,REST,integration,endpoints,programmatic,automation,scripting"
[devFolderScanning]
tags = "automation,folder,scanning,watch folder,hot folder,automatic processing,batch,monitor folder,auto process,folder monitoring"
[devSsoGuide]
tags = "SSO,single sign-on,authentication,SAML,OAuth,OIDC,login,enterprise,identity provider,IdP"
[dropdownList]
searchPlaceholder = "Pesquisar..."
[editableSecretField]
edit = "Editar"
editSecretValue = "Editar valor secreto"
[editTableOfContents]
submit = "Aplicar sumário"
tags = "bookmarks,contents,edit,table of contents,TOC,outline,navigation,chapters,sections,add bookmarks,edit bookmarks,PDF outline"
[editTableOfContents.actions]
clipboardUnavailable = "O acesso à área de transferência não está disponível neste navegador."
export = "Exportar marcadores"
exportClipboard = "Copiar JSON para a área de transferência"
exportJson = "Baixar JSON"
importClipboard = "Colar JSON da área de transferência"
importJson = "Importar JSON"
loadFromPdf = "Carregar do PDF selecionado"
noFile = "Selecione um PDF para extrair os marcadores existentes."
selectedFile = "Carregado de {{file}}"
source = "Carregar marcadores"
[editTableOfContents.editor]
addTopLevel = "Adicionar marcador de nível superior"
childBadge = "Filho"
confirmRemove = "Remover este marcador e todos os seus filhos?"
defaultChildTitle = "Marcador filho"
defaultSiblingTitle = "Novo marcador"
defaultTitle = "Novo marcador"
description = "Adicione, aninhe e reordene marcadores para montar o sumário do seu PDF."
heading = "Editor de marcadores"
pagePreview = "Página {{page}}"
untitled = "Marcador sem título"
[editTableOfContents.editor.actions]
addChild = "Adicionar marcador filho"
addSibling = "Adicionar marcador irmão"
remove = "Remover marcador"
toggle = "Alternar filhos"
[editTableOfContents.editor.empty]
action = "Adicionar primeiro marcador"
description = "Importe marcadores existentes ou comece adicionando sua primeira entrada."
title = "Ainda não há marcadores"
[editTableOfContents.editor.field]
page = "Número da página de destino"
title = "Título do marcador"
[editTableOfContents.error]
failed = "Falha ao atualizar o sumário"
[editTableOfContents.info]
line1 = "Cada marcador precisa de um título descritivo e da página que deve abrir."
line2 = "Use marcadores filhos para criar uma hierarquia para capítulos, seções ou subseções."
line3 = "Importe marcadores do PDF selecionado ou de um arquivo JSON para economizar tempo."
[editTableOfContents.messages]
copied = "Copiado para a área de transferência"
copiedBody = "JSON de marcadores copiado com sucesso."
copyFailed = "Falha ao copiar"
exported = "Download de JSON pronto"
imported = "Marcadores importados"
importedBody = "Seu sumário JSON substituiu o conteúdo atual do editor."
importedClipboard = "Os dados da área de transferência substituíram a lista de marcadores atual."
invalidJson = "Estrutura JSON inválida"
invalidJsonBody = "Forneça um arquivo JSON de marcadores válido e tente novamente."
loadedBody = "Marcadores existentes do PDF foram carregados no editor."
loadedTitle = "Marcadores extraídos"
loadFailed = "Não foi possível extrair marcadores do PDF selecionado."
noBookmarks = "Nenhum marcador foi encontrado no PDF selecionado."
[editTableOfContents.results]
subtitle = "Baixe o arquivo processado ou desfaça a operação abaixo."
title = "PDF atualizado com marcadores"
[editTableOfContents.settings]
replaceExisting = "Substituir marcadores existentes (desmarque para acrescentar)"
replaceExistingHint = "Quando desativado, o novo sumário é acrescentado após os marcadores atuais."
title = "Marcadores e sumário"
[editTableOfContents.workbench]
changeFile = "Trocar PDF"
filePrompt = "Selecione um PDF da sua biblioteca ou envie um novo para começar."
selectFile = "Selecionar PDF"
subtitle = "Importe marcadores, crie hierarquias e aplique o sumário sem painéis laterais apertados."
[editTableOfContents.workbench.empty]
description = "Selecione a ferramenta Editar sumário para carregar o espaço de trabalho."
title = "Abra a ferramenta para começar a editar"
[emptyFilesState]
upload = "Enviar"
[encryptedPdfUnlock]
description = "Este PDF está protegido por senha. Insira a senha para continuar trabalhando nele."
emptyResponse = "A remoção da senha não gerou um arquivo."
incorrectPassword = "Senha incorreta"
missingFile = "O arquivo selecionado não está mais disponível."
required = "Insira a senha para continuar."
skip = "Pular por enquanto"
successBody = "Senha removida com sucesso."
successBodyWithName = "Senha removida de {{fileName}}"
successTitle = "Senha removida"
title = "Remover a senha para continuar"
unlock = "Desbloquear e continuar"
unlockAll = "Usar para todos ({{count}})"
unlockAllPartialFail = "Senha incorreta para: {{names}}"
unlockAllSuccess_one = "Unlocked {{count}} file."
unlockAllSuccess_other = "Unlocked {{count}} files."
unlockPrompt = "Desbloqueie o PDF para continuar"
viewerLocked = "Este PDF está protegido por senha"
viewerUnlock = "Desbloquear"
[encryptedPdfUnlock.password]
label = "Senha do PDF"
placeholder = "Insira a senha do PDF"
[endpointStatistics]
title = "Estatísticas de Endpoints"
[error]
_value = "Erro"
dismissAllErrors = "Dispensar todos os erros"
generic = "Ocorreu um erro"
[extractImages]
allowDuplicates = "Salvar imagens duplicadas."
selectText = "Selecione o formato de saída das imagens extraídas:"
submit = "Extrair"
tags = "imagem,foto,salvar,arquivo,zip,captura,coleta"
title = "Extrair Imagens"
[extractImages.error]
failed = "Ocorreu um erro ao extrair imagens do PDF."
[extractImages.settings]
title = "Configurações"
[extractPage]
tags = "extrair"
[extractPages]
submit = "Extrair páginas"
tags = "pull,select,copy,extract,extract pages,get pages,pull out,save pages,export pages,copy pages,select pages,specific pages"
title = "Extrair páginas"
[extractPages.error]
failed = "Falha ao extrair páginas"
[extractPages.pageNumbers]
label = "Páginas para extrair"
placeholder = "ex.: 1,3,5-8 ou odd & 1-10"
[extractPages.results]
title = "Páginas extraídas"
[extractPages.settings]
title = "Configurações"
[extractPages.tooltip]
description = "Extrai as páginas selecionadas em um novo PDF, preservando a ordem."
[fileCard]
openInFileEditor = "Abrir no Editor de Arquivos"
viewInViewer = "Ver no Visualizador"
[fileDropdownMenu]
closeFile = "Fechar arquivo"
[fileEditor]
addFiles = "Adicionar arquivos"
[fileManager]
active = "Ativo"
addToUpload = "Adicionar ao upload"
changesNotUploaded = "Alterações não enviadas"
clearAll = "Limpar tudo"
clearSelection = "Limpar seleção"
closeAllFiles = "Fechar todos os arquivos"
closeFile = "Fechar arquivo"
cloudFile = "Arquivo na nuvem"
copyCreated = "Cópia salva neste dispositivo."
copyFailed = "Não foi possível criar uma cópia."
delete = "Apagar"
deleteAll = "Excluir tudo"
deleteSelected = "Apagar Selecionados"
deselectAll = "Desselecionar Tudo"
details = "Detalhes do arquivo"
download = "Baixar (JSON)"
downloadSelected = "Baixar selecionados"
dropFilesHere = "Solte os arquivos aqui"
fileFormat = "Formato"
fileHistory = "Histórico de arquivos"
fileName = "Nome"
fileSize = "Tamanho"
filesSelected = "arquivos selecionados"
filesStored = "arquivos armazenados"
fileVersion = "Versão"
filterAll = "Todos"
filterLocal = "Local"
filterSharedByMe = "Compartilhados por mim"
filterSharedWithMe = "Compartilhados comigo"
googleDrive = "Google Drive"
googleDriveNotAvailable = "Integração com Google Drive indisponível"
googleDriveShort = "Drive"
hideHistory = "Ocultar histórico"
lastModified = "Última modificação"
lastSynced = "Última sincronização"
leaveShare = "Remover da minha lista"
leaveShareFailed = "Não foi possível remover o arquivo compartilhado."
leaveShareSuccess = "Removido da sua lista de compartilhados."
loadingFiles = "Carregando arquivos..."
localOnly = "Apenas local"
makeCopy = "Fazer uma cópia"
mobileShort = "Celular"
mobileUpload = "Envio pelo celular"
mobileUploadNotAvailable = "Envio pelo celular não habilitado"
moreOptions = "Mais opções"
myFiles = "Meus arquivos"
nextFile = "Próximo arquivo"
noFiles = "Nenhum arquivo disponível"
noFilesFound = "Nenhum arquivo correspondente à sua pesquisa"
noRecentFiles = "Nenhum arquivo recente encontrado"
openFile = "Abrir arquivo"
openFiles = "Abrir arquivos"
openInFileEditor = "Abrir no editor de arquivos"
openInPageEditor = "Abrir no Editor de Páginas"
owner = "Proprietário"
ownerUnknown = "Desconhecido"
previousFile = "Arquivo anterior"
recent = "Recentes"
removeBoth = "Remover de ambos"
removeFilePrompt = "Este arquivo está salvo neste dispositivo e no seu servidor. De onde você deseja removê-lo?"
removeFileTitle = "Remover arquivo"
removeLocalOnly = "Apenas neste dispositivo"
removeServerFailed = "Não foi possível remover o arquivo do servidor."
removeServerOnly = "Apenas no servidor"
removeServerOnlyPrompt = "Este arquivo está armazenado apenas no seu servidor. Deseja removê-lo do servidor?"
removeServerSuccess = "Removido do servidor."
removeSharedPrompt = "Este arquivo foi compartilhado com você. Você pode removê-lo deste dispositivo ou da sua lista de compartilhados."
removeSharedServerOnlyBlockedPrompt = "Este arquivo foi compartilhado com você e está armazenado apenas no servidor."
removeSharedServerOnlyPrompt = "Este arquivo foi compartilhado com você e está armazenado apenas no servidor. Removê-lo da sua lista?"
restore = "Restaurar"
saveSelected = "Salvar selecionados"
searchFiles = "Pesquisar arquivos..."
selectAll = "Selecionar Tudo"
selectedCount = "{{count}} selecionado(s)"
share = "Compartilhar"
shared = "Compartilhado"
sharedByYou = "Compartilhado por você"
sharedEditNoticeBody = "Você não tem direitos de edição na versão do servidor deste arquivo. Quaisquer edições serão salvas como uma cópia local."
sharedEditNoticeConfirm = "Entendi"
sharedEditNoticeTitle = "Cópia somente leitura no servidor"
sharedWithYou = "Compartilhado com você"
shareSelected = "Compartilhar selecionados"
sharing = "Compartilhamento"
showAll = "Mostrar tudo"
showHistory = "Mostrar histórico"
sortByDate = "Ordenar por data"
sortByName = "Ordenar por nome"
sortBySize = "Ordenar por tamanho"
storage = "Armazenamento"
storageState = "Armazenamento"
synced = "Sincronizado"
title = "Fazer upload de arquivos PDF"
toolChain = "Ferramentas aplicadas"
unsupported = "Não suportado"
unzip = "Descompactar"
updateOnServer = "Atualizar no servidor"
uploadSelected = "Enviar selecionados"
uploadToServer = "Enviar para o servidor"
versionHistory = "Version history"
[files]
addFiles = "Adicionar arquivos"
created = "Criado"
selectFromWorkbench = "Selecione arquivos da bancada de trabalho ou "
selectMultipleFromWorkbench = "Selecione pelo menos {{count}} arquivos da bancada de trabalho ou "
size = "Tamanho do arquivo"
title = "Arquivos"
upload = "Fazer upload"
uploadFiles = "Fazer upload de arquivos"
[fileSelectorPicker]
empty = "Nenhum arquivo disponível"
placeholder = "Selecionar arquivo"
search = "Filtrar arquivos…"
tabListLabel = "Arquivos salvos, área de trabalho, envio"
upload = "Enviar do computador"
[fileSelectorPicker.sort]
dateAsc = "Mais antigos primeiro"
dateDesc = "Mais recentes primeiro"
dateLabel = "Mais recente"
nameAsc = "De A a Z"
nameDesc = "De Z a A"
nameLabel = "AZ"
[fileSelectorPicker.tabs]
saved = "Arquivos salvos"
upload = "Enviar"
workbench = "Área de trabalho"
[fileSidebar]
addFiles = "Adicionar arquivos"
addingFiles = "Adicionando arquivos…"
collapse = "Recolher barra lateral"
customizeGroups = "Personalizar grupos"
dropHint = "Abra arquivos para começar"
dropToAdd = "Drop files to add"
expand = "Expandir barra lateral"
files = "Arquivos"
googleDrive = "Google Drive"
googleDriveDisabled = "Google Drive não está configurado"
leaveMyFiles = "Sair de Meus arquivos"
myFiles = "Meus arquivos"
noFiles = "Ainda não há arquivos"
openFileManager = "Abrir gerenciador de arquivos"
openFromComputer = "Abrir do computador"
openSettings = "Abrir configurações"
other = "Outro"
recent = "Recentes"
search = "Pesquisar"
searchPlaceholder = "Pesquisar arquivos..."
viewAll = "Ver todos os {{count}} arquivos"
[fileSidebar.fileItem]
closeViewer = "Fechar visualizador"
delete = "Delete"
moreActions = "More actions"
openInViewer = "Abrir no visualizador"
savedToServer = "Saved to server"
updateOnServer = "Update on server"
uploadToServer = "Upload to server"
versionHistory = "Version history"
[fileSidebar.groupsModal]
add = "Adicionar"
addLabel = "Adicionar um rótulo…"
categoryIconAria = "Escolha um ícone para {{name}}"
createCategory = "Criar categoria"
delete = "Excluir categoria"
done = "Concluído"
hide = "Ocultar categoria"
newCategory = "Nome da nova categoria…"
removeLabel = "Remover {{name}}"
rename = "Renomear"
reset = "Redefinir para os padrões"
search = "Pesquisar rótulos…"
show = "Mostrar categoria"
subtitle = "Agrupe seus arquivos em categorias principais. Adicione rótulos existentes ou novos a uma categoria, renomeie-a ou crie a sua própria. Arquivos que não estão em nenhuma das suas categorias aparecem em “Outro”."
title = "Categorias da barra lateral"
[filesPage]
addToWorkspace = "Adicionar ao espaço de trabalho"
addToWorkspaceCount = "Adicionar {{count}} ao espaço de trabalho"
allFiles = "Todos os arquivos"
back = "Voltar"
backToFolder = "Voltar para {{folder}}"
backToMyFiles = "Voltar para Meus arquivos"
breadcrumbs = "Caminho da pasta"
cancel = "Cancelar"
classification = "Classificação"
clearSearch = "Limpar busca"
clearSelection = "Limpar seleção"
closeDetails = "Fechar detalhes"
create = "Criar"
cycleBlocked = "Não é possível mover uma pasta para uma de suas próprias subpastas."
delete = "Excluir"
deleteFilesChoiceBody = "Some of these files are saved both on this device and in the cloud. Where should they be deleted from?"
deleteFilesCloudBody_one = "Delete 1 file from the cloud? This cannot be undone."
deleteFilesCloudBody_other = "Delete {{count}} files from the cloud? This cannot be undone."
deleteFilesError = "Could not delete. Try again."
deleteFilesLocalBody_one = "Delete 1 file from this device? This cannot be undone."
deleteFilesLocalBody_other = "Delete {{count}} files from this device? This cannot be undone."
deleteFilesTitle_one = "Delete 1 file?"
deleteFilesTitle_other = "Delete {{count}} files?"
deleteFolder = "Excluir pasta"
deleteFolderBody = "Excluir a pasta \"{{name}}\"?"
deleteFolderContents_one = "Also delete {{count}} file inside the folder"
deleteFolderContents_other = "Also delete {{count}} files inside the folder"
deleteFolderContentsWarning = "Os arquivos serão removidos permanentemente e não poderão ser recuperados."
deleteFolderError = "Não foi possível excluir a pasta. Tente novamente."
deleteFolderKeepHint = "Os arquivos dentro serão movidos para Todos os arquivos."
deleteFolderTitle = "Excluir pasta?"
deselectAll = "Limpar seleção"
details = "Detalhes"
detailsCount_one = "{{count}} file selected"
detailsCount_other = "{{count}} files selected"
dismissError = "Dispensar"
download = "Baixar"
downloadAll = "Baixar tudo"
downloadVersion = "Baixar esta versão"
dropOverlay = "Solte arquivos para enviar"
dropOverlaySub = "Os arquivos começam em Local. Use 'Move to' ou 'Save to cloud' para organizá-los em uma pasta."
file = "Arquivo"
fileInfo = "File info"
fileMenu = "Ações do arquivo"
folder = "Pasta"
folderItems_one = "{{count}} item"
folderItems_other = "{{count}} items"
folderMenu = "Ações da pasta"
inPath = "em {{path}}"
inWorkspace = "Aberto"
inWorkspaceAria = "Já no espaço de trabalho"
loading = "Carregando…"
localFoldersUnavailable = "As pastas são apenas na nuvem — salve um arquivo na nuvem para organizá-lo."
moveSkippedRemote_one = "{{count}} file couldn't be moved on the server (no permission or already deleted)."
moveSkippedRemote_other = "{{count}} files couldn't be moved on the server (no permission or already deleted)."
moveTo = "Mover para…"
myFiles = "Meus arquivos"
newFolder = "Nova pasta"
newFolderStorageDisabled = "O armazenamento de pastas no servidor não está habilitado. Peça ao seu administrador para ativá-lo."
newFolderTabUnavailable = "Mude para Todos ou Nuvem para criar pastas."
offlineNoFolderEdits = "Sincronização de pastas do servidor indisponível — alterações em pastas estão desativadas. Verifique o login e a configuração de armazenamento."
open = "Abrir"
openVersionInWorkspace = "Abrir no espaço de trabalho"
originFilter = "Filtrar por origem"
refresh = "Atualizar do servidor"
remove = "Excluir"
removeVersion = "Remover esta versão"
rename = "Renomear"
renameFolder = "Renomear pasta"
resizeFolderTree = "Redimensionar árvore de pastas (setas, Shift para passos maiores; duplo clique para ajustar automaticamente)"
save = "Salvar"
saveToServer = "Salvar no servidor"
saveToServerDisabledHint = "Salvar no servidor não está habilitado neste servidor. Peça ao seu administrador para habilitar."
search = "Pesquisar"
searchPlaceholder = "Pesquisar nesta pasta e subpastas"
selectAll = "Selecionar tudo"
selectAllHint = "Clique para selecionar tudo. Dica: mantenha Ctrl (ou Cmd) para adicionar arquivos um a um, e Shift para selecionar um intervalo."
selectedCount = "{{count}} selecionado(s)"
selectFile = "Selecionar arquivo {{name}}"
shareDisabledHint = "Compartilhamento de arquivos não está habilitado neste servidor. Peça ao seu administrador para habilitar."
shareManage = "Gerenciar compartilhamento"
showDetails = "Mostrar detalhes"
signInRequired = "Sign in to use cloud storage."
summary_one = "{{count}} item"
summary_other = "{{count}} items"
tree = "Pastas"
upload = "Enviar"
uploadedToLocal = "Os arquivos enviados começam em Local. Use 'Save to cloud' para colocá-los em uma pasta."
uploadFromMobile = "Enviar do celular"
versionActions = "Ações da versão"
versionCollapse = "Recolher versões intermediárias"
versionHistory = "Version history"
versionHistoryEmpty = "This file has no earlier versions."
versionOrigin = "Envio original"
versionsCount = "{{count}} versões"
versionShowHidden = "Mostrar {{count}} versões anteriores"
viewVersionHistory = "Version journey ({{count}})"
[filesPage.appearance]
colour = "Cor"
icon = "Ícone"
title = "Aparência"
useColour = "Usar cor {{c}}"
[filesPage.column]
modified = "Modificado"
name = "Nome"
size = "Tamanho"
type = "Tipo"
[filesPage.deleteScope]
cloud = "Cloud only"
cloudHint = "Deletes from the server. A copy stays on this device."
device = "This device only"
deviceHint = "Removes the local copy. The cloud copy is kept."
everywhere = "Everywhere"
everywhereHint = "Deletes the file from this device and the cloud."
[filesPage.empty]
hint = "Solte PDFs em qualquer lugar desta página para enviar, ou use o botão Nova pasta para organizar seus arquivos."
newFolderCta = "Criar pasta"
title = "Esta pasta está vazia"
uploadCta = "Enviar arquivos"
[filesPage.empty.cloud]
hint = "Envie um arquivo para começar ou crie uma pasta para organizar."
offlineHint = "Reconecte-se para carregar sua biblioteca na nuvem."
offlineTitle = "Nenhum arquivo da nuvem em cache"
title = "Ainda não há arquivos na nuvem"
[filesPage.empty.local]
hint = "Arquivos salvos sem enviar ficam aqui. Solte um arquivo para adicionar."
title = "Nenhum arquivo somente local"
[filesPage.empty.recent]
hint = "Arquivos que você abrir ou editar aparecerão aqui."
title = "Nada modificado ainda"
[filesPage.empty.shared]
hint = "Quando alguém compartilha um arquivo via link, ele aparece aqui."
title = "Nada compartilhado com você"
[filesPage.empty.sharedByMe]
hint = "Crie um link de compartilhamento ou convide um colega a partir de qualquer um dos seus arquivos para vê-lo aqui."
title = "Você ainda não compartilhou nenhum arquivo"
[filesPage.error]
actionFailed = "Não foi possível {{action}}."
actionFailedDetail = "Não foi possível {{action}}: {{message}}"
cloudDeleteFailed_one = "Couldn't delete 1 file from the cloud."
cloudDeleteFailed_other = "Couldn't delete {{count}} files from the cloud."
deleteFolderFailed = "Não foi possível excluir a pasta."
deleteFolderFailedDetail = "Não foi possível excluir a pasta: {{message}}"
folderAppearanceFailed = "Não foi possível atualizar a aparência da pasta."
folderAppearanceFailedDetail = "Não foi possível atualizar a aparência da pasta: {{message}}"
moveFilesFailed = "Não foi possível mover os arquivos."
moveFilesFailedDetail = "Não foi possível mover os arquivos: {{message}}"
moveFolderFailed = "Não foi possível mover a pasta."
moveFolderFailedDetail = "Não foi possível mover a pasta: {{message}}"
removeFilesFailed = "Não foi possível excluir os arquivos."
removeFilesFailedDetail = "Não foi possível excluir os arquivos: {{message}}"
uploadFilesFailed = "Não foi possível enviar os arquivos."
uploadFilesFailedDetail = "Não foi possível enviar os arquivos: {{message}}"
[filesPage.field]
added = "Adicionado"
count = "Arquivos"
folder = "Pasta"
labels = "Rótulos"
modified = "Modificado"
name = "Nome"
size = "Tamanho"
toolHistoryAtVersion = "Cadeia de ferramentas cumulativa"
totalSize = "Tamanho total"
type = "Tipo"
versionHistory = "Jornada da versão"
[filesPage.folderName]
cancel = "Cancelar"
error = "Não foi possível salvar a pasta. Tente novamente."
label = "Nome da pasta"
placeholder = "Nome da pasta"
[filesPage.moveDialog]
cancel = "Cancelar"
confirm = "Mover aqui"
error = "Não foi possível mover. Tente novamente."
hint = "Escolha uma pasta de destino. Dica: você também pode arrastar e soltar arquivos sobre as pastas na árvore à esquerda."
newFolderCancel = "Descartar"
newFolderCreate = "Criar"
newFolderError = "Não foi possível criar a pasta. Tente novamente."
newFolderLabel = "Novo nome da pasta"
newFolderPlaceholder = "Nome da pasta"
newFolderToggle = "Criar nova pasta…"
title = "Mover para a pasta"
[filesPage.origin]
all = "Todas as origens"
cloud = "Nuvem"
cloudHint = "Armazenado no servidor do Stirling"
local = "Local"
localHint = "Armazenado apenas neste navegador"
shared = "Compartilhado"
sharedHint = "Compartilhado com você via link"
[filesPage.sort]
modifiedAsc = "Mais antigo primeiro"
modifiedDesc = "Mais recente primeiro"
nameAsc = "Nome A→Z"
nameDesc = "Nome Z→A"
sizeAsc = "Menor primeiro"
sizeDesc = "Maior primeiro"
[filesPage.syncError]
client = "Falha na sincronização da pasta."
network = "Não foi possível alcançar o servidor."
server = "Erro do servidor durante a sincronização da pasta."
[filesPage.tabName]
local = "Local"
recent = "Recentes"
shared = "Compartilhados comigo"
sharedByMe = "Compartilhados por mim"
[filesPage.tabs]
all = "Todos"
ariaLabel = "Exibições de arquivos"
recent = "Recentes"
shared = "Compartilhados comigo"
sharedByMe = "Compartilhados por mim"
[filesPage.treeMenu]
actions = "Ações da pasta para {{name}}"
delete = "Excluir pasta"
newSubfolder = "Nova subpasta"
rename = "Renomear"
[filesPage.typeFilter]
allTypes = "Todos os tipos"
label = "Filtrar por tipo"
[filesPage.viewMode]
grid = "Visualização em grade"
label = "Modo de exibição"
list = "Visualização em lista"
[fileToPDF]
tags = "transformação,formato,documento,imagem,slide,texto,conversão,escritório,documentos,word,excel,powerpoint"
title = "Converter Arquivo para PDF"
[fileUpload]
dropFilesHere = "Solte os arquivos aqui ou clique no botão de upload"
dropFilesHereOpen = "Solte arquivos aqui ou clique no botão abrir"
filesAvailable = "arquivos disponíveis"
loadFromStorage = "Carregar do armazenamento"
noFilesInStorage = "Nenhum arquivo disponível no armazenamento. Primeiro faça upload de alguns arquivos."
noFilesInStorageOpen = "Nenhum arquivo disponível no armazenamento. Abra alguns arquivos primeiro."
open = "Abrir"
openFile = "Abrir arquivo"
openFiles = "Abrir arquivos"
selectFromStorage = "Selecionar do armazenamento"
upload = "Fazer upload"
uploadFile = "Fazer upload de arquivo"
uploadFiles = "Fazer upload de arquivos"
[firstLogin]
allFieldsRequired = "Todos os campos são obrigatórios"
changePassword = "Alterar senha"
confirmPassword = "Confirmar nova senha"
currentPassword = "Senha atual"
enterCurrentPassword = "Insira sua senha atual"
enterNewPassword = "Insira a nova senha (mín. 8 caracteres)"
error = "Erro"
loggedInAs = "Conectado como"
newPassword = "Nova senha"
passwordChangedSuccess = "Senha alterada com sucesso! Faça login novamente."
passwordChangeFailed = "Falha ao alterar a senha. Verifique sua senha atual."
passwordMustBeDifferent = "A nova senha deve ser diferente da senha atual"
passwordsDoNotMatch = "As novas senhas não coincidem"
passwordTooShort = "A senha deve ter pelo menos 8 caracteres"
reEnterNewPassword = "Redigite a nova senha"
title = "Primeiro login"
welcomeMessage = "Por motivos de segurança, você deve alterar sua senha no primeiro login."
welcomeTitle = "Bem-vindo!"
[flatten]
submit = "Achatar"
tags = "simplify,remove,interactive,flatten,flatten form,remove form fields,make static,finalize form,lock form,disable editing,convert to image,non-editable"
title = "Achatar"
[flatten.error]
failed = "Ocorreu um erro ao achatar o PDF."
[flatten.options]
stepTitle = "Opções de achatamento"
[flatten.options.flattenOnlyForms]
desc = "Achatar apenas campos de formulário, mantendo outros elementos interativos"
label = "Achatar apenas formulários"
[flatten.renderDpi]
help = "Deixe em branco para usar o padrão do sistema. Um DPI mais alto melhora a nitidez, mas aumenta o tempo de processamento e o tamanho do arquivo."
label = "DPI de renderização (opcional, recomendado 150 DPI)"
placeholder = "ex.: 150"
[flatten.results]
title = "Resultados do achatamento"
[flatten.tooltip.description]
bullet1 = "Caixas de texto viram texto comum (não pode ser editado)"
bullet2 = "Caixas de seleção e botões viram imagens"
bullet3 = "Ótimo para versões finais que você não quer alterar"
bullet4 = "Garante aparência consistente em todos os dispositivos"
text = "Achatar torna seu PDF não editável transformando formulários preenchíveis e botões em texto e imagens comuns. O PDF terá exatamente a mesma aparência, mas ninguém poderá alterar ou preencher os formulários. Perfeito para compartilhar formulários concluídos, criar documentos finais para registros ou garantir que o PDF tenha a mesma aparência em qualquer lugar."
title = "O que o achatamento faz?"
[flatten.tooltip.formsOnly]
bullet1 = "Formulários ficam não editáveis"
bullet2 = "Links continuam funcionando ao clicar"
bullet3 = "Comentários e notas permanecem visíveis"
bullet4 = "Marcadores continuam ajudando na navegação"
text = "Essa opção apenas remove a capacidade de preencher formulários, mas mantém outros recursos funcionando como clicar em links, ver marcadores e ler comentários."
title = "O que significa 'Achatar apenas formulários'?"
[flatten.tooltip.header]
title = "Sobre o achatamento de PDFs"
[footer]
discord = "Discord"
issues = "GitHub"
[formFill]
flattenAfterFilling = "Achatar após o preenchimento"
rescanFields = "Escanear campos novamente"
rescanFormFields = "Escanear campos do formulário novamente"
save = "Salvar"
[formFill.sidebar]
close = "Fechar barra lateral"
[getPdfInfo]
downloadJson = "Baixar JSON"
downloads = "Downloads"
indexTitle = "Índice"
noneDetected = "Nenhum detectado"
noResults = "Execute a ferramenta para gerar um relatório."
processing = "Extraindo informações..."
results = "Resultados"
submit = "Obter Informações"
tags = "informações,dados,estatísticas"
title = "Obter Informações do PDF"
[getPdfInfo.compliance]
failed = "Reprovado"
failedCount = "reprovados"
noVerification = "Nenhuma verificação realizada"
noVerificationDesc = "A conformidade com os padrões de PDF não foi verificada para este documento."
passed = "Aprovado"
passedCount = "aprovados"
[getPdfInfo.error]
partial = "Alguns arquivos não puderam ser processados."
unexpected = "Erro inesperado durante a extração."
[getPdfInfo.other]
attachments = "Anexos"
embeddedFiles = "Arquivos incorporados"
javaScript = "JavaScript"
layers = "Camadas"
structureTree = "StructureTree"
xmp = "XMPMetadata"
[getPdfInfo.perPage]
annotations = "Anotações"
fonts = "Fontes"
images = "Imagens"
links = "Links"
multimedia = "Multimídia"
size = "Tamanho"
xobjects = "Contagem de XObjects"
[getPdfInfo.report]
shortTitle = "Informações do PDF"
[getPdfInfo.sections]
basicInfo = "Informações básicas"
compliance = "Conformidade"
documentInfo = "Informações do documento"
encryption = "Criptografia"
formFields = "Campos de formulário"
metadata = "Metadados"
other = "Outros"
permissions = "Permissões"
perPageInfo = "Informações por página"
tableOfContents = "Sumário"
[getPdfInfo.status]
complete = "Extração concluída"
[getPdfInfo.summary]
author = "Autor"
basic = "Informações básicas"
complianceChecked = "Padrões verificados ({{failed}} falhas)"
compliancePassed = "Conforme {{standards}}"
created = "Criado"
documentInfo = "Informações do documento"
fileSize = "Tamanho do arquivo"
language = "Idioma"
modified = "Modificado"
noCompliance = "Sem padrões de conformidade"
overviewTitle = "Visão geral do PDF"
pages = "Páginas"
pdfVersion = "Versão do PDF"
permsAll = "Todas as permissões permitidas"
permsMixed = "Algumas permissões restritas"
permsRestricted_one = "{{count}} restriction"
permsRestricted_other = "{{count}} restrictions"
securityTitle = "Status de segurança"
technical = "Técnico"
title = "Resumo do PDF"
[getPdfInfo.summary.overview]
text = "Este é um PDF de {{pages}} páginas intitulado {{title}} criado por {{author}} (versão do PDF {{version}})."
unknown = "Autor desconhecido"
untitled = "um documento sem título"
[getPdfInfo.summary.security]
encrypted = "PDF criptografado - Proteção por senha ativada"
unencrypted = "PDF não criptografado - Sem proteção por senha"
[getPdfInfo.summary.tech]
bookmarks = "Marcadores"
embeddedFiles = "Arquivos incorporados"
fonts = "Fontes"
formFields = "Campos de formulário"
images = "Imagens"
javaScript = "JavaScript"
layers = "Camadas"
multimedia = "Multimídia"
[groupSigning.steps]
back = "Voltar"
completed = "Concluído"
current = "Atual"
stepLabel = "Etapa {{number}}"
[groupSigning.steps.configureDefaults]
continue = "Continuar para revisão"
invisible = "As assinaturas serão invisíveis (apenas metadados)"
locationLabel = "Localização:"
preview = "Prévia"
reasonLabel = "Motivo:"
title = "Configurar configurações de assinatura"
visible = "As assinaturas serão visíveis na página {{page}}"
[groupSigning.steps.review]
document = "Documento"
dueDate = "Data de vencimento (opcional)"
dueDatePlaceholder = "Selecione a data de vencimento..."
invisible = "Invisível (apenas metadados)"
location = "Localização:"
logo = "Logotipo:"
logoHidden = "Sem logotipo"
logoShown = "Logotipo da Stirling PDF exibido"
participantCount_one = "{{count}} participant will sign in order"
participantCount_other = "{{count}} participants will sign in order"
participants = "Participantes"
reason = "Motivo:"
send = "Enviar solicitações de assinatura"
signatureSettings = "Configurações de assinatura"
title = "Revisar detalhes da sessão"
titleShort = "Revisar e enviar"
visibility = "Visibilidade:"
visible = "Visível na página {{page}}"
[groupSigning.steps.selectDocument]
continue = "Continuar para seleção de participantes"
noFile = "Selecione um único arquivo PDF dos seus arquivos ativos para criar uma sessão de assinatura."
selectedFile = "Documento selecionado"
title = "Selecionar documento"
[groupSigning.steps.selectParticipants]
continue = "Continuar para configurações de assinatura"
count_one = "{{count}} participant selected"
count_other = "{{count}} participants selected"
label = "Selecionar participantes"
placeholder = "Escolha os participantes para assinar..."
title = "Escolher participantes"
[groupSigning.tooltip]
header = "Sobre assinatura em grupo"
[groupSigning.tooltip.finalization]
bullet1 = "Todas as assinaturas são aplicadas na ordem de participantes que você especificou"
bullet2 = "Você pode finalizar com assinaturas parciais, se necessário"
bullet3 = "Depois de finalizada, a sessão não pode ser modificada"
description = "Quando todos os participantes tiverem assinado (ou você optar por finalizar antes), você pode gerar o PDF final assinado."
title = "Processo de finalização"
[groupSigning.tooltip.roles]
bullet1 = "Proprietário (você): Cria a sessão, configura padrões de assinatura, finaliza o documento"
bullet2 = "Participantes: Criam sua assinatura, escolhem o certificado, posicionam no PDF"
bullet3 = "Participantes não podem modificar as configurações de visibilidade, motivo ou localização da assinatura"
description = "Você controla as configurações de aparência da assinatura para todos os participantes."
title = "Papéis dos participantes"
[groupSigning.tooltip.sequential]
bullet1 = "O primeiro participante deve assinar antes que o segundo possa acessar o documento"
bullet2 = "Garante a ordem de assinatura adequada para conformidade legal"
bullet3 = "Você pode reordenar os participantes arrastando-os na lista"
description = "Os participantes assinam os documentos na ordem que você especificar. Cada assinante recebe uma notificação quando é sua vez."
title = "Assinatura sequencial"
[guestBanner]
dismiss = "Dispensar banner"
message = "Crie uma conta gratuita para salvar seu trabalho, acessar mais recursos e apoiar o projeto."
signUp = "Inscreva-se grátis"
title = "Você está usando o Stirling PDF como convidado!"
[home.addAttachments]
desc = "Adicionar ou remover arquivos incorporados (anexos) em um PDF"
tags = "incorporar,anexar,incluir"
title = "Adicionar anexos"
[home.addImage]
desc = "Adicionar imagens em um local definido no PDF."
tags = "inserir,incorporar,colocar"
title = "Adicionar Imagem"
[home.addPageNumbers]
desc = "Adicionar números de página no documento, em um local definido."
tags = "numerar,paginação,contar"
title = "Adicionar Números de Página"
[home.addPassword]
desc = "Criptografar seu PDF com uma senha podendo realizar alterações de permissões."
tags = "encrypt,password,lock,secure,protect,security,encryption,safeguard,confidential,private,restrict access"
title = "Proteger PDF"
[home.addStamp]
desc = "Adicionar carimbos de texto ou imagem em locais definidos"
tags = "carimbo,marcar,selo"
title = "Adicionar carimbo ao PDF"
[home.addText]
desc = "Adicione texto personalizado em qualquer lugar do seu PDF"
tags = "texto,anotação,rótulo"
title = "Adicionar texto"
[home.adjustContrast]
desc = "Ajustar Contraste, Saturação e Brilho de um PDF."
tags = "contraste,brilho,saturação"
title = "Ajuste Visual do PDF"
[home.annotate]
desc = "Realce, desenhe, adicione notas e formas no visualizador"
tags = "anotar,realçar,desenhar"
title = "Anotar"
[home.automate]
desc = "Crie fluxos de trabalho de várias etapas encadeando ações de PDF. Ideal para tarefas recorrentes."
tags = "fluxo de trabalho,sequência,automação"
title = "Automatizar"
[home.autoRename]
desc = "Renomeia automaticamente um arquivo PDF com base no cabeçalho detectado"
tags = "detecção automática,baseado em cabeçalho,organizar,renomear"
title = "Renomear PDF automaticamente"
[home.autoSizeSplitPDF]
tags = "auto,dividir,tamanho"
title = "Divisão Manual do PDF"
[home.autoSplitPDF]
tags = "auto,dividir,QR"
title = "Divisão Automática de Páginas"
[home.bookletImposition]
desc = "Criar livretos com ordenação correta de páginas e layout multi-página para impressão e encadernação"
tags = "livreto,impressão,encadernação"
title = "Imposição de livreto"
[home.certSign]
desc = "Assinar PDF com um Certificado/Chave (PEM/P12/JKS)."
tags = "autenticar,PEM,P12,oficial,criptografar,assinar,certificado,PKCS12,JKS,servidor,manual,automático"
title = "Assinar com Certificado"
[home.changeMetadata]
desc = "Alterar/remover/adicionar metadados de um PDF."
tags = "editar,modificar,atualizar"
title = "Alterar Metadados"
[home.changePermissions]
desc = "Alterar restrições e permissões do documento"
tags = "permissions,restrictions,rights,access control,allow,deny,printing,copying,editing,modify permissions,security settings,user rights"
title = "Alterar Permissões"
[home.compare]
desc = "Comparar e mostrar as diferenças entre dois documentos PDF."
tags = "diferença"
title = "Comparar"
[home.compress]
desc = "Comprimir PDFs para reduzir o tamanho do arquivo."
tags = "reduzir,compactar,otimizar"
title = "Comprimir"
[home.convert]
desc = "Converter arquivos entre diferentes formatos"
tags = "transformar,alterar"
title = "Converter"
[home.crop]
desc = "Recortar trecho de um PDF para reduzir o tamanho."
tags = "recortar,cortar,redimensionar"
title = "Recortar"
[home.devAirgapped]
desc = "Link para o guia de configuração isolada (air-gapped)"
tags = "air-gapped,offline,isolated,no internet,disconnected,secure,network isolation,standalone"
title = "Configuração Air-gapped"
[home.devApi]
desc = "Link para a documentação da API"
tags = "API,desenvolvimento,documentação"
title = "API"
[home.devFolderScanning]
desc = "Link para o guia de varredura automática de pastas"
tags = "automação,pasta,varredura"
title = "Varredura automática de pasta"
[home.devSsoGuide]
desc = "Link para o guia de SSO"
tags = "SSO,single sign-on,authentication,SAML,OAuth,OIDC,login,enterprise,identity provider,IdP"
title = "Guia de SSO"
[home.editTableOfContents]
desc = "Adicionar ou editar marcadores e sumário em documentos PDF"
tags = "marcadores,conteúdo,editar"
title = "Editar sumário"
[home.extractImages]
desc = "Extrair as imagens de um PDF e salvá-las em um arquivo compactado."
tags = "extrair,salvar,exportar"
title = "Extrair Imagens"
[home.extractPages]
desc = "Extrair páginas específicas de um documento PDF"
tags = "extrair,selecionar,copiar"
title = "Extrair Página(s)"
[home.flatten]
desc = "Combinar todos os elementos e formulários interativos de um PDF em uma única camada fixa, não editável."
tags = "simplificar,remover,interativo"
title = "Achatar"
[home.formFill]
desc = "Preencha campos de formulário PDF de forma interativa com um editor visual"
title = "Preencher formulário"
[home.getPdfInfo]
desc = "Obtém informações (metadata) de um PDF."
tags = "informações,metadados,detalhes"
title = "Obter Informações de um PDF"
[home.manageCertificates]
tags = "certificados,importar,exportar"
title = "Gerenciar certificados"
[home.merge]
desc = "Mescle facilmente vários PDFs em um só."
tags = "combinar,juntar,unir"
title = "Mesclar"
[home.mobile]
brandAlt = "Logo do Stirling PDF"
openFiles = "Abrir arquivos"
swipeHint = "Deslize para a esquerda ou direita para alternar as visualizações"
tools = "Ferramentas"
toolsSlide = "Painel de seleção de ferramentas"
viewSwitcher = "Alternar visualização da área de trabalho"
workbenchSlide = "Painel da área de trabalho"
workspace = "Área de trabalho"
[home.multiTool]
desc = "Mesclar, girar, reorganizar, dividir, inserir e remover páginas."
tags = "múltiplas,ferramentas"
title = "Multiferramentas de PDF"
[home.ocr]
desc = "Reconhecimento Óptico de Caracteres transforma PDFs com imagens em documentos pesquisáveis e com texto selecionável."
tags = "extrair,escanear"
title = "Processamento de OCR"
[home.overlay-pdfs]
desc = "Sobrepor um PDF sobre outro"
tags = "overlay,combine,merge,layer,superimpose,overlay PDF,layer PDFs,combine PDFs,stack,overlay pages,background,foreground,composite"
title = "Sobrepor PDFs"
[home.pageLayout]
desc = "Mesclar várias páginas de um documento PDF em uma única página."
tags = "layout,organizar,combinar"
title = "Layout de Múltiplas Páginas"
[home.pdfCommentAgent]
desc = "Peça à IA para anotar um PDF com comentários em notas adesivas com base no seu prompt"
tags = "IA,agente,comentário,anotar,nota adesiva,análise,feedback,notas"
title = "Adicionar comentários com IA"
[home.pdfOrganiser]
tags = "organizar,rearranjar,reordenar"
title = "Organizar Páginas"
[home.pdfTextEditor]
desc = "Revise e edite exportações JSON do Stirling PDF com edição de texto agrupada e regeneração do PDF"
tags = "edit text,modify text,change text,edit content,update text,rewrite,correct,amend,redline,revise,text editor,content editor"
title = "Editor de texto de PDF"
[home.pdfToSinglePage]
desc = "Combina todas as páginas de um PDF em uma única página."
tags = "combinar,mesclar,única"
title = "PDF para Página Única"
[home.read]
desc = "Visualize e anote PDFs. Realce texto, desenhe ou insira comentários para revisão e colaboração."
tags = "visualizar,abrir,exibir"
title = "Ler"
[home.redact]
desc = "Ocultação de texto manual baseada em um texto selecionado, desenho de formas ou/e páginas selecionadas."
tags = "censurar,ocultar,esconder"
title = "Ocultação de Texto Manual"
[home.removeAnnotations]
desc = "Remove todos os comentários/anotações de um PDF."
tags = "excluir,limpar,remover"
title = "Remover Anotações"
[home.removeBlanks]
desc = "Detectar e remover páginas em branco de um PDF."
tags = "excluir,limpar,vazio"
title = "Remover Páginas em Branco"
[home.removeCertSign]
desc = "Remover assinatura com Certificado/Chave (PEM/P12/JKS) em um PDF."
tags = "remover,excluir,desbloquear"
title = "Apagar assinatura certificada"
[home.removeImage]
desc = "Remova imagens do PDF para reduzir o tamanho do arquivo."
tags = "remover,excluir,limpar"
title = "Remover Imagem"
[home.removePages]
desc = "Excluir páginas indesejadas do seu PDF."
tags = "excluir,extrair,remover"
title = "Remover Páginas"
[home.removePassword]
desc = "Descriptografar o PDF realizando a remoção da senha."
tags = "desbloquear"
title = "Desproteger PDF"
[home.reorganizePages]
desc = "Reorganize, duplique ou exclua páginas do PDF com controle visual de arrastar e soltar."
tags = "reorganizar,reordenar,organizar"
title = "Reorganizar páginas"
[home.repair]
desc = "Tentar reparar um PDF corrompido/quebrado."
tags = "corrigir,restaurar"
title = "Reparar"
[home.replaceColor]
desc = "Substituir ou inverter cores em documentos PDF"
tags = "replace color,invert color,color replacement,swap colors,change color,invert,negative,color swap,find and replace color,convert color,color change"
title = "Substituir e inverter cor"
[home.rotate]
desc = "Gire facilmente seus PDFs."
tags = "girar,virar,orientar"
title = "Girar"
[home.sanitize]
desc = "Remover elementos potencialmente nocivos de arquivos PDF"
tags = "limpar,purgar,remover"
title = "Sanitizar"
[home.scalePages]
desc = "Alterar o tamanho/escala da página e/ou seu conteúdo."
tags = "redimensionar,ajustar,escalar"
title = "Ajustar Dimensões da Página"
[home.scannerEffect]
desc = "Criar um PDF que pareça ter sido digitalizado"
tags = "scanner,simular,criar"
title = "Efeito de scanner"
[home.scannerImageSplit]
desc = "Detectar e dividir fotos digitalizadas em páginas separadas"
tags = "detectar,dividir,fotos"
title = "Separar fotos escaneadas"
[home.sharedSign]
desc = "Solicite assinaturas de outras pessoas e acompanhe as sessões de assinatura"
title = "Assinatura compartilhada"
[home.showJS]
desc = "Procura, exibe e extrai qualquer JavaScript injetado em um PDF."
tags = "javascript,código,script"
title = "Mostrar Javascript"
[home.sign]
desc = "Adicionar assinatura ao PDF por desenho, texto ou imagem."
tags = "assinatura,autógrafo"
title = "Assinar"
[home.split]
desc = "Dividir PDFs em vários documentos/arquivos."
tags = "dividir,separar,quebrar"
title = "Dividir"
[home.splitByChapters]
tags = "dividir,capítulos,estrutura"
title = "Divide PDF por Capítulos"
[home.splitBySections]
tags = "dividir,seções,particionar"
title = "Dividir PDF por seções"
[home.swagger]
tags = "API,documentação,teste"
title = "Documentação da API"
[home.timestampPdf]
desc = "Adicione um carimbo de data e hora RFC 3161 ao documento para comprovar quando seu PDF existiu"
tags = "carimbo de data e hora,RFC 3161,TSA,autoridade de carimbo do tempo,carimbo de data e hora do documento,prova de existência,token de carimbo de data e hora,carimbo de data e hora confiável,assinar carimbo de data e hora,notarizar"
title = "Carimbo de data e hora no PDF"
[home.unlockPDFForms]
desc = "Remove a propriedade de apenas leitura de formulários em um documento PDF."
tags = "desbloquear,habilitar,editar"
title = "Desbloquear Formulários PDF"
[home.validateSignature]
desc = "Verifica assinatura digital e certificado em um PDF."
tags = "validar,verificar,certificado"
title = "Validar assinatura do PDF"
[home.viewPdf]
title = "Ver/Editar PDF"
[home.watermark]
desc = "Adicionar uma marca d'água personalizada ao seu PDF."
tags = "carimbo,marca,sobreposição"
title = "Adicionar Marca d'água"
[HTMLToPDF]
header = "HTML para PDF"
tags = "marcação,conteúdo-web,transformação,converter"
title = "HTML para PDF"
[image.upload]
hint = "Envie uma imagem PNG, JPG, SVG ou outro arquivo de imagem para colocar no PDF. Arquivos SVG serão convertidos em PNG para compatibilidade."
label = "Enviar imagem"
placeholder = "Selecionar arquivo de imagem"
[imageToPdf]
tags = "conversão,img,jpg,imagem,foto"
[imageToPDF]
header = "Imagem para PDF"
title = "Imagem para PDF"
[infoBanner]
dismiss = "Dispensar"
[invite]
acceptError = "Falha ao criar conta"
accountFor = "Criando conta para"
alreadyHaveAccount = "Já tem uma conta?"
choosePassword = "Escolha uma senha"
confirmPassword = "Confirmar senha"
confirmPasswordPlaceholder = "Redigite sua senha"
createAccount = "Criar conta"
creating = "Criando conta..."
email = "Endereço de e-mail"
emailPlaceholder = "Insira seu endereço de e-mail"
emailRequired = "O endereço de e-mail é obrigatório"
goToLogin = "Ir para Login"
invalidEmail = "Endereço de e-mail inválido"
invalidInvitation = "Convite inválido"
invalidToken = "Link de convite inválido"
linkExpires = "O link expira"
passwordMismatch = "As senhas não coincidem"
passwordPlaceholder = "Insira sua senha"
passwordRequired = "A senha é obrigatória"
signIn = "Entrar"
validating = "Validando convite..."
validationError = "Falha ao validar link de convite"
welcome = "Bem-vindo ao Stirling PDF"
welcomeSubtitle = "Conclua a configuração da sua conta para começar"
welcomeTitle = "Você foi convidado!"
[landing]
addFiles = "Adicionar arquivos"
heroSubtitle = "Solte ou adicione um PDF existente para começar."
mobileUpload = "Enviar do celular"
openFromComputer = "Abrir do computador"
uploadFromComputer = "Fazer upload do computador"
workbenchEmptyStateHero = "Solte um PDF em qualquer lugar"
[language]
direction = "ltr"
[legal]
accessibility = "Acessibilidade"
cookie = "Política de Cookies"
iAgreeToThe = "Concordo com todos os"
impressum = "Informações legais"
privacy = "Política de Privacidade"
showCookieBanner = "Preferências de Cookies"
terms = "Termos e Condições"
[licenses]
title = "Licenças de Terceiros"
[localMode]
toolUnavailable = "Esta ferramenta requer uma conta. Entre no Stirling Cloud ou conecte-se a um servidor auto-hospedado para usá-la."
[localMode.toolPicker]
message = "Entre para desbloquear todas as ferramentas."
signIn = "Entrar"
[login]
accountCreatedSuccess = "Conta criada com sucesso! Você já pode entrar."
backToSignIn = "Voltar para o login"
changePasswordWarning = "Altere sua senha após fazer login pela primeira vez"
createAccount = "Create an account"
credentialsUpdated = "Suas credenciais foram atualizadas. Faça login novamente."
defaultCredentials = "Credenciais de Login Padrão"
email = "E-mail"
enterEmail = "Insira seu e-mail"
enterEmailForMagicLink = "Insira seu e-mail para link mágico"
enterMfaCode = "Insira o código de 6 dígitos"
enterPassword = "Insira sua senha"
enterUsername = "Insira o nome de usuário"
failedToSignIn = "Falha ao entrar com {{provider}}: {{message}}"
forgotPassword = "Esqueceu sua senha?"
loggingIn = "Entrando..."
logIn = "Entrar"
login = "Login"
magicLinkSent = "Link mágico enviado para {{email}}! Verifique seu e-mail e clique no link para entrar."
mfaCode = "Código de autenticação"
mfaRequired = "Código de dois fatores necessário"
or = "Ou"
password = "Senha"
passwordChangedSuccess = "Senha alterada com sucesso! Faça login com sua nova senha."
passwordResetSent = "Link de redefinição de senha enviado para {{email}}! Verifique seu e-mail e siga as instruções."
passwordUpdatedSuccess = "Sua senha foi atualizada com sucesso."
pleaseEnterBoth = "Insira e-mail e senha"
pleaseEnterEmail = "Insira seu endereço de e-mail"
resetHelp = "Digite seu e-mail para receber um link seguro para redefinir sua senha. Se o link expirou, solicite um novo."
resetYourPassword = "Redefinir sua senha"
sending = "Enviando…"
sendMagicLink = "Enviar link mágico"
sendResetLink = "Enviar link de redefinição"
sessionExpired = "Sua sessão expirou. Faça login novamente."
signin = "Iniciar sessão"
signingIn = "Fazendo login..."
signInWith = "Entrar com"
title = "Iniciar sessão"
unexpectedError = "Erro inesperado: {{message}}"
updatePassword = "Atualizar senha"
useEmailInstead = "Login com e-mail"
useMagicLink = "Usar link mágico"
username = "Nome de usuário"
youAreLoggedIn = "Você está conectado!"
[login.slides.edit]
alt = "Editar PDFs"
subtitle = "Com mais de uma dúzia de ferramentas para ajudar a ocultar, assinar, ler e manipular PDFs, você certamente encontrará o que precisa."
title = "Edite PDFs para exibir/proteger as informações que você deseja"
[login.slides.overview]
alt = "Visão geral do Stirling PDF"
subtitle = "Uma suíte em nuvem com foco em privacidade para PDFs que permite converter, assinar, ocultar e gerenciar documentos, além de 50+ outras ferramentas poderosas."
title = "Tudo o que você precisa para PDFs em um só lugar."
[login.slides.secure]
alt = "Proteger PDFs"
subtitle = "Adicione senhas, oculte conteúdo e gerencie certificados com facilidade."
title = "Proteja informações sensíveis em seus PDFs"
[margin]
large = "Grande"
medium = "Médio"
small = "Pequeno"
xLarge = "Extra grande"
[MarkdownToPDF]
header = "Markdown para PDF"
tags = "marcação,conteúdo-web,transformação,converter"
title = "Markdown para PDF"
[merge]
goToFileEditor = "Ir para o editor de arquivos"
submit = "Mesclar"
tags = "mesclar,Operações de Página,Back-end,lado do servidor"
title = "Mesclar"
viewerModeHint = "Mesclar requer 2 ou mais arquivos. Vá ao editor de arquivos para selecioná-los."
[merge.error]
failed = "Ocorreu um erro ao mesclar os PDFs."
[merge.generateTableOfContents]
label = "Gerar sumário no arquivo mesclado?"
[merge.generateTableOfContents.tooltip]
description = "Cria automaticamente um sumário clicável no PDF mesclado com base nos nomes originais dos arquivos e nos números de página."
title = "Gerar sumário"
[merge.removeDigitalSignature]
label = "Remover a assinatura digital no arquivo mesclado?"
[merge.removeDigitalSignature.tooltip]
description = "Assinaturas digitais serão invalidadas ao mesclar arquivos. Marque isto para removê-las do PDF final."
title = "Remover assinatura digital"
[merge.sortBy]
ascending = "Ascendente"
dateModified = "Data de modificação"
descending = "Descendente"
description = "Os arquivos serão mesclados na ordem em que forem selecionados. Arraste para reordenar ou ordene abaixo."
filename = "Nome do Arquivo"
label = "Ordenar por"
sort = "Ordenar"
[merge.tooltip.header]
title = "Visão geral das configurações de mesclagem"
[mobileScanner]
addToBatch = "Adicionar ao lote"
back = "Voltar"
batchImages = "Lote"
camera = "Câmera"
cameraAccessDenied = "Acesso à câmera negado. Habilite o acesso à câmera."
cameraDescription = "Escaneie documentos usando a câmera do seu dispositivo com detecção automática de bordas"
capture = "Capturar foto"
chooseMethod = "Escolha o método de envio"
chooseMethodDescription = "Selecione como você deseja escanear e enviar documentos"
clearBatch = "Limpar"
edgeDetection = "Detecção de bordas"
fileDescription = "Enviar fotos ou documentos existentes do seu dispositivo"
fileUpload = "Envio de arquivo"
flash = "Flash"
flashlight = "Lanterna"
httpsRequired = "O acesso à câmera requer HTTPS ou localhost. Use HTTPS ou acesse via localhost."
noSession = "Sessão inválida"
noSessionMessage = "Escaneie um QR code válido para acessar esta página."
processing = "Processando..."
retake = "Refazer foto"
selectFilesPrompt = "Selecione arquivos para enviar"
selectImage = "Selecionar imagem"
sessionExpired = "Esta sessão expirou. Atualize e tente novamente."
sessionInvalid = "Erro de sessão"
sessionNotFound = "Sessão não encontrada. Atualize e tente novamente."
sessionValidationError = "Não foi possível verificar a sessão. Tente novamente."
title = "Scanner móvel"
upload = "Enviar"
uploadAll = "Enviar tudo"
uploadFailed = "Falha no envio. Tente novamente."
uploading = "Enviando..."
uploadSuccess = "Envio concluído!"
uploadSuccessMessage = "Suas imagens foram transferidas."
validating = "Validando sessão..."
[mobileUpload]
description = "Escaneie para enviar fotos. As imagens convertem automaticamente para PDF."
descriptionNoConvert = "Escaneie para enviar fotos do seu dispositivo móvel."
error = "Erro de conexão"
expiryWarning = "Sessão expirando em breve"
expiryWarningMessage = "Este QR code expirará em {{seconds}} segundos. Um novo código será gerado automaticamente."
filesReceived_one = "{{count}} file received"
filesReceived_other = "{{count}} files received"
instructions = "Escaneie com a câmera do seu celular. As imagens convertem para PDF automaticamente."
instructionsNoConvert = "Escaneie com a câmera do seu celular para enviar arquivos."
pollingError = "Erro ao verificar arquivos"
sessionCreateError = "Falha ao criar sessão"
title = "Enviar do celular"
[multiTool]
tags = "Multiferramentas,múltiplas operações,Interface do Usuário,Clique e arraste,front-end,lado do cliente,interativo,intratável,movimento,excluir,migrar,dividir"
title = "Multiferramentas de PDF"
[navbar]
search = "Pesquisar"
[oauth.error]
message = "A autenticação não foi bem-sucedida. Você pode fechar esta janela e tentar novamente."
title = "Falha na autenticação"
[oauth.success]
message = "Você pode fechar esta janela e voltar ao Stirling PDF."
title = "Autenticação bem-sucedida"
[oauthConsent]
approve = "Allow access"
approving = "Allowing..."
decisionFailed = "Could not submit your decision. Please try again."
deny = "Deny"
denying = "Denying..."
loadFailed = "This authorisation request is invalid or has expired. Close this tab and try connecting again from the app."
loading = "Loading authorisation request..."
missingId = "Missing authorisation request. Start the connection from your app and try again."
redirecting = "Returning you to the app..."
requesting = "{{app}} wants to access your Stirling PDF account"
scopesIntro = "This will allow {{app}} to:"
signedInAs = "Signed in as {{name}}"
signInButton = "Sign in to continue"
signInPrompt = "Sign in to your Stirling PDF account to continue connecting the app."
title = "Authorise access"
unknownApp = "A third-party application"
[oauthConsent.access]
actAsYou = "Act as you - everything {{app}} does runs under your account and counts towards your usage"
tools = "Use your Stirling PDF tools on your behalf - convert, edit, sign, secure and process your documents"
[oauthConsent.scope]
email = "See your email address"
openid = "Confirm your identity"
phone = "See your phone number"
profile = "See your basic profile information"
[ocr]
desc = "Reconhecimento Óptico de Caracteres transforma PDFs com imagens em documentos pesquisáveis e com texto selecionável."
tags = "reconhecimento,texto,imagem,digitalização,leitura,identificação,detecção,editável"
title = "Processamento de OCR"
[ocr.error]
failed = "Falha na operação de OCR"
[ocr.languagePicker]
additionalLanguages = "Procurando idiomas adicionais?"
loading = "Carregando idiomas disponíveis..."
viewSetupGuide = "Ver guia de configuração →"
[ocr.operation]
submit = "Processar OCR e revisar"
[ocr.results]
title = "Resultados de OCR"
[ocr.settings]
title = "Configurações"
[ocr.settings.advancedOptions]
clean = "Limpar arquivo de entrada"
cleanFinal = "Limpar saída final"
deskew = "Corrigir inclinação das páginas"
label = "Opções de processamento"
sidecar = "Criar um arquivo de texto"
[ocr.settings.compatibilityMode]
label = "Modo de compatibilidade"
[ocr.settings.languages]
label = "Idiomas"
placeholder = "Selecionar idiomas"
[ocr.settings.ocrMode]
auto = "Automático (pular camadas de texto)"
force = "Forçar (re-OCR em tudo, substituir texto)"
label = "Modo OCR:"
strict = "Rígido (abortar se houver texto)"
[ocr.tooltip.advanced.clean]
text = "Pré-processa a entrada removendo ruído, aprimorando contraste e otimizando a imagem para melhor reconhecimento de OCR antes do processamento."
title = "Limpar arquivo de entrada"
[ocr.tooltip.advanced.cleanFinal]
text = "Pós-processa o PDF final removendo artefatos de OCR e otimizando a camada de texto para melhor legibilidade e tamanho menor."
title = "Limpar saída final"
[ocr.tooltip.advanced.compatibility]
text = "Usa o modo de OCR 'sandwich PDF': resulta em arquivos maiores, porém mais confiáveis com certos idiomas e softwares PDF mais antigos. Por padrão usamos hOCR para PDFs menores e modernos."
title = "Modo de compatibilidade"
[ocr.tooltip.advanced.deskew]
text = "Corrige automaticamente páginas tortas ou inclinadas para melhorar a precisão do OCR. Útil para documentos digitalizados que não ficaram perfeitamente alinhados."
title = "Corrigir inclinação das páginas"
[ocr.tooltip.advanced.header]
title = "Processamento avançado de OCR"
[ocr.tooltip.advanced.sidecar]
text = "Gera um arquivo .txt separado junto ao PDF contendo todo o texto extraído para fácil acesso e processamento."
title = "Criar arquivo de texto"
[ocr.tooltip.header]
title = "Visão geral das configurações de OCR"
[ocr.tooltip.languages]
text = "Melhore a precisão do OCR especificando os idiomas esperados. Escolha um ou mais idiomas para orientar a detecção."
title = "Idiomas"
[ocr.tooltip.mode]
bullet1 = "Automático pula páginas que já contêm camadas de texto."
bullet2 = "Forçar reexecuta o OCR em todas as páginas e substitui todo o texto."
bullet3 = "Rígido interrompe se for encontrado qualquer texto selecionável."
text = "Optical Character Recognition (OCR) ajuda você a transformar páginas digitalizadas ou capturas de tela em texto que pode pesquisar, copiar ou destacar."
title = "Modo OCR:"
[ocr.tooltip.output]
bullet1 = "PDF pesquisável incorpora o texto atrás da imagem original."
bullet2 = "HOCR XML retorna um arquivo estruturado legível por máquina."
bullet3 = "Sidecar de texto simples cria um arquivo .txt separado com o conteúdo bruto."
text = "Decida como você quer que o texto de saída seja formatado:"
title = "Saída"
[onboarding]
activeFiles = "A visualização de <strong>Arquivos Ativos</strong> mostra todos os PDFs que você carregou na ferramenta e permite selecionar quais processar."
allTools = "This is the <strong>All Tools</strong> panel, where you can browse and select from all available PDF tools."
close = "Fechar"
cropSettings = "Agora que selecionamos o arquivo que queremos recortar, podemos configurar a ferramenta Recortar para escolher a área para a qual queremos recortar o PDF."
fileCheckbox = "Clicar em um dos arquivos o seleciona para processamento. Você pode selecionar vários arquivos para operações em lote."
fileReplacement = "O arquivo modificado substituirá automaticamente o arquivo original no Workbench, permitindo que você o passe facilmente por mais ferramentas."
filesButton = "O botão <strong>Arquivos</strong> na barra de Acesso Rápido permite fazer upload de PDFs para usar nas ferramentas."
fileSources = "Você pode enviar novos arquivos ou acessar arquivos recentes daqui. Para o tour, usaremos um arquivo de exemplo."
finish = "Concluir"
next = "Próximo"
pinButton = "Você pode usar o botão <strong>Fixar</strong> se preferir que seus arquivos permaneçam ativos após executar ferramentas neles."
results = "Após a ferramenta terminar, a etapa de <strong>Revisão</strong> mostrará uma prévia dos resultados neste painel, e permitirá desfazer a operação ou baixar o arquivo. "
runButton = "Depois que a ferramenta for configurada, este botão permite executar a ferramenta em todos os PDFs selecionados."
selectCropTool = "Vamos selecionar a ferramenta de <strong>Recortar</strong> para demonstrar como usar uma das ferramentas."
toolInterface = "Esta é a interface da ferramenta de <strong>Recortar</strong>. Como você pode ver, não há muito aqui porque ainda não adicionamos nenhum arquivo PDF para trabalhar."
workbench = "Este é o <strong>Workbench</strong> — a área principal onde você visualiza e edita seus PDFs."
wrapUp = "Tudo pronto! Você aprendeu sobre as áreas principais do app e como usá-las. Clique no botão <strong>Ajuda</strong> quando quiser para ver este tour novamente."
[onboarding.buttons]
back = "Voltar"
download = "Baixar →"
next = "Próximo →"
showMeAround = "Me mostre por aí"
skipForNow = "Pular por enquanto"
skipTheTour = "Pular o tour"
[onboarding.desktopInstall]
body = "O Stirling funciona melhor como app desktop. Você pode usá-lo offline, acessar documentos mais rápido e fazer edições localmente no computador."
selectOs = "Selecionar sistema operacional"
title = "Download"
titleWithOs = "Download para {{osLabel}}"
[onboarding.mfa]
authenticationCode = "Código de autenticação"
qrCodeLoading = "Gerando seu código QR…"
[onboarding.planOverview]
adminBodyLoginDisabled = "Depois de ativar o modo de login, você poderá gerenciar usuários, configurar as configurações e monitorar a integridade do servidor. As primeiras <strong>{{freeTierLimit}}</strong> pessoas no seu servidor usam o Stirling gratuitamente."
adminBodyLoginEnabled = "Como admin, você pode gerenciar usuários, configurar as configurações e monitorar a integridade do servidor. As primeiras <strong>{{freeTierLimit}}</strong> pessoas no seu servidor usam o Stirling gratuitamente."
adminTitle = "Visão geral do admin"
userBody = "Convide colegas, atribua funções e mantenha seus documentos organizados em um espaço de trabalho seguro. Ative o modo de login quando estiver pronto para ir além do uso individual."
userTitle = "Visão geral do plano"
[onboarding.saas.freeEditor]
freeLine = "The editor is now <free>completely free</free>."
premium = "We've added loads of new features, including <strong>Policies</strong> and <strong>Agent Chat</strong>."
title = "Welcome to Stirling"
[onboarding.saas.team]
addButton = "Add"
createBody = "Work on documents together: teammates share files, automations and your plan. Add the first member by email to create your team."
createTitle = "Create your team"
inviteBody = "Everyone on your team shares files, automations and your plan. Add teammates by email and they'll get an invitation."
inviteTitle = "Invite members to your team"
[onboarding.saas.usage]
body = "Automations, AI and API requests draw from your free allowance. Manual editing never counts against it."
title = "Your free Processor allowance"
[onboarding.securityCheck]
message = "O aplicativo passou por mudanças significativas recentemente. Pode ser necessária a atenção do administrador do servidor. Confirme seu papel para continuar."
roleAdmin = "Administrador"
rolePlaceholder = "Confirme sua função"
roleUser = "Usuário"
[onboarding.serverLicense]
freeBody = "Nossa licença <strong>Open-Core</strong> permite até <strong>{{freeTierLimit}}</strong> usuários grátis por servidor. Para escalar sem interrupções e ter acesso antecipado à nova <strong>ferramenta de edição de texto em PDF</strong>, recomendamos o plano Stirling Server - edição completa e <strong>assentos ilimitados</strong> por US$ 99/servidor/mês."
freeTitle = "Licença do servidor"
overLimitBody = "Nossa licença permite até <strong>{{freeTierLimit}}</strong> usuários grátis por servidor. Você tem <strong>{{overLimitUserCopy}}</strong> usuários do Stirling. Para continuar sem interrupções, faça upgrade para o plano Stirling Server - <strong>assentos ilimitados</strong>, edição de texto em PDF e controle total de admin por US$ 99/servidor/mês."
overLimitTitle = "Necessária licença do servidor"
seePlans = "Ver planos →"
upgrade = "Fazer upgrade agora →"
[onboarding.tourOverview]
body = "O Stirling PDF V2 vem com dezenas de ferramentas e um layout renovado. Faça um tour rápido para ver o que mudou e onde encontrar os recursos de que você precisa."
title = "Visão geral do tour"
[onboarding.welcomeSlide]
body = "Stirling PDF agora está pronto para equipes de todos os tamanhos. Esta atualização inclui um novo layout, poderosos recursos de administração e nosso recurso mais solicitado - <strong>Editar texto</strong>."
title = "Bem-vindo ao Stirling"
[onboarding.whatsNew]
activeFilesView = "Use Arquivos ativos para ver tudo o que você tem aberto e escolher em que trabalhar."
fileUpload = "Use o botão <strong>Arquivos</strong> para enviar ou escolher um PDF recente. Carregaremos um exemplo para que você veja o espaço de trabalho."
leftPanel = "O painel esquerdo de <strong>Ferramentas</strong> lista tudo o que você pode fazer. Navegue pelas categorias ou pesquise para encontrar uma ferramenta rapidamente."
pageEditorView = "Mude para o Editor de páginas para reordenar, girar ou excluir páginas."
quickAccess = "Comece no trilho de <strong>Acesso Rápido</strong> para alternar entre Leitor, Automatizar, seus arquivos e todos os tours."
topBar = "A barra superior permite alternar entre <strong>Visualizador</strong>, <strong>Editor de páginas</strong> e <strong>Arquivos ativos</strong>."
wrapUp = "Isso é o que há de novo na V2. Abra o menu <strong>Tours</strong> a qualquer momento para rever este, o tour de Ferramentas ou o tour de Admin."
[overlay-pdfs]
desc = "Sobrepor um PDF sobre outro"
submit = "Enviar"
tags = "Sobreposição"
title = "Sobrepor PDFs"
[overlay-pdfs.counts]
item = "Quantidade para o arquivo"
label = "Contagens de sobreposição (para modo de repetição fixa)"
noFiles = "Adicione arquivos de sobreposição para configurar quantidades"
[overlay-pdfs.error]
failed = "Ocorreu um erro ao sobrepor os PDFs."
[overlay-pdfs.mode]
fixedRepeat = "Sobreposição de repetição fixa"
interleaved = "Sobreposição intercalada"
label = "Selecione o modo de sobreposição:"
sequential = "Sobreposição sequencial"
[overlay-pdfs.overlayFiles]
addMore = "Adicionar mais PDFs..."
label = "Selecione os arquivos PDF para sobreposição:"
placeholder = "Escolher PDF(s)..."
[overlay-pdfs.position]
background = "Plano de fundo"
foreground = "Primeiro plano"
label = "Selecione a posição de sobreposição"
[overlay-pdfs.results]
title = "Resultados da sobreposição"
[overlay-pdfs.settings]
title = "Configurações"
[overlay-pdfs.tooltip.counts]
text = "Forneça um número positivo para cada arquivo de sobreposição indicando quantas páginas pegar antes de passar para o próximo. Obrigatório quando o modo é Repetição Fixa."
title = "Quantidades (somente Repetição Fixa)"
[overlay-pdfs.tooltip.description]
text = "Combine um PDF base com um ou mais PDFs de sobreposição. As sobreposições podem ser aplicadas página a página em diferentes modos e colocadas em primeiro plano ou plano de fundo."
title = "Descrição"
[overlay-pdfs.tooltip.header]
title = "Visão geral de sobreposição de PDFs"
[overlay-pdfs.tooltip.mode]
fixedRepeat = "Sobreposição de repetição fixa: pegue um número definido de páginas de cada sobreposição antes de passar para a próxima. Use Quantidades para definir os números."
interleaved = "Sobreposição intercalada: pegue uma página de cada sobreposição por vez."
sequential = "Sobreposição sequencial: use páginas do primeiro PDF de sobreposição até acabar, depois passe para o próximo."
text = "Escolha como distribuir as páginas de sobreposição pelas páginas do PDF base."
title = "Modo de sobreposição"
[overlay-pdfs.tooltip.overlayFiles]
text = "Selecione um ou mais PDFs para sobrepor ao base. A ordem desses arquivos afeta como as páginas são aplicadas nos modos Sequencial e Repetição Fixa."
title = "Arquivos de sobreposição"
[overlay-pdfs.tooltip.position]
text = "Primeiro plano coloca a sobreposição acima da página. Plano de fundo a coloca atrás."
title = "Posição da sobreposição"
[pageEdit]
deselectAll = "Selecionar nenhum"
selectAll = "Selecionar tudo"
[pageEditor]
title = "Editor de páginas"
[pageEditor.emptyState]
body = "Adicione arquivos para começar a editar páginas"
title = "Nenhum arquivo PDF carregado"
[pageEditor.toolbar]
delete = "Excluir selecionadas"
redo = "Refazer"
rotateLeft = "Girar selecionadas para a esquerda"
rotateRight = "Girar selecionadas para a direita"
undo = "Desfazer"
[pageExtracter]
title = "Extrair Página(s)"
[pageLayout]
addBorder = "Adicionar bordas."
borderWidth = "Espessura da borda"
bottom = "Margem inferior"
cols = "Colunas"
colsPlaceholder = "Digite colunas"
innerMargin = "Margem interna"
left = "Margem esquerda"
pagesPerSheet = "Páginas por folha:"
right = "Margem direita"
rows = "Linhas"
rowsPlaceholder = "Digite linhas"
submit = "Enviar"
tags = "mesclar,composto,vista-única,organizar"
title = "Layout de Múltiplas Páginas"
top = "Margem superior"
[pageLayout.advanced.tooltip.arrangement]
bullet1 = "Por linhas: preenche cada linha primeiro."
bullet2 = "Por colunas: preenche cada coluna primeiro."
text = "Controla se as páginas preenchem a grade linha por linha ou coluna por coluna."
title = "Disposição das páginas"
[pageLayout.advanced.tooltip.header]
title = "Opções avançadas de layout"
[pageLayout.advanced.tooltip.orientation]
text = "Escolha a orientação final da folha. Retrato funciona melhor para conteúdo alto, enquanto paisagem se ajusta a layouts mais largos."
title = "Orientação"
[pageLayout.advanced.tooltip.readingDirection]
bullet1 = "LTR: ordem da esquerda para a direita."
bullet2 = "RTL: ordem da direita para a esquerda."
text = "Define a ordenação horizontal na grade, útil para convenções de documentos da esquerda para a direita e da direita para a esquerda."
title = "Direção de leitura"
[pageLayout.arrangement]
byColumns = "Por colunas"
byRows = "Por linhas"
label = "Disposição das páginas:"
[pageLayout.desc]
16 = "Coloque 16 páginas em uma única folha (grade 4 × 4)."
2 = "Coloque 2 páginas lado a lado em uma única folha."
4 = "Coloque 4 páginas em uma única folha (grade 2 × 2)."
9 = "Coloque 9 páginas em uma única folha (grade 3 × 3)."
[pageLayout.error]
failed = "Ocorreu um erro ao criar o layout de várias páginas."
innerMarginTooLarge = "A margem interna é muito grande para o layout selecionado."
outerHorizontalMarginsTooLarge = "As margens esquerda/direita são muito grandes para este tamanho de página."
outerVerticalMarginsTooLarge = "As margens superior/inferior são muito grandes para este tamanho de página."
[pageLayout.margins]
borderThicknessPlaceholder = "Digite a espessura da borda"
bottomPlaceholder = "Digite a margem inferior"
innerPlaceholder = "Digite a margem interna"
leftPlaceholder = "Digite a margem esquerda"
rightPlaceholder = "Digite a margem direita"
topPlaceholder = "Digite a margem superior"
[pageLayout.marginsBorders.tooltip.borders]
text = "Ative as bordas para desenhar linhas ao redor de cada página posicionada. Isso pode ajudar na separação visual ou no acabamento."
title = "Adicionar bordas"
[pageLayout.marginsBorders.tooltip.borderWidth]
text = "A espessura da borda só é aplicada quando as bordas estão ativadas. Valores maiores produzem linhas mais grossas."
title = "Espessura da borda"
[pageLayout.marginsBorders.tooltip.header]
title = "Margens e bordas"
[pageLayout.marginsBorders.tooltip.innerMargin]
text = "A margem interna adiciona espaçamento entre as células na grade da página para melhorar a separação e a legibilidade."
title = "Margem interna"
[pageLayout.marginsBorders.tooltip.margins]
text = "Use as margens superior, inferior, esquerda e direita para controlar o espaçamento ao redor de toda a folha de saída."
title = "Margens"
[pageLayout.mode]
custom = "Personalizado"
default = "Padrão"
label = "Modo:"
[pageLayout.orientation]
label = "Orientação:"
landscape = "Paisagem"
portrait = "Retrato"
[pageLayout.readingDirection]
label = "Direção de leitura:"
ltr = "Da esquerda para a direita"
rtl = "Da direita para a esquerda"
[pageLayout.tooltip.header]
title = "Guia de layout de página"
[pageLayout.tooltip.mode]
bullet1 = "Padrão: escolha um predefinido e a grade será calculada automaticamente."
bullet2 = "Personalizado: defina linhas e colunas manualmente."
text = "Escolha como a grade é configurada:"
title = "Modo"
[pageLayout.tooltip.overview]
text = "Ajuste várias páginas em uma única folha para folhetos ou para economizar papel."
title = "O que é layout de página?"
[pageLayout.tooltip.pagesPerSheet]
text = "Escolha quantas páginas por folha (ex.: 4 → 2×2, 9 → 3×3)."
title = "Páginas por folha (modo padrão)"
[pageLayout.tooltip.rowsCols]
text = "Defina as dimensões exatas da grade. Total de páginas por folha = linhas × colunas."
title = "Linhas e colunas (modo personalizado)"
[pageRemover]
title = "Remover Páginas"
[pageSelection.tooltip]
description = "Escolha quais páginas usar na operação. Suporta páginas únicas, intervalos, fórmulas e a palavra-chave all."
[pageSelection.tooltip.complex]
bullet1 = "<strong>1,3-5,8,2n</strong> → páginas 1, 35, 8, mais as pares"
bullet2 = "<strong>10-,2n-1</strong> → da página 10 até o fim + páginas ímpares"
description = "Misture diferentes tipos."
title = "Combinações complexas"
[pageSelection.tooltip.header]
title = "Guia de seleção de páginas"
[pageSelection.tooltip.individual]
bullet1 = "<strong>1,3,5</strong> → seleciona as páginas 1, 3, 5"
bullet2 = "<strong>2,7,12</strong> → seleciona as páginas 2, 7, 12"
description = "Informe números separados por vírgulas."
title = "Páginas individuais"
[pageSelection.tooltip.mathematical]
bullet1 = "<strong>2n</strong> → todas as páginas pares (2, 4, 6…)"
bullet2 = "<strong>2n-1</strong> → todas as páginas ímpares (1, 3, 5…)"
bullet3 = "<strong>3n</strong> → a cada 3 páginas (3, 6, 9…)"
bullet4 = "<strong>4n-1</strong> → páginas 3, 7, 11, 15…"
description = "Use n em fórmulas para padrões."
title = "Funções matemáticas"
[pageSelection.tooltip.ranges]
bullet1 = "<strong>3-6</strong> → seleciona as páginas 36"
bullet2 = "<strong>10-15</strong> → seleciona as páginas 1015"
bullet3 = "<strong>5-</strong> → seleciona da página 5 até o fim"
description = "Use - para páginas consecutivas."
title = "Intervalos de páginas"
[pageSelection.tooltip.special]
bullet1 = "<strong>all</strong> → seleciona todas as páginas"
title = "Palavras-chave especiais"
[payg.activity]
docs = "docs"
empty = "No billable activity yet this period."
subtitle = "Only AI and automation draw from your budget. Everyday tools are free and aren't listed here."
title = "Recent billable activity"
[payg.cap]
amount = "Cap amount"
custom = "Custom"
docsEstimate = "≈ {{docs}} processed PDFs / month"
docsRate = "at {{rate}} / PDF"
noCapDesc = "Usage is billed without an upper limit. You can re-enable a cap at any time."
noCapLabel = "No cap"
noneShort = "No cap"
perMonth = "/ month"
save = "Update cap"
subtitle = "Set your maximum spend. We convert this to PDFs using the current price tier."
title = "Monthly spending cap"
[payg.checkout]
connecting = "Connecting to Stripe…"
errorTitle = "Stripe error"
[payg.checkout.error]
startFailed = "Couldn't start checkout session"
[payg.checkout.mock]
backend = "Backend is in mock mode; no real Stripe session was created."
continue = "Continue with mock subscription"
noKey = "VITE_STRIPE_PUBLISHABLE_KEY is unset. Real iframe mounts here once configured."
title = "Stripe Embedded Checkout (mock mode)"
[payg.confirm]
body = "Your team can now run automation, AI, and API operations beyond your 500 free PDFs."
capValue = "{{symbol}}{{amount}} / month"
noCap = "No cap"
note = "You can change your cap, cancel, or open the Stripe customer portal any time from this page."
summaryLabel = "Monthly ceiling"
title = "Welcome to the Processor plan"
[payg.docHelp]
billable = "Only automation runs, AI tools, and API calls count. Manual tools in the editor are always free."
chains = "Running the same file through several steps of one automation counts it once, not once per step."
perFile = "Each file you process counts as one PDF. Very long or very large files can count as more than one."
refunds = "If a job fails on its first step, the PDF is credited back automatically."
toggle = "What counts as a PDF?"
[payg.error]
body = "We couldn't reach the billing service. Refresh the page to try again."
title = "Couldn't load your plan"
[payg.free.cta]
benefit1Body = "chain tools, schedule runs, batch process"
benefit1Title = "Automation pipelines"
benefit2Body = "summarise, classify, redact, AI-OCR"
benefit2Title = "AI tools"
benefit3Body = "call any Stirling endpoint programmatically"
benefit3Title = "API access"
button = "Turn on Processor →"
reassurance = "No minimum · Set a $0 cap to test · Cancel anytime"
subtitle = "Keep going past your 500 free PDFs with automation, AI, and the API. Set a monthly ceiling, so you stay in control."
title = "Turn on the Processor plan"
[payg.free.editor]
eyebrow = "Editor plan · Always free"
[payg.free.header]
freeBody = "View, edit, merge, split, sign, watermark, compress, convert and manual OCR — as much as you want, no matter where you trigger it."
freeTitle = "Unlimited PDF editing"
[payg.free.hero]
capSuffix = "/ {{limit}} free PDFs"
metaCategories = "Automation · AI · API requests"
[payg.free.member]
ownerOnly = "Only your team owner can turn on Processor. Manual tools stay free for you to use as much as you like."
[payg.free.proc]
eyebrow = "Processor plan · metered"
[payg.free.state]
approachingLimit = "Approaching limit"
limitReached = "Limit reached"
plentyLeft = "Plenty left"
[payg.gates]
ai = "AI tools (AI Create, suggestions, AI-OCR)"
automation = "Automations & pipelines"
client = "Browser-only tools (viewer, page editor, file management)"
offsite = "Server tools (compress, OCR, convert, watermark…)"
pauses = "pauses at cap"
title = "What happens when the cap is reached"
[payg.header]
eyebrow = "Processor plan · {{start}} {{end}}"
freeBody = "View, edit, merge, split, sign, watermark, compress, convert and manual OCR — as much as you want, no matter where you trigger it."
freeLabel = "Always free"
freeTitle = "Unlimited PDF editing"
meterBody = "{{limit}} free PDFs to start, then billed per PDF up to your cap."
meterLabel = "Metered"
meterTitle = "Automation · AI · API"
[payg.member]
askLeader = "Only your team owner can change the cap."
[payg.members]
docs = "PDFs"
subtitle = "Billable PDFs each teammate has processed this period."
title = "Team member usage"
[payg.role]
leader = "Team owner"
member = "Member"
[payg.signupRequired]
body = "Stirling PDF gives every signed-up account 500 free operations, enough to keep most workflows humming without paying a cent. You're currently using Stirling as a guest, which doesn't include billable tools like AI, automations, or hosted processing."
cancel = "Not now"
cta = "Sign up free"
subtext = "Creating an account is free and takes a few seconds. No credit card required."
title = "Sign up to use {{category}}"
[payg.signupRequired.category]
ai = "AI features"
api = "this tool"
automation = "automations"
default = "this feature"
[payg.spendCapMeter]
capSuffix = "/ {{amount}} cap"
metaCategories = "Automation · AI · API spend"
resets = "Resets each billing period"
[payg.state]
degraded = "Cap reached"
full = "Healthy"
warned = "Approaching cap"
[payg.stripe]
open = "Open billing portal"
subtitle = "Receipts, invoices, payment method, billing currency."
title = "Manage billing in Stripe"
[payg.stripe.toast.unavailable]
body = "Billing portal isn't available right now. Try again in a moment."
title = "Billing portal unavailable"
[payg.upgrade]
backAria = "Back"
closeAria = "Close"
[payg.upgrade.button]
cancel = "Cancel"
continue = "Continue →"
finish = "Finish"
[payg.upgrade.cap]
help = "We'll never charge above this. Set $0 if you want to keep everything free while testing."
title = "Set your monthly spend ceiling"
usdNote = "Estimated in USD. You can adjust your cap any time after subscribing, in your own currency."
[payg.upgrade.checkout]
capValue = "{{symbol}}{{amount}} / month"
edit = "Edit"
help = "Stripe handles your card details. Stirling never sees them."
loading = "Loading checkout…"
noCap = "No cap"
title = "Add your payment method"
[payg.upgrade.help]
aiBody = "summarise, classify, redact, AI-OCR"
aiTitle = "AI tools"
apiBody = "programmatic access to any Stirling endpoint"
apiTitle = "API calls"
automationBody = "chained tools or scheduled runs that don't need clicks"
automationTitle = "Automation pipelines"
footnote = "Manual tools (viewing, editing, merging, splitting, watermarking, compressing, manual OCR) are always free, even past 500. The distinction is the type of work, not where you click."
title = "What we count toward billing"
[payg.upgrade.promise]
body = "You only pay for automation pipelines, AI tools, and API calls, the work that goes beyond a single click. Edit, merge, split, sign, compress as much as you want, no charge."
highlight = "Manual tools stay free, always."
[payg.upgrade.steps]
cap = "Set monthly ceiling"
payment = "Add payment method"
[payg.upgrade.title]
confirm = "You're subscribed"
default = "Upgrade to Processor plan"
[payg.usage]
breakdown = "AI {{ai}} • Automation {{automation}} • API {{api}}"
capLine = "{{cap}}/mo cap"
estBill = "≈ {{amount}} so far this period"
firstFree = "First {{free}} free"
noCap = "No monthly cap"
ofLimitProcessed = "/ {{limit}} PDFs processed"
processed = "PDFs processed"
resetsIn = "Resets in {{days}} days"
resetsTomorrow = "Resets tomorrow"
thisPeriod = "This billing period"
[payment]
canCloseWindow = "Você já pode fechar esta janela."
error = "Erro de pagamento"
generatingLicense = "Gerando sua chave de licença..."
licenseActivated = "Licença ativada! Sua chave de licença foi salva. Um e-mail de confirmação foi enviado ao seu endereço de e-mail registrado."
licenseDelayed = "Pagamento bem-sucedido! Sua licença está sendo gerada. Você receberá um e-mail com sua chave de licença em breve. Se não receber em 10 minutos, entre em contato com o suporte."
licenseDelayedMessage = "Sua chave de licença está sendo gerada. Verifique seu e-mail em breve ou contate o suporte."
licenseInstructions = "Isso foi adicionado à sua instalação. Você também receberá uma cópia por e-mail."
licenseKey = "Sua chave de licença"
licensePollingError = "Pagamento bem-sucedido, mas não foi possível recuperar sua chave de licença automaticamente. Verifique seu e-mail ou contate o suporte com a confirmação do pagamento."
licenseRetrievalError = "Pagamento bem-sucedido, mas a recuperação da licença falhou. Você receberá sua chave de licença por e-mail. Contate o suporte se não receber em 10 minutos."
licenseSaveError = "Falha ao salvar a chave de licença. Contate o suporte com sua chave para concluir a ativação."
monthly = "Mensal"
paymentCanceled = "Pagamento foi cancelado. Nenhuma cobrança foi feita."
perMonth = "/mês"
preparing = "Preparando seu checkout..."
redirecting = "Redirecionando para o checkout seguro..."
success = "Pagamento bem-sucedido!"
successMessage = "Sua assinatura foi ativada com sucesso. Você receberá um e-mail de confirmação em breve."
syncError = "Pagamento bem-sucedido, mas a sincronização da licença falhou. Sua licença será atualizada em breve. Contate o suporte se o problema persistir."
syncingLicense = "Sincronizando sua licença atualizada..."
upgradeComplete = "Upgrade concluído"
upgradeCompleteMessage = "Sua assinatura foi atualizada com sucesso. Sua chave de licença existente foi atualizada."
upgradeSuccess = "Pagamento bem-sucedido! Sua assinatura foi atualizada. A licença foi atualizada no seu servidor. Você receberá um e-mail de confirmação em breve."
upgradeTitle = "Fazer upgrade para {{planName}}"
yearly = "Anual"
[payment.emailStage]
continue = "Continuar"
description = "Usaremos isso para enviar sua chave de licença e recibos."
emailLabel = "Endereço de e-mail"
emailPlaceholder = "your@email.com"
modalTitle = "Começar - {{planName}}"
[payment.paymentStage]
modalTitle = "Concluir pagamento - {{planName}}"
[payment.planStage]
billedYearly = "Cobrado anualmente em {{currency}}{{amount}}"
modalTitle = "Selecionar período de cobrança - {{planName}}"
savePercent = "Economize {{percent}}%"
savingsAmount = "Você economiza {{amount}}"
selectMonthly = "Selecionar mensal"
selectYearly = "Selecionar anual"
[pdfCommentAgent]
submit = "Gerar comentários"
[pdfCommentAgent.error]
emptyPrompt = "Descreva sobre o que a IA deve comentar"
failed = "Falha ao gerar comentários"
tooLong = "O prompt é muito longo (máximo de {{max}} caracteres)"
[pdfCommentAgent.prompt]
label = "Sobre o que a IA deve comentar?"
placeholder = "ex.: Sinalize datas ambíguas e sugira esclarecimentos"
[pdfCommentAgent.results]
title = "PDF comentado"
[pdfCommentAgent.settings]
title = "Instruções de comentários"
[pdfOrganiser]
placeholder = "(por exemplo 1,3,2 ou 4-8,2,10-12 ou 2n-1)"
tags = "duplex,par,ímpar,ordenar,mover"
title = "Organizar Páginas"
[pdfOrganiser.mode]
1 = "Ordem de página personalizada"
10 = "Mesclagem ímpar-par"
11 = "Duplicar todas as páginas"
2 = "Ordem inversa"
3 = "Classificação duplex"
4 = "Classificação de livreto"
5 = "Classificação de livreto com ponto lateral"
6 = "Divisão ímpar-par"
7 = "Remover primeiro"
8 = "Remover último"
9 = "Remover o primeiro e o último"
_value = "Modo:"
[pdfOrganiser.mode.desc]
BOOKLET_SORT = "Organize as páginas para impressão em folheto (última, primeira, segunda, penúltima, …)."
CUSTOM = "Use uma sequência personalizada de números de página ou expressões para definir uma nova ordem."
DUPLEX_SORT = "Intercale frentes e depois versos como se um scanner duplex escaneasse todas as frentes e depois todos os versos (1, n, 2, n-1, …)."
DUPLICATE = "Duplique cada página de acordo com a contagem na ordem personalizada (por exemplo, 4 duplicatas — cada página 4×)."
ODD_EVEN_MERGE = "Mescle dois PDFs alternando páginas: ímpares do primeiro, pares do segundo."
ODD_EVEN_SPLIT = "Divida o documento em duas saídas: todas as páginas ímpares e todas as páginas pares."
REMOVE_FIRST = "Remova a primeira página do documento."
REMOVE_FIRST_AND_LAST = "Remova a primeira e a última páginas do documento."
REMOVE_LAST = "Remova a última página do documento."
REVERSE_ORDER = "Inverta o documento para que a última página se torne a primeira e assim por diante."
SIDE_STITCH_BOOKLET_SORT = "Organize as páginas para impressão em folheto com lombada lateral (otimizado para encadernação na lateral)."
[pdfTextEditor]
conversionFailed = "Falha ao converter o PDF. Tente novamente."
converting = "Convertendo o PDF para formato editável..."
currentFile = "Arquivo atual: {{name}}"
imageLabel = "Imagem posicionada"
noTextOnPage = "Nenhum texto editável foi detectado nesta página."
pagePreviewAlt = "Prévia da página"
pageSummary = "Página {{number}} de {{total}}"
tags = "edit text,modify text,change text,edit content,update text,rewrite,correct,amend,redline,revise,text editor,content editor"
title = "Editor de JSON de PDF"
viewLabel = "Editor de PDF"
[pdfTextEditor.actions]
applyChanges = "Aplicar alterações"
clearText = "Limpar texto"
downloadCopy = "Baixar cópia"
moreOptions = "Mais opções"
reset = "Reverter alterações"
[pdfTextEditor.badges]
earlyAccess = "Acesso antecipado"
modified = "Editado"
[pdfTextEditor.empty]
dropzone = "Arraste e solte um arquivo PDF ou JSON aqui, ou clique para procurar"
dropzoneWithFiles = "Selecione um arquivo na aba Arquivos ou arraste e solte um arquivo PDF ou JSON aqui, ou clique para procurar"
title = "Nenhum documento carregado"
[pdfTextEditor.errors]
invalidJson = "Não foi possível ler o arquivo JSON. Verifique se ele foi gerado pela ferramenta PDF para JSON."
pdfConversion = "Não foi possível converter o JSON editado de volta para PDF."
[pdfTextEditor.fontAnalysis]
allFonts = "Todas as fontes"
currentPageFonts = "Fontes nesta página"
details = "Detalhes da fonte"
embedded = "Incorporada"
fallback = "alternativa"
infoMessage = "Informações de reprodução de fontes disponíveis."
missing = "ausente"
perfect = "perfeito"
perfectMessage = "Todas as fontes podem ser reproduzidas perfeitamente."
subset = "subconjunto"
suggestions = "Notas"
type = "Tipo"
warningMessage = "Algumas fontes podem não renderizar corretamente."
warnings = "Avisos"
webFormat = "Formato web"
[pdfTextEditor.groupingMode]
auto = "Auto"
paragraph = "Parágrafo"
singleLine = "Linha única"
[pdfTextEditor.manual]
expandWidth = "Expandir até a borda da página"
merge = "Mesclar seleção"
mergeTooltip = "Mesclar caixas selecionadas"
resetWidth = "Redefinir largura"
resizeHandle = "Ajustar largura do texto"
ungroup = "Desagrupar seleção"
ungroupTooltip = "Dividir parágrafo de volta em linhas"
widthMenu = "Opções de largura"
[pdfTextEditor.modeChange]
cancel = "Cancelar"
confirm = "Redefinir e alterar modo"
title = "Confirmar alteração de modo"
warning = "Alterar o modo de agrupamento de texto vai redefinir todas as alterações não salvas. Tem certeza de que deseja continuar?"
[pdfTextEditor.options.advanced]
title = "Configurações avançadas"
[pdfTextEditor.options.autoScaleText]
description = "Dimensiona o texto horizontalmente para caber na caixa delimitadora original quando a renderização da fonte difere do PDF."
title = "Dimensionar texto automaticamente para caber nas caixas"
[pdfTextEditor.options.forceSingleElement]
description = "Quando ativado, o editor exporta cada caixa de texto editada como um único elemento de texto PDF para evitar sobreposição de glifos ou fontes misturadas."
title = "Fixar texto editado em um único elemento PDF"
[pdfTextEditor.options.groupingMode]
autoDescription = "Detecta automaticamente o tipo de página e agrupa o texto de forma apropriada."
paragraphDescription = "Agrupa linhas alinhadas em caixas de texto de parágrafo multilinha."
singleLineDescription = "Mantém cada linha de texto do PDF como uma caixa de texto separada."
title = "Modo de agrupamento de texto"
[pdfTextEditor.pageType]
paragraph = "Página de parágrafos"
sparse = "Texto esparso"
[pdfTextEditor.stages]
processing = "Processing"
uploading = "Uploading"
[pdfTextEditor.tooltip.alpha]
text = "Este visualizador alfa ainda está evoluindo — certas fontes, cores, efeitos de transparência e detalhes de layout podem mudar levemente. Verifique o PDF gerado antes de compartilhar."
title = "Visualizador alfa"
[pdfTextEditor.tooltip.header]
title = "Limitações da prévia"
[pdfTextEditor.tooltip.previewVariance]
text = "Alguns visuais (como bordas de tabelas, formas ou aparências de anotações) podem não ser exibidos exatamente na prévia. O PDF exportado mantém os comandos de desenho originais sempre que possível."
title = "Variação da prévia"
[pdfTextEditor.tooltip.textFocus]
text = "Este espaço de trabalho foca na edição de texto e no reposicionamento de imagens incorporadas. Elementos gráficos complexos da página, widgets de formulário e gráficos em camadas são preservados para exportação, mas não são totalmente editáveis aqui."
title = "Foco em texto e imagem"
[pdfTextEditor.welcomeBanner]
bestFor = "Funciona melhor com:"
bestFor1 = "PDFs simples contendo principalmente texto e imagens"
bestFor2 = "Documentos com formatação de parágrafo padrão"
bestFor3 = "Cartas, redações, relatórios e documentos básicos"
dontShowAgain = "Não mostrar novamente"
experimental = "Este é um recurso experimental em desenvolvimento ativo. Espere alguma instabilidade e problemas durante o uso."
feedback = "Este é um recurso de acesso antecipado. Relate quaisquer problemas que encontrar para nos ajudar a melhorar!"
gotIt = "Entendi"
howItWorks = "Esta ferramenta converte seu PDF em um formato editável no qual você pode modificar o conteúdo do texto e reposicionar imagens. As alterações são salvas como um novo PDF."
issue1 = "A cor do texto não é preservada no momento (será adicionada em breve)"
issue2 = "O modo Parágrafo tem mais problemas de alinhamento e espaçamento - recomenda-se o modo Linha única"
issue3 = "A visualização difere do PDF exportado - os PDFs exportados ficam mais próximos do original"
issue4 = "O alinhamento de texto rotacionado pode precisar de ajuste manual"
issue5 = "Os efeitos de transparência e camadas podem variar em relação ao original"
knownIssues = "Problemas conhecidos (sendo corrigidos):"
limitation1 = "A renderização de fontes pode diferir ligeiramente do PDF original"
limitation2 = "Gráficos complexos, campos de formulário e anotações são preservados, mas não são editáveis"
limitation3 = "Arquivos grandes podem demorar para converter e processar"
limitations = "Limitações atuais:"
notIdealFor = "Não é ideal para:"
notIdealFor1 = "PDFs com formatação especial como marcadores, tabelas ou layouts de múltiplas colunas"
notIdealFor2 = "Revistas, folhetos ou documentos altamente diagramados"
notIdealFor3 = "Manuais de instruções com layouts complexos"
title = "Bem-vindo ao Editor de Texto PDF (Acesso antecipado)"
[PDFToCSV]
header = "PDF para CSV"
title = "PDF para CSV"
[PDFToHTML]
header = "PDF para HTML"
tags = "conteúdo web,compatível com navegador"
title = "PDF para HTML"
[pdfToImage]
tags = "conversão,img,jpg,imagem,foto"
title = "PDF para Imagem"
[PDFToMarkdown]
header = "PDF para Markdown"
tags = "marcação,conteúdo-web,transformação,converter,md"
title = "PDF para Markdown"
[pdfToPDFA]
header = "PDF para PDF/A"
tags = "arquivo,longo prazo,padrão,conversão,armazenamento,preservação"
title = "PDF para PDF/A"
[pdfToPDFX]
tags = "impressão,padrão,conversão,produção,pré-impressão,arquivo"
title = "PDF para PDF/X"
[PDFToPresentation]
header = "PDF para Apresentação"
tags = "slides,apresentação,escritório,microsoft"
title = "PDF para Apresentação"
[PdfToSinglePage]
tags = "página única"
[pdfToSinglePage]
description = "Esta ferramenta irá mesclar todas as páginas do seu PDF em uma única página grande. A largura permanecerá a mesma das páginas originais, mas a altura será a soma de todas as alturas."
submit = "Converter para Página Única"
tags = "combine,merge,single,single page,one page,merge to single,combine all,stitch pages,concatenate vertical,long page,poster"
title = "PDF para Página Única"
[pdfToSinglePage.error]
failed = "Ocorreu um erro ao converter para página única."
[pdfToSinglePage.results]
title = "Resultados de página única"
[PDFToText]
header = "PDF para TXT/RTF"
tags = "formato rich,formato richtext,formato rich text"
title = "PDF para TXT/RTF"
[PDFToWord]
header = "PDF para Word"
tags = "doc,docx,odt,word,transformação,formato,conversão,escritório,microsoft,doc"
title = "PDF para Word"
[PDFToXLSX]
header = "PDF para Excel"
tags = "planilha,excel,xlsx,tabela,extrair,converter"
title = "PDF para Excel (XLSX)"
[PDFToXML]
header = "PDF para XML"
tags = "extração-de-dados,conteúdo-estruturado,interoperabilidade,transformação,converter"
title = "PDF para XML"
[permissions]
tags = "leitura,escrita,edição,impressão"
title = "Alterar Permissões"
[pipeline]
tags = "automatizar,sequência,scriptado,processo-em-lote"
title = "Pipeline"
[plan]
contact = "Fale conosco"
current = "Plano atual"
featureComparison = "Comparação de recursos"
from = "A partir de"
hideComparison = "Ocultar comparação de recursos"
licensedSeats = "Licenciados: {{count}} assentos"
manage = "Gerenciar"
perMonth = "/mês"
perSeat = "/assento"
popular = "Popular"
selectPlan = "Selecionar plano"
showComparison = "Comparar todos os recursos"
upgrade = "Fazer upgrade"
withServer = "+ Plano Server"
[plan.api]
large = "5.000 créditos"
medium = "1.000 créditos"
small = "500 créditos"
xsmall = "100 créditos"
[plan.availablePlans]
subtitle = "Escolha o plano que atende às suas necessidades"
title = "Planos disponíveis"
[plan.enterprise]
highlight1 = "Preços personalizados"
highlight2 = "Suporte dedicado"
highlight3 = "Recursos mais recentes"
name = "Empresarial"
requiresServer = "Requer Server"
requiresServerMessage = "Faça upgrade para o plano Server antes de atualizar para Enterprise."
[plan.feature]
api = "Acesso à API"
automation = "Automatizar fluxos de trabalho das ferramentas"
customPricing = "Preços personalizados"
fileSize = "Limite de tamanho de arquivo"
pdfTools = "Ferramentas básicas de PDF"
priority = "Suporte prioritário"
title = "Recurso"
[plan.features]
allPdfOperations = "Todas as operações de PDF"
auditing = "Auditoria"
communitySupport = "Suporte da comunidade"
customPdfMetadata = "Metadados PDF personalizados"
editingTextInPdfs = "Edição de texto em PDFs"
externalDatabase = "Banco de dados externo"
googleDriveIntegration = "Integração com Google Drive"
prometheusSupport = "Suporte a Prometheus"
regularUpdates = "Atualizações regulares"
saml = "SAML"
secureLoginSupport = "Suporte a login seguro"
selfHostedDeployment = "Implantação auto-hospedada"
sso = "SSO"
unlimitedUsers = "Usuários ilimitados"
upToFiveUsers = "Até 5 usuários"
upToFiveUsersLowercase = "até 5 usuários"
usageTracking = "Rastreamento de uso"
usersLimitedToSeats = "Usuários limitados a assentos"
[plan.free]
forever = "Gratuito para sempre"
highlight1 = "Uso limitado de ferramentas por semana"
highlight2 = "Acesso a todas as ferramentas"
highlight3 = "Suporte da comunidade"
included = "Incluído"
name = "Gratuito"
[plan.freeLimit]
cta = "View Processor Plan"
dismiss = "Maybe Later"
message = "That's your whole free allowance for automation, AI and the API. Seriously impressive! Keep the momentum going for just pennies a day."
title = "Woah, {{total}} PDFs Processed!"
[plan.highlights]
advancedIntegrations = "Integrações avançadas"
allBasicFeatures = "Todos os recursos básicos"
cancelAnytime = "Cancele a qualquer momento"
customPdfMetadata = "Metadados PDF personalizados"
editingTextInPdfsCaps = "Edição de texto em PDFs"
enterpriseFeatures = "Recursos corporativos (SAML, Auditoria)"
perSeatLicensing = "Licenciamento por assento"
saveWithAnnualBilling = "Economize com faturamento anual"
selfHosted = "Auto-hospedado"
selfHostedOnInfrastructure = "Auto-hospedado na sua infraestrutura"
ssoOAuth = "SSO (OAuth2/OIDC)"
unlimitedUsers = "Usuários ilimitados"
upToFiveUsers = "Até 5 usuários"
usageTrackingPrometheus = "Rastreamento de uso e Prometheus"
[plan.licenseWarning]
body = "Você tem {{total}} usuários, mas o nível gratuito suporta apenas {{limit}} por servidor. Faça upgrade para manter o Stirling PDF funcionando sem problemas."
cta = "Ver planos"
overLimit = "mais de {{limit}}"
title = "Limite gratuito de self-hosted atingido"
[plan.period]
month = "mês"
[plan.pro]
highlight1 = "Uso ilimitado de ferramentas"
highlight2 = "Ferramentas avançadas de PDF"
highlight3 = "Sem marcas d'água"
name = "Pro"
[plan.spendCap]
cta = "View Spending Limit"
dismiss = "Not Now"
message = "You've made the most of this month's cap. That's a load of automation, AI and API work! Bump it up whenever you like to keep going."
title = "You're on a Roll!"
[plan.static]
activateLicense = "Ative sua licença"
contactToUpgrade = "Entre em contato para fazer upgrade ou personalizar seu plano"
getLicense = "Obter licença do servidor"
monthlyBilling = "Cobrança mensal"
selectPeriod = "Selecionar período de cobrança"
upgradeToEnterprise = "Atualizar para Enterprise"
upTo = "Até"
yearlyBilling = "Cobrança anual"
[plan.static.billingPortal]
message = "Você precisará verificar seu endereço de e-mail no portal de cobrança da Stripe. Verifique seu e-mail para um link de login."
title = "Verificação de e-mail necessária"
[plan.static.licenseActivation]
activate = "Ativar licença"
checkoutOpened = "Checkout aberto em nova aba"
doLater = "Farei isso depois"
enterKey = "Digite sua chave de licença abaixo para ativar seu plano:"
instructions = "Conclua sua compra na aba do Stripe. Após a conclusão do pagamento, você receberá um e-mail com sua chave de licença."
keyDescription = "Cole a chave de licença do seu e-mail"
success = "Licença ativada!"
successMessage = "Sua licença foi ativada com sucesso. Agora você pode fechar esta janela."
[policies]
deleteConfirmBody = "This removes the policy and its workflow. Documents already processed are not affected."
deleteConfirmTitle = "Delete {{label}} policy?"
[policies.activity]
enforced = "aplicada"
enforcing = "Aplicando..."
failed = "Falha na aplicação"
outputsUnavailable = "Os resultados da política não estão mais disponíveis para download."
partialOutputsUnavailable = "Alguns resultados da política não estão mais disponíveis para download."
retrying = "Ocupado, tentando novamente..."
runNotFound = "A execução da aplicação não pôde mais ser encontrada."
step = "etapa {{current}}/{{total}}"
timedOut = "A aplicação atingiu o tempo limite antes que a execução fosse concluída."
[policies.catalog]
compliance = "Compliance"
ingestion = "Ingestion"
retention = "Retention"
routing = "Routing"
security = "Security"
[policies.detail]
close = "Fechar"
editSettings = "Edit Settings"
enforces = "Enforces"
managedByOrg = "Managed by your organisation. Contact a team leader to change this policy."
noActivityDescription = "Documents will appear here once this policy runs."
noActivityTitle = "No activity yet"
onEveryUpload = "On every upload"
originalsNote = "Originals stay untouched • Enforced version saved alongside"
pause = "Pause"
recentActivity = "Recent Activity"
resume = "Resume"
retry = "Retry"
showLess = "Show less"
showMore = "Show more"
statActive = "Active"
statDataProcessed = "Data processed"
statDocsEnforced = "Docs enforced"
statusActive = "Active"
statusPaused = "Paused"
[policies.docType]
Contracts = "Contratos"
"Financial reports" = "Relatórios financeiros"
"HR records" = "Registros de RH"
Insurance = "Seguros"
Invoices = "Faturas"
"Legal filings" = "Registros legais"
"Medical / PHI" = "Médico / PHI"
"Tax documents" = "Documentos fiscais"
[policies.enforcement]
applying = "Aplicando {{names}}"
applyingProgress = "Aplicando {{names}} ({{done}} de {{total}})"
exportFailureBody = "As políticas de segurança não puderam ser aplicadas. Os arquivos foram exportados como estão."
exportFailureTitle = "Exportado sem aplicar políticas"
failureBody = "{{failures}} de {{total}} arquivo(s) não puderam ser processados e foram exportados como estão."
failureTitle = "Exportado sem aplicação completa"
printPolicyAppliedBody = "Este PDF foi atualizado para atender a uma política. Revise as alterações e imprima novamente."
printPolicyAppliedTitle = "Política aplicada antes da impressão"
queued = "+{{count}} na fila"
successTitle = "{{names}} aplicadas"
summaryMore = "{{first}}, {{second}} e mais {{more}}"
summaryTwo = "{{first}} e {{second}}"
[policies.enforcement.triggerVerb]
convert = "Aplicando políticas antes de converter"
default = "Aplicando políticas"
export = "Aplicando políticas antes de exportar"
input = "Aplicando políticas ao importar"
print = "Aplicando políticas antes de imprimir"
[policies.field]
accessLog = "Log de acesso"
archiveAfter = "Arquivar após"
auditTrail = "Trilha de auditoria"
belowThreshold = "Abaixo do limite"
destination = "Destino"
frameworks = "Frameworks"
immutableHold = "Retenção imutável"
keepFor = "Manter por"
minConfidence = "Confiança mín."
notify = "Notificar no roteamento"
onViolation = "Quando não conforme"
webhookUrl = "Webhook URL"
[policies.fieldOption.archiveAfter]
"1 year" = "1 ano"
"30 days" = "30 dias"
"90 days" = "90 dias"
Never = "Nunca"
[policies.fieldOption.belowThreshold]
"Flag for review" = "Marcar para revisão"
Hold = "Reter"
"Route to bucket" = "Rotear para bucket"
[policies.fieldOption.destination]
Documents = "Documentos"
"S3 bucket" = "S3 bucket"
SharePoint = "SharePoint"
Webhook = "Webhook"
[policies.fieldOption.frameworks]
FedRAMP = "FedRAMP"
GDPR = "GDPR"
HIPAA = "HIPAA"
"ISO 27001" = "ISO 27001"
"PCI DSS" = "PCI DSS"
"SOC 2" = "SOC 2"
[policies.fieldOption.keepFor]
"1 year" = "1 ano"
"3 years" = "3 anos"
"30 days" = "30 dias"
"7 years" = "7 anos"
Indefinite = "Indefinidamente"
[policies.fieldOption.minConfidence]
"60%" = "60%"
"70%" = "70%"
"80%" = "80%"
"90%" = "90%"
"95%" = "95%"
[policies.fieldOption.onViolation]
"Auto-redact PHI" = "Redigir PHI automaticamente"
"Block export" = "Bloquear exportação"
"Flag for review" = "Marcar para revisão"
"Quarantine document" = "Colocar documento em quarentena"
[policies.fields]
selectedCount = "{{count}} selected"
[policies.labels]
add = "Adicionar"
addPlaceholder = "Adicionar um rótulo…"
customNote = "Personalizado para sua equipe."
defaultNote = "Usando o padrão integrado, compartilhado com sua equipe."
duplicate = "\"{{name}}\" já existe."
edit = "Editar rótulos"
empty = "Ainda não há rótulos."
export = "Exportar JSON"
iconAria = "Escolha um ícone para {{name}}"
import = "Importar JSON"
importError = "Não foi possível importar esse arquivo."
managedNote = "Os rótulos da equipe são gerenciados pelo líder da equipe."
modalSubtitle = "Compartilhados com toda a sua equipe. O classificador escolhe os rótulos que se encaixam em cada documento."
modalTitle = "Rótulos de classificação"
pickIcon = "Usar ícone de {{label}}"
removeAria = "Remover {{name}}"
resetToDefault = "Redefinir para o padrão"
saveForTeam = "Salvar para a equipe"
saving = "Salvando…"
sectionLabel = "Rótulos de classificação"
startFromScratch = "Começar do zero"
teamCount = "rótulos da equipe"
tooLong = "Os rótulos podem ter no máximo {{max}} caracteres."
ungrouped = "Sem grupo"
view = "Ver rótulos"
[policies.pii]
account = "Números de conta (rotulados)"
card = "Cartões de crédito/débito"
email = "Endereços de e-mail"
fieldLabel = "PII to redact"
iban = "IBANs"
phone = "Números de telefone"
placeholder = "Select PII types"
routing = "Números de roteamento bancário dos EUA (ABA)"
ssn = "Números de Seguro Social (SSN)"
[policies.settings]
noneExport = "Nenhuma política é executada atualmente na exportação."
noneUpload = "Nenhuma política é executada atualmente no upload."
onExport = "Na exportação"
onUpload = "No upload"
reorderHandle = "Arraste para reordenar"
runOrderDesc = "Quando mais de uma política é executada no mesmo acionador, elas são executadas nesta ordem — cada uma sobre a saída da política anterior. Arraste para reordenar."
title = "Configurações de política"
[policies.sidebar]
activeCount = "{{count}} active"
infoTooltip = "A policy is a fixed set of tools that runs automatically whenever it's triggered — for example when a new document arrives — enforcing rules like redacting PII with no manual steps."
loading = "Loading…"
optionsAriaLabel = "Opções de política"
policySettings = "Configurações de política"
railAriaLabel = "{{label}} policy — {{status}}"
railSuffixActive = " (Active)"
railSuffixPaused = " (Paused)"
retryFailed = "Tentar novamente políticas com falha ({{count}})"
rowProgress = "{{completed}} de {{total}} arquivos processados"
setUp = "Set up"
title = "Policies"
upgradeToEnterprise = "Upgrade to enterprise"
whatIsPolicy = "O que é uma política?"
[policies.status]
active = "Active"
paused = "Paused"
setup = "Set up"
[policies.toolConfig]
enableAriaLabel = "Enable {{tool}}"
infoAriaLabel = "What does {{tool}} do?"
[policies.toolConfig.info]
redact = "Localiza e oculta automaticamente informações confidenciais — como números de Seguro Social e de cartão — para que não possam ser lidas no documento."
sanitize = "Remove JavaScript oculto do arquivo, para que nada seja executado automaticamente quando alguém o abrir."
watermark = "Aplica uma marca visível (por exemplo, \"Confidencial\") em todas as páginas."
[policies.wizard]
allDocTypesDescription = "Enable the Classification policy to filter by document type."
allDocTypesTitle = "All document types"
back = "Back"
builderDesc = "Build the sequence of tools this policy runs on each document."
clear = "Clear"
close = "Fechar"
continue = "Continue"
docTypesLabel = "Document types"
edit = "Edit"
editTitle = "Edit {{label}} Policy"
enablePolicy = "Enable Policy"
filenameAutoNumber = "Auto-number"
filenamePositionAria = "Filename position"
filenamePrefix = "Prefix"
filenameSuffix = "Suffix"
filenameTextAria = "Filename text"
filenameTextPlaceholder = "Text to add (optional)"
lockedDescription = "Contact a team leader to change this policy."
lockedTitle = "Managed by your organisation"
maxRetriesLabel = "Max retries"
noToolsError = "Add at least one configured tool to the workflow first."
outputAsLabel = "Output as"
outputFilenameSubhead = "Output filename"
outputModeAria = "Output mode"
outputNewFile = "New file"
outputNewVersion = "New version"
outputRetriesLabel = "Output & retries"
outputSubhead = "Output"
retryDelayAria = "Retry delay minutes"
retryDelayLabel = "Retry delay (min)"
runOnExport = "Export"
runOnLabel = "Run on"
runOnSubhead = "Run on"
runOnUpload = "Upload"
saveChanges = "Save Changes"
saveError = "Couldn't save the policy. Please try again."
setupClassification = "Set up Classification"
setupTitle = "Set up {{label}} Policy"
sourcesDesc = "Choose where this policy runs and which document types it applies to."
sourcesLabel = "Sources"
stepOf = "Step {{step}} of {{total}}"
toolChainDesc = "Configure the tools this policy runs on each document."
typesSelected = "{{count}} types selected"
[policy]
badgeEnforcing = "{{name}} aplicando..."
badgeRan = "A política {{name}} foi executada neste arquivo"
blockingAction = "{{action}} bloqueado enquanto a política está sendo aplicada, aguarde..."
dismiss = "Dispensar sobreposição"
enforcingTitle = "Aplicando política..."
viewAnyway = "Ver arquivo (política ainda sendo aplicada)"
[portal]
comingSoon = "Em breve"
[portal.accountLink.card]
billingNote = "O processamento autônomo é cobrado da carteira da sua organização."
eyebrow = "Vínculo da conta"
linkButton = "Vincular sua conta Stirling"
linked = "Vinculada"
linkedAs = "Vinculada como {{name}}."
linkedGeneric = "Esta instância está vinculada."
notLinked = "Não vinculada"
title = "Vincular esta organização à sua conta Stirling"
unlink = "Desvincular"
[portal.accountLink.card.error]
title = "Não foi possível vincular"
[portal.accountLink.card.loginNotConfigured]
after = "para habilitar o vínculo de conta com a conta Stirling hospedada. Em dev, você pode simular o login pela caixa de diálogo de vínculo."
before = "Defina"
title = "Login SaaS não configurado"
[portal.accountLink.gate]
action = "Vincular conta"
description = "Vincule a conta Stirling desta organização para usar recursos cobrados."
title = "Vincule para desbloquear"
titleFeature = "Vincule para desbloquear {{feature}}"
[portal.accountLink.instances]
active = "Ativa"
revoke = "Revogar"
revoked = "Revogada"
unnamed = "Instância sem nome"
[portal.accountLink.instances.columns]
instance = "Instância"
lastSeen = "Visto por último"
linked = "Vinculada"
status = "Status"
[portal.accountLink.instances.empty]
description = "Vincule a conta desta organização e registre suas instâncias auto-hospedadas para vê-las aqui."
title = "Nenhuma instância vinculada"
[portal.accountLink.instances.time]
daysAgo_one = "há {{count}}d"
daysAgo_other = "há {{count}}d"
hoursAgo_one = "há {{count}}h"
hoursAgo_other = "há {{count}}h"
justNow = "agora mesmo"
minutesAgo_one = "há {{count}}min"
minutesAgo_other = "há {{count}}min"
never = "nunca"
[portal.accountLink.modal]
linkSubtitle = "Entre na conta em que este servidor deve ser cobrado."
linkTitle = "Vincular sua conta Stirling"
reauthSubtitle = "Sua sessão expirou — entre novamente na sua conta Stirling. Sua instância permanece vinculada."
reauthTitle = "Entrar novamente"
simulateSignIn = "Simular login (dev)"
[portal.accountLink.modal.loginNotConfigured]
after = "para habilitar o vínculo no aplicativo com a conta Stirling hospedada."
and = "e"
before = "Defina"
title = "Login SaaS não configurado"
[portal.accountLink.panel]
instancesSub = "Todas as instâncias auto-hospedadas registradas nesta organização. Revogue uma credencial para cortar imediatamente seu acesso autônomo."
instancesTitle = "Instâncias vinculadas"
revokeError = "Não foi possível revogar a instância"
sub = "Vincule esta organização auto-hospedada à sua conta Stirling para que o processamento autônomo seja cobrado da carteira da sua organização."
[portal.accountLink.panel.loadError]
forbidden = "Somente o proprietário da equipe pode ver as instâncias vinculadas da organização."
generic = "Não foi possível carregar as instâncias vinculadas da equipe. Tente novamente em instantes."
title = "Não foi possível carregar as instâncias vinculadas"
[portal.accountLink.state]
free = "Plano Editor"
subscribed = "Plano Processor"
unlinked = "Não vinculada"
[portal.agentBuilder]
bootstrapFromDocument = "Bootstrap a partir de documento"
sectionsAriaLabel = "Seções do criador de agentes"
selectorAriaLabel = "Agentes"
subtitle = "Projete, teste e publique os agentes de IA que classificam, extraem e roteiam seus documentos. Defina cenários, limite o acesso a ferramentas, execute um conjunto de referência e publique uma versão."
title = "Criador de agentes"
[portal.agentBuilder.bootstrap]
cancel = "Cancelar"
dropzoneText = "Escolha um documento de exemplo (PDF ou imagem)"
lead = "Solte um documento de exemplo e nós proporemos cenários e um esquema de extração que você poderá refinar. Nada é publicado até você revisar."
submit = "Fazer bootstrap do agente"
subtitle = "Inicie um novo agente a partir de um arquivo representativo"
title = "Bootstrap a partir de um documento"
[portal.agentBuilder.empty]
description = "Faça bootstrap de um agente a partir de um documento de exemplo para iniciar seus cenários e esquema de extração, depois refine e publique."
title = "Ainda não há agentes"
[portal.agentBuilder.evals]
casesPassing = "Casos aprovados"
columnCase = "Caso de avaliação"
columnLatency = "Latência"
columnResult = "Resultado"
fail = "falha"
goldenSetPassRate = "Taxa de aprovação do conjunto de referência"
latencyMs = "{{ms}} ms"
notRun = "não executado"
pass = "aprovado"
passRate = "Taxa de aprovação"
runEvals = "Executar avaliações"
[portal.agentBuilder.evals.empty]
description = "Avaliações transformam seus cenários em um conjunto de referência repetível. Faça upgrade para capturar a taxa de aprovação ao longo do tempo e condicionar publicações a ela."
title = "Ainda não há conjunto de referência"
[portal.agentBuilder.kpi]
acrossGoldenSets = "em conjuntos de referência"
activeAgents = "Agentes ativos"
avgPassRate = "Taxa média de aprovação das avaliações"
fleetWide = "em toda a frota"
latestPublished = "Última publicação"
scenarios = "Cenários"
testCases = "casos de teste"
totalDescription_one = "{{count}} no total"
totalDescription_other = "{{count}} no total"
[portal.agentBuilder.scenarios]
add = "Adicionar"
addScenario = "Adicionar cenário"
enable = "Habilitar"
expectationLabel = "Comportamento esperado"
expectationPlaceholder = "O que o agente deve fazer"
inEval = "em avaliação"
mute = "Silenciar"
muted = "silenciado"
nameLabel = "Nome"
namePlaceholder = "ex.: Escalonamento de conformidade"
[portal.agentBuilder.tabs]
evals = "Avaliações"
scenarios = "Cenários"
tools = "Ferramentas"
versions = "Versões"
[portal.agentBuilder.tools]
broadAccess = "Acesso amplo"
deniedHint = "As ferramentas selecionadas estão bloqueadas. Todo o restante permanece disponível para chamada."
deniedTools = "Ferramentas negadas"
governanceGate = "A governança de ferramentas está disponível no plano Enterprise."
restricted = "Restrito"
restrictedAccess = "Acesso restrito a ferramentas"
restrictedDescription = "Permitir todas as ferramentas, exceto as que você negar abaixo."
[portal.agentBuilder.versions]
current = "atual"
historyGate = "Histórico completo de versões e reversão estão disponíveis no plano Enterprise."
publish = "Publicar"
rollBack = "Reverter"
[portal.assistant]
close = "Fechar assistente"
error = "Não foi possível acessar o assistente."
errorWithDetail = "Não foi possível acessar o assistente: {{detail}}"
inputAriaLabel = "Pergunte ao assistente"
inputPlaceholder = "Pergunte sobre o Stirling…"
open = "Abrir assistente"
send = "Enviar"
title = "Assistente"
tryAsking = "Tente perguntar"
typing = "Digitando"
[portal.auth]
loading = "Carregando"
redirectingToEditor = "Redirecionando para o editor..."
[portal.billing.checkout]
noClientSecret = "A função Edge não retornou client_secret."
subtitle = "Adicione um cartão para continuar além da concessão gratuita do plano Editor. O Stripe cuida do resto."
title = "Ativar o plano Processor"
[portal.billing.checkout.activationSlow]
body = "Seu pagamento foi aprovado, mas a ativação está demorando um pouco mais que o normal. Ela será ativada automaticamente — feche isto e ela aparecerá aqui em breve."
close = "Fechar"
title = "Quase lá"
[portal.billing.checkout.error]
title = "Não foi possível iniciar o checkout"
[portal.billing.checkout.finalizing]
body = "Seu pagamento foi processado. Estamos ativando o processamento medido nas suas instâncias vinculadas — isso geralmente leva alguns segundos."
hint = "Mantenha esta janela aberta."
title = "Ativando seu plano Processor..."
[portal.billing.checkout.notConfigured]
bodyAfter = "no env do portal para habilitar o checkout no aplicativo."
bodyBefore = "Defina"
title = "Stripe não configurado"
[portal.billing.enterpriseUpsell]
cta = "Monte sua cotação Enterprise"
description = "Descontos por volume comprometido, implantação air-gapped, MSA personalizado e revisões de segurança, além de parcerias com distribuidores terceiros."
eyebrow = "Desconto por volume · 1M+ PDFs"
title = "Stirling Enterprise"
[portal.billing.freeEditors]
activeThisMonth = "Ativos este mês"
cost = "Custo"
editorsDeployed = "Editores implantados"
inviteTeammates = "Convidar colegas de equipe"
pdfsEdited = "PDFs editados"
subtitle = "Implante em qualquer lugar, para toda a sua equipe."
title = "Editores de PDF gratuitos"
[portal.billing.freePlan]
checkoutErrorTitle = "Não foi possível iniciar o checkout"
currentPlan = "Plano atual"
freeForever = "Grátis para sempre"
noTeamResolved = "Nenhuma equipe foi resolvida na sua carteira ainda — atualize e tente novamente."
ownerOnly = "Somente o proprietário da equipe pode ativar o plano Processor."
planName = "Editor"
ssoIncluded = "SSO incluído"
switchOnProcessor = "Ativar o Processor →"
unlimitedUsers = "Usuários ilimitados"
[portal.billing.invoices]
columnAmount = "Valor"
columnDate = "Data"
columnDescription = "Descrição"
columnPdfsProcessed = "PDFs processados"
columnStatus = "Status"
descriptionFallback = "Fatura"
downloadAriaLabel = "Baixar fatura {{number}} como PDF"
emptyDescription = "Quando sua equipe assinar e o primeiro ciclo fechar, suas faturas aparecerão aqui."
emptyTitle = "Ainda não há faturas"
fetchLimitNote_one = "Mostrando sua {{count}} fatura mais recente. Faturas mais antigas estão no portal do Stripe."
fetchLimitNote_other = "Mostrando suas {{count}} faturas mais recentes. Faturas mais antigas estão no portal do Stripe."
loadError = "Não foi possível carregar as faturas: {{error}}"
pdfLink = "PDF ↓"
showAll_one = "Mostrar todas as {{count}}"
showAll_other = "Mostrar todas as {{count}}"
showFewer_one = "Mostrar menos ({{count}} principal)"
showFewer_other = "Mostrar menos ({{count}} principais)"
showMostRecent_one = "Mostrar {{count}} mais recente"
showMostRecent_other = "Mostrar {{count}} mais recentes"
title = "Histórico de faturas"
viewAriaLabel = "Ver fatura {{number}} no Stripe"
viewLink = "Ver ↗"
[portal.billing.linkPrompt]
cta = "Vincular conta Stirling"
description = "Edição manual de PDF — visualizar, assinar, mesclar, dividir, aplicar marca d'água, comprimir, converter, OCR manual — é sempre gratuita, com vínculo ou sem. Vincule para obter 500 PDFs gratuitos de processamento medido (automação, IA e a API); quando precisar de mais, ative o plano Processor e pague apenas pelo que usar."
title = "Vincule sua conta Stirling"
[portal.billing.paymentMethod]
billedMonthly = "Cobrado mensalmente"
cardEnding = "{{brand}} final {{last4}}"
cardFallback = "Cartão"
expiresBilledMonthly = "Expira em {{expiry}} · cobrado mensalmente"
eyebrow = "Forma de pagamento"
managedSub = "Seu cartão e detalhes de cobrança são mantidos com segurança no portal do cliente Stripe."
managedTitle = "Gerenciado no Stripe"
update = "Atualizar"
[portal.billing.pdfsProcessed]
emptyPeriod = "Ainda não há processamento medido neste período."
eyebrow = "PDFs processados neste período"
legendValue_one = "{{formatted}} PDFs"
legendValue_other = "{{formatted}} PDFs"
segbarAriaLabel = "PDFs medidos divididos por categoria"
segmentAgentsDesc = "Ações de agentes de IA"
segmentAgentsLabel = "Agentes"
segmentApiDesc = "Solicitações diretas de API"
segmentApiLabel = "API"
segmentAutomationDesc = "Automações e pipelines"
segmentAutomationLabel = "Automação"
unit = "PDFs medidos"
[portal.billing.spendLimit]
adjustLimit = "Ajustar limite"
cancel = "Cancelar"
capControlNote = "As alterações se aplicam imediatamente — aumente ou reduza o teto a qualquer momento."
capSuffix = "/ mês"
capSuffixWithDocs = "/ mês · ≈ {{documents}} documentos"
displaySub = "Você só é cobrado pelo que processa automaticamente — nunca além do teto."
editTitle = "Defina seu teto mensal"
eyebrow = "Limite de gastos"
guardrailBody = "um teto rígido — você nunca será cobrado além dele. Ao atingir o limite, o processamento medido pausa (a edição ilimitada de PDF continua funcionando) até você aumentá-lo ou o ciclo reiniciar. Nada é perdido."
guardrailLabel = "Sua proteção:"
noCap = "sem limite"
pctUsed = "{{pct}}% usado"
remaining = "{{amount}} restante"
save = "Salvar limite"
saveError = "Não foi possível salvar o limite"
thisPeriodUncapped = "{{amount}} neste período · sem limite"
usedThisMonth = "{{amount}} usados este mês"
useSuggested = "Usar sugerido · {{amount}} / mês"
[portal.billing.spendLimit.projection]
body_one = "A {{rate}}/dia você atinge o limite em ~{{count}} dia (~{{monthEnd}} no fim do mês). Limite sugerido ~{{suggested}}."
body_other = "A {{rate}}/dia você atinge o limite em ~{{count}} dias (~{{monthEnd}} no fim do mês). Limite sugerido ~{{suggested}}."
label = "Projetado para exceder."
[portal.billing.spendThisMonth]
eyebrow = "Gasto este mês"
processed_one = "{{formattedCount}} PDF processado."
processed_other = "{{formattedCount}} PDFs processados."
processedWithRate_one = "{{formattedCount}} PDF processado, a {{rate}} cada."
processedWithRate_other = "{{formattedCount}} PDFs processados, a {{rate}} cada."
[portal.billing.subscribedPlan.capWarn]
approachingBody = "Aumente agora para que o processamento automatizado nunca pause."
approachingTitle = "Você está em {{pct}}% do seu limite de gastos mensal"
raiseLimit = "Aumentar limite"
reachedBody = "O processamento medido está pausado até você aumentar o limite ou o ciclo reiniciar. A edição ilimitada de PDF continua funcionando."
reachedTitle = "Limite de gastos mensal atingido"
[portal.billing.subscribedPlan.portalError]
title = "Não foi possível abrir o portal do Stripe"
[portal.billing.walletMeter]
capSuffix_one = "de {{allowance}} PDFs gratuitos usados"
capSuffix_other = "de {{allowance}} PDFs gratuitos usados"
eyebrow = "Teste do Processor"
statusLabel_one = "{{remaining}} restante"
statusLabel_other = "{{remaining}} restantes"
sub = "Use o Editor de PDF gratuitamente. Pague para processar PDFs automaticamente."
title_one = "Processe {{allowance}} PDFs grátis"
title_other = "Processe {{allowance}} PDFs grátis"
titleWithRate_one = "Processe {{allowance}} PDFs grátis, depois {{rate}}/PDF"
titleWithRate_other = "Processe {{allowance}} PDFs grátis, depois {{rate}}/PDF"
[portal.catalogue.card]
lockedAriaLabel = "Bloqueado"
openAriaLabel = "Abrir componente {{name}}"
[portal.catalogue.detail]
addToProject = "Adicionar ao projeto"
ariaLabel = "Detalhes do componente"
tabsAriaLabel = "Seções de detalhes do componente"
upgradeToUnlock = "Faça upgrade para desbloquear"
[portal.catalogue.detail.code]
install = "Instalação"
usage = "Uso"
[portal.catalogue.detail.locked]
description = "{{name}} está incluído a partir do plano {{tier}}. Faça upgrade para incorporá-lo."
title = "Não disponível no seu plano"
[portal.catalogue.detail.preview]
badge = "Prévia ao vivo"
note = "Sandbox interativo renderiza aqui"
[portal.catalogue.detail.pricing]
note = "Medido por {{unit}}. O uso além da cota gratuita mensal é cobrado da sua conta e detalhado em Uso e cobrança."
[portal.catalogue.detail.stats]
billedOn = "Cobrado por"
embeds30d = "Incorporações (30d)"
freeQuota = "Cota gratuita"
freeQuotaValue = "{{amount}} / mês"
maturity = "Maturidade"
none = "Nenhum"
perAction = "Por ação"
price = "Preço"
[portal.catalogue.detail.tabs]
code = "Código"
overview = "Visão geral"
pricing = "Preços"
props = "Props / API"
[portal.catalogue.props]
optional = "opcional"
required = "obrigatório"
[portal.catalogue.props.columns]
description = "Descrição"
name = "Prop"
required = "Obrigatório"
type = "Tipo"
[portal.catalogue.summary]
componentsGa = "Componentes GA"
componentSpendMtd = "Gasto com componentes (MTD)"
embedsThisMonth = "Incorporações este mês"
inBeta = "Em beta"
[portal.components.billingUnit]
approval = "aprovação"
check = "verificação"
event = "evento"
render = "renderização"
review = "revisão"
session = "sessão"
signature = "assinatura"
[portal.components.maturity]
beta = "Beta"
ga = "GA"
[portal.componentsView]
subtitle = "Widgets SDK incorporáveis que você coloca no seu próprio app — um visualizador, um fluxo de assinatura eletrônica, um painel de revisão de IA. Cada um é medido por ação. Clique em um cartão para instalação, uso e props."
title = "Componentes"
[portal.componentsView.empty]
description = "Não foi possível carregar o catálogo de componentes. Tente novamente em breve."
title = "Nenhum componente disponível"
[portal.componentsView.lockedBanner]
description = "Componentes GA estão disponíveis no pagamento conforme o uso; alguns componentes Beta são exclusivos para empresas. Cartões bloqueados mostram um incentivo de upgrade."
title = "Alguns componentes precisam de um plano pago"
[portal.docs.authentication]
codeCaption = "cada solicitação"
eyebrow = "INTRODUÇÃO"
lead = "Todas as solicitações são autenticadas com um token bearer. As chaves têm escopo por ambiente e nunca expiram, a menos que sejam rotacionadas."
liveKey = "Chaves de produção — cobradas, com limite de taxa conforme seu plano."
testKey = "Chaves de Sandbox — gratuitas, retornam fixtures sintéticas."
title = "Autenticação"
[portal.docs.components]
codeCaption = "incorporar o visualizador"
eyebrow = "COMPONENTES"
lead = "UI incorporável para filas de revisão e inspeção de documentos. Use seus próprios estilos ou o tema fornecido."
title = "Visualizadores prontos para uso"
[portal.docs.endpoints]
eyebrow = "REFERÊNCIA DA API"
fieldCount_one = "{{count}} campo"
fieldCount_other = "{{count}} campos"
filterAll = "Todos"
filterAriaLabel = "Filtrar endpoints por vertical"
lead = "Cada tipo de documento é um endpoint tipado. Faça POST de um arquivo e receba JSON validado por esquema. Filtre por vertical abaixo."
title = "Endpoints"
[portal.docs.errors]
codeCaption = "422 Entidade não processável"
eyebrow = "REFERÊNCIA DA API"
lead = "Erros retornam um código estável legível por máquina e uma mensagem humana. O corpo 4xx sempre inclui um request_id para suporte."
title = "Erros"
[portal.docs.nav]
ariaLabel = "Documentação"
[portal.docs.nav.empty]
description = "Não foi possível carregar o índice da documentação."
title = "Documentação indisponível"
[portal.docs.quickstart]
eyebrow = "INTRODUÇÃO"
lead = "Envie seu primeiro documento a um endpoint tipado e receba JSON estruturado de volta em três etapas. Sem treinamento de modelo, sem engenharia de prompt."
title = "Início rápido"
[portal.docs.quickstart.callout]
bodyAfterLink = "para receitas de copiar e colar."
bodyBeforeLink = "conecte a mesma chamada a um pipeline para encadear validação, redação e entrega — ou exponha-a a um agente via MCP. Veja"
label = "Próximo:"
link = "Playbooks"
[portal.docs.quickstart.step1]
body = "Crie uma chave com escopo na aba Infraestrutura. As chaves têm limites de taxa e uma lista de IPs permitidos opcional. Exporte-a para seu shell:"
title = "Emitir uma chave API"
[portal.docs.quickstart.step2]
body = "Faça POST de um arquivo para qualquer endpoint tipado. O endpoint determina o esquema que você recebe de volta — aqui, o extrator de faturas."
snippetCaption = "extrair uma fatura"
title = "Enviar um documento"
[portal.docs.quickstart.step3]
body = "Toda resposta é validada em relação ao esquema do endpoint, com pontuação de confiança e proveniência por campo."
codeCaption = "200 OK"
title = "Ler o resultado estruturado"
[portal.docs.rateLimits]
burst = "Burst"
codeCaption = "429 Muitas solicitações"
concurrency = "Concorrência"
eyebrow = "INTRODUÇÃO"
lead = "Os limites escalam com seu plano. Uma resposta 429 inclui um cabeçalho Retry-After; os SDKs recuam automaticamente."
requestsPerMinute = "Solicitações / minuto"
title = "Limites de taxa e cotas"
[portal.docs.recipes]
cloneButton = "Clonar receita"
eyebrow = "PLAYBOOKS"
lead = "Padrões de ponta a ponta que encadeiam fontes, operações e destinos. Cada um mapeia para um pipeline que você pode clonar."
title = "Receitas"
[portal.docs.sdks]
eyebrow = "SDKS"
lead = "Clientes first-party com respostas tipadas, novas tentativas automáticas e uploads por streaming. Todos acompanham o mesmo catálogo de endpoints."
title = "SDKs oficiais"
[portal.docs.sdks.status]
beta = "Beta"
deprecated = "Obsoleto"
[portal.docs.skills]
eyebrow = "HABILIDADES"
lead = "Capacidades agrupadas e nomeadas que seu agente invoca como uma única ferramenta. Cada habilidade é uma cadeia determinística de operações com avaliações anexadas."
title = "Habilidades do agente"
[portal.docs.webhooks]
codeCaption = "document.processed"
eyebrow = "REFERÊNCIA DA API"
lead = "Assine eventos document.processed, pipeline.completed e quota.threshold. Payloads são assinados com HMAC-SHA256."
title = "Webhooks"
[portal.docs.webhooks.callout]
afterHelper = "helper."
beforeHelper = "em relação ao seu segredo de assinatura antes de confiar em um payload. SDKs incluem um"
beforeSignature = "Verifique o cabeçalho"
[portal.documents]
exportCsv = "Exportar CSV"
search = "Pesquisar por nome de arquivo, ID..."
subtitle = "Cada documento que sua organização processou, com seu registro completo de processamento. O acesso ao conteúdo depende de solicitação."
title = "Documentos"
[portal.documents.audit]
approved = "Aprovado"
archived = "Arquivado"
elevation = "Elevação"
empty = "Nenhum evento registrado ainda."
extracted = "Processado"
flagged = "Precisa de revisão"
ingested = "Ingerido"
reviewed = "Em revisão"
[portal.documents.drawer]
sectionsAriaLabel = "Seções de detalhes do documento"
[portal.documents.drawer.tabs]
audit = "Auditoria"
extractions = "Extrações"
overview = "Visão geral"
[portal.documents.elevation]
requestAccess = "Solicitar acesso"
[portal.documents.elevation.active]
description = "Concessão temporária — o acesso é registrado e limitado por tempo."
descriptionFourEyes = "Concessão temporária — um revisor par foi notificado (four-eyes)."
title = "O acesso expira em {{time}}"
[portal.documents.elevation.gated]
description = "O conteúdo é protegido por zero-standing-access. A solicitação inicia uma concessão limitada por tempo."
descriptionFourEyes = "O conteúdo é protegido por zero-standing-access. A solicitação inicia uma concessão limitada por tempo e notifica um revisor par (four-eyes)."
title = "Documento sensível"
[portal.documents.extractions]
empty = "Nenhum campo foi extraído deste documento."
masked = "Os campos extraídos estão ocultos. Solicite acesso temporário para visualizar o conteúdo deste documento."
[portal.documents.extractions.columns]
confidence = "Confiança"
field = "Campo"
value = "Valor"
[portal.documents.filters]
all = "Todos"
ariaLabel = "Filtrar documentos por status"
flagged = "Marcados"
inReview = "Em revisão"
processed = "Processados"
[portal.documents.overview]
action = "Pipeline / Ação"
product = "Produto"
received = "Hora"
status = "Status"
type = "Tipo"
user = "Usuário"
[portal.documents.queue.empty]
description = "À medida que as fontes enviarem documentos para seus pipelines, eles aparecerão aqui para revisão."
title = "Nenhum documento na fila"
[portal.documents.status]
error = "Erro"
flagged = "Precisa de revisão"
inReview = "Em revisão"
processed = "Processado"
[portal.documents.table]
auto = "Automático"
editorAction = "Editor"
empty = "Nenhum documento corresponde a este filtro."
rowActions = "Ações da linha"
sensitiveLabel = "Sensível"
sensitiveTitle = "Sensível — acesso necessário"
[portal.documents.table.columns]
action = "Pipeline / Ação"
document = "Documento"
product = "Produto"
status = "Status"
time = "Hora"
user = "Usuário"
[portal.editorAdmin]
subtitle = "Implante o Stirling PDF Editor, emparelhe instâncias auto-hospedadas à sua organização e opere a frota em execução — destinos, integridade, credenciais e ativação offline em um só lugar."
title = "Implantação do Editor"
[portal.editorAdmin.health.columns]
activeUsers = "Usuários ativos"
host = "Host"
lastSeen = "Visto por último"
region = "Região"
status = "Status"
version = "Versão"
[portal.editorAdmin.health.empty]
description = "Implante um destino e emparelhe-o para ver a integridade da instância ao vivo aqui."
title = "Nenhuma instância reportando"
[portal.editorAdmin.offlineActivation]
enterpriseTag = "Enterprise"
generateButton = "Gerar pacote offline"
lockCopy = "A ativação offline e on-prem faz parte do Enterprise."
subtitle = "Gere um pacote de ativação assinado para uma instalação offline ou on-prem sem caminho de rede de saída. Transfira-o para a instância e aplique-o durante a configuração de primeira execução."
talkToSales = "Falar com vendas"
title = "Ativação air-gapped"
[portal.editorAdmin.offlineActivation.readyBanner]
description = "{{file}} está assinado e pronto para transferência. Ele ativa uma instância e expira em 14 dias."
title = "Pacote pronto"
[portal.editorAdmin.pairing]
generated = "Gerado ✓"
generateNewCode = "Gerar novo código"
lockCopy = "O provisionamento IaC faz parte do Enterprise."
rotate = "Rotacionar"
talkToSales = "Falar com vendas"
[portal.editorAdmin.sections.health]
sub = "Cada instância do Editor reportando — versão, região, status, visto por último e usuários ativos."
title = "Integridade da instância"
[portal.editorAdmin.sections.pairing]
sub = "Conecte um editor auto-hospedado a esta organização. Gere um token, repasse um código curto ou integre-o via IaC."
title = "Emparelhamento"
[portal.editorAdmin.sections.targets]
sub = "Onde o Editor é executado. Copie um snippet para criar uma instância auto-hospedada ou use a Nuvem gerenciada sem operações."
title = "Destinos de implantação"
[portal.editorAdmin.serviceToken]
currentToken = "Token atual"
lastRotated = "Rotacionado pela última vez"
rotateButton = "Rotacionar token de serviço"
subtitle = "As instâncias se autenticam na organização com esta credencial. Rotacione-a em uma programação ou imediatamente após suspeita de vazamento."
title = "Token de serviço"
[portal.editorAdmin.serviceToken.rotatedBanner]
description = "Um novo token foi emitido. Atualize o STIRLING_SERVICE_TOKEN de cada instância auto-hospedada dentro da janela de carência de 24 h ou elas ficarão offline."
title = "Rotacionar instâncias em execução"
[portal.editorAdmin.status]
degraded = "Degradado"
healthy = "Íntegro"
offline = "Offline"
pairing = "Emparelhando"
[portal.editorAdmin.targets]
instanceCount_one = "{{count}} instância"
instanceCount_other = "{{count}} instâncias"
talkToSales = "Falar com vendas"
upgradePlan = "Atualizar plano"
[portal.editorAdmin.targets.lock]
enterprise = "Auto-hospedagem on-prem e Kubernetes fazem parte do Enterprise."
paid = "Auto-hospedagem com Docker e Kubernetes é desbloqueada em um plano pago."
[portal.editorAdmin.targets.state]
available = "Disponível"
locked = "Bloqueado"
running = "Em execução"
[portal.errorBoundary]
description = "Esta visualização encontrou um erro inesperado. Tente novamente ou escolha outra seção na barra lateral."
retry = "Tentar novamente"
title = "Algo deu errado nesta página"
[portal.home.editor]
activeUsers = "{{n}} ativos"
invite = "Convidar colegas de equipe"
name = "Stirling PDF Editor"
open = "Abrir no navegador"
updated = "atualizado {{time}}"
[portal.home.editor.target]
cloud = "Nuvem gerenciada"
docker = "Auto-hospedado · Docker"
kubernetes = "Auto-hospedado · Kubernetes"
[portal.home.greeting]
afternoon = "Boa tarde"
evening = "Boa noite"
morning = "Bom dia"
[portal.home.onboarding]
dismiss = "Dispensar configuração"
notStarted = "Não iniciado"
progress = "{{done}} de {{total}} concluídos"
title = "Concluir configuração"
[portal.home.onboarding.enterprise]
body = "SSO + SCIM + RBAC em toda a organização, preços por volume comprometido e implantação air-gapped."
cta = "Iniciar teste"
ctaQuote = "Solicitar orçamento"
lead = "Para mais de 250 funcionários."
tag = "Enterprise"
[portal.home.onboarding.steps.editor]
blurb = "Implante o aplicativo desktop, grátis para sempre."
title = "Baixe o PDF Editor"
[portal.home.onboarding.steps.policies]
blurb = "{{active}} ativas · {{recommended}} recomendadas"
chip = "{{active}} ativas"
title = "Ativar políticas"
[portal.home.onboarding.steps.sources]
blurb = "{{connected}} conectadas · todo PDF governado onde quer que chegue"
chip = "{{connected}} conectadas"
title = "Conecte suas fontes"
[portal.home.quickActions]
subtitle = "Principais tarefas de hoje"
title = "Ações rápidas"
[portal.home.quickActions.buildPipeline]
blurb = "Compositor de 3 etapas sobre a biblioteca de operações tipadas"
title = "Criar um pipeline"
[portal.home.quickActions.connectSource]
blurb = "S3, agentes, webhooks, pastas monitoradas"
title = "Conectar uma fonte"
[portal.home.quickActions.issueApiKey]
blurb = "Chave com escopo, limites de taxa e allowlist de IP"
title = "Emitir uma chave de API"
[portal.infrastructure]
manageEditorDeployment = "Gerenciar implantação do Editor"
sectionsAriaLabel = "Seções de infraestrutura"
subtitle = "Implantações, credenciais, postura de segurança, armazenamento e a trilha de auditoria do seu workspace Stirling."
title = "Infraestrutura"
[portal.infrastructure.apiKeys]
createKey = "Criar chave"
heading = "Chaves de API"
subheading = "Credenciais com escopo, limites de taxa por chave, permissões e allowlists de IP."
[portal.infrastructure.apiKeys.card]
allowedIps = "IPs permitidos"
anyIp = "Qualquer IP (sem allowlist)"
created = "Criado"
lastUsed = "Usado pela última vez"
permissions = "Permissões"
rateLimit = "Limite de taxa"
rateLimitValue = "{{value}} req/min"
usageMonth = "Uso neste mês"
usageToday = "Uso hoje"
[portal.infrastructure.apiKeys.empty]
description = "Crie uma chave com escopo para começar a chamar a Stirling API."
title = "Ainda não há chaves de API"
[portal.infrastructure.audit]
filterAriaLabel = "Filtrar eventos de auditoria por categoria"
heading = "Logs de auditoria"
latencyValue = "{{value}} ms"
noEventsInCategory = "Nenhum evento nesta categoria."
subheading = "Cada evento de autenticação, configuração e processamento em todo o seu workspace."
[portal.infrastructure.audit.columns]
actor = "Ator"
event = "Evento"
latency = "Latência"
status = "Status"
target = "Recurso"
timestamp = "Timestamp"
[portal.infrastructure.audit.empty]
description = "A atividade do workspace aparecerá aqui conforme acontecer."
title = "Nenhum evento de auditoria"
[portal.infrastructure.audit.export]
cancel = "Cancelar"
error = "Falha na exportação. Tente novamente."
exportButton = "Exportar"
exporting = "Exportando…"
fieldsLegend = "Colunas"
format = "Formato"
open = "Exportar"
subtitle = "Baixe eventos de auditoria como CSV ou JSON. Escolha quais colunas incluir."
title = "Exportar log de auditoria"
[portal.infrastructure.audit.export.fields]
date = "Data"
documentName = "Nome do documento"
ipAddress = "Endereço IP"
outcome = "Resultado"
tool = "Ferramenta"
username = "Nome de usuário"
[portal.infrastructure.audit.filters]
all = "Todos"
auth = "Auth"
config = "Config"
elevation = "Elevação"
processing = "Processamento"
security = "Segurança"
[portal.infrastructure.audit.forbidden]
description = "O log de auditoria está disponível para líderes de equipe e admins. Peça acesso ao seu líder de equipe ou a um admin."
title = "Você não tem acesso"
[portal.infrastructure.audit.metrics]
config = "Config"
elevation = "Elevação"
processing = "Processamento"
totalEvents = "Total de eventos · 24 h"
[portal.infrastructure.createKey]
cancel = "Cancelar"
createKey = "Criar chave"
done = "Concluído"
ipAllowlistHelper = "Intervalos CIDR separados por vírgulas. Deixe em branco para permitir qualquer IP."
ipAllowlistLabel = "Allowlist de IP"
keyNameLabel = "Nome da chave"
keyNamePlaceholder = "ex.: Produção · ingestão"
permissionsLabel = "Permissões"
secretKeyCaption = "Chave secreta"
secretWarning = "Armazene isto em um gerenciador de segredos. O Stirling armazena apenas um hash — não há como recuperá-lo depois."
subtitle = "Defina o escopo da chave para o mínimo necessário. Você pode rotacionar ou revogar a qualquer momento."
subtitleCreated = "Copie este segredo agora — ele não será exibido novamente."
title = "Criar chave de API"
titleCreated = "Chave criada"
[portal.infrastructure.deployments]
msValue = "{{value}} ms"
throughputValue = "{{value}}/min"
[portal.infrastructure.deployments.deployColumns]
deployedBy = "Implantado por"
environment = "Ambiente"
product = "Produto"
status = "Status"
version = "Versão"
when = "Quando"
[portal.infrastructure.deployments.recent]
heading = "Implantações recentes"
subheading = "Os lançamentos mais recentes entre produtos e ambientes."
[portal.infrastructure.deployments.regionColumns]
instances = "Instâncias"
latency = "Latência"
load = "Carga"
p99 = "P99"
region = "Região"
status = "Status"
throughput = "Throughput"
uptime = "Uptime"
version = "Versão"
[portal.infrastructure.deployments.regions]
heading = "Regiões"
subheading = "Integridade ao vivo de cada região Stirling implantada — latência, carga e versão de rollout."
[portal.infrastructure.deployments.regions.empty]
description = "As regiões implantadas aparecerão aqui assim que seu workspace for provisionado."
title = "Nenhuma região implantada"
[portal.infrastructure.models]
heading = "Modelos"
msValue = "{{value}} ms"
subheading = "O catálogo de modelos e roteamento que impulsiona o processamento de documentos em todo o seu workspace."
[portal.infrastructure.models.byom]
description = "Registre um modelo on-prem ou auto-hospedado e fixe-o a uma região para processamento vinculado à residência de dados."
title = "Traga seu próprio modelo"
[portal.infrastructure.models.catalogue]
heading = "Catálogo"
sub = "Modelos gerenciados disponíveis para seu workspace, com latência e custo ao vivo."
subEnterprise = "Modelos gerenciados, próprios e on-prem — com fixação por região disponível."
[portal.infrastructure.models.catalogue.empty]
description = "Os modelos no catálogo do seu workspace aparecem aqui."
title = "Nenhum modelo disponível"
[portal.infrastructure.models.columns]
cost = "Custo"
latency = "Latência"
load = "Carga"
model = "Modelo"
status = "Status"
type = "Tipo"
version = "Versão"
[portal.infrastructure.models.metrics]
activeModels = "Modelos ativos"
avgLatency = "Latência média"
included = "Incluído"
monthlySpend = "Gasto mensal com modelos"
[portal.infrastructure.models.routing]
empty = "Nenhuma regra de roteamento configurada."
heading = "Regras de roteamento"
sub = "Qual modelo lida com cada operação. O padrão se aplica quando nenhuma regra mais específica corresponde."
subLocked = "Direcione operações para modelos específicos — disponível em planos pagos."
[portal.infrastructure.models.routing.lockedBanner]
description = "Atualize para Pro para controlar qual modelo lida com cada operação e tipo de documento."
title = "Roteamento de modelos é um recurso pago"
[portal.infrastructure.models.routingColumns]
default = "Padrão"
docType = "Tipo de documento"
modelForAria = "Modelo para {{operation}}"
operation = "Operação"
routedTo = "Roteado para"
[portal.infrastructure.security.access.byok]
description = "Forneça uma chave do seu próprio KMS. O Stirling criptografa com ela, mas ainda consegue ler."
label = "Traga sua própria chave (BYOK)"
[portal.infrastructure.security.access.hyok]
description = "As chaves nunca saem do seu KMS. O Stirling mantém apenas ciphertext."
label = "Mantenha sua própria chave (HYOK)"
[portal.infrastructure.security.access.stirling]
description = "O Stirling gerencia as chaves de criptografia. O mais simples — zero operações de chave do seu lado."
label = "Chaves mantidas pelo Stirling"
[portal.infrastructure.security.accessPolicy]
heading = "Política de acesso a documentos"
subheading = "Controla quem pode descriptografar documentos processados em repouso."
[portal.infrastructure.security.attestations]
heading = "Atestados de conformidade"
noReport = "Nenhum relatório disponível"
subheading = "Postura de auditoria framework por framework, com relatórios disponíveis para controles atestados."
viewReport = "Ver relatório →"
[portal.infrastructure.security.compliance]
heading = "Conformidade"
subheading = "Atestados e certificações que cobrem a plataforma Stirling."
[portal.infrastructure.security.empty]
description = "A configuração de segurança do seu workspace aparecerá aqui."
title = "Postura de segurança indisponível"
[portal.infrastructure.security.hyokBanner]
description = "Com HYOK, as chaves de criptografia nunca saem do seu KMS. O Stirling armazena e processa apenas ciphertext que você pode revogar a qualquer momento."
title = "O Stirling não consegue descriptografar seus documentos"
[portal.infrastructure.security.ipAllowlist]
empty = "Nenhum intervalo de IP configurado — todos os IPs permitidos."
heading = "Allowlist de IP"
sub = "O acesso à API é restrito a estes intervalos CIDR."
subLocked = "Restrinja o acesso à API a intervalos de IP conhecidos — disponível em planos pagos."
[portal.infrastructure.security.ipAllowlist.lockedBanner]
description = "Atualize para Pro para restringir o acesso à API a redes específicas."
title = "Allowlist de IP é um recurso pago"
[portal.infrastructure.security.ipColumns]
added = "Adicionado"
addedBy = "Adicionado por"
cidr = "CIDR"
label = "Rótulo"
[portal.infrastructure.security.keyManagement]
algorithm = "Algoritmo"
heading = "Gerenciamento de chaves de criptografia"
keyId = "Identificador da chave"
lastRotated = "Rotacionada pela última vez"
rotateKey = "Rotacionar chave"
rotationPolicy = "Política de rotação"
subheading = "Custódia das chaves que criptografam documentos em repouso — quem pode descriptografar e como as chaves são rotacionadas."
[portal.infrastructure.security.managedBanner]
description = "Custódia bring-your-own-key (BYOK) e hold-your-own-key (HYOK) estão disponíveis no Enterprise. Atualize para fornecer chaves do seu próprio KMS."
title = "As chaves são gerenciadas pelo Stirling no seu plano"
[portal.infrastructure.security.residency.apac]
description = "ap-southeast-1"
label = "Ásia-Pacífico"
[portal.infrastructure.security.residency.eu]
description = "eu-west-1 · limite de dados GDPR"
label = "União Europeia"
[portal.infrastructure.security.residency.us]
description = "us-east-1 · us-west-2"
label = "Estados Unidos"
[portal.infrastructure.security.residencyHeader]
heading = "Residência de dados"
subheading = "Onde os documentos são armazenados e processados."
[portal.infrastructure.storage]
gbValue = "{{value}} GB"
percentUsed = "{{value}} usado"
[portal.infrastructure.storage.empty]
description = "Armazenamento conectado e uso aparecem aqui."
title = "Nenhum armazenamento configurado"
[portal.infrastructure.storage.lifecycle]
active = "Ativo"
activeRange = "0{{value}}d"
archived = "Arquivado"
coldStorage = "cold storage"
deleted = "Excluído"
never = "nunca"
purged = "expurgado"
[portal.infrastructure.storage.providers]
connect = "Conectar"
connected = "Conectado"
heading = "Provedores conectados"
subheading = "Onde os artefatos processados são gravados."
[portal.infrastructure.storage.retention]
heading = "Retenção"
subheading = "Por quanto tempo os artefatos são mantidos antes da exclusão do ciclo de vida."
windowLabel = "Janela de retenção padrão"
[portal.infrastructure.storage.retentionOption]
days_one = "{{count}} dia"
days_other = "{{count}} dias"
never = "Nunca excluir"
[portal.infrastructure.storage.totalUsage]
heading = "Uso total"
progressLabel = "Armazenamento usado"
subheading = "Armazenamento consumido em todos os provedores conectados."
[portal.infrastructure.tabs]
apiKeys = "Chaves de API"
audit = "Logs de auditoria"
deployments = "Implantações"
models = "Modelos"
security = "Segurança"
storage = "Armazenamento"
[portal.nav]
agent-builder = "Agent Builder"
components = "Componentes"
docs = "Documentação para desenvolvedores"
documents = "Documentos"
editor = "Editor"
home = "Início"
infrastructure = "Infraestrutura"
pipelines = "Pipelines"
policies = "Políticas"
procurement = "Compras"
settings = "Configurações"
sources = "Fontes"
usage = "Uso e faturamento"
users = "Usuários"
[portal.notifications]
markAllRead = "Marcar todas como lidas"
title = "Notificações"
viewAll = "Ver tudo"
[portal.notifications.ariaLabel]
none = "Notificações, nenhuma não lida"
unread_one = "Notificações, {{count}} não lida"
unread_other = "Notificações, {{count}} não lidas"
[portal.notifications.count]
allRead = "todas lidas"
loading = "carregando"
new_one = "{{count}} nova"
new_other = "{{count}} novas"
[portal.notifications.empty]
description = "Nenhuma nova notificação."
title = "Você está em dia"
[portal.pipelines]
subtitle = "Cada pipeline automatizado de documentos no backend: uma cadeia ordenada de operações sobre um conjunto de fontes, executada por um gatilho. Clique em uma linha para ver suas etapas e fontes."
title = "Pipelines"
[portal.pipelines.actions]
newPipeline = "Novo pipeline"
[portal.pipelines.builder]
addStep = "Adicionar ferramenta"
back = "Voltar para pipelines"
discard = "Descartar alterações"
enabled = "Ativado"
keepEditing = "Continuar editando"
needsUpload = "Precisa de um arquivo enviado"
noToolMatches = "Nenhuma ferramenta corresponde à sua busca."
pipelineSettings = "Configurações do pipeline"
searchTools = "Buscar ferramentas"
selectToolBody = "Adicione uma ferramenta para criar seu pipeline."
selectToolTitle = "Ainda não há ferramentas"
toolSettings = "Configurações da ferramenta"
unknownStep = "Operação não reconhecida, mantida como está."
unsavedBody = "Você tem alterações não salvas. Salve-as antes de sair ou descarte-as?"
unsavedTitle = "Alterações não salvas"
uploadUnsupported = "Arquivos enviados ainda não são suportados em pipelines, então estas etapas não podem ser salvas: {{tools}}."
usesDefaults = "Executa com configurações padrão"
[portal.pipelines.composer]
addTool = "Adicionar ferramenta"
cancel = "Cancelar"
chainEmpty = "Adicione uma ferramenta para começar a criar seu pipeline."
create = "Criar pipeline"
directory = "Pasta de saída"
directoryHelp = "Caminho absoluto no servidor. Deve estar dentro das pastas permitidas configuradas."
editingUnsupported = "A exibição destes parâmetros da ferramenta para edição ainda não é suportada."
moveDown = "Mover para baixo"
moveUp = "Mover para cima"
name = "Nome"
namePlaceholder = "ex.: Varredura de redação"
noSources = "Nenhuma fonte conectada ainda. O pipeline ainda pode ser executado em arquivos fornecidos diretamente a ele."
noToolSettings = "Esta ferramenta não tem configurações ajustáveis."
operations_one = "Operação ({{count}})"
operations_other = "Operações ({{count}})"
output = "Saída"
removeStep = "Remover operação"
save = "Salvar alterações"
scheduleEvery = "Executar a cada"
sources = "Fontes"
sourcesLoading = "Carregando fontes..."
trigger = "Gatilho"
triggerManual = "Somente manual"
[portal.pipelines.composer.unit]
days = "dias"
hours = "horas"
minutes = "minutos"
[portal.pipelines.delete]
body = "Excluir \"{{name}}\"? Isso não pode ser desfeito."
cancel = "Cancelar"
confirm = "Excluir"
title = "Excluir pipeline?"
[portal.pipelines.detail]
delete = "Excluir pipeline"
run = "Executar agora"
[portal.pipelines.empty]
action = "Criar um pipeline"
description = "Crie seu primeiro pipeline: escolha as fontes em que ele é executado, encadeie as operações e escolha para onde vai a saída."
title = "Ainda não há pipelines"
[portal.pipelines.kpi]
active = "Ativos"
paused = "Pausados"
total = "Pipelines"
[portal.pipelines.output]
folder = "Gravar na pasta"
inline = "Retornar arquivos"
[portal.pipelines.run]
completed_one = "Execução concluída."
completed_other = "Todas as {{count}} execuções concluídas."
empty = "Nada para executar: as fontes não tinham documentos para processar."
failed = "Falha na execução: {{error}}"
running = "Execução iniciada; ainda em andamento."
timeout = "A execução está demorando mais do que o esperado; ela ainda pode terminar em segundo plano."
[portal.pipelines.status]
active = "Ativo"
paused = "Pausado"
[portal.pipelines.table]
name = "Pipeline"
sources = "Fontes"
status = "Status"
steps = "Etapas"
[portal.pipelines.trigger]
folder-watch = "Monitoramento de pasta"
manual = "Manual"
schedule = "Agendado"
[portal.policies]
subtitle = "Automações permanentes que aplicam um pipeline de ferramentas a cada documento. Cada política é acionada no upload ou na exportação, executa sua cadeia de ferramentas e salva a versão aplicada junto ao original."
title = "Políticas"
[portal.policies.card]
comingSoon = "Atualize para Enterprise"
notSetUp = "Não configurado"
[portal.policies.categories.compliance]
desc = "Aplique requisitos HIPAA, GDPR, SOC 2 ou FedRAMP a cada documento."
label = "Conformidade"
[portal.policies.categories.ingestion]
desc = "Classifique documentos, extraia dados estruturados, aplique convenções de nomenclatura e normalize páginas."
label = "Ingestão"
[portal.policies.categories.retention]
desc = "Defina por quanto tempo os documentos são mantidos, quando arquivar e quando excluir."
label = "Retenção"
[portal.policies.categories.routing]
desc = "Encaminhe automaticamente documentos para a equipe, pasta ou sistema correto."
label = "Roteamento"
[portal.policies.categories.security]
desc = "Detecte PII, redija, remova conteúdo ativo e adicione marca d'água aos documentos."
label = "Segurança"
[portal.policies.config]
scopeAll = "Todos os documentos"
[portal.policies.config.compliance]
summary = "Valida documentos em relação a frameworks regulatórios antes que saiam do sistema."
[portal.policies.config.compliance.fields]
accessLog = "Log de acesso"
auditTrail = "Trilha de auditoria"
frameworks = "Frameworks"
onViolation = "Quando não estiver em conformidade"
[portal.policies.config.compliance.rules]
0 = "Varredura de framework"
1 = "Aplicar ação"
2 = "Trilha de auditoria"
[portal.policies.config.ingestion]
summary = "Classifica documentos, extrai dados estruturados, aplica nomenclatura e normaliza páginas."
[portal.policies.config.ingestion.fields]
belowThreshold = "Abaixo do limite"
minConfidence = "Confiança mínima"
[portal.policies.config.ingestion.rules]
0 = "Classificar"
1 = "Extrair"
2 = "Nomear"
3 = "Normalizar"
[portal.policies.config.retention]
summary = "Aplica por quanto tempo os documentos são mantidos, quando arquivar e quando excluir."
[portal.policies.config.retention.fields]
archiveAfter = "Arquivar após"
immutableHold = "Retenção imutável"
keepFor = "Manter por"
[portal.policies.config.retention.rules]
0 = "Retenção obrigatória"
1 = "Arquivamento automático"
2 = "Bloqueio de exclusão"
[portal.policies.config.routing]
summary = "Roteia documentos para o destino correto com base no tipo e na classificação."
[portal.policies.config.routing.fields]
destination = "Destino"
notify = "Notificar ao rotear"
webhookUrl = "URL do webhook"
[portal.policies.config.routing.rules]
0 = "Classificar automaticamente"
1 = "Rotear para pasta"
2 = "Notificar webhook"
[portal.policies.config.security]
summary = "Detecta e redige PII, remove conteúdo ativo (JavaScript) e adiciona marca d'água aos documentos."
[portal.policies.config.security.rules]
0 = "Redigir PII"
1 = "Remover JavaScript"
2 = "Marca d'água"
[portal.policies.detail]
enforces = "Aplica"
onEveryExport = "Em cada exportação"
onEveryUpload = "Em cada upload"
outputAsNewFile = "como um novo arquivo"
outputAsNewVersion = "como uma nova versão"
recentActivity = "Atividade recente"
retry = "Tentar novamente"
showLess = "Mostrar menos"
showMore = "Mostrar mais"
sources = "Fontes"
[portal.policies.detail.actions]
clearHistory = "Limpar histórico processado"
delete = "Excluir"
editSettings = "Editar configurações"
pause = "Pausar"
resume = "Retomar"
runNow = "Executar agora"
[portal.policies.detail.clearHistory]
body = "Esta política esquecerá todos os arquivos que já processou e reprocessará tudo que estiver atualmente em suas fontes na próxima execução. Os arquivos em si não são alterados. Isso não pode ser desfeito."
cancel = "Cancelar"
confirm = "Limpar histórico"
title = "Limpar histórico processado?"
[portal.policies.detail.emptyActivity]
description = "Os documentos aparecerão aqui assim que esta política for executada."
title = "Nenhuma atividade ainda"
[portal.policies.endpoints]
addWatermark = "Marca d'água"
autoRedact = "Ocultar PII"
compressPdf = "Comprimir"
flatten = "Achatar"
ocrPdf = "OCR"
sanitizePdf = "Remover JavaScript"
[portal.policies.offline]
description = "Suas políticas foram salvas e aparecerão assim que a conexão for restaurada."
retry = "Tentar novamente"
title = "Backend indisponível"
[portal.policies.stats]
activeFor = "Ativa"
dataProcessed = "Dados processados"
docsEnforced = "Docs aplicados"
[portal.policies.status]
active = "Ativa"
paused = "Pausada"
[portal.policies.summary.active]
description = "Aplicando no upload/exportação"
label = "Políticas ativas"
[portal.policies.summary.categories]
description = "Disponíveis para configurar"
label = "Categorias"
[portal.policies.summary.docsEnforced]
description = "Em políticas ativas"
label = "Docs aplicados"
[portal.policies.summary.paused]
description = "Configuradas, mas não acionadas"
label = "Pausadas"
[portal.policies.wizard.actions]
back = "Voltar"
cancel = "Cancelar"
continue = "Continuar"
enablePolicy = "Ativar política"
saveChanges = "Salvar alterações"
[portal.policies.wizard.capability.compress]
desc = "Comprime o documento para um tamanho de arquivo menor."
label = "Reduzir tamanho do arquivo"
[portal.policies.wizard.capability.flatten]
desc = "Mescla campos de formulário e anotações na página para que não possam ser editados."
label = "Achatar o documento"
[portal.policies.wizard.capability.ocr]
desc = "Executa OCR para que páginas digitalizadas se tornem texto selecionável e pesquisável."
label = "Tornar o texto pesquisável"
[portal.policies.wizard.capability.redact]
desc = "Encontra e oculta detalhes sensíveis — como números de CPF e de cartão — para que não possam ser lidos."
label = "Ocultar informações sensíveis"
[portal.policies.wizard.capability.sanitize]
desc = "Remove JavaScript oculto para que nada possa ser executado automaticamente quando o documento for aberto."
label = "Remover conteúdo ativo"
[portal.policies.wizard.capability.watermark]
desc = "Carimba uma marca visível (por exemplo, “Confidencial”) em todas as páginas."
label = "Aplicar uma marca d'água"
[portal.policies.wizard.errors]
noTools = "Ative pelo menos uma ferramenta no fluxo de trabalho primeiro."
saveFailed = "Não foi possível salvar a política. Tente novamente."
[portal.policies.wizard.output]
heading = "Saída e execução"
[portal.policies.wizard.output.filenameRule]
autoNumber = "Numeração automática"
label = "Regra de nome de arquivo"
placeholder = "Texto a adicionar (opcional)"
prefix = "Prefixo"
suffix = "Sufixo"
[portal.policies.wizard.output.outputAs]
label = "Saída como"
newFile = "Novo arquivo"
newVersion = "Nova versão"
[portal.policies.wizard.output.runOn]
export = "Exportação"
helper = "Quando a política é acionada: no upload ou antes da exportação."
label = "Executar em"
upload = "Upload"
[portal.policies.wizard.settings]
heading = "Configurações"
[portal.policies.wizard.sources]
heading = "Fontes"
loading = "Carregando fontes…"
[portal.policies.wizard.tabs]
ariaLabel = "Etapas de configuração"
settings = "Configurações"
workflow = "Ações"
[portal.policies.wizard.title]
edit = "Editar política de {{category}}"
setUp = "Configurar política de {{category}}"
[portal.policies.wizard.workflow]
description = "Escolha o que esta política faz com cada documento que processa."
[portal.policySummary]
activeSummary = "{{active}} / {{total}} ativas"
noRule = "Nenhuma regra aplicada ainda"
subtitle = "Automações permanentes pelas quais todos os documentos passam, independentemente de qual pipeline os manipula."
title = "O que é executado nos seus PDFs"
[portal.policySummary.action]
comingSoon = "Fazer upgrade para Enterprise"
configure = "Configurar"
setUp = "Configurar"
[portal.policySummary.column]
activeRule = "Regra ativa"
policy = "Política"
status = "Status"
[portal.policySummary.empty]
description = "Assim que as políticas forem configuradas, as categorias aparecerão aqui."
title = "Nenhuma política ainda"
[portal.policySummary.state]
active = "Ativa"
off = "Desativada"
soon = "Em breve"
[portal.processingStatus]
managePlan = "Gerenciar plano"
volumeSuffix = "PDFs processados · últimos 30 dias"
[portal.procurement]
reset = "Redefinir compras (demo)"
subtitle = "Faça sua equipe ser avaliada, contratada e integrada. Todos os documentos em um só lugar."
title = "Compras"
[portal.procurement.action]
download = "Download"
pay = "Pagar agora"
request = "Solicitar"
sign = "Revisar e assinar"
upload = "Upload"
[portal.procurement.agreement]
agreeCta = "Concordar e assinar"
confirm = "Li e concordo com o Acordo Stirling Enterprise."
eyebrow = "Acordo"
intro = "Um único acordo combinado cobre sua negociação: Contrato Mestre de Serviços, Formulário de Pedido, EULA e Acordo de Processamento de Dados. Revise-o e depois concorde para aceitar a cotação em uma assinatura comprometida."
title = "Revise seu acordo enterprise"
[portal.procurement.builder]
addons = "Complementos"
back = "Voltar"
businessName = "Nome da empresa"
businessNamePlaceholder = "Sua empresa"
continue = "Continuar"
country = "País"
countryEuro = "Zona do euro (EUR €)"
countryUK = "Reino Unido (GBP £)"
countryUS = "Estados Unidos (USD $)"
eula = "Li e concordo com a EULA Stirling Enterprise. Ela rege o acordo gerado a partir desta cotação."
generate = "Gerar cotação"
included = "Incluído"
indemnification = "Indenização por propriedade intelectual"
indemnificationSub = "Defendemos reivindicações de propriedade intelectual qualificadas, conforme a EULA"
offlineLicense = "Licença offline / air-gapped"
offlineLicenseSub = "Um arquivo de licença baixável para uma instância self-hosted air-gapped"
qbr = "Revisões de negócios trimestrais"
qbrSub = "Seu SE revisa uso e roadmap a cada trimestre"
running = "{{annual}} / ano · {{years}} anos {{tcv}}"
s1Sub = "Sua equipe e os PDFs que você espera executar a cada ano."
s1Title = "Quanto você vai processar?"
s2Sub = "Prazos mais longos dão desconto na taxa; seu nível de serviço define o suporte."
s2Title = "Compromisso e serviço"
s3Sub = "Para a cotação e o acordo que ela gera."
s3Title = "Seus dados"
serviceLevel = "Nível de serviço"
slDedicated = "Dedicado"
slDedicatedSub = "4 horas úteis · gerente de conta dedicado · +30%"
slPriority = "Prioritário"
slPrioritySub = "Mesmo dia útil · CSM nomeado · +15%"
slStandard = "Padrão"
slStandardSub = "Próximo dia útil · CSM compartilhado · incluído"
stepOf = "Etapa {{n}} de {{total}}"
term = "Prazo"
termDiscount = "Desconto de {{pct}}% por compromisso de vários anos aplicado"
title = "Monte sua cotação"
training = "Integração e treinamento"
trainingSub = "Sessões ao vivo para colocar sua equipe em funcionamento"
users = "Total de usuários"
usersPlaceholder = "ex.: 250"
volEstimated = "Estimado a partir de {{count}} usuários (~2.000 PDFs cada, incluindo automação). Edite se souber melhor."
volManual = "Usando o valor informado. Reestime pelo tamanho da sua equipe a qualquer momento."
volNoUsers = "Não tem certeza? Informe o tamanho da sua equipe e vamos estimar."
volume = "Volume anual de PDF"
volumePlaceholder = "ex.: 1.000.000"
years_one = "{{count}} ano"
years_other = "{{count}} anos"
[portal.procurement.docs]
count_one = "{{count}} doc"
count_other = "{{count}} docs"
done = "Concluído"
here = "Você está aqui"
hide = "Ocultar"
optional = "Opcional"
paidAddon = "Complemento pago"
show = "Mostrar"
subtitle = "Tudo que você precisa em cada etapa da jornada, exibido conforme a negociação avança."
supportingSubtitle = "SOC 2, revisões de segurança, formulários fiscais e mais, prontos quando sua equipe de segurança ou compras solicitar. Alguns têm taxa única."
supportingTitle = "Apoiando sua avaliação"
title = "Documentos"
upcoming = "Em breve"
[portal.procurement.error]
title = "Algo deu errado"
[portal.procurement.hero]
company = "Sua negociação enterprise"
ctaAgreement = "Revisar e assinar acordo"
ctaLive = "Você está no ar"
ctaPayment = "Adicionar pagamento"
ctaQuote = "Revisar sua cotação"
ctaTrial = "Montar sua cotação"
eyebrow = "Compras Enterprise"
inviteTeammates = "Convidar colegas de equipe"
keyDocs = "Documentos principais"
nextStep = "Próxima etapa: {{action}}"
notStarted = "Não iniciado"
open = "Abrir compras"
scheduleCall = "Agendar uma chamada"
setup1Sub = "Convide seus colegas de equipe"
setup1Title = "Implantar o PDF Editor"
setup2Sub = "Ative o processamento entre editores e outras fontes"
setup2Title = "Conectar o PDF Processor"
setup3Sub = "Ative Segurança, Conformidade, Roteamento ou Retenção quando precisar"
setup3Title = "Adicionar políticas recomendadas"
[portal.procurement.journey]
daysLeft_one = "{{count}} dia restante"
daysLeft_other = "{{count}} dias restantes"
engineerLabel = "Seu engenheiro de soluções"
eyebrow = "Sua implantação"
live = "Você está no ar no Stirling Enterprise"
nextStep = "Próxima etapa: {{action}}"
subtitle = "Seu engenheiro de soluções acompanha cada etapa. Uma próxima ação por vez; a lista completa está abaixo."
title = "Do teste ao go-live, um caminho guiado"
trialTitle = "Teste Enterprise"
[portal.procurement.journeySteps.agreement]
blurb = "Uma assinatura cobre MSA, formulário de pedido, EULA e DPA."
gatingAction = "Revise e assine seu acordo"
label = "Acordo"
[portal.procurement.journeySteps.implementation]
blurb = "Provisione seu workspace e execute o playbook de go-live."
gatingAction = "Provisionando seu workspace"
label = "Implementação"
[portal.procurement.journeySteps.payment]
blurb = "Pague com cartão, transferência bancária ou contra uma ordem de compra."
gatingAction = "Confirmar pagamento"
label = "Pagamento"
[portal.procurement.journeySteps.quote]
blurb = "Revise preços por volume comprometido e prazo do contrato."
gatingAction = "Aceite sua cotação"
label = "Cotação"
[portal.procurement.journeySteps.trial]
blurb = "Avalie o Stirling com seus documentos e fluxos de trabalho."
gatingAction = "Monte sua cotação"
label = "Teste"
[portal.procurement.license]
copied = "Copiado"
copy = "Copiar chave"
downloadError = "Ainda não foi possível gerar o arquivo de licença offline — tente novamente em instantes."
downloadOffline = "Baixar licença offline (.lic)"
hint = "Cole esta chave em uma instância self-hosted para ativá-la ou guarde-a para seus registros. Mantenha-a segura."
label = "Sua chave de licença"
[portal.procurement.link]
cta = "Vincular conta"
description = "Compras funciona na sua conta Stirling vinculada: é assim que provisionamos o teste, precificamos sua cotação e iniciamos o faturamento. Vincule uma conta para começar."
eyebrow = "Enterprise"
title = "Vincule sua conta para começar"
[portal.procurement.live]
description = "Sua assinatura está ativa e sua licença foi emitida. Sua equipe está provisionada e o faturamento foi iniciado."
eyebrow = "No ar"
title = "Você está no ar no Stirling Enterprise"
[portal.procurement.locked]
description = "Chaves de teste, cotações por volume comprometido, o acordo de assinatura única, pagamento e seu registro de documentos ficam todos aqui quando você inicia uma avaliação enterprise."
eyebrow = "Somente Enterprise"
talkToSales = "Falar com vendas"
title = "A trilha de compras abre com Enterprise"
[portal.procurement.milestone]
accept = "Aceitar e continuar"
description = "Baixe o PDF para compartilhá-lo com sua equipe, volte para aceitar quando estiver pronto ou faça alterações."
download = "Baixar PDF"
downloadError = "Ainda não foi possível baixar o PDF da cotação — tente novamente em instantes."
edit = "Editar cotação"
eyebrow = "Cotação {{number}}"
perYear = " / ano"
preparedFor = "Preparado para {{company}}"
tcv = "{{value}} de valor total do contrato"
title = "Sua cotação está pronta"
[portal.procurement.modal]
cancel = "Cancelar"
chooseFile = "Escolher arquivo"
close = "Fechar"
downloadBody = "Seu download começará em breve."
downloadCta = "Download"
downloadTitle = "Download"
noFile = "Nenhum arquivo selecionado"
payBody = "Pague seu contrato comprometido com cartão ou transferência bancária pelo Stripe. Seu workspace é provisionado assim que o pagamento for compensado."
payCta = "Continuar para Stripe"
payTitle = "Confirmar pagamento"
requestBodyFree = "Geramos isso sob demanda. Confirme e seu engenheiro de soluções o enviará em breve."
requestBodyPaid = "Este é um complemento pago. Confirme e seu engenheiro de soluções avaliará o escopo e enviará a documentação."
requestCta = "Solicitar"
requestTitle = "Solicitar este documento"
signBody = "Abre o Acordo Stirling Enterprise para assinatura eletrônica: uma assinatura cobre o MSA, formulário de pedido, EULA e DPA. Assinamos automaticamente como contraparte e você avança para o pagamento."
signCta = "Abrir para assinatura"
signTitle = "Revisar e assinar seu acordo"
uploadBody = "Envie-nos sua PO e faturamos contra ela conforme seus termos. Arraste o PDF ou escolha um arquivo abaixo."
uploadCta = "Fazer upload da ordem de compra"
uploadTitle = "Fazer upload da sua ordem de compra"
[portal.procurement.payment]
description = "Sua cotação foi aceita e sua licença já está ativa — sua equipe pode começar imediatamente. Pague a primeira fatura quando estiver pronto; você pode pagar ou baixá-la aqui, sem precisar de email."
downloadInvoice = "Baixar fatura"
simulate = "Simular pagamento recebido (demo)"
title = "Assinatura criada"
viewInvoice = "Ver e pagar fatura"
[portal.procurement.schedule]
fallback = "Não foi possível carregar o agendador."
fallbackLink = "Abrir agendamento em uma nova aba"
subtitle = "Seu engenheiro de soluções guiará sua equipe durante a implantação. Escolha um horário que seja adequado para você."
title = "Agendar uma chamada"
[portal.procurement.status]
action = "Ação necessária"
available = "Disponível"
complete = "Concluído"
pending = "Pendente"
request = "Sob solicitação"
[portal.procurement.trial]
body = "Estender adiciona 7 dias e notifica seu engenheiro de soluções."
bodyMaxed = "Você usou todas as suas extensões — fale com seu engenheiro de soluções se precisar de mais tempo."
cancel = "Cancelar teste"
extend = "Estender 7 dias"
maxed = "Esgotado"
subtitle = "Seu teste gratuito vai até {{date}}. Não é necessário cartão."
title = "Teste Enterprise"
[portal.procurement.upsell]
homeBadge = "Enterprise"
homeBody = "Preços por volume comprometido, SSO + SCIM + RBAC em toda a organização, auditoria imutável de 90 dias e um SE dedicado."
homeCta = "Iniciar teste →"
homeHeadline = "Processe milhões de PDFs."
[portal.recentActivity]
title = "Atividade recente"
viewAll = "Ver tudo"
[portal.recentActivity.empty]
description = "Execuções de pipeline, implantações e eventos de agentes aparecerão aqui."
title = "Nada aqui ainda"
[portal.search]
ariaLabel = "Pesquisar"
placeholder = "Pesquisar no Stirling — endpoints, pipelines, docs…"
[portal.search.empty]
noActionsDescription = "Ações rápidas aparecerão aqui assim que estiverem disponíveis."
noActionsTitle = "Nenhuma ação rápida"
noMatches = "Nenhuma correspondência para \"{{query}}\""
noMatchesDescription = "Tente uma palavra-chave diferente ou navegue pelo catálogo."
[portal.settings.groups]
admin = "Admin"
[portal.settings.sections]
account-link = "Vínculo de conta"
[portal.shell.header]
accountFallback = "Conta"
accountMenu = "Menu da conta"
darkMode = "Modo escuro"
lightMode = "Modo claro"
search = "Pesquisar"
searchPlaceholder = "Pesquisar…"
signOut = "Sair"
switchToDark = "Alternar para tema escuro"
switchToLight = "Alternar para tema claro"
[portal.shell.sidebar]
appEditor = "Editor"
appProcessor = "Processor"
brandSuffix = "Stirling Processor"
docsCount = "{{docs}} docs"
linkAccount = "Vincular conta Stirling"
planEditor = "Plano Editor"
planEnterprise = "Plano Enterprise"
planProcessor = "Plano Processor"
primaryNav = "Navegação principal"
switchApp = "Alternar app"
[portal.sources]
subtitle = "Conexões de entrada reutilizáveis que alimentam documentos no Stirling. Configure uma conexão uma vez e depois referencie-a em qualquer número de políticas. Clique em uma linha para ver sua configuração e quais políticas a usam."
title = "Fontes"
[portal.sources.actions]
agentBuilder = "Agent Builder"
connectSource = "Conectar fonte"
[portal.sources.delete]
body = "Excluir \"{{name}}\"? Isso não pode ser desfeito. Políticas que a referenciam precisarão ser atualizadas."
cancel = "Cancelar"
confirm = "Excluir"
title = "Excluir fonte?"
[portal.sources.detail]
closeAriaLabel = "Fechar detalhes"
delete = "Excluir fonte"
docs24h = "Últimas 24h"
docs30d = "Últimos 30 dias"
docsTotal = "Total visto"
docsTrend = "Documentos nos últimos 30 dias"
documents = "Documentos"
edit = "Editar"
notReferenced = "Não referenciada por nenhuma política, então é seguro excluí-la."
pause = "Pausar"
resume = "Retomar"
subtitle = "{{type}} · {{status}}"
usedBy = "Usada por"
[portal.sources.empty]
description = "Conecte uma pasta (e, em breve, armazenamento em nuvem) para que suas políticas tenham de onde puxar documentos."
title = "Nenhuma fonte conectada ainda"
[portal.sources.kpi]
inUse = "Em uso"
total = "Conexões"
unused = "Não usadas"
[portal.sources.status]
active = "Ativa"
disabled = "Desativada"
unused = "Não usada"
[portal.sources.table]
source = "Fonte"
status = "Status"
usedBy = "Políticas"
[portal.sources.types.editor]
label = "Editor"
[portal.sources.types.folder]
description = "Monitore um diretório no servidor em busca de novos documentos."
label = "Pasta"
[portal.sources.types.folder.fields.directory]
helperText = "Caminho absoluto que o Stirling monitora em busca de arquivos para processar."
label = "Caminho do diretório"
placeholder = "/data/incoming"
[portal.sources.types.folder.fields.identity]
helperText = "A verificação de conteúdo lê cada arquivo alterado, então renomeações e toques que não alteram o conteúdo não são reprocessados."
label = "Detecção de alteração"
[portal.sources.types.folder.fields.identity.options]
hash = "Tamanho, data e verificação de conteúdo"
stat = "Tamanho e data modificada"
[portal.sources.types.folder.fields.mode]
label = "Modo de leitura"
[portal.sources.types.folder.fields.mode.options]
consume = "Consumir: processar cada arquivo uma vez"
snapshot = "Snapshot: reler a pasta a cada execução"
[portal.sources.types.folder.fields.recursive]
label = "Profundidade da pasta"
[portal.sources.types.folder.fields.recursive.options]
all = "Incluir subpastas"
top = "Somente nível superior"
[portal.sources.types.unknown]
label = "Fonte"
[portal.sources.wizard]
back = "Voltar"
cancel = "Cancelar"
continue = "Continuar"
editTitle = "Editar fonte"
name = "Nome"
namePlaceholder = "ex.: Recebimento de sinistros"
save = "Salvar alterações"
subtitle = "Etapa {{current}} de {{total}} · {{label}}"
title = "Conectar uma fonte"
type = "Tipo"
[portal.sources.wizard.steps]
chooseType = "Escolher tipo"
configure = "Configurar"
review = "Revisar e conectar"
[portal.usage]
managePayment = "Gerenciar pagamento"
subtitle = "Consumo, faturas e gerenciamento de plano para cada PDF que o Stirling faturou, em um único console."
title = "Uso e faturamento"
[portal.usage.error]
loadWallet = "Não foi possível carregar a carteira"
openStripePortal = "Não foi possível abrir o portal Stripe"
walletUnavailable = "Carteira indisponível: {{status}} {{statusText}}"
[portal.usage.sessionExpired]
action = "Entrar novamente"
body = "Sua sessão da conta Stirling expirou. Entre novamente para ver o faturamento — sua instância permanece vinculada."
title = "Sessão expirada"
[portal.users]
title = "Usuários"
[portal.users.roles]
subtitle = "Toda função existe em todo plano — o que cada uma pode fazer é fixo em toda a organização."
title = "Funções"
[portal.users.roles.admin]
label = "Admin (proprietário da organização)"
summary = "Governança total sobre o workspace, configurações e membros."
[portal.users.roles.admin.permissions]
0 = "Gerenciar usuários, equipes e funções"
1 = "Gerenciar todas as integrações, incluindo conexões S3"
2 = "Conceder ou revogar acesso ao portal"
3 = "Tudo que o Proprietário da equipe pode fazer"
[portal.users.roles.guest]
label = "Convidado"
summary = "Acesso limitado ou somente web; não pode manter configurações pessoais."
[portal.users.roles.guest.permissions]
0 = "Uso somente web / demo"
1 = "Sem chaves API ou integrações"
2 = "Sem acesso ao portal"
3 = "Somente leitura onde compartilhado"
[portal.users.roles.member]
label = "Membro"
summary = "Usuário regular — trabalha com recursos compartilhados e suas próprias configurações."
[portal.users.roles.member.permissions]
0 = "Usar o editor e integrações compartilhadas"
1 = "Criar configurações pessoais de API e MCP"
2 = "Ver configurações de equipe compartilhadas com ele"
3 = "Sem gerenciamento de S3 ou workspace"
[portal.users.roles.team_owner]
label = "Proprietário da equipe"
summary = "Possui uma equipe — gerencia os recursos e configurações compartilhadas de seus membros."
[portal.users.roles.team_owner.permissions]
0 = "Criar e gerenciar conexões S3 da equipe"
1 = "Gerenciar configurações de integração pertencentes à equipe"
2 = "Acesso ao portal pela política padrão"
3 = "Tudo que o Membro pode fazer"
[portal.welcome]
ariaLabel = "Bem-vindo ao Stirling PDF"
badge = "Open-source"
installEditor = "Instalar o Editor"
inviteTeammates = "Convidar colegas de equipe"
openInBrowser = "Abrir no navegador"
perks = "Grátis para sempre · Self-hostable"
subtitle = "O PDF Editor mais seguro do mundo é gratuito para equipes de todos os tamanhos. Inclui mais de 60 operações de PDF e SSO."
title = "Bem-vindo ao"
titleAccent = "Stirling PDF"
[printFile]
title = "Imprimir arquivo"
[provider.googledrive]
name = "Google Drive"
scope = "Importação de arquivos"
[provider.googledrive.apiKey]
description = "Chave da API do Google para a Google Picker API no Google Cloud Console"
label = "Chave da API"
[provider.googledrive.appId]
description = "ID do app do Google Drive no Google Cloud Console"
label = "ID do app"
[provider.googledrive.clientId]
description = "ID do cliente Google OAuth 2.0 no Google Cloud Console"
label = "ID do cliente"
[provider.googledrive.enabled]
description = "Permitir que os usuários importem arquivos diretamente do Google Drive"
label = "Ativar seletor de arquivos do Google Drive"
[provider.oauth2.generic]
name = "OAuth2 genérico"
scope = "SSO"
[provider.oauth2.generic.autoCreateUser]
description = "Criar automaticamente contas de usuário no primeiro login via OAuth2"
label = "Criar usuários automaticamente"
[provider.oauth2.generic.blockRegistration]
description = "Impedir novo registro de usuário via OAuth2"
label = "Bloquear registro"
[provider.oauth2.generic.clientId]
description = "O ID do cliente OAuth2 do seu provedor"
label = "ID do cliente"
[provider.oauth2.generic.clientSecret]
description = "O segredo do cliente OAuth2 do seu provedor"
label = "Segredo do cliente"
[provider.oauth2.generic.enabled]
description = "Ativar autenticação usando um provedor OAuth2 personalizado"
label = "Ativar OAuth2 genérico"
[provider.oauth2.generic.issuer]
description = "Provedor que suporta OpenID Connect Discovery (/.well-known/openid-configuration)"
label = "URL do emissor"
[provider.oauth2.generic.provider]
description = "O nome do seu provedor OAuth2 (ex.: Azure AD, Okta)"
label = "Nome do provedor"
[provider.oauth2.generic.scopes]
description = "Escopos OAuth2 separados por vírgula"
label = "Escopos"
[provider.oauth2.generic.useAsUsername]
description = "Campo a ser usado como nome de usuário"
label = "Usar como nome de usuário"
[provider.oauth2.github]
scope = "Autenticação de login"
[provider.oauth2.github.clientId]
description = "O ID do cliente OAuth2 nas Configurações de Desenvolvedor do GitHub"
label = "ID do cliente"
[provider.oauth2.github.clientSecret]
description = "O segredo do cliente OAuth2 nas Configurações de Desenvolvedor do GitHub"
label = "Segredo do cliente"
[provider.oauth2.github.scopes]
description = "Escopos OAuth2 separados por vírgula"
label = "Escopos"
[provider.oauth2.github.useAsUsername]
description = "Campo a ser usado como nome de usuário (email, login, name)"
label = "Usar como nome de usuário"
[provider.oauth2.google]
scope = "Autenticação de login"
[provider.oauth2.google.clientId]
description = "O ID do cliente OAuth2 do Google no Google Cloud Console"
label = "ID do cliente"
[provider.oauth2.google.clientSecret]
description = "O segredo do cliente OAuth2 do Google no Google Cloud Console"
label = "Segredo do cliente"
[provider.oauth2.google.scopes]
description = "Escopos OAuth2 separados por vírgula"
label = "Escopos"
[provider.oauth2.google.useAsUsername]
description = "Campo a ser usado como nome de usuário (email, name, given_name, family_name)"
label = "Usar como nome de usuário"
[provider.oauth2.keycloak]
scope = "SSO"
[provider.oauth2.keycloak.clientId]
description = "O ID do cliente OAuth2 do Keycloak"
label = "ID do cliente"
[provider.oauth2.keycloak.clientSecret]
description = "O segredo do cliente OAuth2 do Keycloak"
label = "Segredo do cliente"
[provider.oauth2.keycloak.issuer]
description = "URL do endpoint de Descoberta do OpenID Connect do realm do Keycloak"
label = "URL do emissor"
[provider.oauth2.keycloak.scopes]
description = "Escopos OAuth2 separados por vírgula"
label = "Escopos"
[provider.oauth2.keycloak.useAsUsername]
description = "Campo a ser usado como nome de usuário (email, name, given_name, family_name, preferred_username)"
label = "Usar como nome de usuário"
[provider.saml2]
name = "SAML2"
scope = "SSO (SAML)"
[provider.saml2.autoCreateUser]
description = "Criar automaticamente contas de usuário no primeiro login via SAML2"
label = "Criar usuários automaticamente"
[provider.saml2.blockRegistration]
description = "Impedir novo registro de usuário via SAML2"
label = "Bloquear registro"
[provider.saml2.enabled]
description = "Ativar autenticação SAML2 (apenas Enterprise)"
label = "Ativar SAML2"
[provider.saml2.idpCert]
description = "O caminho do certificado (ex.: classpath:okta.cert)"
label = "Certificado do IDP"
[provider.saml2.idpIssuer]
description = "O ID do seu provedor"
label = "IDP Issuer"
[provider.saml2.idpMetadataUri]
description = "A URI dos metadados do seu provedor"
label = "IDP Metadata URI"
[provider.saml2.idpSingleLoginUrl]
description = "A URL para iniciar o SSO"
label = "IDP Single Login URL"
[provider.saml2.idpSingleLogoutUrl]
description = "A URL para iniciar o SLO"
label = "IDP Single Logout URL"
[provider.saml2.privateKey]
description = "O caminho da sua chave privada"
label = "Chave privada"
[provider.saml2.provider]
description = "O nome do seu provedor SAML2"
label = "Nome do provedor"
[provider.saml2.registrationId]
description = "O nome do seu aplicativo Provedor de Serviço (SP)"
label = "ID de registro"
[provider.saml2.spCert]
description = "O caminho do seu certificado de assinatura"
label = "Certificado do SP"
[provider.smtp]
name = "SMTP Mail"
scope = "Notificações por e-mail"
[provider.smtp.enabled]
description = "Ativar notificações por e-mail e funcionalidade SMTP"
label = "Ativar e-mail"
[provider.smtp.from]
description = "O endereço de e-mail a ser usado como remetente"
label = "Endereço do remetente"
[provider.smtp.host]
description = "O nome do host ou endereço IP do seu servidor SMTP"
label = "Host SMTP"
[provider.smtp.password]
description = "Senha para autenticação SMTP"
label = "Senha SMTP"
[provider.smtp.port]
description = "O número da porta para conexão SMTP (normalmente 25, 465 ou 587)"
label = "Porta SMTP"
[provider.smtp.username]
description = "Nome de usuário para autenticação SMTP"
label = "Nome de usuário SMTP"
[quickAccess]
allTools = "Ferram."
automate = "Automat."
config = "Config"
files = "Arquivos"
[read]
tags = "view,open,display,read,viewer,PDF viewer,PDF reader,open PDF,view PDF,display PDF,preview,browse"
[redact]
submit = "Ocultar"
tags = "Redigir,ocultar,escurecer,preto,marcador,oculto,manual"
title = "Ocultação de Texto Manual"
[redact.auto]
colorLabel = "Cor da caixa"
convertPDFToImageLabel = "Converter PDF para PDF-imagem"
customPaddingLabel = "Espaçamento extra personalizado"
useRegexLabel = "Usar Regex"
wholeWordSearchLabel = "Correspondência de palavra inteira"
[redact.auto.settings]
advancedTitle = "Avançado"
title = "Configurações de ocultação"
[redact.auto.wordsToRedact]
add = "Adicionar"
examples = "Exemplos: Confidential, Top-Secret"
placeholder = "Digite uma palavra"
title = "Palavras para ocultar"
[redact.error]
failed = "Ocorreu um erro ao ocultar o PDF."
[redact.manual]
apply = "Aplicar"
applyWarning = "⚠️ Aplicação permanente, não pode ser desfeita e os dados subjacentes serão excluídos"
colorLabel = "Cor da ocultação"
controlsTitle = "Controles de redação manual"
instructions = "Selecione texto ou desenhe áreas no PDF para marcar conteúdo para redação."
title = "Ferramentas de redação"
[redact.modeSelector]
automatic = "Automático"
automaticDisabledTooltip = "Selecione arquivos no gerenciador de arquivos para redigir vários arquivos de uma vez"
manual = "Manual"
mode = "Modo"
title = "Método de ocultação"
[redact.tooltip.advanced.color]
text = "Personalize a aparência das caixas de ocultação. Preto é o padrão, mas você pode escolher qualquer cor. O espaçamento adiciona espaço extra ao redor do texto encontrado."
title = "Cor da caixa e espaçamento"
[redact.tooltip.advanced.convert]
text = "Converte o PDF para um PDF baseado em imagem após a ocultação. Isso garante que o texto atrás das caixas seja completamente removido e irrecuperável."
title = "Converter para PDF-imagem"
[redact.tooltip.advanced.header]
title = "Configurações avançadas de ocultação"
[redact.tooltip.advanced.regex]
bullet1 = "Exemplo: \\d{4}-\\d{2}-\\d{2} para corresponder datas no formato YYYY-MM-DD"
bullet2 = "Use com cautela — teste cuidadosamente"
text = "Ative expressões regulares para correspondência avançada de padrões. Útil para encontrar telefones, e-mails ou padrões complexos."
title = "Usar Regex"
[redact.tooltip.advanced.wholeWord]
text = "Corresponde apenas palavras completas, não correspondências parciais. 'John' não corresponderá a 'Johnson' quando ativado."
title = "Palavra inteira"
[redact.tooltip.manual.apply]
bullet1 = "Marque quantas áreas forem necessárias antes de aplicar"
bullet2 = "All pending redactions are applied at once"
bullet3 = "Redactions cannot be undone after applying"
text = "After marking content, click 'Apply' to permanently redact all marked areas. The pending count shows how many redactions are ready to be applied."
title = "Apply Redactions"
[redact.tooltip.manual.header]
title = "Manual Redaction Controls"
[redact.tooltip.manual.markArea]
text = "Draw rectangular areas on the PDF to mark regions for redaction. Useful for redacting images, signatures, or irregular shapes."
title = "Mark Area Tool"
[redact.tooltip.manual.markText]
text = "Select text directly on the PDF to mark it for redaction. Click and drag to highlight specific text that you want to redact."
title = "Mark Text Tool"
[redact.tooltip.mode.automatic]
text = "Automatically finds and redacts specified text throughout the document. Perfect for removing consistent sensitive information like names, addresses, or confidential markers."
title = "Automatic Redaction"
[redact.tooltip.mode.header]
title = "Redaction Method"
[redact.tooltip.mode.manual]
text = "Click and drag to manually select specific areas to redact. Gives you precise control over what gets redacted. (Coming soon)"
title = "Manual Redaction"
[redact.tooltip.words]
bullet1 = "Add one word at a time"
bullet2 = "Press Enter or click 'Add Another' to add"
bullet3 = "Click × to remove words"
[redact.tooltip.words.description]
text = "Enter words or phrases to find and redact in your document. Each word will be searched for separately."
title = "Text Matching"
[redact.tooltip.words.examples]
text = "Typical words to redact include: bank details, email addresses, or specific names."
title = "Common Examples"
[redact.tooltip.words.header]
title = "Words to Redact"
[releases]
title = "Release Notes"
[removeAnnotations]
submit = "Remove"
tags = "comments,highlight,notes,markup,remove"
title = "Remove Annotations"
[removeAnnotations.error]
failed = "An error occurred while removing annotations from the PDF."
[removeAnnotations.info]
description = "This tool will remove all annotations (comments, highlights, notes, etc.) from your PDF documents."
[removeAnnotations.settings]
title = "Settings"
[removeAnnotations.tooltip.description]
title = "What it does"
[removeAnnotations.tooltip.header]
title = "About Remove Annotations"
[removeBlanks]
submit = "Remove blank pages"
tags = "delete,clean,empty,remove blank,delete blank pages,empty pages,white pages,remove empty,clean up,cleanup blank"
title = "Remove Blanks"
[removeBlanks.error]
failed = "Failed to remove blank pages"
[removeBlanks.includeBlankPages]
label = "Include detected blank pages"
[removeBlanks.results]
title = "Removed Blank Pages"
[removeBlanks.settings]
title = "Settings"
[removeBlanks.threshold]
label = "Pixel Whiteness Threshold"
[removeBlanks.tooltip.header]
title = "Remove Blank Pages Settings"
[removeBlanks.tooltip.includeBlankPages]
bullet1 = "Useful for reviewing what was removed"
bullet2 = "Helps verify the detection accuracy"
bullet3 = "Can be disabled to reduce output file size"
text = "When enabled, creates a separate PDF containing all the blank pages that were detected and removed from the original document."
title = "Include Detected Blank Pages"
[removeBlanks.tooltip.threshold]
bullet1 = "0 = Pure black (most restrictive)"
bullet2 = "128 = Medium grey"
bullet3 = "255 = Pure white (least restrictive)"
text = "Controls how white a pixel must be to be considered 'white'. This helps determine what counts as a blank area on the page."
title = "Pixel Whiteness Threshold"
[removeBlanks.tooltip.whitePercent]
bullet1 = "Lower values (e.g., 80%) = More pages removed"
bullet2 = "Higher values (e.g., 95%) = Only very blank pages removed"
bullet3 = "Use higher values for documents with light backgrounds"
text = "Sets the minimum percentage of white pixels required for a page to be considered blank and removed."
title = "White Percentage Threshold"
[removeBlanks.whitePercent]
label = "White Percentage Threshold"
[removeCertSign]
description = "This tool will remove digital certificate signatures from your PDF document."
submit = "Remove Signature"
tags = "authenticate,PEM,P12,official,decrypt"
title = "Remove Certificate Signature"
[removeCertSign.error]
failed = "An error occurred whilst removing certificate signatures."
[removeCertSign.results]
title = "Certificate Removal Results"
[removeImage]
submit = "Remove image"
tags = "remove,delete,clean,remove image,delete image,strip images,remove pictures,delete photos,clean images,reduce size,remove graphics"
title = "Remove image"
[removeImage.error]
failed = "Failed to remove images from the PDF."
[removeImage.results]
title = "Remove Images Results"
[removeImagePdf]
tags = "Remove Image,Page operations,Back end,server side"
[removePages]
submit = "Remove Pages"
tags = "Remove pages,delete pages"
title = "Remove Pages"
[removePages.error]
failed = "An error occurred whilst removing pages."
[removePages.pageNumbers]
error = "Invalid page number format. Use numbers, ranges (1-5), or mathematical expressions (2n+1)"
label = "Pages to Remove"
placeholder = "e.g., 1,3,5-8,10"
[removePages.results]
title = "Page Removal Results"
[removePages.settings]
title = "Settings"
[removePages.tooltip.examples]
bullet1 = "Remove first page: 1"
bullet2 = "Remove last 3 pages: -3"
bullet3 = "Remove every other page: 2n"
bullet4 = "Remove specific scattered pages: 1,5,10,15"
text = "Here are some common page selection patterns:"
title = "Common Examples"
[removePages.tooltip.header]
title = "Remove Pages Settings"
[removePages.tooltip.pageNumbers]
bullet1 = "Individual pages: 1,3,5 (removes pages 1, 3, and 5)"
bullet2 = "Page ranges: 1-5,10-15 (removes pages 1-5 and 10-15)"
bullet3 = "Mathematical: 2n+1 (removes odd pages)"
bullet4 = "Open ranges: 5- (removes from page 5 to end)"
text = "Specify which pages to remove from your PDF. You can select individual pages, ranges, or use mathematical expressions."
title = "Page Selection"
[removePassword]
desc = "Remove password protection from your PDF document."
submit = "Remove Password"
tags = "secure,Decrypt,security,unpassword,delete password"
title = "Remove Password"
[removePassword.error]
failed = "An error occurred while removing the password from the PDF."
[removePassword.password]
label = "Current Password"
placeholder = "Enter current password"
stepTitle = "Remove Password"
[removePassword.results]
title = "Decrypted PDFs"
[removePassword.tooltip]
description = "Removing password protection requires the password that was used to encrypt the PDF. This will decrypt the document, making it accessible without a password."
[reorganizePages]
submit = "Reorganize Pages"
tags = "rearrange,reorder,organise,reorganize,move pages,page order,sort pages,arrange pages,shuffle,resequence"
[reorganizePages.error]
failed = "Failed to reorganize pages"
[reorganizePages.results]
title = "Pages Reorganized"
[reorganizePages.settings]
title = "Settings"
[repair]
description = "This tool will attempt to repair corrupted or damaged PDF files. No additional settings are required."
submit = "Repair"
tags = "fix,restore,correction,recover"
title = "Repair"
[repair.error]
failed = "An error occurred whilst repairing the PDF."
[repair.results]
title = "Repair Results"
[replace-color]
submit = "Replace"
title = "Replace-Invert-Colour"
[replace-color.selectText]
1 = "Replace or invert colour options"
10 = "Choose text Colour"
11 = "Choose background Colour"
5 = "High contrast colour options"
6 = "White text on black background"
7 = "Black text on white background"
8 = "Yellow text on black background"
9 = "Green text on black background"
[replaceColor]
tags = "Replace Colour,Page operations,Back end,server side"
[replaceColor.error]
failed = "An error occurred while processing the colour replacement."
[replaceColor.labels]
colourOperation = "Colour operation"
settings = "Settings"
[replaceColor.options]
cmyk = "Convert to CMYK"
custom = "Custom"
highContrast = "High contrast"
invertAll = "Invert all colours"
[replaceColor.tooltip.cmyk]
text = "Convert the PDF from RGB colour space to CMYK colour space, optimised for professional printing. This process converts colours to the Cyan, Magenta, Yellow, Black model used by printers."
title = "Convert to CMYK"
[replaceColor.tooltip.custom]
bullet1 = "Text colour - Choose the colour for text elements"
bullet2 = "Background colour - Set the background colour for the document"
text = "Define your own text and background colours using the colour pickers. Perfect for creating branded documents or specific accessibility requirements."
title = "Custom Colours"
[replaceColor.tooltip.description]
text = "Transform PDF colours to improve readability and accessibility. Choose from high contrast presets, invert all colours, or create custom colour schemes."
title = "Description"
[replaceColor.tooltip.header]
title = "Replace & Invert Colour Settings Overview"
[replaceColor.tooltip.highContrast]
bullet1 = "White text on black background - Classic dark mode"
bullet2 = "Black text on white background - Standard high contrast"
bullet3 = "Yellow text on black background - High visibility option"
bullet4 = "Green text on black background - Alternative high contrast"
text = "Apply predefined high contrast colour combinations designed for better readability and accessibility compliance."
title = "High Contrast"
[replaceColor.tooltip.invertAll]
text = "Completely invert all colours in the PDF, creating a negative-like effect. Useful for creating dark mode versions of documents or reducing eye strain in low-light conditions."
title = "Invert All Colours"
[rotate]
rotateLeft = "Rotate Anticlockwise"
rotateRight = "Rotate Clockwise"
selectRotation = "Select Rotation Angle (Clockwise)"
submit = "Apply Rotation"
tags = "turn,flip,orient,rotate,orientation,landscape,portrait,90 degrees,180 degrees,clockwise,anticlockwise,counter-clockwise,fix orientation"
title = "Rotate PDF"
[rotate.error]
failed = "An error occurred while rotating the PDF."
[rotate.preview]
title = "Rotation Preview"
[rotate.tooltip.controls]
text = "Use the rotation buttons to adjust orientation. Left button rotates anticlockwise, right button rotates clockwise. Each click rotates by 90 degrees."
title = "Controls"
[rotate.tooltip.description]
text = "Rotate your PDF pages clockwise or anticlockwise in 90-degree increments. All pages in the PDF will be rotated. The preview shows how your document will look after rotation."
[rotate.tooltip.header]
title = "Rotate Settings Overview"
[sanitize]
desc = "Remove potentially harmful elements from PDF files."
sanitizationResults = "Sanitisation Results"
submit = "Sanitise PDF"
tags = "clean,purge,remove,sanitise,sanitise,remove scripts,remove javascript,remove metadata,strip metadata,security,clean document,remove hidden data,privacy"
title = "Sanitise"
[sanitize.error]
failed = "An error occurred while sanitising the PDF."
[sanitize.options]
note = "Select the elements you want to remove from the PDF. At least one option must be selected."
title = "Sanitisation Options"
[sanitize.options.removeEmbeddedFiles]
desc = "Remove any files embedded within the PDF"
label = "Remove Embedded Files"
[sanitize.options.removeFonts]
desc = "Remove embedded fonts from the PDF"
label = "Remove Fonts"
[sanitize.options.removeJavaScript]
desc = "Remove JavaScript actions and scripts from the PDF"
label = "Remove JavaScript"
[sanitize.options.removeLinks]
desc = "Remove external links and launch actions from the PDF"
label = "Remove Links"
[sanitize.options.removeMetadata]
desc = "Remove document information metadata (title, author, etc.)"
label = "Remove Document Metadata"
[sanitize.options.removeXMPMetadata]
desc = "Remove XMP metadata from the PDF"
label = "Remove XMP Metadata"
[sanitize.steps]
settings = "Settings"
[sanitizePdf]
tags = "clean,secure,safe,remove-threats"
[sanitizePDF]
title = "Sanitise PDF"
[scalePages]
tags = "resize,adjust,scale,page size,resize page,scale page,change size,adjust size,enlarge,shrink page,fit to page,A4,letter size"
title = "Adjust page-scale"
[scannerEffect]
tags = "scan,simulate,create,fake scan,look scanned,scanner effect,make look scanned,photocopy effect,simulate scanner,realistic scan"
[ScannerImageSplit.selectText]
1 = "Angle Threshold:"
10 = "Extra padding (in pixels) around each saved photo so edges aren't cut."
2 = "Tilt (in degrees) needed before we auto-straighten a photo."
3 = "Tolerance:"
4 = "How closely a colour must match the page background to count as background. Higher = looser, lower = stricter."
5 = "Minimum Area:"
6 = "Smallest photo size (in pixels²) we'll keep to avoid tiny fragments."
7 = "Minimum Contour Area:"
8 = "Smallest edge/shape we consider when finding photos (filters dust and specks)."
9 = "Border Size:"
[scannerImageSplit]
submit = "Extract Image Scans"
tags = "separate,auto-detect,scans,multi-photo,organise"
title = "Extracted Images"
[scannerImageSplit.error]
failed = "An error occurred while extracting image scans."
[scannerImageSplit.tooltip]
headsUp = "Heads-up"
headsUpDesc = "Overlapping photos or backgrounds very close in colour to the photos can reduce accuracy-try a lighter or darker background and leave more space."
problem1 = "Photos not detected → increase Tolerance to 30-50"
problem2 = "Too many false detections → increase Minimum Area to 15,000-20,000"
problem3 = "Crops are too tight → increase Border Size to 5-10"
problem4 = "Tilted photos not straightened → lower Angle Threshold to ~5°"
problem5 = "Dust/noise boxes → increase Minimum Contour Area to 1000-2000"
quickFixes = "Quick fixes"
setupTips = "Setup tips"
tip1 = "Use a plain, light background"
tip2 = "Leave a small gap (≈1 cm) between photos"
tip3 = "Scan at 300-600 DPI"
tip4 = "Clean the scanner glass"
title = "Photo Splitter"
useCase1 = "Scan whole album pages in one go"
useCase2 = "Split flatbed batches into separate files"
useCase3 = "Break collages into individual photos"
useCase4 = "Pull photos from documents"
whatThisDoes = "What this does"
whatThisDoesDesc = "Automatically finds and extracts each photo from a scanned page or composite image-no manual cropping."
whenToUse = "When to use"
[search]
noResults = "No results found"
placeholder = "Enter search term..."
searching = "Searching..."
title = "Search PDF"
[selfHosted.offline]
hideTools = "Hide unavailable tools ▴"
messageNoFallback = "Tools are unavailable until your server comes back online."
messageWithFallback = "Some tools require a server connection."
showTools = "View unavailable tools ▾"
title = "Your Stirling-PDF server is unreachable"
toolNotAvailableLocally = "Your Stirling-PDF server is offline and \"{{endpoint}}\" is not available on the local backend."
[session]
expired = "Your session has expired. Please refresh the page and try again."
[sessionManagement.tooltip]
header = "Managing Signing Sessions"
[sessionManagement.tooltip.addParticipants]
bullet1 = "New participants added to the end of signing order"
bullet2 = "Cannot add participants after session is finalised"
bullet3 = "Each participant receives a notification when it's their turn"
description = "You can add more participants to an active session at any time before finalisation."
title = "Adding Participants"
[sessionManagement.tooltip.finalization]
bullet1 = "<b>Full finalisation</b>: All participants have signed"
bullet2 = "<b>Partial finalisation</b>: Some participants haven't signed yet"
bullet3 = "Unsigned participants will be excluded from the final document"
bullet4 = "Once finalised, you can load the signed PDF into active files"
description = "Finalisation combines all signatures into a single signed PDF. This action cannot be undone."
title = "Session Finalisation"
[sessionManagement.tooltip.participantRemoval]
bullet1 = "Cannot remove participants who have already signed"
bullet2 = "Removed participants no longer receive notifications"
bullet3 = "Signing order adjusts automatically"
description = "Participants can be removed from sessions before they sign."
title = "Removing Participants"
[sessionManagement.tooltip.signatureOrder]
bullet1 = "Each signature is applied sequentially to the PDF"
bullet2 = "Later signers can see earlier signatures"
bullet3 = "Critical for approval workflows and legal chains of custody"
description = "The order you specify when creating the session determines who signs first."
title = "Signature Order"
[settings]
close = "Close"
[settings.configuration]
advanced = "Advanced"
database = "Database"
endpoints = "Endpoints"
features = "Features"
mcp = "MCP Server"
storageSharing = "File Storage & Sharing"
systemSettings = "System Settings"
title = "Configuration"
[settings.connection]
localDescription = "You are using the local backend without an account. Some tools requiring cloud processing or a self-hosted server are unavailable."
logout = "Log Out"
server = "Server"
signIn = "Sign In"
title = "Connection Mode"
user = "Logged in as"
[settings.connection.mode]
local = "Local Only"
saas = "Stirling Cloud"
selfhosted = "Self-Hosted"
[settings.developer]
apiKeys = "API Keys"
title = "Developer"
[settings.general]
autoUnzip = "Auto-unzip API responses"
autoUnzipDescription = "Automatically extract files from ZIP responses"
autoUnzipFileLimit = "Auto-unzip file limit"
autoUnzipFileLimitDescription = "Maximum number of files to extract from ZIP"
autoUnzipFileLimitTooltip = "Only unzip if the ZIP contains this many files or fewer. Set higher to extract larger ZIPs."
autoUnzipTooltip = "Automatically extract ZIP files returned from API operations. Disable to keep ZIP files intact. This does not affect automation workflows."
defaultPdfEditor = "Default PDF editor"
defaultPdfEditorActive = "Stirling PDF is your default PDF editor"
defaultPdfEditorChecking = "Checking..."
defaultPdfEditorInactive = "Another application is set as default"
defaultPdfEditorSet = "Already Default"
defaultStartupView = "Default view on launch"
defaultStartupViewDescription = "Choose which view is active when the app starts"
defaultToolPickerMode = "Default tool picker mode"
defaultToolPickerModeDescription = "Choose whether the tool picker opens in fullscreen or sidebar by default"
defaultViewerZoom = "Default reader zoom"
defaultViewerZoomDescription = "Set the default zoom level when opening PDFs in the reader"
description = "Configure general application preferences."
hideUnavailableConversions = "Hide unavailable conversions"
hideUnavailableConversionsDescription = "Remove disabled conversion options in the Convert tool instead of showing them greyed out."
hideUnavailableTools = "Hide unavailable tools"
hideUnavailableToolsDescription = "Remove tools that have been disabled by your server instead of showing them greyed out."
language = "Language"
languageDescription = "Choose the display language"
logout = "Log out"
setAsDefault = "Set as Default"
theme = "Theme"
themeDark = "Dark"
themeDescription = "Switch between light and dark mode"
themeLight = "Light"
themeSystem = "System"
title = "General"
user = "User"
[settings.general.enableFeatures]
action = "Configure"
and = "and"
benefit = "Enables user roles, team collaboration, admin controls, and enterprise features."
dismiss = "Dismiss"
intro = "Enable user authentication, team management, and workspace features for your organisation."
learnMore = "Learn more in documentation"
title = "For System Administrators"
[settings.general.mode]
fullscreen = "Fullscreen"
sidebar = "Sidebar"
[settings.general.startupView]
automate = "Automate"
read = "Reader"
tools = "Tools"
[settings.general.updates]
checkForUpdates = "Check for Updates"
currentBackendVersion = "Current Backend Version"
currentFrontendVersion = "Current Frontend Version"
description = "Check for updates and view version information"
latestVersion = "Latest Version"
managedByAdmin = "Managed by administrator"
modeAuto = "Install updates automatically"
modeDisabled = "Don't check for updates"
modePrompt = "Ask me before installing updates"
serverNeedsUpdate = "Server needs to be updated by administrator"
title = "Software Updates"
updateBehavior = "Update behaviour"
updateBehaviorDescription = "Choose whether to prompt before installing updates, install them automatically, or skip update checks entirely."
updateBehaviorError = "Could not change update behaviour"
updateBehaviorErrorLocked = "This setting is locked by your administrator."
updateBehaviorLockedDescription = "Your administrator has configured how Stirling-PDF handles updates on this machine. Contact them to change this."
updateBehaviorSaved = "Update behaviour saved."
versionMismatch = "Warning: A mismatch has been detected between the client version and the AppConfig version. Using different versions can lead to compatibility issues, errors, and security risks. Please ensure that server and client are using the same version."
viewDetails = "View Details"
[settings.general.versionInfo]
description = "Desktop and server version details"
desktop = "Desktop Version"
server = "Server Version"
title = "Version Information"
[settings.general.zoomLevel]
auto = "Auto"
fitPage = "Fit page"
fitWidth = "Fit width"
[settings.help]
label = "Tours"
title = "Help"
[settings.help.adminTour]
description = "Explore team management, system settings, and enterprise features."
start = "Start"
title = "Admin Tour"
[settings.help.toolsTour]
description = "Walk through uploading files, picking a tool, and reviewing results."
start = "Start"
title = "Tools Tour"
[settings.hotkeys]
capturing = "Press keys… (Esc to cancel)"
change = "Change shortcut"
customBadge = "Custom"
defaultLabel = "Default: {{shortcut}}"
description = "Customise keyboard shortcuts for quick tool access. Click \"Change shortcut\" and press a new key combination. Press Esc to cancel."
errorConflict = "Shortcut already used by {{tool}}."
none = "Not assigned"
noShortcut = "No shortcut set"
reset = "Reset"
searchPlaceholder = "Search tools..."
shortcut = "Shortcut"
title = "Keyboard Shortcuts"
[settings.hotkeys.errorModifier]
mac = "Include ⌘ (Command), ⌥ (Option), or another modifier in your shortcut."
windows = "Include Ctrl, Alt, or another modifier in your shortcut."
[settings.legal]
label = "Legal"
title = "Legal"
[settings.legal.cookiePreferences]
description = "Review or change your cookie consent choices."
manage = "Manage"
[settings.legal.documents]
description = "Policies and legal information for this service."
title = "Legal Documents"
[settings.licenses]
backendDescription = "Licenças para dependências de backend incluídas neste servidor."
backendLabel = "Licenças de Backend"
backendTitle = "Licenças de terceiros do Backend"
empty = "Nenhuma dependência encontrada."
frontendDescription = "Licenças para dependências de frontend incluídas no build de release."
frontendLabel = "Licenças de Frontend"
frontendTitle = "Licenças de terceiros do Frontend"
license = "Licença"
listDescription = "A lista é mostrada diretamente na UI a partir do bundle de release ou endpoint de backend."
listTitle = "Dependências incluídas"
loadError = "Falha ao carregar licenças de terceiros"
module = "Módulo"
version = "Versão"
[settings.licensingAnalytics]
audit = "Audit"
plan = "Plan"
title = "Licensing & Analytics"
usageAnalytics = "Usage Analytics"
[settings.planBilling]
currentPlan = "Current Plan"
loading = "Loading billing information..."
notAvailable = "Plan & Billing is only available when connected to Stirling Cloud (SaaS mode)."
title = "Plan & Billing"
[settings.planBilling.billing]
manageBilling = "Manage Billing"
nextBillingDate = "Next billing date"
overageCost = "Current overage cost: {{amount}} ({{credits}} credits)"
[settings.planBilling.credits]
estimatedCost = "Estimated cost: {{amount}}"
freeTierInfo = "Free plan includes {{freeCredits}} credits per month. Upgrade to Team for {{teamCredits}} credits/month and pay-as-you-go overage billing."
included = "{{count}} credits/month (included)"
noOverage = "No overage charges this month. You're using your included {{count}} credits."
overage = "+ {{count}} overage"
overageInfo = "Overage credits are billed at {{price}} per credit. You'll only pay for what you use beyond your monthly allowance."
title = "Credit Usage"
[settings.planBilling.errors]
fetchFailed = "Unable to fetch billing data"
retry = "Retry"
[settings.planBilling.status]
active = "Active"
canceled = "Cancelled"
pastDue = "Past Due"
trial = "Trial"
[settings.planBilling.team]
managedByTeam = "Managed by team"
memberCount_one = "{{count}} team member"
memberCount_other = "{{count}} team members"
memberCount_zero = "no team members"
[settings.planBilling.tier]
enterprise = "Enterprise"
enterpriseDescription = "Custom enterprise features and support"
free = "Free"
freeDescription = "50 credits per month"
team = "Team"
teamBadge = "Team"
teamDescription = "500 credits/month included, automatic overage billing for uninterrupted service"
teamTooltipCredits = "Team plan includes {{credits}} credits/month."
teamTooltipFineprint = "Only pay for what you use beyond included credits."
teamTooltipOverage = "Automatic overage billing at {{price}}/credit ensures uninterrupted service."
[settings.planBilling.trial]
daysRemaining = "{{days}} days remaining"
daysRemainingFull = "Your trial ends in {{days}} days"
endDate = "Expires: {{date}}"
endsOn = "Trial ends"
title = "Free Trial Active"
[settings.planBilling.upgrade]
cta = "Upgrade to Team"
featureApi = "API access for automation"
featureCredits = "{{teamCredits}} credits per month (vs {{freeCredits}} on Free)"
featureMembers = "Unlimited team members"
featureSupport = "Priority support"
featureThroughput = "Faster processing throughput"
opensInBrowser = "Opens in browser to complete upgrade"
subtitle = "Upgrade to Team for:"
title = "Upgrade Your Plan"
[settings.policiesPrivacy]
legal = "Legal"
privacy = "Privacy"
title = "Policies & Privacy"
[settings.preferences]
title = "Preferences"
[settings.search]
placeholder = "Search settings pages..."
[settings.security]
description = "Update your password to keep your account secure."
title = "Security"
[settings.security.password]
confirm = "Confirm new password"
confirmPlaceholder = "Re-enter your new password"
current = "Current password"
currentPlaceholder = "Enter your current password"
error = "Unable to update password. Please verify your current password and try again."
mismatch = "New passwords do not match."
new = "New password"
newPlaceholder = "Enter a new password"
required = "All fields are required."
ssoDisabled = "Password changes are managed by your identity provider."
subtitle = "Change your password. You will be logged out after updating."
success = "Password updated successfully. Please sign in again."
update = "Update password"
[settings.securityAuth]
connections = "Connections"
security = "Security"
telegram = "Telegram"
title = "Security & Authentication"
[settings.team]
title = "Team"
[settings.tooltips]
enableLoginFirst = "Enable login mode first"
requiresEnterprise = "Requires Enterprise licence"
[settings.workspace]
people = "People"
teams = "Teams"
title = "Workspace"
[setup.login]
connectingTo = "Connecting to:"
oauthPending = "Opening browser for authentication..."
orContinueWith = "Or continue with email"
skipSignIn = "Continue without signing in"
sso = "Single Sign-On"
submit = "Login"
[setup.login.error]
emptyEmail = "Please enter your email"
emptyPassword = "Please enter your password"
emptyUsername = "Please enter your username"
oauthFailed = "OAuth login failed. Please try again."
[setup.saas]
title = "Sign in to Stirling"
[setup.selfhosted]
changeServerLocked = "Your organisation has restricted this app to a specific server"
link = "or connect to a self-hosted account"
subtitle = "Enter your server credentials"
switchToLocal = "Use local tools instead"
title = "Sign in to Server"
[setup.selfhosted.unreachable]
changeServer = "Connect to a different server"
continueOffline = "Use local tools instead"
message = "Could not reach {{url}}. Check that the server is running and accessible."
retry = "Retry"
title = "Cannot connect to server"
[setup.server]
subtitle = "Enter your self-hosted server URL"
testing = "Testing connection..."
title = "Connect to Server"
useLast = "Last used server: {{serverUrl}}"
[setup.server.error]
configFetch = "Failed to fetch server configuration (status {{status}})"
configFetchError = "Failed to fetch server configuration: {{error}}"
emptyUrl = "Please enter a server URL"
invalidUrl = "Invalid URL format. Please enter a valid URL like https://your-server.com"
testFailed = "Connection test failed"
unreachable = "Could not connect to server"
[setup.server.error.securityDisabled]
body = "This server does not have login enabled. To connect to this server, you must enable authentication:"
step1 = "Set DOCKER_ENABLE_SECURITY=true in your environment"
step2 = "Or set security.enableLogin=true in settings.yml"
step3 = "Restart the server"
title = "Login Not Enabled"
[setup.server.url]
description = "Enter the full URL of your self-hosted Stirling PDF server"
label = "Server URL"
[sharedSign]
backToSessions = "Voltar às sessões"
createdOn = "Criado em {{date}}"
disabledBody = "A assinatura colaborativa não está habilitada neste servidor."
disabledTitle = "Não habilitado"
due = "Vence em {{date}}"
filterDeclined = "Recusadas"
filterMine = "Minhas"
filterOverdue = "Em atraso"
filterSigned = "Assinadas"
fromOwner = "De {{owner}}"
newRequest = "Solicitar assinaturas"
signedCount = "{{signed}}/{{total}} assinados"
[sharedSign.empty]
active = "Sem pedidos de assinatura pendentes nem sessões ativas"
completed = "Nenhuma sessão concluída"
[sharedSign.tab]
active = "Ativas"
completed = "Concluídas"
[showJS]
done = "JavaScript extracted"
processing = "Extracting JavaScript..."
results = "Result"
submit = "Show"
tags = "JS"
title = "Show Javascript"
[showJS.view]
title = "Extracted JavaScript"
[sign]
activate = "Activate Signature Placement"
add = "Add"
addToAll = "Add to all pages"
applySignatures = "Apply Signatures"
clear = "Clear"
deactivate = "Stop Placing Signatures"
delete = "Delete"
first = "First page"
header = "Sign PDFs"
last = "Last page"
maintainRatio = "Toggle maintain aspect ratio"
next = "Next page"
noSavedSigs = "No saved signatures found"
personalSigs = "Personal Signatures"
previous = "Previous page"
redo = "Redo"
save = "Save Signature"
sharedSigningOpen = "Abrir assinatura compartilhada"
sharedSigningRequest = "Solicitar assinaturas"
sharedSigningStepDesc = "Envie este documento para outras pessoas assinarem em vez de você assiná-lo."
sharedSigs = "Shared Signatures"
submit = "Sign Document"
tags = "signature,autograph,e-sign,electronic signature,digital signature,sign document,approval,signoff,authorise,endorse,ink signature,handwriting"
title = "Sign"
undo = "Undo"
updateAndPlace = "Update and Place"
upload = "Upload Image"
[sign.canvas]
clear = "Clear canvas"
clickToOpen = "Click to open the drawing canvas"
colorLabel = "Colour"
colorPickerTitle = "Choose stroke colour"
heading = "Draw your signature"
modalTitle = "Draw your signature"
penSizeLabel = "Pen size"
penSizePlaceholder = "Size"
[sign.draw]
clear = "Clear"
title = "Draw your signature"
[sign.error]
failed = "An error occurred while signing the PDF."
[sign.image]
backgroundRemovalFailedMessage = "Could not remove the background from the image. Using original image instead."
backgroundRemovalFailedTitle = "Background removal failed"
hint = "Upload a PNG or JPG image of your signature"
label = "Upload signature image"
placeholder = "Select image file"
processing = "Processing image..."
removeBackground = "Remove white background (make transparent)"
[sign.instructions]
canvas = "After drawing your signature in the canvas, close the modal then click anywhere on the PDF to place it."
image = "After uploading your signature image above, click anywhere on the PDF to place it."
noSignature = "Create a signature above to enable placement tools."
paused = "Placement paused"
resumeHint = "Resume placement to click and add your signature."
saved = "Select a saved signature above, then click anywhere on the PDF to place it."
text = "After entering your name above, click anywhere on the PDF to place your signature."
title = "How to add signature"
[sign.mode]
move = "Move Signature"
pause = "Pause placement"
place = "Place Signature"
resume = "Resume placement"
[sign.results]
title = "Signature Results"
[sign.saved]
carouselPosition = "{{current}} of {{total}}"
defaultCanvasLabel = "Drawing signature"
defaultImageLabel = "Uploaded signature"
defaultLabel = "Signature"
defaultTextLabel = "Typed signature"
delete = "Remove"
description = "Reuse saved signatures at any time."
emptyDescription = "Draw, upload, or type a signature above, then use \"Save to library\" to keep up to {{max}} favourites ready to use."
emptyTitle = "No saved signatures yet"
heading = "Saved signatures"
label = "Label"
limitDescription = "Remove a saved signature before adding new ones (max {{max}})."
limitTitle = "Limit reached"
next = "Next"
noChanges = "Current signature is already saved."
personalDescription = "Only you can see these signatures."
personalHeading = "Personal Signatures"
prev = "Previous"
saveButton = "Save signature"
savePersonal = "Save Personal"
saveShared = "Save Shared"
saveUnavailable = "Create a signature first to save it."
sharedDescription = "All users can see and use these signatures."
sharedHeading = "Shared Signatures"
tempStorageDescription = "Signatures are stored in your browser only. They will be lost if you clear browser data or switch browsers."
tempStorageTitle = "Temporary browser storage"
use = "Use signature"
[sign.saved.status]
saved = "Saved"
[sign.saved.type]
canvas = "Drawing"
image = "Upload"
text = "Text"
[sign.step]
createDesc = "Choose how you want to create the signature"
place = "Place & save"
placeDesc = "Position the signature on your PDF"
[sign.steps]
configure = "Configure Signature"
[sign.text]
colorLabel = "Text colour"
fontLabel = "Font"
fontSizeLabel = "Font size"
fontSizePlaceholder = "Type or select font size (8-200)"
name = "Text"
placeholder = "Enter text"
[sign.type]
canvas = "Canvas"
draw = "Draw"
image = "Image"
saved = "Saved"
text = "Text"
title = "Signature Type"
[signatureSettings.tooltip]
header = "Signature Appearance Settings"
[signatureSettings.tooltip.location]
bullet1 = "Examples: \"New York, USA\", \"London Office\", \"Remote\""
bullet2 = "Not the same as page position"
bullet3 = "May be required for certain legal jurisdictions"
description = "Optional geographic location where the signature was applied. Stored in certificate metadata."
title = "Signature Location"
[signatureSettings.tooltip.logo]
bullet1 = "Displayed alongside signature and text"
bullet2 = "Supports PNG, JPG formats"
bullet3 = "Enhances professional appearance"
description = "Add a company logo to visible signatures for branding and authenticity."
title = "Company Logo"
[signatureSettings.tooltip.reason]
bullet1 = "Examples: \"Approval\", \"Contract Agreement\", \"Review Complete\""
bullet2 = "Visible in PDF signature properties"
bullet3 = "Useful for audit trails and compliance"
description = "Optional text explaining why the document is being signed. Stored in certificate metadata."
title = "Signature Reason"
[signatureSettings.tooltip.visibility]
bullet1 = "<b>Visible</b>: Signature appears on PDF with custom appearance"
bullet2 = "<b>Invisible</b>: Certificate embedded without visual mark"
bullet3 = "Invisible signatures still provide cryptographic validation"
description = "Controls whether the signature is visible on the document or embedded invisibly."
title = "Signature Visibility"
[signRequest]
declined = "Sign request declined"
fetchFailed = "Failed to load sign request"
signed = "Document signed successfully"
[signSession]
created = "Signing request sent"
createFailed = "Failed to create signing request"
[signup]
accountCreatedSuccessfully = "Account created successfully! You can now sign in."
alreadyHaveAccount = "I already have an account"
checkEmailConfirmation = "Check your email for a confirmation link to complete your registration."
confirmPassword = "Confirm password"
confirmPasswordPlaceholder = "Confirm password"
confirmPasswordRequired = "Please confirm your password"
creatingAccount = "Creating Account..."
email = "Email"
emailRequired = "Email is required"
enterEmail = "Enter your email"
enterName = "Enter your name"
enterPassword = "Enter your password"
invalidEmail = "Please enter a valid email address"
name = "Name"
nameRequired = "Name is required"
or = "or"
password = "Password"
passwordRequired = "Password is required"
passwordsDoNotMatch = "Passwords do not match"
passwordTooShort = "Password must be at least 6 characters long"
pleaseFillAllFields = "Please fill in all fields"
signUp = "Sign Up"
signUpWith = "Sign up with"
skip = "Skip"
subtitle = "Join Stirling PDF to get started"
title = "Create an account"
unexpectedError = "Unexpected error: {{message}}"
[sizes]
large = "Large"
medium = "Medium"
small = "Small"
x-large = "X-Large"
[split]
resultsTitle = "Split Results"
selectMethod = "Select a split method"
splitPages = "Enter pages to split on:"
submit = "Split"
tags = "divide,separate,break,split,extract pages,separate pages,divide document,break apart,separate files,unbind,split by page,divide by chapter"
title = "Split PDF"
[split.error]
failed = "An error occurred while splitting the PDF."
[split.methods.byChapters]
name = "Chapters"
tooltip = "Uses PDF bookmarks to determine split points"
[split.methods.byDocCount]
name = "Document Count"
tooltip = "Enter how many files you want to create"
[split.methods.byPageCount]
name = "Page Count"
tooltip = "Enter the number of pages for each split file"
[split.methods.byPageDivider]
name = "Page Divider"
tooltip = "Use QR code divider sheets between documents when scanning"
[split.methods.byPages]
name = "Page Numbers"
tooltip = "Enter page numbers separated by commas or ranges with hyphens"
[split.methods.byPoster]
name = "Printable Chunks"
tooltip = "Divide oversized pages into smaller chunks suitable for printing on standard paper (A4, Letter, etc.)"
[split.methods.bySections]
name = "Sections"
tooltip = "Split each page into horizontal and vertical sections"
[split.methods.bySize]
name = "File Size"
tooltip = "Specify maximum file size (e.g. 10MB, 500KB)"
[split.methods.prefix]
splitAt = "Split at"
splitBy = "Split by"
splitInto = "Split into"
[split.methodSelection.tooltip]
bullet1 = "Click on a method card to select it"
bullet2 = "Hover over each card to see a quick description"
bullet3 = "The settings step will appear after you select a method"
bullet4 = "You can change methods at any time before processing"
title = "Choose Your Split Method"
[split.methodSelection.tooltip.header]
text = "Choose how you want to split your PDF document. Each method is optimised for different use cases and document types."
title = "Split Method Selection"
[split.poster]
rightToLeft = "Split right-to-left"
[split.poster.pageSize]
description = "Size of output pages for printing"
label = "Target Page Size"
[split.poster.xFactor]
description = "Number of columns to split each page into"
label = "Horizontal Divisions"
[split.poster.yFactor]
description = "Number of rows to split each page into"
label = "Vertical Divisions"
[split.settings]
selectMethodFirst = "Please select a split method first"
[split.steps]
chooseMethod = "Choose Method"
settings = "Settings"
[split.tooltip.byChapters]
bullet1 = "Bookmark Level: Which level to split on (1=top level)"
bullet2 = "Include Metadata: Preserve document properties"
bullet3 = "Allow Duplicates: Handle repeated bookmark names"
text = "Use PDF bookmarks to automatically split at chapter boundaries. Requires PDFs with bookmark structure."
title = "Split by Chapters"
[split.tooltip.byDocCount]
bullet1 = "Enter the number of output files you want"
bullet2 = "Pages are distributed as evenly as possible"
bullet3 = "Useful when you need a specific number of files"
text = "Create a specific number of output files by evenly distributing pages across them."
title = "Split by Document Count"
[split.tooltip.byPageCount]
bullet1 = "Enter the number of pages per output file"
bullet2 = "Last file may have fewer pages if not evenly divisible"
bullet3 = "Useful for batch processing workflows"
text = "Create multiple PDFs with a specific number of pages each. Perfect for creating uniform document chunks."
title = "Split by Page Count"
[split.tooltip.byPageDivider]
bullet1 = "Print divider sheets from the download link"
bullet2 = "Insert divider sheets between your documents"
bullet3 = "Scan all documents together as one PDF"
bullet4 = "Upload - divider pages are automatically detected and removed"
bullet5 = "Enable Duplex Mode if scanning both sides of divider sheets"
text = "Automatically split scanned documents using physical divider sheets with QR codes. Perfect for processing multiple documents scanned together."
title = "Split by Page Divider"
[split.tooltip.byPages]
bullet1 = "Single split points: 3,7 (splits after pages 3 and 7)"
bullet2 = "Range split points: 3-8 (splits before page 3 and after page 8)"
bullet3 = "Mixed: 2,5-10,15 (splits after page 2, before page 5, after page 10, and after page 15)"
text = "Split your PDF at specific page numbers. Using 'n' splits after page n. Using 'n-m' splits before page n and after page m."
title = "Split at Page Numbers"
[split.tooltip.byPoster]
bullet1 = "Target Page Size: Choose output paper size (A4, Letter, etc.)"
bullet2 = "Horizontal/Vertical Divisions: Grid size for splitting"
bullet3 = "Right-to-Left: Reverse column order for RTL layouts"
bullet4 = "Print and assemble the pieces to create your poster"
text = "Split large PDF pages into smaller printable chunks suitable for standard paper sizes. Perfect for creating poster prints from oversized pages."
title = "Split for Poster Print"
[split.tooltip.bySections]
bullet1 = "Horizontal: Number of rows to create"
bullet2 = "Vertical: Number of columns to create"
bullet3 = "Merge: Combine all sections into one PDF"
text = "Divide each page into a grid of sections. Useful for splitting documents with multiple columns or extracting specific areas."
title = "Split by Grid Sections"
[split.tooltip.bySize]
bullet1 = "Use MB for larger files (e.g., 10MB)"
bullet2 = "Use KB for smaller files (e.g., 500KB)"
bullet3 = "System will split at page boundaries"
text = "Create multiple PDFs that don't exceed a specified file size. Ideal for file size limitations or email attachments."
title = "Split by File Size"
[split.value.docCount]
label = "Number of Files"
placeholder = "e.g. 3, 5"
[split.value.fileSize]
label = "File Size"
placeholder = "e.g. 10MB, 500KB"
[split.value.pageCount]
label = "Pages per File"
placeholder = "e.g. 5, 10"
[split-by-sections]
merge = "Merge Into One PDF"
tags = "Section Split, Divide, Customise,Customise"
title = "Split PDF by Sections"
[split-by-sections.customPages]
label = "Custom Page Numbers"
placeholder = "e.g. 2,4,6"
[split-by-sections.horizontal]
label = "Horizontal Divisions"
placeholder = "Enter number of horizontal divisions"
[split-by-sections.splitMode]
custom = "Custom pages"
description = "Choose how to split the pages"
label = "Split Mode"
splitAll = "Split all pages"
splitAllExceptFirst = "Split all except first"
splitAllExceptFirstAndLast = "Split all except first and last"
splitAllExceptLast = "Split all except last"
[split-by-sections.vertical]
label = "Vertical Divisions"
placeholder = "Enter number of vertical divisions"
[split-by-size-or-count]
title = "Split PDF by Size or Count"
[split-by-size-or-count.value]
label = "Enter Value"
placeholder = "Enter size (e.g., 2MB or 3KB) or count (e.g., 5)"
[splitByChapters]
allowDuplicates = "Allow Duplicates"
bookmarkLevel = "Bookmark Level"
includeMetadata = "Include Metadata"
title = "Split PDF by Chapters"
[splitPdfByChapters]
tags = "split,chapters,bookmarks,organise"
[storageShare]
accessDenied = "You do not have access to this shared file. Ask the owner to share it with you."
accessDeniedBody = "You do not have access to this file. Ask the owner to share it with you."
accessDeniedTitle = "No access"
accessed = "Accessed"
accessFailed = "Unable to load activity."
accessLimitedCommenter = "Comment access is coming soon. Ask the owner for editor access if you need to download."
accessLimitedTitle = "Limited access"
accessLimitedViewer = "This link is view-only. Ask the owner for editor access if you need to download."
addUser = "Add"
bulkDescription = "Create one link to share all checked files with signed-in users."
bulkTitle = "Share checked files"
commenterHint = "Commenting is coming soon."
copied = "Link copied to clipboard"
copy = "Copy"
copyFailed = "Copy failed"
copyLink = "Copy share link"
createdAt = "Created"
description = "Create a share link for this file. Signed-in users with the link can access it."
download = "Download"
downloaded = "Downloaded"
downloadFailed = "Unable to download this file."
downloadsCount = "Downloads: {{count}}"
emailWarningBody = "This looks like an email address. If this person is not already a Stirling PDF user, they will not be able to access the file."
emailWarningConfirm = "Share anyway"
emailWarningTitle = "Email address"
errorTitle = "Share failed"
expiredBody = "This share link is invalid or has expired."
expiredTitle = "Link expired"
failure = "Unable to generate a share link. Please try again."
fileCount_one = "{{count}} file"
fileCount_other = "{{count}} files"
fileLabel = "File"
generate = "Generate Link"
generated = "Share link generated"
goToLogin = "Go to login"
hideActivity = "Hide activity"
invalidUsername = "Enter a valid username or email address."
lastAccessed = "Last accessed"
linkAccessTitle = "Share link access"
linkLabel = "Share link"
linksDisabled = "Share links are disabled."
linksDisabledBody = "Share links are disabled by your server settings."
loadFailed = "Unable to open shared file."
loading = "Loading share link..."
loginPrompt = "Sign in to access this shared file."
loginRequired = "Login required"
manage = "Manage sharing"
manageDescription = "Create and manage links to share this file."
manageLoadFailed = "Unable to load share links."
manageTitle = "Manage Sharing"
noActivity = "No activity yet."
noLinks = "No active share links yet."
noSharedUsers = "No users have access yet."
openInApp = "Open in Stirling PDF"
ownerLabel = "Owner"
ownerUnknown = "Unknown"
removeLink = "Remove link"
removeUser = "Remove"
requiresLogin = "This shared file requires login."
revoked = "Share link removed"
revokeFailed = "Unable to remove the share link."
roleCommenter = "Commenter"
roleEditor = "Editor"
roleLabel = "Role"
roleViewer = "Viewer"
saveAndShare = "Salvar no servidor e compartilhar"
saveFailed = "Falha ao salvar o arquivo no servidor. Tente novamente."
saveFailedTitle = "Não foi possível salvar no servidor"
saveFirstBody = "O compartilhamento funciona com arquivos salvos no servidor. Vamos salvar o arquivo em seus arquivos e, em seguida, continuar com o compartilhamento."
saveFirstHeading = "Salve este arquivo no servidor para compartilhá-lo"
saveFirstTitle = "Compartilhar arquivo"
sharedUsersTitle = "Shared users"
shareHeading = "Shared file"
sharingDisabled = "Sharing is disabled."
sharingDisabledBody = "Sharing has been disabled by your server settings."
title = "Share File"
titleDefault = "Shared file"
tryAgain = "Please try again later."
unknownUser = "Unknown user"
userAdded = "User added to shared list."
userAddFailed = "Unable to share with that user."
usernameLabel = "Username or email"
usernamePlaceholder = "Enter a username or email"
userRemoved = "User removed from shared list."
userRemoveFailed = "Unable to remove that user."
viewActivity = "View activity"
viewed = "Viewed"
viewsCount = "Views: {{count}}"
[storageUpload]
bulkDescription = "This uploads the checked files to your server storage."
bulkTitle = "Upload checked files"
description = "This uploads the current file to server storage for your own access."
errorTitle = "Upload failed"
failure = "Upload failed. Please check your login and storage settings."
featureDisabled = "Saving to the server isn't enabled on this server."
fileCount_one = "{{count}} file"
fileCount_other = "{{count}} files"
fileLabel = "File"
hint = "Public links and access modes are controlled by your server settings."
more = " +{{count}} more"
success = "Uploaded to server"
title = "Upload to Server"
updateButton = "Update on Server"
uploadButton = "Upload to Server"
[survey]
title = "Stirling-PDF Survey"
[swagger]
tags = "api,documentation,swagger,endpoints,development"
title = "API Documentation"
[tableExtraxt]
tags = "CSV,Table Extraction,extract,convert"
[team]
cancelInviteError = "Failed to cancel invitation"
confirmCancelInvite = "Are you sure you want to cancel this invitation?"
confirmLeave = "Are you sure you want to leave this team?"
confirmLeaveLeader = "As a team leader, leaving will remove you from the team. Are you sure?"
confirmRemove = "Are you sure you want to remove this member?"
editName = "Edit team name"
inviteCancelled = "Invitation cancelled"
inviteError = "Failed to send invitation"
inviteSent = "Invitation sent successfully"
leader = "Leader"
leaveButton = "Leave Team"
leaveError = "Failed to leave team"
leaveSuccess = "Successfully left team"
loading = "Loading team information..."
memberCount_one = "{{count}} member"
memberCount_other = "{{count}} members"
memberCount_zero = "no members"
memberRemoved = "Member removed successfully"
namePlaceholder = "Enter team name"
personal = "Personal"
removeError = "Failed to remove member"
renameCancel = "Cancelar renomeação"
renameError = "Failed to rename team"
renameSubmit = "Salvar nome da equipe"
renameSuccess = "Team renamed successfully"
[team.invitationBanner]
acceptButton = "Accept"
message = "has invited you to join"
rejectButton = "Decline"
[team.invite]
cancelLabel = "Cancel"
invalidEmail = "Invalid email address"
placeholder = "Enter email address"
sendButton = "Send Invitation"
title = "Invite Team Member"
[team.members]
actions = "Ações do membro"
emailColumn = "Email"
empty = "No team members yet"
nameColumn = "Name"
pending = "Pending"
remove = "Remove"
roleColumn = "Role"
title = "Team Members"
[textAlign]
center = "Centre"
left = "Left"
right = "Right"
[textInput]
clear = "Clear input"
[time.relative]
daysAgo = "{{count}}d ago"
hoursAgo = "{{count}}h ago"
justNow = "just now"
minutesAgo = "{{count}}m ago"
[timestampPdf]
desc = "Add an RFC 3161 document timestamp to your PDF using a trusted Time Stamp Authority (TSA) server."
results = "Timestamp Results"
submit = "Apply Timestamp"
tags = "timestamp,RFC 3161,TSA,time stamp authority,document timestamp,proof of existence,timestamp token,trusted timestamp,sign timestamp,notarise"
title = "Timestamp PDF"
[timestampPdf.error]
failed = "An error occurred while timestamping the PDF."
[timestampPdf.options]
note = "Only a SHA-256 hash of your document is sent to the TSA server; the PDF file itself is never sent to the TSA server."
title = "Timestamp Server (TSA)"
[timestampPdf.options.tsaUrl]
desc = "Pick a trusted Time Stamp Authority"
label = "Select a TSA server"
[timestampPdf.steps]
settings = "Settings"
[toast]
dismiss = "Dismiss"
toggleDetails = "Toggle details"
[tool]
endpointUnavailable = "This tool is unavailable on your server."
endpointUnavailableClickable = "Not available in this mode. Click to sign in."
filesLoading = "Files are still loading, please wait."
filesLoadingProgress = "{{loaded}} / {{total}} files loading..."
invalidParams = "Fill in the required settings."
noFiles = "Add a file to get started."
scopeFiles = "files"
scopeThisFile = "this file"
selectFilesHint = "Select files in Active Files to run this tool"
singleFileScope = "Only applying to: {{fileName}}"
viewerMode = "Switch to the file editor to add multiple files."
[toolPanel]
alpha = "Alpha"
backToAllTools = "Back to all tools"
collapse = "Collapse panel"
expand = "Expand panel"
goBack = "Go back"
placeholder = "Choose a tool to get started"
premiumFeature = "Premium feature:"
toolsHeader = "Tools"
viewAllTools = "View all tools"
[toolPanel.fullscreen]
comingSoon = "Coming soon:"
favorite = "Add to favourites"
favorites = "Favourites"
heading = "All tools (fullscreen view)"
noResults = "Try adjusting your search or toggle descriptions to find what you need."
recommended = "Recommended"
selfHostedOffline = "Requires your Stirling-PDF server (currently offline):"
showDetails = "Show Details"
unavailable = "Disabled by server administrator:"
unavailableDependency = "Unavailable - required tool missing on server:"
unfavorite = "Remove from favourites"
[toolPanel.modePrompt]
chooseFullscreen = "Use fullscreen mode"
chooseSidebar = "Use sidebar mode"
description = "Preview both layouts and decide how you want to explore Stirling PDF tools."
dismiss = "Maybe later"
fullscreenDescription = "Browse every tool in a catalogue that covers the workspace until you pick one."
fullscreenTitle = "Fullscreen mode - (legacy)"
recommended = "Recommended"
sidebarDescription = "Keep tools alongside your workspace for quick switching."
sidebarTitle = "Sidebar mode"
title = "Choose how you browse tools"
[toolPicker]
allTools = "ALL TOOLS"
noToolsFound = "No tools found"
quickAccess = "QUICK ACCESS"
searchPlaceholder = "Search tools..."
[toolPicker.categories]
advancedTools = "Advanced Tools"
recommendedTools = "Recommended Tools"
standardTools = "Standard Tools"
[toolPicker.subcategories]
advancedFormatting = "Advanced Formatting"
automation = "Automation"
developerTools = "Developer Tools"
documentReview = "Document Review"
documentSecurity = "Document Security"
extraction = "Extraction"
general = "General"
pageFormatting = "Page Formatting"
removal = "Removal"
signing = "Signing"
verification = "Verification"
[tools]
noSearchResults = "No tools found"
noTools = "No tools available"
[tooltip]
close = "Close tooltip"
[unlockPDFForms]
description = "This tool will remove read-only restrictions from PDF form fields, making them editable and fillable."
submit = "Unlock Forms"
tags = "remove,delete,form,field,readonly"
title = "Remove Read-Only from Form Fields"
[unlockPDFForms.error]
failed = "An error occurred whilst unlocking PDF forms."
[unlockPDFForms.results]
title = "Unlocked Forms Results"
[update]
allReleases = "All Releases"
breaking = "Breaking"
breakingChanges = "Breaking Changes"
breakingChangesDefault = "This version contains breaking changes."
close = "Close"
closeModal = "Close update modal"
current = "Current Version"
defaultRecommendation = "This update contains important fixes and improvements."
downloadLatest = "Download Latest"
later = "Later"
latest = "Latest Version"
loadingDetailedInfo = "Loading detailed information..."
migrationGuide = "Migration Guide"
migrationGuides = "Migration Guides"
migrationGuidesDesc = "Review important changes before updating."
modalSubtitle = "A new version of Stirling PDF is ready to install."
modalTitle = "Update Available"
notes = "Notes"
releaseNotes = "Release Notes"
showLess = "Show fewer versions"
showMore = "Show all {{count}} versions"
stable = "STABLE"
updateAvailable = "Update Available"
urgentUpdateAvailable = "Urgent Update"
version = "Version"
versionHistory = "Version History"
viewGuide = "View Guide"
whatsNewIn = "What's new in"
[update.priority]
low = "Low"
minor = "Minor"
normal = "Normal"
urgent = "Urgent"
[upgradeBanner]
attentionBody = "Your admin needs to sign in to see more info. Please contact them immediately."
attentionBodyAdmin = "Review the licence requirements to keep this server compliant."
attentionTitle = "This server needs admin attention"
message = "Get the most out of Stirling PDF with unlimited users and advanced features"
seeInfo = "See info"
title = "Upgrade to Server Plan"
upgradeButton = "Upgrade Now"
[URLToPDF]
tags = "web-capture,save-page,web-to-doc,archive"
title = "URL To PDF"
[usage]
aboutUsageAnalytics = "About Usage Analytics"
configureSettings = "Configure Analytics Settings"
error = "Error loading usage statistics"
noData = "No data available"
noDataMessage = "No usage statistics are currently available."
usageAnalyticsExplanation = "Usage analytics track endpoint requests and tool usage patterns. Combined with the Audit Logging dashboard, you get complete visibility into system activity, performance, and security events."
viewAuditLogs = "View Audit Logs"
[usage.chart]
title = "Endpoint Usage Chart"
[usage.controls]
all = "All"
dataTypeLabel = "Data Type:"
refresh = "Refresh"
top10 = "Top 10"
top20 = "Top 20"
[usage.controls.dataType]
all = "All"
api = "API"
ui = "UI"
[usage.showing]
all = "All"
top10 = "Top 10"
top20 = "Top 20"
[usage.stats]
selectedVisits = "Selected Visits"
showing = "Showing"
totalEndpoints = "Total Endpoints"
totalVisits = "Total Visits"
[usage.table]
endpoint = "Endpoint"
noData = "No data available"
percentage = "Percentage"
title = "Detailed Statistics"
unknownEndpoint = "Unknown endpoint"
visits = "Visits"
[users]
lastActive = "Última atividade"
learnMore = "Saiba mais sobre funções e acesso."
locked = "Bloqueado"
roleFor = "Função de {{name}}"
rowActions = "Ações para {{name}}"
showAll = "Mostrar todos {{count}}"
showLess = "Mostrar menos"
subtitle2 = "Suas pessoas, equipes e níveis de acesso."
suspended = "Suspenso"
teamActions = "Ações da equipe"
title = "Usuários"
you = "(você)"
[users.action]
deleteTeam = "Excluir equipe"
disableMfa = "Redefinir MFA"
move = "Mover para equipe"
reinstate = "Reintegrar"
remove = "Remover da organização"
rename = "Renomear equipe"
resetPw = "Redefinir senha"
suspend = "Suspender"
unlock = "Desbloquear conta"
[users.cap]
addProcessor = "+ Processor"
approver = "Aprova política"
editor = "Editor"
processor = "Processor"
[users.confirm]
deleteTeamBody = "Excluir a equipe {{name}}? A equipe deve estar vazia primeiro - mova seus membros para outra equipe, e ela não pode ainda possuir nenhuma configuração de integração."
deleteTeamTitle = "Excluir equipe"
disableMfaBody = "Remover o cadastro de MFA de {{name}}? A pessoa configurará novamente no próximo login, se necessário."
disableMfaTitle = "Redefinir MFA"
removeBody = "Remover permanentemente {{name}} da organização? Isso não pode ser desfeito."
removeTitle = "Remover membro"
[users.empty]
description = "Convide sua equipe para começar a colaborar."
title = "Nenhum membro ainda"
[users.group]
addToTeam = "Adicionar à equipe"
guestCount = "{{count}} convidado"
guests = "Convidados"
guestsDesc = "Colaboradores externos, limitados ao que você compartilhou. Somente Editor."
ledBy = "liderada por {{owner}}"
org = "Organização"
orgDesc = "Proprietários com autoridade em toda a organização e aprovação de políticas"
owners = "{{count}} proprietário"
team = "Equipe {{name}}"
teamMeta = "{{count}} pessoas"
[users.invite]
access = "Acesso"
action = "Convidar pessoas"
authOauth = "OAuth2 / SSO"
authSaml = "SAML 2.0"
authType = "Método de login"
authWeb = "Senha"
create = "Criar conta"
createSubtitle = "Crie uma conta self-hosted com senha ou SSO."
createTitle = "Criar conta"
editorDesc = "Edite PDFs no Stirling PDF Editor. Todos recebem isso."
email = "Endereço de email"
emailError = "Insira um endereço de email válido"
emailPlaceholder2 = "nome@empresa.com"
forceChange = "Exigir alteração de senha no primeiro login"
forceMfa = "Exigir configuração de MFA no primeiro login"
method = "Como adicioná-los"
methodDirect = "Criar conta diretamente"
methodEmail = "Convidar por email"
password = "Senha"
passwordError = "A senha deve ter pelo menos 8 caracteres"
processorDeferred = "Convite enviado, mas o acesso ao Processor ainda não pôde ser concedido - defina-o na lista assim que a pessoa entrar."
processorDesc = "A superfície de governança, execução de pipelines, agentes e a API."
role = "Função"
send2 = "Enviar convite"
subtitle2 = "Eles receberão um email para entrar no seu espaço de trabalho do Stirling PDF."
team = "Equipe"
title = "Convidar pessoas"
username = "Nome de usuário"
usernameError = "O nome de usuário deve ter pelo menos 3 caracteres"
usernamePlaceholder = "jsmith"
[users.loadError]
description = "Algo deu errado ao acessar o backend, ou você não tem acesso. Tente novamente."
title = "Não foi possível carregar os membros"
[users.moveTeam]
apply = "Mover"
team = "Equipe"
title = "Mover para equipe"
[users.newTeam]
action = "+ Nova equipe"
create = "Criar equipe"
emailError = "Insira um endereço de email válido"
name = "Nome da equipe"
namePlaceholder = "ex.: Financeiro"
nameRequired = "O nome da equipe é obrigatório"
owner = "Proprietário da equipe"
ownerFailed = "Equipe criada, mas não foi possível convidar o proprietário. Atribua um pela lista."
ownerHelper = "Toda equipe tem um líder. Essa pessoa será convidada como Proprietário da equipe, com o Processador ativado, e poderá adicionar o restante. Você pode reatribuir depois."
ownerPlaceholder = "owner@company.com"
subtitle = "Agrupe pessoas sob um Proprietário da equipe que gerencia o acesso delas."
title = "Nova equipe"
[users.renameTeam]
apply = "Renomear"
name = "Nome da equipe"
title = "Renomear equipe"
[users.resetPw]
apply = "Redefinir senha"
confirm = "Confirmar senha"
copied = "Copiado para a área de transferência"
copyHint = "Copie isto agora — não será mostrado novamente."
email = "Enviar email ao usuário sobre a redefinição"
forceChange = "Exigir alteração de senha no próximo login"
generate = "Gerar uma senha segura"
includePw = "Incluir a nova senha no email"
mismatch = "As senhas não coincidem"
newPassword = "Nova senha"
regen = "Gerar novamente"
title = "Redefinir senha"
tooShort = "A senha deve ter pelo menos 8 caracteres"
[users.role]
guest = "Convidado"
member = "Membro"
orgOwner = "Proprietário da organização"
teamOwner = "Proprietário da equipe"
[users.team]
grantProcessor = "Conceder Processador à equipe"
revokeProcessor = "Revogar Processador da equipe"
[validateSignature]
date = "Date"
downloadCsv = "Download CSV"
downloadJson = "Download JSON"
downloadPdf = "Download PDF Report"
finalizing = "Preparing downloads..."
location = "Location"
noResults = "Run the validation to generate a report."
noSignatures = "No digital signatures found in this document"
noSignaturesShort = "No signatures"
processing = "Validating signatures..."
reason = "Reason"
results = "Validation Results"
selectCustomCert = "Custom Certificate File X.509 (Optional)"
signatureDate = "Signature Date"
signer = "Signer"
submit = "Validate Signatures"
tags = "signature,verify,validate,pdf,certificate,digital signature,Validate Signature,Validate certificate"
title = "Validate PDF Signatures"
totalSignatures = "Total Signatures"
[validateSignature.cert]
algorithm = "Algorithm"
bits = "bits"
details = "Certificate Details"
issuer = "Issuer"
keySize = "Key Size"
keyUsage = "Key Usage"
selfSigned = "Self-Signed"
serialNumber = "Serial Number"
subject = "Subject"
validFrom = "Valid From"
validUntil = "Valid Until"
version = "Version"
[validateSignature.downloadType]
csv = "CSV"
json = "JSON"
pdf = "PDF"
[validateSignature.error]
allFailed = "Unable to validate the selected files."
partial = "Some files could not be validated."
reportGeneration = "Could not generate the PDF report. JSON and CSV are available."
unexpected = "Unexpected error during validation."
[validateSignature.issue]
certExpired = "Certificate expired"
certRevocationUnknown = "Certificate revocation status unknown"
certRevoked = "Certificate revoked"
chainInvalid = "Certificate chain invalid"
documentModified = "Documento modificado após a assinatura - conteúdo foi adicionado fora da área assinada"
revocationNotChecked = "A revogação não foi verificada"
selfSigned = "Autossinado - identidade do signatário não verificada"
signatureInvalid = "Signature cryptographic check failed"
trustInvalid = "Certificate not trusted"
[validateSignature.report]
continued = "Continued"
downloads = "Downloads"
entryLabel = "Signature Summary"
filesEvaluated_one = "{{count}} arquivo avaliado"
filesEvaluated_other = "{{count}} arquivos avaliados"
footer = "Validated via Stirling PDF"
generatedAt = "Generated"
noPdf = "PDF report will be available after a successful validation."
page = "Page"
shortTitle = "Signature Summary"
signatureCountLabel_one = "{{count}} signature"
signatureCountLabel_other = "{{count}} signatures"
signaturesFound_one = "{{count}} signature detected"
signaturesFound_other = "{{count}} signatures detected"
signaturesInvalid = "{{count}} inválidas"
signaturesUnverified_one = "{{count}} precisa de revisão"
signaturesUnverified_other = "{{count}} precisam de revisão"
signaturesValid = "{{count}} fully valid"
title = "Signature Validation Report"
[validateSignature.report.fields]
created = "Created"
fileSize = "File Size"
signatureCount = "Total Signatures"
signatureDate = "Signature Date"
[validateSignature.settings]
certHint = "Upload a trusted X.509 certificate to validate against a custom trust source."
title = "Validation Settings"
[validateSignature.signature]
_value = "Signature"
[validateSignature.status]
complete = "Validation complete"
invalid = "Invalid"
untrustedShort = "Não verificada"
valid = "Valid"
validUntrusted = "Válida, signatário não verificado"
[viewer]
cannotPreviewFile = "Cannot Preview File"
copyText = "Copy"
disableColorFilter = "Disable Colour Filter"
dualPageView = "Dual Page View"
enableDarkFilter = "Enable Dark Filter"
enableSepiaFilter = "Enable Sepia Filter"
firstPage = "First Page"
lastPage = "Last Page"
moreOptions = "More"
nextPage = "Next Page"
onlyPdfSupported = "This file format is not supported for preview."
pageNavigation = "Page navigation"
previousPage = "Previous Page"
saveChangesErrorBody = "Não foi possível salvar o documento. Tente novamente."
saveChangesErrorTitle = "Não foi possível salvar as alterações"
singlePageView = "Single Page View"
unknownFile = "Unknown file"
view = "View"
zoom = "Zoom"
zoomIn = "Zoom In"
zoomOut = "Zoom Out"
[viewer.attachments]
addAttachment = "Adicionar anexo"
close = "Fechar anexos"
closeSidebar = "Fechar barra lateral de anexos"
download = "Baixar anexo"
empty = "No attachments in this document"
loading = "Loading attachments..."
noDocument = "Open a PDF to view its attachments."
noMatch = "No attachments match your search"
noSupport = "Attachment support is unavailable for this viewer."
retry = "Tentar novamente"
searchPlaceholder = "Search attachments"
title = "Attachments"
[viewer.bookmarks]
bookmarkTitle = "Título do marcador"
closeSidebar = "Fechar barra lateral de marcadores"
collapseAll = "Recolher todos os marcadores"
expandAll = "Expandir todos os marcadores"
[viewer.comments]
addComment = "Add comment"
addCommentPlaceholder = "Add comment..."
addLink = "Add link"
addReplyPlaceholder = "Add reply..."
cancelClearAll = "Cancelar"
clearAll = "Limpar todos os comentários"
clearAllDescription = "Isso remove comentários e respostas da barra lateral, mantendo quaisquer anotações anexadas no documento."
clearAllTitle = "Limpar todos os comentários?"
close = "Fechar comentários"
closeSidebar = "Fechar barra lateral de comentários"
deleteAnnotationAndComment = "Delete annotation & comment"
deleteDescription = "This annotation has a comment attached. You can remove just the comment from the sidebar while keeping the annotation, or delete everything."
deleteTitle = "Remove annotation from comments?"
goToLink = "Go to link"
hint = "Place comments with the Comment, Insert Text, or Replace Text tools. They will appear here by page."
locateAnnotation = "Locate in document"
moreActions = "More actions"
nComments_one = "{{count}} comment"
nComments_other = "{{count}} comments"
pageLabel = "Page {{page}}"
placingHint = "Clique em uma página para posicionar… (cancelar)"
removeCommentOnly = "Remove comment only"
saveReply = "Save reply"
title = "Comments"
typeComment = "Comment"
typeInsertText = "Insert Text"
typeReplaceText = "Replace Text"
viewComment = "View comment"
[viewer.error]
noFileProvided = "Error: No file provided to viewer"
[viewer.formBar]
apply = "Apply Changes"
dismiss = "Dismiss"
download = "Download PDF"
hasFieldsDesc = "This PDF contains fillable fields"
title = "Form Fields"
unsavedBadge = "Unsaved"
unsavedDesc = "You have unsaved changes"
[viewer.layers]
closeSidebar = "Fechar barra lateral de camadas"
hideAll = "Ocultar todas as camadas"
showAll = "Mostrar todas as camadas"
[viewer.link]
delete = "Delete link"
[viewer.nonPdf]
columnDefault = "Column {{index}}"
convertToPdf = "Convert to PDF"
csvStats = "{{rows}} rows · {{columns}} columns · {{size}}"
emptyFile = "Empty file"
htmlPreview = "HTML preview"
htmlPreviewWarning = "HTML preview - external resources may not load · {{size}}"
invalidJson = "Invalid JSON - showing raw content"
lineNumbers = "Line numbers"
loading = "Loading..."
renderMarkdown = "Render markdown"
sortedBy = "Sorted by: {{column}}"
textStats = "{{lines}} lines · {{size}}"
[viewer.redaction]
removeMark = "Remove this mark"
[viewer.search]
clear = "Clear search"
close = "Close search"
next = "Next result"
previous = "Previous result"
resultsOf = "of {{total}}"
[viewer.signature]
delete = "Delete signature"
[viewer.thumbnails]
closeSidebar = "Fechar barra lateral de miniaturas"
[viewPdf]
tags = "view,read,annotate,text,image,highlight,edit"
title = "View/Edit PDF"
[warning]
tooltipTitle = "Warning"
[watchedFolders]
alreadyInFolder = "Already in this folder"
defaultFolderWarning = "This is a default folder and will be recreated on next reload."
deleteConfirmBody = "This will remove the folder and its run history. Files already downloaded are not affected."
deleteConfirmTitle = "Delete folder?"
folderNotFound = "Folder not found"
newFolder = "New folder"
noFolders = "No watched folders yet"
sidebarTitle = "Watched Folders"
title = "Watched Folders"
[watchedFolders.actions]
back = "Back"
collapse = "Collapse"
dismiss = "Dismiss"
download = "Download"
downloadInput = "Download input"
downloadOutput = "Download output"
expand = "Expand"
retry = "Retry"
[watchedFolders.card]
delete = "Delete folder"
edit = "Edit folder"
[watchedFolders.home]
addAnother = "Add another Watched Folder"
addAnotherDesc = "Automatically process files with a new pipeline"
create = "Create your first Watched Folder"
deleteFolder = "Delete folder"
editFolder = "Edit folder"
empty = "No watched folders yet"
emptyDesc = "Set up a Watched Folder once. Drop PDFs in and they're automatically compressed, OCR'd, split, merged — whatever your pipeline does."
emptyTitle = "Automate your PDF workflows"
file = "file"
files = "files"
pause = "Pause"
resume = "Resume"
[watchedFolders.howItWorks]
step1Desc = "Drag PDFs onto any Watched Folder card — or send them from your file list"
step1Title = "Drop files"
step2Desc = "Your configured tools process each file automatically"
step2Title = "Pipeline runs"
step3Desc = "Download processed files from inside the folder"
step3Title = "Output ready"
title = "How Watched Folders work"
[watchedFolders.modal]
advanced = "Advanced"
automation = "Automation"
automationNameFallback = "Watched Folder automation"
automationRequired = "Add at least one configured step before saving."
autoNumber = "Auto-number"
autoNumberExample = "e.g. document.pdf → document (1).pdf"
autoScanHelp = "New PDF files in this folder are processed automatically every 10 seconds."
changeFolder = "Change"
chooseFolder = "Choose"
clearFolder = "Clear"
color = "Accent colour"
createFolder = "Create Folder"
createTitle = "New Watched Folder"
editTitle = "Edit Watched Folder"
inputFolder = "Input folder"
inputFolderNotChosen = "No folder chosen — required for auto-scan"
inputSource = "Input source"
inputSourceBrowser = "Browser — drop files here"
inputSourceLocal = "Local folder (auto-scan)"
inputSourceLocalUnsupported = "Local folder (auto-scan) — Chrome/Edge only"
localOutputFolder = "Local output folder"
maxRetries = "Max retries"
name = "Folder name"
namePlaceholder = "My Watched Folder"
nameRequired = "Folder name is required"
nameTooLong = "Folder name must be 50 characters or less"
outputFolderNotSet = "Not set — outputs stay in app"
outputFolderUnsupported = "Not supported in this browser"
outputModeNewDesc = "Output is saved as a new separate file"
outputModeVersion = "Replace original?"
outputModeVersionDesc = "Output becomes a new version of the input file rather than a separate file"
outputName = "Output filename prefix"
outputNamePrefix = "Filename prefix"
outputNameSuffix = "Suffix"
positionPrefix = "Prefix"
positionSuffix = "Suffix"
replaceOriginal = "Replace original file"
retryDelay = "Delay (minutes)"
saveChanges = "Save Changes"
saveFailed = "Failed to save folder. Please try again."
sectionFolder = "Folder"
sectionSourceOutput = "Source & Output"
sectionSteps = "Steps"
[watchedFolders.status]
active = "Active"
done = "Done"
paused = "Paused"
processing = "Processing"
[watchedFolders.time]
daysAgo = "{{count}}d ago"
hoursAgo = "{{count}}h ago"
justNow = "just now"
minutesAgo = "{{count}}m ago"
[watchedFolders.workbench]
activity = "Activity"
addFiles = "Add files"
allTime = "All time"
cancel = "Cancel"
chartTooltipComplete = "{{count}} complete"
chartTooltipFailed = "{{count}} failed"
clearSelection = "Clear selection"
countProcessing = "{{count}} processing"
countQueued = "{{count}} queued"
countSelected = "{{count}} selected"
dataSaved = "Saved"
dayRunning = "day running"
daysRunning = "days running"
delete = "Delete"
deleteConfirmBody = "Remove notifications only clears the activity log. Delete outputs also removes the processed files from storage. Your original input files are never touched."
deleteOutputs = "Delete outputs"
directionIn = "in"
directionOut = "out"
dropToProcess = "Drop to process"
export = "Export"
exportSeparately = "Export separately"
exportZip = "Export zip"
failed = "Failed"
filesProcessedOverTime = "Files processed over time"
filterAll = "All"
filterPending = "Pending"
inputs = "Inputs"
inputSize = "Input size"
legendComplete = "Complete"
noActivity = "No activity yet — drop a PDF to start"
noActivityMatch = "No matching activity"
noInputFolder = "No input folder — edit to configure"
outputs = "Outputs"
pause = "Pause"
preview = "Preview"
previewInput = "Preview input"
previewLoadFailed = "Could not load file preview."
previewOutput = "Preview output"
queued = "Queued"
queuedWaiting = "Queued — waiting to run"
removeEntries = "Remove {{count}} entries"
removeEntry = "Remove entry"
removeNotificationsOnly = "Remove notifications only"
resume = "Resume"
retryAll = "Retry all"
retryIn = "retry in {{count}}m"
retryingSoon = "retrying…"
retryMixedConfirm = "Some selected files have already completed and will be skipped. Only failed files will be retried. Continue?"
running = "Running"
search = "Search…"
selectAll = "Select all {{count}}"
sortNameAsc = "A → Z"
sortNameDesc = "Z → A"
sortNewest = "Newest"
sortOldest = "Oldest"
watching = "Watching: {{name}}"
[watermark]
desc = "Add text or image watermarks to PDF files"
submit = "Add Watermark"
tags = "stamp,mark,overlay,watermark,branding,logo,confidential,draft,copyright,trademark,text overlay,image overlay,background text"
title = "Add Watermark"
[watermark.error]
failed = "An error occurred while adding watermark to the PDF."
[watermark.results]
title = "Watermark Results"
[watermark.settings]
alphabet = "Font/Language"
color = "Watermark Colour"
convertToImage = "Flatten PDF pages to images"
opacity = "Opacity (%)"
rotation = "Rotation (degrees)"
size = "Size"
[watermark.settings.image]
choose = "Choose Image"
[watermark.settings.spacing]
height = "Height Spacing"
horizontal = "Horizontal Spacing"
vertical = "Vertical Spacing"
width = "Width Spacing"
[watermark.settings.text]
placeholder = "Enter watermark text"
[watermark.steps]
file = "Watermark File"
formatting = "Formatting"
textStyle = "Style"
type = "Watermark Type"
wording = "Wording"
[watermark.tooltip.appearance]
bullet1 = "Rotation: -360° to 360° for angled watermarks"
bullet2 = "Opacity: 0-100% for transparency control"
bullet3 = "Lower opacity creates subtle watermarks"
text = "Control how your watermark looks and blends with the document."
title = "Appearance Settings"
[watermark.tooltip.file.header]
title = "Image Upload"
[watermark.tooltip.file.recommendations]
bullet1 = "Use logos or stamps with transparent backgrounds"
bullet2 = "Simple designs work better than complex images"
bullet3 = "Consider the final document size when choosing resolution"
text = "Tips for optimal image watermark results."
title = "Best Practices"
[watermark.tooltip.file.upload]
bullet1 = "Supports common formats: PNG, JPG, GIF, BMP"
bullet2 = "PNG with transparency works best"
bullet3 = "Higher resolution images maintain quality better"
text = "Upload an image file to use as your watermark."
title = "Image Selection"
[watermark.tooltip.formatting.header]
title = "Formatting & Layout"
[watermark.tooltip.formatting.security]
bullet1 = "Prevents text selection and copying"
bullet2 = "Makes watermarks harder to remove"
bullet3 = "Results in larger file sizes"
bullet4 = "Best for sensitive or copyrighted content"
text = "Convert the final PDF to an image-based format for enhanced security."
title = "Security Option"
[watermark.tooltip.formatting.size]
bullet1 = "Larger sizes create more prominent watermarks"
text = "Adjust the size of your watermark (text or image)."
title = "Size Control"
[watermark.tooltip.language]
text = "Choose the appropriate language setting to ensure proper font rendering for your text."
title = "Language Support"
[watermark.tooltip.spacing]
bullet1 = "Width spacing: Horizontal distance between watermarks"
bullet2 = "Height spacing: Vertical distance between watermarks"
bullet3 = "Higher values create more spread out patterns"
text = "Adjust the spacing between repeated watermarks across the page."
title = "Spacing Control"
[watermark.tooltip.textStyle.color]
bullet1 = "Light grey (#d3d3d3) for subtle watermarks"
bullet2 = "Black or dark colours for high contrast"
bullet3 = "Custom colours for branding purposes"
text = "Choose a colour that provides good contrast with your document content."
title = "Colour Selection"
[watermark.tooltip.textStyle.header]
title = "Text Style"
[watermark.tooltip.type.description]
text = "Select between text or image watermarks based on your needs."
title = "Choose Your Watermark"
[watermark.tooltip.type.header]
title = "Watermark Type Selection"
[watermark.tooltip.type.image]
bullet1 = "Upload any image format"
bullet2 = "Maintains image quality"
bullet3 = "Perfect for logos and stamps"
text = "Use logos, stamps, or any image as a watermark. Great for branding and visual identification."
title = "Image Watermarks"
[watermark.tooltip.type.text]
bullet1 = "Customisable fonts and languages"
bullet2 = "Adjustable colours and transparency"
bullet3 = "Ideal for legal or branding text"
text = "Perfect for adding copyright notices, company names, or confidentiality labels. Supports multiple languages and custom colours."
title = "Text Watermarks"
[watermark.tooltip.wording.header]
title = "Text Content"
[watermark.tooltip.wording.text]
bullet1 = "Keep it concise for better readability"
bullet2 = "Common examples: 'CONFIDENTIAL', 'DRAFT', company name"
bullet3 = "Emoji characters are not supported and will be filtered out"
text = "Enter the text that will appear as your watermark across the document."
title = "Watermark Text"
[watermark.type]
1 = "Text"
2 = "Image"
[watermark.watermarkType]
image = "Image"
text = "Text"
[wetSignature.tooltip]
header = "Signature Creation Methods"
[wetSignature.tooltip.draw]
bullet1 = "Customise pen colour and thickness"
bullet2 = "Clear and redraw until satisfied"
bullet3 = "Works on touch devices (tablets, phones)"
description = "Create a handwritten signature using your mouse or touchscreen. Best for personal, authentic signatures."
title = "Draw Signature"
[wetSignature.tooltip.type]
bullet1 = "Choose from multiple fonts"
bullet2 = "Customise text size and colour"
bullet3 = "Perfect for standardised signatures"
description = "Generate a signature from typed text. Fast and consistent, suitable for business documents."
title = "Type Signature"
[wetSignature.tooltip.upload]
bullet1 = "Supports PNG, JPG, and other image formats"
bullet2 = "Transparent backgrounds recommended for best results"
bullet3 = "Image will be resized to fit signature area"
description = "Upload a pre-created signature image. Ideal if you have a scanned signature or company logo."
title = "Upload Signature Image"
[workbenchBar]
activeFiles = "Active Files"
annotations = "Annotations"
applyRedactionsFirst = "Apply redactions first"
closeAll = "Close All Files"
closePdf = "Close PDF"
deleteSelected = "Delete Selected Pages"
deselectAll = "Deselect All"
downloadAll = "Download All"
exitRedaction = "Exit Redaction Mode"
exportAll = "Export PDF"
exportSelected = "Export Selected Pages"
formFill = "Fill Form"
multiTool = "Multi-Tool"
panMode = "Pan Mode"
print = "Print PDF"
readAloud = "Read Aloud"
readAloudLanguage = "Language"
readAloudSpeed = "Speed"
redact = "Redact"
rotateLeft = "Rotate Left"
rotateRight = "Rotate Right"
ruler = "Ruler / Measure"
save = "Save"
saveAll = "Save All"
saveAs = "Save As"
saveChanges = "Save Changes"
search = "Search PDF"
selectAll = "Select All"
selectByNumber = "Select by Page Numbers"
selectLanguage = "Select language"
share = "Compartilhar"
toggleAnnotations = "Toggle Annotations Visibility"
toggleAttachments = "Toggle Attachments"
toggleBookmarks = "Toggle Bookmarks"
toggleComments = "Comments"
toggleLayers = "Toggle Layers"
toggleSidebar = "Toggle Sidebar"
viewer = "Viewer"
[workflow.participant]
accessExpired = "Your access to this document has expired."
certificateFile = "Certificate File"
certificateFilePlaceholder = "Select certificate file"
certificatePassword = "Certificate Password"
certificateType = "Certificate Type"
certTypeJks = "JKS Keystore"
certTypeP12 = "P12/PKCS12 Certificate"
certTypeServer = "Server Certificate (if available)"
completedDeclined = "You have declined this document."
completedSigned = "You have signed this document."
decline = "Decline"
downloadDocument = "Download Document"
dueDate = "Due Date: {{date}}"
errorTitle = "Error"
from = "From: {{name}}"
loadingSession = "Loading session..."
location = "Location"
locationPlaceholder = "e.g., San Francisco, CA"
pageNumber = "Page Number (optional)"
reason = "Reason"
reasonPlaceholder = "e.g., Document approval"
sessionNotFound = "Session not found or access denied."
signDocument = "Sign Document"
statusDeclined = "Declined"
statusNotified = "Notified"
statusPending = "Pending"
statusSigned = "Signed"
statusViewed = "Viewed"
submitSignature = "Submit Signature"
[workspace]
title = "Workspace"
[workspace.people]
active = "Active"
activeSession = "Active session"
addMembers = "Add Members"
admin = "Admin"
confirmDelete = "Are you sure you want to delete this user? This action cannot be undone."
confirmUnlock = "Are you sure you want to unlock this user account?"
deleteUser = "Delete User"
deleteUserError = "Failed to delete user"
deleteUserSuccess = "User deleted successfully"
description = "Manage workspace members and their permissions"
disable = "Disable"
disabled = "Disabled"
editRole = "Edit Role"
enable = "Enable"
loading = "Loading people..."
locked = "locked"
lockedBadge = "Locked"
loginRequired = "Enable login mode first"
memberActions = "Ações do membro"
noMembersFound = "No members found"
role = "Role"
searchMembers = "Search members..."
team = "Team"
title = "People"
unlockAccount = "Unlock Account"
unlockUserError = "Failed to unlock user account"
unlockUserSuccess = "User account unlocked successfully"
user = "User"
userInfo = "Informações do usuário"
[workspace.people.actions]
upgrade = "Upgrade"
[workspace.people.addMember]
authType = "Authentication Type"
error = "Failed to create user"
forceMFA = "Force MFA setup on next login"
forcePasswordChange = "Force password change on first login"
password = "Password"
passwordPlaceholder = "Enter password"
passwordRequired = "Password is required"
role = "Role"
submit = "Add Member"
success = "User created successfully"
team = "Team (Optional)"
teamPlaceholder = "Select a team"
username = "Username (Email)"
usernamePlaceholder = "user@example.com"
usernameRequired = "Username and password are required"
[workspace.people.authType]
oauth = "OAuth2"
password = "Password"
saml = "SAML2"
ssoDescription = "User will authenticate via SSO provider"
[workspace.people.changePassword]
action = "Change password"
confirmPassword = "Confirm password"
confirmPlaceholder = "Re-enter the new password"
copiedToClipboard = "Password copied to clipboard"
copyFailed = "Failed to copy password"
copyTooltip = "Copy to clipboard"
emailUnavailable = "This user's email is not a valid email address. Notifications are disabled."
error = "Failed to update password"
forcePasswordChange = "Force user to change password on next login"
generatedPreview = "Generated password:"
generateRandom = "Generate secure password"
includePassword = "Include the new password in the email"
newPassword = "New password"
notifyOnly = "An email will be sent without the password, letting the user know an admin changed it."
passwordMismatch = "Passwords do not match"
passwordRequired = "Please enter a new password"
placeholder = "Enter a new password"
sendEmail = "Email the user about this change"
smtpDisabled = "Email notifications require SMTP to be enabled in settings."
submit = "Update password"
subtitle = "Update the password for"
success = "Password updated successfully"
title = "Change password"
[workspace.people.editMember]
editing = "Editing: <0>{{username}}</0>"
error = "Failed to update user"
role = "Role"
submit = "Update User"
success = "User updated successfully"
team = "Team (Optional)"
teamPlaceholder = "Select a team"
title = "Edit User"
[workspace.people.emailInvite]
allFailed = "Failed to invite users"
emails = "Email Addresses"
emailsPlaceholder = "user1@example.com, user2@example.com"
emailsRequired = "At least one email address is required"
error = "Failed to send invites"
partialFailure = "Some invites failed"
submit = "Send Invites"
success = "user(s) invited successfully"
[workspace.people.inviteLink]
copied = "Link copied to clipboard"
email = "Email Address"
emailDescription = "Optional - leave blank for a general invite link that can be used by anyone"
emailPlaceholder = "user@example.com (optional)"
emailSent = "Invite link generated and sent via email"
error = "Failed to generate invite link"
expiryHours = "Expiry Hours"
generate = "Generate Link"
generated = "Invite Link Generated"
sendEmail = "Send invite link via email"
sendEmailDescription = "If enabled, the invite link will be sent to the specified email address"
submit = "Generate Invite Link"
[workspace.people.inviteMembers]
label = "Invite Members"
subtitle = "Type or paste in emails below, separated by commas. Your workspace will be billed by members."
[workspace.people.inviteMode]
email = "Email"
emailDisabled = "Email invites require SMTP configuration and mail.enableInvites=true in settings"
link = "Link"
username = "Username"
[workspace.people.license]
currentUsage = "Currently using {{current}} of {{max}} user licences"
fromLicense = "from licence"
grandfathered = "Grandfathered"
grandfatheredShort = "{{count}} grandfathered"
slotsAvailable_one = "{{count}} user slot available"
slotsAvailable_other = "{{count}} user slots available"
slotsAvailable_zero = "No slots available"
users_one = "user"
users_other = "users"
[workspace.people.mfa]
adminDisableError = "Failed to disable MFA for user"
adminDisableSuccess = "MFA disabled successfully for user"
disableByAdmin = "Disable MFA"
[workspace.people.roleDescriptions]
admin = "Can manage settings and invite members, with full administrative access."
currentRole = "Função atribuída atualmente."
user = "Can view and edit shared files, but cannot manage workspace settings or users."
[workspace.people.toggleEnabled]
error = "Failed to update user status"
success = "User status updated successfully"
[workspace.teams]
addMember = "Add Member"
backToTeams = "Back to Teams"
cannotAddToInternal = "Cannot add members to the Internal team"
cannotDeleteInternal = "Cannot delete the Internal team"
cannotRenameInternal = "Cannot rename the Internal team"
confirmDelete = "Are you sure you want to delete this team? This team must be empty to delete."
confirmRemove = "Remove user from this team?"
createNewTeam = "Create New Team"
deleteTeamLabel = "Delete Team"
description = "Manage teams and organise workspace members"
loadError = "Failed to load team details"
loading = "Loading teams..."
loadingDetails = "Loading team details..."
memberCount_one = "{{count}} member"
memberCount_other = "{{count}} members"
memberCount_zero = "no members"
noMembers = "No members in this team"
noTeamsFound = "No teams found"
removeMember = "Remove from team"
removeMemberError = "Failed to remove user from team"
removeMemberSuccess = "User removed from team"
renameTeamLabel = "Rename Team"
system = "System"
teamActions = "Ações da equipe"
teamName = "Team Name"
teamNotFound = "Team not found"
title = "Teams"
totalMembers = "Total Members"
viewTeam = "View Team"
[workspace.teams.addMemberToTeam]
addingTo = "Adding to"
currentlyIn = "currently in"
error = "Failed to add member to team"
selectUser = "Select User"
selectUserPlaceholder = "Choose a user"
selectUserRequired = "Please select a user"
submit = "Add Member"
success = "Member added to team successfully"
title = "Add Member to Team"
userRequired = "Please select a user"
willBeMoved = "Note: This user will be moved from their current team to this team."
[workspace.teams.changeTeam]
changing = "Moving"
error = "Failed to change team"
label = "Change Team"
selectTeam = "Select Team"
selectTeamPlaceholder = "Choose a team"
selectTeamRequired = "Please select a team"
submit = "Change Team"
success = "Team changed successfully"
title = "Change Team"
[workspace.teams.createTeam]
error = "Failed to create team"
nameRequired = "Team name is required"
submit = "Create Team"
success = "Team created successfully"
teamName = "Team Name"
teamNamePlaceholder = "Enter team name"
title = "Create New Team"
[workspace.teams.deleteTeam]
error = "Failed to delete team. Make sure the team is empty."
success = "Team deleted successfully"
[workspace.teams.renameTeam]
error = "Failed to rename team"
nameRequired = "Team name is required"
newTeamName = "New Team Name"
newTeamNamePlaceholder = "Enter new team name"
renaming = "Renaming:"
submit = "Rename Team"
success = "Team renamed successfully"
title = "Rename Team"
[zipWarning]
cancel = "Cancel"
confirm = "Extract"
message_one = "This ZIP contains {{count}} file. Extract anyway?"
message_other = "This ZIP contains {{count}} files. Extract anyway?"
title = "Large ZIP File"