mirror of
https://github.com/arsvendg/Stirling-PDF.git
synced 2026-09-13 20:25:28 +02:00
translations (#5469)
# Description of Changes <!-- Please provide a summary of the changes, including: - What was changed - Why the change was made - Any challenges encountered Closes #(issue_number) --> --- ## Checklist ### General - [ ] I have read the [Contribution Guidelines](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/CONTRIBUTING.md) - [ ] I have read the [Stirling-PDF Developer Guide](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/devGuide/DeveloperGuide.md) (if applicable) - [ ] I have read the [How to add new languages to Stirling-PDF](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/devGuide/HowToAddNewLanguage.md) (if applicable) - [ ] I have performed a self-review of my own code - [ ] My changes generate no new warnings ### Documentation - [ ] I have updated relevant docs on [Stirling-PDF's doc repo](https://github.com/Stirling-Tools/Stirling-Tools.github.io/blob/main/docs/) (if functionality has heavily changed) - [ ] I have read the section [Add New Translation Tags](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/devGuide/HowToAddNewLanguage.md#add-new-translation-tags) (for new translation tags only) ### Translations (if applicable) - [ ] I ran [`scripts/counter_translation.py`](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/docs/counter_translation.md) ### UI Changes (if applicable) - [ ] Screenshots or videos demonstrating the UI changes are attached (e.g., as comments or direct attachments in the PR) ### Testing (if applicable) - [ ] I have tested my changes locally. Refer to the [Testing Guide](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/devGuide/DeveloperGuide.md#6-testing) for more details.
This commit is contained in:
@@ -1,8 +1,11 @@
|
||||
unsavedChanges = "Tiene cambios sin guardar en su PDF. ¿Qué le gustaría hacer?"
|
||||
pendingRedactionsTitle = "Censuras sin aplicar"
|
||||
pendingRedactions = "Tienes censuras sin aplicar que se perderán."
|
||||
areYouSure = "¿Seguro que quieres salir?"
|
||||
unsavedChangesTitle = "Cambios sin Guardar"
|
||||
keepWorking = "Seguir trabajando"
|
||||
discardChanges = "Descartar cambios"
|
||||
discardRedactions = "Descartar y salir"
|
||||
applyAndContinue = "Aplicar y continuar"
|
||||
exportAndContinue = "Exportar y continuar"
|
||||
cancel = "Cancelar"
|
||||
@@ -356,7 +359,7 @@ teams = "Equipos"
|
||||
title = "Configuración"
|
||||
systemSettings = "Ajustes del sistema"
|
||||
features = "Funciones"
|
||||
endpoints = "Puntos de conexión"
|
||||
endpoints = "Endpoints"
|
||||
database = "Base de datos"
|
||||
advanced = "Avanzado"
|
||||
|
||||
@@ -364,6 +367,7 @@ advanced = "Avanzado"
|
||||
title = "Seguridad y autenticación"
|
||||
security = "Seguridad"
|
||||
connections = "Conexiones"
|
||||
telegram = "Telegram"
|
||||
|
||||
[settings.licensingAnalytics]
|
||||
title = "Licencias y analítica"
|
||||
@@ -438,25 +442,34 @@ currentVersion = "Versión actual"
|
||||
latestVersion = "Última versión"
|
||||
checkForUpdates = "Buscar actualizaciones"
|
||||
viewDetails = "Ver detalles"
|
||||
serverNeedsUpdate = "El servidor debe ser actualizado por el administrador"
|
||||
|
||||
[settings.general.versionInfo]
|
||||
title = "Información de la versión"
|
||||
description = "Detalles de la versión de escritorio y del servidor"
|
||||
desktop = "Versión de escritorio"
|
||||
server = "Versión del servidor"
|
||||
|
||||
[settings.security]
|
||||
title = "Security"
|
||||
description = "Update your password to keep your account secure."
|
||||
title = "Seguridad"
|
||||
description = "Actualiza tu contraseña para mantener tu cuenta segura."
|
||||
|
||||
[settings.security.password]
|
||||
subtitle = "Change your password. You will be logged out after updating."
|
||||
required = "All fields are required."
|
||||
mismatch = "New passwords do not match."
|
||||
error = "Unable to update password. Please verify your current password and try again."
|
||||
success = "Password updated successfully. Please sign in again."
|
||||
ssoDisabled = "Password changes are managed by your identity provider."
|
||||
current = "Current password"
|
||||
currentPlaceholder = "Enter your current password"
|
||||
new = "New password"
|
||||
newPlaceholder = "Enter a new password"
|
||||
confirm = "Confirm new password"
|
||||
confirmPlaceholder = "Re-enter your new password"
|
||||
update = "Update password"
|
||||
subtitle = "Cambia tu contraseña. Se cerrará tu sesión tras actualizar."
|
||||
required = "Todos los campos son obligatorios."
|
||||
mismatch = "Las contraseñas nuevas no coinciden."
|
||||
error = "No se puede actualizar la contraseña. Verifica tu contraseña actual e inténtalo de nuevo."
|
||||
success = "Contraseña actualizada correctamente. Vuelve a iniciar sesión."
|
||||
ssoDisabled = "Los cambios de contraseña los gestiona tu proveedor de identidad."
|
||||
current = "Contraseña actual"
|
||||
currentPlaceholder = "Introduce tu contraseña actual"
|
||||
new = "Nueva contraseña"
|
||||
newPlaceholder = "Introduce una nueva contraseña"
|
||||
confirm = "Confirmar nueva contraseña"
|
||||
confirmPlaceholder = "Vuelve a introducir tu nueva contraseña"
|
||||
update = "Actualizar contraseña"
|
||||
|
||||
|
||||
|
||||
[settings.hotkeys]
|
||||
title = "Atajos de teclado"
|
||||
@@ -511,16 +524,16 @@ low = "Baja"
|
||||
title = "Cambiar Credenciales"
|
||||
header = "Actualice los detalles de su cuenta"
|
||||
changePassword = "Está usando las credenciales de inicio de sesión por defecto. Por favor, introduzca una contraseña nueva"
|
||||
ssoManaged = "Your account is managed by your identity provider."
|
||||
ssoManaged = "Tu cuenta está gestionada por tu proveedor de identidad."
|
||||
newUsername = "Nuevo usuario"
|
||||
oldPassword = "Contraseña actual"
|
||||
newPassword = "Nueva contraseña"
|
||||
confirmNewPassword = "Confirme la nueva contraseña"
|
||||
submit = "Enviar cambios"
|
||||
credsUpdated = "Account updated"
|
||||
description = "Changes saved. Please log in again."
|
||||
error = "Unable to update username. Please verify your password and try again."
|
||||
changeUsername = "Update your username. You will be logged out after updating."
|
||||
credsUpdated = "Cuenta actualizada"
|
||||
description = "Cambios guardados. Vuelve a iniciar sesión."
|
||||
error = "No se pudo actualizar el nombre de usuario. Verifica tu contraseña e inténtalo de nuevo."
|
||||
changeUsername = "Actualiza tu nombre de usuario. Se cerrará tu sesión tras actualizar."
|
||||
|
||||
[account]
|
||||
title = "Configuración de la cuenta"
|
||||
@@ -528,6 +541,8 @@ accountSettings = "Configuración de la cuenta"
|
||||
adminSettings = "Configuración de Administrador - Ver y Añadir Usuarios"
|
||||
userControlSettings = "Configuración de control de usuario"
|
||||
changeUsername = "Cambiar nombre de usuario"
|
||||
changeUsernameDescription = "Actualiza tu nombre de usuario. Se cerrará tu sesión tras actualizar."
|
||||
newUsernamePlaceholder = "Introduce tu nuevo nombre de usuario"
|
||||
newUsername = "nuevo nombre de usuario"
|
||||
password = "Confirmar contraseña"
|
||||
oldPassword = "Contraseña anterior"
|
||||
@@ -737,9 +752,9 @@ title = "Firmar"
|
||||
desc = "Añadir firma a PDF mediante dibujo, texto o imagen"
|
||||
|
||||
[home.annotate]
|
||||
tags = "annotate,highlight,draw"
|
||||
title = "Annotate"
|
||||
desc = "Highlight, draw, add notes and shapes in the viewer"
|
||||
tags = "anotar,resaltar,dibujar"
|
||||
title = "Anotar"
|
||||
desc = "Resalta, dibuja y añade notas y formas en el visor"
|
||||
|
||||
[home.flatten]
|
||||
tags = "simplificar,eliminar,interactivo"
|
||||
@@ -951,8 +966,8 @@ desc = "Superponer PDFs encima de otro PDF"
|
||||
title = "Superponer PDFs"
|
||||
|
||||
[home.pdfTextEditor]
|
||||
title = "Editor de texto de PDF"
|
||||
desc = "Edita texto e imágenes existentes dentro de archivos PDF"
|
||||
title = "Editor de texto PDF"
|
||||
desc = "Revise y edite exportaciones JSON de Stirling PDF con edición de texto agrupada y regeneración de PDF"
|
||||
|
||||
[home.addText]
|
||||
tags = "texto,anotación,etiqueta"
|
||||
@@ -963,6 +978,7 @@ desc = "Añada texto personalizado en cualquier parte del PDF"
|
||||
addFiles = "Agregar Archivos"
|
||||
uploadFromComputer = "Cargar desde el ordenador"
|
||||
openFromComputer = "Abrir desde el ordenador"
|
||||
mobileUpload = "Subir desde el móvil"
|
||||
|
||||
[viewPdf]
|
||||
tags = "ver,leer,anotar,texto,imagen"
|
||||
@@ -1278,21 +1294,33 @@ cbzOptions = "Opciones de CBZ a PDF"
|
||||
optimizeForEbook = "Optimizar PDF para lectores de libros electrónicos (usa Ghostscript)"
|
||||
cbzOutputOptions = "Opciones de PDF a CBZ"
|
||||
cbzDpi = "DPI para renderizado de imágenes"
|
||||
cbrOptions = "CBR Options"
|
||||
cbrOutputOptions = "PDF to CBR Options"
|
||||
cbrDpi = "DPI for image rendering"
|
||||
cbrOptions = "Opciones de CBR"
|
||||
cbrOutputOptions = "Opciones de PDF a CBR"
|
||||
cbrDpi = "DPI para el renderizado de imágenes"
|
||||
|
||||
[convert.ebookOptions]
|
||||
ebookOptions = "eBook to PDF Options"
|
||||
ebookOptionsDesc = "Options for converting eBooks to PDF"
|
||||
embedAllFonts = "Embed all fonts"
|
||||
embedAllFontsDesc = "Embed all fonts from the eBook into the generated PDF"
|
||||
includeTableOfContents = "Include table of contents"
|
||||
includeTableOfContentsDesc = "Add a generated table of contents to the resulting PDF"
|
||||
includePageNumbers = "Include page numbers"
|
||||
includePageNumbersDesc = "Add page numbers to the generated PDF"
|
||||
optimizeForEbookPdf = "Optimize for ebook readers"
|
||||
optimizeForEbookPdfDesc = "Optimize the PDF for eBook reading (smaller file size, better rendering on eInk devices)"
|
||||
ebookOptions = "Opciones de eBook a PDF"
|
||||
ebookOptionsDesc = "Opciones para convertir eBooks a PDF"
|
||||
embedAllFonts = "Incrustar todas las fuentes"
|
||||
embedAllFontsDesc = "Incrustar todas las fuentes del eBook en el PDF generado"
|
||||
includeTableOfContents = "Incluir tabla de contenidos"
|
||||
includeTableOfContentsDesc = "Añadir una tabla de contenidos generada al PDF resultante"
|
||||
includePageNumbers = "Incluir números de página"
|
||||
includePageNumbersDesc = "Añadir números de página al PDF generado"
|
||||
optimizeForEbookPdf = "Optimizar para lectores de eBook"
|
||||
optimizeForEbookPdfDesc = "Optimizar el PDF para lectura en eBook (tamaño de archivo menor, mejor renderizado en dispositivos eInk)"
|
||||
|
||||
[convert.epubOptions]
|
||||
epubOptions = "Opciones de PDF a eBook"
|
||||
epubOptionsDesc = "Opciones para convertir PDF a EPUB/AZW3"
|
||||
detectChapters = "Detectar capítulos"
|
||||
detectChaptersDesc = "Detectar encabezados que parezcan capítulos e insertar saltos de página EPUB"
|
||||
targetDevice = "Dispositivo de destino"
|
||||
targetDeviceDesc = "Elige un perfil de salida optimizado para el dispositivo lector"
|
||||
outputFormat = "Formato de salida"
|
||||
outputFormatDesc = "Elige el formato de salida para el eBook"
|
||||
tabletPhone = "Tableta/Teléfono (con imágenes)"
|
||||
kindleEink = "Kindle e-Ink (texto optimizado)"
|
||||
|
||||
[imageToPdf]
|
||||
tags = "conversión,img,jpg,imagen,fotografía"
|
||||
@@ -1409,11 +1437,11 @@ header = "Add attachments"
|
||||
add = "Añadir archivo adjunto"
|
||||
remove = "Eliminar archivo adjunto"
|
||||
embed = "Incrustar archivo adjunto"
|
||||
convertToPdfA3b = "Convert to PDF/A-3b"
|
||||
convertToPdfA3bDescription = "Creates an archival PDF with embedded attachments"
|
||||
convertToPdfA3bTooltip = "PDF/A-3b is an archival format ensuring long-term preservation. It allows embedding arbitrary file formats as attachments. Conversion requires Ghostscript and may take longer for large files."
|
||||
convertToPdfA3bTooltipHeader = "About PDF/A-3b Conversion"
|
||||
convertToPdfA3bTooltipTitle = "What it does"
|
||||
convertToPdfA3b = "Convertir a PDF/A-3b"
|
||||
convertToPdfA3bDescription = "Crea un PDF para archivo con adjuntos incrustados"
|
||||
convertToPdfA3bTooltip = "PDF/A-3b es un formato para archivo que garantiza la preservación a largo plazo. Permite incrustar formatos de archivo arbitrarios como adjuntos. La conversión requiere Ghostscript y puede tardar más en archivos grandes."
|
||||
convertToPdfA3bTooltipHeader = "Acerca de la conversión a PDF/A-3b"
|
||||
convertToPdfA3bTooltipTitle = "Qué hace"
|
||||
submit = "Add attachments"
|
||||
|
||||
[watermark]
|
||||
@@ -2359,10 +2387,10 @@ saved = "Guardadas"
|
||||
label = "Cargar imagen de firma"
|
||||
placeholder = "Seleccionar archivo de imagen"
|
||||
hint = "Cargue una imagen PNG o JPG de su firma"
|
||||
removeBackground = "Remove white background (make transparent)"
|
||||
processing = "Processing image..."
|
||||
backgroundRemovalFailedTitle = "Background removal failed"
|
||||
backgroundRemovalFailedMessage = "Could not remove the background from the image. Using original image instead."
|
||||
removeBackground = "Eliminar fondo blanco (hacer transparente)"
|
||||
processing = "Procesando imagen..."
|
||||
backgroundRemovalFailedTitle = "Error al eliminar el fondo"
|
||||
backgroundRemovalFailedMessage = "No se pudo eliminar el fondo de la imagen. Se usará la imagen original."
|
||||
|
||||
[sign.instructions]
|
||||
title = "Cómo añadir firma"
|
||||
@@ -2409,9 +2437,9 @@ label = "Aplanar solo formularios"
|
||||
desc = "Solo aplanar campos de formulario, dejando intactos otros elementos interactivos"
|
||||
|
||||
[flatten.renderDpi]
|
||||
label = "Rendering DPI (optional, recommended 150 DPI)"
|
||||
help = "Leave blank to use the system default. Higher DPI sharpens output but increases processing time and file size."
|
||||
placeholder = "e.g. 150"
|
||||
label = "DPI de renderizado (opcional, recomendado 150 DPI)"
|
||||
help = "Deja en blanco para usar el valor predeterminado del sistema. Un DPI más alto afila la salida pero aumenta el tiempo de procesamiento y el tamaño del archivo."
|
||||
placeholder = "p. ej. 150"
|
||||
|
||||
[flatten.results]
|
||||
title = "Resultados de Aplanado"
|
||||
@@ -2987,7 +3015,7 @@ header = "Recortar PDF"
|
||||
submit = "Entregar"
|
||||
noFileSelected = "Seleccione un archivo PDF para comenzar a recortar"
|
||||
reset = "Restablecer a PDF completo"
|
||||
autoCrop = "Auto-crop whitespace"
|
||||
autoCrop = "Recortar automáticamente espacios en blanco"
|
||||
|
||||
[crop.preview]
|
||||
title = "Selección de Área de Recorte"
|
||||
@@ -3218,6 +3246,7 @@ title = "Método de Censura"
|
||||
mode = "Modo"
|
||||
automatic = "Automático"
|
||||
automaticDesc = "Censurar texto basándose en términos de búsqueda"
|
||||
automaticDisabledTooltip = "Selecciona archivos en el gestor de archivos para censurar varios archivos a la vez"
|
||||
manual = "Manual"
|
||||
manualDesc = "Haga clic y arrastre para censurar áreas específicas"
|
||||
manualComingSoon = "Censura manual próximamente"
|
||||
@@ -3288,8 +3317,35 @@ text = "Solo coincide palabras completas, no coincidencias parciales. 'Juan' no
|
||||
title = "Convertir a PDF-Imagen"
|
||||
text = "Convierte el PDF a un PDF basado en imagen después de la censura. Esto asegura que el texto detrás de las cajas de censura se elimine completamente y sea irrecuperable."
|
||||
|
||||
[redact.tooltip.manual.header]
|
||||
title = "Controles de censura manual"
|
||||
|
||||
[redact.tooltip.manual.markText]
|
||||
title = "Herramienta Marcar texto"
|
||||
text = "Selecciona texto directamente en el PDF para marcarlo para censura. Haz clic y arrastra para resaltar el texto específico que quieres censurar."
|
||||
|
||||
[redact.tooltip.manual.markArea]
|
||||
title = "Herramienta Marcar área"
|
||||
text = "Dibuja áreas rectangulares en el PDF para marcar regiones para censura. Útil para censurar imágenes, firmas o formas irregulares."
|
||||
|
||||
[redact.tooltip.manual.apply]
|
||||
title = "Aplicar censuras"
|
||||
text = "Tras marcar contenido, haz clic en 'Aplicar' para censurar permanentemente todas las áreas marcadas. El contador de pendientes muestra cuántas censuras están listas para aplicar."
|
||||
bullet1 = "Marca tantas áreas como necesites antes de aplicar"
|
||||
bullet2 = "Todas las censuras pendientes se aplican a la vez"
|
||||
bullet3 = "Las censuras no se pueden deshacer tras aplicarlas"
|
||||
|
||||
[redact.manual]
|
||||
title = "Herramientas de censura"
|
||||
instructions = "Selecciona texto o dibuja áreas en el PDF para marcar contenido para censura."
|
||||
markText = "Marcar texto"
|
||||
markArea = "Marcar área"
|
||||
pendingLabel = "Pendientes:"
|
||||
applyWarning = "⚠️ Aplicación permanente, no se puede deshacer y los datos subyacentes se eliminarán"
|
||||
apply = "Aplicar"
|
||||
noMarks = "No hay marcas de censura. Usa las herramientas de arriba para marcar contenido para censura."
|
||||
header = "Censura Manual"
|
||||
controlsTitle = "Controles de censura manual"
|
||||
textBasedRedaction = "Censura Basada en Texto"
|
||||
pageBasedRedaction = "Censura Basada en Páginas"
|
||||
convertPDFToImageLabel = "Convertir PDF a PDF-Imagen (Usado para eliminar texto detrás de la caja)"
|
||||
@@ -3406,17 +3462,17 @@ label = "Divisiones Verticales"
|
||||
placeholder = "Introduzca el número de divisiones verticales"
|
||||
|
||||
[split-by-sections.splitMode]
|
||||
label = "Split Mode"
|
||||
description = "Choose how to split the pages"
|
||||
splitAll = "Split all pages"
|
||||
splitAllExceptFirst = "Split all except first"
|
||||
splitAllExceptLast = "Split all except last"
|
||||
splitAllExceptFirstAndLast = "Split all except first and last"
|
||||
custom = "Custom pages"
|
||||
label = "Modo de división"
|
||||
description = "Elige cómo dividir las páginas"
|
||||
splitAll = "Dividir todas las páginas"
|
||||
splitAllExceptFirst = "Dividir todas excepto la primera"
|
||||
splitAllExceptLast = "Dividir todas excepto la última"
|
||||
splitAllExceptFirstAndLast = "Dividir todas excepto la primera y la última"
|
||||
custom = "Páginas personalizadas"
|
||||
|
||||
[split-by-sections.customPages]
|
||||
label = "Custom Page Numbers"
|
||||
placeholder = "e.g. 2,4,6"
|
||||
label = "Números de página personalizados"
|
||||
placeholder = "p. ej. 2,4,6"
|
||||
|
||||
[AddStampRequest]
|
||||
tags = "Sello, Añadir imagen, centrar imagen, Marca de agua, PDF, Incrustar, Personalizar"
|
||||
@@ -3780,17 +3836,17 @@ filesize = "Tamaño de archivo"
|
||||
label = "Aplicar escala de grises para compresión"
|
||||
|
||||
[compress.linearize]
|
||||
label = "Linearize PDF for fast web viewing"
|
||||
label = "Linealizar PDF para visualización web rápida"
|
||||
|
||||
[compress.lineArt]
|
||||
label = "Convert images to line art"
|
||||
description = "Uses ImageMagick to reduce pages to high-contrast black and white for maximum size reduction."
|
||||
unavailable = "ImageMagick is not installed or enabled on this server"
|
||||
detailLevel = "Detail level"
|
||||
edgeEmphasis = "Edge emphasis"
|
||||
edgeLow = "Gentle"
|
||||
edgeMedium = "Balanced"
|
||||
edgeHigh = "Strong"
|
||||
label = "Convertir imágenes a arte lineal"
|
||||
description = "Usa ImageMagick para reducir las páginas a blanco y negro de alto contraste para una máxima reducción de tamaño."
|
||||
unavailable = "ImageMagick no está instalado o habilitado en este servidor"
|
||||
detailLevel = "Nivel de detalle"
|
||||
edgeEmphasis = "Énfasis de bordes"
|
||||
edgeLow = "Suave"
|
||||
edgeMedium = "Equilibrado"
|
||||
edgeHigh = "Fuerte"
|
||||
|
||||
[compress.tooltip.header]
|
||||
title = "Resumen de Configuración de Compresión"
|
||||
@@ -3810,8 +3866,8 @@ title = "Escala de Grises"
|
||||
text = "Seleccione esta opción para convertir todas las imágenes a blanco y negro, lo que puede reducir significativamente el tamaño del archivo, especialmente para PDFs escaneados o documentos con muchas imágenes."
|
||||
|
||||
[compress.tooltip.lineArt]
|
||||
title = "Line Art"
|
||||
text = "Convert pages to high-contrast black and white using ImageMagick. Use detail level to control how much content becomes black, and edge emphasis to control how aggressively edges are detected."
|
||||
title = "Arte lineal"
|
||||
text = "Convierte las páginas a blanco y negro de alto contraste usando ImageMagick. Usa el nivel de detalle para controlar cuánto contenido se vuelve negro y el énfasis de bordes para controlar cuán agresivamente se detectan los bordes."
|
||||
|
||||
[compress.error]
|
||||
failed = "Ocurrió un error al comprimir el PDF."
|
||||
@@ -3826,9 +3882,9 @@ _value = "Configuración de Compresión"
|
||||
1 = "1-3 compresión PDF,</br> 4-6 compresión de imagen suave,</br> 7-9 compresión de imágenes intensa reducirá drásticamente la calidad de imagen"
|
||||
|
||||
[compress.compressionLevel]
|
||||
range1to3 = "Lower values preserve quality but result in larger files"
|
||||
range4to6 = "Medium compression with moderate quality reduction"
|
||||
range7to9 = "Higher values reduce file size significantly but may reduce image clarity"
|
||||
range1to3 = "Valores bajos preservan la calidad pero generan archivos más grandes"
|
||||
range4to6 = "Compresión media con reducción moderada de calidad"
|
||||
range7to9 = "Valores altos reducen significativamente el tamaño pero pueden disminuir la claridad de las imágenes"
|
||||
|
||||
[decrypt]
|
||||
passwordPrompt = "Este archivo está protegido con contraseña. Por favor, introduzca la contraseña:"
|
||||
@@ -4069,7 +4125,7 @@ deleteSelected = "Eliminar Páginas Seleccionadas"
|
||||
closePdf = "Cerrar PDF"
|
||||
exportAll = "Exportar PDF"
|
||||
downloadSelected = "Descargar Archivos Seleccionados"
|
||||
annotations = "Annotations"
|
||||
annotations = "Anotaciones"
|
||||
exportSelected = "Exportar páginas seleccionadas"
|
||||
saveChanges = "Guardar cambios"
|
||||
toggleTheme = "Alternar Tema"
|
||||
@@ -4077,84 +4133,90 @@ language = "Idioma"
|
||||
toggleAnnotations = "Mostrar/ocultar anotaciones"
|
||||
search = "Buscar en PDF"
|
||||
panMode = "Modo de Desplazamiento"
|
||||
applyRedactionsFirst = "Aplica primero las censuras"
|
||||
rotateLeft = "Rotar a la Izquierda"
|
||||
rotateRight = "Rotar a la Derecha"
|
||||
toggleSidebar = "Alternar Barra Lateral"
|
||||
toggleBookmarks = "Mostrar/ocultar marcadores"
|
||||
print = "Imprimir PDF"
|
||||
draw = "Dibujar"
|
||||
redact = "Censurar"
|
||||
exitRedaction = "Salir del modo de censura"
|
||||
save = "Guardar"
|
||||
downloadAll = "Descargar Todo"
|
||||
saveAll = "Guardar todo"
|
||||
|
||||
[textAlign]
|
||||
left = "Left"
|
||||
center = "Center"
|
||||
right = "Right"
|
||||
left = "Izquierda"
|
||||
center = "Centrado"
|
||||
right = "Derecha"
|
||||
|
||||
[annotation]
|
||||
title = "Annotate"
|
||||
desc = "Use highlight, pen, text, and notes. Changes stay live—no flattening required."
|
||||
highlight = "Highlight"
|
||||
pen = "Pen"
|
||||
text = "Text box"
|
||||
note = "Note"
|
||||
rectangle = "Rectangle"
|
||||
ellipse = "Ellipse"
|
||||
select = "Select"
|
||||
exit = "Exit annotation mode"
|
||||
strokeWidth = "Width"
|
||||
opacity = "Opacity"
|
||||
strokeOpacity = "Stroke Opacity"
|
||||
fillOpacity = "Fill Opacity"
|
||||
fontSize = "Font size"
|
||||
chooseColor = "Choose colour"
|
||||
color = "Colour"
|
||||
strokeColor = "Stroke Colour"
|
||||
fillColor = "Fill Colour"
|
||||
underline = "Underline"
|
||||
strikeout = "Strikeout"
|
||||
squiggly = "Squiggly"
|
||||
inkHighlighter = "Freehand Highlighter"
|
||||
freehandHighlighter = "Freehand Highlighter"
|
||||
square = "Square"
|
||||
circle = "Circle"
|
||||
polygon = "Polygon"
|
||||
line = "Line"
|
||||
stamp = "Add Image"
|
||||
textMarkup = "Text Markup"
|
||||
drawing = "Drawing"
|
||||
shapes = "Shapes"
|
||||
notesStamps = "Notes & Stamps"
|
||||
settings = "Settings"
|
||||
borderOn = "Border: On"
|
||||
borderOff = "Border: Off"
|
||||
editInk = "Edit Pen"
|
||||
editLine = "Edit Line"
|
||||
editNote = "Edit Note"
|
||||
editText = "Edit Text Box"
|
||||
editTextMarkup = "Edit Text Markup"
|
||||
editSelected = "Edit Annotation"
|
||||
editSquare = "Edit Square"
|
||||
editCircle = "Edit Circle"
|
||||
editPolygon = "Edit Polygon"
|
||||
unsupportedType = "This annotation type is not fully supported for editing."
|
||||
textAlignment = "Text Alignment"
|
||||
noteIcon = "Note Icon"
|
||||
imagePreview = "Preview"
|
||||
contents = "Text"
|
||||
backgroundColor = "Background colour"
|
||||
clearBackground = "Remove background"
|
||||
noBackground = "No background"
|
||||
stampSettings = "Stamp Settings"
|
||||
savingCopy = "Preparing download..."
|
||||
saveFailed = "Unable to save copy"
|
||||
saveReady = "Download ready"
|
||||
selectAndMove = "Select and Edit"
|
||||
editSelectDescription = "Click an existing annotation to edit its colour, opacity, text, or size."
|
||||
editStampHint = "To change the image, delete this stamp and add a new one."
|
||||
editSwitchToSelect = "Switch to Select & Edit to edit this annotation."
|
||||
undo = "Undo"
|
||||
redo = "Redo"
|
||||
applyChanges = "Apply Changes"
|
||||
title = "Anotar"
|
||||
desc = "Usa resaltado, lápiz, texto y notas. Los cambios permanecen activos: no es necesario aplanar."
|
||||
highlight = "Resaltar"
|
||||
pen = "Lápiz"
|
||||
text = "Cuadro de texto"
|
||||
note = "Nota"
|
||||
rectangle = "Rectángulo"
|
||||
ellipse = "Elipse"
|
||||
select = "Seleccionar"
|
||||
exit = "Salir del modo de anotación"
|
||||
strokeWidth = "Grosor"
|
||||
opacity = "Opacidad"
|
||||
strokeOpacity = "Opacidad del trazo"
|
||||
fillOpacity = "Opacidad del relleno"
|
||||
fontSize = "Tamaño de fuente"
|
||||
chooseColor = "Elegir color"
|
||||
color = "Color"
|
||||
strokeColor = "Color del trazo"
|
||||
fillColor = "Color de relleno"
|
||||
underline = "Subrayado"
|
||||
strikeout = "Tachado"
|
||||
squiggly = "Ondulado"
|
||||
inkHighlighter = "Resaltador a mano alzada"
|
||||
freehandHighlighter = "Resaltador a mano alzada"
|
||||
square = "Cuadrado"
|
||||
circle = "Círculo"
|
||||
polygon = "Polígono"
|
||||
line = "Línea"
|
||||
stamp = "Añadir imagen"
|
||||
textMarkup = "Marcado de texto"
|
||||
drawing = "Dibujo"
|
||||
shapes = "Formas"
|
||||
notesStamps = "Notas y sellos"
|
||||
settings = "Ajustes"
|
||||
borderOn = "Borde: Activado"
|
||||
borderOff = "Borde: Desactivado"
|
||||
editInk = "Editar lápiz"
|
||||
editLine = "Editar línea"
|
||||
editNote = "Editar nota"
|
||||
editText = "Editar cuadro de texto"
|
||||
editTextMarkup = "Editar marcado de texto"
|
||||
editSelected = "Editar anotación"
|
||||
editSquare = "Editar cuadrado"
|
||||
editCircle = "Editar círculo"
|
||||
editPolygon = "Editar polígono"
|
||||
unsupportedType = "Este tipo de anotación no es totalmente compatible con la edición."
|
||||
textAlignment = "Alineación del texto"
|
||||
noteIcon = "Icono de nota"
|
||||
imagePreview = "Vista previa"
|
||||
contents = "Texto"
|
||||
backgroundColor = "Color de fondo"
|
||||
clearBackground = "Eliminar fondo"
|
||||
noBackground = "Sin fondo"
|
||||
stampSettings = "Ajustes del sello"
|
||||
savingCopy = "Preparando descarga..."
|
||||
saveFailed = "No se pudo guardar la copia"
|
||||
saveReady = "Descarga lista"
|
||||
selectAndMove = "Seleccionar y editar"
|
||||
editSelectDescription = "Haz clic en una anotación existente para editar su color, opacidad, texto o tamaño."
|
||||
editStampHint = "Para cambiar la imagen, elimina este sello y añade uno nuevo."
|
||||
editSwitchToSelect = "Cambia a Seleccionar y Editar para editar esta anotación."
|
||||
undo = "Deshacer"
|
||||
redo = "Rehacer"
|
||||
applyChanges = "Aplicar cambios"
|
||||
saveChanges = "Guardar cambios"
|
||||
|
||||
[search]
|
||||
title = "Buscar PDF"
|
||||
@@ -4205,20 +4267,20 @@ settings = "Ajustes"
|
||||
adminSettings = "Ajustes admin"
|
||||
allTools = "Herram."
|
||||
reader = "Lector"
|
||||
tours = "Tours"
|
||||
showMeAround = "Show me around"
|
||||
tours = "Recorridos"
|
||||
showMeAround = "Muéstrame cómo funciona"
|
||||
|
||||
[quickAccess.toursTooltip]
|
||||
admin = "Watch walkthroughs here: Tools tour, New V2 layout tour, and the Admin tour."
|
||||
user = "Watch walkthroughs here: Tools tour and the New V2 layout tour."
|
||||
admin = "Mira los recorridos aquí: Recorrido de Herramientas, del nuevo diseño V2 y de Administración."
|
||||
user = "Mira los recorridos aquí: Recorrido de Herramientas y del nuevo diseño V2."
|
||||
|
||||
[quickAccess.helpMenu]
|
||||
toolsTour = "Recorrido por las herramientas"
|
||||
toolsTourDesc = "Descubre lo que pueden hacer las herramientas"
|
||||
adminTour = "Recorrido de administración"
|
||||
adminTourDesc = "Explora la configuración y las funciones de administración"
|
||||
whatsNewTour = "See what's new in V2"
|
||||
whatsNewTourDesc = "Tour the updated layout"
|
||||
whatsNewTour = "Ver qué hay de nuevo en V2"
|
||||
whatsNewTourDesc = "Recorre el diseño actualizado"
|
||||
|
||||
[admin]
|
||||
error = "Error"
|
||||
@@ -4237,6 +4299,8 @@ fetchError = "Error al cargar la configuración"
|
||||
saveError = "Error al guardar la configuración"
|
||||
saved = "Configuración guardada correctamente"
|
||||
saveSuccess = "Configuración guardada correctamente"
|
||||
success = "Ajustes guardados correctamente"
|
||||
error = "Error al guardar los ajustes"
|
||||
save = "Guardar cambios"
|
||||
discard = "Descartar"
|
||||
restartRequired = "Se requiere reiniciar"
|
||||
@@ -4360,6 +4424,13 @@ description = "Ruta al ejecutable de WeasyPrint para la conversión de HTML a PD
|
||||
label = "Ejecutable de Unoconvert"
|
||||
description = "Ruta a LibreOffice unoconvert para conversiones de documentos (dejar vacío para el valor predeterminado: /opt/venv/bin/unoconvert)"
|
||||
|
||||
[admin.settings.general.frontendUrl]
|
||||
label = "Frontend URL"
|
||||
description = "URL base para el frontend (p. ej., https://pdf.example.com). Se usa para enlaces de invitación por correo y subidas por código QR desde el móvil. Déjalo vacío para usar la URL del backend."
|
||||
|
||||
[admin.settings.badge]
|
||||
clickToUpgrade = "Haz clic para ver los detalles del plan"
|
||||
|
||||
[admin.settings.security]
|
||||
title = "Seguridad"
|
||||
description = "Configura autenticación, comportamiento de inicio de sesión y políticas de seguridad."
|
||||
@@ -4496,6 +4567,19 @@ connect = "Conectar"
|
||||
disconnect = "Desconectar"
|
||||
disconnected = "Proveedor desconectado correctamente"
|
||||
disconnectError = "No se pudo desconectar el proveedor"
|
||||
mobileScannerConvertToPdf = "Convertir imágenes a PDF"
|
||||
mobileScannerConvertToPdfDesc = "Convertir automáticamente las imágenes subidas a formato PDF. Si se desactiva, las imágenes se conservarán tal cual."
|
||||
mobileScannerImageResolution = "Resolución de imagen"
|
||||
mobileScannerImageResolutionDesc = "Resolución de las imágenes subidas. \"Reducida\" escala las imágenes a un máximo de 1200px para reducir el tamaño del archivo."
|
||||
imageResolutionFull = "Completa (tamaño original)"
|
||||
imageResolutionReduced = "Reducida (máx. 1200px)"
|
||||
mobileScannerPageFormat = "Formato de página"
|
||||
mobileScannerPageFormatDesc = "Tamaño de página del PDF para imágenes convertidas. \"Mantener\" usa las dimensiones originales de la imagen."
|
||||
pageFormatKeep = "Mantener (dimensiones originales)"
|
||||
pageFormatA4 = "A4 (210×297mm)"
|
||||
pageFormatLetter = "Letter (8.5×11in)"
|
||||
mobileScannerStretchToFit = "Ajustar para encajar"
|
||||
mobileScannerStretchToFitDesc = "Estirar las imágenes para llenar toda la página. Si se desactiva, las imágenes se centran preservando la relación de aspecto."
|
||||
|
||||
[admin.settings.connections.ssoAutoLogin]
|
||||
label = "Inicio de sesión automático SSO"
|
||||
@@ -4564,6 +4648,122 @@ description = "Crear cuentas de usuario automáticamente en el primer inicio de
|
||||
label = "Bloquear el registro"
|
||||
description = "Evitar el registro de nuevos usuarios mediante SAML2"
|
||||
|
||||
[admin.settings.connections.mobileScanner]
|
||||
label = "Subida desde teléfono móvil"
|
||||
enable = "Habilitar subida por código QR"
|
||||
description = "Permitir que los usuarios suban archivos desde dispositivos móviles escaneando un código QR"
|
||||
note = "Nota: Requiere configurar la Frontend URL. "
|
||||
link = "Configurar en Ajustes del sistema"
|
||||
mobileScannerConvertToPdf = "Convertir imágenes a PDF"
|
||||
mobileScannerConvertToPdfDesc = "Convertir automáticamente las imágenes subidas a formato PDF. Si se desactiva, las imágenes se conservarán tal cual."
|
||||
mobileScannerImageResolution = "Resolución de imagen"
|
||||
mobileScannerImageResolutionDesc = "Resolución de las imágenes subidas. \"Reducida\" escala las imágenes a un máximo de 1200px para reducir el tamaño del archivo."
|
||||
imageResolutionFull = "Completa (tamaño original)"
|
||||
imageResolutionReduced = "Reducida (máx. 1200px)"
|
||||
mobileScannerPageFormat = "Formato de página"
|
||||
mobileScannerPageFormatDesc = "Tamaño de página del PDF para imágenes convertidas. \"Mantener\" usa las dimensiones originales de la imagen."
|
||||
pageFormatKeep = "Mantener (dimensiones originales)"
|
||||
pageFormatA4 = "A4 (210×297mm)"
|
||||
pageFormatLetter = "Letter (8.5×11in)"
|
||||
mobileScannerStretchToFit = "Ajustar para encajar"
|
||||
mobileScannerStretchToFitDesc = "Estirar las imágenes para llenar toda la página. Si se desactiva, las imágenes se centran preservando la relación de aspecto."
|
||||
|
||||
[admin.settings.telegram]
|
||||
title = "Bot de Telegram"
|
||||
description = "Configura la conectividad del bot de Telegram, controles de acceso y comportamiento de retroalimentación."
|
||||
|
||||
[admin.settings.telegram.enabled]
|
||||
label = "Habilitar bot de Telegram"
|
||||
description = "Permite a los usuarios interactuar con Stirling PDF a través de tu bot de Telegram configurado."
|
||||
|
||||
[admin.settings.telegram.botUsername]
|
||||
label = "Nombre de usuario del bot"
|
||||
description = "El nombre de usuario público de tu bot de Telegram."
|
||||
|
||||
[admin.settings.telegram.botToken]
|
||||
label = "Bot Token"
|
||||
description = "Token de API proporcionado por BotFather para tu bot de Telegram."
|
||||
|
||||
[admin.settings.telegram.pipelineInboxFolder]
|
||||
label = "Carpeta de entrada"
|
||||
description = "Carpeta bajo el directorio de pipeline donde se almacenan los archivos entrantes de Telegram."
|
||||
|
||||
[admin.settings.telegram.customFolderSuffix]
|
||||
label = "Usar sufijo de carpeta personalizado"
|
||||
description = "Agregar el ID del chat a las carpetas de archivos entrantes para aislar subidas por chat."
|
||||
|
||||
[admin.settings.telegram.accessControl]
|
||||
title = "Control de acceso"
|
||||
description = "Restringe qué usuarios o canales pueden interactuar con el bot."
|
||||
|
||||
[admin.settings.telegram.enableAllowUserIDs]
|
||||
label = "Permitir ID de usuario específicos"
|
||||
description = "Cuando está habilitado, solo los ID de usuario listados pueden usar el bot."
|
||||
|
||||
[admin.settings.telegram.allowUserIDs]
|
||||
label = "ID de usuario permitidos"
|
||||
description = "Introduce los ID de usuario de Telegram permitidos para interactuar con el bot."
|
||||
placeholder = "Añade el ID de usuario y pulsa Enter"
|
||||
|
||||
[admin.settings.telegram.enableAllowChannelIDs]
|
||||
label = "Permitir ID de canal específicos"
|
||||
description = "Cuando está habilitado, solo los ID de canal listados pueden usar el bot."
|
||||
|
||||
[admin.settings.telegram.allowChannelIDs]
|
||||
label = "ID de canal permitidos"
|
||||
description = "Introduce los ID de canal de Telegram permitidos para interactuar con el bot."
|
||||
placeholder = "Añade el ID de canal y pulsa Enter"
|
||||
|
||||
[admin.settings.telegram.processing]
|
||||
title = "Procesamiento"
|
||||
description = "Controla los intervalos de sondeo y tiempos de espera para subidas de Telegram."
|
||||
|
||||
[admin.settings.telegram.processingTimeoutSeconds]
|
||||
label = "Tiempo de espera de procesamiento (segundos)"
|
||||
description = "Tiempo máximo de espera para un trabajo de procesamiento antes de informar un error."
|
||||
|
||||
[admin.settings.telegram.pollingIntervalMillis]
|
||||
label = "Intervalo de sondeo (ms)"
|
||||
description = "Intervalo entre comprobaciones de nuevas actualizaciones de Telegram."
|
||||
|
||||
[admin.settings.telegram.feedback]
|
||||
title = "Mensajes de retroalimentación"
|
||||
description = "Elige cuándo el bot debe enviar retroalimentación a usuarios y canales."
|
||||
|
||||
[admin.settings.telegram.feedback.general.enabled]
|
||||
label = "Habilitar retroalimentación"
|
||||
description = "Controla si el bot envía mensajes de retroalimentación en absoluto."
|
||||
|
||||
[admin.settings.telegram.feedback.channel]
|
||||
title = "Reglas de retroalimentación en canales"
|
||||
|
||||
[admin.settings.telegram.feedback.channel.noValidDocument]
|
||||
label = "Mostrar \"Sin documento válido\" (Canal)"
|
||||
description = "Suprimir la respuesta de sin documento válido para subidas en canales."
|
||||
|
||||
[admin.settings.telegram.feedback.channel.errorProcessing]
|
||||
label = "Mostrar errores de procesamiento (Canal)"
|
||||
description = "Enviar mensajes de error de procesamiento a los canales."
|
||||
|
||||
[admin.settings.telegram.feedback.channel.errorMessage]
|
||||
label = "Mostrar mensajes de error (Canal)"
|
||||
description = "Mostrar mensajes de error detallados para los canales."
|
||||
|
||||
[admin.settings.telegram.feedback.user]
|
||||
title = "Reglas de retroalimentación a usuarios"
|
||||
|
||||
[admin.settings.telegram.feedback.user.noValidDocument]
|
||||
label = "Mostrar \"Sin documento válido\" (Usuario)"
|
||||
description = "Suprimir la respuesta de sin documento válido para subidas de usuarios."
|
||||
|
||||
[admin.settings.telegram.feedback.user.errorProcessing]
|
||||
label = "Mostrar errores de procesamiento (Usuario)"
|
||||
description = "Enviar mensajes de error de procesamiento a los usuarios."
|
||||
|
||||
[admin.settings.telegram.feedback.user.errorMessage]
|
||||
label = "Mostrar mensajes de error (Usuario)"
|
||||
description = "Mostrar mensajes de error detallados para los usuarios."
|
||||
|
||||
[admin.settings.database]
|
||||
title = "Base de datos"
|
||||
description = "Configura ajustes de conexión de base de datos personalizados para despliegues empresariales."
|
||||
@@ -4745,6 +4945,10 @@ description = "Permitir a los administradores invitar usuarios por correo con co
|
||||
label = "URL del frontend"
|
||||
description = "URL base del frontend (p. ej. https://pdf.example.com). Se usa para generar enlaces de invitación en emails. Deja vacío para usar la URL del backend."
|
||||
|
||||
[admin.settings.mail.frontendUrlNote]
|
||||
note = "Nota: Requiere configurar la Frontend URL. "
|
||||
link = "Configurar en Ajustes del sistema"
|
||||
|
||||
[admin.settings.legal]
|
||||
title = "Documentos legales"
|
||||
description = "Configura enlaces a documentos y políticas legales."
|
||||
@@ -4929,6 +5133,9 @@ googleDriveShort = "Drive"
|
||||
myFiles = "Mis Archivos"
|
||||
noRecentFiles = "No se encontraron archivos recientes"
|
||||
googleDriveNotAvailable = "Integración con Google Drive no disponible"
|
||||
mobileUpload = "Subida desde móvil"
|
||||
mobileShort = "Móvil"
|
||||
mobileUploadNotAvailable = "Subida desde móvil no habilitada"
|
||||
downloadSelected = "Descargar Seleccionados"
|
||||
saveSelected = "Guardar seleccionados"
|
||||
openFiles = "Abrir Archivos"
|
||||
@@ -5244,7 +5451,7 @@ loading = "Cargando..."
|
||||
back = "Atrás"
|
||||
continue = "Continuar"
|
||||
error = "Error"
|
||||
save = "Save"
|
||||
save = "Guardar"
|
||||
|
||||
[config.overview]
|
||||
title = "Configuración de la aplicación"
|
||||
@@ -5307,6 +5514,15 @@ impact = "Cualquier aplicación o servicio que esté utilizando actualmente esta
|
||||
confirmPrompt = "¿Está seguro de que desea continuar?"
|
||||
confirmCta = "Actualizar Claves"
|
||||
|
||||
[config.apiKeys.alert]
|
||||
apiKeyErrorTitle = "Error de clave de API"
|
||||
failedToCreateApiKey = "No se pudo crear la clave de API."
|
||||
failedToRetrieveApiKey = "No se pudo obtener la clave de API de la respuesta."
|
||||
failedToFetchApiKey = "No se pudo recuperar la clave de API."
|
||||
apiKeyRefreshed = "Clave de API actualizada"
|
||||
apiKeyRefreshedBody = "Tu clave de API se ha actualizado correctamente."
|
||||
failedToRefreshApiKey = "No se pudo actualizar la clave de API."
|
||||
|
||||
[AddAttachmentsRequest]
|
||||
attachments = "Seleccionar archivos adjuntos"
|
||||
info = "Seleccione archivos para adjuntar a su PDF. Estos archivos se incrustarán y serán accesibles a través del panel de archivos adjuntos del PDF."
|
||||
@@ -5412,14 +5628,14 @@ startTour = "Iniciar recorrido"
|
||||
startTourDescription = "Realiza un recorrido guiado por las funciones clave de Stirling PDF"
|
||||
|
||||
[onboarding.whatsNew]
|
||||
quickAccess = "Start at the <strong>Quick Access</strong> rail to jump between Reader, Automate, your files, and all the tours."
|
||||
leftPanel = "The left <strong>Tools</strong> panel lists everything you can do. Browse categories or search to find a tool quickly."
|
||||
fileUpload = "Use the <strong>Files</strong> button to upload or pick a recent PDF. We will load a sample so you can see the workspace."
|
||||
rightRail = "The <strong>Right Rail</strong> holds quick actions to select files, change theme or language, and download results."
|
||||
topBar = "The top bar lets you swap between <strong>Viewer</strong>, <strong>Page Editor</strong>, and <strong>Active Files</strong>."
|
||||
pageEditorView = "Switch to the Page Editor to reorder, rotate, or delete pages."
|
||||
activeFilesView = "Use Active Files to see everything you have open and pick what to work on."
|
||||
wrapUp = "That is what is new in V2. Open the <strong>Tours</strong> menu anytime to replay this, the Tools tour, or the Admin tour."
|
||||
quickAccess = "Empieza en el panel de <strong>Acceso rápido</strong> para cambiar entre Lector, Automatizar, tus archivos y todos los recorridos."
|
||||
leftPanel = "El panel izquierdo de <strong>Herramientas</strong> lista todo lo que puedes hacer. Explora categorías o busca para encontrar una herramienta rápidamente."
|
||||
fileUpload = "Usa el botón de <strong>Archivos</strong> para subir o elegir un PDF reciente. Cargaremos un ejemplo para que puedas ver el espacio de trabajo."
|
||||
rightRail = "El <strong>Panel derecho</strong> contiene acciones rápidas para seleccionar archivos, cambiar el tema o el idioma y descargar resultados."
|
||||
topBar = "La barra superior te permite cambiar entre <strong>Visor</strong>, <strong>Editor de páginas</strong> y <strong>Archivos activos</strong>."
|
||||
pageEditorView = "Cambia al Editor de páginas para reordenar, rotar o eliminar páginas."
|
||||
activeFilesView = "Usa Archivos activos para ver todo lo que tienes abierto y elegir en qué trabajar."
|
||||
wrapUp = "Eso es lo nuevo en V2. Abre el menú de <strong>Recorridos</strong> en cualquier momento para repetir este, el de Herramientas o el de Administración."
|
||||
|
||||
[onboarding.welcomeModal]
|
||||
title = "¡Bienvenido a Stirling PDF!"
|
||||
@@ -5442,8 +5658,8 @@ showMeAround = "Muéstreme el recorrido"
|
||||
skipTheTour = "Saltar el recorrido"
|
||||
|
||||
[onboarding.tourOverview]
|
||||
title = "Tour Overview"
|
||||
body = "Stirling PDF V2 ships with dozens of tools and a refreshed layout. Take a quick tour to see what changed and where to find the features you need."
|
||||
title = "Resumen del recorrido"
|
||||
body = "Stirling PDF V2 incluye decenas de herramientas y un diseño renovado. Haz un recorrido rápido para ver qué cambió y dónde encontrar las funciones que necesitas."
|
||||
|
||||
[onboarding.serverLicense]
|
||||
skip = "Omitir por ahora"
|
||||
@@ -5452,7 +5668,7 @@ upgrade = "Actualizar ahora →"
|
||||
freeTitle = "Licencia del servidor"
|
||||
overLimitTitle = "Se necesita licencia de servidor"
|
||||
overLimitBody = "Nuestra licencia permite hasta <strong>{{freeTierLimit}}</strong> usuarios gratis por servidor. Tiene <strong>{{overLimitUserCopy}}</strong> usuarios de Stirling. Para continuar sin interrupciones, actualice al plan Stirling Server: <strong>plazas ilimitadas</strong>, edición de texto PDF y control total de administración por 99 $/servidor/mes."
|
||||
freeBody = "Nuestra licencia <strong>Open-Core</strong> permite hasta <strong>{{freeTierLimit}}</strong> usuarios gratis por servidor. Para escalar sin interrupciones, recomendamos el plan Stirling Server - <strong>plazas ilimitadas</strong> y <strong>soporte SSO</strong> por $99/servidor/mes."
|
||||
freeBody = "Nuestra licencia <strong>Open-Core</strong> permite hasta <strong>{{freeTierLimit}}</strong> usuarios gratis por servidor. Para escalar sin interrupciones y obtener acceso anticipado a nuestra nueva <strong>herramienta de edición de texto PDF</strong>, recomendamos el plan Stirling Server: edición completa y <strong>plazas ilimitadas</strong> por 99 $/servidor/mes."
|
||||
|
||||
[onboarding.desktopInstall]
|
||||
title = "Descargar"
|
||||
@@ -5524,7 +5740,7 @@ user = "Usuario"
|
||||
[workspace.people.addMember]
|
||||
title = "Añadir miembro"
|
||||
username = "Nombre de usuario (correo)"
|
||||
usernamePlaceholder = "usuario@ejemplo.com"
|
||||
usernamePlaceholder = "user@example.com"
|
||||
password = "Contraseña"
|
||||
passwordPlaceholder = "Introduce la contraseña"
|
||||
role = "Rol"
|
||||
@@ -5586,7 +5802,7 @@ error = "No se pudo actualizar la contraseña"
|
||||
tab = "Invitación por correo electrónico"
|
||||
description = "Escribe o pega correos a continuación, separados por comas. Los usuarios recibirán credenciales de inicio de sesión por correo electrónico."
|
||||
emails = "Direcciones de correo electrónico"
|
||||
emailsPlaceholder = "usuario1@ejemplo.com, usuario2@ejemplo.com"
|
||||
emailsPlaceholder = "user1@example.com, user2@example.com"
|
||||
emailsRequired = "Se requiere al menos una dirección de correo electrónico"
|
||||
submit = "Enviar invitaciones"
|
||||
success = "usuario(s) invitado(s) correctamente"
|
||||
@@ -5758,28 +5974,28 @@ contactSales = "Contactar con ventas"
|
||||
contactToUpgrade = "Contacta con nosotros para actualizar o personalizar tu plan"
|
||||
maxUsers = "Máximo de usuarios"
|
||||
upTo = "Hasta"
|
||||
getLicense = "Get Server License"
|
||||
upgradeToEnterprise = "Upgrade to Enterprise"
|
||||
selectPeriod = "Select Billing Period"
|
||||
monthlyBilling = "Monthly Billing"
|
||||
yearlyBilling = "Yearly Billing"
|
||||
checkoutOpened = "Checkout Opened"
|
||||
checkoutInstructions = "Complete your purchase in the Stripe tab. After payment, return here and refresh the page to activate your license. You will also receive an email with your license key."
|
||||
activateLicense = "Activate Your License"
|
||||
getLicense = "Obtener licencia de servidor"
|
||||
upgradeToEnterprise = "Actualizar a Enterprise"
|
||||
selectPeriod = "Seleccionar período de facturación"
|
||||
monthlyBilling = "Facturación mensual"
|
||||
yearlyBilling = "Facturación anual"
|
||||
checkoutOpened = "Proceso de pago abierto"
|
||||
checkoutInstructions = "Completa tu compra en la pestaña de Stripe. Después del pago, vuelve aquí y actualiza la página para activar tu licencia. También recibirás un correo con tu clave de licencia."
|
||||
activateLicense = "Activa tu licencia"
|
||||
|
||||
[plan.static.licenseActivation]
|
||||
checkoutOpened = "Checkout Opened in New Tab"
|
||||
instructions = "Complete your purchase in the Stripe tab. Once your payment is complete, you will receive an email with your license key."
|
||||
enterKey = "Enter your license key below to activate your plan:"
|
||||
keyDescription = "Paste the license key from your email"
|
||||
activate = "Activate License"
|
||||
doLater = "I'll do this later"
|
||||
success = "License Activated!"
|
||||
successMessage = "Your license has been successfully activated. You can now close this window."
|
||||
checkoutOpened = "Pago abierto en nueva pestaña"
|
||||
instructions = "Completa tu compra en la pestaña de Stripe. Una vez completado el pago, recibirás un correo con tu clave de licencia."
|
||||
enterKey = "Introduce tu clave de licencia a continuación para activar tu plan:"
|
||||
keyDescription = "Pega la clave de licencia de tu correo"
|
||||
activate = "Activar licencia"
|
||||
doLater = "Lo haré más tarde"
|
||||
success = "¡Licencia activada!"
|
||||
successMessage = "Tu licencia se ha activado correctamente. Ya puedes cerrar esta ventana."
|
||||
|
||||
[plan.static.billingPortal]
|
||||
title = "Email Verification Required"
|
||||
message = "You will need to verify your email address in the Stripe billing portal. Check your email for a login link."
|
||||
title = "Se requiere verificación de correo"
|
||||
message = "Deberás verificar tu dirección de correo electrónico en el portal de facturación de Stripe. Revisa tu correo para un enlace de inicio de sesión."
|
||||
|
||||
[plan.period]
|
||||
month = "mes"
|
||||
@@ -5908,7 +6124,7 @@ emailInvalid = "Introduzca una dirección de correo válida"
|
||||
title = "Introduzca su correo electrónico"
|
||||
description = "Lo usaremos para enviar su clave de licencia y recibos."
|
||||
emailLabel = "Dirección de correo electrónico"
|
||||
emailPlaceholder = "su@email.com"
|
||||
emailPlaceholder = "your@email.com"
|
||||
continue = "Continuar"
|
||||
modalTitle = "Comenzar - {{planName}}"
|
||||
|
||||
@@ -5983,8 +6199,8 @@ notAvailable = "Sistema de auditoría no disponible"
|
||||
notAvailableMessage = "El sistema de auditoría no está configurado o no está disponible."
|
||||
disabled = "El registro de auditoría está desactivado"
|
||||
disabledMessage = "Habilita el registro de auditoría en la configuración de tu aplicación para rastrear eventos del sistema."
|
||||
enterpriseRequired = "Enterprise License Required"
|
||||
enterpriseRequiredMessage = "The audit logging system is an enterprise feature. Please upgrade to an enterprise license to access audit logs and analytics."
|
||||
enterpriseRequired = "Se requiere licencia Enterprise"
|
||||
enterpriseRequiredMessage = "El sistema de registro de auditoría es una función empresarial. Actualiza a una licencia Enterprise para acceder a los registros de auditoría y analíticas."
|
||||
|
||||
[audit.error]
|
||||
title = "Error al cargar el sistema de auditoría"
|
||||
@@ -6156,6 +6372,7 @@ description = "Introduzca la URL completa de su servidor autoalojado de Stirling
|
||||
|
||||
[setup.server.error]
|
||||
emptyUrl = "Introduzca una URL de servidor"
|
||||
invalidUrl = "Formato de URL no válido. Introduce una URL válida como https://your-server.com"
|
||||
unreachable = "No se pudo conectar con el servidor"
|
||||
testFailed = "Falló la prueba de conexión"
|
||||
configFetch = "No se pudo obtener la configuración del servidor. Compruebe la URL e inténtelo de nuevo."
|
||||
@@ -6174,6 +6391,7 @@ connectingTo = "Conectando a:"
|
||||
submit = "Iniciar sesión"
|
||||
signInWith = "Iniciar sesión con"
|
||||
oauthPending = "Abriendo el navegador para autenticación..."
|
||||
sso = "Inicio de sesión único"
|
||||
orContinueWith = "O continuar con email"
|
||||
serverRequirement = "Nota: el servidor debe tener el inicio de sesión habilitado."
|
||||
showInstructions = "¿Cómo habilitarlo?"
|
||||
@@ -6188,7 +6406,7 @@ label = "Nombre de usuario"
|
||||
placeholder = "Introduzca su nombre de usuario"
|
||||
|
||||
[setup.login.email]
|
||||
label = "Correo electrónico"
|
||||
label = "Email"
|
||||
placeholder = "Introduzca su email"
|
||||
|
||||
[setup.login.password]
|
||||
@@ -6225,7 +6443,7 @@ paragraph = "Página de párrafos"
|
||||
sparse = "Texto disperso"
|
||||
|
||||
[pdfTextEditor.groupingMode]
|
||||
auto = "Automático"
|
||||
auto = "Auto"
|
||||
paragraph = "Párrafo"
|
||||
singleLine = "Línea única"
|
||||
|
||||
@@ -6239,8 +6457,8 @@ reset = "Restablecer cambios"
|
||||
downloadJson = "Descargar JSON"
|
||||
generatePdf = "Generar PDF"
|
||||
saveChanges = "Guardar cambios"
|
||||
applyChanges = "Apply Changes"
|
||||
downloadCopy = "Download Copy"
|
||||
applyChanges = "Aplicar cambios"
|
||||
downloadCopy = "Descargar copia"
|
||||
|
||||
[pdfTextEditor.options.autoScaleText]
|
||||
title = "Escalar texto automáticamente para ajustar a las cajas"
|
||||
@@ -6260,22 +6478,22 @@ title = "Bloquear el texto editado a un único elemento PDF"
|
||||
description = "Cuando está activado, el editor exporta cada cuadro de texto editado como un único elemento de texto PDF para evitar solapamientos de glifos o fuentes mezcladas."
|
||||
|
||||
[pdfTextEditor.options.advanced]
|
||||
title = "Advanced Settings"
|
||||
title = "Ajustes avanzados"
|
||||
|
||||
[pdfTextEditor.tooltip.header]
|
||||
title = "Preview Limitations"
|
||||
title = "Limitaciones de la vista previa"
|
||||
|
||||
[pdfTextEditor.tooltip.textFocus]
|
||||
title = "Text and Image Focus"
|
||||
text = "This workspace focuses on editing text and repositioning embedded images. Complex page artwork, form widgets, and layered graphics are preserved for export but are not fully editable here."
|
||||
title = "Enfoque en texto e imagen"
|
||||
text = "Este espacio de trabajo se centra en editar texto y recolocar imágenes incrustadas. Las ilustraciones de página complejas, widgets de formularios y gráficos por capas se preservan para la exportación pero no son totalmente editables aquí."
|
||||
|
||||
[pdfTextEditor.tooltip.previewVariance]
|
||||
title = "Preview Variance"
|
||||
text = "Some visuals (such as table borders, shapes, or annotation appearances) may not display exactly in the preview. The exported PDF keeps the original drawing commands whenever possible."
|
||||
title = "Variaciones de la vista previa"
|
||||
text = "Algunos elementos visuales (como bordes de tablas, formas o apariencias de anotaciones) pueden no mostrarse exactamente en la vista previa. El PDF exportado mantiene las órdenes de dibujo originales siempre que sea posible."
|
||||
|
||||
[pdfTextEditor.tooltip.alpha]
|
||||
title = "Alpha Viewer"
|
||||
text = "This alpha viewer is still evolving—certain fonts, colours, transparency effects, and layout details may shift slightly. Please double-check the generated PDF before sharing."
|
||||
title = "Visor alfa"
|
||||
text = "Este visor alfa sigue evolucionando—ciertas fuentes, colores, efectos de transparencia y detalles de maquetación pueden variar ligeramente. Verifica el PDF generado antes de compartirlo."
|
||||
|
||||
[pdfTextEditor.manual]
|
||||
mergeTooltip = "Combinar cuadros seleccionados"
|
||||
@@ -6398,3 +6616,58 @@ title = "Resultados de añadir texto"
|
||||
|
||||
[addText.error]
|
||||
failed = "Se produjo un error al añadir texto al PDF."
|
||||
|
||||
[mobileUpload]
|
||||
title = "Subir desde el móvil"
|
||||
description = "Escanea para subir fotos. Las imágenes se convierten automáticamente a PDF."
|
||||
descriptionNoConvert = "Escanea para subir fotos desde tu dispositivo móvil."
|
||||
error = "Error de conexión"
|
||||
pollingError = "Error al comprobar archivos"
|
||||
sessionId = "ID de sesión"
|
||||
sessionCreateError = "No se pudo crear la sesión"
|
||||
expiryWarning = "La sesión expirará pronto"
|
||||
expiryWarningMessage = "Este código QR caducará en {{seconds}} segundos. Se generará un nuevo código automáticamente."
|
||||
filesReceived = "{{count}} archivo(s) recibido(s)"
|
||||
connected = "Dispositivo móvil conectado"
|
||||
instructions = "Escanéalo con la cámara de tu teléfono. Las imágenes se convierten a PDF automáticamente."
|
||||
instructionsNoConvert = "Escanéalo con la cámara de tu teléfono para subir archivos."
|
||||
|
||||
[mobileScanner]
|
||||
title = "Escáner móvil"
|
||||
noSession = "Sesión no válida"
|
||||
noSessionMessage = "Escanea un código QR válido para acceder a esta página."
|
||||
validating = "Validando la sesión..."
|
||||
sessionInvalid = "Error de sesión"
|
||||
sessionExpired = "Esta sesión ha caducado. Actualiza e inténtalo de nuevo."
|
||||
sessionNotFound = "Sesión no encontrada. Actualiza e inténtalo de nuevo."
|
||||
sessionValidationError = "No se puede verificar la sesión. Inténtalo de nuevo."
|
||||
uploadSuccess = "¡Subida correcta!"
|
||||
uploadSuccessMessage = "Tus imágenes han sido transferidas."
|
||||
httpsRequired = "El acceso a la cámara requiere HTTPS o localhost. Usa HTTPS o accede vía localhost."
|
||||
uploadFailed = "La subida ha fallado. Inténtalo de nuevo."
|
||||
uploading = "Subiendo..."
|
||||
connected = "Conectado"
|
||||
connecting = "Conectando..."
|
||||
chooseMethod = "Elige el método de subida"
|
||||
chooseMethodDescription = "Selecciona cómo quieres escanear y subir documentos"
|
||||
camera = "Cámara"
|
||||
cameraDescription = "Escanea documentos usando la cámara de tu dispositivo con detección automática de bordes"
|
||||
fileUpload = "Subir archivo"
|
||||
fileDescription = "Sube fotos o documentos existentes desde tu dispositivo"
|
||||
cameraAccessDenied = "Acceso a la cámara denegado. Habilita el acceso a la cámara."
|
||||
back = "Atrás"
|
||||
settings = "Ajustes"
|
||||
edgeDetection = "Detección de bordes"
|
||||
flashlight = "Linterna"
|
||||
flash = "Flash"
|
||||
processing = "Procesando..."
|
||||
capture = "Capturar foto"
|
||||
selectFilesPrompt = "Selecciona archivos para subir"
|
||||
selectImage = "Seleccionar imagen"
|
||||
preview = "Vista previa"
|
||||
retake = "Volver a tomar"
|
||||
addToBatch = "Añadir al lote"
|
||||
upload = "Subir"
|
||||
batchImages = "Lote"
|
||||
clearBatch = "Limpiar"
|
||||
uploadAll = "Subir todo"
|
||||
|
||||
Reference in New Issue
Block a user