translations (#5541)

# Description of Changes

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

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

Closes #(issue_number)
-->

---

## Checklist

### General

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

### Documentation

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

### Translations (if applicable)

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

### UI Changes (if applicable)

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

### Testing (if applicable)

- [ ] I have tested my changes locally. Refer to the [Testing
Guide](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/devGuide/DeveloperGuide.md#6-testing)
for more details.
This commit is contained in:
Anthony Stirling
2026-01-24 00:02:31 +00:00
committed by GitHub
parent b76f3662e4
commit c77cd73deb
40 changed files with 5888 additions and 208 deletions
@@ -306,6 +306,7 @@ selectOperation = "Seleccione la operación"
addOperationButton = "Añadir operación"
pipelineHeader = "Automatización:"
saveButton = "Descargar"
saveForFolderScanning = "Guardar para el escaneo de carpetas"
validateButton = "Validar"
[enterpriseEdition]
@@ -556,6 +557,30 @@ webBrowserSettings = "Configuración del navegador"
syncToBrowser = "Sincronizar cuenta -> Navegador"
syncToAccount = "Sincronizar cuenta <- Navegador"
[account.mfa]
title = "Autenticación de dos factores"
setupFailed = "No se pudo iniciar la configuración de la autenticación de dos factores. Vuelve a intentarlo."
codeRequired = "Introduce el código de autenticación para continuar."
enabled = "Autenticación de dos factores habilitada."
enableFailed = "No se pudo habilitar la autenticación de dos factores. Comprueba el código e inténtalo de nuevo."
disabled = "Autenticación de dos factores deshabilitada."
disableFailed = "No se pudo deshabilitar la autenticación de dos factores. Comprueba el código e inténtalo de nuevo."
description = "Añade una capa adicional de seguridad a tu cuenta."
enableButton = "Habilitar la autenticación de dos factores"
disableButton = "Deshabilitar la autenticación de dos factores"
setupTitle = "Configurar la autenticación de dos factores"
setupDescription = "Escanea el código QR con tu aplicación de autenticación y luego introduce el código de 6 dígitos para confirmar."
manualKey = "Clave de configuración manual"
secretWarning = "Mantén esta clave privada. Cualquiera con acceso puede generar códigos de autenticación válidos."
codePlaceholder = "Introduce el código de 6 dígitos"
confirmEnable = "Habilitar"
disableTitle = "Deshabilitar la autenticación de dos factores"
disableDescription = "Introduce un código de autenticación válido para deshabilitar la autenticación de dos factores."
codeLabel = "Código de autenticación"
confirmDisable = "Deshabilitar"
ssoDescription = "La autenticación de dos factores es gestionada por tu proveedor de identidad para cuentas con inicio de sesión único."
ssoManaged = "Configura la MFA a través de tu proveedor de identidad."
[adminUserSettings]
title = "Configuración de control de usuario"
header = "Configuración de control de usuario administrador"
@@ -1264,7 +1289,10 @@ downloadHtml = "Descargar archivo intermedio HTML en lugar de PDF"
pdfaOptions = "Opciones de PDF/A"
outputFormat = "Formato de Salida"
pdfaNote = "PDF/A-1b es más compatible, PDF/A-2b soporta más funciones."
pdfaFormat = "Formato PDF/A"
pdfaDigitalSignatureWarning = "El PDF contiene una firma digital. Ésta se eliminará en el siguiente paso."
pdfxDigitalSignatureWarning = "El PDF contiene una firma digital. Se eliminará en el siguiente paso."
pdfxDescription = "PDF/X es un subconjunto estándar ISO de PDF para impresión fiable e intercambio de gráficos."
fileFormat = "Formato de Archivo"
wordDoc = "Documento de Word"
wordDocExt = "Documento de Word (.docx)"
@@ -2197,6 +2225,16 @@ tip = "Actualmente no funciona para múltiples entrada a la vez"
outputFormat = "Formato de salida"
pdfWithDigitalSignature = "El PDF contiene una firma digital. Ésta se eliminará en el siguiente paso."
[pdfToPDFX]
tags = "impresión,estándar,conversión,producción,preimpresión,archivo"
title = "PDF a PDF/X"
header = "PDF a PDF/X"
credit = "Este servicio utiliza Ghostscript para la conversión a PDF/X"
submit = "Convertir"
tip = "Actualmente no funciona con varias entradas a la vez"
outputFormat = "Formato de salida"
pdfWithDigitalSignature = "El PDF contiene una firma digital. Se eliminará en el siguiente paso."
[PDFToWord]
tags = "doc,docx,odt,word,transformación,formato,conversión,office,microsoft,archivo del documento"
title = "PDF a Word"
@@ -3153,6 +3191,18 @@ other = "Otros"
perPageInfo = "Información por página"
tableOfContents = "Tabla de contenidos"
[getPdfInfo.compliance]
notDetected = "No detectado"
passed = "Aprobado"
failed = "Fallido"
compliant = "Conforme"
nonCompliant = "No conforme"
none = "No se detectaron estándares"
passedCount = "aprobadas"
failedCount = "fallidas"
noVerification = "No se realizó verificación"
noVerificationDesc = "No se verificó el cumplimiento de estándares PDF para este documento."
[getPdfInfo.other]
attachments = "Adjuntos"
embeddedFiles = "Archivos incrustados"
@@ -3184,6 +3234,8 @@ permsRestricted = "{{count}} restricciones"
permsMixed = "Algunos permisos restringidos"
hasCompliance = "Cumple con estándares"
noCompliance = "Sin estándares de conformidad"
compliancePassed = "{{standards}} conforme"
complianceChecked = "Estándares verificados ({{failed}} fallidos)"
basic = "Información básica"
documentInfo = "Información del documento"
securityTitle = "Estado de seguridad"
@@ -3723,6 +3775,13 @@ passwordChangedSuccess = "¡Contraseña cambiada correctamente! Inicia sesión c
credentialsUpdated = "Tus credenciales se han actualizado. Vuelve a iniciar sesión."
defaultCredentials = "Credenciales de inicio de sesión predeterminadas"
changePasswordWarning = "Cambie su contraseña tras iniciar sesión por primera vez"
mfaRequired = "Se requiere código de dos factores"
mfaCode = "Código de autenticación"
enterMfaCode = "Introduce el código de 6 dígitos"
mfaPromptTitle = "Autenticación de dos factores"
mfaPromptBody = "Introduce el código de autenticación de tu aplicación de autenticación para continuar."
verifyingMfa = "Verificando..."
verifyMfa = "Verificar código"
[login.slides.overview]
alt = "Vista general de Stirling PDF"
@@ -4324,6 +4383,10 @@ title = "Se requiere modo de inicio de sesión"
message = "El modo de inicio de sesión debe estar habilitado para modificar la configuración de administración. Establece SECURITY_ENABLELOGIN=true en tu entorno o security.enableLogin: true en settings.yml y reinicia el servidor."
readOnly = "La configuración siguiente muestra valores de ejemplo como referencia. Habilita el modo de inicio de sesión para ver y editar la configuración real."
[admin.settings.enterpriseRequired]
title = "Se requiere una licencia Enterprise"
message = "Se requiere una licencia Enterprise para acceder a {{featureName}}. Estás viendo datos de demostración como referencia."
[admin.settings.restart]
title = "Se requiere reiniciar"
message = "La configuración se ha guardado correctamente. Se requiere reiniciar el servidor para que los cambios surtan efecto."
@@ -4771,6 +4834,48 @@ description = "Mostrar mensajes de error detallados para los usuarios."
title = "Base de datos"
description = "Configura ajustes de conexión de base de datos personalizados para despliegues empresariales."
configuration = "Configuración de la base de datos"
backupTitle = "Copias de seguridad y restauración"
backupDescription = "Gestiona copias de seguridad de H2 directamente desde la consola de administración."
loadError = "Error al cargar las copias de seguridad de la base de datos"
backupCreated = "Copia de seguridad creada correctamente"
backupFailed = "Error al crear la copia de seguridad"
deleteTitle = "Eliminar copia de seguridad"
deleteConfirm = "¿Eliminar esta copia de seguridad? Esta acción no se puede deshacer."
deleteSuccess = "Copia de seguridad eliminada"
deleteFailed = "Error al eliminar la copia de seguridad"
deleteConfirmAction = "Eliminar copia de seguridad"
downloadFailed = "Error al descargar la copia de seguridad"
version = "Versión de H2"
embedded = "H2 integrado"
external = "Base de datos externa"
h2Only = "Las copias de seguridad solo están disponibles para la base de datos H2 integrada."
h2Hint = "Establece el tipo de base de datos en H2 y desactiva la base de datos personalizada para habilitar la copia de seguridad y la restauración."
manageBackups = "Gestionar copias de seguridad"
refresh = "Actualizar"
createBackup = "Crear copia de seguridad"
uploadTitle = "Subir e importar"
chooseFile = "Selecciona un archivo de copia de seguridad .sql"
importFromUpload = "Importar archivo subido"
confirmImportTitle = "Confirmar importación de base de datos"
overwriteWarning = "Advertencia: Esto sobrescribirá la base de datos actual."
overwriteWarningBody = "Todos los datos existentes serán reemplazados por la copia de seguridad subida. Esta acción no se puede deshacer."
confirmCodeLabel = "Introduce el código de confirmación para continuar"
enterCode = "Introduce el código mostrado arriba"
confirmImport = "Confirmar importación"
codeMismatch = "El código de confirmación no coincide"
codeMismatchBody = "Introduce el código exactamente como se muestra para continuar."
selectFile = "Selecciona un archivo .sql para importar"
importSuccess = "Copia de seguridad importada correctamente"
importFailed = "Error al importar la copia de seguridad"
noBackups = "Aún no se han encontrado copias de seguridad."
unavailable = "La lista de copias de seguridad no está disponible para la configuración de base de datos actual."
fileName = "Archivo"
created = "Creado"
size = "Tamaño"
actions = "Acciones"
download = "Descargar"
import = "Importar"
delete = "Eliminar"
[admin.settings.database.enableCustom]
label = "Habilitar base de datos personalizada"
@@ -4848,6 +4953,26 @@ description = "DPI máximo para el procesamiento de imágenes (0 = ilimitado)"
[admin.settings.advanced.tessdataDir]
label = "Directorio Tessdata"
description = "Ruta al directorio tessdata para archivos de idioma de OCR"
downloadMissingTitle = "No se ha seleccionado ningún idioma"
downloadMissingBody = "Selecciona al menos un idioma para descargar."
downloadSuccessTitle = "Idiomas descargados"
downloadSuccessBody = "Se han guardado los idiomas de tessdata seleccionados."
downloadErrorTitle = "Descarga fallida"
loadingLanguages = "Cargando idiomas de tessdata instalados..."
installedLanguages = "Idiomas de tessdata instalados"
noLanguages = "No se han encontrado idiomas de tessdata en el directorio configurado."
downloadLabel = "Descargar idiomas de tessdata adicionales"
downloadPlaceholder = "Selecciona idiomas"
downloadNothingFound = "No se han encontrado idiomas adicionales"
permissionNotice = "La ruta de tessdata no tiene permisos de escritura. Las descargas se abrirán en el navegador; guarda los archivos .traineddata manualmente en la carpeta tessdata."
manualLinks = "Descargas manuales: haz clic en los enlaces y coloca los archivos en la carpeta tessdata."
downloadButton = "Descargar idiomas seleccionados"
downloadInvalidTitle = "Selección no válida"
downloadInvalidBody = "Algunos de los idiomas seleccionados no están disponibles para descargar. Actualiza y elige de la lista."
downloadErrorNetwork = "La descarga ha fallado debido a un error de red. Comprueba tu conexión e inténtalo de nuevo."
downloadErrorServer = "El servidor encontró un error al descargar idiomas de tessdata. Inténtalo de nuevo más tarde."
downloadErrorPermission = "El directorio tessdata no tiene permisos de escritura: {{message}}. Elige un directorio con permisos de escritura (p. ej., dentro de la carpeta de datos de la aplicación) o ajusta los permisos."
downloadErrorGeneric = "Descarga fallida: {{message}}. Inténtalo de nuevo más tarde."
[admin.settings.advanced.disableSanitize]
label = "Desactivar la sanitización de HTML"
@@ -5351,6 +5476,7 @@ desc = "Cree flujos de trabajo de varios pasos encadenando acciones de PDF. Idea
invalidStep = "Paso inválido"
reviewTitle = "Resultados de automatización"
copyToSaved = "Copiar a guardados"
exportForFolderScanning = "Exportar para el escaneo de carpetas"
[automate.files]
placeholder = "Seleccione archivos para procesar con esta automatización"
@@ -5372,6 +5498,7 @@ createTitle = "Crear automatización"
editTitle = "Editar automatización"
intro = "Las automatizaciones ejecutan herramientas de forma secuencial. Para comenzar, añada herramientas en el orden en que desea que se ejecuten."
save = "Guardar automatización"
exportForFolderScanning = "Exportar para el escaneo de carpetas"
[automate.creation.name]
label = "Nombre de automatización"
@@ -5746,9 +5873,11 @@ username = "Nombre de usuario (correo)"
usernamePlaceholder = "[email protected]"
password = "Contraseña"
passwordPlaceholder = "Introduce la contraseña"
passwordRequired = "La contraseña es obligatoria"
role = "Rol"
team = "Equipo (opcional)"
teamPlaceholder = "Selecciona un equipo"
authType = "Tipo de autenticación"
forcePasswordChange = "Forzar el cambio de contraseña en el primer inicio de sesión"
cancel = "Cancelar"
submit = "Añadir miembro"
@@ -5756,6 +5885,13 @@ usernameRequired = "Se requieren nombre de usuario y contraseña"
passwordTooShort = "La contraseña debe tener al menos 6 caracteres"
success = "Usuario creado correctamente"
error = "No se pudo crear el usuario"
forceMFA = "Forzar la configuración de MFA en el próximo inicio de sesión"
[workspace.people.authType]
password = "Contraseña"
oauth = "OAuth2"
saml = "SAML2"
ssoDescription = "El usuario se autenticará a través del proveedor de SSO"
[workspace.people.editMember]
title = "Editar miembro"
@@ -5859,6 +5995,11 @@ slotsAvailable = "{{count}} plaza(s) de usuario disponible(s)"
noSlotsAvailable = "No hay plazas disponibles"
currentUsage = "Actualmente usando {{current}} de {{max}} licencias de usuario"
[workspace.people.mfa]
adminDisableSuccess = "MFA deshabilitada correctamente para el usuario"
adminDisableError = "No se pudo deshabilitar la MFA para el usuario"
disableByAdmin = "Deshabilitar MFA"
[workspace.teams]
title = "Equipos"
description = "Gestiona equipos y organiza a los miembros del espacio de trabajo"
@@ -6301,6 +6442,7 @@ endpoint = "Punto de conexión"
visits = "Visitas"
percentage = "Porcentaje"
noData = "No hay datos disponibles"
unknownEndpoint = "Endpoint desconocido"
[backendHealth]
checking = "Comprobando el estado del backend..."