// TagAlly Engine — textos de salida en español.
// Terminología alineada con la traducción oficial de las WCAG 2.1 del W3C
// («relación de contraste», «conformidad», «contenido no textual») y con la
// interfaz española de InDesign/Acrobat, que es la que ve el usuario
// («texto alternativo», «etiquetas», «artefacto», «marcadores»).

module.exports = {
  // Metadatos de idioma
  "meta.locale": "es-ES",
  "meta.htmlLang": "es",
  "meta.name": "Español",

  // ---------- Informe: encabezado y metadatos ----------
  "report.docType": "Informe de conformidad PDF/UA",
  "report.title": "Informe de conformidad — {file}",
  "report.metaFile": "Archivo",
  "report.metaProfile": "Perfil de validación",
  "report.metaProfileValue": "{profile} · protocolo Matterhorn",
  "report.metaEngine": "Motor de validación",
  "report.metaEngineValue": "veraPDF (validación automática) · TagAlly Engine {version}",
  "report.metaDate": "Validado el",

  // ---------- Parte 1: validación automática ----------
  "report.part1": "Parte 1 — Validación automática",
  "report.passed": "CONFORME",
  "report.failed": "NO CONFORME",
  "report.verdictSub": "{passed} reglas superadas · {failed} incumplidas{checks} — todas las condiciones del protocolo Matterhorn verificables de forma automática",
  "report.verdictChecks": " · {n} incumplimientos individuales",
  "report.thClause": "Cláusula",
  "report.thCondition": "Condición",
  "report.thViolations": "Incumplimientos",
  "report.test": "Prueba {n}",
  "report.pages": "Páginas: {list}",

  // ---------- Parte 2: validación manual ----------
  "report.part2": "Parte 2 — Validación manual",
  "report.part2Intro": "Ningún software puede juzgar estas condiciones: requieren revisión humana. La evidencia de conformidad PDF/UA solo queda completa cuando se ha recorrido esta lista de comprobación.",
  "report.hint": "Marque la lista en pantalla, añada abajo sus observaciones y su nombre y guarde el conjunto como PDF mediante la función de impresión del navegador: ese es el justificante archivable.",
  "report.toolsTitle": "Revisión visual: cómo verificar esta lista",
  "report.toolsFooter": "Estos símbolos reaparecen al principio de cada grupo de la lista e indican qué herramienta resulta útil en cada caso.",
  "report.remarks": "Observaciones",
  "report.remarksPlaceholder": "Incidencias, limitaciones, páginas revisadas …",
  "report.signedBy": "Validado por",
  "report.signedDate": "Fecha, firma",
  "report.footer": "Creado con TagAlly Pro — PDF accesibles desde InDesign",
  "report.page": "Página 1",

  // ---------- Caja de herramientas ----------
  "tool.sv": "Vista de estructura",
  "tool.acr": "Acrobat",
  "tool.sr": "Lector de pantalla",
  "tool.cc": "Comprobación de contraste de TagAlly",
  "tool.svText": "<b>Vista de estructura de TagAlly</b> (botón «Vista de estructura» en el panel, pestaña ②): muestra <b>el orden de lectura, la jerarquía de encabezados, las imágenes con su texto alternativo, las tablas y los cambios de idioma</b> directamente a partir del PDF validado, sin software adicional.",
  "tool.acrText": "<b>Acrobat</b>: el panel Etiquetas y la herramienta «Orden de lectura» para revisar cada elemento en detalle; las propiedades del documento para el título, el idioma y los marcadores.",
  "tool.srText": "<b>Contraste con un lector de pantalla</b>: recorra el documento una vez con VoiceOver (macOS, ⌘F5) o NVDA (Windows, gratuito); es la prueba más honesta del orden de lectura.",
  "tool.ccText": "<b>Comprobación de contraste de TagAlly</b> (paso «Textos alternativos, tablas y contraste» en la pestaña ① y en directo en el inspector de objetos): mide el color del texto frente al fondo según las WCAG (4,5:1 y 3:1 respectivamente) directamente en el documento; el texto situado sobre imágenes se lista para su revisión visual. Para mediciones por píxel en el PDF final, el «Colour Contrast Analyser» (TPGi, gratuito) sigue siendo una alternativa.",

  // ---------- Lista de comprobación manual ----------
  "check.structure": "Estructura y orden de lectura",
  "check.structure.1": "El orden de lectura de las etiquetas se corresponde con el recorrido lógico del documento.",
  "check.structure.2": "Ningún elemento con contenido se ha ocultado como artefacto.",
  "check.structure.3": "Las etiquetas semánticas (párrafo, cita, lista …) se corresponden con el significado del contenido.",
  "check.headings": "Encabezados",
  "check.headings.1": "Los niveles de encabezado reflejan correctamente la estructura del contenido.",
  "check.language": "Idioma",
  "check.language.1": "El idioma declarado del documento se corresponde con el contenido.",
  "check.language.2": "Los pasajes en otro idioma están etiquetados con el idioma correspondiente.",
  "check.graphics": "Imágenes y textos alternativos",
  "check.graphics.1": "Cada texto alternativo describe el contenido de la imagen de forma precisa y concisa.",
  "check.graphics.2": "Las imágenes meramente decorativas están marcadas como artefactos.",
  "check.graphics.3": "Las figuras complejas (gráficos, infografías) se explican en el texto o mediante una descripción larga.",
  "check.tables": "Tablas",
  "check.tables.1": "Las celdas de encabezado son correctas y están definidas por completo.",
  "check.tables.2": "La estructura etiquetada de la tabla se corresponde con su disposición visual.",
  "check.links": "Enlaces y referencias",
  "check.links.1": "Los textos y las descripciones de los enlaces son significativos (nada de «haga clic aquí»).",
  "check.color": "Color y contraste",
  "check.color.1": "El color nunca es el único medio para transmitir información.",
  "check.color.2": "El texto cumple los requisitos de contraste (como mínimo AA).",
  "check.meta": "Metadatos y navegación",
  "check.meta.1": "El título del documento es significativo.",
  "check.meta.2": "En documentos extensos existen marcadores y son correctos.",
  "check.final": "Comprobación final",
  "check.final.1": "El PDF corregido (…-ua.pdf) es visualmente idéntico a la exportación original.",

  // ---------- Resultados de contraste en el informe ----------
  "contrast.fails": "✗ Comprobación de contraste de TagAlly: {n} punto(s) por debajo del umbral WCAG; corríjalos en el panel (paso «Textos alternativos, tablas y contraste») y vuelva a exportar.",
  "contrast.manualItem": "Revisión visual del contraste: texto sobre imagen o degradado en la página {pages}; ¿resulta suficientemente legible?",
  "contrast.covered": "✓ Comprobado de forma automática (comprobación de contraste de TagAlly): {checked} zonas de texto, ninguna por debajo de los umbrales WCAG{approved}; no se requiere ninguna otra comprobación de contraste.",
  "contrast.coveredApproved": "; además, {n} punto(s) de texto sobre imagen o degradado revisados visualmente y aprobados",

  // ---------- Mensajes de error (motor) ----------
  "err.fileNotFound": "Archivo no encontrado: {file}",
  "err.verapdfMissing": "No se ha encontrado veraPDF. Indique la ruta en engine/config.json en \"verapdfPath\".",
  "err.verapdfFailed": "Error al llamar a veraPDF: {msg}",
  "err.verapdfParse": "No se ha podido interpretar el informe de veraPDF: {msg}",

  // ---------- Vista de estructura (TagAllyView) ----------
  "view.docType": "Vista de estructura (árbol de etiquetas)",
  "view.intro": "Orden de lectura de arriba abajo: exactamente así recorre el documento un lector de pantalla. Idioma del documento: {lang} · los pasajes en otro idioma aparecen sobre fondo azul (distintivo a la derecha) · los textos alternativos figuran debajo de cada imagen.",
  "view.langConflict": "⚠ Conflicto de idioma: el árbol de etiquetas declara «{lang}» en su nivel superior, mientras que el idioma del documento es «{docLang}»; un lector de pantalla leerá por tanto TODO el documento en el idioma equivocado. Revise el idioma en InDesign y vuelva a exportar.",
  "view.alt": "Alt",
  "view.altMissing": "FALTA",
  "view.noStructure": "Este PDF no contiene ninguna estructura de etiquetas (no es un PDF etiquetado).",
  "view.pageChip": "pág. {n}",
  "view.footer": "Generado por TagAlly Pro · {headings} encabezados · {figures} imágenes ({noAlt} sin texto alternativo) · {tables} tablas · {links} enlaces",
  "view.stats": "Elementos: {headings} encabezados · {figures} imágenes ({noAlt} sin texto alternativo) · {tables} tablas · {links} enlaces",
  "view.saved": "Vista de estructura: {file}",

  // ---------- Corrección automática (TagAllyFix) ----------
  "fix.cidSets": "Flujos CIDSet eliminados: {n}",
  "fix.links": "Anotaciones de enlace con descripción (Contents): {n}",
  "fix.orphanLinks": "Anotaciones de enlace huérfanas incluidas en elementos Link: {n}",
  "fix.thScope": "Celdas TH con atributo Scope: {n}",
  "fix.paths": "Trazados vectoriales sin etiquetar incluidos como artefactos: {n}",
  "fix.rootLang": "Idioma raíz del árbol de etiquetas corregido: {n}",
  "fix.roleMap": "Asignaciones de roles resueltas (nombres de estilo → etiquetas estándar): {n}",
  "fix.langInject": "Cambios de idioma etiquetados (Lang): {n}",
  "fix.displayDocTitle": "ViewerPreferences/DisplayDocTitle = true",
  "fix.xmpAdded": "XMP: pdfuaid:part = 1 añadido",
  "fix.xmpPresent": "XMP: pdfuaid:part ya presente",
  "fix.saved": "Guardado: {file}",
  "fix.langSkipped": "Inyección de idioma omitida: {msg}",
  "fix.rootLangDetail": "  {type}: Lang {from} → {to}",

  // ---------- Meldungen des Starters und der Konsole ----------
  "console.starting": "Arrancando el motor de TagAlly. Deje esta ventana abierta, por favor.",
  "console.running": "El motor de TagAlly {version} funciona en {url}",
  "console.verapdf": "veraPDF: {path}",
  "console.verapdfMissing": "No se encontró veraPDF. Indique su ruta en config.json, por favor.",
  "console.alreadyRunning": "El motor de TagAlly {version} ya está funcionando en {url}. No hay nada que hacer.",
  "console.closeWindow": "Puede cerrar esta ventana.",
  "console.olderRunning": "Todavía funciona la versión {running}, en el disco está la {local}.",
  "console.replacing": "Sustituyendo el motor más antiguo …",
  "console.replaced": "Sustituido.",
  "console.stopping": "Deteniendo el motor (a petición del lanzador).",
  "console.stopFailed": "El motor en marcha no pudo detenerse por sí mismo.",
  "console.stopFailedHint": "En versiones muy antiguas esto es normal. Hágalo una vez a mano, por favor:",
  "console.stopFailedRetry": "Después vuelva a ejecutar este lanzador.",
  "console.portBusy": "El puerto {port} ya está ocupado.",
  "console.portBusyHint": "¿Está el motor ya en marcha? Use entonces el lanzador, que sustituye por sí solo una versión anterior.",
  "console.nodeMissing": "No se encontró Node.js.",
  "console.nodeMissingHint": "Instálelo desde https://nodejs.org y vuelva a ejecutar este script, por favor.",
  "console.engineStopped": "El motor se ha detenido.",
  "console.pressEnter": "Pulse Intro para cerrar esta ventana …"
};
