msgid ""
msgstr ""
"Project-Id-Version: 4Linking Free\n"
"Language: es_ES\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"X-Domain: 4linking-free\n"

#. Plugin Name of the plugin
#: 04-internal-linking.php
msgid "4Linking PRO"
msgstr ""

#. Description of the plugin
#: 04-internal-linking.php
msgid "Automatiza la arquitectura de enlazado interno y la producción de contenido SEO en WordPress. Gestiona pilares, reglas, enlaces semánticos, traducciones y automatizaciones con IA."
msgstr ""

#. Author of the plugin
#: 04-internal-linking.php
msgid "4Linking"
msgstr ""

#. Author URI of the plugin
#: 04-internal-linking.php
msgid "https://4linking.com"
msgstr ""

#: includes/class-admin.php:218
#: includes/class-admin.php:223
msgid "Getting started"
msgstr "Primeros pasos"

#: includes/class-admin.php:234
#: includes/class-admin.php:2085
#: views/page-onboarding.php:71
msgid "Linking"
msgstr "Enlazado"

#: includes/class-admin.php:253
#: includes/class-admin.php:460
#: includes/class-admin.php:692
#: includes/class-admin.php:695
#: includes/views/page-exitos.php:108
#: modules/content/views/page-content.php:148
#: views/page-onboarding.php:62
msgid "Create content"
msgstr "Crear contenido"

#: includes/class-admin.php:264
msgid "System"
msgstr "Sistema"

#: includes/class-admin.php:271
#: includes/class-admin.php:524
#: includes/class-admin.php:724
#: modules/knowledge_base/views/page-bases.php:22
#: views/page-onboarding.php:80
#: admin/js/admin.js:1782
msgid "Knowledge bases"
msgstr "Bases de conocimiento"

#: includes/class-admin.php:274
#: includes/class-admin.php:531
#: includes/class-admin.php:534
msgid "Tools"
msgstr "Herramientas"

#: includes/class-admin.php:284
#: includes/class-admin.php:409
#: includes/class-admin.php:940
#: admin/js/admin.js:1777
msgid "Pillar pages"
msgstr "Páginas pilar"

#: includes/class-admin.php:285
#: includes/class-admin.php:1168
#: includes/views/page-exitos.php:106
msgid "Linking rules"
msgstr "Reglas de enlazado"

#: includes/class-admin.php:286
#: includes/class-admin.php:420
#: includes/class-admin.php:716
#: includes/class-admin.php:719
#: includes/class-admin.php:2261
#: modules/semantic/views/page-semantic.php:106
msgid "Semantic linking"
msgstr "Enlazado semántico"

#: includes/class-admin.php:287
#: includes/class-admin.php:426
#: includes/views/page-exitos.php:29
msgid "Link map"
msgstr "Mapa de enlaces"

#: includes/class-admin.php:288
#: includes/class-admin.php:1617
#: includes/class-admin.php:1770
#: includes/class-admin.php:1812
#: admin/js/admin.js:1779
msgid "Excluded URLs"
msgstr "URLs excluidas"

#: includes/class-admin.php:293
#: includes/class-admin.php:698
#: includes/class-admin.php:701
msgid "Generate images"
msgstr "Crear imágenes"

#: includes/class-admin.php:294
#: includes/class-admin.php:479
#: includes/class-admin.php:704
#: includes/class-admin.php:707
#: modules/translation/views/page-translation.php:20
#: views/page-onboarding.php:98
msgid "Translations"
msgstr "Traducciones"

#: includes/class-admin.php:295
#: includes/class-admin.php:484
#: includes/class-admin.php:710
#: includes/class-admin.php:713
#: modules/pipeline/views/page-pipeline.php:65
#: views/page-onboarding.php:89
#: admin/js/admin.js:1784
msgid "Automations"
msgstr "Automatizaciones"

#: includes/class-admin.php:296
msgid "Knowledge base entries"
msgstr "Fichas de base de conocimiento"

#: includes/class-admin.php:296
msgid "Entries"
msgstr "Fichas"

#: includes/class-admin.php:414
#: admin/js/exitos.js:152
#: admin/js/exitos.js:167
msgid "Rules"
msgstr "Reglas"

#: includes/class-admin.php:469
#: modules/pipeline/views/page-pipeline.php:250
msgid "Articles"
msgstr "Artículos"

#: includes/class-admin.php:474
#: includes/class-admin.php:2106
msgid "Images"
msgstr "Imágenes"

#: includes/class-admin.php:513
#: includes/class-admin.php:516
#: modules/images/views/page-images.php:20
msgid "Settings"
msgstr "Ajustes"

#: includes/class-admin.php:517
msgid "Global plugin configuration. Changes apply immediately."
msgstr "Configuración global del plugin. Los cambios se aplican inmediatamente."

#: includes/class-admin.php:535
msgid "Maintenance, backups and plugin monitoring."
msgstr "Mantenimiento, copias de seguridad y monitorización del plugin."

#. translators: 1: module name (bold); 2: what the module is for, e.g. "write articles with AI".
#: includes/class-admin.php:680
#, php-format
msgid "The %1$s module is disabled. Enable it from Settings to %2$s."
msgstr "El módulo %1$s está desactivado. Actívalo desde Ajustes para %2$s."

#: includes/class-admin.php:687
msgid "Go to Settings → Modules"
msgstr "Ir a Ajustes → Módulos"

#: includes/class-admin.php:695
msgid "write articles with AI"
msgstr "redactar artículos con IA"

#: includes/class-admin.php:701
msgid "generate featured images with AI"
msgstr "generar imágenes destacadas con IA"

#: includes/class-admin.php:707
msgid "translate posts to other languages"
msgstr "traducir publicaciones a otros idiomas"

#: includes/class-admin.php:713
msgid "schedule automatic content creation"
msgstr "programar la creación automática de contenido"

#: includes/class-admin.php:719
msgid "link your posts by topical relevance"
msgstr "enlazar tus publicaciones por relevancia temática"

#: includes/class-admin.php:724
msgid "let the AI use your verified information when writing"
msgstr "que la IA use tu información verificada al redactar"

#: includes/class-admin.php:936
#: includes/class-admin.php:976
#: admin/js/admin.js:615
#: admin/js/admin.js:690
msgid "New pillar page"
msgstr "Nueva página pilar"

#: includes/class-admin.php:941
msgid "Define the key pages of your content architecture. Linking rules will point to these pages."
msgstr "Define las páginas clave de tu arquitectura de contenido. Las reglas de enlazado apuntarán a estas páginas."

#: includes/class-admin.php:952
msgid "Total pillars"
msgstr "Pilares totales"

#: includes/class-admin.php:957
msgid "Links to pillars"
msgstr "Enlaces a pilares"

#: includes/class-admin.php:962
msgid "Active languages"
msgstr "Idiomas activos"

#: includes/class-admin.php:967
msgid "links per pillar"
msgstr "enlaces por pilar"

#: includes/class-admin.php:968
msgid "Average per pillar"
msgstr "Media por pilar"

#: includes/class-admin.php:983
#: includes/class-admin.php:1054
#: includes/class-admin.php:2475
#: modules/content/views/page-content.php:228
msgid "Name"
msgstr "Nombre"

#: includes/class-admin.php:984
msgid "E.g. Internal linking guide for WordPress"
msgstr "Ej: Guía de enlazado interno en WordPress"

#: includes/class-admin.php:995
#: includes/class-admin.php:1053
#: includes/class-admin.php:1232
#: includes/class-admin.php:1399
#: modules/knowledge_base/views/page-entries.php:261
#: modules/pipeline/views/page-pipeline.php:464
#: modules/pipeline/views/page-pipeline.php:558
#: admin/js/admin.js:853
#: modules/pipeline/pipeline.js:1283
msgid "Language"
msgstr "Idioma"

#: includes/class-admin.php:997
#: includes/class-admin.php:1023
#: includes/class-admin.php:1329
#: includes/views/page-exitos.php:72
#: includes/views/page-exitos.php:83
#: modules/images/views/page-images.php:47
#: modules/pipeline/views/page-pipeline.php:742
#: modules/semantic/views/page-semantic.php:191
msgid "All"
msgstr "Todos"

#: includes/class-admin.php:1009
#: includes/class-admin.php:1316
#: includes/class-admin.php:1883
#: includes/class-admin.php:2318
#: modules/content/views/page-content.php:949
#: modules/content/views/page-content.php:1450
#: modules/content/views/page-content.php:1482
#: modules/images/views/page-images.php:166
#: modules/knowledge_base/views/page-bases.php:149
#: modules/knowledge_base/views/page-bases.php:176
#: modules/knowledge_base/views/page-entries.php:125
#: modules/knowledge_base/views/page-entries.php:310
#: modules/knowledge_base/views/page-entries.php:443
#: modules/knowledge_base/views/page-entries.php:463
#: modules/pipeline/views/page-pipeline.php:776
#: modules/pipeline/views/page-pipeline.php:920
#: modules/semantic/views/page-semantic.php:21
#: modules/semantic/views/page-semantic.php:37
#: modules/semantic/views/page-semantic.php:75
#: admin/js/admin.js:166
#: admin/js/admin.js:1299
#: admin/js/page-onboarding.js:66
msgid "Cancel"
msgstr "Cancelar"

#: includes/class-admin.php:1012
#: includes/class-admin.php:2801
msgid "Save changes"
msgstr "Guardar cambios"

#: includes/class-admin.php:1021
#: modules/semantic/views/page-semantic.php:219
msgid "LANGUAGE"
msgstr "IDIOMA"

#: includes/class-admin.php:1038
msgid "Search pillar or URL…"
msgstr "Buscar pilar o URL…"

#: includes/class-admin.php:1048
#: admin/js/admin.js:688
msgid "No pillar pages yet."
msgstr "Todavía no hay páginas pilar."

#: includes/class-admin.php:1049
msgid "Create the first one with the \"New pillar page\" button."
msgstr "Crea la primera con el botón \"Nueva página pilar\"."

#: includes/class-admin.php:1056
#: includes/class-admin.php:1405
#: includes/class-elementor-meta-box.php:257
msgid "Links"
msgstr "Enlaces"

#. translators: %s: total number of pillar pages.
#: includes/class-admin.php:1076
#, php-format
msgid "Showing 100 of %s pillar pages."
msgstr "Mostrando 100 de %s páginas pilar."

#: includes/class-admin.php:1112
#: includes/class-admin.php:1538
#: modules/pipeline/views/page-pipeline.php:208
#: modules/pipeline/pipeline.js:1275
msgid "Edit"
msgstr "Editar"

#: includes/class-admin.php:1115
#: includes/class-admin.php:1384
#: includes/class-admin.php:1544
#: includes/class-admin.php:2523
#: modules/pipeline/views/page-pipeline.php:214
msgid "Delete"
msgstr "Eliminar"

#: includes/class-admin.php:1158
msgid "Apply the active rules to all posts on the site"
msgstr "Aplicar las reglas activas a todos los posts del sitio"

#: includes/class-admin.php:1160
msgid "Apply links"
msgstr "Aplicar enlaces"

#: includes/class-admin.php:1164
#: includes/class-admin.php:1222
#: admin/js/admin.js:1310
msgid "New rule"
msgstr "Nueva regla"

#: includes/class-admin.php:1169
msgid "When a keyword appears in any post, it is automatically turned into a link to the URL or pillar page you specify."
msgstr "Cuando una palabra clave aparezca en cualquier publicación, se convertirá automáticamente en un enlace hacia la URL o página pilar que indiques."

#: includes/class-admin.php:1187
msgid "Total rules"
msgstr "Reglas totales"

#: includes/class-admin.php:1192
msgid "% in use"
msgstr "% en uso"

#: includes/class-admin.php:1193
#: includes/class-admin.php:2630
msgid "Active"
msgstr "Activa"

#: includes/class-admin.php:1198
msgid "Links generated"
msgstr "Enlaces generados"

#: includes/class-admin.php:1203
msgid "links"
msgstr "enlaces"

#: includes/class-admin.php:1204
msgid "Average per rule"
msgstr "Media por regla"

#: includes/class-admin.php:1211
#: admin/js/admin.js:1404
msgid "Processing posts…"
msgstr "Procesando posts…"

#: includes/class-admin.php:1215
#: includes/class-admin.php:2315
#: admin/js/admin.js:750
#: modules/semantic/semantic.js:693
msgid "Preparing…"
msgstr "Preparando…"

#: includes/class-admin.php:1242
#: modules/content/views/page-content.php:1231
#: modules/translation/views/page-translation.php:72
#: modules/translation/views/page-translation.php:144
msgid "All languages"
msgstr "Todos los idiomas"

#: includes/class-admin.php:1247
#: includes/class-admin.php:1403
#: admin/js/admin.js:854
msgid "Priority"
msgstr "Prioridad"

#: includes/class-admin.php:1254
msgid "Max. links / post"
msgstr "Máx. enlaces / post"

#: includes/class-admin.php:1267
msgid "AI: generate synonyms and plurals"
msgstr "IA: generar sinónimos y plurales"

#: includes/class-admin.php:1278
#: includes/class-admin.php:1400
msgid "Keyword"
msgstr "Keyword"

#: includes/class-admin.php:1279
#: modules/pipeline/views/page-pipeline.php:555
msgid "e.g. health insurance"
msgstr "ej: seguro de salud"

#: includes/class-admin.php:1283
#: includes/class-admin.php:1401
msgid "Synonyms"
msgstr "Sinónimos"

#: includes/class-admin.php:1284
msgid "(one per line)"
msgstr "(uno por línea)"

#: includes/class-admin.php:1287
msgid "health cover&#10;medical coverage&#10;health policy"
msgstr "seguro médico&#10;cobertura médica&#10;póliza de salud"

#: includes/class-admin.php:1291
msgid "Target pillar page"
msgstr "Página pilar destino"

#: includes/class-admin.php:1293
msgid "select pillar"
msgstr "seleccionar pilar"

#: includes/class-admin.php:1295
msgid "Or direct URL"
msgstr "O URL directa"

#: includes/class-admin.php:1304
msgid "How do rules work?"
msgstr "¿Cómo funcionan las reglas?"

#: includes/class-admin.php:1308
msgid "Keyword:"
msgstr "Keyword:"

#: includes/class-admin.php:1308
msgid "the exact word the plugin will look for in each article and turn into a link."
msgstr "la palabra exacta que el plugin buscará en cada artículo y convertirá en enlace."

#: includes/class-admin.php:1309
msgid "Synonyms:"
msgstr "Sinónimos:"

#: includes/class-admin.php:1309
msgid "variants that will also generate the same link (plurals, genders, related expressions)."
msgstr "variantes que también generarán el mismo enlace (plurales, géneros, expresiones relacionadas)."

#: includes/class-admin.php:1310
#: modules/content/content.js:1758
msgid "Language:"
msgstr "Idioma:"

#: includes/class-admin.php:1310
msgid "the rule only applies to posts written in that language (detected via Polylang)."
msgstr "la regla solo se aplica a posts escritos en ese idioma (detectado via Polylang)."

#: includes/class-admin.php:1311
msgid "Priority:"
msgstr "Prioridad:"

#: includes/class-admin.php:1311
msgid "when several rules compete for the same post, those with higher priority are applied first."
msgstr "cuando varias reglas compiten por el mismo post, las de mayor prioridad se aplican primero."

#: includes/class-admin.php:1312
msgid "Max. links / post:"
msgstr "Máx. enlaces / post:"

#: includes/class-admin.php:1312
msgid "how many times this link can be inserted in the same article."
msgstr "cuántas veces puede insertarse este enlace en un mismo artículo."

#: includes/class-admin.php:1319
msgid "Save rule"
msgstr "Guardar regla"

#: includes/class-admin.php:1346
msgid "Active only"
msgstr "Solo activas"

#: includes/class-admin.php:1354
msgid "Search keyword or URL…"
msgstr "Buscar palabra clave o URL…"

#: includes/class-admin.php:1355
#: modules/content/views/page-content.php:1124
#: modules/pipeline/views/page-pipeline.php:810
#: modules/translation/views/page-translation.php:55
msgid "Clear"
msgstr "Vaciar"

#: includes/class-admin.php:1357
msgid "results"
msgstr "resultados"

#: includes/class-admin.php:1365
msgid "No linking rules yet."
msgstr "Todavía no hay reglas de enlazado."

#: includes/class-admin.php:1366
msgid "Create the first one with the \"New rule\" button."
msgstr "Crea la primera con el botón \"Nueva regla\"."

#: includes/class-admin.php:1372
#: modules/images/views/page-images.php:80
#: modules/knowledge_base/views/page-entries.php:76
msgid "selected"
msgstr "seleccionadas"

#: includes/class-admin.php:1376
msgid "Activate"
msgstr "Activar"

#: includes/class-admin.php:1380
msgid "Deactivate"
msgstr "Desactivar"

#: includes/class-admin.php:1387
msgid "Deselect all"
msgstr "Deseleccionar todo"

#: includes/class-admin.php:1402
msgid "Pillar / URL"
msgstr "Pilar / URL"

#: includes/class-admin.php:1404
msgid "Max"
msgstr "Máx"

#: includes/class-admin.php:1406
#: includes/views/page-exitos.php:71
#: modules/images/views/page-images.php:99
#: modules/pipeline/views/page-pipeline.php:714
#: modules/pipeline/pipeline.js:683
#: modules/pipeline/pipeline.js:1267
msgid "Status"
msgstr "Estado"

#: includes/class-admin.php:1493
msgid "no synonyms"
msgstr "sin sinónimos"

#: includes/class-admin.php:1531
msgid "Deactivate rule"
msgstr "Desactivar regla"

#: includes/class-admin.php:1531
msgid "Activate rule"
msgstr "Activar regla"

#: includes/class-admin.php:1541
msgid "Reprocess rule on all posts"
msgstr "Reprocesar regla en todos los posts"

#. translators: %d: number of articles from which outbound links were removed.
#: includes/class-admin.php:1576
#, php-format
msgid "URL added to exclusions. Outbound links were removed from %d article."
msgid_plural "URL added to exclusions. Outbound links were removed from %d articles."
msgstr[0] "URL añadida a exclusiones. Se han eliminado los enlaces salientes de %d artículo."
msgstr[1] "URL añadida a exclusiones. Se han eliminado los enlaces salientes de %d artículos."

#: includes/class-admin.php:1585
msgid "URL added to exclusions."
msgstr "URL añadida a exclusiones."

#: includes/class-admin.php:1590
msgid "That URL was already excluded."
msgstr "Esa URL ya estaba excluida."

#: includes/class-admin.php:1598
msgid "URL removed from the list. From now on this page will generate outbound links normally again."
msgstr "URL eliminada de la lista. A partir de ahora esta página volverá a generar enlaces salientes normalmente."

#. translators: %d: number of excluded URLs.
#: includes/class-admin.php:1611
#, php-format
msgid "%d URL excluded"
msgid_plural "%d URLs excluded"
msgstr[0] "%d URL excluida"
msgstr[1] "%d URLs excluidas"

#: includes/class-admin.php:1618
msgid "Pages you add here will not receive outbound links generated by the plugin. They can still receive inbound links from other articles."
msgstr "Las páginas que añadas aquí no recibirán enlaces salientes generados por el plugin. Sí podrán seguir recibiendo enlaces entrantes desde otros artículos."

#: includes/class-admin.php:1636
msgid "Note:"
msgstr "Nota:"

#: includes/class-admin.php:1636
msgid "when you exclude a page, its outbound links are removed automatically. If you re-enable it, use \"Process posts\" to regenerate them."
msgstr "al excluir una página, sus enlaces salientes se eliminan automáticamente. Si la reactivas, usa \"Procesar posts\" para regenerarlos."

#: includes/class-admin.php:1637
msgid "New articles will respect it, but existing ones need to be reprocessed."
msgstr "Los nuevos artículos sí los respetarán, pero los existentes necesitan reprocesarse."

#: includes/class-admin.php:1641
msgid "Go to Rules and process posts"
msgstr "Ir a Reglas y procesar posts"

#: includes/class-admin.php:1653
msgid "Exclude a URL"
msgstr "Excluir una URL"

#: includes/class-admin.php:1660
msgid "Page URL"
msgstr "URL de la página"

#. translators: 1: example relative path in <code>; 2: example full URL in <code>.
#: includes/class-admin.php:1673
#, php-format
msgid "Relative path %1$s or full URL %2$s"
msgstr "Ruta relativa %1$s o URL completa %2$s"

#: includes/class-admin.php:1681
msgid "Add to list"
msgstr "Añadir a la lista"

#. translators: 1: "do not insert" emphasized; 2: "keep receiving" emphasized.
#: includes/class-admin.php:1691
#, php-format
msgid "Excluded pages %1$s outbound links to pillar pages. They can %2$s inbound links from other articles. When you exclude a URL, the outbound links that page already had are removed."
msgstr "Las páginas excluidas %1$s enlaces salientes hacia páginas pilar. Sí pueden %2$s enlaces entrantes desde otros artículos. Al excluir una URL, se eliminan los enlaces salientes que esa página ya tenía insertados."

#: includes/class-admin.php:1692
msgid "do not insert"
msgstr "no insertan"

#: includes/class-admin.php:1693
msgid "keep receiving"
msgstr "seguir recibiendo"

#: includes/class-admin.php:1709
msgid "No active exclusions"
msgstr "Sin exclusiones activas"

#: includes/class-admin.php:1710
msgid "The plugin will apply linking across all published content"
msgstr "El plugin aplicará el enlazado en todos los contenidos publicados"

#: includes/class-admin.php:1715
msgid "Excluded URL"
msgstr "URL excluida"

#: includes/class-admin.php:1728
#: includes/class-admin.php:2511
#: modules/pipeline/views/page-pipeline.php:542
msgid "Remove"
msgstr "Eliminar"

#. translators: %d: number of URLs in the exclusion list.
#: includes/class-admin.php:1736
#, php-format
msgid "%d URL in the exclusion list"
msgid_plural "%d URLs in the exclusion list"
msgstr[0] "%d URL en la lista de exclusión"
msgstr[1] "%d URLs en la lista de exclusión"

#: includes/class-admin.php:1765
msgid "Backups"
msgstr "Copias de seguridad"

#: includes/class-admin.php:1787
msgid "Backup"
msgstr "Copia de seguridad"

#: includes/class-admin.php:1788
msgid "Export the entire plugin as a .json. When restoring, you can choose which parts to recover."
msgstr "Exporta todo el plugin en un .json. Al restaurar, podrás elegir qué partes recuperar."

#: includes/class-admin.php:1798
#: includes/views/page-exitos.php:21
msgid "Export"
msgstr "Exportar"

#. translators: %s: ".json" file extension in <code>.
#: includes/class-admin.php:1804
#, php-format
msgid "Generates a %s that contains everything you have customized in the plugin."
msgstr "Genera un %s que contiene todo lo que has personalizado en el plugin."

#: includes/class-admin.php:1811
msgid "Pillar pages and rules"
msgstr "Páginas pilar y reglas"

#: includes/class-admin.php:1813
msgid "Image and content templates"
msgstr "Plantillas de imagen y contenido"

#: includes/class-admin.php:1814
msgid "Knowledge bases and entries"
msgstr "Bases de conocimiento y fichas"

#: includes/class-admin.php:1815
msgid "Scheduled automations"
msgstr "Automatizaciones programadas"

#: includes/class-admin.php:1816
#: admin/js/admin.js:1785
msgid "Global settings"
msgstr "Ajustes globales"

#: includes/class-admin.php:1817
msgid "OpenAI API key (security)"
msgstr "API key de OpenAI (seguridad)"

#: includes/class-admin.php:1821
msgid "Download .json backup"
msgstr "Descargar backup .json"

#: includes/class-admin.php:1829
msgid "Restore"
msgstr "Restaurar"

#. translators: %s: ".json" file extension in <code>.
#: includes/class-admin.php:1835
#, php-format
msgid "Upload a %s exported from the plugin. We will show you what it contains and you choose what to restore."
msgstr "Sube un %s exportado del plugin. Te mostraremos lo que contiene y elegirás qué restaurar."

#: includes/class-admin.php:1844
#: admin/js/admin.js:1913
msgid "Drag the .json here"
msgstr "Arrastra el .json aquí"

#: includes/class-admin.php:1852
msgid "Select what you want to restore:"
msgstr "Selecciona qué quieres restaurar:"

#. translators: %s: the word "Merge" emphasized.
#: includes/class-admin.php:1861
#, php-format
msgid "%s — adds without deleting existing data"
msgstr "%s — añade sin eliminar lo existente"

#: includes/class-admin.php:1862
#: includes/class-admin.php:1964
msgid "Merge"
msgstr "Combinar"

#. translators: %s: the word "Replace" emphasized.
#: includes/class-admin.php:1871
#, php-format
msgid "%s — deletes the selected sections before importing"
msgstr "%s — borra las secciones seleccionadas antes de importar"

#: includes/class-admin.php:1872
#: includes/class-admin.php:1974
#: includes/class-admin.php:2507
#: includes/class-admin.php:2640
#: admin/js/admin.js:2858
msgid "Replace"
msgstr "Reemplazar"

#: includes/class-admin.php:1881
#: admin/js/admin.js:1967
#: admin/js/admin.js:1973
#: admin/js/admin.js:1980
msgid "Restore selection"
msgstr "Restaurar selección"

#: includes/class-admin.php:1898
msgid "Linking rules — CSV"
msgstr "Reglas de enlazado — CSV"

#: includes/class-admin.php:1899
msgid "Export and import rules from Excel or any spreadsheet"
msgstr "Exporta e importa reglas desde Excel o cualquier hoja de cálculo"

#: includes/class-admin.php:1907
msgid "Export rules to CSV"
msgstr "Exportar reglas a CSV"

#. translators: %s: ".csv" file extension in <code>.
#: includes/class-admin.php:1913
#, php-format
msgid "Download all rules in %s format, compatible with Excel, Google Sheets or LibreOffice."
msgstr "Descarga todas las reglas en formato %s compatible con Excel, Google Sheets o LibreOffice."

#: includes/class-admin.php:1921
msgid "Download CSV"
msgstr "Descargar CSV"

#: includes/class-admin.php:1927
msgid "Import rules from CSV"
msgstr "Importar reglas desde CSV"

#. translators: %s: ".csv" file extension in <code>.
#: includes/class-admin.php:1933
#, php-format
msgid "Upload a %s with the format shown. Rows with the same keyword update the existing rule."
msgstr "Sube un %s con el formato indicado. Filas con la misma keyword actualizan la regla existente."

#: includes/class-admin.php:1940
msgid "View required CSV structure"
msgstr "Ver estructura requerida del CSV"

#: includes/class-admin.php:1942
msgid "The first row must be the header with these columns:"
msgstr "La primera fila debe ser la cabecera con estas columnas:"

#: includes/class-admin.php:1944
msgid "Column"
msgstr "Columna"

#: includes/class-admin.php:1944
#: views/page-onboarding.php:151
msgid "Required"
msgstr "Imprescindible"

#: includes/class-admin.php:1944
#: modules/content/views/page-content.php:1164
#: modules/knowledge_base/views/page-bases.php:124
msgid "Description"
msgstr "Descripción"

#: includes/class-admin.php:1944
msgid "Example"
msgstr "Ejemplo"

#: includes/class-admin.php:1946
msgid "Exact word to link"
msgstr "Palabra exacta a enlazar"

#: includes/class-admin.php:1946
msgid "health insurance"
msgstr "seguro de salud"

#: includes/class-admin.php:1947
msgid "Synonyms separated by | (pipe)"
msgstr "Sinónimos separados por | (pipe)"

#: includes/class-admin.php:1947
msgid "health cover|coverage"
msgstr "seguro médico|cobertura"

#: includes/class-admin.php:1948
msgid "Full target URL"
msgstr "URL completa de destino"

#: includes/class-admin.php:1949
msgid "Language code (es, en, fr…)"
msgstr "Código de idioma (es, en, fr…)"

#: includes/class-admin.php:1950
msgid "Number 1–100. Default: 50"
msgstr "Número 1–100. Por defecto: 50"

#: includes/class-admin.php:1951
msgid "Max. links per post. Default: 1"
msgstr "Máx. enlaces por post. Por defecto: 1"

#: includes/class-admin.php:1952
msgid "1 = active, 0 = disabled"
msgstr "1 = activa, 0 = desactivada"

#: includes/class-admin.php:1955
msgid "The separator can be comma or semicolon — it is detected automatically. Columns in any order."
msgstr "El separador puede ser coma o punto y coma — se detecta automáticamente. Columnas en cualquier orden."

#. translators: %s: the word "Merge" emphasized.
#: includes/class-admin.php:1963
#, php-format
msgid "%s — adds without deleting existing ones"
msgstr "%s — añade sin eliminar existentes"

#. translators: %s: the word "Replace" emphasized.
#: includes/class-admin.php:1973
#, php-format
msgid "%s — deletes all rules before importing"
msgstr "%s — elimina todas las reglas antes de importar"

#: includes/class-admin.php:1982
msgid "Drag the .csv here or click"
msgstr "Arrastra el .csv aquí o haz clic"

#: includes/class-admin.php:1987
msgid "Select file"
msgstr "Seleccionar archivo"

#: includes/class-admin.php:1992
#: admin/js/admin.js:1753
msgid "Import rules"
msgstr "Importar reglas"

#: includes/class-admin.php:2068
#: includes/class-admin.php:2555
msgid "Modules"
msgstr "Módulos"

#: includes/class-admin.php:2096
#: modules/knowledge_base/views/page-entries.php:112
#: modules/knowledge_base/views/page-entries.php:414
msgid "Content"
msgstr "Contenido"

#: includes/class-admin.php:2120
msgid "Notifications"
msgstr "Notificaciones"

#: includes/class-admin.php:2125
#: includes/class-admin.php:2839
msgid "License"
msgstr "Licencia"

#: includes/class-admin.php:2144
msgid "Settings sections"
msgstr "Secciones de Ajustes"

#: includes/class-admin.php:2175
msgid "Linking behavior"
msgstr "Comportamiento del enlazado"

#: includes/class-admin.php:2176
msgid "Control where and how many links the plugin inserts"
msgstr "Controla dónde y cuántos enlaces inserta el plugin"

#: includes/class-admin.php:2184
msgid "Apply linking in (source)"
msgstr "Aplicar enlazado en (origen)"

#: includes/class-admin.php:2185
msgid "Content types <strong>where</strong> the plugin will insert links automatically. Applies to both rules and semantic linking. Recommended: only <em>Post</em> — your pillar pages should stay intact."
msgstr "Tipos de contenido <strong>donde</strong> el plugin insertará enlaces automáticamente. Aplica tanto a reglas como al enlazado semántico. Recomendado: solo <em>Entrada</em> — tus páginas pilar deben quedar intactas."

#: includes/class-admin.php:2209
msgid "Allow as target"
msgstr "Permitir como destino"

#: includes/class-admin.php:2210
msgid "Content types <strong>toward</strong> which links can be generated. For pyramidal SEO architecture, check <em>Post</em> + <em>Page</em>: your blog posts will link to the pillar pages without these being modified."
msgstr "Tipos de contenido <strong>hacia</strong> los que se pueden generar enlaces. Para arquitectura piramidal SEO, marca <em>Entrada</em> + <em>Página</em>: tus posts del blog enlazarán a las páginas pilar sin que estas reciban modificaciones."

#: includes/class-admin.php:2231
msgid "Maximum links per post (rules)"
msgstr "Máximo de enlaces por post (reglas)"

#: includes/class-admin.php:2232
msgid "Maximum number of links that <strong>linking rules</strong> can insert in a single post. This limit applies only to links generated by rules, not to semantic linking (which has its own limit). Recommended: between 3 and 5."
msgstr "Número máximo de enlaces que las <strong>reglas de enlazado</strong> pueden insertar en un mismo post. Este límite aplica solo a los enlaces generados por reglas, no al enlazado semántico (que tiene su propio límite). Recomendado: entre 3 y 5."

#: includes/class-admin.php:2240
#: includes/class-admin.php:2291
#: includes/class-admin.php:2383
#: includes/class-admin.php:2526
#: includes/class-admin.php:2656
#: includes/class-admin.php:3058
#: modules/knowledge_base/views/page-bases.php:152
#: modules/knowledge_base/views/page-entries.php:128
msgid "Save"
msgstr "Guardar"

#: includes/class-admin.php:2262
msgid "Configuration of the smart linking module between posts"
msgstr "Configuración del módulo de enlaces inteligentes entre publicaciones"

#: includes/class-admin.php:2266
msgid "The <strong>Semantic linking</strong> module is not enabled. Enable it in the Modules section to configure it."
msgstr "El módulo <strong>Enlazado semántico</strong> no está activado. Actívalo en la sección Módulos para configurarlo."

#: includes/class-admin.php:2273
msgid "Maximum semantic links per post"
msgstr "Enlaces semánticos máximos por publicación"

#: includes/class-admin.php:2274
msgid "How many smart links between related posts the semantic module can insert in each post. This limit is independent of the linking rules. Recommended: 3."
msgstr "Cuántos enlaces inteligentes entre publicaciones relacionadas puede insertar el módulo semántico en cada post. Este límite es independiente de las reglas de enlazado. Recomendado: 3."

#: includes/class-admin.php:2282
msgid "Minimum relevance score"
msgstr "Puntuación mínima de relevancia"

#: includes/class-admin.php:2283
msgid "Links are only created when relevance exceeds this value (0–100). Higher values = more precision, fewer links. Recommended: 65."
msgstr "Solo se crean enlaces cuando la relevancia supera este valor (0–100). Valores altos = más precisión, menos enlaces. Recomendado: 65."

#: includes/class-admin.php:2310
msgid "Linking settings updated"
msgstr "Ajustes de enlazado actualizados"

#: includes/class-admin.php:2311
msgid "The change in the maximum number of links affects all articles. To apply the new configuration, a full crawl needs to run."
msgstr "El cambio en el número máximo de enlaces afecta a todos los artículos. Para aplicar la nueva configuración es necesario ejecutar un rastreo completo."

#: includes/class-admin.php:2315
msgid "0 links"
msgstr "0 enlaces"

#: includes/class-admin.php:2319
msgid "Crawl now"
msgstr "Rastrear ahora"

#: includes/class-admin.php:2341
msgid "Content creation"
msgstr "Creación de contenido"

#: includes/class-admin.php:2342
msgid "Configure the default options for the content creation module"
msgstr "Configura las opciones predeterminadas del módulo de creación de contenido"

#: includes/class-admin.php:2354
msgid "Show predefined templates"
msgstr "Mostrar plantillas predefinidas"

#: includes/class-admin.php:2355
msgid "Shows the plugin's predefined templates in the dropdown and the templates table of the Create content module. Custom templates you have created are always shown."
msgstr "Muestra las plantillas predefinidas del plugin en el desplegable y la tabla de plantillas del módulo Crear contenido. Las plantillas personalizadas que hayas creado siempre se mostrarán."

#: includes/class-admin.php:2365
msgid "Generate SEO-optimized slug"
msgstr "Generar slug optimizado para SEO"

#: includes/class-admin.php:2366
msgid "Creates short URLs focused on the main keywords: removes connectors (<em>el, la, the, of</em>...) and filler (<em>step-by-step guide, complete guide</em>...) from the title, and truncates to Google's recommended maximum. Applies to new content and its automatic translations. Supports Spanish, English, French, German, Italian, Portuguese, Dutch, Polish, Russian and Japanese. Already-published articles are never modified."
msgstr "Crea URLs cortas centradas en las palabras clave principales: elimina conectores (<em>el, la, the, of</em>...) y muletillas (<em>guía paso a paso, complete guide</em>...) del título, y trunca al máximo recomendado por Google. Aplica al contenido nuevo y a sus traducciones automáticas. Soporta español, inglés, francés, alemán, italiano, portugués, neerlandés, polaco, ruso y japonés. Los artículos ya publicados nunca se modifican."

#: includes/class-admin.php:2376
msgid "Disable comments site-wide"
msgstr "Deshabilitar comentarios en todo el sitio"

#: includes/class-admin.php:2377
msgid "Completely disables the WordPress comment system: closes comments and trackbacks on all posts and pages (existing and new), hides the comment box on the frontend, removes the admin menu link and removes the recent comments widget. Recommended for purely SEO sites with no user interaction."
msgstr "Desactiva por completo el sistema de comentarios de WordPress: cierra los comentarios y trackbacks en todas las entradas y páginas (existentes y nuevas), oculta la caja de comentarios en el frontend, elimina el enlace del menú de administración y quita el widget de comentarios recientes. Recomendado para sitios puramente SEO sin interacción con usuarios."

#: includes/class-admin.php:2394
msgid "AI templates"
msgstr "Plantillas con IA"

#: includes/class-admin.php:2395
msgid "Generate a complete template with help from an AI: download the instructions file, ask ChatGPT or Claude to fill in the values, and import it back here to save it as a new template."
msgstr "Genera una plantilla completa con ayuda de una IA: descarga el archivo de instrucciones, pídele a ChatGPT o Claude que rellene los valores, y vuelve a importarlo aquí para guardarlo como plantilla nueva."

#: includes/class-admin.php:2401
msgid "Download the instructions file (it contains every field of a template, with its valid values)."
msgstr "Descarga el archivo de instrucciones (contiene todos los campos de una plantilla, con sus valores válidos)."

#: includes/class-admin.php:2402
msgid "Pass it to an AI with your topic and ask it to fill in the <code>value</code> field of each field."
msgstr "Pásaselo a una IA con tu tema y pídele que rellene el campo <code>valor</code> de cada campo."

#: includes/class-admin.php:2403
msgid "Import the filled file, give it a name and it will be added to your templates."
msgstr "Importa el archivo rellenado, dale un nombre y se añadirá a tus plantillas."

#: includes/class-admin.php:2408
msgid "Download instructions"
msgstr "Descargar instrucciones"

#: includes/class-admin.php:2412
msgid "Import template"
msgstr "Importar plantilla"

#: includes/class-admin.php:2436
msgid "Image prompt templates"
msgstr "Plantillas de prompt de imagen"

#: includes/class-admin.php:2437
msgid "Define reusable templates with detailed visual-style instructions. When creating an article you can select a template so its instructions are sent to the scene director along with the article context, generating the featured image."
msgstr "Define plantillas reutilizables con instrucciones detalladas de estilo visual. Al crear un artículo podrás seleccionar una plantilla para que sus instrucciones se envíen al director de escena junto al contexto del artículo y generar así la imagen destacada."

#: includes/class-admin.php:2449
#: modules/images/views/page-images.php:67
#: admin/js/exitos.js:299
#: modules/semantic/semantic.js:1037
#: modules/semantic/semantic.js:1038
msgid "Loading…"
msgstr "Cargando…"

#: includes/class-admin.php:2457
msgid "Select a template from the list or create a new one."
msgstr "Selecciona una plantilla de la lista o crea una nueva."

#: includes/class-admin.php:2467
msgid "This template comes bundled with the plugin. You can select it when generating images, but you cannot edit or delete it. To customize it, create a new template with the \"New template\" button."
msgstr "Esta plantilla viene incluida con el plugin. Puedes seleccionarla al generar imágenes, pero no editarla ni eliminarla. Para personalizarla, crea una nueva plantilla con el botón «Nueva plantilla»."

#: includes/class-admin.php:2476
msgid "E.g. Warm editorial photography"
msgstr "Ej: Fotografía editorial cálida"

#: includes/class-admin.php:2480
msgid "Short description"
msgstr "Descripción breve"

#: includes/class-admin.php:2481
msgid "What this template is for, what it conveys. Shown in the form selector."
msgstr "Para qué sirve esta plantilla, qué transmite. Se muestra en el selector del formulario."

#: includes/class-admin.php:2485
msgid "Detailed instructions"
msgstr "Instrucciones detalladas"

#: includes/class-admin.php:2486
msgid "Describe light, palette, lens, texture, people, composition, constraints in detail… These instructions are sent to the scene director when generating the image."
msgstr "Describe con detalle luz, paleta, lente, textura, personas, composición, restricciones… Estas instrucciones se envían al director de escena al generar la imagen."

#: includes/class-admin.php:2487
msgid "Added to the prompt alongside your global instructions. Use clear sections (LIGHT, PALETTE, LENS…) so the model interprets them well."
msgstr "Se añade al prompt junto a tus instrucciones globales. Usa secciones claras (LUZ, PALETA, LENTE…) para que el modelo las interprete bien."

#: includes/class-admin.php:2494
msgid "Example image"
msgstr "Imagen de ejemplo"

#: includes/class-admin.php:2498
msgid "Drag an image here or click to select it"
msgstr "Arrastra una imagen aquí o haz clic para seleccionarla"

#: includes/class-admin.php:2499
msgid "JPG, PNG or WebP · maximum 3 MB"
msgstr "JPG, PNG o WebP · máximo 3 MB"

#: includes/class-admin.php:2516
msgid "Stored on your server in an isolated folder; it is not added to the WordPress media library."
msgstr "Se almacena en tu servidor en una carpeta aislada, no se añade a la biblioteca de medios de WordPress."

#: includes/class-admin.php:2556
msgid "Enable or disable additional plugin features"
msgstr "Activa o desactiva funcionalidades adicionales del plugin"

#: includes/class-admin.php:2567
#: includes/class-admin.php:2579
#: views/page-onboarding.php:243
msgid "Coming soon"
msgstr "Próximamente"

#: includes/class-admin.php:2572
msgid "Requires OpenAI"
msgstr "Requiere OpenAI"

#: includes/class-admin.php:2605
msgid "Artificial intelligence"
msgstr "Inteligencia artificial"

#: includes/class-admin.php:2606
msgid "Connect OpenAI to generate synonyms automatically"
msgstr "Conecta OpenAI para generar sinónimos automáticamente"

#: includes/class-admin.php:2609
msgid "● Connected"
msgstr "● Conectado"

#: includes/class-admin.php:2609
msgid "○ Not configured"
msgstr "○ Sin configurar"

#: includes/class-admin.php:2616
msgid "Key deleted successfully."
msgstr "Clave eliminada correctamente."

#: includes/class-admin.php:2623
msgid "OpenAI API Key"
msgstr "API Key de OpenAI"

#: includes/class-admin.php:2635
msgid "Paste a new key here to replace it"
msgstr "Pega aquí una clave nueva para reemplazarla"

#: includes/class-admin.php:2644
msgid "Leave the field empty if you don't want to change it. To delete it, use the &laquo;Delete key&raquo; button."
msgstr "Deja el campo vacío si no quieres cambiarla. Para eliminarla, usa el botón «Eliminar clave»."

#: includes/class-admin.php:2660
msgid "Get API key"
msgstr "Obtener API key"

#: includes/class-admin.php:2675
msgid "Delete key"
msgstr "Eliminar clave"

#: includes/class-admin.php:2684
msgid "All these features are active"
msgstr "Todas estas funcionalidades están activas"

#: includes/class-admin.php:2687
msgid "&bull; <strong>Content generation</strong> &mdash; Create complete articles with customizable structure, tone and length<br>&bull; <strong>Automatic translations</strong> &mdash; Translate your posts to multiple languages with professional quality<br>&bull; <strong>Semantic linking</strong> &mdash; Detect relationships between posts and create internal links with AI<br>&bull; <strong>Image generation</strong> &mdash; Create photorealistic featured images with SEO metadata<br>&bull; <strong>Automations</strong> &mdash; Automate content creation, translation and linking<br>&bull; <strong>Smart synonyms</strong> &mdash; Generate keyword variants automatically"
msgstr "&bull; <strong>Generación de contenido</strong> &mdash; Crea artículos completos con estructura, tono y longitud personalizables<br>&bull; <strong>Traducciones automáticas</strong> &mdash; Traduce tus publicaciones a múltiples idiomas con calidad profesional<br>&bull; <strong>Enlazado semántico</strong> &mdash; Detecta relaciones entre posts y crea enlaces internos con IA<br>&bull; <strong>Generación de imágenes</strong> &mdash; Crea imágenes destacadas fotorrealistas con metadatos SEO<br>&bull; <strong>Automatizaciones</strong> &mdash; Automatiza la creación, traducción y enlazado de contenido<br>&bull; <strong>Sinónimos inteligentes</strong> &mdash; Genera variantes de keywords automáticamente"

#: includes/class-admin.php:2694
msgid "Without an API key, these features will not be available"
msgstr "Sin API key, estas funcionalidades no estarán disponibles"

#: includes/class-admin.php:2697
msgid "&bull; Automatic article generation<br>&bull; Translations to multiple languages<br>&bull; Semantic linking between posts<br>&bull; Featured image generation<br>&bull; Content automations<br>&bull; Automatic synonym generation"
msgstr "&bull; Generación automática de artículos<br>&bull; Traducciones a múltiples idiomas<br>&bull; Enlazado semántico entre publicaciones<br>&bull; Generación de imágenes destacadas<br>&bull; Automatizaciones de contenido<br>&bull; Generación automática de sinónimos"

#: includes/class-admin.php:2720
msgid "Email notifications"
msgstr "Notificaciones por email"

#: includes/class-admin.php:2721
msgid "Get notified when your automations are about to finish, complete, or fail several times in a row."
msgstr "Recibe avisos cuando tus automatizaciones se acerquen al final, terminen, o fallen varias veces seguidas."

#: includes/class-admin.php:2728
msgid "Notification email"
msgstr "Email de notificaciones"

#. translators: %s: site administrator email address.
#: includes/class-admin.php:2735
#, php-format
msgid "If you leave it empty, notifications will be sent to the site administrator email (%s)."
msgstr "Si lo dejas vacío, los avisos se enviarán al email del administrador del sitio (%s)."

#: includes/class-admin.php:2747
msgid "Notify when few titles are left to process"
msgstr "Avisar cuando queden pocos títulos por procesar"

#: includes/class-admin.php:2750
msgid "You will receive an email once per automation when the number of pending titles drops to the threshold. If you add more titles above the threshold, the alert re-arms automatically."
msgstr "Recibirás un email una sola vez por cada automatización cuando la cantidad de títulos pendientes baje hasta el umbral. Si añades más títulos por encima del umbral, el aviso se rearma automáticamente."

#: includes/class-admin.php:2752
msgid "Default threshold"
msgstr "Umbral por defecto"

#: includes/class-admin.php:2756
#: modules/content/views/page-content.php:310
#: modules/pipeline/views/page-pipeline.php:627
msgid "titles"
msgstr "títulos"

#: includes/class-admin.php:2758
msgid "Each automation can use this default value or set its own threshold when editing it."
msgstr "Cada automatización puede usar este valor por defecto o establecer su propio umbral al editarla."

#: includes/class-admin.php:2767
msgid "Notify when an automation finishes"
msgstr "Avisar cuando una automatización finalice"

#: includes/class-admin.php:2770
msgid "You will receive an email when an automation processes all the titles in its list and pauses automatically."
msgstr "Recibirás un email cuando una automatización procese todos los títulos de su lista y se pause automáticamente."

#: includes/class-admin.php:2780
msgid "Notify when an automation fails several times"
msgstr "Avisar cuando una automatización falle varias veces"

#: includes/class-admin.php:2783
msgid "Useful to catch problems early, such as exhausted OpenAI credit, API failures, or template errors."
msgstr "Útil para detectar pronto problemas como crédito de OpenAI agotado, fallos de la API, o errores en la plantilla."

#: includes/class-admin.php:2785
msgid "Notify after"
msgstr "Avisar tras"

#: includes/class-admin.php:2789
msgid "consecutive failures"
msgstr "fallos consecutivos"

#: includes/class-admin.php:2798
msgid "Send test email"
msgstr "Enviar email de prueba"

#: includes/class-admin.php:2840
msgid "Activate your license key to unlock the premium features."
msgstr "Activa tu clave de licencia para desbloquear las funciones premium."

#: includes/class-admin.php:2853
msgid "Expires:"
msgstr "Caduca:"

#. translators: 1: number of active sites; 2: total sites allowed by the license.
#: includes/class-admin.php:2862
#, php-format
msgid "Active sites: %1$s of %2$s"
msgstr "Sitios activos: %1$s de %2$s"

#: includes/class-admin.php:2881
msgid "License key"
msgstr "Clave de licencia"

#: includes/class-admin.php:2888
msgid "Your key is saved. If you need to change it, deactivate the license first and reactivate it with the new one."
msgstr "Tu clave está guardada. Si necesitas cambiarla, desactiva primero la licencia y vuelve a activarla con la nueva."

#: includes/class-admin.php:2892
msgid "e.g. a1b2c3d4e5f6g7h8i9j0..."
msgstr "ej: a1b2c3d4e5f6g7h8i9j0..."

#: includes/class-admin.php:2895
msgid "Paste here the key you received by email after purchase."
msgstr "Pega aquí la clave que recibiste por email tras la compra."

#: includes/class-admin.php:2901
msgid "Customer"
msgstr "Cliente"

#. translators: %s: human-readable time elapsed, e.g. "2 hours".
#: includes/class-admin.php:2916
#, php-format
msgid "Last check: %s ago"
msgstr "Última verificación: hace %s"

#. translators: %s: new version number.
#: includes/class-admin.php:2939
#, php-format
msgid "Update available: v%s"
msgstr "Actualización disponible: v%s"

#. translators: %s: currently installed version number.
#: includes/class-admin.php:2948
#, php-format
msgid "You have version %s installed. The new version includes improvements and fixes."
msgstr "Tienes instalada la versión %s. La nueva versión incluye mejoras y correcciones."

#: includes/class-admin.php:2956
msgid "Update now"
msgstr "Actualizar ahora"

#: includes/class-admin.php:2968
msgid "Deactivate on this site"
msgstr "Desactivar en este sitio"

#: includes/class-admin.php:2971
msgid "Verify now"
msgstr "Verificar ahora"

#: includes/class-admin.php:2974
msgid "Update diagnostics — useful if the update notice doesn't appear"
msgstr "Diagnóstico de actualizaciones — útil si el aviso de update no aparece"

#: includes/class-admin.php:2975
msgid "Diagnose updates"
msgstr "Diagnosticar updates"

#: includes/class-admin.php:2978
msgid "Clears the WordPress and EDD update cache to force a fresh check"
msgstr "Borra la caché de updates de WordPress y EDD para forzar una nueva comprobación"

#: includes/class-admin.php:2979
msgid "Clear cache"
msgstr "Limpiar caché"

#: includes/class-admin.php:2984
#: includes/class-license-gate.php:195
msgid "Activate license"
msgstr "Activar licencia"

#: includes/class-admin.php:2993
msgid "Don't have a license yet?"
msgstr "¿Aún no tienes una licencia?"

#: includes/class-admin.php:2993
msgid "Buy 4Linking"
msgstr "Comprar 4Linking"

#: includes/class-admin.php:3012
msgid "General settings"
msgstr "Ajustes generales"

#: includes/class-admin.php:3013
msgid "General plugin configuration"
msgstr "Configuración general del plugin"

#: includes/class-admin.php:3040
msgid "Show the &laquo;Getting started&raquo; guide in the menu"
msgstr "Mostrar guía «Primeros pasos» en el menú"

#: includes/class-admin.php:3041
msgid "If enabled, the <strong>Getting started</strong> item will appear at the top of the plugin menu, with the welcome screen and demo videos. Disable it once you know the plugin."
msgstr "Si está activado, aparecerá el ítem <strong>Primeros pasos</strong> al principio del menú del plugin con la pantalla de bienvenida y los vídeos demostrativos. Desactívalo cuando ya conozcas el plugin."

#: includes/class-admin.php:3051
msgid "Delete all data on uninstall"
msgstr "Eliminar todos los datos al desinstalar"

#: includes/class-admin.php:3052
msgid "When you delete the plugin, <strong>all database tables</strong> (rules, pillars, templates, semantic links, logs, content queue) and <strong>all configuration options</strong> will be removed. This action is irreversible. Leave this option unchecked if you plan to reinstall the plugin later."
msgstr "Al eliminar el plugin se borrarán <strong>todas las tablas</strong> de la base de datos (reglas, pilares, plantillas, enlaces semánticos, registros, cola de contenido) y <strong>todas las opciones</strong> de configuración. Esta acción es irreversible. Deja esta opción desmarcada si planeas reinstalar el plugin más adelante."

#: includes/class-admin.php:3078
msgid "Cron configuration"
msgstr "Configuración del Cron"

#: includes/class-admin.php:3079
msgid "The cron is the engine that runs automations periodically. Without an active cron, automations will not generate content automatically."
msgstr "El cron es el motor que ejecuta las automatizaciones de forma periódica. Sin un cron activo, las automatizaciones no generarán contenido automáticamente."

#: includes/class-admin.php:3085
msgid "What is the cron and why do you need it?"
msgstr "¿Qué es el cron y para qué lo necesitas?"

#: includes/class-admin.php:3086
msgid "WordPress has a scheduled-task system (WP-Cron) that runs every time someone visits your site. However, if your site has little traffic, the cron may not run often enough for automations to work on time."
msgstr "WordPress tiene un sistema de tareas programadas (WP-Cron) que se ejecuta cada vez que alguien visita tu sitio. Sin embargo, si tu sitio tiene poco tráfico, el cron puede no ejecutarse con la frecuencia necesaria para que las automatizaciones funcionen de forma puntual."

#: includes/class-admin.php:3087
msgid "To make sure automations always run on time — even when nobody visits your site — we recommend setting up an <strong>external cron</strong> that calls your site every minute."
msgstr "Para garantizar que las automatizaciones se ejecuten siempre a tiempo — incluso cuando nadie visita tu web — recomendamos configurar un <strong>cron externo</strong> que llame a tu sitio cada minuto."

#: includes/class-admin.php:3088
msgid "The recommended service is <a href=\"https://cron-job.org\" target=\"_blank\">cron-job.org</a> — it is <strong>free</strong>, reliable and easy to set up."
msgstr "El servicio recomendado es <a href=\"https://cron-job.org\" target=\"_blank\">cron-job.org</a> — es <strong>gratuito</strong>, fiable y fácil de configurar."

#: includes/class-admin.php:3090
msgid "Steps to set up the external cron:"
msgstr "Pasos para configurar el cron externo:"

#: includes/class-admin.php:3092
msgid "Create a free account at <a href=\"https://cron-job.org\" target=\"_blank\">cron-job.org</a>"
msgstr "Crea una cuenta gratuita en <a href=\"https://cron-job.org\" target=\"_blank\">cron-job.org</a>"

#: includes/class-admin.php:3093
msgid "Create a new cronjob with the following URL:"
msgstr "Crea un nuevo cronjob con la siguiente URL:"

#: includes/class-admin.php:3098
msgid "Copy URL"
msgstr "Copiar URL"

#: includes/class-admin.php:3101
msgid "Set the interval to <strong>1 minute</strong> and save."
msgstr "Configura el intervalo a <strong>1 minuto</strong> y guarda."

#. translators: %s: human-readable time since last run, e.g. "2 minutes".
#: includes/class-admin.php:3124
#, php-format
msgid "✓ External cron active — last run %s ago"
msgstr "✓ Cron externo activo — última ejecución hace %s"

#. translators: %s: human-readable time since last run, e.g. "10 minutes".
#: includes/class-admin.php:3132
#, php-format
msgid "⚠ The external cron has not run in the last 5 minutes (last time: %s ago). Check that the cron-job.org job is still active."
msgstr "⚠ El cron externo no se ha ejecutado en los últimos 5 minutos (última vez: hace %s). Revisa que el cronjob de cron-job.org sigue activo."

#: includes/class-admin.php:3137
msgid "⚠ The external cron has never run on this site. Set up the cronjob following the steps above."
msgstr "⚠ El cron externo nunca se ha ejecutado en este sitio. Configura el cronjob siguiendo los pasos anteriores."

#. translators: %s: human-readable time since last run, e.g. "30 minutes".
#: includes/class-admin.php:3153
#, php-format
msgid "<strong>Note:</strong> the internal WordPress cron (WP-Cron) did run %s ago, but it only fires when someone visits the site or has WP-Admin open. For reliable automations you need to set up the external cron."
msgstr "<strong>Ojo:</strong> el cron interno de WordPress (WP-Cron) sí se ejecutó hace %s, pero solo se dispara cuando alguien visita el sitio o tiene WP-Admin abierto. Para automatizaciones fiables hay que configurar el cron externo."

#: includes/class-admin.php:3251
msgid "The API key could not be saved because consent about the BYOK model and the international transfer to OpenAI is missing. Try again from the settings screen; a notice will appear that you must accept to continue."
msgstr "No se ha podido guardar la API key porque falta el consentimiento sobre el modelo BYOK y la transferencia internacional a OpenAI. Inténtalo de nuevo desde la pantalla de ajustes; aparecerá un aviso que debes aceptar para continuar."

#: includes/class-admin.php:3451
msgid "Notifications module not available"
msgstr "Módulo de notificaciones no disponible"

#: includes/class-admin.php:3458
msgid "wp_mail returned false. Check the site's SMTP configuration."
msgstr "wp_mail devolvió false. Revisa la configuración SMTP del sitio."

#: includes/class-ajax.php:1624
msgid "Template saved."
msgstr "Plantilla guardada."

#: includes/class-ajax.php:1634
msgid "Invalid ID."
msgstr "ID no válido."

#: includes/class-ajax.php:1636
msgid "Template deleted."
msgstr "Plantilla eliminada."

#: includes/class-elementor-meta-box.php:71
msgid "Internal linking (Elementor)"
msgstr "Enlazado interno (Elementor)"

#: includes/class-elementor-meta-box.php:112
msgid "Preview which internal links would be inserted into the text and HTML widgets of this page, without saving anything. Then you can apply them."
msgstr "Previsualiza qué enlaces internos se insertarían en los widgets de texto y HTML de esta página, sin guardar nada. Luego puedes aplicarlos."

#. translators: %s: post type slug
#: includes/class-elementor-meta-box.php:120
#, php-format
msgid "Notice: with the current source-type settings, this page (%s) is not linked when applying. The preview works anyway. To link from this type, add it in Settings → General → source types."
msgstr "Aviso: con los ajustes actuales de tipo de origen, esta página (%s) no se enlaza al aplicar. La previsualización funciona igualmente. Para enlazar desde este tipo, añádelo en Ajustes → General → tipos de origen."

#: includes/class-elementor-meta-box.php:129
msgid "Preview"
msgstr "Previsualizar"

#: includes/class-elementor-meta-box.php:132
msgid "Apply now"
msgstr "Aplicar ahora"

#. translators: 1: number of links, 2: number of widgets
#: includes/class-elementor-meta-box.php:231
#, php-format
msgid "%1$d link(s) applied in %2$d widget(s)."
msgstr "%1$d enlace(s) aplicado(s) en %2$d widget(s)."

#: includes/class-elementor-meta-box.php:236
msgid "Nothing was applied (source setting or exclusion)."
msgstr "No se aplicó nada (ajuste de origen o exclusión)."

#. translators: 1: number of links, 2: number of widgets
#: includes/class-elementor-meta-box.php:242
#, php-format
msgid "Preview: %1$d link(s) would be inserted into %2$d widget(s)."
msgstr "Previsualización: se insertarían %1$d enlace(s) en %2$d widget(s)."

#: includes/class-elementor-meta-box.php:248
msgid "Preview: no link would be inserted."
msgstr "Previsualización: no se insertaría ningún enlace."

#: includes/class-elementor-meta-box.php:257
msgid "Widget"
msgstr "Widget"

#: includes/class-elementor-meta-box.php:257
#: includes/views/page-exitos.php:82
#: admin/js/exitos.js:368
msgid "Type"
msgstr "Tipo"

#: includes/class-elementor-meta-box.php:272
msgid "Apply internal links to this page? The Elementor content will be saved."
msgstr "¿Aplicar los enlaces internos a esta página? Se guardará el contenido de Elementor."

#: includes/class-license-gate.php:45
msgid "This premium feature requires an active license. Activate your license in Settings → License."
msgstr "Esta función premium requiere una licencia activa. Activa tu licencia en Ajustes → Licencia."

#: includes/class-license-gate.php:97
msgid "your data"
msgstr "tus datos"

#: includes/class-license-gate.php:119
msgid "Read-only mode · Your license is not active"
msgstr "Modo lectura · Tu licencia no está activa"

#. translators: %s: context label, e.g. "your data" or a section name.
#: includes/class-license-gate.php:123
#, php-format
msgid "You can view %s but you cannot create or modify new content."
msgstr "Puedes consultar %s pero no crear ni modificar contenido nuevo."

#: includes/class-license-gate.php:125
msgid "Your data is safe"
msgstr "Tus datos están a salvo"

#: includes/class-license-gate.php:125
msgid "and will be reactivated when you renew."
msgstr "y se reactivarán al renovar."

#. translators: %s: name of the premium feature being accessed.
#: includes/class-license-gate.php:177
#, php-format
msgid "%s requires a license"
msgstr "%s requiere licencia"

#: includes/class-license-gate.php:183
msgid "Your license has expired. Renew your subscription to use this feature again, along with all the other premium features of the plugin."
msgstr "Tu licencia ha caducado. Renueva tu suscripción para volver a usar esta función y todas las demás funciones premium del plugin."

#: includes/class-license-gate.php:185
msgid "We could not verify your license with the server for several days. Click \"Verify now\" on the license tab to retry."
msgstr "No hemos podido verificar tu licencia con el servidor durante varios días. Pulsa \"Verificar ahora\" en la pestaña de licencia para reintentarlo."

#: includes/class-license-gate.php:187
msgid "This feature is part of the 4Linking premium plan. Activate your license to unlock it, along with content generation, AI images, translations and semantic analysis."
msgstr "Esta función forma parte del plan premium de 4Linking. Activa tu licencia para desbloquearla, junto con creación de contenido, imágenes con IA, traducciones y análisis semántico."

#: includes/class-license-gate.php:195
msgid "Manage license"
msgstr "Gestionar licencia"

#: includes/class-license-gate.php:195
msgid "Verify license"
msgstr "Verificar licencia"

#: includes/class-license-gate.php:201
msgid "Buy license"
msgstr "Comprar licencia"

#. translators: %s: emphasized phrase "still work" wrapped in <em> tags.
#: includes/class-license-gate.php:211
#, php-format
msgid "Features that %s without a license: Pillar pages, Linking rules and Link map."
msgstr "Las funciones que %s sin licencia: Páginas pilar, Reglas de enlazado y Mapa de enlaces."

#: includes/class-license-gate.php:212
msgid "still work"
msgstr "siguen funcionando"

#: includes/views/page-exitos.php:25
#: admin/js/exitos.js:265
#: admin/js/exitos.js:277
msgid "Recalculate all"
msgstr "Recalcular todo"

#: includes/views/page-exitos.php:30
msgid "Complete map of all the internal links on your site, updated in real time."
msgstr "Mapa completo de todos los enlaces internos de tu sitio, actualizado en tiempo real."

#: includes/views/page-exitos.php:38
msgid "Posts"
msgstr "Publicaciones"

#: includes/views/page-exitos.php:39
#: includes/views/page-exitos.php:56
msgid "pages"
msgstr "páginas"

#: includes/views/page-exitos.php:44
#: modules/semantic/semantic.js:533
msgid "Semantic links"
msgstr "Enlaces semánticos"

#: includes/views/page-exitos.php:50
msgid "Rule-based links"
msgstr "Enlaces por reglas"

#: includes/views/page-exitos.php:55
#: includes/views/page-exitos.php:73
#: modules/semantic/views/page-semantic.php:171
#: modules/semantic/views/page-semantic.php:194
msgid "Orphans"
msgstr "Huérfanos"

#: includes/views/page-exitos.php:63
#: modules/images/views/page-images.php:37
msgid "Search by title…"
msgstr "Buscar por título…"

#: includes/views/page-exitos.php:65
#: modules/semantic/views/page-semantic.php:157
msgid "posts"
msgstr "publicaciones"

#: includes/views/page-exitos.php:74
msgid "No outgoing"
msgstr "Sin salientes"

#: includes/views/page-exitos.php:75
msgid "Rules only"
msgstr "Solo reglas"

#: includes/views/page-exitos.php:77
msgid "Semantic only"
msgstr "Solo semántico"

#: includes/views/page-exitos.php:84
msgid "Pages"
msgstr "Páginas"

#: includes/views/page-exitos.php:90
#: admin/js/exitos.js:371
msgid "Total"
msgstr "Total"

#: includes/views/page-exitos.php:91
msgid "Incoming"
msgstr "Entrantes"

#: includes/views/page-exitos.php:92
msgid "Outgoing"
msgstr "Salientes"

#: includes/views/page-exitos.php:93
msgid "Most recent"
msgstr "Más reciente"

#: includes/views/page-exitos.php:103
msgid "No internal links registered yet"
msgstr "No hay enlaces internos registrados todavía"

#. translators: 1: link to Linking rules, 2: link to Create content.
#: includes/views/page-exitos.php:111
#, php-format
msgid "Here you will see the internal links generated by the plugin as you create content. If you already have published content, go to %1$s to process your existing posts, or to %2$s to generate new articles with automatic linking."
msgstr "Aquí aparecerán los enlaces internos generados por el plugin a medida que crees contenido. Si ya tienes contenido publicado, ve a %1$s para procesar tus posts existentes, o a %2$s para generar nuevos artículos con enlazado automático."

#. translators: %s: link to Linking rules.
#: includes/views/page-exitos.php:117
#, php-format
msgid "Here you will see the internal links generated by the plugin as you create content. If you already have published content, go to %s to process your existing posts."
msgstr "Aquí aparecerán los enlaces internos generados por el plugin a medida que crees contenido. Si ya tienes contenido publicado, ve a %s para procesar tus posts existentes."

#: includes/views/page-exitos.php:133
msgid "Link detail"
msgstr "Detalle de enlaces"

#: includes/views/page-exitos.php:143
msgid "Map diagnostics (temporary)"
msgstr "Diagnóstico del mapa (temporal)"

#: includes/views/page-exitos.php:146
msgid "Log the recalculation to a file"
msgstr "Registrar el recálculo en un archivo de log"

#: includes/views/page-exitos.php:148
#: modules/semantic/views/page-semantic.php:309
msgid "View log"
msgstr "Ver log"

#: modules/content/class-audit-meta-box.php:81
msgid "Editorial audit"
msgstr "Auditoría editorial"

#: modules/content/class-audit-meta-box.php:160
msgid "There is no audit data for this article."
msgstr "No hay datos de auditoría para este artículo."

#: modules/content/class-audit-meta-box.php:173
msgid "Overall risk"
msgstr "Riesgo global"

#: modules/content/class-audit-meta-box.php:182
msgid "This audit is informational: it flags where to review the article before publishing. It does not rewrite the content."
msgstr "Esta auditoría es informativa: marca dónde revisar el artículo antes de publicar. No reescribe el contenido."

#: modules/content/class-audit-meta-box.php:240
msgid "View recommendations"
msgstr "Ver recomendaciones"

#: modules/content/class-audit-meta-box.php:247
#: modules/content/class-audit-meta-box.php:423
msgid "No issues detected. The article is ready to review and publish."
msgstr "No se detectaron problemas. El artículo está listo para revisar y publicar."

#: modules/content/class-audit-meta-box.php:299
msgid "Review recommendations"
msgstr "Recomendaciones de revisión"

#: modules/content/class-audit-meta-box.php:302
#: modules/content/class-audit-meta-box.php:432
#: modules/content/views/page-content.php:943
#: modules/content/views/page-content.php:1439
#: modules/content/views/page-content.php:1470
#: modules/images/views/page-images.php:122
#: modules/knowledge_base/views/page-bases.php:107
#: modules/knowledge_base/views/page-entries.php:95
#: modules/knowledge_base/views/page-entries.php:168
#: modules/knowledge_base/views/page-entries.php:320
#: modules/knowledge_base/views/page-entries.php:340
#: modules/knowledge_base/views/page-entries.php:447
#: modules/pipeline/views/page-pipeline.php:874
#: modules/pipeline/views/page-pipeline.php:909
#: views/page-onboarding.php:268
#: admin/js/admin.js:78
#: admin/js/admin.js:108
#: admin/js/settings-license.js:173
#: modules/semantic/semantic.js:498
#: modules/semantic/semantic.js:499
#: modules/semantic/semantic.js:537
msgid "Close"
msgstr "Cerrar"

#. translators: %s = overall risk label (Bajo/Medio/Alto)
#: modules/content/class-audit-meta-box.php:316
#, php-format
msgid "Overall article risk: %s. Each block tells you what to find and why it matters."
msgstr "Riesgo global del artículo: %s. Cada bloque indica qué encontrar y por qué importa."

#. translators: %d = count of detected items
#: modules/content/class-audit-meta-box.php:346
#, php-format
msgid "%d finding"
msgid_plural "%d findings"
msgstr[0] "%d hallazgo"
msgstr[1] "%d hallazgos"

#: modules/content/class-audit-meta-box.php:362
msgid "Phrases detected in the article:"
msgstr "Frases detectadas en el artículo:"

#: modules/content/class-audit-meta-box.php:414
msgid "Go through the H2/H3 of the article and apply the recommendation to the sections that need it most."
msgstr "Recorre los H2/H3 del artículo y aplica la recomendación a las secciones que más lo necesiten."

#: modules/content/class-audit-meta-box.php:448
msgid "High"
msgstr "Alto"

#: modules/content/class-audit-meta-box.php:449
msgid "Medium"
msgstr "Medio"

#: modules/content/class-audit-meta-box.php:451
msgid "Low"
msgstr "Bajo"

#: modules/content/class-content-generator.php:3052
msgid "AI smell risk"
msgstr "Riesgo de olor a IA"

#: modules/content/class-content-generator.php:3061
msgid "Generic phrases or marketing closings that give the model away. Replace each one with concrete content: a specific idea about the topic, an identifiable case, or an observation with substance."
msgstr "Frases genéricas o cierres de marketing que delatan al modelo. Sustituye cada una por contenido concreto: una idea específica del tema, un caso identificable, o una observación con sustancia."

#. translators: %d = count of AI-smell phrases
#: modules/content/class-content-generator.php:3066
#, php-format
msgid "Detected %d AI-type phrases (filler or formulaic closing). Rewrite these phrases with concrete content before publishing."
msgstr "Detectadas %d frases tipo IA (relleno o cierre formulario). Reescribe estas frases con contenido concreto antes de publicar."

#: modules/content/class-content-generator.php:3110
msgid "Data to verify (percentages, studies, dates)"
msgstr "Datos a verificar (porcentajes, estudios, fechas)"

#: modules/content/class-content-generator.php:3115
msgid "Figures, dates, studies or authorities cited. Verify that each concrete datum comes from your advanced instructions or KB. If not, remove it or rephrase qualitatively (\"most\", \"in recent years\") instead of inventing numbers."
msgstr "Cifras, fechas, estudios o autoridades citadas. Verifica que cada dato concreto proviene de tus instrucciones avanzadas o KB. Si no, elimínalo o reformula de forma cualitativa (\"la mayoría\", \"en los últimos años\") en lugar de inventar números."

#. translators: %d = count of data points to verify
#: modules/content/class-content-generator.php:3120
#, php-format
msgid "%d quantitative data points or authority citations detected. Verify that each comes from your advanced instructions or KB; if not, remove them or rephrase qualitatively."
msgstr "%d datos cuantitativos o citas de autoridad detectados. Verifica que cada uno proviene de tus instrucciones avanzadas o KB; si no, elimínalos o reformula cualitativamente."

#: modules/content/class-content-generator.php:3139
msgid "Introduction naturalness"
msgstr "Naturalidad de introducción"

#: modules/content/class-content-generator.php:3144
msgid "The introduction opens with a generic pattern that gives the model away. Rewrite it starting with: a concrete scenario, a verifiable datum from your instructions, a counterintuitive observation, or the specific problem the article is going to solve."
msgstr "La introducción abre con un patrón genérico que delata al modelo. Reescríbela empezando con: un escenario concreto, un dato verificable de tus instrucciones, una observación contraintuitiva, o el problema específico que el artículo va a resolver."

#: modules/content/class-content-generator.php:3147
msgid "The introduction uses a generic opening (empty rhetorical question or \"in the digital world...\"). Rewrite it starting with a concrete scenario, a verifiable datum, or the specific problem the article solves."
msgstr "La introducción usa una apertura genérica (pregunta retórica vacía o \"en el mundo digital...\"). Reescríbela empezando con un escenario concreto, un dato verificable, o el problema específico que resuelve el artículo."

#: modules/content/class-content-generator.php:3171
msgid "Authorial voice (concrete vs feigned)"
msgstr "Voz autorial (concreta vs impostada)"

#: modules/content/class-content-generator.php:3176
msgid "Authorial voice phrases used as decoration, with no concrete content behind them. Each \"I have seen that\" or \"in practice...\" must be followed by a specific observation with an identifiable case or factor. If not, it is better to remove the marker and leave the expository prose clean."
msgstr "Frases de voz autorial usadas como decoración, sin contenido concreto detrás. Cada \"he visto que\" o \"en la práctica...\" debe ir seguido de una observación específica con un caso o factor identificable. Si no, mejor eliminar la marca y dejar la prosa expositiva limpia."

#. translators: %d = count of impostada voice phrases
#: modules/content/class-content-generator.php:3181
#, php-format
msgid "%d repetitive authorial voice markers (\"I have seen that\", \"in practice...\"). The model overuses this category without providing concrete content. Rewrite at least one with real detail, or replace it with normal expository prose."
msgstr "%d marcas de voz autorial repetitivas (\"he visto que\", \"en la práctica...\"). El modelo abusa de esta categoría sin aportar contenido concreto. Reescribe al menos una con detalle real, o sustitúyela por prosa expositiva normal."

#: modules/content/class-content-generator.php:3197
msgid "Section openings"
msgstr "Aperturas de sección"

#: modules/content/class-content-generator.php:3206
msgid "Several sections open with the same pattern (\"X is Y\", \"The importance of X\"). Go through the H2/H3 headings and rewrite at least some with: a direct question, a concrete datum, a contrast, or by going straight into a case."
msgstr "Varias secciones abren con el mismo patrón (\"X es Y\", \"La importancia de X\"). Recorre los H2/H3 y reescribe al menos algunos con: una pregunta dirigida, un dato concreto, un contraste, o entrando directamente en un caso."

#. translators: 1: cloned openers, 2: total
#: modules/content/class-content-generator.php:3211
#, php-format
msgid "%1$d of %2$d sections open with a cloned \"X is Y\" pattern. Vary the openings with direct questions, data, contrasts or cases."
msgstr "%1$d de %2$d secciones abren con un patrón clónico tipo \"X es Y\". Varía las aperturas con preguntas dirigidas, datos, contrastes o casos."

#: modules/content/class-content-generator.php:3267
msgid "Connector quotas (rule 14)"
msgstr "Cuotas de conectores (regla 14)"

#: modules/content/class-content-generator.php:3272
msgid "Rule 14 sets a maximum of 1 time for \"Furthermore,\", \"However,\", \"On the other hand,\", \"Finally,\", etc. at the start of a paragraph. When a connector repeats, the text sounds mechanically written. Replace the excesses with: links by content (no explicit connector), a short transition sentence, or a lexical variation."
msgstr "La regla 14 fija un máximo de 1 vez para \"Además,\", \"Sin embargo,\", \"Por otro lado,\", \"Finalmente,\", etc. al inicio de párrafo. Cuando un conector se repite, el texto suena a redacción mecánica. Sustituye los excesos por: enlaces por contenido (sin conector explícito), una frase corta de transición, o una variación léxica."

#. translators: %d = total excess of connector quotas
#: modules/content/class-content-generator.php:3277
#, php-format
msgid "Connectors repeated above the rule 14 maximum: %d excesses. Replace them with content-based transitions or lexical variation."
msgstr "Conectores repetidos por encima del máximo de la regla 14: %d excesos. Sustitúyelos por transiciones por contenido o variación léxica."

#: modules/content/views/page-content.php:140
#: modules/content/views/page-content.php:205
msgid "Manage templates"
msgstr "Gestionar plantillas"

#: modules/content/views/page-content.php:144
msgid "Generate article"
msgstr "Generar artículo"

#: modules/content/views/page-content.php:149
msgid "Write complete articles with AI: title, sections, internal links, featured image and translations, all in a single flow."
msgstr "Redacta artículos completos con IA: título, secciones, enlaces internos, imagen destacada y traducciones, todo en un solo flujo."

#: modules/content/views/page-content.php:159
msgid "First time with the plugin?"
msgstr "¿Primera vez con el plugin?"

#: modules/content/views/page-content.php:159
msgid "We recommend following the Getting started guide to set everything up in order."
msgstr "Te recomendamos seguir la guía de Primeros pasos para configurar todo en orden."

#: modules/content/views/page-content.php:162
msgid "Go to the guide"
msgstr "Ir a la guía"

#: modules/content/views/page-content.php:171
msgid "TEMPLATE"
msgstr "PLANTILLA"

#: modules/content/views/page-content.php:173
msgid "No template (manual)"
msgstr "Sin plantilla (manual)"

#: modules/content/views/page-content.php:182
#: modules/content/views/page-content.php:271
#: admin/js/admin.js:2210
msgid "Apply template"
msgstr "Aplicar plantilla"

#: modules/content/views/page-content.php:184
msgid "Import a template file and fill the form instantly"
msgstr "Importa un archivo de plantilla y rellena el formulario al instante"

#: modules/content/views/page-content.php:186
msgid "Quick import"
msgstr "Importación rápida"

#: modules/content/views/page-content.php:192
msgid "Undo template selection"
msgstr "Deshace la selección de plantilla"

#: modules/content/views/page-content.php:194
#: modules/pipeline/views/page-pipeline.php:541
msgid "Remove template"
msgstr "Quitar plantilla"

#: modules/content/views/page-content.php:209
msgid "Download a file with all the fields for an AI to fill in"
msgstr "Descarga un archivo con todos los campos para que una IA lo rellene"

#: modules/content/views/page-content.php:211
msgid "Export instructions"
msgstr "Exportar instrucciones"

#: modules/content/views/page-content.php:222
msgid "You have not saved any template yet."
msgstr "Aún no has guardado ninguna plantilla."

#: modules/content/views/page-content.php:222
msgid "Use the section at the bottom of the page to create the first one."
msgstr "Usa la sección al final de la página para crear la primera."

#: modules/content/views/page-content.php:229
msgid "Model"
msgstr "Modelo"

#: modules/content/views/page-content.php:230
#: modules/pipeline/views/page-pipeline.php:664
msgid "Length"
msgstr "Longitud"

#: modules/content/views/page-content.php:231
#: modules/pipeline/views/page-pipeline.php:672
msgid "Tone"
msgstr "Tono"

#: modules/content/views/page-content.php:232
msgid "Structure"
msgstr "Estructura"

#: modules/content/views/page-content.php:233
msgid "Sections"
msgstr "Secciones"

#: modules/content/views/page-content.php:234
msgid "Blocks"
msgstr "Bloques"

#: modules/content/views/page-content.php:235
msgid "Image"
msgstr "Imagen"

#: modules/content/views/page-content.php:236
#: modules/pipeline/pipeline.js:1277
msgid "Actions"
msgstr "Acciones"

#: modules/content/views/page-content.php:241
#: modules/pipeline/views/page-pipeline.php:674
#: admin/js/admin.js:2422
msgid "Informative"
msgstr "Informativo"

#: modules/content/views/page-content.php:241
#: modules/pipeline/views/page-pipeline.php:676
#: admin/js/admin.js:2422
msgid "Commercial"
msgstr "Comercial"

#: modules/content/views/page-content.php:241
msgid "Educational"
msgstr "Divulgativo"

#: modules/content/views/page-content.php:241
#: admin/js/admin.js:2422
msgid "Conversational"
msgstr "Conversacional"

#: modules/content/views/page-content.php:241
#: modules/pipeline/views/page-pipeline.php:675
#: admin/js/admin.js:2422
msgid "Professional"
msgstr "Profesional"

#: modules/content/views/page-content.php:241
#: admin/js/admin.js:2422
msgid "Narrative"
msgstr "Narrativo"

#: modules/content/views/page-content.php:241
#: admin/js/admin.js:2422
msgid "Humorous"
msgstr "Humorístico"

#: modules/content/views/page-content.php:242
#: modules/content/views/page-content.php:548
#: admin/js/admin.js:2423
msgid "Short"
msgstr "Breve"

#: modules/content/views/page-content.php:242
#: modules/content/views/page-content.php:243
#: modules/content/views/page-content.php:549
#: admin/js/admin.js:2423
#: admin/js/admin.js:2424
msgid "Standard"
msgstr "Estándar"

#: modules/content/views/page-content.php:242
#: modules/content/views/page-content.php:550
#: admin/js/admin.js:2423
msgid "Pillar"
msgstr "Pilar"

#: modules/content/views/page-content.php:243
#: admin/js/admin.js:2424
msgid "Standard + conclusion"
msgstr "Estándar + conclusión"

#: modules/content/views/page-content.php:243
#: admin/js/admin.js:2424
msgid "Guide"
msgstr "Guía"

#: modules/content/views/page-content.php:243
msgid "Listicle"
msgstr "Listicle"

#: modules/content/views/page-content.php:243
#: modules/content/views/page-content.php:573
#: admin/js/admin.js:2424
msgid "Comparison"
msgstr "Comparativa"

#: modules/content/views/page-content.php:243
#: modules/content/views/page-content.php:574
#: admin/js/admin.js:2424
msgid "Review"
msgstr "Reseña"

#: modules/content/views/page-content.php:243
#: modules/content/views/page-content.php:245
msgid "FAQ"
msgstr "FAQ"

#: modules/content/views/page-content.php:243
#: admin/js/admin.js:2424
msgid "Custom"
msgstr "Personalizada"

#: modules/content/views/page-content.php:245
msgid "Stats"
msgstr "Stats"

#: modules/content/views/page-content.php:245
#: admin/js/admin.js:2425
msgid "Examples"
msgstr "Ejemplos"

#: modules/content/views/page-content.php:245
msgid "Tips"
msgstr "Tips"

#: modules/content/views/page-content.php:245
#: admin/js/admin.js:2425
msgid "Table"
msgstr "Tabla"

#: modules/content/views/page-content.php:245
msgid "Check"
msgstr "Check"

#: modules/content/views/page-content.php:245
#: admin/js/admin.js:2425
msgid "Pros/cons"
msgstr "Pros/contras"

#: modules/content/views/page-content.php:274
msgid "Edit template"
msgstr "Editar plantilla"

#: modules/content/views/page-content.php:278
msgid "Delete template"
msgstr "Eliminar plantilla"

#: modules/content/views/page-content.php:306
msgid "Titles to generate"
msgstr "Títulos a generar"

#: modules/content/views/page-content.php:307
msgid "One title per line. Each line will generate a separate article."
msgstr "Un título por línea. Cada línea generará un artículo independiente."

#: modules/content/views/page-content.php:315
msgid "The best investment funds for 2025\nHow to open a brokerage account step by step\nDifferences between ETFs and traditional investment funds\nThe most common mistakes when investing in the stock market for the first time"
msgstr "Los mejores fondos de inversión para 2025\nCómo abrir una cuenta de valores paso a paso\nDiferencias entre ETF y fondos de inversión tradicionales\nErrores más comunes al invertir en bolsa por primera vez"

#: modules/content/views/page-content.php:322
msgid "You can also paste loose keywords — the AI will generate the title automatically"
msgstr "También puedes pegar keywords sueltas — la IA generará el título automáticamente"

#: modules/content/views/page-content.php:367
#: modules/content/views/page-content.php:373
msgid "Knowledge base"
msgstr "Base de conocimiento"

#: modules/content/views/page-content.php:368
msgid "Select a base so the AI uses your verified information when writing."
msgstr "Selecciona una base para que la IA use tu información verificada al redactar."

#: modules/content/views/page-content.php:373
#: modules/content/views/page-content.php:894
#: modules/knowledge_base/views/page-bases.php:124
#: modules/knowledge_base/views/page-bases.php:130
#: modules/knowledge_base/views/page-bases.php:136
#: modules/knowledge_base/views/page-bases.php:142
#: modules/knowledge_base/views/page-entries.php:118
msgid "— optional"
msgstr "— opcional"

#: modules/content/views/page-content.php:375
msgid "If you select a base, the AI will look for relevant information in it before generating the content. It drastically reduces AI hallucinations on topics specific to your product or service."
msgstr "Si seleccionas una base, la IA buscará información relevante en ella antes de generar el contenido. Reduce drásticamente las invenciones de la IA en temas específicos de tu producto o servicio."

#: modules/content/views/page-content.php:378
#: modules/pipeline/views/page-pipeline.php:743
msgid "None"
msgstr "Ninguna"

#. translators: %d: total number of entries in the base.
#: modules/content/views/page-content.php:385
#, php-format
msgid "of %d"
msgstr "de %d"

#: modules/content/views/page-content.php:387
msgid "entry ready"
msgstr "ficha lista"

#: modules/content/views/page-content.php:387
msgid "entries ready"
msgstr "fichas listas"

#: modules/content/views/page-content.php:396
msgid "You have no knowledge bases created."
msgstr "No tienes bases de conocimiento creadas."

#: modules/content/views/page-content.php:396
msgid "Create a base"
msgstr "Crear una base"

#: modules/content/views/page-content.php:411
msgid "Voice and style"
msgstr "Voz y estilo"

#: modules/content/views/page-content.php:412
msgid "Define the language, tone and the way the AI writes."
msgstr "Define el idioma, el tono y la forma en que la IA escribe."

#: modules/content/views/page-content.php:425
msgid "Humanized writing"
msgstr "Redacción humanizada"

#: modules/content/views/page-content.php:427
msgid "The article will sound natural and authentic, as if written by a real person. It avoids AI patterns, repetitive connectors and a robotic tone."
msgstr "El artículo sonará natural y auténtico, como escrito por una persona real. Evita patrones de IA, conectores repetitivos y tono robótico."

#: modules/content/views/page-content.php:434
#: admin/js/admin.js:2021
msgid "Article language"
msgstr "Idioma del artículo"

#: modules/content/views/page-content.php:438
msgid "Chinese"
msgstr "Chino"

#: modules/content/views/page-content.php:440
msgid "Arabic"
msgstr "Árabe"

#: modules/content/views/page-content.php:443
msgid "Russian"
msgstr "Ruso"

#: modules/content/views/page-content.php:446
msgid "Japanese"
msgstr "Japonés"

#: modules/content/views/page-content.php:450
#: admin/js/admin.js:2022
msgid "Content tone"
msgstr "Tono del contenido"

#: modules/content/views/page-content.php:452
msgid "Informative — objective and clear"
msgstr "Informativo — objetivo y claro"

#: modules/content/views/page-content.php:453
msgid "Commercial — persuasive and sales-oriented"
msgstr "Comercial — persuasivo y orientado a venta"

#: modules/content/views/page-content.php:454
msgid "Educational — accessible and pedagogical"
msgstr "Divulgativo — accesible y pedagógico"

#: modules/content/views/page-content.php:455
msgid "Conversational — close and natural"
msgstr "Conversacional — cercano y natural"

#: modules/content/views/page-content.php:456
msgid "Professional — technical and precise"
msgstr "Profesional — técnico y preciso"

#: modules/content/views/page-content.php:457
msgid "Narrative — storytelling and inspiration"
msgstr "Narrativo — storytelling e inspiración"

#: modules/content/views/page-content.php:458
msgid "Humorous — light and entertaining"
msgstr "Humorístico — ligero y entretenido"

#: modules/content/views/page-content.php:462
#: modules/pipeline/views/page-pipeline.php:681
#: admin/js/admin.js:2023
msgid "Point of view"
msgstr "Punto de vista"

#: modules/content/views/page-content.php:464
msgid "3rd person — It is recommended…"
msgstr "3ª persona — Se recomienda…"

#: modules/content/views/page-content.php:465
msgid "1st person plural — We recommend…"
msgstr "1ª persona plural — Recomendamos…"

#: modules/content/views/page-content.php:466
msgid "2nd person — You can, you should…"
msgstr "2ª persona — Puedes, debes…"

#: modules/content/views/page-content.php:470
#: admin/js/admin.js:2024
msgid "Target audience"
msgstr "Audiencia objetivo"

#: modules/content/views/page-content.php:472
msgid "General public"
msgstr "Público general"

#: modules/content/views/page-content.php:473
msgid "Beginners — no prior knowledge"
msgstr "Principiantes — sin conocimiento previo"

#: modules/content/views/page-content.php:474
msgid "Industry professionals"
msgstr "Profesionales del sector"

#: modules/content/views/page-content.php:475
msgid "Experts — advanced technical level"
msgstr "Expertos — nivel técnico avanzado"

#: modules/content/views/page-content.php:479
msgid "Content goal"
msgstr "Objetivo del contenido"

#: modules/content/views/page-content.php:481
msgid "Inform — educate about a topic"
msgstr "Informar — educar sobre un tema"

#: modules/content/views/page-content.php:482
msgid "Convince — guide toward a decision"
msgstr "Convencer — orientar hacia una decisión"

#: modules/content/views/page-content.php:483
msgid "Entertain — build connection"
msgstr "Entretener — generar conexión"

#: modules/content/views/page-content.php:484
msgid "Rank — capture organic traffic"
msgstr "Posicionar — captar tráfico orgánico"

#: modules/content/views/page-content.php:485
msgid "Retain — keep existing audience"
msgstr "Fidelizar — retener audiencia existente"

#: modules/content/views/page-content.php:489
#: admin/js/admin.js:2026
msgid "Brand voice"
msgstr "Voz de marca"

#: modules/content/views/page-content.php:491
msgid "Neutral — no defined brand"
msgstr "Neutral — sin marca definida"

#: modules/content/views/page-content.php:492
msgid "Close — friendly and approachable"
msgstr "Cercana — amigable y próxima"

#: modules/content/views/page-content.php:493
msgid "Expert — authority on the topic"
msgstr "Experta — autoridad en el tema"

#: modules/content/views/page-content.php:494
msgid "Formal — corporate and institutional"
msgstr "Formal — corporativa e institucional"

#: modules/content/views/page-content.php:495
msgid "Innovative — modern and disruptive"
msgstr "Innovadora — moderna y disruptiva"

#: modules/content/views/page-content.php:499
#: admin/js/admin.js:2027
msgid "Reading level"
msgstr "Nivel de lectura"

#: modules/content/views/page-content.php:501
msgid "Simple — short sentences, basic vocabulary"
msgstr "Simple — frases cortas, vocabulario básico"

#: modules/content/views/page-content.php:502
msgid "Medium — balanced and fluid"
msgstr "Medio — equilibrado y fluido"

#: modules/content/views/page-content.php:503
msgid "Advanced — rich vocabulary, higher density"
msgstr "Avanzado — vocabulario rico, mayor densidad"

#: modules/content/views/page-content.php:507
#: modules/images/views/page-images.php:139
#: admin/js/admin.js:2028
msgid "AI model"
msgstr "Modelo de IA"

#: modules/content/views/page-content.php:509
msgid "GPT-4o Mini — fast and economical"
msgstr "GPT-4o Mini — rápido y económico"

#: modules/content/views/page-content.php:510
msgid "GPT-4o — maximum quality"
msgstr "GPT-4o — máxima calidad"

#: modules/content/views/page-content.php:524
msgid "Article structure"
msgstr "Estructura del artículo"

#: modules/content/views/page-content.php:525
msgid "Length, internal organization and heading type"
msgstr "Extensión, organización interna y tipo de encabezados"

#: modules/content/views/page-content.php:531
#: admin/js/admin.js:2030
msgid "Article length"
msgstr "Extensión del artículo"

#: modules/content/views/page-content.php:548
msgid "~600 words"
msgstr "~600 palabras"

#: modules/content/views/page-content.php:548
msgid "FAQs and quick posts"
msgstr "FAQs y posts rápidos"

#: modules/content/views/page-content.php:549
msgid "~1,300 words"
msgstr "~1.300 palabras"

#: modules/content/views/page-content.php:549
msgid "balance of quality and time"
msgstr "equilibrio calidad-tiempo"

#: modules/content/views/page-content.php:550
msgid "~3,000 words"
msgstr "~3.000 palabras"

#: modules/content/views/page-content.php:550
msgid "complete, rankable articles"
msgstr "artículos completos y posicionables"

#: modules/content/views/page-content.php:567
#: admin/js/admin.js:2031
msgid "Structure type"
msgstr "Tipo de estructura"

#: modules/content/views/page-content.php:569
msgid "Standard (intro + H2)"
msgstr "Estándar (intro + H2)"

#: modules/content/views/page-content.php:570
msgid "Standard with conclusion (intro + H2 + closing paragraph)"
msgstr "Estándar con conclusión (intro + H2 + párrafo de cierre)"

#: modules/content/views/page-content.php:571
msgid "Step-by-step guide"
msgstr "Guía paso a paso"

#: modules/content/views/page-content.php:572
msgid "Listicle (numbered list)"
msgstr "Listicle (lista numerada)"

#: modules/content/views/page-content.php:575
msgid "Question-based (FAQ)"
msgstr "Basado en preguntas (FAQ)"

#: modules/content/views/page-content.php:576
msgid "Custom sections"
msgstr "Secciones personalizadas"

#: modules/content/views/page-content.php:580
#: admin/js/admin.js:2032
msgid "H2 sections"
msgstr "Secciones H2"

#: modules/content/views/page-content.php:582
msgid "Automatic — the AI decides based on the topic"
msgstr "Automático — la IA decide según el tema"

#: modules/content/views/page-content.php:583
msgid "2 H2 sections"
msgstr "2 secciones H2"

#: modules/content/views/page-content.php:584
msgid "3 H2 sections"
msgstr "3 secciones H2"

#: modules/content/views/page-content.php:585
msgid "4 H2 sections"
msgstr "4 secciones H2"

#: modules/content/views/page-content.php:586
msgid "5 H2 sections"
msgstr "5 secciones H2"

#: modules/content/views/page-content.php:587
msgid "6 H2 sections"
msgstr "6 secciones H2"

#: modules/content/views/page-content.php:588
msgid "Between 2 and 3 sections"
msgstr "Entre 2 y 3 secciones"

#: modules/content/views/page-content.php:589
msgid "Between 3 and 4 sections"
msgstr "Entre 3 y 4 secciones"

#: modules/content/views/page-content.php:590
msgid "Between 4 and 5 sections"
msgstr "Entre 4 y 5 secciones"

#: modules/content/views/page-content.php:591
msgid "Between 5 and 6 sections"
msgstr "Entre 5 y 6 secciones"

#: modules/content/views/page-content.php:595
msgid "Ranges prevent all articles from having the same structure"
msgstr "Los rangos evitan que todos los artículos tengan la misma estructura"

#: modules/content/views/page-content.php:599
#: admin/js/admin.js:2033
msgid "Paragraphs per section"
msgstr "Párrafos por sección"

#. translators: %d: number of paragraphs per section.
#: modules/content/views/page-content.php:604
#, php-format
msgid "%d paragraphs per section"
msgstr "%d párrafos por sección"

#: modules/content/views/page-content.php:609
#: admin/js/admin.js:2034
msgid "Content depth"
msgstr "Profundidad del contenido"

#: modules/content/views/page-content.php:611
msgid "Surface — overview, no technical details"
msgstr "Superficial — visión general, sin detalles técnicos"

#: modules/content/views/page-content.php:612
msgid "Medium — well explained, clear examples"
msgstr "Medio — bien explicado, ejemplos claros"

#: modules/content/views/page-content.php:613
msgid "Deep — detailed analysis, solid reasoning"
msgstr "Profundo — análisis detallado, argumentación sólida"

#: modules/content/views/page-content.php:614
msgid "Expert — technical level, data and references"
msgstr "Experto — nivel técnico, datos y referencias"

#: modules/content/views/page-content.php:618
#: admin/js/admin.js:2035
msgid "Introduction type"
msgstr "Tipo de introducción"

#: modules/content/views/page-content.php:620
msgid "Direct statement — straight to the point"
msgstr "Afirmación directa — al grano desde el inicio"

#: modules/content/views/page-content.php:621
msgid "Rhetorical question — invites reflection"
msgstr "Pregunta retórica — invita a reflexionar"

#: modules/content/views/page-content.php:622
msgid "Striking fact or statistic"
msgstr "Dato o estadística impactante"

#: modules/content/views/page-content.php:623
msgid "Mini story / situational anecdote"
msgstr "Mini historia / anécdota situacional"

#: modules/content/views/page-content.php:624
msgid "Framing of a problem"
msgstr "Planteamiento de un problema"

#: modules/content/views/page-content.php:628
#: admin/js/admin.js:2036
msgid "Conclusion type"
msgstr "Tipo de conclusión"

#: modules/content/views/page-content.php:630
msgid "Summary of the main points"
msgstr "Resumen de los puntos principales"

#: modules/content/views/page-content.php:631
msgid "Open final reflection"
msgstr "Reflexión final abierta"

#: modules/content/views/page-content.php:632
#: modules/content/views/page-content.php:742
#: admin/js/admin.js:2054
msgid "Call to action"
msgstr "Llamada a la acción"

#: modules/content/views/page-content.php:633
msgid "Question to the reader to encourage comments"
msgstr "Pregunta al lector para fomentar comentarios"

#: modules/content/views/page-content.php:634
msgid "Future outlook on the topic"
msgstr "Perspectiva de futuro sobre el tema"

#: modules/content/views/page-content.php:638
#: admin/js/admin.js:2037
msgid "H3 headings"
msgstr "Encabezados H3"

#: modules/content/views/page-content.php:640
msgid "Allow H3 — subsections within each H2"
msgstr "Permitir H3 — subapartados dentro de cada H2"

#: modules/content/views/page-content.php:641
msgid "H2 only — cleaner, simpler structure"
msgstr "Solo H2 — estructura más limpia y simple"

#: modules/content/views/page-content.php:647
#: admin/js/admin.js:2038
msgid "Custom H2 sections"
msgstr "Secciones H2 personalizadas"

#: modules/content/views/page-content.php:647
msgid "one per line — the AI will respect this outline"
msgstr "una por línea — la IA respetará este índice"

#: modules/content/views/page-content.php:648
msgid "Introduction\nWhat is...?\nMain types\nHow to choose the best one\nConclusion"
msgstr "Introducción\n¿Qué es...?\nTipos principales\nCómo elegir el mejor\nConclusión"

#: modules/content/views/page-content.php:664
msgid "SEO and semantic focus"
msgstr "SEO y enfoque semántico"

#: modules/content/views/page-content.php:665
msgid "Guide the AI so the article meets your ranking goals."
msgstr "Orienta a la IA para que el artículo cumpla tus objetivos de posicionamiento."

#: modules/content/views/page-content.php:671
#: admin/js/admin.js:2039
#: modules/content/content.js:948
#: modules/content/content.js:1357
msgid "Main keyword"
msgstr "Keyword principal"

#: modules/content/views/page-content.php:671
msgid "— reinforces the relevance of the article"
msgstr "— refuerza la relevancia del artículo"

#: modules/content/views/page-content.php:673
msgid "e.g. investment funds Spain"
msgstr "ej: fondos de inversión España"

#: modules/content/views/page-content.php:674
msgid "If left empty, the title is used as the main keyword"
msgstr "Si se deja vacío, se usa el título como keyword principal"

#: modules/content/views/page-content.php:677
#: admin/js/admin.js:2040
msgid "Search intent"
msgstr "Intención de búsqueda"

#: modules/content/views/page-content.php:679
msgid "Informational — the user wants to learn"
msgstr "Informacional — el usuario quiere aprender"

#: modules/content/views/page-content.php:680
msgid "Commercial — the user is evaluating options"
msgstr "Comercial — el usuario evalúa opciones"

#: modules/content/views/page-content.php:681
msgid "Transactional — the user wants to buy or sign up"
msgstr "Transaccional — el usuario quiere comprar o contratar"

#: modules/content/views/page-content.php:682
msgid "Navigational — the user is looking for a specific site"
msgstr "Navegacional — el usuario busca un sitio concreto"

#: modules/content/views/page-content.php:686
#: admin/js/admin.js:2041
msgid "Secondary keywords"
msgstr "Keywords secundarias"

#: modules/content/views/page-content.php:686
#: modules/content/views/page-content.php:712
msgid "separated by commas"
msgstr "separadas por comas"

#: modules/content/views/page-content.php:688
msgid "e.g. stock market investing, equities, cheap ETFs"
msgstr "ej: inversión en bolsa, renta variable, ETF baratos"

#: modules/content/views/page-content.php:689
msgid "They will be included naturally to broaden semantic relevance"
msgstr "Se incluirán de forma natural para ampliar la relevancia semántica"

#: modules/content/views/page-content.php:692
#: admin/js/admin.js:2042
msgid "Target SERP type"
msgstr "Tipo de SERP objetivo"

#: modules/content/views/page-content.php:694
msgid "Informational — article with a complete answer"
msgstr "Informativa — artículo con respuesta completa"

#: modules/content/views/page-content.php:695
msgid "Comparison — best X vs Y / the best X"
msgstr "Comparativa — mejor X vs Y / el mejor X"

#: modules/content/views/page-content.php:696
msgid "How-to — step-by-step guide"
msgstr "Cómo hacer — guía paso a paso"

#: modules/content/views/page-content.php:697
msgid "Definition — what is X?"
msgstr "Definición — ¿qué es X?"

#: modules/content/views/page-content.php:698
msgid "List — the best X / types of X"
msgstr "Listado — los mejores X / tipos de X"

#: modules/content/views/page-content.php:702
#: admin/js/admin.js:2043
msgid "Main entity or topic"
msgstr "Entidad o tema principal"

#: modules/content/views/page-content.php:702
msgid "helps the AI focus the context"
msgstr "ayuda a la IA a centrar el contexto"

#: modules/content/views/page-content.php:704
msgid "e.g. Spanish stock market, tech sector, adventure travel"
msgstr "ej: mercado de valores español, sector tecnológico, viajes de aventura"

#: modules/content/views/page-content.php:707
#: admin/js/admin.js:2044
msgid "Geographic location"
msgstr "Localización geográfica"

#: modules/content/views/page-content.php:707
msgid "optional — for local content"
msgstr "opcional — para contenido local"

#: modules/content/views/page-content.php:709
msgid "e.g. Madrid, Spain · Barcelona · Latin America"
msgstr "ej: Madrid, España · Barcelona · Latinoamérica"

#: modules/content/views/page-content.php:712
msgid "Words and expressions to avoid"
msgstr "Palabras y expresiones a evitar"

#: modules/content/views/page-content.php:714
msgid "e.g. cheap, free, no doubt, in conclusion, it is important to note"
msgstr "ej: barato, gratis, sin duda, en conclusión, es importante destacar"

#: modules/content/views/page-content.php:715
msgid "The AI will avoid these words and expressions throughout the article"
msgstr "La IA evitará estas palabras y expresiones en todo el artículo"

#: modules/content/views/page-content.php:728
msgid "Additional elements"
msgstr "Elementos adicionales"

#: modules/content/views/page-content.php:729
msgid "Enable the blocks you want to include within the article."
msgstr "Activa los bloques que quieres incluir dentro del artículo."

#: modules/content/views/page-content.php:735
#: admin/js/admin.js:2046
msgid "FAQ section"
msgstr "Sección FAQ"

#: modules/content/views/page-content.php:735
msgid "Frequently asked questions at the end — improves SERP ranking and answers common doubts"
msgstr "Preguntas frecuentes al final — mejora el posicionamiento en SERP y responde dudas comunes"

#: modules/content/views/page-content.php:736
#: admin/js/admin.js:2048
msgid "Data and statistics"
msgstr "Datos y estadísticas"

#: modules/content/views/page-content.php:736
msgid "Includes figures, percentages and relevant data to add credibility and authority to the content"
msgstr "Incluye cifras, porcentajes y datos relevantes para dar credibilidad y autoridad al contenido"

#: modules/content/views/page-content.php:737
#: admin/js/admin.js:2049
msgid "Practical examples"
msgstr "Ejemplos prácticos"

#: modules/content/views/page-content.php:737
msgid "Adds real or hypothetical cases that help the reader better understand each concept explained"
msgstr "Añade casos reales o hipotéticos que ayuden al lector a entender mejor cada concepto explicado"

#: modules/content/views/page-content.php:738
#: admin/js/admin.js:2050
msgid "Practical tips"
msgstr "Consejos prácticos"

#: modules/content/views/page-content.php:738
msgid "A block of actionable tips at the end of sections — very useful for guide articles"
msgstr "Bloque de tips accionables al final de las secciones — muy útil para artículos de guía"

#: modules/content/views/page-content.php:739
#: admin/js/admin.js:2051
msgid "Comparison table"
msgstr "Tabla comparativa"

#: modules/content/views/page-content.php:739
msgid "Includes a table comparing options, features or parameters — ideal for comparisons"
msgstr "Incluye una tabla que compare opciones, características o parámetros — ideal para comparativas"

#: modules/content/views/page-content.php:740
#: admin/js/admin.js:2052
msgid "Checklist"
msgstr "Checklist"

#: modules/content/views/page-content.php:740
msgid "A checklist the reader can follow — especially useful in step-by-step guides"
msgstr "Lista de verificación que el lector puede seguir — especialmente útil en guías paso a paso"

#: modules/content/views/page-content.php:741
#: admin/js/admin.js:2053
msgid "Pros and cons"
msgstr "Pros y contras"

#: modules/content/views/page-content.php:741
msgid "A section with advantages and disadvantages — helps the reader make more informed decisions"
msgstr "Sección con ventajas e inconvenientes — ayuda al lector a tomar decisiones más informadas"

#: modules/content/views/page-content.php:742
msgid "A CTA block at the end of the article to invite the reader to a specific action"
msgstr "Bloque CTA al final del artículo para invitar al lector a una acción concreta"

#: modules/content/views/page-content.php:760
msgid "Number of FAQ questions:"
msgstr "Número de preguntas FAQ:"

#. translators: %d: number of FAQ questions.
#: modules/content/views/page-content.php:765
#, php-format
msgid "%d questions"
msgstr "%d preguntas"

#: modules/content/views/page-content.php:772
msgid "CTA text:"
msgstr "Texto del CTA:"

#: modules/content/views/page-content.php:774
msgid "e.g. Discover our complete collection"
msgstr "ej: Descubre nuestra colección completa"

#: modules/content/views/page-content.php:786
msgid "Featured image"
msgstr "Imagen destacada"

#: modules/content/views/page-content.php:787
msgid "Generate the header image with AI and assign it to the post."
msgstr "Genera la imagen de cabecera con IA y asígnala al post."

#: modules/content/views/page-content.php:793
msgid "Enabled"
msgstr "Activado"

#: modules/content/views/page-content.php:793
msgid "Disabled"
msgstr "Desactivado"

#: modules/content/views/page-content.php:800
#: admin/js/admin.js:2057
msgid "Visual style"
msgstr "Estilo visual"

#: modules/content/views/page-content.php:802
msgid "Realistic photographic"
msgstr "Fotográfica realista"

#: modules/content/views/page-content.php:803
msgid "Digital illustration"
msgstr "Ilustración digital"

#: modules/content/views/page-content.php:804
msgid "Minimalist and clean"
msgstr "Minimalista y clean"

#: modules/content/views/page-content.php:805
msgid "Flat design"
msgstr "Flat design"

#: modules/content/views/page-content.php:806
msgid "Infographic style"
msgstr "Estilo infografía"

#: modules/content/views/page-content.php:807
msgid "Conceptual abstract"
msgstr "Abstracto conceptual"

#: modules/content/views/page-content.php:808
msgid "Cinematic"
msgstr "Cinematográfico"

#: modules/content/views/page-content.php:812
msgid "Aspect ratio"
msgstr "Proporción"

#: modules/content/views/page-content.php:814
msgid "16:9 — Panoramic / web hero"
msgstr "16:9 — Panorámica / Hero web"

#: modules/content/views/page-content.php:815
msgid "3:2 — Photographic"
msgstr "3:2 — Fotográfica"

#: modules/content/views/page-content.php:816
msgid "4:3 — Standard"
msgstr "4:3 — Estándar"

#: modules/content/views/page-content.php:817
msgid "1:1 — Square"
msgstr "1:1 — Cuadrada"

#: modules/content/views/page-content.php:818
msgid "4:5 — Vertical social"
msgstr "4:5 — Vertical social"

#: modules/content/views/page-content.php:819
msgid "9:16 — Stories / mobile"
msgstr "9:16 — Stories / móvil"

#: modules/content/views/page-content.php:823
msgid "Use as featured image"
msgstr "Usar como imagen destacada"

#: modules/content/views/page-content.php:825
msgid "Yes — assign automatically as featured image"
msgstr "Sí — asignar automáticamente como featured image"

#: modules/content/views/page-content.php:826
msgid "No — only generate, do not assign"
msgstr "No — solo generar, sin asignar"

#: modules/content/views/page-content.php:830
#: admin/js/admin.js:2060
msgid "Output format"
msgstr "Formato de salida"

#: modules/content/views/page-content.php:832
msgid "WebP — lighter, better web performance"
msgstr "WebP — más ligero, mejor rendimiento web"

#: modules/content/views/page-content.php:833
msgid "PNG — no conversion"
msgstr "PNG — sin conversión"

#: modules/content/views/page-content.php:835
msgid "File name, alt, title, caption and description are generated optimized for SEO."
msgstr "Nombre de archivo, alt, título, leyenda y descripción se generan optimizados para SEO."

#: modules/content/views/page-content.php:838
#: admin/js/admin.js:2061
msgid "Image model"
msgstr "Modelo de imagen"

#: modules/content/views/page-content.php:840
msgid "gpt-image-1 — maximum quality (default)"
msgstr "gpt-image-1 — máxima calidad (predeterminado)"

#: modules/content/views/page-content.php:841
msgid "gpt-image-1-mini — cost/quality balance"
msgstr "gpt-image-1-mini — equilibrio coste/calidad"

#: modules/content/views/page-content.php:843
msgid "gpt-image-1 produces better photorealistic results"
msgstr "gpt-image-1 produce mejores resultados fotorrealistas"

#: modules/content/views/page-content.php:846
#: admin/js/admin.js:2062
msgid "Image quality"
msgstr "Calidad de imagen"

#: modules/content/views/page-content.php:848
msgid "Low — faster and cheaper"
msgstr "Baja — más rápida y económica"

#: modules/content/views/page-content.php:849
msgid "Medium — quality/cost balance"
msgstr "Media — equilibrio calidad/coste"

#: modules/content/views/page-content.php:850
msgid "High — more detail (default)"
msgstr "Alta — mayor detalle (predeterminado)"

#: modules/content/views/page-content.php:852
msgid "High quality with gpt-image-1 produces the best results"
msgstr "La calidad alta con gpt-image-1 produce los mejores resultados"

#: modules/content/views/page-content.php:894
msgid "Image prompt template"
msgstr "Plantilla de prompt de imagen"

#: modules/content/views/page-content.php:914
#: modules/content/assets/page-content.js:47
msgid "No template selected"
msgstr "Ninguna plantilla seleccionada"

#: modules/content/views/page-content.php:915
msgid "Click the button to choose a style."
msgstr "Pulsa el botón para elegir un estilo."

#: modules/content/views/page-content.php:921
msgid "Select image template"
msgstr "Seleccionar plantilla de imagen"

#. translators: %s: link to Settings → Image templates.
#: modules/content/views/page-content.php:929
#, php-format
msgid "Templates are defined in %s. Their instructions are sent to the scene director along with the article context."
msgstr "Las plantillas se definen en %s. Sus instrucciones se envían al director de escena junto al contexto del artículo."

#: modules/content/views/page-content.php:930
msgid "Settings → Image templates"
msgstr "Ajustes → Plantillas de imagen"

#: modules/content/views/page-content.php:940
#: modules/images/views/page-images.php:119
msgid "Choose an image template"
msgstr "Elige una plantilla de imagen"

#: modules/content/views/page-content.php:941
msgid "The style will be applied to the featured image generated for this article."
msgstr "El estilo se aplicará a la imagen destacada que se genere para este artículo."

#: modules/content/views/page-content.php:952
msgid "Use this template"
msgstr "Usar esta plantilla"

#: modules/content/views/page-content.php:961
msgid "Style instructions"
msgstr "Instrucciones de estilo"

#: modules/content/views/page-content.php:961
msgid "— optional, only for this article"
msgstr "— opcional, solo para este artículo"

#: modules/content/views/page-content.php:963
msgid "Here you can add specific nuances for this article's image (for example: \"include elements of the Galician coast\", \"avoid people\", \"more saturated palette\"…). They will be applied on top of the template you have selected."
msgstr "Aquí puedes añadir matices específicos para la imagen de este artículo (por ejemplo: «incluir elementos de la costa gallega», «evitar personas», «paleta más saturada»…). Se aplicarán encima de la plantilla que tengas seleccionada."

#: modules/content/views/page-content.php:964
msgid "If you leave the field empty, only the selected template and the article context are used."
msgstr "Si dejas el campo vacío, se utiliza únicamente la plantilla seleccionada y el contexto del artículo."

#: modules/content/views/page-content.php:971
msgid "See the exact prompt sent to the model"
msgstr "Ver prompt exacto que se enviará al modelo"

#: modules/content/views/page-content.php:973
msgid "Shows the full prompt before generating — useful to review what is being sent to gpt-image-1 or gpt-image-1-mini"
msgstr "Muestra el prompt completo antes de generar — útil para revisar qué se está enviando a gpt-image-1 o gpt-image-1-mini"

#: modules/content/views/page-content.php:985
msgid "Publishing in WordPress"
msgstr "Publicación en WordPress"

#: modules/content/views/page-content.php:986
msgid "Decide how and where the articles will be published."
msgstr "Decide cómo y dónde se publicarán los artículos."

#: modules/content/views/page-content.php:991
msgid "Status when created"
msgstr "Estado al crear"

#: modules/content/views/page-content.php:999
#: modules/pipeline/views/page-pipeline.php:717
msgid "Draft"
msgstr "Borrador"

#: modules/content/views/page-content.php:1000
msgid "Saves the article without publishing"
msgstr "Guarda el artículo sin publicar"

#: modules/content/views/page-content.php:1009
msgid "Publish directly"
msgstr "Publicar directamente"

#: modules/content/views/page-content.php:1010
msgid "Visible on the site instantly"
msgstr "Visible en el sitio al instante"

#: modules/content/views/page-content.php:1019
msgid "Pending review"
msgstr "Pendiente de revisión"

#: modules/content/views/page-content.php:1020
msgid "Requires manual approval"
msgstr "Requiere aprobación manual"

#: modules/content/views/page-content.php:1038
#: modules/pipeline/views/page-pipeline.php:655
msgid "Content type"
msgstr "Tipo de contenido"

#: modules/content/views/page-content.php:1039
msgid "(post, page or CPT)"
msgstr "(post, página o CPT)"

#: modules/content/views/page-content.php:1055
msgid "If you choose a type other than \"Post\", the category and tags will be ignored (each CPT can have its own taxonomies)."
msgstr "Si eliges un tipo distinto a «Entrada», la categoría y las etiquetas se ignorarán (cada CPT puede tener sus propias taxonomías)."

#: modules/content/views/page-content.php:1061
#: modules/pipeline/views/page-pipeline.php:729
msgid "Author"
msgstr "Autor"

#: modules/content/views/page-content.php:1069
#: modules/images/views/page-images.php:98
#: modules/pipeline/views/page-pipeline.php:722
#: modules/translation/views/page-translation.php:80
msgid "Category"
msgstr "Categoría"

#: modules/content/views/page-content.php:1071
#: modules/pipeline/views/page-pipeline.php:724
msgid "No category"
msgstr "Sin categoría"

#: modules/content/views/page-content.php:1078
#: modules/knowledge_base/views/page-entries.php:118
#: modules/knowledge_base/views/page-entries.php:414
msgid "Tags"
msgstr "Etiquetas"

#: modules/content/views/page-content.php:1078
msgid "(separated by commas)"
msgstr "(separadas por comas)"

#: modules/content/views/page-content.php:1079
msgid "e.g. investing, finance, stock market"
msgstr "ej: inversión, finanzas, bolsa"

#: modules/content/views/page-content.php:1092
#: admin/js/admin.js:2064
msgid "Advanced instructions"
msgstr "Instrucciones avanzadas"

#: modules/content/views/page-content.php:1093
msgid "Editorial rules, brand mentions and guidelines that make the difference in the result."
msgstr "Reglas editoriales, menciones de marca y directrices que marcan la diferencia en el resultado."

#: modules/content/views/page-content.php:1099
msgid "Quality presets:"
msgstr "Presets de calidad:"

#: modules/content/views/page-content.php:1102
msgid "Removes typical AI patterns, varies the rhythm and forces taking a stance. Applicable to any type of article."
msgstr "Elimina patrones típicos de IA, varía el ritmo y obliga a tomar posición. Aplicable a cualquier tipo de artículo."

#: modules/content/views/page-content.php:1104
msgid "Natural editorial style"
msgstr "Estilo editorial natural"

#: modules/content/views/page-content.php:1107
msgid "Concrete data, expert nuances, contrarian perspective, common mistakes. To rank in competitive niches."
msgstr "Datos concretos, matices expertos, perspectiva contraria, errores comunes. Para posicionar en nichos competidos."

#: modules/content/views/page-content.php:1109
msgid "Authority and EEAT"
msgstr "Autoridad y EEAT"

#: modules/content/views/page-content.php:1112
msgid "Direct answer at the start, subheadings as questions, self-contained paragraphs. For featured snippets and voice search."
msgstr "Respuesta directa al principio, subencabezados como preguntas, párrafos independientes. Para featured snippets y búsqueda por voz."

#: modules/content/views/page-content.php:1114
msgid "Conversational search"
msgstr "Búsqueda conversacional"

#: modules/content/views/page-content.php:1117
msgid "The reader does not need to look elsewhere for information. Real depth, exceptions, future outlook. For pillar content."
msgstr "El lector no necesita ir a buscar más información. Profundidad real, excepciones, perspectiva de futuro. Para contenido pilar."

#: modules/content/views/page-content.php:1119
msgid "Reference guide"
msgstr "Guía de referencia"

#: modules/content/views/page-content.php:1122
msgid "Clear the advanced instructions field"
msgstr "Vaciar el campo de instrucciones avanzadas"

#: modules/content/views/page-content.php:1129
msgid "Examples:\n— Mention the brand 'MyCompany' at least twice naturally\n— End each section with a rhetorical question that invites reflection\n— Do not mention prices or make cost comparisons\n— Always use 'investors' instead of 'retail investors'\n— Include a real or hypothetical example in at least 3 sections\n— Avoid typical AI structures: 'In conclusion', 'It is important to note', 'Without a doubt'\n— The tone should be close but without using overly colloquial slang"
msgstr "Ejemplos:\n— Menciona la marca «MiEmpresa» al menos dos veces de forma natural\n— Termina cada sección con una pregunta retórica que invite a reflexionar\n— No menciones precios ni hagas comparaciones de coste\n— Usa siempre «inversores» en lugar de «inversores minoristas»\n— Incluye un ejemplo real o hipotético en al menos 3 secciones\n— Evita estructuras típicas de IA: «En conclusión», «Es importante destacar», «Sin duda»\n— El tono debe ser cercano pero sin usar jerga excesivamente coloquial"

#: modules/content/views/page-content.php:1139
msgid "This field has a big impact on the quality and personalization of the result. The more specific, the better."
msgstr "Este campo tiene gran impacto en la calidad y personalización del resultado. Cuanto más específico, mejor."

#: modules/content/views/page-content.php:1152
msgid "Save configuration as a template"
msgstr "Guardar configuración como plantilla"

#: modules/content/views/page-content.php:1153
msgid "Save all the parameters configured above to reuse them in future articles and automations. Only the style and structure configuration is saved — not the titles or categories."
msgstr "Guarda todos los parámetros configurados arriba para reutilizarlos en futuros artículos y automatizaciones. Solo se guardará la configuración de estilo y estructura — no los títulos ni categorías."

#: modules/content/views/page-content.php:1159
#: admin/js/admin.js:2770
msgid "Template name"
msgstr "Nombre de la plantilla"

#: modules/content/views/page-content.php:1161
msgid "e.g. Long informative blog"
msgstr "ej: Blog informativo largo"

#: modules/content/views/page-content.php:1164
#: modules/images/views/page-images.php:154
#: modules/pipeline/views/page-pipeline.php:554
#: modules/pipeline/views/page-pipeline.php:601
#: modules/pipeline/views/page-pipeline.php:705
msgid "(optional)"
msgstr "(opcional)"

#: modules/content/views/page-content.php:1166
msgid "What type of content to use this template for"
msgstr "Para qué tipo de contenido usar esta plantilla"

#: modules/content/views/page-content.php:1172
msgid "Save as template"
msgstr "Guardar como plantilla"

#: modules/content/views/page-content.php:1186
msgid "Post-generation automations"
msgstr "Automatizaciones post-generación"

#: modules/content/views/page-content.php:1187
msgid "Actions that run right after creating each article."
msgstr "Acciones que se ejecutan justo después de crear cada artículo."

#: modules/content/views/page-content.php:1194
msgid "Apply internal linking rules"
msgstr "Aplicar reglas de enlazado interno"

#: modules/content/views/page-content.php:1195
msgid "Automatically inserts links to pillar pages according to the plugin's active rules"
msgstr "Inserta automáticamente los enlaces a páginas pilar según las reglas activas del plugin"

#: modules/content/views/page-content.php:1205
msgid "Generate semantic links"
msgstr "Generar enlaces semánticos"

#: modules/content/views/page-content.php:1206
msgid "Analyzes the new post with AI and creates contextual links to other related posts on the site"
msgstr "Analiza el nuevo post con IA y crea enlaces contextuales hacia otros posts relacionados del sitio"

#: modules/content/views/page-content.php:1217
msgid "Translate automatically"
msgstr "Traducir automáticamente"

#: modules/content/views/page-content.php:1218
msgid "Generates the selected translations immediately after creating each article"
msgstr "Genera las traducciones seleccionadas inmediatamente después de crear cada artículo"

#: modules/content/views/page-content.php:1227
msgid "Translate to:"
msgstr "Traducir a:"

#. translators: %s: number of titles ready, wrapped in markup.
#: modules/content/views/page-content.php:1257
#, php-format
msgid "<strong>%s titles ready</strong> to generate"
msgstr "<strong>%s títulos listos</strong> para generar"

#: modules/content/views/page-content.php:1266
#: modules/content/content.js:204
#: modules/content/content.js:281
#: modules/content/content.js:306
msgid "Add to the generation queue"
msgstr "Añadir a la cola de generación"

#: modules/content/views/page-content.php:1282
msgid "Generation queue"
msgstr "Cola de generación"

#: modules/content/views/page-content.php:1287
#: modules/pipeline/views/page-pipeline.php:290
#: modules/pipeline/views/page-pipeline.php:298
#: modules/pipeline/views/page-pipeline.php:306
#: modules/pipeline/views/page-pipeline.php:314
#: modules/pipeline/views/page-pipeline.php:718
msgid "Pending"
msgstr "Pendientes"

#: modules/content/views/page-content.php:1291
msgid "Generated"
msgstr "Generados"

#: modules/content/views/page-content.php:1295
#: modules/content/views/page-content.php:1387
#: modules/content/content.js:684
msgid "Failed"
msgstr "Fallidos"

#: modules/content/views/page-content.php:1303
msgid "Cancel queue"
msgstr "Cancelar cola"

#: modules/content/views/page-content.php:1308
msgid "Retry failed"
msgstr "Reintentar fallidos"

#. translators: %d: number of pending articles to generate.
#: modules/content/views/page-content.php:1316
#, php-format
msgid "Generate %d article"
msgid_plural "Generate %d articles"
msgstr[0] "Generar %d artículo"
msgstr[1] "Generar %d artículos"

#: modules/content/views/page-content.php:1319
#: modules/content/content.js:653
msgid "Generate articles"
msgstr "Generar artículos"

#: modules/content/views/page-content.php:1330
#: modules/content/views/page-content.php:1390
#: modules/pipeline/views/page-pipeline.php:37
#: modules/content/content.js:687
#: modules/pipeline/pipeline.js:1263
msgid "Generating…"
msgstr "Generando…"

#: modules/content/views/page-content.php:1343
msgid "The queue is empty. Add titles above and click <strong>Add to the generation queue</strong>."
msgstr "La cola está vacía. Añade títulos arriba y pulsa <strong>Añadir a la cola de generación</strong>."

#: modules/content/views/page-content.php:1382
msgid "Finished: "
msgstr "Terminado: "

#: modules/content/views/page-content.php:1383
msgid "Generated "
msgstr "Generado "

#: modules/content/views/page-content.php:1386
msgid "Failed: "
msgstr "Falló: "

#: modules/content/views/page-content.php:1387
msgid "Failed "
msgstr "Falló "

#: modules/content/views/page-content.php:1392
#: modules/pipeline/views/page-pipeline.php:418
#: modules/content/content.js:689
msgid "Queued"
msgstr "En cola"

#: modules/content/views/page-content.php:1399
msgid "View prompts"
msgstr "Ver prompts"

#: modules/content/views/page-content.php:1403
msgid "View error"
msgstr "Ver error"

#: modules/content/views/page-content.php:1434
msgid "No knowledge base assigned"
msgstr "Sin base de conocimiento asignada"

#: modules/content/views/page-content.php:1436
msgid "You have not assigned a base to this article. The AI will generate the content using only its general knowledge, which increases the risk of inaccuracies in data specific to your product or service."
msgstr "No has asignado una base a este artículo. La IA generará el contenido usando solo su conocimiento general, lo que aumenta el riesgo de inexactitudes en datos específicos de tu producto o servicio."

#: modules/content/views/page-content.php:1446
#: modules/pipeline/views/page-pipeline.php:916
msgid "Do not warn me again"
msgstr "No volver a avisarme"

#: modules/content/views/page-content.php:1451
msgid "Continue without base"
msgstr "Continuar sin base"

#: modules/content/views/page-content.php:1452
msgid "Assign base now"
msgstr "Asignar base ahora"

#: modules/content/views/page-content.php:1465
msgid "Low coverage in some titles"
msgstr "Cobertura baja en algunos títulos"

#: modules/content/views/page-content.php:1467
msgid "The knowledge base you have selected does not cover some of the titles well. For those articles, the AI will use its general knowledge instead of verified information from your base."
msgstr "La base de conocimiento que has seleccionado no cubre bien algunos de los títulos. Para esos artículos, la IA usará su conocimiento general en lugar de información verificada de tu base."

#: modules/content/views/page-content.php:1478
msgid "Do not warn me again about low coverage"
msgstr "No volver a avisarme por cobertura baja"

#: modules/content/views/page-content.php:1483
msgid "Change base"
msgstr "Cambiar base"

#: modules/content/views/page-content.php:1484
msgid "Generate anyway"
msgstr "Generar igualmente"

#. translators: %s: link to the Settings page.
#: modules/images/views/page-images.php:19
#, php-format
msgid "OpenAI API key not configured. Go to %s."
msgstr "API key de OpenAI no configurada. Ve a %s."

#: modules/images/views/page-images.php:26
#: views/page-onboarding.php:107
msgid "Create images"
msgstr "Crear imágenes"

#: modules/images/views/page-images.php:27
msgid "Generate featured images with AI for any post, individually or in bulk."
msgstr "Genera imágenes destacadas con IA para cualquier publicación, de forma individual o masiva."

#: modules/images/views/page-images.php:40
msgid "All images"
msgstr "Todas las imágenes"

#: modules/images/views/page-images.php:41
msgid "Without image"
msgstr "Sin imagen"

#: modules/images/views/page-images.php:42
msgid "With image"
msgstr "Con imagen"

#: modules/images/views/page-images.php:45
#: modules/pipeline/views/page-pipeline.php:716
msgid "Published"
msgstr "Publicado"

#: modules/images/views/page-images.php:46
msgid "Drafts"
msgstr "Borradores"

#: modules/images/views/page-images.php:50
#: modules/translation/views/page-translation.php:82
msgid "All categories"
msgstr "Todas las categorías"

#: modules/images/views/page-images.php:56
#: modules/translation/views/page-translation.php:93
msgid "All tags"
msgstr "Todas las etiquetas"

#: modules/images/views/page-images.php:63
#: modules/pipeline/views/page-pipeline.php:535
msgid "Apply"
msgstr "Aplicar"

#: modules/images/views/page-images.php:75
#: modules/translation/views/page-translation.php:120
msgid "posts selected"
msgstr "publicaciones seleccionadas"

#: modules/images/views/page-images.php:76
#: modules/translation/views/page-translation.php:195
msgid "Deselect"
msgstr "Deseleccionar"

#: modules/images/views/page-images.php:80
msgid "Generate images for"
msgstr "Generar imágenes para"

#: modules/images/views/page-images.php:87
msgid "Processing images in the background…"
msgstr "Procesando imágenes en segundo plano…"

#: modules/images/views/page-images.php:94
#: modules/translation/views/page-translation.php:192
msgid "Select all"
msgstr "Seleccionar todo"

#: modules/images/views/page-images.php:97
#: modules/knowledge_base/views/page-entries.php:414
#: modules/pipeline/pipeline.js:683
msgid "Title"
msgstr "Título"

#: modules/images/views/page-images.php:100
#: admin/js/exitos.js:368
#: modules/translation/translation.js:49
msgid "Date"
msgstr "Fecha"

#: modules/images/views/page-images.php:106
#: modules/semantic/views/page-semantic.php:231
#: modules/translation/views/page-translation.php:208
msgid "Loading posts…"
msgstr "Cargando publicaciones…"

#: modules/images/views/page-images.php:120
msgid "The style will be applied to the images that are generated."
msgstr "El estilo se aplicará a las imágenes que se generen."

#: modules/images/views/page-images.php:143
msgid "<strong>Economical</strong> — gpt-image-1-mini · recommended"
msgstr "<strong>Económico</strong> — gpt-image-1-mini · recomendado"

#: modules/images/views/page-images.php:147
msgid "<strong>High quality</strong> — gpt-image-1 · more expensive"
msgstr "<strong>Calidad alta</strong> — gpt-image-1 · más caro"

#: modules/images/views/page-images.php:154
msgid "Additional instructions"
msgstr "Indicaciones adicionales"

#: modules/images/views/page-images.php:157
msgid "E.g.: no people, blue palette, night atmosphere…"
msgstr "Ej: sin personas, paleta azul, ambiente nocturno…"

#: modules/images/views/page-images.php:160
msgid "Restrictions or details you want to force in the image. They are added to the prompt generated automatically from the article content."
msgstr "Restricciones o detalles que quieras forzar en la imagen. Se añaden al prompt generado automáticamente desde el contenido del artículo."

#: modules/images/views/page-images.php:169
#: modules/images/images.js:339
#: modules/images/images.js:365
msgid "Generate"
msgstr "Generar"

#: modules/knowledge_base/views/page-bases.php:18
msgid "New base"
msgstr "Nueva base"

#: modules/knowledge_base/views/page-bases.php:23
msgid "Store verified information about your product, service or industry. When generating an article with a base assigned, the AI will consult this data before writing and will avoid making up figures or features."
msgstr "Almacena información verificada sobre tu producto, servicio o sector. Al generar un artículo con una base asignada, la IA consultará estos datos antes de redactar y evitará inventarse cifras o características."

#: modules/knowledge_base/views/page-bases.php:35
msgid "Advanced options"
msgstr "Opciones avanzadas"

#: modules/knowledge_base/views/page-bases.php:41
msgid "Expand queries before searching"
msgstr "Expandir consultas antes de buscar"

#: modules/knowledge_base/views/page-bases.php:43
msgid "When active, before searching for entries relevant to a title, the system uses GPT-4o-mini to enrich the title with synonyms and related concepts. It improves matching precision, especially for short titles. Cost per article: approx. €0.0001 (negligible). <strong>Recommended to keep it active.</strong>"
msgstr "Cuando está activo, antes de buscar fichas relevantes para un título, el sistema usa GPT-4o-mini para enriquecer el título con sinónimos y conceptos relacionados. Mejora la precisión del matching, especialmente para títulos cortos. Coste por artículo: aprox. 0,0001 € (despreciable). <strong>Recomendado dejarlo activo.</strong>"

#: modules/knowledge_base/views/page-bases.php:61
msgid "Warn when creating content without an assigned base"
msgstr "Avisar al crear contenido sin base asignada"

#: modules/knowledge_base/views/page-bases.php:63
msgid "If active, when you add articles to the queue or save an automation without a knowledge base selected, a warning will appear. <strong>Recommended to keep it active</strong> so you do not forget the base by accident."
msgstr "Si está activo, cuando añadas artículos a la cola o guardes una automatización sin una base de conocimiento seleccionada, aparecerá un aviso. <strong>Recomendado dejarlo activo</strong> para no olvidar la base por descuido."

#: modules/knowledge_base/views/page-bases.php:78
msgid "Warn when coverage is low"
msgstr "Avisar cuando la cobertura sea baja"

#: modules/knowledge_base/views/page-bases.php:80
msgid "If active, before adding titles to the queue it checks whether the knowledge base covers each title well. If any title has low coverage (score below 35%), a warning with the details will appear. Articles generated with low coverage are always visually tagged with a &#9888; icon, even if you disable this warning."
msgstr "Si está activo, antes de añadir títulos a la cola se comprueba si la base de conocimiento cubre bien cada título. Si algún título tiene cobertura baja (puntuación inferior al 35 %), aparecerá un aviso con el detalle. Los artículos generados con cobertura baja siempre se etiquetan visualmente con un icono &#9888;, aunque desactives este aviso."

#: modules/knowledge_base/views/page-bases.php:92
msgid "Loading bases…"
msgstr "Cargando bases…"

#: modules/knowledge_base/views/page-bases.php:104
msgid "New knowledge base"
msgstr "Nueva base de conocimiento"

#: modules/knowledge_base/views/page-bases.php:105
msgid "Fill in the fields. In the next session you will be able to add entries to it (questions and answers, data, etc.)."
msgstr "Rellena los campos. En la próxima sesión podrás añadirle fichas (preguntas y respuestas, datos, etc.)."

#: modules/knowledge_base/views/page-bases.php:118
msgid "Base name"
msgstr "Nombre de la base"

#: modules/knowledge_base/views/page-bases.php:119
msgid "Internal label to identify it. E.g.: <em>My plugin</em>, <em>Client X</em>, <em>Main product</em>."
msgstr "Etiqueta interna para identificarla. Ej: <em>Mi plugin</em>, <em>Cliente X</em>, <em>Producto principal</em>."

#: modules/knowledge_base/views/page-bases.php:120
msgid "E.g.: My product"
msgstr "Ej: Mi producto"

#: modules/knowledge_base/views/page-bases.php:125
msgid "For your own use. The AI does not read it when generating."
msgstr "Para tu propio uso. La IA no la lee al generar."

#: modules/knowledge_base/views/page-bases.php:126
msgid "Short note about the content of this base"
msgstr "Breve nota sobre el contenido de esta base"

#: modules/knowledge_base/views/page-bases.php:130
msgid "Brand / company information"
msgstr "Información de marca / empresa"

#: modules/knowledge_base/views/page-bases.php:131
msgid "Exact name, website, industry. The AI will use it to refer to your brand correctly."
msgstr "Nombre exacto, web, sector. Lo usará la IA para referirse correctamente a tu marca."

#: modules/knowledge_base/views/page-bases.php:132
msgid "E.g.: Acme Ltd. — SEO tools for WordPress — acme.com"
msgstr "Ej: Acme S.L. — herramientas SEO para WordPress — acme.com"

#: modules/knowledge_base/views/page-bases.php:136
msgid "Own vocabulary"
msgstr "Vocabulario propio"

#: modules/knowledge_base/views/page-bases.php:137
msgid "Specific terms to always use. One instruction per line."
msgstr "Términos específicos a usar siempre. Una indicación por línea."

#: modules/knowledge_base/views/page-bases.php:138
msgid "We call the templates &laquo;briefings&raquo; (not &laquo;templates&raquo;)&#10;Our top plan is called &laquo;Pro&raquo; (not &laquo;Premium&raquo;)"
msgstr "Llamamos &laquo;briefings&raquo; a las plantillas (no &laquo;templates&raquo;)&#10;Nuestro plan superior se llama &laquo;Pro&raquo; (no &laquo;Premium&raquo;)"

#: modules/knowledge_base/views/page-bases.php:142
msgid "Blacklist"
msgstr "Lista negra"

#: modules/knowledge_base/views/page-bases.php:143
msgid "Words or topics the AI must avoid. One per line."
msgstr "Palabras o temas que la IA debe evitar. Una por línea."

#: modules/knowledge_base/views/page-bases.php:144
msgid "Do not mention competitors by name&#10;Do not use &laquo;the best on the market&raquo;&#10;Avoid specific prices"
msgstr "No mencionar competidores por nombre&#10;No usar &laquo;el mejor del mercado&raquo;&#10;Evitar precios concretos"

#: modules/knowledge_base/views/page-bases.php:163
msgid "Delete knowledge base"
msgstr "Eliminar base de conocimiento"

#: modules/knowledge_base/views/page-bases.php:165
msgid "This action is <strong>permanent</strong>. All associated entries will also be deleted."
msgstr "Esta acción es <strong>permanente</strong>. Se eliminarán también todas las fichas asociadas."

#. translators: %s: name of the base to delete, wrapped in markup.
#: modules/knowledge_base/views/page-bases.php:170
#, php-format
msgid "Do you want to continue with <strong id=\"ilkb-confirm-name\">%s</strong>?"
msgstr "¿Quieres continuar con <strong id=\"ilkb-confirm-name\">%s</strong>?"

#: modules/knowledge_base/views/page-bases.php:171
msgid "this base"
msgstr "esta base"

#: modules/knowledge_base/views/page-bases.php:177
#: modules/knowledge_base/views/page-entries.php:464
msgid "Delete permanently"
msgstr "Eliminar definitivamente"

#: modules/knowledge_base/views/page-entries.php:40
msgid "Information entries for this base. The AI will consult them when generating related content."
msgstr "Fichas de información de esta base. La IA las consultará al generar contenido relacionado."

#: modules/knowledge_base/views/page-entries.php:44
#: modules/knowledge_base/views/page-entries.php:92
msgid "New entry"
msgstr "Nueva ficha"

#: modules/knowledge_base/views/page-entries.php:48
msgid "Import CSV"
msgstr "Importar CSV"

#: modules/knowledge_base/views/page-entries.php:52
#: admin/js/admin.js:1326
msgid "Generate with AI"
msgstr "Generar con IA"

#: modules/knowledge_base/views/page-entries.php:62
msgid "the entries of this base"
msgstr "las fichas de esta base"

#: modules/knowledge_base/views/page-entries.php:66
msgid "Search by title, content or tags…"
msgstr "Buscar por título, contenido o etiquetas…"

#: modules/knowledge_base/views/page-entries.php:68
#: admin/js/admin.js:1783
msgid "entries"
msgstr "fichas"

#: modules/knowledge_base/views/page-entries.php:71
msgid "Reprocess pending"
msgstr "Reprocesar pendientes"

#: modules/knowledge_base/views/page-entries.php:77
msgid "Delete selected"
msgstr "Eliminar seleccionadas"

#: modules/knowledge_base/views/page-entries.php:78
msgid "Clear selection"
msgstr "Cancelar selección"

#: modules/knowledge_base/views/page-entries.php:82
msgid "Loading entries…"
msgstr "Cargando fichas…"

#: modules/knowledge_base/views/page-entries.php:93
msgid "An entry is a piece of verified information (question and answer, datum, specific fact…)."
msgstr "Una ficha es una pieza de información verificada (pregunta y respuesta, dato, hecho concreto…)."

#: modules/knowledge_base/views/page-entries.php:106
msgid "Entry title"
msgstr "Título de la ficha"

#: modules/knowledge_base/views/page-entries.php:107
msgid "Short label that describes this piece of information. E.g.: <em>Pro plan price</em>, <em>Which languages does it support?</em>."
msgstr "Etiqueta corta que describe esta pieza de información. Ej: <em>Precio del plan Pro</em>, <em>¿Qué idiomas soporta?</em>."

#: modules/knowledge_base/views/page-entries.php:108
msgid "E.g.: Pro plan price"
msgstr "Ej: Precio del plan Pro"

#: modules/knowledge_base/views/page-entries.php:113
msgid "The complete information. It can be an answer, a description, data. The clearer and more specific, the better."
msgstr "La información completa. Puede ser una respuesta, una descripción, datos. Cuanto más clara y específica, mejor."

#: modules/knowledge_base/views/page-entries.php:114
msgid "E.g.: The Pro plan costs €99/year, includes use on 1 site, email support and all the plugin features. It can be cancelled at any time."
msgstr "Ej: El plan Pro cuesta 99€/año, incluye uso en 1 sitio, soporte por email y todas las funcionalidades del plugin. Se puede cancelar en cualquier momento."

#: modules/knowledge_base/views/page-entries.php:119
msgid "Separated by commas. To group/filter entries. E.g.: <em>price, plans, commercial</em>."
msgstr "Separadas por comas. Para agrupar/filtrar fichas. Ej: <em>precio, planes, comercial</em>."

#: modules/knowledge_base/views/page-entries.php:120
msgid "E.g.: price, plans"
msgstr "Ej: precio, planes"

#: modules/knowledge_base/views/page-entries.php:144
msgid "Test semantic search"
msgstr "Probar la búsqueda semántica"

#: modules/knowledge_base/views/page-entries.php:148
msgid "Type an example article title to see which entries the system would return. It helps you check whether your base covers the topics you are going to address well before generating real content."
msgstr "Escribe un título de artículo de ejemplo para ver qué fichas devolvería el sistema. Te ayuda a comprobar si tu base cubre bien los temas que vas a tratar antes de generar contenido real."

#: modules/knowledge_base/views/page-entries.php:151
msgid "E.g.: How to set up the Pro plan?"
msgstr "Ej: ¿Cómo configurar el plan Pro?"

#: modules/knowledge_base/views/page-entries.php:152
msgid "Test"
msgstr "Probar"

#: modules/knowledge_base/views/page-entries.php:165
msgid "Generate entries with AI"
msgstr "Generar fichas con IA"

#: modules/knowledge_base/views/page-entries.php:166
msgid "Describe the topic/product/service. The AI will create a batch of entries that you can review before importing."
msgstr "Describe el tema/producto/servicio. La IA creará un lote de fichas que podrás revisar antes de importar."

#: modules/knowledge_base/views/page-entries.php:190
msgid "<strong>Upload a document</strong> or drag it here — we will extract the text automatically."
msgstr "<strong>Sube un documento</strong> o arrástralo aquí — extraeremos el texto automáticamente."

#: modules/knowledge_base/views/page-entries.php:191
msgid "Word (.docx) recommended for better quality. Also PDF, .txt and .md. Maximum size 20 MB."
msgstr "Word (.docx) recomendado para mejor calidad. También PDF, .txt y .md. Tamaño máximo 20 MB."

#: modules/knowledge_base/views/page-entries.php:195
msgid "Browse"
msgstr "Explorar"

#: modules/knowledge_base/views/page-entries.php:200
msgid "Extracting text from the document…"
msgstr "Extrayendo texto del documento…"

#: modules/knowledge_base/views/page-entries.php:204
#: modules/knowledge_base/views/page-entries.php:235
msgid "characters extracted"
msgstr "caracteres extraídos"

#: modules/knowledge_base/views/page-entries.php:205
msgid "Remove file"
msgstr "Quitar archivo"

#: modules/knowledge_base/views/page-entries.php:222
msgid "Extract"
msgstr "Extraer"

#: modules/knowledge_base/views/page-entries.php:225
msgid "Public web page with HTML content. It does not work with pages that require login, nor with apps that load content via JavaScript."
msgstr "Página web pública con contenido en HTML. No funciona con páginas que requieren login, ni con apps que cargan el contenido por JavaScript."

#: modules/knowledge_base/views/page-entries.php:231
msgid "Downloading and extracting content…"
msgstr "Descargando y extrayendo contenido…"

#: modules/knowledge_base/views/page-entries.php:236
msgid "Remove URL"
msgstr "Quitar URL"

#: modules/knowledge_base/views/page-entries.php:243
msgid "Topic description"
msgstr "Descripción del tema"

#: modules/knowledge_base/views/page-entries.php:245
msgid "The more detail you provide, the better entries you will get. Include concrete data: names, prices, features, target audience, limitations, integrations, etc. The AI <strong>will only use information that is in your description</strong> — it will not make up data."
msgstr "Cuanto más detalle aportes, mejores fichas obtendrás. Incluye datos concretos: nombres, precios, características, público objetivo, limitaciones, integraciones, etc. La IA <strong>solo usará información que esté en tu descripción</strong> — no inventará datos."

#: modules/knowledge_base/views/page-entries.php:247
msgid "E.g.: 4Linking is a WordPress plugin for automated internal linking. It has two plans: free Lite (limited to 50 links) and Pro (€99.99/year, unlimited). It includes optional modules: multilingual translation via Polylang, content generation with GPT-4o, image generation with DALL-E, and knowledge bases for RAG grounding. Support is offered by email only for Pro customers..."
msgstr "Ej: 4Linking es un plugin de WordPress para enlazado interno automatizado. Tiene dos planes: Lite gratuito (limitado a 50 enlaces) y Pro (99,99 €/año, ilimitado). Incluye módulos opcionales: traducción multilenguaje vía Polylang, generación de contenido con GPT-4o, generación de imágenes con DALL-E, y bases de conocimiento para grounding RAG. El soporte se ofrece por email solo para clientes Pro..."

#: modules/knowledge_base/views/page-entries.php:252
msgid "Number of entries"
msgstr "Número de fichas"

#: modules/knowledge_base/views/page-entries.php:254
msgid "10 entries (fast)"
msgstr "10 fichas (rápido)"

#: modules/knowledge_base/views/page-entries.php:255
msgid "20 entries (recommended)"
msgstr "20 fichas (recomendado)"

#: modules/knowledge_base/views/page-entries.php:256
msgid "30 entries (broad coverage)"
msgstr "30 fichas (cobertura amplia)"

#: modules/knowledge_base/views/page-entries.php:257
msgid "50 entries (maximum coverage)"
msgstr "50 fichas (máxima cobertura)"

#: modules/knowledge_base/views/page-entries.php:263
msgid "Detect automatically"
msgstr "Detectar automáticamente"

#: modules/knowledge_base/views/page-entries.php:273
msgid "Approximate cost: €0.01-0.05 per generation. The operation may take 20-60 seconds."
msgstr "Coste aproximado: 0,01-0,05 € por generación. La operación puede tardar 20-60 segundos."

#: modules/knowledge_base/views/page-entries.php:281
msgid "Generating entries…"
msgstr "Generando fichas…"

#: modules/knowledge_base/views/page-entries.php:282
msgid "The AI is creating a batch of entries from your description. This can take between 20 and 60 seconds."
msgstr "La IA está creando un lote de fichas a partir de tu descripción. Esto puede tardar entre 20 y 60 segundos."

#. translators: %s: number of generated entries, wrapped in markup.
#: modules/knowledge_base/views/page-entries.php:291
#, php-format
msgid "<strong id=\"ilkb-ai-review-count\">%s</strong> entries generated. Review, edit or discard before importing."
msgstr "<strong id=\"ilkb-ai-review-count\">%s</strong> fichas generadas. Revisa, edita o descarta antes de importar."

#: modules/knowledge_base/views/page-entries.php:295
msgid "Check/uncheck all"
msgstr "Marcar/desmarcar todas"

#: modules/knowledge_base/views/page-entries.php:303
msgid "Import completed"
msgstr "Importación completada"

#: modules/knowledge_base/views/page-entries.php:313
msgid "Generate entries"
msgstr "Generar fichas"

#: modules/knowledge_base/views/page-entries.php:315
msgid "Back"
msgstr "Volver"

#: modules/knowledge_base/views/page-entries.php:318
msgid "Import selected"
msgstr "Importar seleccionadas"

#: modules/knowledge_base/views/page-entries.php:337
msgid "Import entries from CSV"
msgstr "Importar fichas desde CSV"

#: modules/knowledge_base/views/page-entries.php:338
msgid "Upload a CSV file with your entries. The required columns are <strong>title</strong> and <strong>content</strong>; <strong>tags</strong> is optional."
msgstr "Sube un archivo CSV con tus fichas. Las columnas requeridas son <strong>title</strong> y <strong>content</strong>; <strong>tags</strong> es opcional."

#: modules/knowledge_base/views/page-entries.php:349
msgid "<strong>First time?</strong> Download the template, fill it with your entries and upload it again. The template includes 2 examples so you can see the format."
msgstr "<strong>¿Primera vez?</strong> Descarga la plantilla, rellénala con tus fichas y vuelve a subirla. La plantilla incluye 2 ejemplos para que veas el formato."

#: modules/knowledge_base/views/page-entries.php:351
msgid "How to prepare the file"
msgstr "Cómo preparar el archivo"

#: modules/knowledge_base/views/page-entries.php:353
msgid "One row per entry. The first row must be the header: <code>title,content,tags</code>."
msgstr "Una fila por ficha. La primera fila debe ser la cabecera: <code>title,content,tags</code>."

#: modules/knowledge_base/views/page-entries.php:354
msgid "<strong>title</strong>: short name of the entry (max. 255 characters)."
msgstr "<strong>title</strong>: nombre corto de la ficha (máx. 255 caracteres)."

#: modules/knowledge_base/views/page-entries.php:355
msgid "<strong>content</strong>: the complete content the AI will read. No limit, but it is recommended not to exceed ~2000 words per entry."
msgstr "<strong>content</strong>: el contenido completo que la IA leerá. Sin límite, pero se recomienda no exceder ~2000 palabras por ficha."

#: modules/knowledge_base/views/page-entries.php:356
msgid "<strong>tags</strong>: tags separated by commas (optional, max. 500 characters)."
msgstr "<strong>tags</strong>: etiquetas separadas por comas (opcional, máx. 500 caracteres)."

#: modules/knowledge_base/views/page-entries.php:357
msgid "If a field contains commas or line breaks, wrap it in double quotes: <code>\"text, with comma\"</code>."
msgstr "Si un campo contiene comas o saltos de línea, envuélvelo entre comillas dobles: <code>\"texto, con coma\"</code>."

#: modules/knowledge_base/views/page-entries.php:358
msgid "UTF-8 encoding (recommended). Excel detects it automatically when saving as <em>CSV UTF-8</em>."
msgstr "Codificación UTF-8 (recomendado). Excel detecta automáticamente al guardar como <em>CSV UTF-8</em>."

#: modules/knowledge_base/views/page-entries.php:359
msgid "Accepted separators: comma <code>,</code>, semicolon <code>;</code> (Excel ES), or tab."
msgstr "Separadores aceptados: coma <code>,</code>, punto y coma <code>;</code> (Excel ES), o tabulador."

#: modules/knowledge_base/views/page-entries.php:367
msgid "Download template"
msgstr "Descargar plantilla"

#: modules/knowledge_base/views/page-entries.php:369
msgid "or"
msgstr "o"

#: modules/knowledge_base/views/page-entries.php:372
msgid "Upload file"
msgstr "Subir archivo"

#: modules/knowledge_base/views/page-entries.php:385
msgid "entries detected"
msgstr "fichas detectadas"

#: modules/knowledge_base/views/page-entries.php:389
msgid "duplicates"
msgstr "duplicadas"

#: modules/knowledge_base/views/page-entries.php:393
msgid "warnings"
msgstr "advertencias"

#: modules/knowledge_base/views/page-entries.php:398
msgid "<strong>Some entries have the same title as existing entries.</strong> What do you want to do with them?"
msgstr "<strong>Algunas fichas tienen el mismo título que fichas existentes.</strong> ¿Qué quieres hacer con ellas?"

#: modules/knowledge_base/views/page-entries.php:400
msgid "Skip the duplicates (do not import them)"
msgstr "Omitir las duplicadas (no se importan)"

#: modules/knowledge_base/views/page-entries.php:401
msgid "Add as new (the title is duplicated)"
msgstr "Añadir como nuevas (se duplica el título)"

#: modules/knowledge_base/views/page-entries.php:406
msgid "View parser warnings"
msgstr "Ver advertencias del parser"

#: modules/knowledge_base/views/page-entries.php:411
msgid "Preview (first 10 rows)"
msgstr "Vista previa (primeras 10 filas)"

#: modules/knowledge_base/views/page-entries.php:423
msgid "Importing entries. Do not close this window until it finishes."
msgstr "Importando fichas. No cierres esta ventana hasta que termine."

#: modules/knowledge_base/views/page-entries.php:426
msgid "Importing entries…"
msgstr "Importando fichas…"

#: modules/knowledge_base/views/page-entries.php:445
#: admin/js/admin.js:3213
#: admin/js/admin.js:3217
msgid "Import"
msgstr "Importar"

#: modules/knowledge_base/views/page-entries.php:458
#: admin/js/kb-entries.js:372
#: admin/js/kb-entries.js:389
msgid "Delete entry"
msgstr "Eliminar ficha"

#: modules/knowledge_base/views/page-entries.php:460
#: admin/js/kb-entries.js:379
#: admin/js/kb-entries.js:401
msgid "This action is <strong>permanent</strong>. Do you want to continue?"
msgstr "Esta acción es <strong>permanente</strong>. ¿Quieres continuar?"

#. translators: %s: time interval like "2d 3h 30min".
#: modules/pipeline/views/page-pipeline.php:34
#: modules/pipeline/pipeline.js:85
#, php-format,js-format
msgid "Every %s"
msgstr "Cada %s"

#: modules/pipeline/views/page-pipeline.php:36
#: modules/pipeline/pipeline.js:1263
msgid "Scheduled"
msgstr "Programado"

#: modules/pipeline/views/page-pipeline.php:38
#: modules/translation/views/page-translation.php:163
#: modules/pipeline/pipeline.js:1263
msgid "Translating…"
msgstr "Traduciendo…"

#: modules/pipeline/views/page-pipeline.php:39
#: modules/pipeline/pipeline.js:1263
msgid "Linking…"
msgstr "Enlazando…"

#: modules/pipeline/views/page-pipeline.php:40
#: modules/pipeline/pipeline.js:1263
msgid "Semantic…"
msgstr "Semántico…"

#: modules/pipeline/views/page-pipeline.php:41
#: modules/pipeline/views/page-pipeline.php:188
#: modules/content/content.js:546
#: modules/pipeline/pipeline.js:1263
msgid "Completed"
msgstr "Completado"

#. translators: %s = error message
#: modules/pipeline/views/page-pipeline.php:42
#: admin/js/admin.js:452
#: admin/js/admin.js:1485
#: admin/js/kb-entries.js:610
#: modules/content/content.js:763
#: modules/content/content.js:1009
#: modules/content/content.js:1132
#: modules/content/content.js:1535
#: modules/pipeline/pipeline.js:385
#: modules/pipeline/pipeline.js:390
#: modules/pipeline/pipeline.js:1263
msgid "Error"
msgstr "Error"

#: modules/pipeline/views/page-pipeline.php:57
msgid "⚠ Configure OpenAI"
msgstr "⚠ Configura OpenAI"

#: modules/pipeline/views/page-pipeline.php:61
#: modules/pipeline/views/page-pipeline.php:510
#: modules/pipeline/pipeline.js:18
#: modules/pipeline/pipeline.js:67
msgid "New automation"
msgstr "Nueva automatización"

#: modules/pipeline/views/page-pipeline.php:66
msgid "Schedule article creation on autopilot. You define a list of titles and a frequency, and the plugin publishes them with linking and images included."
msgstr "Programa la creación de artículos en piloto automático. Defines una lista de títulos y una frecuencia, y el plugin va publicándolos con enlazado e imágenes incluidos."

#. translators: %s: link to cron settings.
#: modules/pipeline/views/page-pipeline.php:83
#, php-format
msgid "The cron is not active or has not run recently. Automations need the cron to work. %s"
msgstr "El cron no está activo o no se ha ejecutado recientemente. Las automatizaciones necesitan el cron para funcionar. %s"

#: modules/pipeline/views/page-pipeline.php:84
#: modules/pipeline/views/page-pipeline.php:108
msgid "Configure cron"
msgstr "Configurar cron"

#: modules/pipeline/views/page-pipeline.php:94
msgid "My automations"
msgstr "Mis automatizaciones"

#: modules/pipeline/views/page-pipeline.php:96
msgid "Cron running — click to configure"
msgstr "Cron en funcionamiento — click para configurar"

#: modules/pipeline/views/page-pipeline.php:97
msgid "Cron active"
msgstr "Cron activo"

#: modules/pipeline/views/page-pipeline.php:100
msgid "The cron is not running — click to configure it"
msgstr "El cron no se está ejecutando — haz click para configurarlo"

#: modules/pipeline/views/page-pipeline.php:101
msgid "Cron inactive"
msgstr "Cron inactivo"

#: modules/pipeline/views/page-pipeline.php:107
msgid "The cron lets automations publish articles automatically even when the WordPress admin is closed. It uses an external service (such as cron-job.org) that calls a plugin URL every minute."
msgstr "El cron sirve para que las automatizaciones puedan publicar artículos automáticamente aunque el admin de WordPress esté cerrado. Usa un servicio externo (como cron-job.org) que llama a una URL del plugin cada minuto."

#: modules/pipeline/views/page-pipeline.php:114
#: modules/semantic/views/page-semantic.php:206
msgid "Search…"
msgstr "Buscar…"

#: modules/pipeline/views/page-pipeline.php:122
msgid "You have no automations yet"
msgstr "Aún no tienes automatizaciones"

#: modules/pipeline/views/page-pipeline.php:124
msgid "An automation lets you generate articles unattended: you define a list of titles, a template and a frequency, and the plugin creates the content automatically. Create the first one with the button above."
msgstr "Una automatización te permite generar artículos de forma desatendida: defines una lista de títulos, una plantilla y una frecuencia, y el plugin va creando el contenido automáticamente. Crea la primera con el botón de arriba."

#: modules/pipeline/views/page-pipeline.php:131
#: modules/semantic/views/page-semantic.php:222
msgid "STATUS"
msgstr "ESTADO"

#: modules/pipeline/views/page-pipeline.php:132
msgid "NAME"
msgstr "NOMBRE"

#: modules/pipeline/views/page-pipeline.php:133
msgid "FREQUENCY"
msgstr "FRECUENCIA"

#: modules/pipeline/views/page-pipeline.php:134
msgid "NEXT RUN"
msgstr "PRÓXIMA EJECUCIÓN"

#: modules/pipeline/views/page-pipeline.php:135
msgid "TITLES"
msgstr "TÍTULOS"

#: modules/pipeline/views/page-pipeline.php:136
msgid "REMAINING"
msgstr "RESTANTES"

#: modules/pipeline/views/page-pipeline.php:137
msgid "RUNS"
msgstr "EJECUCIONES"

#: modules/pipeline/views/page-pipeline.php:192
msgid "Few titles left — you will receive a warning email"
msgstr "Quedan pocos títulos — recibirás un email de aviso"

#. translators: %d: number of remaining titles.
#: modules/pipeline/views/page-pipeline.php:197
#, php-format
msgid "%d remaining"
msgstr "%d restantes"

#: modules/pipeline/views/page-pipeline.php:211
msgid "Run now"
msgstr "Ejecutar ahora"

#: modules/pipeline/views/page-pipeline.php:231
msgid "Job monitor"
msgstr "Monitor de jobs"

#: modules/pipeline/views/page-pipeline.php:232
msgid "Live"
msgstr "En vivo"

#: modules/pipeline/views/page-pipeline.php:234
msgid "Monitor in real time the execution of all your automation processes."
msgstr "Supervisa en tiempo real la ejecución de todos los procesos de tu automatización."

#: modules/pipeline/views/page-pipeline.php:238
msgid "Overall progress"
msgstr "Progreso general"

#: modules/pipeline/views/page-pipeline.php:245
msgid "Elapsed time"
msgstr "Tiempo transcurrido"

#: modules/pipeline/views/page-pipeline.php:247
msgid "Estimated:"
msgstr "Estimado:"

#: modules/pipeline/views/page-pipeline.php:252
msgid "Completed today"
msgstr "Completados hoy"

#: modules/pipeline/views/page-pipeline.php:255
msgid "Completed jobs"
msgstr "Jobs completados"

#: modules/pipeline/views/page-pipeline.php:257
msgid "Today"
msgstr "Hoy"

#: modules/pipeline/views/page-pipeline.php:270
msgid "Current job:"
msgstr "Job actual:"

#: modules/pipeline/views/page-pipeline.php:270
msgid "Waiting…"
msgstr "Esperando…"

#: modules/pipeline/views/page-pipeline.php:271
msgid "Open post"
msgstr "Abrir post"

#: modules/pipeline/views/page-pipeline.php:289
msgid "1. Content"
msgstr "1. Contenido"

#: modules/pipeline/views/page-pipeline.php:297
msgid "2. Rule linking"
msgstr "2. Enlazado reglas"

#: modules/pipeline/views/page-pipeline.php:305
#: modules/pipeline/views/page-pipeline.php:372
msgid "3. Semantic linking"
msgstr "3. Enlazado semántico"

#: modules/pipeline/views/page-pipeline.php:313
#: modules/pipeline/views/page-pipeline.php:394
msgid "4. Translations"
msgstr "4. Traducciones"

#: modules/pipeline/views/page-pipeline.php:328
msgid "1. Generate SEO content"
msgstr "1. Generar contenido SEO"

#: modules/pipeline/views/page-pipeline.php:329
msgid "Creating the article with AI"
msgstr "Creando el artículo con IA"

#: modules/pipeline/views/page-pipeline.php:333
#: modules/pipeline/views/page-pipeline.php:355
#: modules/pipeline/views/page-pipeline.php:377
#: modules/pipeline/views/page-pipeline.php:399
#: modules/pipeline/views/page-pipeline.php:454
msgid "Waiting"
msgstr "En espera"

#: modules/pipeline/views/page-pipeline.php:350
msgid "2. Rule-based linking"
msgstr "2. Enlazado por reglas"

#: modules/pipeline/views/page-pipeline.php:351
msgid "Applying internal linking rules"
msgstr "Aplicando reglas de enlazado interno"

#: modules/pipeline/views/page-pipeline.php:373
msgid "Generating contextual links"
msgstr "Generando enlaces contextuales"

#: modules/pipeline/views/page-pipeline.php:395
msgid "Generating versions in other languages"
msgstr "Generando versiones en otros idiomas"

#: modules/pipeline/views/page-pipeline.php:413
msgid "Active automations"
msgstr "Automatizaciones activas"

#: modules/pipeline/views/page-pipeline.php:415
msgid "On right now"
msgstr "Encendidas ahora"

#: modules/pipeline/views/page-pipeline.php:420
msgid "Pending or running jobs"
msgstr "Jobs pendientes o en curso"

#: modules/pipeline/views/page-pipeline.php:423
msgid "Success rate"
msgstr "Tasa de éxito"

#: modules/pipeline/views/page-pipeline.php:425
#: modules/pipeline/views/page-pipeline.php:430
msgid "Last 7 days"
msgstr "Últimos 7 días"

#: modules/pipeline/views/page-pipeline.php:428
msgid "Articles generated"
msgstr "Artículos generados"

#: modules/pipeline/views/page-pipeline.php:439
msgid "Real-time activity"
msgstr "Actividad en tiempo real"

#: modules/pipeline/views/page-pipeline.php:451
msgid "Running process…"
msgstr "Ejecutando proceso…"

#: modules/pipeline/views/page-pipeline.php:455
msgid "When a job is launched, you will see the action in progress here."
msgstr "Cuando se lance un job, aquí verás la acción en curso."

#: modules/pipeline/views/page-pipeline.php:460
msgid "Job"
msgstr "Job"

#: modules/pipeline/views/page-pipeline.php:468
msgid "Time"
msgstr "Tiempo"

#: modules/pipeline/views/page-pipeline.php:472
msgid "Progress"
msgstr "Progreso"

#: modules/pipeline/views/page-pipeline.php:492
msgid "Waiting for the job to start…"
msgstr "Esperando inicio del job…"

#: modules/pipeline/views/page-pipeline.php:493
msgid "As soon as an execution starts you will see its progress here."
msgstr "En cuanto arranque una ejecución verás su progreso aquí."

#: modules/pipeline/views/page-pipeline.php:523
msgid "Identification"
msgstr "Identificación"

#: modules/pipeline/views/page-pipeline.php:525
msgid "Content template"
msgstr "Plantilla de contenido"

#: modules/pipeline/views/page-pipeline.php:528
msgid "No template"
msgstr "Sin plantilla"

#: modules/pipeline/views/page-pipeline.php:540
msgid "Template applied:"
msgstr "Plantilla aplicada:"

#: modules/pipeline/views/page-pipeline.php:546
msgid "Select a template to apply its parameters automatically."
msgstr "Selecciona una plantilla para aplicar sus parámetros automáticamente."

#: modules/pipeline/views/page-pipeline.php:549
msgid "Content name"
msgstr "Nombre del contenido"

#: modules/pipeline/views/page-pipeline.php:550
msgid "e.g. Health blog – EN"
msgstr "ej: Blog salud – ES"

#: modules/pipeline/views/page-pipeline.php:554
msgid "SEO keyword"
msgstr "Keyword SEO"

#: modules/pipeline/views/page-pipeline.php:570
msgid "Frequency and schedule"
msgstr "Frecuencia y horario"

#: modules/pipeline/views/page-pipeline.php:573
msgid "Repeat every"
msgstr "Repetir cada"

#: modules/pipeline/views/page-pipeline.php:576
msgid "days"
msgstr "días"

#: modules/pipeline/views/page-pipeline.php:578
msgid "h"
msgstr "h"

#: modules/pipeline/views/page-pipeline.php:580
msgid "min"
msgstr "min"

#: modules/pipeline/views/page-pipeline.php:583
msgid "Local time:"
msgstr "Hora local:"

#: modules/pipeline/views/page-pipeline.php:586
msgid "Publication date and time"
msgstr "Fecha y hora de publicación"

#: modules/pipeline/views/page-pipeline.php:600
msgid "Low remaining titles warning"
msgstr "Aviso de pocos títulos restantes"

#: modules/pipeline/views/page-pipeline.php:607
msgid "titles remaining"
msgstr "títulos restantes"

#. translators: %d: global default threshold value.
#: modules/pipeline/views/page-pipeline.php:613
#, php-format
msgid "If left empty, the default value from Settings will be used (%d). Set 0 to disable the warning only for this automation."
msgstr "Si se deja vacío, se usará el valor por defecto de Ajustes (%d). Pon 0 para desactivar el aviso solo en esta automatización."

#: modules/pipeline/views/page-pipeline.php:626
msgid "Title list"
msgstr "Lista de títulos"

#: modules/pipeline/views/page-pipeline.php:630
msgid "One title per line. Each run uses the next one."
msgstr "Un título por línea. Cada ejecución usa el siguiente."

#: modules/pipeline/views/page-pipeline.php:631
msgid "What does health insurance cover for freelancers?&#10;The 5 best health plans for families&#10;How to compare health insurance in 2025"
msgstr "¿Qué cubre un seguro de salud para autónomos?&#10;Los 5 mejores seguros médicos para familias&#10;Cómo comparar seguros de salud en 2025"

#: modules/pipeline/views/page-pipeline.php:640
msgid "Content configuration"
msgstr "Configuración del contenido"

#: modules/pipeline/views/page-pipeline.php:643
msgid "Defined by template"
msgstr "Definida por plantilla"

#: modules/pipeline/views/page-pipeline.php:649
msgid "Configuration defined by the template"
msgstr "Configuración definida por la plantilla"

#: modules/pipeline/views/page-pipeline.php:650
msgid "The content parameters are taken from the selected template. To edit them manually, remove the template in the Identification block."
msgstr "Los parámetros de contenido se toman de la plantilla seleccionada. Para editar manualmente, quita la plantilla en el bloque de Identificación."

#: modules/pipeline/views/page-pipeline.php:657
msgid "Blog article"
msgstr "Artículo de blog"

#: modules/pipeline/views/page-pipeline.php:658
msgid "SEO page"
msgstr "Página SEO"

#: modules/pipeline/views/page-pipeline.php:659
msgid "Complete guide"
msgstr "Guía completa"

#: modules/pipeline/views/page-pipeline.php:660
msgid "Service description"
msgstr "Descripción de servicio"

#: modules/pipeline/views/page-pipeline.php:666
msgid "Short (~600 words)"
msgstr "Breve (~600 palabras)"

#: modules/pipeline/views/page-pipeline.php:667
msgid "Standard (~1,300 words)"
msgstr "Estándar (~1.300 palabras)"

#: modules/pipeline/views/page-pipeline.php:668
msgid "Pillar (~2,000 words)"
msgstr "Pilar (~2.000 palabras)"

#: modules/pipeline/views/page-pipeline.php:677
msgid "Natural and close"
msgstr "Natural y cercano"

#: modules/pipeline/views/page-pipeline.php:683
msgid "Third person"
msgstr "Tercera persona"

#: modules/pipeline/views/page-pipeline.php:684
msgid "Second person (you)"
msgstr "Segunda persona (tú)"

#: modules/pipeline/views/page-pipeline.php:685
msgid "First person (we)"
msgstr "Primera persona (nosotros)"

#: modules/pipeline/views/page-pipeline.php:689
msgid "Number of sections"
msgstr "Nº de secciones"

#: modules/pipeline/views/page-pipeline.php:697
msgid "Paragraphs / section"
msgstr "Párrafos / sección"

#: modules/pipeline/views/page-pipeline.php:705
msgid "Custom instructions"
msgstr "Instrucciones personalizadas"

#: modules/pipeline/views/page-pipeline.php:706
msgid "e.g. do not use bold · sound natural · avoid AI structures"
msgstr "ej: no usar negritas · sonar natural · evitar estructuras de IA"

#: modules/pipeline/views/page-pipeline.php:711
msgid "Publishing and destination"
msgstr "Publicación y destino"

#: modules/pipeline/views/page-pipeline.php:740
msgid "Automatic translations"
msgstr "Traducciones automáticas"

#: modules/pipeline/views/page-pipeline.php:759
msgid "Options"
msgstr "Opciones"

#: modules/pipeline/views/page-pipeline.php:762
msgid "Title order:"
msgstr "Orden de títulos:"

#: modules/pipeline/views/page-pipeline.php:763
msgid "Sequential"
msgstr "Secuencial"

#: modules/pipeline/views/page-pipeline.php:764
msgid "Random"
msgstr "Aleatorio"

#: modules/pipeline/views/page-pipeline.php:766
msgid "Apply internal linking automatically"
msgstr "Aplicar enlazado interno automáticamente"

#: modules/pipeline/views/page-pipeline.php:767
msgid "Run semantic linking automatically"
msgstr "Ejecutar enlazado semántico automáticamente"

#: modules/pipeline/views/page-pipeline.php:768
msgid "Activate the automation immediately on save"
msgstr "Activar automatización inmediatamente al guardar"

#: modules/pipeline/views/page-pipeline.php:781
#: modules/pipeline/pipeline.js:391
msgid "Run once now"
msgstr "Ejecutar una vez ahora"

#: modules/pipeline/views/page-pipeline.php:785
#: modules/pipeline/pipeline.js:295
msgid "Save automation"
msgstr "Guardar automatización"

#: modules/pipeline/views/page-pipeline.php:797
msgid "Execution monitor"
msgstr "Monitor de ejecuciones"

#: modules/pipeline/views/page-pipeline.php:802
msgid "Refresh"
msgstr "Actualizar"

#: modules/pipeline/views/page-pipeline.php:806
msgid "Reset stuck"
msgstr "Resetear atascados"

#: modules/pipeline/views/page-pipeline.php:823
msgid "No recent executions."
msgstr "No hay ejecuciones recientes."

#: modules/pipeline/views/page-pipeline.php:825
msgid "Loading executions…"
msgstr "Cargando ejecuciones…"

#: modules/pipeline/views/page-pipeline.php:835
msgid "Log"
msgstr "Log"

#: modules/pipeline/views/page-pipeline.php:836
msgid "Job log"
msgstr "Log del job"

#: modules/pipeline/views/page-pipeline.php:846
msgid "Job parameters"
msgstr "Parámetros del job"

#: modules/pipeline/views/page-pipeline.php:852
msgid "Scores"
msgstr "Puntuaciones"

#: modules/pipeline/views/page-pipeline.php:856
msgid "Quick analysis"
msgstr "Análisis rápido"

#: modules/pipeline/views/page-pipeline.php:860
msgid "Quick actions"
msgstr "Acciones rápidas"

#: modules/pipeline/views/page-pipeline.php:867
msgid "Execution log"
msgstr "Registro de ejecución"

#: modules/pipeline/views/page-pipeline.php:868
msgid "steps"
msgstr "pasos"

#: modules/pipeline/views/page-pipeline.php:877
msgid "View in WordPress"
msgstr "Ver en WordPress"

#: modules/pipeline/views/page-pipeline.php:904
msgid "The template has no knowledge base"
msgstr "La plantilla no tiene base de conocimiento"

#: modules/pipeline/views/page-pipeline.php:906
msgid "The template selected for this automation has no knowledge base associated. All articles generated by this automation will be created using only the AI's general knowledge, without grounding on your product or service."
msgstr "La plantilla seleccionada para esta automatización no tiene asociada ninguna base de conocimiento. Todos los artículos generados por esta automatización se crearán usando solo el conocimiento general de la IA, sin grounding sobre tu producto o servicio."

#: modules/pipeline/views/page-pipeline.php:921
msgid "Save without base"
msgstr "Guardar sin base"

#: modules/pipeline/views/page-pipeline.php:922
msgid "Change template"
msgstr "Cambiar plantilla"

#: modules/semantic/views/page-semantic.php:17
msgid "Reset semantic linking"
msgstr "Resetear enlazado semántico"

#: modules/semantic/views/page-semantic.php:18
msgid "<strong>All semantic links</strong> from all posts will be deleted and the analysis history will be cleared."
msgstr "Se eliminarán <strong>todos los enlaces semánticos</strong> de todos los posts y se vaciará el historial de análisis."

#: modules/semantic/views/page-semantic.php:19
msgid "This action cannot be undone. The current links will be lost permanently."
msgstr "Esta acción no se puede deshacer. Los enlaces actuales se perderán permanentemente."

#: modules/semantic/views/page-semantic.php:24
msgid "Yes, reset everything"
msgstr "Sí, resetear todo"

#: modules/semantic/views/page-semantic.php:33
#: modules/semantic/views/page-semantic.php:250
msgid "Delete links"
msgstr "Eliminar enlaces"

#: modules/semantic/views/page-semantic.php:35
#: admin/js/admin.js:77
msgid "This action cannot be undone."
msgstr "Esta acción no se puede deshacer."

#: modules/semantic/views/page-semantic.php:40
#: admin/js/admin.js:77
#: admin/js/admin.js:671
#: admin/js/admin.js:2552
msgid "Yes, delete"
msgstr "Sí, eliminar"

#: modules/semantic/views/page-semantic.php:52
msgid "Process completed"
msgstr "Proceso completado"

#: modules/semantic/views/page-semantic.php:64
msgid "Reprocess all articles"
msgstr "Reprocesar todos los artículos"

#: modules/semantic/views/page-semantic.php:66
msgid "You are going to reprocess the semantic linking of <strong id=\"ils-reprocess-count\">…</strong> published articles. The operation is performed in <strong>two phases</strong>:"
msgstr "Vas a reprocesar el enlazado semántico de <strong id=\"ils-reprocess-count\">…</strong> artículos publicados. La operación se realiza en <strong>dos fases</strong>:"

#: modules/semantic/views/page-semantic.php:69
msgid "<strong>1.</strong> First, all existing semantic links will be deleted from the articles.<br><strong>2.</strong> Then the AI will re-analyze each article and generate the new links applying the current configuration: linking rules, excluded URLs and reserved anchors."
msgstr "<strong>1.</strong> Primero se eliminarán todos los enlaces semánticos existentes de los artículos.<br><strong>2.</strong> Después la IA volverá a analizar cada artículo y generará los nuevos enlaces aplicando la configuración actual: reglas de enlazado, URLs excluidas y anchors reservados."

#: modules/semantic/views/page-semantic.php:72
msgid "<strong>Important:</strong> this operation consumes OpenAI credits and, depending on the number of articles, <strong>may take quite a while</strong> (minutes or hours). You can close this tab and the process will continue in the background. It is not recommended to launch other heavy tasks while it is in progress."
msgstr "<strong>Importante:</strong> esta operación consume créditos de OpenAI y, dependiendo del número de artículos, <strong>puede tardar bastante tiempo</strong> (minutos u horas). Puedes cerrar esta pestaña y el proceso continuará en segundo plano. No se recomienda lanzar otras tareas pesadas mientras esté en curso."

#: modules/semantic/views/page-semantic.php:78
msgid "Yes, reprocess everything"
msgstr "Sí, reprocesar todo"

#: modules/semantic/views/page-semantic.php:88
msgid "Searches for posts without incoming links (orphans) and creates links to them from other related posts."
msgstr "Busca posts sin enlaces entrantes (huérfanos) y les crea enlaces desde otros posts relacionados."

#: modules/semantic/views/page-semantic.php:90
msgid "Link orphans"
msgstr "Enlazar huérfanos"

#: modules/semantic/views/page-semantic.php:94
msgid "Reset"
msgstr "Resetear"

#: modules/semantic/views/page-semantic.php:98
msgid "Process unanalyzed"
msgstr "Procesar sin analizar"

#: modules/semantic/views/page-semantic.php:102
msgid "Reprocess all"
msgstr "Reprocesar todos"

#: modules/semantic/views/page-semantic.php:107
msgid "Automatic linking between posts based on topic relevance. The AI detects which posts talk about similar topics and creates contextual links."
msgstr "Enlazado automático entre publicaciones basado en relevancia temática. La IA detecta qué posts hablan de temas similares y crea enlaces contextuales."

#: modules/semantic/views/page-semantic.php:114
msgid "Analyzing…"
msgstr "Analizando…"

#: modules/semantic/views/page-semantic.php:134
msgid "Live console"
msgstr "Consola en vivo"

#: modules/semantic/views/page-semantic.php:135
msgid "waiting for events…"
msgstr "esperando eventos…"

#: modules/semantic/views/page-semantic.php:137
msgid "Pause / Resume auto-scroll"
msgstr "Pausar / Reanudar auto-scroll"

#: modules/semantic/views/page-semantic.php:139
msgid "Auto-scroll"
msgstr "Auto-scroll"

#: modules/semantic/views/page-semantic.php:152
msgid "Linking coverage"
msgstr "Cobertura de enlazado"

#: modules/semantic/views/page-semantic.php:157
msgid "of"
msgstr "de"

#: modules/semantic/views/page-semantic.php:166
msgid "Internal links"
msgstr "Enlaces internos"

#: modules/semantic/views/page-semantic.php:168
msgid "created by the AI"
msgstr "creados por la IA"

#: modules/semantic/views/page-semantic.php:173
msgid "no isolated posts"
msgstr "sin posts aislados"

#: modules/semantic/views/page-semantic.php:176
#: modules/semantic/views/page-semantic.php:193
msgid "Unanalyzed"
msgstr "Sin analizar"

#: modules/semantic/views/page-semantic.php:178
msgid "in the process queue"
msgstr "en cola de proceso"

#: modules/semantic/views/page-semantic.php:192
msgid "Analyzed"
msgstr "Analizados"

#: modules/semantic/views/page-semantic.php:211
msgid "Process batch"
msgstr "Procesar lote"

#: modules/semantic/views/page-semantic.php:220
#: admin/js/exitos.js:150
#: admin/js/exitos.js:165
msgid "DATE"
msgstr "FECHA"

#: modules/semantic/views/page-semantic.php:221
#: admin/js/exitos.js:151
#: admin/js/exitos.js:166
msgid "POST"
msgstr "PUBLICACIÓN"

#: modules/semantic/views/page-semantic.php:223
msgid "OUTGOING"
msgstr "SALIENTES"

#: modules/semantic/views/page-semantic.php:224
msgid "INCOMING"
msgstr "ENTRANTES"

#: modules/semantic/views/page-semantic.php:225
msgid "SCORE"
msgstr "SCORE"

#: modules/semantic/views/page-semantic.php:240
msgid "Post detail"
msgstr "Detalle del post"

#: modules/semantic/views/page-semantic.php:244
msgid "Removes the current semantic links and re-analyzes this post with the AI"
msgstr "Elimina los enlaces semánticos actuales y vuelve a analizar este post con la IA"

#: modules/semantic/views/page-semantic.php:246
msgid "Reprocess"
msgstr "Reprocesar"

#: modules/semantic/views/page-semantic.php:261
msgid "This post links to"
msgstr "Este post enlaza hacia"

#: modules/semantic/views/page-semantic.php:268
msgid "Other posts link to this one"
msgstr "Otros posts enlazan hacia éste"

#: modules/semantic/views/page-semantic.php:280
msgid "AI diagnostics"
msgstr "Diagnóstico IA"

#: modules/semantic/views/page-semantic.php:287
msgid "Querying the AI…"
msgstr "Consultando la IA…"

#: modules/semantic/views/page-semantic.php:304
msgid "Diagnostics (temporary)"
msgstr "Diagnóstico (temporal)"

#: modules/semantic/views/page-semantic.php:307
msgid "Log the process to a file"
msgstr "Registrar el proceso en un archivo de log"

#: modules/translation/views/page-translation.php:21
msgid "Translate your posts into several languages with AI. Compatible with Polylang."
msgstr "Traduce tus publicaciones a varios idiomas con IA. Compatible con Polylang."

#. translators: %s: link to install Polylang.
#: modules/translation/views/page-translation.php:31
#, php-format
msgid "Polylang is not installed or active. %s"
msgstr "Polylang no está instalado o activo. %s"

#: modules/translation/views/page-translation.php:32
msgid "Install Polylang"
msgstr "Instalar Polylang"

#. translators: %s: link to configure languages.
#: modules/translation/views/page-translation.php:37
#, php-format
msgid "There are not enough languages configured in Polylang. %s"
msgstr "No hay suficientes idiomas configurados en Polylang. %s"

#: modules/translation/views/page-translation.php:38
msgid "Configure languages"
msgstr "Configurar idiomas"

#: modules/translation/views/page-translation.php:53
msgid "Filters"
msgstr "Filtros"

#: modules/translation/views/page-translation.php:60
msgid "Translation status"
msgstr "Estado de traducción"

#: modules/translation/views/page-translation.php:62
msgid "All posts"
msgstr "Todos los posts"

#: modules/translation/views/page-translation.php:63
msgid "Untranslated (some language)"
msgstr "Sin traducir (algún idioma)"

#: modules/translation/views/page-translation.php:64
msgid "Fully translated"
msgstr "Totalmente traducidos"

#: modules/translation/views/page-translation.php:65
msgid "Partial translation"
msgstr "Traducción parcial"

#: modules/translation/views/page-translation.php:70
msgid "Original language"
msgstr "Idioma original"

#: modules/translation/views/page-translation.php:91
msgid "Tag"
msgstr "Etiqueta"

#: modules/translation/views/page-translation.php:102
msgid "Publication date"
msgstr "Fecha de publicación"

#: modules/translation/views/page-translation.php:104
msgid "From"
msgstr "Desde"

#: modules/translation/views/page-translation.php:106
msgid "To"
msgstr "Hasta"

#: modules/translation/views/page-translation.php:116
msgid "Translate selection"
msgstr "Traducir selección"

#: modules/translation/views/page-translation.php:124
msgid "Translate to"
msgstr "Traducir a"

#. translators: %s: source language name.
#: modules/translation/views/page-translation.php:152
#, php-format
msgid "The source language (%s) does not appear as a target."
msgstr "El idioma origen (%s) no aparece como destino."

#: modules/translation/views/page-translation.php:171
#: modules/translation/translation.js:325
msgid "Start translation"
msgstr "Iniciar traducción"

#: modules/translation/views/page-translation.php:186
msgid "Search post by title…"
msgstr "Buscar publicación por título…"

#: modules/translation/views/page-translation.php:190
msgid "Total:"
msgstr "Total:"

#: modules/translation/views/page-translation.php:217
#: admin/js/exitos.js:195
msgid "Previous"
msgstr "Anterior"

#: modules/translation/views/page-translation.php:221
#: admin/js/exitos.js:211
msgid "Next"
msgstr "Siguiente"

#: views/page-onboarding.php:60
msgid "Generate a complete article in less than a minute"
msgstr "Genera un artículo completo en menos de un minuto"

#: views/page-onboarding.php:61
msgid "Write a title, choose a template and the AI writes the article with structure, internal links and a featured image. Ready to review and publish."
msgstr "Escribe un título, elige una plantilla y la IA redacta el artículo con estructura, enlaces internos e imagen destacada. Listo para revisar y publicar."

#: views/page-onboarding.php:69
msgid "Automatic internal linking"
msgstr "Enlazado interno automático"

#: views/page-onboarding.php:70
msgid "The plugin analyzes your posts and creates relevant internal links without you having to do it manually. Better reading experience and better SEO."
msgstr "El plugin analiza tus publicaciones y crea enlaces internos relevantes sin que tengas que hacerlo manualmente. Mejor experiencia de lectura y mejor SEO."

#: views/page-onboarding.php:78
msgid "The AI uses only your verified information"
msgstr "La IA usa solo tu información verificada"

#: views/page-onboarding.php:79
msgid "Upload a PDF or paste a URL with data about your product. The AI will use it when writing, without making up figures or features that do not exist."
msgstr "Sube un PDF o pega una URL con datos sobre tu producto. La IA los utilizará al escribir, sin inventarse cifras ni características que no existan."

#: views/page-onboarding.php:87
msgid "Schedule content creation on autopilot"
msgstr "Programa la creación de contenido en piloto automático"

#: views/page-onboarding.php:88
msgid "Paste your list of titles, set the frequency and the plugin publishes the articles for you, with internal linking and images included."
msgstr "Pega tu lista de títulos, define la frecuencia y el plugin publica los artículos por ti, con enlazado interno e imágenes incluidos."

#: views/page-onboarding.php:96
msgid "Translate your blog into several languages"
msgstr "Traduce tu blog a varios idiomas"

#: views/page-onboarding.php:97
msgid "Each article is automatically translated into the languages you select. Native integration with Polylang."
msgstr "Cada artículo se traduce automáticamente a los idiomas que selecciones. Integración nativa con Polylang."

#: views/page-onboarding.php:105
msgid "Featured images generated with AI"
msgstr "Imágenes destacadas generadas con IA"

#: views/page-onboarding.php:106
msgid "Each article is published with its header image generated by AI, optimized in WebP and with automatic SEO metadata."
msgstr "Cada artículo se publica con su imagen de cabecera generada por IA, optimizada en WebP y con metadatos SEO automáticos."

#: views/page-onboarding.php:132
#: views/page-onboarding.php:297
msgid "Welcome to 4Linking"
msgstr "Bienvenido a 4Linking"

#: views/page-onboarding.php:133
msgid "Start here: configure your OpenAI key and watch the introduction video. In less than a minute you will understand what this plugin can do for your blog."
msgstr "Empieza por aquí: configura tu clave de OpenAI y mira el vídeo de presentación. En menos de un minuto entenderás lo que este plugin puede hacer por tu blog."

#: views/page-onboarding.php:147
msgid "Configure your OpenAI key"
msgstr "Configura tu clave de OpenAI"

#: views/page-onboarding.php:149
msgid "Configured"
msgstr "Configurada"

#: views/page-onboarding.php:155
msgid "Your key is active. You can now generate content and images with AI."
msgstr "Tu clave está activa. Ya puedes generar contenido e imágenes con IA."

#. translators: %s: link to platform.openai.com.
#: views/page-onboarding.php:159
#, php-format
msgid "The plugin needs an OpenAI key to work. If you do not have one yet, you can create it at %s."
msgstr "El plugin necesita una clave de OpenAI para funcionar. Si todavía no tienes una, puedes crearla en %s."

#: views/page-onboarding.php:166
msgid "Configure now"
msgstr "Configurar ahora"

#: views/page-onboarding.php:194
msgid "Introduction video"
msgstr "Vídeo de presentación"

#: views/page-onboarding.php:195
msgid "The introduction video will be published soon. It will summarize in 60 seconds everything you can do with 4Linking."
msgstr "El vídeo de presentación se publicará próximamente. Te resumirá en 60 segundos todo lo que puedes hacer con 4Linking."

#: views/page-onboarding.php:203
msgid "See detailed help by feature"
msgstr "Ver ayuda detallada por funcionalidad"

#: views/page-onboarding.php:209
#: views/page-onboarding.php:261
#: views/page-onboarding.php:341
msgid "Hide this guide from the menu"
msgstr "Ocultar esta guía del menú"

#: views/page-onboarding.php:221
msgid "Back to start"
msgstr "Volver al inicio"

#: views/page-onboarding.php:225
msgid "Detailed help by feature"
msgstr "Ayuda detallada por funcionalidad"

#: views/page-onboarding.php:226
msgid "One video for each main feature of the plugin. Click any of them to see it in action."
msgstr "Un vídeo por cada funcionalidad principal del plugin. Pulsa cualquiera para verlo en acción."

#: views/page-onboarding.php:298
msgid "Automatic internal linking with configurable rules. Start with these three steps."
msgstr "Enlazado interno automático con reglas configurables. Empieza con estos tres pasos."

#: views/page-onboarding.php:314
msgid "Create your pillar pages"
msgstr "Crea tus páginas pilar"

#: views/page-onboarding.php:315
msgid "Indicate the strategic URLs to which you want to attract internal links from other posts."
msgstr "Indica las URLs estratégicas a las que quieres atraer enlaces internos desde otros posts."

#: views/page-onboarding.php:321
msgid "Define linking rules"
msgstr "Define reglas de enlazado"

#: views/page-onboarding.php:322
msgid "Each rule relates a keyword to a pillar page. It accepts synonyms, priorities and languages."
msgstr "Cada regla relaciona una palabra clave con una página pilar. Acepta sinónimos, prioridades e idiomas."

#: views/page-onboarding.php:328
msgid "Process your posts"
msgstr "Procesa tus posts"

#: views/page-onboarding.php:329
msgid "The plugin goes through your posts and inserts the corresponding links according to the active rules."
msgstr "El plugin recorre tus publicaciones e inserta los enlaces correspondientes según las reglas activas."

#: views/page-onboarding.php:336
msgid "Get started with Linking"
msgstr "Empezar con Enlazado"

#: admin/js/admin.js:76
msgid "Confirm"
msgstr "Confirmar"

#: admin/js/admin.js:77
msgid "Delete?"
msgstr "¿Eliminar?"

#: admin/js/admin.js:79
msgid "Great"
msgstr "Genial"

#: admin/js/admin.js:104
msgid "License expired"
msgstr "Licencia expirada"

#: admin/js/admin.js:106
msgid "Your license has expired or has been deactivated. <strong>Your data is safe</strong> and you can view it, but to create or modify content you need an active license."
msgstr "Tu licencia ha expirado o se ha desactivado. <strong>Tus datos están a salvo</strong> y puedes verlos, pero para crear o modificar contenido necesitas una licencia activa."

#: admin/js/admin.js:107
msgid "Renew license"
msgstr "Renovar licencia"

#: admin/js/admin.js:136
msgid "When you save your OpenAI key, 4Linking will start sending content to the <strong>OpenAI (United States)</strong> servers to generate articles, images, translations and semantic embeddings."
msgstr "Al guardar tu clave de OpenAI, 4Linking empezará a enviar contenido a los servidores de <strong>OpenAI (Estados Unidos)</strong> para generar artículos, imágenes, traducciones y embeddings semánticos."

#: admin/js/admin.js:139
msgid "This involves an international data transfer covered by the European Commission <strong>Standard Contractual Clauses</strong>."
msgstr "Esto implica una transferencia internacional de datos amparada por las <strong>Cláusulas Contractuales Tipo</strong> de la Comisión Europea."

#: admin/js/admin.js:142
msgid "Content travels <strong>directly</strong> from your server to OpenAI. 4Linking does not store or inspect that content."
msgstr "El contenido viaja <strong>directamente</strong> desde tu servidor a OpenAI. 4Linking no almacena ni inspecciona ese contenido."

#: admin/js/admin.js:143
msgid "You pay for usage directly to OpenAI (<strong>BYOK</strong> model)."
msgstr "Pagas el uso directamente a OpenAI (modelo <strong>BYOK</strong>)."

#: admin/js/admin.js:144
msgid "You are responsible for <strong>reviewing the generated content</strong> before publishing it."
msgstr "Eres responsable de <strong>revisar el contenido generado</strong> antes de publicarlo."

#: admin/js/admin.js:148
msgid "Privacy Policy ↗"
msgstr "Política de privacidad ↗"

#: admin/js/admin.js:150
msgid "Plugin Terms ↗"
msgstr "Términos del plugin ↗"

#: admin/js/admin.js:158
msgid "I have read and accept the conditions of the BYOK model and the international transfer to OpenAI."
msgstr "He leído y acepto las condiciones del modelo BYOK y la transferencia internacional a OpenAI."

#: admin/js/admin.js:163
msgid "Before you start using AI"
msgstr "Antes de empezar a usar la IA"

#: admin/js/admin.js:165
msgid "Accept and continue"
msgstr "Aceptar y continuar"

#: admin/js/admin.js:321
#: admin/js/admin.js:3052
msgid "Processing…"
msgstr "Procesando…"

#. translators: %s is the number of posts updated
#: admin/js/admin.js:351
#: admin/js/admin.js:370
#, js-format
msgid "Rule applied — %s post updated"
msgid_plural "Rule applied — %s posts updated"
msgstr[0] "Regla aplicada — %s post actualizado"
msgstr[1] "Regla aplicada — %s posts actualizados"

#: admin/js/admin.js:353
#: admin/js/admin.js:372
msgid "unknown"
msgstr "desconocido"

#: admin/js/admin.js:358
msgid "Request timed out or no connection"
msgstr "La petición agotó el tiempo o no hay conexión"

#: admin/js/admin.js:358
#: admin/js/admin.js:966
#: admin/js/admin.js:1365
#: admin/js/admin.js:1453
#: admin/js/admin.js:1851
#: admin/js/admin.js:1979
msgid "HTTP error "
msgstr "Error HTTP "

#: admin/js/admin.js:359
msgid "Error applying the rule: "
msgstr "Error al aplicar la regla: "

#: admin/js/admin.js:377
#: admin/js/admin.js:395
#: admin/js/admin.js:421
#: admin/js/admin.js:455
#: admin/js/admin.js:1098
#: admin/js/admin.js:1140
#: admin/js/admin.js:1285
#: admin/js/admin.js:1493
#: admin/js/admin.js:1641
#: admin/js/admin.js:3602
#: admin/js/settings-notify.js:28
#: modules/content/content.js:798
#: modules/semantic/semantic.js:505
#: modules/semantic/semantic.js:550
#: modules/semantic/semantic.js:595
#: modules/translation/translation.js:317
msgid "Connection error"
msgstr "Error de conexión"

#. translators: %s is the number of posts updated
#: admin/js/admin.js:388
#, js-format
msgid "Links removed — %s post updated"
msgid_plural "Links removed — %s posts updated"
msgstr[0] "Enlaces eliminados — %s post actualizado"
msgstr[1] "Enlaces eliminados — %s posts actualizados"

#: admin/js/admin.js:413
msgid "No rules yet"
msgstr "Aún no hay reglas"

#: admin/js/admin.js:413
msgid "Create the first one with the button above"
msgstr "Crea la primera con el botón de arriba"

#. translators: %s = number of posts updated
#: admin/js/admin.js:417
#, js-format
msgid "Rule deleted — %s post updated"
msgid_plural "Rule deleted — %s posts updated"
msgstr[0] "Regla eliminada — %s entrada actualizada"
msgstr[1] "Regla eliminada — %s entradas actualizadas"

#: admin/js/admin.js:431
msgid "Process pending posts"
msgstr "Procesar posts pendientes"

#: admin/js/admin.js:452
msgid "An unexpected error occurred."
msgstr "Ocurrió un error inesperado."

#: admin/js/admin.js:455
msgid "Could not connect to the server. Check your connection and try again."
msgstr "No se pudo conectar con el servidor. Comprueba tu conexión e inténtalo de nuevo."

#: admin/js/admin.js:489
msgid "Statistics updated"
msgstr "Estadísticas actualizadas"

#: admin/js/admin.js:631
msgid "Page updated"
msgstr "Página actualizada"

#: admin/js/admin.js:646
msgid "Pillar page added"
msgstr "Página pilar añadida"

#: admin/js/admin.js:650
msgid "Pillar page saved — updating links…"
msgstr "Página pilar guardada — actualizando enlaces…"

#: admin/js/admin.js:661
msgid "Edit pillar page"
msgstr "Editar página pilar"

#: admin/js/admin.js:669
msgid "Delete pillar page?"
msgstr "¿Eliminar página pilar?"

#: admin/js/admin.js:670
msgid "All rules associated with this page will also be deleted.<br><strong>This action cannot be undone.</strong>"
msgstr "También se eliminarán todas las reglas asociadas a esta página.<br><strong>Esta acción no se puede deshacer.</strong>"

#. translators: %s = button label
#: admin/js/admin.js:690
#: admin/js/admin.js:1310
#, js-format
msgid "Create the first one with the \"%s\" button."
msgstr "Crea la primera con el botón \"%s\"."

#: admin/js/admin.js:695
msgid "Pillar page deleted"
msgstr "Página pilar eliminada"

#: admin/js/admin.js:768
msgid "Updating articles…"
msgstr "Actualizando artículos…"

#. translators: %s = number of articles updated
#: admin/js/admin.js:782
#, js-format
msgid "Completed — %s article updated"
msgid_plural "Completed — %s articles updated"
msgstr[0] "Completado — %s artículo actualizado"
msgstr[1] "Completado — %s artículos actualizados"

#: admin/js/admin.js:792
msgid "timed out or no connection"
msgstr "tiempo agotado o sin conexión"

#: admin/js/admin.js:792
#: admin/js/admin.js:1752
msgid "HTTP "
msgstr "HTTP "

#: admin/js/admin.js:798
msgid "Removing previous links…"
msgstr "Eliminando enlaces anteriores…"

#: admin/js/admin.js:830
#: modules/pipeline/pipeline.js:291
msgid "Required field"
msgstr "Campo obligatorio"

#: admin/js/admin.js:830
msgid "Select a pillar page or enter a target URL."
msgstr "Selecciona una página pilar o introduce una URL de destino."

#: admin/js/admin.js:852
msgid "Pillar page"
msgstr "Página pilar"

#. translators: %s = number of results
#: admin/js/admin.js:902
#, js-format
msgid "%s result"
msgid_plural "%s results"
msgstr[0] "%s resultado"
msgstr[1] "%s resultados"

#: admin/js/admin.js:904
msgid "No pillar page matches the filters."
msgstr "Ninguna página pilar coincide con los filtros."

#: admin/js/admin.js:943
msgid "Generate synonyms with AI"
msgstr "Generar sinónimos con IA"

#: admin/js/admin.js:944
#: admin/js/admin.js:1327
msgid "Regenerate"
msgstr "Regenerar"

#: admin/js/admin.js:966
#: admin/js/admin.js:1365
#: admin/js/admin.js:1453
#: admin/js/admin.js:1851
#: admin/js/admin.js:1979
msgid "No connection"
msgstr "Sin conexión"

#: admin/js/admin.js:1001
msgid "No matching rules"
msgstr "No hay reglas coincidentes"

#: admin/js/admin.js:1002
msgid "Try changing the filter or the search text"
msgstr "Prueba a cambiar el filtro o el texto de búsqueda"

#: admin/js/admin.js:1087
#: admin/js/admin.js:1384
msgid "Links updated"
msgstr "Enlaces actualizados"

#: admin/js/admin.js:1114
msgid "Rule enabled"
msgstr "Regla activada"

#: admin/js/admin.js:1114
msgid "Rule disabled"
msgstr "Regla desactivada"

#: admin/js/admin.js:1116
msgid "Rule enabled — inserting links…"
msgstr "Regla activada — insertando enlaces…"

#: admin/js/admin.js:1116
msgid "Rule disabled — removing links…"
msgstr "Regla desactivada — limpiando enlaces…"

#: admin/js/admin.js:1125
msgid "Reprocessing rule…"
msgstr "Reprocesando regla…"

#. translators: %s is the number of posts updated
#: admin/js/admin.js:1133
#, js-format
msgid "Rule reprocessed: %s posts updated"
msgstr "Regla reprocesada: %s posts actualizados"

#: admin/js/admin.js:1176
#: admin/js/admin.js:1532
#: admin/js/exitos.js:128
#: admin/js/exitos.js:385
msgid "Page"
msgstr "Página"

#: admin/js/admin.js:1231
msgid "unique anchors"
msgstr "anchors únicos"

#: admin/js/admin.js:1240
#: admin/js/admin.js:1595
msgid "Filter by title or keyword…"
msgstr "Filtrar por título o keyword…"

#: admin/js/admin.js:1247
#: admin/js/admin.js:1602
msgid "Post / Page"
msgstr "Entrada / Página"

#: admin/js/admin.js:1249
#: admin/js/admin.js:1604
msgid "No."
msgstr "Nº"

#: admin/js/admin.js:1297
msgid "Delete rule"
msgstr "Eliminar regla"

#: admin/js/admin.js:1298
#: admin/js/admin.js:2986
msgid "Choose what to do with the links this rule has generated in the posts."
msgstr "Elige qué hacer con los enlaces que esta regla ha generado en las entradas."

#: admin/js/admin.js:1300
msgid "Delete only the rule"
msgstr "Eliminar solo la regla"

#: admin/js/admin.js:1301
msgid "Delete rule and its links"
msgstr "Eliminar la regla y sus enlaces"

#: admin/js/admin.js:1310
msgid "No linking rules."
msgstr "No hay reglas de enlazado."

#: admin/js/admin.js:1313
msgid "Rule deleted (links kept)"
msgstr "Regla eliminada (enlaces conservados)"

#. translators: %s = number of pending links
#: admin/js/admin.js:1381
#, js-format
msgid "Apply links (%s pending)"
msgid_plural "Apply links (%s pending)"
msgstr[0] "Aplicar enlaces (%s pendiente)"
msgstr[1] "Aplicar enlaces (%s pendientes)"

#. translators: %s = number reviewed
#: admin/js/admin.js:1430
#, js-format
msgid "Reviewed %s"
msgstr "Revisados %s"

#. translators: %s = number remaining
#: admin/js/admin.js:1432
#, js-format
msgid "%s remaining"
msgstr "%s restantes"

#: admin/js/admin.js:1438
#: modules/translation/translation.js:323
msgid "Completed!"
msgstr "¡Completado!"

#. translators: %s is the total number of posts processed
#: admin/js/admin.js:1440
#, js-format
msgid "All posts have been processed (%s in total)."
msgstr "Todos los posts han sido procesados (%s en total)."

#: admin/js/admin.js:1441
msgid "Processing complete"
msgstr "Procesamiento completado"

#: admin/js/admin.js:1454
msgid "Press the button again to continue."
msgstr "Pulsa el botón de nuevo para continuar."

#: admin/js/admin.js:1485
msgid "Error changing the module"
msgstr "Error al cambiar el módulo"

#: admin/js/admin.js:1493
#: modules/content/content.js:798
#: modules/content/content.js:1009
#: modules/content/content.js:1132
msgid "Could not connect to the server."
msgstr "No se pudo conectar con el servidor."

#: admin/js/admin.js:1586
msgid "unique keywords"
msgstr "keywords únicas"

#: admin/js/admin.js:1694
msgid "Delete all current rules?"
msgstr "¿Eliminar todas las reglas actuales?"

#: admin/js/admin.js:1695
msgid "Importing in <em>Replace</em> mode <strong>will delete all rules</strong> before importing those from the CSV. This action cannot be undone."
msgstr "Importar en modo <em>Reemplazar</em> <strong>eliminará todas las reglas</strong> antes de importar las del CSV. Esta acción no se puede deshacer."

#: admin/js/admin.js:1696
msgid "Delete and import"
msgstr "Eliminar e importar"

#: admin/js/admin.js:1707
#: admin/js/admin.js:1942
#: admin/js/admin.js:3194
msgid "Importing…"
msgstr "Importando…"

#: admin/js/admin.js:1709
#: admin/js/admin.js:1945
msgid "Processing file…"
msgstr "Procesando archivo…"

#: admin/js/admin.js:1752
#: admin/js/admin.js:1972
#: admin/js/admin.js:3212
#: modules/content/content.js:931
#: modules/content/content.js:1343
msgid "Error:"
msgstr "Error:"

#: admin/js/admin.js:1752
msgid "no connection or timed out"
msgstr "sin conexión o tiempo agotado"

#: admin/js/admin.js:1777
msgid "pillar"
msgstr "pilar"

#: admin/js/admin.js:1777
msgid "pillars"
msgstr "pilares"

#: admin/js/admin.js:1778
msgid "Rules and synonyms"
msgstr "Reglas y sinónimos"

#: admin/js/admin.js:1778
msgid "rule"
msgstr "regla"

#: admin/js/admin.js:1778
msgid "rules"
msgstr "reglas"

#: admin/js/admin.js:1780
msgid "Image templates"
msgstr "Plantillas de imagen"

#: admin/js/admin.js:1780
#: admin/js/admin.js:1781
msgid "template"
msgstr "plantilla"

#: admin/js/admin.js:1780
#: admin/js/admin.js:1781
msgid "templates"
msgstr "plantillas"

#: admin/js/admin.js:1781
msgid "Content templates"
msgstr "Plantillas de contenido"

#: admin/js/admin.js:1782
msgid "base"
msgstr "base"

#: admin/js/admin.js:1782
msgid "bases"
msgstr "bases"

#: admin/js/admin.js:1783
msgid "Entries (in bases)"
msgstr "Fichas (en bases)"

#: admin/js/admin.js:1783
msgid "entry"
msgstr "ficha"

#: admin/js/admin.js:1784
msgid "scheduled"
msgstr "programado"

#: admin/js/admin.js:1785
msgid "setting"
msgstr "ajuste"

#: admin/js/admin.js:1785
msgid "settings"
msgstr "ajustes"

#: admin/js/admin.js:1823
msgid "Analyzing file…"
msgstr "Analizando archivo…"

#: admin/js/admin.js:1841
#: admin/js/admin.js:2334
#: admin/js/admin.js:2751
msgid "Invalid file"
msgstr "Archivo no válido"

#. translators: %s = generation timestamp
#: admin/js/admin.js:1862
#: admin/js/admin.js:1863
#, js-format
msgid "Generated: %s"
msgstr "Generado: %s"

#. translators: %s = number of sections
#: admin/js/admin.js:1903
#, js-format
msgid "Restore %s section"
msgid_plural "Restore %s sections"
msgstr[0] "Restaurar %s sección"
msgstr[1] "Restaurar %s secciones"

#: admin/js/admin.js:1904
msgid "Select at least one section"
msgstr "Selecciona al menos una sección"

#: admin/js/admin.js:1963
#: admin/js/admin.js:1969
msgid "Restoration completed"
msgstr "Restauración completada"

#: admin/js/admin.js:1965
msgid "replace mode"
msgstr "modo reemplazar"

#: admin/js/admin.js:1965
msgid "merge mode"
msgstr "modo combinar"

#: admin/js/admin.js:1971
#: modules/pipeline/pipeline.js:599
msgid "Unknown error"
msgstr "Error desconocido"

#: admin/js/admin.js:1987
msgid "Restore and replace?"
msgstr "¿Restaurar y reemplazar?"

#: admin/js/admin.js:1988
msgid "The selected sections will be <strong>completely replaced</strong> with the content of the file. This action cannot be undone."
msgstr "Las secciones seleccionadas se <strong>reemplazarán por completo</strong> con el contenido del archivo. Esta acción no se puede deshacer."

#: admin/js/admin.js:1989
msgid "Restore and overwrite"
msgstr "Restaurar y sobrescribir"

#: admin/js/admin.js:2021
msgid "Language in which the article is written."
msgstr "Idioma en el que se escribe el artículo."

#: admin/js/admin.js:2022
msgid "Register and voice of the text."
msgstr "Registro y voz del texto."

#: admin/js/admin.js:2023
msgid "Grammatical person: third (It is recommended), first plural (We recommend), second (You can)."
msgstr "Persona gramatical: tercera (Se recomienda), primera plural (Recomendamos), segunda (Puedes)."

#: admin/js/admin.js:2024
msgid "Reader knowledge level."
msgstr "Nivel de conocimiento del lector."

#: admin/js/admin.js:2025
msgid "Content objective"
msgstr "Objetivo del contenido"

#: admin/js/admin.js:2025
msgid "Main goal of the article."
msgstr "Meta principal del artículo."

#: admin/js/admin.js:2026
msgid "Brand personality that colors the text."
msgstr "Personalidad de marca que tiñe el texto."

#: admin/js/admin.js:2027
msgid "Complexity of vocabulary and sentences."
msgstr "Complejidad del vocabulario y las frases."

#: admin/js/admin.js:2028
msgid "OpenAI model used to generate the text."
msgstr "Modelo de OpenAI usado para generar el texto."

#: admin/js/admin.js:2029
msgid "Humanize text"
msgstr "Humanizar texto"

#: admin/js/admin.js:2029
msgid "1 = applies the anti-AI pass; 0 = no."
msgstr "1 = aplica la pasada anti-IA; 0 = no."

#: admin/js/admin.js:2030
msgid "short ~600, medium ~1300, long ~3000 words."
msgstr "breve ~600, estándar ~1300, pilar ~3000 palabras."

#: admin/js/admin.js:2031
msgid "Article organization. custom uses custom_headings."
msgstr "Organización del artículo. custom usa custom_headings."

#: admin/js/admin.js:2032
msgid "Number (or range) of H2 sections. auto = the AI decides."
msgstr "Número (o rango) de secciones H2. auto = decide la IA."

#: admin/js/admin.js:2033
msgid "Number of paragraphs in each H2 section."
msgstr "Número de párrafos en cada sección H2."

#: admin/js/admin.js:2034
msgid "Level of detail and rigor."
msgstr "Nivel de detalle y rigor."

#: admin/js/admin.js:2035
msgid "Way of opening the article."
msgstr "Forma de abrir el artículo."

#: admin/js/admin.js:2036
msgid "Way of closing the article."
msgstr "Forma de cerrar el artículo."

#: admin/js/admin.js:2037
msgid "1 = allows H3 subsections; 0 = only H2."
msgstr "1 = permite subsecciones H3; 0 = solo H2."

#: admin/js/admin.js:2038
msgid "Only if structure=custom. One heading per line (use \\n)."
msgstr "Solo si structure=custom. Un encabezado por línea (usa \\n)."

#: admin/js/admin.js:2039
msgid "Main keyword. Empty = use the title."
msgstr "Keyword principal. Vacío = usar el título."

#: admin/js/admin.js:2040
msgid "What the user is looking for."
msgstr "Lo que busca el usuario."

#: admin/js/admin.js:2041
msgid "Secondary keywords separated by commas."
msgstr "Keywords secundarias separadas por comas."

#: admin/js/admin.js:2042
msgid "Result format being pursued."
msgstr "Formato de resultado que se persigue."

#: admin/js/admin.js:2043
msgid "Entity/topic that centers the context."
msgstr "Entidad/tema que centra el contexto."

#: admin/js/admin.js:2044
msgid "Location for local content. Optional."
msgstr "Localización para contenido local. Opcional."

#: admin/js/admin.js:2045
msgid "Words to avoid"
msgstr "Palabras a evitar"

#: admin/js/admin.js:2045
msgid "Forbidden terms, separated by commas."
msgstr "Términos prohibidos, separados por comas."

#: admin/js/admin.js:2046
msgid "1 = adds a frequently asked questions block."
msgstr "1 = añade un bloque de preguntas frecuentes."

#: admin/js/admin.js:2047
msgid "Number of FAQ questions"
msgstr "Número de preguntas FAQ"

#: admin/js/admin.js:2047
msgid "Only if include_faq=1."
msgstr "Solo si include_faq=1."

#: admin/js/admin.js:2048
msgid "1 = includes figures and data."
msgstr "1 = incluye cifras y datos."

#: admin/js/admin.js:2049
msgid "1 = includes examples."
msgstr "1 = incluye ejemplos."

#: admin/js/admin.js:2050
msgid "1 = includes actionable tips."
msgstr "1 = incluye consejos accionables."

#: admin/js/admin.js:2051
msgid "1 = includes a table."
msgstr "1 = incluye una tabla."

#: admin/js/admin.js:2052
msgid "1 = includes a checklist."
msgstr "1 = incluye una checklist."

#: admin/js/admin.js:2053
msgid "1 = includes advantages and disadvantages."
msgstr "1 = incluye ventajas e inconvenientes."

#: admin/js/admin.js:2054
msgid "1 = includes a CTA block."
msgstr "1 = incluye un bloque CTA."

#: admin/js/admin.js:2055
msgid "CTA text"
msgstr "Texto del CTA"

#: admin/js/admin.js:2055
msgid "Only if include_cta=1."
msgstr "Solo si include_cta=1."

#: admin/js/admin.js:2056
msgid "Generate featured image"
msgstr "Generar imagen destacada"

#: admin/js/admin.js:2056
msgid "1 = generates an image with AI."
msgstr "1 = genera una imagen con IA."

#: admin/js/admin.js:2057
msgid "Image style. Only if gen_image=1."
msgstr "Estilo de imagen. Solo si gen_image=1."

#: admin/js/admin.js:2058
msgid "Image ratio"
msgstr "Proporción de imagen"

#: admin/js/admin.js:2058
msgid "Aspect ratio. Only if gen_image=1."
msgstr "Relación de aspecto. Solo si gen_image=1."

#: admin/js/admin.js:2059
msgid "Use as featured"
msgstr "Usar como destacada"

#: admin/js/admin.js:2059
msgid "1 = set as featured image."
msgstr "1 = establecer como imagen destacada."

#: admin/js/admin.js:2060
msgid "1 = WebP; 0 = PNG."
msgstr "1 = WebP; 0 = PNG."

#: admin/js/admin.js:2061
msgid "Image generation model."
msgstr "Modelo de generación de imágenes."

#: admin/js/admin.js:2062
msgid "Image quality/cost."
msgstr "Calidad/coste de la imagen."

#: admin/js/admin.js:2063
msgid "Image style instructions"
msgstr "Instrucciones de estilo de imagen"

#: admin/js/admin.js:2063
msgid "Free text to guide the image. Optional."
msgstr "Texto libre para guiar la imagen. Opcional."

#: admin/js/admin.js:2064
msgid "Verified material and guidelines for the whole article."
msgstr "Material verificado y directrices para todo el artículo."

#: admin/js/admin.js:2065
msgid "Apply rule-based linking"
msgstr "Aplicar enlazado por reglas"

#: admin/js/admin.js:2065
msgid "1 = applies internal linking rules."
msgstr "1 = aplica las reglas de enlazado interno."

#: admin/js/admin.js:2066
msgid "Automatic semantic linking"
msgstr "Enlazado semántico automático"

#: admin/js/admin.js:2066
msgid "1 = links semantically on publish."
msgstr "1 = enlaza semánticamente al publicar."

#: admin/js/admin.js:2067
msgid "Automatically translate to"
msgstr "Traducir automáticamente a"

#: admin/js/admin.js:2067
msgid "Target language codes separated by commas (e.g. en,fr). Empty = do not translate."
msgstr "Códigos de idioma destino separados por comas (p. ej. en,fr). Vacío = no traducir."

#: admin/js/admin.js:2209
msgid "Applied!"
msgstr "¡Aplicado!"

#: admin/js/admin.js:2285
msgid "multiline text"
msgstr "texto multilínea"

#: admin/js/admin.js:2317
msgid "Instructions exported"
msgstr "Instrucciones exportadas"

#: admin/js/admin.js:2317
msgid "Give this file to an AI with the instruction to fill in the values, then import it here."
msgstr "Dale este archivo a una IA con la instrucción de rellenar los valores, luego impórtalo aquí."

#: admin/js/admin.js:2339
#: admin/js/admin.js:2756
msgid "No valid fields"
msgstr "No hay campos válidos"

#. translators: %s = number of fields
#: admin/js/admin.js:2346
#, js-format
msgid "%s field imported to the form."
msgid_plural "%s fields imported to the form."
msgstr[0] "%s campo importado al formulario."
msgstr[1] "%s campos importados al formulario."

#. translators: 1: number of invalid values, 2: the values
#: admin/js/admin.js:2349
#, js-format
msgid "%1$s invalid value was ignored: %2$s"
msgid_plural "%1$s invalid values were ignored: %2$s"
msgstr[0] "Se ignoró %1$s valor no válido: %2$s"
msgstr[1] "Se ignoraron %1$s valores no válidos: %2$s"

#: admin/js/admin.js:2351
msgid "Settings imported"
msgstr "Ajustes importados"

#: admin/js/admin.js:2417
msgid "You have not saved any template yet.<br>Use the section at the bottom of the page to create the first one."
msgstr "Aún no has guardado ninguna plantilla.<br>Usa la sección al final de la página para crear la primera."

#: admin/js/admin.js:2422
msgid "Explanatory"
msgstr "Explicativo"

#: admin/js/admin.js:2459
msgid "No template · manual configuration"
msgstr "Sin plantilla · configuración manual"

#: admin/js/admin.js:2546
msgid "Delete template?"
msgstr "¿Eliminar plantilla?"

#. translators: %s: template name (wrapped in <strong>)
#: admin/js/admin.js:2549
#, js-format
msgid "The template %s will be deleted. Automations that used it will keep working with the saved configuration."
msgstr "Se eliminará la plantilla %s. Las automatizaciones que la usaban seguirán funcionando con la configuración guardada."

#: admin/js/admin.js:2736
msgid "Instructions downloaded"
msgstr "Instrucciones descargadas"

#: admin/js/admin.js:2736
msgid "Give the file to an AI, ask it to fill in the values, then import it here to save it as a template."
msgstr "Dale el archivo a una IA, pídele que rellene los valores, luego impórtalo aquí para guardarlo como plantilla."

#. translators: %s = number of valid fields
#: admin/js/admin.js:2763
#, js-format
msgid "%s valid field imported."
msgid_plural "%s valid fields imported."
msgstr[0] "%s campo válido importado."
msgstr[1] "%s campos válidos importados."

#. translators: %s = number of invalid values
#: admin/js/admin.js:2765
#, js-format
msgid "%s invalid value was ignored."
msgid_plural "%s invalid values were ignored."
msgstr[0] "Se ignoró %s valor no válido."
msgstr[1] "Se ignoraron %s valores no válidos."

#: admin/js/admin.js:2766
msgid "Give it a name to save it:"
msgstr "Dale un nombre para guardarla:"

#: admin/js/admin.js:2767
msgid "E.g. Travel articles (long, informative)"
msgstr "P. ej. Artículos de viajes (pilar, informativo)"

#: admin/js/admin.js:2808
msgid "Template saved"
msgstr "Plantilla guardada"

#. translators: %s: template name
#: admin/js/admin.js:2811
#, js-format
msgid "\"%s\" has been added to your templates. It is now available in the Create content selector."
msgstr "\"%s\" se ha añadido a tus plantillas. Ya está disponible en el selector de Crear contenido."

#. translators: %s = preset name
#: admin/js/admin.js:2856
#, js-format
msgid "Preset \"%s\""
msgstr "Preset \"%s\""

#: admin/js/admin.js:2857
msgid "The field already has content.<br>Do you want to <strong>replace it</strong> or <strong>append to the end</strong>?"
msgstr "El campo ya tiene contenido.<br>¿Quieres <strong>reemplazarlo</strong> o <strong>añadir al final</strong>?"

#: admin/js/admin.js:2859
msgid "Append to end"
msgstr "Añadir al final"

#: admin/js/admin.js:2881
msgid "Clear advanced instructions?"
msgstr "¿Vaciar las instrucciones avanzadas?"

#: admin/js/admin.js:2882
msgid "The field content will be cleared."
msgstr "Se vaciará el contenido del campo."

#: admin/js/admin.js:2883
#: modules/content/content.js:81
msgid "Yes, clear"
msgstr "Sí, vaciar"

#: admin/js/admin.js:2985
msgid "Choose what to do with the links these rules have generated in the posts."
msgstr "Elige qué hacer con los enlaces que estas reglas han generado en las entradas."

#: admin/js/admin.js:3019
msgid "Continue?"
msgstr "¿Continuar?"

#: admin/js/admin.js:3085
msgid "Drag your CSV file here or click to select it"
msgstr "Arrastra tu archivo CSV aquí o haz clic para seleccionarlo"

#: admin/js/admin.js:3086
msgid "Maximum size 5 MB"
msgstr "Tamaño máximo 5 MB"

#: admin/js/admin.js:3101
msgid "Add and update"
msgstr "Añadir y actualizar"

#: admin/js/admin.js:3102
msgid "Rules with the same keyword are updated. The rest are added."
msgstr "Las reglas con la misma keyword se actualizan. El resto se añaden."

#: admin/js/admin.js:3112
msgid "Supported columns:"
msgstr "Columnas admitidas:"

#: admin/js/admin.js:3112
msgid "required"
msgstr "obligatorio"

#: admin/js/admin.js:3112
msgid "separated by |"
msgstr "separados por |"

#: admin/js/admin.js:3113
msgid "Supported languages:"
msgstr "Idiomas admitidos:"

#: admin/js/admin.js:3113
msgid "Empty = for all languages."
msgstr "Vacío = para todos los idiomas."

#: admin/js/admin.js:3114
msgid "Target:"
msgstr "Destino:"

#: admin/js/admin.js:3114
msgid "you must provide <code>url_destino</code> or <code>pilar_nombre</code>. If you give both, <code>url_destino</code> wins."
msgstr "debes indicar <code>url_destino</code> o <code>pilar_nombre</code>. Si das ambos, gana <code>url_destino</code>."

#: admin/js/admin.js:3166
msgid "The file is too large (maximum 5 MB)."
msgstr "El archivo es demasiado grande (máximo 5 MB)."

#: admin/js/admin.js:3212
msgid "The file could not be processed"
msgstr "No se pudo procesar el archivo"

#: admin/js/admin.js:3216
msgid "Connection error:"
msgstr "Error de conexión:"

#: admin/js/admin.js:3216
msgid "the file could not be uploaded."
msgstr "no se pudo subir el archivo."

#: admin/js/admin.js:3271
msgid "No templates yet."
msgstr "Aún no hay plantillas."

#: admin/js/admin.js:3387
#: admin/js/admin.js:3401
msgid "You have unsaved changes in this template. If you continue they will be discarded."
msgstr "Tienes cambios sin guardar en esta plantilla. Si continúas se descartarán."

#: admin/js/admin.js:3504
msgid "Saved"
msgstr "Guardado"

#: admin/js/admin.js:3515
msgid "This template will be permanently deleted. This action cannot be undone."
msgstr "Esta plantilla se eliminará permanentemente. Esta acción no se puede deshacer."

#: admin/js/admin.js:3594
msgid "Consent could not be recorded"
msgstr "No se pudo registrar el consentimiento"

#: admin/js/admin.js:3596
msgid "An error occurred while saving the consent. Try again."
msgstr "Ocurrió un error al guardar el consentimiento. Inténtalo de nuevo."

#: admin/js/admin.js:3603
msgid "Could not connect to the server to record the consent. Check your connection and try again."
msgstr "No se pudo conectar con el servidor para registrar el consentimiento. Comprueba tu conexión e inténtalo de nuevo."

#: admin/js/admin.js:3625
msgid "Delete the OpenAI key?"
msgstr "¿Eliminar la clave de OpenAI?"

#: admin/js/admin.js:3626
msgid "The plugin will no longer be able to generate content until you configure a new key. <strong>Your data (knowledge bases, templates, rules) is not affected.</strong>"
msgstr "El plugin ya no podrá generar contenido hasta que configures una clave nueva. <strong>Tus datos (bases de conocimiento, plantillas, reglas) no se ven afectados.</strong>"

#: admin/js/admin.js:3627
msgid "Yes, delete key"
msgstr "Sí, eliminar clave"

#: admin/js/exitos.js:129
#: admin/js/exitos.js:368
#: admin/js/exitos.js:385
#: modules/translation/translation.js:48
msgid "Post"
msgstr "Publicación"

#: admin/js/exitos.js:153
msgid "Semantic"
msgstr "Semántico"

#: admin/js/exitos.js:154
#: admin/js/exitos.js:168
msgid "TOTAL"
msgstr "TOTAL"

#: admin/js/exitos.js:157
#: admin/js/exitos.js:159
#: admin/js/exitos.js:171
msgid "out"
msgstr "sal"

#: admin/js/exitos.js:158
#: admin/js/exitos.js:160
#: admin/js/exitos.js:172
msgid "in"
msgstr "ent"

#. translators: 1: first item, 2: last item, 3: total
#: admin/js/exitos.js:191
#, js-format
msgid "Showing %1$s–%2$s of %3$s"
msgstr "Mostrando %1$s–%2$s de %3$s"

#: admin/js/exitos.js:254
msgid "Recalculating…"
msgstr "Recalculando…"

#. translators: %s is the completion percentage (a number)
#: admin/js/exitos.js:262
#, js-format
msgid "Recalculating… %s%%"
msgstr "Recalculando… %s%%"

#. translators: %s: number of scanned posts
#: admin/js/exitos.js:270
#, js-format
msgid "✓ Recalculation completed (%s posts scanned)"
msgstr "✓ Recálculo completado (%s entradas escaneadas)"

#: admin/js/exitos.js:290
msgid "Outgoing links — Linking rules"
msgstr "Enlaces salientes — Reglas de enlazado"

#: admin/js/exitos.js:291
msgid "Outgoing links — Semantic linking"
msgstr "Enlaces salientes — Enlazado semántico"

#: admin/js/exitos.js:292
msgid "Incoming links — Linking rules"
msgstr "Enlaces entrantes — Reglas de enlazado"

#: admin/js/exitos.js:293
msgid "Incoming links — Semantic linking"
msgstr "Enlaces entrantes — Enlazado semántico"

#: admin/js/exitos.js:298
msgid "Detail"
msgstr "Detalle"

#: admin/js/exitos.js:300
msgid "Loading data…"
msgstr "Cargando datos…"

#. translators: %s = number of links
#: admin/js/exitos.js:306
#, js-format
msgid "%s link"
msgid_plural "%s links"
msgstr[0] "%s enlace"
msgstr[1] "%s enlaces"

#: admin/js/exitos.js:309
msgid "No links of this type were found."
msgstr "No se encontraron enlaces de este tipo."

#: admin/js/exitos.js:366
msgid "No data to export"
msgstr "No hay datos para exportar"

#: admin/js/exitos.js:368
msgid "URL"
msgstr "URL"

#: admin/js/exitos.js:369
msgid "Out rules"
msgstr "Reglas sal."

#: admin/js/exitos.js:369
msgid "In rules"
msgstr "Reglas ent."

#: admin/js/exitos.js:370
msgid "Out semantic"
msgstr "Semántico sal."

#: admin/js/exitos.js:370
msgid "In semantic"
msgstr "Semántico ent."

#: admin/js/exitos.js:429
msgid "Loading log…"
msgstr "Cargando registro…"

#: admin/js/exitos.js:431
#: admin/js/settings-license.js:134
#: admin/js/settings-license.js:135
#: modules/content/content.js:1613
msgid "(empty)"
msgstr "(vacío)"

#: admin/js/kb-bases.js:151
msgid "Create your first base to start storing information about your product or service."
msgstr "Crea tu primera base para empezar a almacenar información sobre tu producto o servicio."

#: admin/js/kb-entries.js:286
msgid "No entry matches your search."
msgstr "Ninguna ficha coincide con tu búsqueda."

#: admin/js/kb-entries.js:292
msgid "This base has no entries yet"
msgstr "Esta base aún no tiene fichas"

#: admin/js/kb-entries.js:293
msgid "Create the first entry so the AI has verified information when generating content."
msgstr "Crea la primera ficha para que la IA tenga información verificada al generar contenido."

#: admin/js/kb-entries.js:340
msgid "The title is required."
msgstr "El título es obligatorio."

#. translators: %s: entry title (wrapped in <strong>)
#: admin/js/kb-entries.js:376
#, js-format
msgid "You are going to delete the entry %s."
msgstr "Vas a eliminar la ficha %s."

#. translators: %s = number of entries
#: admin/js/kb-entries.js:392
#, js-format
msgid "Delete %s entries"
msgstr "Eliminar %s fichas"

#. translators: %s: number of entries (wrapped in <strong>)
#: admin/js/kb-entries.js:398
#, js-format
msgid "You are going to delete %s entry."
msgid_plural "You are going to delete %s entries."
msgstr[0] "Vas a eliminar %s ficha."
msgstr[1] "Vas a eliminar %s fichas."

#: admin/js/kb-entries.js:594
msgid "Good coverage. The AI will have specific information for this title."
msgstr "Buena cobertura. La IA tendrá información específica para este título."

#: admin/js/kb-entries.js:598
msgid "Moderate coverage. The article will be generated but some details might be missing."
msgstr "Cobertura moderada. El artículo se generará pero podrían faltar algunos detalles."

#: admin/js/kb-entries.js:602
msgid "Low coverage. The base does not cover this title well — the AI will use its general knowledge."
msgstr "Cobertura baja. La base no cubre bien este título — la IA usará su conocimiento general."

#: admin/js/kb-entries.js:606
msgid "There are no vectorized entries in this base."
msgstr "No hay fichas vectorizadas en esta base."

#: admin/js/kb-entries.js:627
msgid "Query expanded internally as:"
msgstr "Consulta expandida internamente como:"

#: admin/js/kb-entries.js:633
msgid "Query expansion disabled in advanced options."
msgstr "Expansión de consulta desactivada en las opciones avanzadas."

#: admin/js/kb-entries.js:639
msgid "No relevant entries."
msgstr "No hay fichas relevantes."

#. translators: %s: number of generated entries
#: admin/js/kb-entries.js:718
#, js-format
msgid "You are going to close the window without importing %s generated entry. If you close now it will be lost and you will have to generate it again."
msgid_plural "You are going to close the window without importing %s generated entries. If you close now they will be lost and you will have to generate them again."
msgstr[0] "Vas a cerrar la ventana sin importar %s ficha generada. Si cierras ahora se perderá y tendrás que generarla de nuevo."
msgstr[1] "Vas a cerrar la ventana sin importar %s fichas generadas. Si cierras ahora se perderán y tendrás que generarlas de nuevo."

#: admin/js/kb-entries.js:727
msgid "Close without importing"
msgstr "Cerrar sin importar"

#: admin/js/kb-entries.js:729
msgid "Close and discard"
msgstr "Cerrar y descartar"

#: admin/js/kb-entries.js:730
msgid "Stay here"
msgstr "Quedarme aquí"

#: admin/js/kb-entries.js:755
msgid "Write at least one detailed paragraph (minimum 30 characters)."
msgstr "Escribe al menos un párrafo detallado (mínimo 30 caracteres)."

#: admin/js/kb-entries.js:784
msgid "The AI did not return entries. Try a more detailed description."
msgstr "La IA no devolvió fichas. Prueba con una descripción más detallada."

#: admin/js/kb-entries.js:792
msgid "Error generating entries. Try again."
msgstr "Error al generar fichas. Inténtalo de nuevo."

#. translators: %s: number of imported entries (wrapped in <strong>)
#: admin/js/kb-entries.js:895
#: admin/js/kb-entries.js:1400
#, js-format
msgid "%s entry imported successfully."
msgid_plural "%s entries imported successfully."
msgstr[0] "%s ficha importada correctamente."
msgstr[1] "%s fichas importadas correctamente."

#. translators: %s = number of entries vectorized
#: admin/js/kb-entries.js:897
#: admin/js/kb-entries.js:1403
#, js-format
msgid "%s vectorized successfully."
msgid_plural "%s vectorized successfully."
msgstr[0] "%s vectorizada correctamente."
msgstr[1] "%s vectorizadas correctamente."

#. translators: %s = number of entries that failed
#: admin/js/kb-entries.js:899
#: admin/js/kb-entries.js:1404
#, js-format
msgid "%s entry failed to vectorize — use \"Reprocess pending\" from the list."
msgid_plural "%s entries failed to vectorize — use \"Reprocess pending\" from the list."
msgstr[0] "%s ficha falló al vectorizar — usa \"Reprocesar pendientes\" desde la lista."
msgstr[1] "%s fichas fallaron al vectorizar — usa \"Reprocesar pendientes\" desde la lista."

#: admin/js/kb-entries.js:978
msgid "The file exceeds the 20 MB limit."
msgstr "El archivo supera el límite de 20 MB."

#. translators: %s: number of additional rows
#: admin/js/kb-entries.js:1329
#, js-format
msgid "… and %s more row"
msgid_plural "… and %s more rows"
msgstr[0] "… y %s fila más"
msgstr[1] "… y %s filas más"

#: admin/js/kb-entries.js:1417
msgid "Error during import."
msgstr "Error durante la importación."

#: admin/js/kb-entries.js:1447
msgid "The file exceeds the maximum size of 5 MB."
msgstr "El archivo supera el tamaño máximo de 5 MB."

#: admin/js/page-onboarding.js:17
msgid "Video in preparation"
msgstr "Vídeo en preparación"

#: admin/js/page-onboarding.js:18
msgid "This demo will be published soon."
msgstr "Esta demo se publicará pronto."

#: admin/js/page-onboarding.js:63
msgid "Hide Getting started guide"
msgstr "Ocultar guía Primeros pasos"

#: admin/js/page-onboarding.js:64
msgid "You are going to hide the \"Getting started\" guide from the side menu. You can reactivate it at any time from Settings → General."
msgstr "Vas a ocultar la guía «Primeros pasos» del menú lateral. Podrás reactivarla en cualquier momento desde Ajustes → Generales."

#: admin/js/page-onboarding.js:65
msgid "Hide guide"
msgstr "Ocultar guía"

#: admin/js/page-onboarding.js:70
msgid "Hide the \"Getting started\" guide from the menu?"
msgstr "¿Ocultar la guía «Primeros pasos» del menú?"

#: admin/js/settings-crawl.js:17
msgid "Crawling…"
msgstr "Rastreando…"

#: admin/js/settings-license.js:49
msgid "Connection error with WordPress."
msgstr "Error de conexión con WordPress."

#: admin/js/settings-license.js:55
msgid "Are you sure you want to deactivate the license on this site? It will free up an activation to use on another domain."
msgstr "¿Seguro que quieres desactivar la licencia en este sitio? Liberará una activación para usarla en otro dominio."

#: admin/js/settings-license.js:70
#: admin/js/settings-license.js:90
#: admin/js/settings-license.js:181
#: admin/js/settings-license.js:235
#: modules/images/images.js:156
#: modules/images/images.js:367
#: modules/semantic/semantic.js:633
msgid "Connection error."
msgstr "Error de conexión."

#: admin/js/settings-license.js:107
msgid "Diagnostics error."
msgstr "Error de diagnóstico."

#: admin/js/settings-license.js:126
msgid "Status in WordPress:"
msgstr "Estado en WordPress:"

#: admin/js/settings-license.js:129
msgid "WP transient present"
msgstr "Transient de WP presente"

#: admin/js/settings-license.js:129
#: admin/js/settings-license.js:130
#: admin/js/settings-license.js:131
#: admin/js/settings-license.js:132
msgid "yes"
msgstr "sí"

#: admin/js/settings-license.js:129
#: admin/js/settings-license.js:131
#: admin/js/settings-license.js:132
#: modules/content/content.js:2397
msgid "no"
msgstr "no"

#: admin/js/settings-license.js:130
msgid "Updater hook registered"
msgstr "Hook del updater registrado"

#: admin/js/settings-license.js:131
msgid "Plugin in transient.response (= update available)"
msgstr "Plugin en transient.response (= actualización disponible)"

#: admin/js/settings-license.js:132
msgid "Plugin in transient.no_update"
msgstr "Plugin en transient.no_update"

#: admin/js/settings-license.js:133
msgid "Last WP check"
msgstr "Última comprobación de WP"

#: admin/js/settings-license.js:134
msgid "Keys in response"
msgstr "Claves en response"

#: admin/js/settings-license.js:135
msgid "Keys in no_update"
msgstr "Claves en no_update"

#: admin/js/settings-license.js:144
msgid "Update detail in transient:"
msgstr "Detalle de actualización en transient:"

#: admin/js/settings-license.js:151
msgid "What the EDD library sees:"
msgstr "Lo que ve la librería EDD:"

#: admin/js/settings-license.js:156
msgid "EDD lockout active (this blocks updates):"
msgstr "Lockout de EDD activo (esto bloquea actualizaciones):"

#. translators: %s = number of options
#: admin/js/settings-license.js:160
#, js-format
msgid "%s options"
msgstr "%s opciones"

#: admin/js/settings-license.js:160
#: modules/content/content.js:1774
msgid "(none)"
msgstr "(ninguna)"

#: admin/js/settings-license.js:161
msgid "EDD caches detected:"
msgstr "Cachés de EDD detectadas:"

#: admin/js/settings-license.js:172
msgid "Updates diagnostics"
msgstr "Diagnóstico de actualizaciones"

#: admin/js/settings-license.js:196
msgid "This will download and install the new version of the plugin. Continue?"
msgstr "Esto descargará e instalará la nueva versión del plugin. ¿Continuar?"

#: admin/js/settings-license.js:205
msgid "Update error."
msgstr "Error de actualización."

#: admin/js/settings-license.js:211
msgid "Connection error during the update."
msgstr "Error de conexión durante la actualización."

#: modules/content/assets/page-content.js:47
msgid "Press the button to choose a style."
msgstr "Pulsa el botón para elegir un estilo."

#: modules/content/content.js:79
msgid "Clear the title list?"
msgstr "¿Vaciar la lista de títulos?"

#: modules/content/content.js:80
msgid "The whole list will be cleared. Articles already added to the queue will not be affected."
msgstr "Se vaciará toda la lista. Los artículos ya añadidos a la cola no se verán afectados."

#: modules/content/content.js:198
#: modules/pipeline/pipeline.js:292
#: modules/pipeline/pipeline.js:354
msgid "No titles"
msgstr "Sin títulos"

#: modules/content/content.js:198
msgid "Add at least one title to be able to generate."
msgstr "Añade al menos un título para poder generar."

#: modules/content/content.js:201
msgid "Adding…"
msgstr "Añadiendo…"

#. translators: %s = number of articles
#: modules/content/content.js:211
#, js-format
msgid "%s article added to the queue"
msgid_plural "%s articles added to the queue"
msgstr[0] "%s artículo añadido a la cola"
msgstr[1] "%s artículos añadidos a la cola"

#: modules/content/content.js:272
msgid "Checking coverage…"
msgstr "Comprobando cobertura…"

#. translators: 1: current article number, 2: total
#: modules/content/content.js:471
#, js-format
msgid "Generating article %1$s of %2$s…"
msgstr "Generando artículo %1$s de %2$s…"

#: modules/content/content.js:508
msgid "Connection error. Press Generate again."
msgstr "Error de conexión. Pulsa Generar de nuevo."

#: modules/content/content.js:514
#: modules/content/content.js:553
msgid "Generation completed"
msgstr "Generación completada"

#: modules/content/content.js:514
msgid "Updating queue…"
msgstr "Actualizando cola…"

#: modules/content/content.js:553
msgid "Reload the page to see the new articles."
msgstr "Recarga la página para ver los nuevos artículos."

#: modules/content/content.js:624
msgid "Cancel pending articles"
msgstr "Cancelar artículos pendientes"

#: modules/content/content.js:625
msgid "All articles still queued and not generated will be cancelled. Those already finished will not be affected."
msgstr "Se cancelarán todos los artículos aún en cola y sin generar. Los ya finalizados no se verán afectados."

#. translators: %s = number of articles
#: modules/content/content.js:651
#, js-format
msgid "Generate %s article"
msgid_plural "Generate %s articles"
msgstr[0] "Generar %s artículo"
msgstr[1] "Generar %s artículos"

#. translators: %s = job title
#: modules/content/content.js:674
#, js-format
msgid "Finished: %s"
msgstr "Finalizado: %s"

#. translators: %s = job title
#: modules/content/content.js:677
#, js-format
msgid "Generated %s"
msgstr "Generado %s"

#. translators: %s = job title
#: modules/content/content.js:681
#, js-format
msgid "Failed: %s"
msgstr "Falló: %s"

#. translators: %s = job title
#: modules/content/content.js:684
#, js-format
msgid "Failed %s"
msgstr "Falló %s"

#: modules/content/content.js:740
msgid "No title"
msgstr "Sin título"

#: modules/content/content.js:740
msgid "Write at least one title in the titles field to preview the prompt."
msgstr "Escribe al menos un título en el campo de títulos para previsualizar el prompt."

#: modules/content/content.js:760
#: modules/content/content.js:796
msgid "See the exact prompt that will be sent to DALL·E"
msgstr "Ve el prompt exacto que se enviará a DALL·E"

#: modules/content/content.js:763
msgid "The preview could not be generated."
msgstr "No se pudo generar la vista previa."

#: modules/content/content.js:771
msgid "Includes article summary"
msgstr "Incluye resumen del artículo"

#: modules/content/content.js:772
msgid "The summary will be added automatically when generating"
msgstr "El resumen se añadirá automáticamente al generar"

#: modules/content/content.js:777
msgid "Title:"
msgstr "Título:"

#: modules/content/content.js:778
msgid "Style:"
msgstr "Estilo:"

#: modules/content/content.js:779
#: modules/content/content.js:2398
msgid "Characters:"
msgstr "Caracteres:"

#. translators: %s = image model name
#: modules/content/content.js:783
#, js-format
msgid "Full prompt sent to %s:"
msgstr "Prompt completo enviado a %s:"

#: modules/content/content.js:787
#: modules/content/content.js:812
#: modules/content/content.js:992
#: modules/content/content.js:1400
msgid "Copy prompt"
msgstr "Copiar prompt"

#: modules/content/content.js:792
msgid "Image prompt — preview"
msgstr "Prompt de imagen — vista previa"

#: modules/content/content.js:808
#: modules/content/content.js:822
#: modules/content/content.js:1441
msgid "Copied!"
msgstr "¡Copiado!"

#: modules/content/content.js:847
msgid "Download all prompts in a single documented .txt file"
msgstr "Descarga todos los prompts en un único archivo .txt documentado"

#: modules/content/content.js:909
#: modules/content/content.js:1035
#: modules/content/content.js:1474
msgid "No data"
msgstr "Sin datos"

#: modules/content/content.js:909
#: modules/content/content.js:1035
msgid "The saved prompt was not found."
msgstr "No se encontró el prompt guardado."

#: modules/content/content.js:923
#: modules/content/content.js:1335
msgid "fallback"
msgstr "fallback"

#: modules/content/content.js:924
#: modules/content/content.js:1336
msgid "main"
msgstr "principal"

#: modules/content/content.js:926
#: modules/content/content.js:979
#: modules/content/content.js:1047
#: modules/content/content.js:1251
#: modules/content/content.js:1338
#: modules/content/content.js:1388
#: modules/content/content.js:1659
#: modules/content/content.js:2396
msgid "Model:"
msgstr "Modelo:"

#: modules/content/content.js:927
#: modules/content/content.js:980
#: modules/content/content.js:1339
#: modules/content/content.js:1389
msgid "Size:"
msgstr "Tamaño:"

#: modules/content/content.js:928
#: modules/content/content.js:981
#: modules/content/content.js:1340
#: modules/content/content.js:1390
msgid "Quality:"
msgstr "Calidad:"

#: modules/content/content.js:930
#: modules/content/content.js:1342
msgid "Yes"
msgstr "Sí"

#: modules/content/content.js:930
#: modules/content/content.js:1342
msgid "No"
msgstr "No"

#: modules/content/content.js:937
#: modules/content/content.js:1349
msgid "gpt-image-1 connection error:"
msgstr "Error de conexión gpt-image-1:"

#: modules/content/content.js:949
#: modules/content/content.js:1358
msgid "Entity / topic"
msgstr "Entidad / tema"

#: modules/content/content.js:950
#: modules/content/content.js:1359
msgid "Geography"
msgstr "Geografía"

#: modules/content/content.js:951
#: modules/content/content.js:1360
msgid "Intent"
msgstr "Intención"

#: modules/content/content.js:954
#: modules/content/content.js:1363
msgid "Structure (H2s)"
msgstr "Estructura (H2s)"

#: modules/content/content.js:956
#: modules/content/content.js:1365
msgid "Intro"
msgstr "Intro"

#: modules/content/content.js:961
#: modules/content/content.js:1370
msgid "Template used"
msgstr "Plantilla usada"

#: modules/content/content.js:963
#: modules/content/content.js:1372
msgid "Tweaks for this article"
msgstr "Matices de este artículo"

#: modules/content/content.js:967
#: modules/content/content.js:1375
msgid "Context used to build the scene:"
msgstr "Contexto usado para construir la escena:"

#: modules/content/content.js:973
#: modules/content/content.js:1381
msgid "Fallback activated"
msgstr "Fallback activado"

#: modules/content/content.js:974
#: modules/content/content.js:1382
msgid "No fallback"
msgstr "Sin fallback"

#. translators: %s = image model name
#: modules/content/content.js:988
#: modules/content/content.js:1396
#, js-format
msgid "Prompt sent to %s:"
msgstr "Prompt enviado a %s:"

#: modules/content/content.js:997
#: modules/content/content.js:1405
msgid "How the model interpreted it (revised prompt):"
msgstr "Cómo lo interpretó el modelo (prompt revisado):"

#: modules/content/content.js:1001
#: modules/content/content.js:1409
msgid "Copy revised prompt"
msgstr "Copiar prompt revisado"

#: modules/content/content.js:1005
msgid "Image prompt — sent with the article"
msgstr "Prompt de imagen — enviado con el artículo"

#: modules/content/content.js:1046
#: modules/content/content.js:1250
#: modules/content/content.js:1658
msgid "Architecture:"
msgstr "Arquitectura:"

#: modules/content/content.js:1046
#: modules/content/content.js:1250
#: modules/content/content.js:1658
msgid "By sections (v4.4)"
msgstr "Por secciones (v4.4)"

#: modules/content/content.js:1046
#: modules/content/content.js:1250
#: modules/content/content.js:1658
msgid "Single call (legacy)"
msgstr "Llamada única (legacy)"

#: modules/content/content.js:1048
#: modules/content/content.js:1252
#: modules/content/content.js:1660
msgid "Temperature:"
msgstr "Temperatura:"

#. translators: %s = number of words
#: modules/content/content.js:1050
#: modules/content/content.js:1254
#: modules/content/content.js:1661
msgid "Result:"
msgstr "Resultado:"

#. translators: %s = number of words
#: modules/content/content.js:1050
#: modules/content/content.js:1254
#: modules/content/content.js:1661
#: modules/semantic/semantic.js:175
#, js-format
msgid "%s word"
msgid_plural "%s words"
msgstr[0] "%s palabra"
msgstr[1] "%s palabras"

#: modules/content/content.js:1052
#: modules/content/content.js:1256
msgid "2 passes"
msgstr "2 pasadas"

#. translators: %s = number of characters
#: modules/content/content.js:1058
#: modules/content/content.js:1259
#, js-format
msgid "System prompt (%s characters):"
msgstr "System prompt (%s caracteres):"

#: modules/content/content.js:1062
#: modules/content/content.js:1263
msgid "Copy system"
msgstr "Copiar system"

#. translators: %s = number of sections
#: modules/content/content.js:1070
#: modules/content/content.js:1269
#, js-format
msgid "%s section failed to generate and was replaced by a marker. Edit or regenerate the article."
msgid_plural "%s sections failed to generate and were replaced by a marker. Edit or regenerate the article."
msgstr[0] "%s sección falló al generar y se sustituyó por un marcador. Edita o regenera el artículo."
msgstr[1] "%s secciones fallaron al generar y se sustituyeron por un marcador. Edita o regenera el artículo."

#: modules/content/content.js:1075
#: modules/content/content.js:1273
msgid "1. Outline (article structure)"
msgstr "1. Outline (estructura del artículo)"

#: modules/content/content.js:1077
#: modules/content/content.js:1275
msgid "Outline JSON response:"
msgstr "Respuesta JSON del outline:"

#: modules/content/content.js:1082
#: modules/content/content.js:1280
msgid "2. Introduction"
msgstr "2. Introducción"

#. translators: 1: step number, 2: section position, 3: heading, 4: word count
#: modules/content/content.js:1089
#: modules/content/content.js:1287
#, js-format
msgid "%1$s. Section %2$s: «%3$s» (%4$s words)"
msgstr "%1$s. Sección %2$s: «%3$s» (%4$s palabras)"

#. translators: %s = step number
#: modules/content/content.js:1098
#: modules/content/content.js:1296
#, js-format
msgid "%s. Closing / conclusion"
msgstr "%s. Cierre / conclusión"

#. translators: %s = number of characters
#: modules/content/content.js:1104
#: modules/content/content.js:1300
#, js-format
msgid "User prompt (%s characters):"
msgstr "User prompt (%s caracteres):"

#: modules/content/content.js:1108
#: modules/content/content.js:1304
msgid "Copy user"
msgstr "Copiar user"

#. translators: %s = number of characters
#: modules/content/content.js:1114
#: modules/content/content.js:1308
#, js-format
msgid "2nd pass prompt (expand · %s characters"
msgstr "Prompt de la 2ª pasada (expand · %s caracteres"

#. translators: %s = temperature value
#: modules/content/content.js:1116
#: modules/content/content.js:1309
#, js-format
msgid "temp %s"
msgstr "temp %s"

#. translators: %s = max tokens value
#: modules/content/content.js:1118
#: modules/content/content.js:1310
#, js-format
msgid "max %s tokens"
msgstr "máx %s tokens"

#: modules/content/content.js:1123
#: modules/content/content.js:1315
msgid "Copy expand"
msgstr "Copiar expand"

#: modules/content/content.js:1128
msgid "Text prompt — sent with the article"
msgstr "Prompt de texto — enviado con el artículo"

#: modules/content/content.js:1187
msgid "No saved prompt was found for this article."
msgstr "No se encontró ningún prompt guardado para este artículo."

#: modules/content/content.js:1195
msgid "No text prompt was saved for this article."
msgstr "No se guardó prompt de texto para este artículo."

#: modules/content/content.js:1196
msgid "No image was generated for this article (or the prompt was not saved)."
msgstr "No se generó imagen para este artículo (o el prompt no se guardó)."

#: modules/content/content.js:1204
msgid "Text prompts"
msgstr "Prompts de texto"

#: modules/content/content.js:1207
msgid "Image prompt"
msgstr "Prompt de imagen"

#. translators: %s = post ID
#: modules/content/content.js:1226
#, js-format
msgid "Prompts — article #%s"
msgstr "Prompts — artículo #%s"

#. translators: %s = number of characters
#: modules/content/content.js:1423
#, js-format
msgid " (%s characters):"
msgstr " (%s caracteres):"

#: modules/content/content.js:1474
msgid "There is no payload available to download."
msgstr "No hay payload disponible para descargar."

#: modules/content/content.js:1508
msgid "END OF TEXT DUMP — IMAGE DUMP FOLLOWS"
msgstr "FIN DEL DUMP DE TEXTO — A CONTINUACIÓN, DUMP DE IMAGEN"

#: modules/content/content.js:1516
msgid "There is no text or image data to download."
msgstr "No hay datos de texto ni de imagen para descargar."

#. translators: %s = dump type
#: modules/content/content.js:1522
#, js-format
msgid "Unknown dump type: %s"
msgstr "Tipo de dump desconocido: %s"

#: modules/content/content.js:1529
msgid "Downloaded!"
msgstr "¡Descargado!"

#. translators: %s = error message
#: modules/content/content.js:1535
#, js-format
msgid "The file could not be generated: %s"
msgstr "No se pudo generar el archivo: %s"

#. translators: %s = number of characters
#: modules/content/content.js:1568
#: modules/content/content.js:1937
#, js-format
msgid "Characters: %s"
msgstr "Caracteres: %s"

#. translators: %s = formatted latency
#: modules/content/content.js:1573
#, js-format
msgid "Latency: %s"
msgstr "Latencia: %s"

#. translators: %s = payload kind
#: modules/content/content.js:1645
#, js-format
msgid "Payload is not of type TEXT (kind=%s)"
msgstr "El payload no es de tipo TEXTO (kind=%s)"

#: modules/content/content.js:1652
msgid "4LINKING — TEXT PROMPTS DUMP"
msgstr "4LINKING — DUMP DE PROMPTS DE TEXTO"

#: modules/content/content.js:1654
msgid "Plugin version:"
msgstr "Versión del plugin:"

#: modules/content/content.js:1655
msgid "Created:"
msgstr "Creado:"

#: modules/content/content.js:1656
msgid "Modified:"
msgstr "Modificado:"

#: modules/content/content.js:1657
msgid "Post status:"
msgstr "Estado del post:"

#: modules/content/content.js:1662
msgid "Passes:"
msgstr "Pasadas:"

#: modules/content/content.js:1662
msgid "2 (with expand)"
msgstr "2 (con expand)"

#: modules/content/content.js:1663
msgid "Failed sections:"
msgstr "Secciones fallidas:"

#: modules/content/content.js:1664
msgid "Length warning:"
msgstr "Aviso de longitud:"

#: modules/content/content.js:1664
msgid "YES (article did not reach the target)"
msgstr "SÍ (el artículo no alcanzó el objetivo)"

#: modules/content/content.js:1668
msgid "Generation start:"
msgstr "Inicio de generación:"

#: modules/content/content.js:1669
msgid "Generation end:"
msgstr "Fin de generación:"

#: modules/content/content.js:1671
msgid "Total duration:"
msgstr "Duración total:"

#: modules/content/content.js:1679
msgid "OpenAI calls:"
msgstr "Llamadas a OpenAI:"

#. translators: %s = number of failed calls
#: modules/content/content.js:1682
#, js-format
msgid "%s failed"
msgid_plural "%s failed"
msgstr[0] "%s fallida"
msgstr[1] "%s fallidas"

#: modules/content/content.js:1686
msgid "Total tokens:"
msgstr "Tokens totales:"

#: modules/content/content.js:1691
msgid "API latency:"
msgstr "Latencia de la API:"

#: modules/content/content.js:1691
msgid "sum of all calls"
msgstr "suma de todas las llamadas"

#: modules/content/content.js:1713
msgid "KB coverage:"
msgstr "Cobertura KB:"

#: modules/content/content.js:1713
msgid "entries used (high/medium confidence)"
msgstr "fichas usadas (confianza alta/media)"

#. translators: %s = number of weak signals
#: modules/content/content.js:1716
#, js-format
msgid "%s weak signal"
msgstr "%s señal débil"

#: modules/content/content.js:1725
msgid "KB selection:"
msgstr "Selección KB:"

#: modules/content/content.js:1725
msgid "entries injected into the prompt"
msgstr "fichas inyectadas al prompt"

#. translators: %s = number below threshold
#: modules/content/content.js:1728
#, js-format
msgid "%s below threshold"
msgstr "%s bajo umbral"

#: modules/content/content.js:1735
msgid "Claims without KB support:"
msgstr "Afirmaciones sin respaldo KB:"

#: modules/content/content.js:1735
msgid "review"
msgstr "revisar"

#: modules/content/content.js:1738
msgid "Editorial audit:"
msgstr "Auditoría editorial:"

#: modules/content/content.js:1740
msgid "Downloaded:"
msgstr "Descargado:"

#: modules/content/content.js:1746
msgid "JOB PARAMETERS"
msgstr "PARÁMETROS DEL JOB"

#: modules/content/content.js:1748
#: modules/content/content.js:1750
#: modules/content/content.js:2421
msgid "Template:"
msgstr "Plantilla:"

#: modules/content/content.js:1748
#: modules/content/content.js:1768
msgid "(no name)"
msgstr "(sin nombre)"

#: modules/content/content.js:1750
msgid "(no template — free form)"
msgstr "(sin plantilla — formulario libre)"

#: modules/content/content.js:1752
msgid "Length:"
msgstr "Longitud:"

#: modules/content/content.js:1753
msgid "Tone:"
msgstr "Tono:"

#: modules/content/content.js:1754
msgid "Structure:"
msgstr "Estructura:"

#: modules/content/content.js:1755
msgid "Audience:"
msgstr "Audiencia:"

#: modules/content/content.js:1756
msgid "Point of view:"
msgstr "Punto de vista:"

#: modules/content/content.js:1757
msgid "Reading level:"
msgstr "Nivel de lectura:"

#: modules/content/content.js:1759
#: modules/content/content.js:2412
msgid "Main keyword:"
msgstr "Keyword principal:"

#: modules/content/content.js:1760
msgid "Search intent:"
msgstr "Intención de búsqueda:"

#: modules/content/content.js:1761
msgid "Secondary keywords:"
msgstr "Keywords secundarias:"

#: modules/content/content.js:1763
msgid "Forced H2:"
msgstr "H2 forzados:"

#: modules/content/content.js:1763
msgid "(yes — see configuration in the form)"
msgstr "(sí — ver configuración en el formulario)"

#: modules/content/content.js:1765
msgid "Words to avoid:"
msgstr "Palabras a evitar:"

#: modules/content/content.js:1768
#: modules/content/content.js:1774
msgid "Assigned KB:"
msgstr "KB asignada:"

#. translators: %s = coverage score
#: modules/content/content.js:1771
#, js-format
msgid "LOW COVERAGE on this title (score %s)"
msgstr "COBERTURA BAJA en este título (score %s)"

#: modules/content/content.js:1776
msgid "Image model:"
msgstr "Modelo de imagen:"

#: modules/content/content.js:1782
msgid "This file contains ALL the prompts sent to OpenAI during"
msgstr "Este archivo contiene TODOS los prompts enviados a OpenAI durante"

#: modules/content/content.js:1783
msgid "the generation of this article. It is meant for auditing:"
msgstr "la generación de este artículo. Está pensado para auditoría:"

#: modules/content/content.js:1784
msgid "it lets you review what was sent to the model and diagnose problems"
msgstr "permite revisar qué se mandó al modelo y diagnosticar problemas"

#: modules/content/content.js:1785
msgid "of fidelity, style or structure without having to rebuild anything."
msgstr "de fidelidad, estilo o estructura sin tener que reconstruir nada."

#: modules/content/content.js:1787
msgid "The blocks are presented in the ACTUAL EXECUTION ORDER:"
msgstr "Los bloques se presentan en el ORDEN REAL DE EJECUCIÓN:"

#: modules/content/content.js:1788
msgid "1. System prompt (shared by all calls)."
msgstr "1. System prompt (compartido por todas las llamadas)."

#: modules/content/content.js:1789
msgid "2. Outline → generates the article JSON structure."
msgstr "2. Outline → genera la estructura JSON del artículo."

#: modules/content/content.js:1790
msgid "3. Intro → first paragraph of the article."
msgstr "3. Intro → primer párrafo del artículo."

#: modules/content/content.js:1791
msgid "4..N. One call per H2 section."
msgstr "4..N. Una llamada por cada sección H2."

#: modules/content/content.js:1792
msgid "N+1. Closing / conclusion."
msgstr "N+1. Cierre / conclusión."

#: modules/content/content.js:1794
msgid "Lines starting with `#` are annotations; the rest is"
msgstr "Las líneas que empiezan por `#` son anotaciones; el resto es"

#: modules/content/content.js:1795
msgid "literal text sent to the model."
msgstr "texto literal enviado al modelo."

#. translators: %s = number of characters
#: modules/content/content.js:1802
#, js-format
msgid "Characters: %s  ·  Role: system  ·  Shared across all calls"
msgstr "Caracteres: %s  ·  Rol: system  ·  Compartido en todas las llamadas"

#: modules/content/content.js:1804
msgid "The system prompt is sent with EVERY pipeline call (outline,\nintro, each section, closing). It defines the model persona and the\nstyle rules (the 19 anti-AI rules). It does not contain the KB."
msgstr "El system prompt se envía con CADA llamada del pipeline (outline,\nintro, cada sección, cierre). Define la persona del modelo y las\nreglas de estilo (las 19 reglas anti-IA). No contiene la KB."

#: modules/content/content.js:1819
msgid "Role: user  ·  Pipeline call #1"
msgstr "Rol: user  ·  Llamada nº 1 del pipeline"

#: modules/content/content.js:1823
msgid "This call generates the STRUCTURE of the article (JSON with the\nlist of H2 sections, their key_points and which required elements\neach one carries: table, FAQ, checklist, etc.).\nIMPORTANT: by default this prompt does NOT receive the injected KB.\nThe model decides the structure without knowing what the knowledge\nbase contains, which conditions the rest of the article."
msgstr "Esta llamada genera la ESTRUCTURA del artículo (JSON con la\nlista de secciones H2, sus key_points y qué elementos\nrequeridos lleva cada una: tabla, FAQ, checklist, etc.).\nIMPORTANTE: por defecto este prompt NO recibe la KB inyectada.\nEl modelo decide la estructura sin saber qué contiene la base\nde conocimiento, lo que condiciona todo el resto del artículo."

#: modules/content/content.js:1831
msgid "OUTLINE — MODEL RESPONSE (JSON)"
msgstr "OUTLINE — RESPUESTA DEL MODELO (JSON)"

#. translators: %s = number of characters
#: modules/content/content.js:1833
#, js-format
msgid "Characters: %s  ·  Role: assistant  ·  Output of call #1"
msgstr "Caracteres: %s  ·  Rol: assistant  ·  Output de la llamada nº 1"

#: modules/content/content.js:1835
msgid "JSON returned by the model with the final article structure.\nEach section here will trigger a separate call in the\nfollowing blocks."
msgstr "JSON devuelto por el modelo con la estructura definitiva del\nartículo. Cada sección de aquí desencadenará una llamada\nseparada en los bloques siguientes."

#: modules/content/content.js:1843
msgid "INTRODUCTION — USER PROMPT"
msgstr "INTRODUCCIÓN — USER PROMPT"

#: modules/content/content.js:1846
msgid "Role: user  ·  Generates the paragraph before the first H2"
msgstr "Rol: user  ·  Genera el párrafo previo al primer H2"

#: modules/content/content.js:1850
msgid "Call that produces the introductory paragraph of the article\n(before the first H2). It is usually short: 100-180 words."
msgstr "Llamada que produce el párrafo introductorio del artículo\n(antes del primer H2). Suele ser corto: 100-180 palabras."

#: modules/content/content.js:1856
msgid "INTRODUCTION — MODEL RESPONSE"
msgstr "INTRODUCCIÓN — RESPUESTA DEL MODELO"

#. translators: %s = number of characters
#: modules/content/content.js:1857
#: modules/content/content.js:1916
#, js-format
msgid "Characters: %s  ·  Role: assistant"
msgstr "Caracteres: %s  ·  Rol: assistant"

#: modules/content/content.js:1859
msgid "HTML of the introduction as returned by the model,\nbefore the filtering and cleanup pass. Useful to tell apart\nwhat OpenAI produced from what apply_avoid_filter rewrote."
msgstr "HTML de la introducción tal como lo devolvió el modelo,\nantes del paso de filtros y limpieza. Útil para distinguir\nlo que produjo OpenAI de lo que reescribió apply_avoid_filter."

#. translators: 1: section position, 2: target word count
#: modules/content/content.js:1869
#, js-format
msgid "Position: %1$s  ·  Target words: %2$s"
msgstr "Posición: %1$s  ·  Palabras objetivo: %2$s"

#. translators: %s = section heading
#: modules/content/content.js:1874
#, js-format
msgid "Section «%s»."
msgstr "Sección «%s»."

#: modules/content/content.js:1875
msgid "One independent call per H2 of the article.\nThis is where the KB (verified information) is injected: each\nsection receives the KB block with the entries relevant\nto its topic, along with the mandatory fidelity rules."
msgstr "Una llamada independiente por cada H2 del artículo.\nEs donde se inyecta la KB (información verificada): cada\nsección recibe el bloque KB con las fichas relevantes\na su tema, junto con las reglas obligatorias de fidelidad."

#. translators: %s = section position
#: modules/content/content.js:1879
#, js-format
msgid "SECTION %s — USER PROMPT"
msgstr "SECCIÓN %s — USER PROMPT"

#. translators: %s = section position
#: modules/content/content.js:1888
#, js-format
msgid "SECTION %s — MODEL RESPONSE"
msgstr "SECCIÓN %s — RESPUESTA DEL MODELO"

#. translators: 1: number of characters, 2: H2 heading
#: modules/content/content.js:1890
#, js-format
msgid "Characters: %1$s  ·  Role: assistant  ·  H2: «%2$s»"
msgstr "Caracteres: %1$s  ·  Rol: assistant  ·  H2: «%2$s»"

#: modules/content/content.js:1892
msgid "HTML returned by the model for this section, before\nassembly and filters. Check here whether a quality\ncomplaint comes from the prompt-builder or the model."
msgstr "HTML que devolvió el modelo para esta sección, antes\ndel ensamblado y los filtros. Verificar aquí si una\nqueja de calidad viene del prompt-builder o del modelo."

#: modules/content/content.js:1902
msgid "CLOSING / CONCLUSION — USER PROMPT"
msgstr "CIERRE / CONCLUSIÓN — USER PROMPT"

#: modules/content/content.js:1905
msgid "Role: user  ·  Last call in the pipeline"
msgstr "Rol: user  ·  Última llamada del pipeline"

#: modules/content/content.js:1909
msgid "Generates the closing paragraph of the article. It usually does not\nreceive the injected KB because its function is to synthesize, not to add\nnew data."
msgstr "Genera el párrafo de cierre del artículo. No suele recibir\nla KB inyectada porque su función es sintetizar, no aportar\ndatos nuevos."

#: modules/content/content.js:1915
msgid "CLOSING / CONCLUSION — MODEL RESPONSE"
msgstr "CIERRE / CONCLUSIÓN — RESPUESTA DEL MODELO"

#: modules/content/content.js:1918
msgid "Closing as returned by the model. The conclusion is\nthe point most exposed to clichés (\"next level\",\n\"makes the difference\"); comparing it with the final HTML\nshows what the filter rewrote."
msgstr "Cierre tal como lo devolvió el modelo. La conclusión es\nel punto más expuesto a clichés (\"siguiente nivel\",\n\"marcará la diferencia\"); compararla con el HTML final\npermite ver qué reescribió el filtro."

#: modules/content/content.js:1926
msgid "USER PROMPT (LEGACY · SINGLE CALL)"
msgstr "USER PROMPT (LEGACY · LLAMADA ÚNICA)"

#. translators: %s = number of characters
#: modules/content/content.js:1928
#, js-format
msgid "Characters: %s  ·  Role: user  ·  Legacy architecture (single call)"
msgstr "Caracteres: %s  ·  Rol: user  ·  Arquitectura legacy (una sola llamada)"

#: modules/content/content.js:1930
msgid "Legacy architecture: the whole article is generated in a\nsingle call. The separate sections of the v4.4 pipeline\ndo not apply here."
msgstr "Arquitectura legacy: todo el artículo se genera en una\núnica llamada. Las secciones por separado del pipeline v4.4\nno aplican aquí."

#: modules/content/content.js:1936
msgid "2ND PASS PROMPT (EXPAND)"
msgstr "PROMPT DE 2ª PASADA (EXPAND)"

#. translators: %s = temperature value
#: modules/content/content.js:1939
#, js-format
msgid "Temp: %s"
msgstr "Temp: %s"

#. translators: %s = max tokens value
#: modules/content/content.js:1941
#, js-format
msgid "Max tokens: %s"
msgstr "Máx tokens: %s"

#: modules/content/content.js:1943
msgid "Second pass used to extend articles that did not\nreach the target length in the first call."
msgstr "Segunda pasada usada para extender artículos que no\nalcanzaron la longitud objetivo en la primera llamada."

#: modules/content/content.js:1963
msgid "Entries in the base (total):"
msgstr "Fichas en la base (total):"

#: modules/content/content.js:1964
msgid "Above threshold:"
msgstr "Por encima del umbral:"

#: modules/content/content.js:1965
msgid "Below threshold:"
msgstr "Por debajo del umbral:"

#: modules/content/content.js:1966
msgid "Minimum threshold applied:"
msgstr "Umbral mínimo aplicado:"

#: modules/content/content.js:1967
msgid "Configured limit (top-N):"
msgstr "Límite configurado (top-N):"

#: modules/content/content.js:1968
msgid "Entries that entered the prompt:"
msgstr "Fichas que entraron al prompt:"

#: modules/content/content.js:1971
msgid "INJECTED ENTRIES (ordered by similarity)"
msgstr "FICHAS INYECTADAS (ordenadas por similitud)"

#: modules/content/content.js:1976
#: modules/content/content.js:1987
#: modules/content/content.js:1996
#: modules/content/content.js:2075
msgid "(no title)"
msgstr "(sin título)"

#: modules/content/content.js:1985
msgid "FIRST ENTRY EXCLUDED BY THE CUT"
msgstr "PRIMERA FICHA EXCLUIDA POR EL CORTE"

#: modules/content/content.js:1988
msgid "(It was just after the top-N. If its score is close\n   to the last included one, the cut was marginal.)"
msgstr "(Quedó justo después del top-N. Si su score está cerca\n   del último incluido, el corte fue marginal.)"

#: modules/content/content.js:1992
msgid "TOP 3 BELOW THRESHOLD (discarded for low similarity)"
msgstr "TOP 3 POR DEBAJO DEL UMBRAL (descartadas por baja similitud)"

#: modules/content/content.js:1998
msgid "(These did not enter the prompt because their score was\n   below the minimum threshold. If you think they should\n   be there, consider lowering the threshold or rewriting the\n   entry title to match the article one.)"
msgstr "(Estas no entraron al prompt porque su score quedó\n   por debajo del umbral mínimo. Si crees que debían\n   estar, considera bajar el umbral o reescribir el\n   título de la ficha para que case con el del artículo.)"

#: modules/content/content.js:2003
msgid "PRE-GEN AUDIT — KB ENTRY SELECTION"
msgstr "AUDITORÍA PRE-GEN — SELECCIÓN DE FICHAS KB"

#: modules/content/content.js:2004
msgid "Which entries were chosen, with what similarity, what was left out"
msgstr "Qué fichas se eligieron, con qué similitud, qué quedó fuera"

#: modules/content/content.js:2006
msgid "Diagnostic made BEFORE generating (during prompt\nbuilding): the semantic engine measures the similarity between the\narticle title and each entry of the base, sorts by\nscore and keeps the first ones up to the limit. This\nblock reports which entries passed the cut, with what scores,\nwhich one came right after and what was discarded by threshold.\nIf the article does not use an entry you think it should,\nlook here first: if the entry is included, the problem\nis the model (it did not use it); if it is not, the problem is the\nselection (it did not reach the prompt)."
msgstr "Diagnóstico hecho ANTES de generar (durante la construcción\ndel prompt): el motor semántico mide la similitud entre el\ntítulo del artículo y cada ficha de la base, ordena por\nscore y se queda con las primeras hasta el límite. Este\nbloque cuenta qué fichas pasaron el corte, con qué scores,\ncuál quedó justo después y qué se descartó por umbral.\nSi el artículo no usa una ficha que crees que debía usar,\nmira aquí primero: si la ficha está incluida, el problema\nes del modelo (no la usó); si no está, el problema es de\nla selección (no llegó al prompt)."

#: modules/content/content.js:2013
msgid "Entries fed to the outline:"
msgstr "Fichas alimentadas al outline:"

#: modules/content/content.js:2014
msgid "Entries reflected in the output:"
msgstr "Fichas reflejadas en el output:"

#: modules/content/content.js:2015
msgid "Unused entries:"
msgstr "Fichas no utilizadas:"

#: modules/content/content.js:2018
msgid "Coverage rate:"
msgstr "Tasa de cobertura:"

#: modules/content/content.js:2030
msgid "DETAIL PER ENTRY (how usage was detected)"
msgstr "DETALLE POR FICHA (cómo se detectó el uso)"

#: modules/content/content.js:2032
msgid "(Three tests in order, in decreasing CONFIDENCE:\n  · HIGH  — the full title appears verbatim.\n  · MEDIUM — a 3-word sequence of the title appears.\n  · LOW  — only one distinctive token of the title (≥7 chars and infrequent in the KB).\n Only HIGH+MEDIUM count as \"used\" — LOW goes to its own bucket\n because it has too many false positives to be reliable.)"
msgstr "(Tres tests en orden, en CONFIANZA decreciente:\n  · ALTA  — el título completo aparece verbatim.\n  · MEDIA — una secuencia de 3 palabras del título aparece.\n  · BAJA  — solo un token distintivo del título (≥7 chars y poco frecuente en la KB).\n Solo ALTA+MEDIA cuentan como \"usadas\" — BAJA va a su propio bucket\n porque tiene demasiados falsos positivos para ser fiable.)"

#: modules/content/content.js:2045
msgid "verbatim"
msgstr "verbatim"

#: modules/content/content.js:2046
msgid "3-token phrase"
msgstr "frase 3-token"

#: modules/content/content.js:2047
msgid "single token"
msgstr "token único"

#. translators: %s = number of entries
#: modules/content/content.js:2062
#, js-format
msgid "USED — high or medium confidence (%s):"
msgstr "USADAS — confianza alta o media (%s):"

#. translators: %s = number of entries
#: modules/content/content.js:2067
#, js-format
msgid "WEAK SIGNAL — only one distinctive token appears (%s):"
msgstr "SEÑAL DÉBIL — solo un token distintivo aparece (%s):"

#: modules/content/content.js:2068
msgid "(The entry may have been used, or it may be coincidence.\n   Check whether the entry central topic is in the article.)"
msgstr "(Puede que la ficha se usara, puede que sea coincidencia.\n   Revisar si el tema central de la ficha está en el artículo.)"

#. translators: %s = number of entries
#: modules/content/content.js:2073
#, js-format
msgid "NOT USED — no test matches (%s):"
msgstr "NO USADAS — ningún test casa (%s):"

#: modules/content/content.js:2081
msgid "Entries that were sent but did not appear in the article:"
msgstr "Fichas que se enviaron pero no aparecieron en el artículo:"

#: modules/content/content.js:2086
msgid "(All fed entries have a trace in the article.)"
msgstr "(Todas las fichas alimentadas tienen rastro en el artículo.)"

#: modules/content/content.js:2090
msgid "POST-GEN AUDIT — KB COVERAGE (approximate)"
msgstr "AUDITORÍA POST-GEN — COBERTURA KB (aproximada)"

#: modules/content/content.js:2091
msgid "Analysis of which entries fed the model and which appeared"
msgstr "Análisis de qué fichas alimentaron al modelo y cuáles aparecieron"

#: modules/content/content.js:2093
msgid "Not a prompt. It is an analysis made after generating the\narticle: it checks which KB titles were sent to the outline and\nwhich left a trace in the final HTML. Detection is\nAPPROXIMATE — it looks for distinctive words of the title within\nthe text. There can be false positives (a generic term\nshared among several entries) and false negatives (an\nentry whose concept was reflected but heavily paraphrased).\nUseful as an order of magnitude and an iteration hint, not as a\nprecise metric."
msgstr "No es un prompt. Es un análisis hecho después de generar el\nartículo: comprueba qué títulos KB se enviaron al outline y\ncuáles dejaron rastro en el HTML final. La detección es\nAPROXIMADA — busca palabras distintivas del título dentro\ndel texto. Puede haber falsos positivos (un término genérico\ncompartido entre varias fichas) y falsos negativos (una\nficha cuyo concepto se reflejó pero parafraseado fuerte).\nÚtil como orden de magnitud y pista de iteración, no como\nmétrica precisa."

#: modules/content/content.js:2105
msgid "Claims detected in the article whose concrete value\nDOES NOT appear in the KB block injected to the model."
msgstr "Afirmaciones detectadas en el artículo cuyo valor concreto\nNO aparece en el bloque KB inyectado al modelo."

#: modules/content/content.js:2114
msgid "Unsupported percentages"
msgstr "Porcentajes sin respaldo"

#: modules/content/content.js:2115
msgid "Unsupported years / dates"
msgstr "Años / fechas sin respaldo"

#: modules/content/content.js:2116
msgid "Unsupported absolute figures"
msgstr "Cifras absolutas sin respaldo"

#: modules/content/content.js:2117
msgid "Unsupported authority attributions"
msgstr "Atribuciones de autoridad sin respaldo"

#: modules/content/content.js:2124
msgid "Claim:"
msgstr "Afirmación:"

#: modules/content/content.js:2128
msgid "Context:"
msgstr "Contexto:"

#: modules/content/content.js:2136
msgid "POST-GEN AUDIT — CLAIMS WITHOUT KB SUPPORT"
msgstr "AUDITORÍA POST-GEN — AFIRMACIONES SIN RESPALDO EN KB"

#: modules/content/content.js:2137
msgid "Possible quantitative or authority fabrications — review before publishing"
msgstr "Posibles invenciones cuantitativas o de autoridad — revisar antes de publicar"

#: modules/content/content.js:2139
msgid "Heuristic detector for rule 19 of the system prompt: the AI\nmust not invent percentages, dates, studies or\nauthorities; it can only use those in the KB or in\nthe advanced instructions. This block scans the final HTML\nlooking for that kind of claim and checks whether the\nconcrete value (the exact number, the year, the name)\nappears in the KB block injected to the model. If\nit does not appear, the claim is reported as a candidate for\nfabrication.\nIMPORTANT: it is heuristic. There are false positives (a legitimate\ngeneric number, e.g. \"the 6 modules\" when it is not\nliteral in the KB but is implicit) and possible false\nnegatives (an invented number that happens to coincide\nwith a legitimate one in the KB). Use it as a review list,\nnot as a verdict."
msgstr "Detector heurístico de la regla 19 del system prompt: la IA\nno debe inventar porcentajes, fechas, estudios ni\nautoridades; solo puede usar las que estén en la KB o en\nlas instrucciones avanzadas. Este bloque escanea el HTML\nfinal buscando ese tipo de afirmaciones y comprueba si el\nvalor concreto (el número exacto, el año, el nombre)\naparece en el bloque KB que se le inyectó al modelo. Si\nno aparece, la afirmación se reporta como candidata a\ninvención.\nIMPORTANTE: es heurístico. Hay falsos positivos (un número\ngenérico legítimo, p. ej. \"los 6 módulos\" cuando no está\nliteral en la KB pero está implícito) y posibles falsos\nnegativos (un número inventado que casualmente coincide\ncon uno legítimo en la KB). Úsalo como lista de revisión,\nno como veredicto."

#. translators: %s = number of substitutions
#: modules/content/content.js:2160
#, js-format
msgid "APPLIED REWRITES: %s substitution (total)."
msgid_plural "APPLIED REWRITES: %s substitutions (total)."
msgstr[0] "REESCRITURAS APLICADAS: %s sustitución (total)."
msgstr[1] "REESCRITURAS APLICADAS: %s sustituciones (total)."

#: modules/content/content.js:2161
msgid "(The per-family detail is in \"Detected patterns\".)"
msgstr "(El detalle por familia está en \"Patrones detectados\".)"

#: modules/content/content.js:2163
msgid "APPLIED REWRITES: none."
msgstr "REESCRITURAS APLICADAS: ninguna."

#: modules/content/content.js:2176
msgid "DETECTED PATTERNS"
msgstr "PATRONES DETECTADOS"

#: modules/content/content.js:2178
msgid "(Families of generic SEO patterns detected in the text.\n Some were rewritten automatically, others feed\n the editorial audit panel as alerts.)"
msgstr "(Familias de patrones SEO genéricos detectadas en el texto.\n Algunas se reescribieron automáticamente, otras alimentan\n al panel de auditoría editorial como alertas.)"

#: modules/content/content.js:2187
msgid "DETECTED PATTERNS: none."
msgstr "PATRONES DETECTADOS: ninguno."

#: modules/content/content.js:2195
msgid "BLACKLIST WORDS THE MODEL USED"
msgstr "PALABRAS DE LA LISTA NEGRA QUE EL MODELO USÓ"

#: modules/content/content.js:2204
msgid "TEXT SHAPE"
msgstr "FORMA DEL TEXTO"

#: modules/content/content.js:2206
msgid "Total sentences:"
msgstr "Frases totales:"

#: modules/content/content.js:2207
msgid "Short sentences (<13w):"
msgstr "Frases cortas (<13p):"

#: modules/content/content.js:2208
msgid "Median words/sentence:"
msgstr "Mediana palabras/frase:"

#: modules/content/content.js:2209
msgid "H2 openers (total):"
msgstr "Aperturas H2 (total):"

#: modules/content/content.js:2210
msgid "Cloned H2 openers:"
msgstr "Aperturas H2 clónicas:"

#: modules/content/content.js:2211
msgid "Authorial voice moves:"
msgstr "Movimientos de voz autorial:"

#: modules/content/content.js:2218
msgid "EDITORIAL AUDIT BY CATEGORY"
msgstr "AUDITORÍA EDITORIAL POR CATEGORÍA"

#: modules/content/content.js:2221
msgid "Overall risk:"
msgstr "Riesgo global:"

#: modules/content/content.js:2226
msgid "(no label)"
msgstr "(sin etiqueta)"

#: modules/content/content.js:2227
msgid "low"
msgstr "bajo"

#. translators: %s = number of hits
#: modules/content/content.js:2231
#, js-format
msgid "%s hit"
msgid_plural "%s hits"
msgstr[0] "%s hit"
msgstr[1] "%s hits"

#: modules/content/content.js:2241
msgid "Detectors that fired:"
msgstr "Detectores que dispararon:"

#: modules/content/content.js:2253
msgid "Concrete phrases detected:"
msgstr "Frases concretas detectadas:"

#. translators: %s = number of additional items
#: modules/content/content.js:2276
#, js-format
msgid "(%s more, truncated)"
msgstr "(%s más, recortados)"

#: modules/content/content.js:2283
msgid "Auditor recommendations:"
msgstr "Recomendaciones del auditor:"

#: modules/content/content.js:2293
msgid "POST-GEN AUDIT — FILTERS AND EDITORIAL QUALITY"
msgstr "AUDITORÍA POST-GEN — FILTROS Y CALIDAD EDITORIAL"

#: modules/content/content.js:2294
msgid "Applied rewrites + passive detectors + editorial audit"
msgstr "Reescrituras aplicadas + detectores pasivos + auditoría editorial"

#: modules/content/content.js:2296
msgid "This block reports what happened AFTER the model\nreturned the text: the deterministic filter (apply_avoid_filter)\nrewrites some patterns and leaves others as alerts. Combined\nwith the MODEL RESPONSES of the previous blocks, it lets you\ntell apart three kinds of problem:\n  1. the model did not generate something well (look at the raw response),\n  2. the filter should have rewritten it and did not (look at\n     \"Detected patterns\"),\n  3. the filter rewrote it but the result is worse (compare\n     the raw response with the final HTML of the post)."
msgstr "Este bloque cuenta lo que pasó DESPUÉS de que el modelo\ndevolviera el texto: el filtro determinista (apply_avoid_filter)\nreescribe algunos patrones y deja otros como alertas. Combinado\ncon las RESPUESTAS DEL MODELO de los bloques anteriores, permite\ndistinguir tres clases de problema:\n  1. el modelo no generó algo bien (mirar respuesta cruda),\n  2. el filtro debería haberlo reescrito y no lo hizo (mirar\n     \"Patrones detectados\"),\n  3. el filtro lo reescribió pero el resultado es peor (comparar\n     respuesta cruda con HTML final del post)."

#: modules/content/content.js:2320
msgid "Introduction"
msgstr "Introducción"

#. translators: %s = section position
#: modules/content/content.js:2324
#, js-format
msgid "Section %s"
msgstr "Sección %s"

#: modules/content/content.js:2329
msgid "Conclusion"
msgstr "Conclusión"

#: modules/content/content.js:2333
msgid "Call"
msgstr "Llamada"

#: modules/content/content.js:2333
msgid "Latency"
msgstr "Latencia"

#: modules/content/content.js:2363
msgid "Model returned by the API:"
msgstr "Modelo devuelto por la API:"

#: modules/content/content.js:2368
msgid "OPENAI CALL METRICS"
msgstr "MÉTRICAS DE LLAMADAS A OPENAI"

#: modules/content/content.js:2369
msgid "Latency and tokens per pipeline block"
msgstr "Latencia y tokens por bloque del pipeline"

#: modules/content/content.js:2371
msgid "Pt = prompt tokens, Ct = completion tokens, Tt = total tokens.\nFinish: \"stop\" is normal. \"length\" indicates the response\nwas truncated by max_tokens — you would need to raise that limit. Other\nrare values can be a flag to investigate."
msgstr "Pt = prompt tokens, Ct = completion tokens, Tt = total tokens.\nFinish: \"stop\" es lo normal. \"length\" indica que la respuesta\nse truncó por max_tokens — habría que subir ese límite. Otros\nvalores raros pueden ser bandera para investigar."

#. translators: %s = number of blocks
#: modules/content/content.js:2379
#: modules/content/content.js:2491
#, js-format
msgid "END OF DUMP — %s block exported"
msgid_plural "END OF DUMP — %s blocks exported"
msgstr[0] "FIN DEL DUMP — %s bloque exportado"
msgstr[1] "FIN DEL DUMP — %s bloques exportados"

#. translators: %s = payload kind
#: modules/content/content.js:2389
#, js-format
msgid "Payload is not of type IMAGE (kind=%s)"
msgstr "El payload no es de tipo IMAGEN (kind=%s)"

#: modules/content/content.js:2394
msgid "4LINKING — IMAGE PROMPTS DUMP"
msgstr "4LINKING — DUMP DE PROMPTS DE IMAGEN"

#: modules/content/content.js:2397
msgid "Fallback:"
msgstr "Fallback:"

#: modules/content/content.js:2397
msgid "YES (main model failed)"
msgstr "SÍ (el modelo principal falló)"

#: modules/content/content.js:2399
msgid "Generated:"
msgstr "Generado:"

#: modules/content/content.js:2402
msgid "This file contains the prompts sent to OpenAI to"
msgstr "Este archivo contiene los prompts enviados a OpenAI para"

#: modules/content/content.js:2403
msgid "generate the featured image of this article, along with the"
msgstr "generar la imagen destacada de este artículo, junto con el"

#: modules/content/content.js:2404
msgid "scene context used to build them."
msgstr "contexto de escena que se usó para construirlos."

#: modules/content/content.js:2413
msgid "Entity / topic:"
msgstr "Entidad / tema:"

#: modules/content/content.js:2414
msgid "Geography:"
msgstr "Geografía:"

#: modules/content/content.js:2415
msgid "Intent:"
msgstr "Intención:"

#: modules/content/content.js:2417
msgid "Structure (H2s):"
msgstr "Estructura (H2s):"

#: modules/content/content.js:2420
msgid "Intro:"
msgstr "Intro:"

#: modules/content/content.js:2422
msgid "Template instructions:"
msgstr "Instrucciones de la plantilla:"

#: modules/content/content.js:2423
msgid "Article tweaks:"
msgstr "Matices del artículo:"

#: modules/content/content.js:2427
msgid "SCENE CONTEXT"
msgstr "CONTEXTO DE ESCENA"

#: modules/content/content.js:2428
msgid "Data used to build the visual prompt"
msgstr "Datos usados para construir el prompt visual"

#: modules/content/content.js:2430
msgid "Context extracted from the article and the template, fed to the\nscene builder to produce the prompt sent to the\nimage model. It is not sent literally to OpenAI: it is the\nraw material from which the prompt is built."
msgstr "Contexto extraído del artículo y la plantilla, alimentado al\nconstructor de escena para producir el prompt enviado al\nmodelo de imagen. No se envía literalmente a OpenAI: es la\nmateria prima a partir de la cual se construye el prompt."

#: modules/content/content.js:2439
msgid "PROMPT SENT TO THE IMAGE MODEL"
msgstr "PROMPT ENVIADO AL MODELO DE IMAGEN"

#. translators: 1: number of characters, 2: model name
#: modules/content/content.js:2441
#, js-format
msgid "Characters: %1$s  ·  Model: %2$s"
msgstr "Caracteres: %1$s  ·  Modelo: %2$s"

#: modules/content/content.js:2443
msgid "Literal text sent to the image generation endpoint."
msgstr "Texto literal enviado al endpoint de generación de imagen."

#: modules/content/content.js:2451
msgid "PROMPT REWRITTEN BY THE MODEL (revised_prompt)"
msgstr "PROMPT REESCRITO POR EL MODELO (revised_prompt)"

#. translators: %s = number of characters
#: modules/content/content.js:2453
#, js-format
msgid "Characters: %s  ·  Only appears with dall-e-3"
msgstr "Caracteres: %s  ·  Solo aparece con dall-e-3"

#: modules/content/content.js:2455
msgid "When the model is dall-e-3, OpenAI internally rewrites the\nprompt before generating the image. This is that rewritten text,\nuseful to understand what the model interpreted."
msgstr "Cuando el modelo es dall-e-3, OpenAI reescribe internamente el\nprompt antes de generar la imagen. Este es ese texto reescrito,\nútil para entender qué interpretó el modelo."

#: modules/content/content.js:2463
msgid "DEBUG — RAW REQUEST"
msgstr "DEBUG — REQUEST CRUDA"

#: modules/content/content.js:2464
msgid "Full body sent to the OpenAI endpoint"
msgstr "Body completo enviado al endpoint de OpenAI"

#: modules/content/content.js:2466
msgid "Exact JSON sent in the HTTP call. Useful to see\nparameters like size, quality, response_format, etc."
msgstr "JSON exacto que se envió en la llamada HTTP. Útil para ver\nparámetros como size, quality, response_format, etc."

#: modules/content/content.js:2474
msgid "DEBUG — gpt-image-1 RESPONSE"
msgstr "DEBUG — RESPUESTA DE gpt-image-1"

#: modules/content/content.js:2475
msgid "Technical information of the call to the main model"
msgstr "Información técnica de la llamada al modelo principal"

#: modules/content/content.js:2477
msgid "Raw JSON with metadata of the call to the main model\n(http_code, size, quality, errors). Useful when there is\nfallback to the backup model."
msgstr "JSON crudo con metadatos de la llamada al modelo principal\n(http_code, tamaño, calidad, errores). Útil cuando hay\nfallback al modelo de respaldo."

#: modules/content/content.js:2483
msgid "DEBUG — gpt-image-1 CONNECTION ERROR"
msgstr "DEBUG — ERROR DE CONEXIÓN gpt-image-1"

#: modules/content/content.js:2484
msgid "Error captured when trying to use the main model"
msgstr "Error capturado al intentar usar el modelo principal"

#: modules/content/content.js:2486
msgid "If present, the main model failed completely and\nthe automatic fallback was used."
msgstr "Si está presente, el modelo principal falló por completo y\nse usó el fallback automático."

#: modules/content/content.js:2543
msgid "Category and tags apply only to the \"Post\" type."
msgstr "Categoría y etiquetas se aplican solo al tipo \"Entrada\"."

#. translators: %s = post type
#: modules/content/content.js:2545
#, js-format
msgid "For \"%s\" you can assign taxonomies from the editor after generating the article."
msgstr "Para \"%s\" puedes asignar las taxonomías desde el editor tras generar el artículo."

#. translators: %s = number of posts
#: modules/images/images.js:138
#, js-format
msgid "%s post"
msgid_plural "%s posts"
msgstr[0] "%s publicación"
msgstr[1] "%s publicaciones"

#. translators: 1: current page, 2: total pages
#: modules/images/images.js:241
#, js-format
msgid "Page %1$s of %2$s"
msgstr "Página %1$s de %2$s"

#: modules/images/images.js:419
msgid "Generation completed."
msgstr "Generación completada."

#. translators: %s = number of images
#: modules/images/images.js:428
#, js-format
msgid "Processing %s image in the background…"
msgid_plural "Processing %s images in the background…"
msgstr[0] "Procesando %s imagen en segundo plano…"
msgstr[1] "Procesando %s imágenes en segundo plano…"

#: modules/pipeline/pipeline.js:27
msgid "Close the form?"
msgstr "¿Cerrar el formulario?"

#: modules/pipeline/pipeline.js:27
msgid "Unsaved changes will be lost."
msgstr "Se perderán los cambios sin guardar."

#. translators: %s = number of days
#: modules/pipeline/pipeline.js:80
#, js-format
msgid "%s day"
msgid_plural "%s days"
msgstr[0] "%s día"
msgstr[1] "%s días"

#. translators: %s = number of hours
#: modules/pipeline/pipeline.js:82
#, js-format
msgid "%s hour"
msgid_plural "%s hours"
msgstr[0] "%s hora"
msgstr[1] "%s horas"

#. translators: %s = number of minutes
#: modules/pipeline/pipeline.js:84
#: modules/pipeline/pipeline.js:85
#, js-format
msgid "%s min"
msgstr "%s min"

#. translators: %s = number of titles
#: modules/pipeline/pipeline.js:95
#, js-format
msgid "%s title"
msgid_plural "%s titles"
msgstr[0] "%s título"
msgstr[1] "%s títulos"

#: modules/pipeline/pipeline.js:140
msgid "Template language"
msgstr "Idioma de la plantilla"

#: modules/pipeline/pipeline.js:140
msgid "≠ site"
msgstr "≠ sitio"

#: modules/pipeline/pipeline.js:291
msgid "The automation name is required."
msgstr "El nombre de la automatización es obligatorio."

#: modules/pipeline/pipeline.js:292
#: modules/pipeline/pipeline.js:354
msgid "Add at least one title."
msgstr "Añade al menos un título."

#: modules/pipeline/pipeline.js:293
msgid "Saving…"
msgstr "Guardando…"

#: modules/pipeline/pipeline.js:296
msgid "Error saving"
msgstr "Error al guardar"

#: modules/pipeline/pipeline.js:296
#: modules/pipeline/pipeline.js:385
msgid "Unknown error."
msgstr "Error desconocido."

#: modules/pipeline/pipeline.js:375
#: modules/pipeline/pipeline.js:592
msgid "Generation started — follow the progress below"
msgstr "Generación iniciada — sigue el progreso abajo"

#: modules/pipeline/pipeline.js:378
#: modules/pipeline/pipeline.js:595
#: modules/pipeline/pipeline.js:1087
msgid "✓ Completed"
msgstr "✓ Completado"

#: modules/pipeline/pipeline.js:380
msgid "✓ Post created:"
msgstr "✓ Entrada creada:"

#: modules/pipeline/pipeline.js:390
msgid "Timeout — generation took too long."
msgstr "Tiempo agotado — la generación tardó demasiado."

#: modules/pipeline/pipeline.js:390
msgid "Network error."
msgstr "Error de red."

#: modules/pipeline/pipeline.js:482
msgid "Edit automation"
msgstr "Editar automatización"

#: modules/pipeline/pipeline.js:540
msgid "The automation is paused — add pending titles to activate it"
msgstr "La automatización está en pausa — añade títulos pendientes para activarla"

#: modules/pipeline/pipeline.js:562
msgid "Run automation now?"
msgstr "¿Ejecutar la automatización ahora?"

#: modules/pipeline/pipeline.js:563
msgid "The next pending title of this automation will be generated."
msgstr "Se generará el siguiente título pendiente de esta automatización."

#: modules/pipeline/pipeline.js:564
msgid "Yes, run"
msgstr "Sí, ejecutar"

#: modules/pipeline/pipeline.js:599
msgid "Generation error"
msgstr "Error de generación"

#: modules/pipeline/pipeline.js:613
msgid "Delete automation?"
msgstr "¿Eliminar automatización?"

#: modules/pipeline/pipeline.js:613
msgid "Articles already generated will not be deleted."
msgstr "Los artículos ya generados no se eliminarán."

#: modules/pipeline/pipeline.js:683
msgid "Generated post"
msgstr "Entrada generada"

#: modules/pipeline/pipeline.js:705
msgid "The base did not contain information for this title"
msgstr "La base no contenía información para este título"

#: modules/pipeline/pipeline.js:706
msgid "Low coverage — the AI used general knowledge"
msgstr "Cobertura baja — la IA usó conocimiento general"

#: modules/pipeline/pipeline.js:886
msgid "When a job is launched you will see the details of each step in real time here."
msgstr "Cuando se lance un trabajo verás aquí los detalles de cada paso en tiempo real."

#: modules/pipeline/pipeline.js:899
msgid "OK"
msgstr "OK"

#: modules/pipeline/pipeline.js:900
msgid "✓ Job completed"
msgstr "✓ Trabajo completado"

#: modules/pipeline/pipeline.js:901
#: modules/pipeline/pipeline.js:1096
msgid "All pipeline phases finished successfully."
msgstr "Todas las fases del pipeline terminaron correctamente."

#: modules/pipeline/pipeline.js:911
msgid "Check the job log for more details."
msgstr "Consulta el registro del trabajo para más detalles."

#. translators: %s = article title
#: modules/pipeline/pipeline.js:1031
#, js-format
msgid "Article: %s"
msgstr "Artículo: %s"

#: modules/pipeline/pipeline.js:1031
msgid "Writing the article with AI…"
msgstr "Redactando el artículo con IA…"

#: modules/pipeline/pipeline.js:1047
msgid "Inserting links according to the configured rules…"
msgstr "Insertando enlaces según las reglas configuradas…"

#: modules/pipeline/pipeline.js:1054
#: modules/pipeline/pipeline.js:1062
msgid "Creating semantic links"
msgstr "Creando enlaces semánticos"

#: modules/pipeline/pipeline.js:1061
msgid "SEMANTIC"
msgstr "SEMÁNTICO"

#: modules/pipeline/pipeline.js:1078
msgid "TRANSLATION"
msgstr "TRADUCCIÓN"

#: modules/pipeline/pipeline.js:1095
msgid "Job completed"
msgstr "Trabajo completado"

#: modules/pipeline/pipeline.js:1102
msgid "✗ Generation error"
msgstr "✗ Error de generación"

#: modules/pipeline/pipeline.js:1106
msgid "Check the log for more details."
msgstr "Consulta el registro para más detalles."

#. translators: 1: completed count, 2: error count
#: modules/pipeline/pipeline.js:1167
#, js-format
msgid "%1$s ok · %2$s error (7 days)"
msgstr "%1$s ok · %2$s error (7 días)"

#: modules/pipeline/pipeline.js:1173
msgid "No finished jobs (7 days)"
msgstr "Sin trabajos finalizados (7 días)"

#: modules/pipeline/pipeline.js:1195
msgid "No jobs running"
msgstr "Sin trabajos en ejecución"

#: modules/pipeline/pipeline.js:1196
msgid "When an automation or manual run is launched, it will appear here."
msgstr "Cuando se lance una automatización o una ejecución manual, aparecerá aquí."

#: modules/pipeline/pipeline.js:1228
msgid "Reset jobs?"
msgstr "¿Reiniciar trabajos?"

#: modules/pipeline/pipeline.js:1228
msgid "All jobs in progress will be marked as failed."
msgstr "Todos los trabajos en curso se marcarán como fallidos."

#: modules/pipeline/pipeline.js:1235
msgid "Clear monitor?"
msgstr "¿Vaciar el monitor?"

#: modules/pipeline/pipeline.js:1235
msgid "Generated articles will not be deleted."
msgstr "Los artículos generados no se eliminarán."

#. translators: %s: time since last run
#: modules/pipeline/pipeline.js:1248
#, js-format
msgid "Engine active · last run %s ago · runs every minute"
msgstr "Motor activo · última ejecución hace %s · se ejecuta cada minuto"

#: modules/pipeline/pipeline.js:1249
msgid "a moment"
msgstr "un momento"

#: modules/pipeline/pipeline.js:1271
msgid "Post created"
msgstr "Entrada creada"

#: modules/pipeline/pipeline.js:1276
msgid "View"
msgstr "Ver"

#: modules/pipeline/pipeline.js:1279
msgid "Words"
msgstr "Palabras"

#: modules/pipeline/pipeline.js:1288
msgid "Template"
msgstr "Plantilla"

#: modules/pipeline/pipeline.js:1292
msgid "Duration"
msgstr "Duración"

#: modules/pipeline/pipeline.js:1332
msgid "Paragraphs/section"
msgstr "Párrafos/sección"

#: modules/pipeline/pipeline.js:1342
msgid "Max. links"
msgstr "Máx. enlaces"

#: modules/pipeline/pipeline.js:1344
msgid "Publication status"
msgstr "Estado de publicación"

#: modules/pipeline/pipeline.js:1361
msgid "No parameters recorded for this job."
msgstr "No hay parámetros registrados para este trabajo."

#: modules/pipeline/pipeline.js:1392
msgid "View article"
msgstr "Ver artículo"

#: modules/pipeline/pipeline.js:1497
msgid "Configure →"
msgstr "Configurar →"

#: modules/pipeline/pipeline.js:1497
msgid "Hide ↑"
msgstr "Ocultar ↑"

#. translators: 1: shown count, 2: total count
#: modules/semantic/semantic.js:237
#: modules/semantic/semantic.js:269
#, js-format
msgid "Showing %1$s of %2$s"
msgstr "Mostrando %1$s de %2$s"

#: modules/semantic/semantic.js:294
msgid "Links this article sends to other content"
msgstr "Enlaces que este artículo envía a otro contenido"

#: modules/semantic/semantic.js:295
msgid "Posts that link to this article"
msgstr "Entradas que enlazan a este artículo"

#: modules/semantic/semantic.js:454
msgid "Linking orphans…"
msgstr "Enlazando huérfanos…"

#: modules/semantic/semantic.js:487
msgid "Orphans linked"
msgstr "Huérfanos enlazados"

#: modules/semantic/semantic.js:488
msgid "There are no orphans"
msgstr "No hay huérfanos"

#: modules/semantic/semantic.js:488
msgid "No new links"
msgstr "Sin enlaces nuevos"

#: modules/semantic/semantic.js:493
msgid "Orphans found"
msgstr "Huérfanos encontrados"

#: modules/semantic/semantic.js:494
msgid "Incoming links created"
msgstr "Enlaces entrantes creados"

#: modules/semantic/semantic.js:495
msgid "Orphans still unlinked"
msgstr "Huérfanos aún sin enlazar"

#: modules/semantic/semantic.js:505
#: modules/semantic/semantic.js:544
msgid "Could not complete"
msgstr "No se pudo completar"

#: modules/semantic/semantic.js:505
#: modules/semantic/semantic.js:544
#: modules/semantic/semantic.js:550
msgid "Retry"
msgstr "Reintentar"

#: modules/semantic/semantic.js:529
msgid "Reset completed"
msgstr "Reinicio completado"

#: modules/semantic/semantic.js:532
msgid "Content cleaned"
msgstr "Contenido limpiado"

#: modules/semantic/semantic.js:533
msgid "All deleted"
msgstr "Todo eliminado"

#: modules/semantic/semantic.js:534
msgid "Analysis history"
msgstr "Historial de análisis"

#: modules/semantic/semantic.js:534
msgid "Cleared"
msgstr "Vaciado"

#: modules/semantic/semantic.js:538
msgid "Reprocess all now"
msgstr "Reprocesar todo ahora"

#: modules/semantic/semantic.js:544
msgid "Error resetting"
msgstr "Error al reiniciar"

#: modules/semantic/semantic.js:550
msgid "Could not reset"
msgstr "No se pudo reiniciar"

#. translators: %1$s = number processed
#: modules/semantic/semantic.js:575
#: modules/semantic/semantic.js:726
#, js-format
msgid "Processed: %1$s"
msgstr "Procesados: %1$s"

#. translators: %s = number remaining
#: modules/semantic/semantic.js:577
#: modules/semantic/semantic.js:727
#, js-format
msgid "Remaining: %s"
msgstr "Restantes: %s"

#: modules/semantic/semantic.js:582
msgid "Analysis completed"
msgstr "Análisis completado"

#: modules/semantic/semantic.js:585
msgid "Posts analyzed"
msgstr "Entradas analizadas"

#: modules/semantic/semantic.js:586
msgid "New links created"
msgstr "Enlaces nuevos creados"

#: modules/semantic/semantic.js:595
msgid "Process interrupted"
msgstr "Proceso interrumpido"

#: modules/semantic/semantic.js:595
msgid "Press the button again"
msgstr "Pulsa el botón de nuevo"

#: modules/semantic/semantic.js:627
msgid "There are no published articles to reprocess."
msgstr "No hay artículos publicados para reprocesar."

#: modules/semantic/semantic.js:689
msgid "Cleanup completed · Starting AI analysis…"
msgstr "Limpieza completada · Iniciando análisis con IA…"

#: modules/semantic/semantic.js:692
msgid "Phase 2/2 — Reprocessing linking with AI…"
msgstr "Fase 2/2 — Reprocesando enlazado con IA…"

#. translators: %s = number of articles cleaned
#: modules/semantic/semantic.js:699
#, js-format
msgid "Removing previous links · %s articles cleaned"
msgstr "Eliminando enlaces previos · %s artículos limpiados"

#: modules/semantic/semantic.js:704
msgid "Connection error during cleanup. Press the button again to resume."
msgstr "Error de conexión durante la limpieza. Pulsa el botón de nuevo para reanudar."

#: modules/semantic/semantic.js:714
msgid "Error in reprocessing"
msgstr "Error en el reprocesamiento"

#. translators: %s = number of new links
#: modules/semantic/semantic.js:729
#, js-format
msgid "New links: %s"
msgstr "Enlaces nuevos: %s"

#: modules/semantic/semantic.js:746
msgid "Reprocessing completed"
msgstr "Reprocesamiento completado"

#: modules/semantic/semantic.js:749
msgid "Articles processed"
msgstr "Artículos procesados"

#: modules/semantic/semantic.js:750
msgid "Links created"
msgstr "Enlaces creados"

#. translators: %s = number of outgoing internal links
#: modules/semantic/semantic.js:1033
#, js-format
msgid "%s outgoing"
msgid_plural "%s outgoing"
msgstr[0] "%s saliente"
msgstr[1] "%s salientes"

#. translators: %s = number of incoming internal links
#: modules/semantic/semantic.js:1035
#, js-format
msgid "%s incoming"
msgid_plural "%s incoming"
msgstr[0] "%s entrante"
msgstr[1] "%s entrantes"

#. translators: %s = semantic relevance score as a percentage
#: modules/semantic/semantic.js:1068
#, js-format
msgid "Semantic relevance: %s%%"
msgstr "Relevancia semántica: %s%%"

#. translators: %s: post title (wrapped in <strong>)
#: modules/semantic/semantic.js:1084
#, js-format
msgid "All semantic links from %s will be deleted."
msgstr "Se eliminarán todos los enlaces semánticos de %s."

#. translators: %s = target language name
#: modules/translation/translation.js:117
#, js-format
msgid "Translated to %s · View post"
msgstr "Traducido a %s · Ver post"

#. translators: 1: current page, 2: total pages, 3: first item, 4: last item, 5: total items
#: modules/translation/translation.js:151
#, js-format
msgid "Page %1$s of %2$s (%3$s–%4$s of %5$s)"
msgstr "Página %1$s de %2$s (%3$s–%4$s de %5$s)"

#: modules/translation/translation.js:219
msgid "No selection"
msgstr "Sin selección"

#: modules/translation/translation.js:219
msgid "Select at least one post to translate."
msgstr "Selecciona al menos un post para traducir."

#: modules/translation/translation.js:220
msgid "No languages"
msgstr "Sin idiomas"

#: modules/translation/translation.js:220
msgid "Select at least one target language."
msgstr "Selecciona al menos un idioma de destino."

#: admin/js/kb-entries.js
msgid "Entry"
msgstr "Ficha"

#: admin/js/kb-entries.js
msgid "Vector"
msgstr "Vector"

#: admin/js/kb-entries.js
msgid "Updated"
msgstr "Actualizada"

#: admin/js/kb-entries.js
msgid "Ready"
msgstr "Listo"

#: admin/js/kb-entries.js
msgctxt "entry vector status"
msgid "Pending"
msgstr "Pendiente"

#: admin/js/kb-entries.js
msgid "Reprocess 1 pending entry"
msgstr "Reprocesar 1 ficha pendiente"

#: admin/js/kb-entries.js
#, js-format
msgid "Reprocess %d pending entries"
msgstr "Reprocesar %d fichas pendientes"

#: admin/js/kb-entries.js
#, js-format
msgid "Processing… %d done"
msgstr "Procesando… %d completadas"

#: admin/js/kb-entries.js
#, js-format
msgid "Reprocessed: %1$d OK, %2$d failed. Check your OpenAI key."
msgstr "Reprocesado: %1$d OK, %2$d fallaron. Revisa la clave de OpenAI."

#: admin/js/kb-entries.js
#, js-format
msgid "%d entry vectorised successfully."
msgstr "%d ficha vectorizada correctamente."

#: admin/js/kb-entries.js
#, js-format
msgid "%d entries vectorised successfully."
msgstr "%d fichas vectorizadas correctamente."

#: admin/js/kb-entries.js
#, js-format
msgid "Error reprocessing: %s"
msgstr "Error al reprocesar: %s"

#: admin/js/kb-entries.js
msgid "Edit entry"
msgstr "Editar ficha"

#: admin/js/kb-entries.js
msgid "Deleting…"
msgstr "Eliminando…"

#: admin/js/kb-entries.js
msgid "Network error"
msgstr "Error de red"

#: admin/js/kb-entries.js
msgid "No entries selected to import."
msgstr "No hay fichas seleccionadas para importar."

#: admin/js/kb-entries.js
msgid "Unsupported format. Upload a PDF, Word (.docx), TXT or Markdown."
msgstr "Formato no soportado. Sube un PDF, Word (.docx), TXT o Markdown."

#: admin/js/kb-entries.js
msgid "Old .doc files are not supported. Save the document as .docx in Word."
msgstr "Los archivos .doc antiguos no son compatibles. Guarda el documento como .docx en Word."

#: admin/js/kb-entries.js
msgid "Error extracting the document."
msgstr "Error al extraer el documento."

#: admin/js/kb-entries.js
msgid "Network error while uploading the document."
msgstr "Error de red al subir el documento."

#: admin/js/kb-entries.js
msgid "Paste a URL to extract."
msgstr "Pega una URL para extraer."

#: admin/js/kb-entries.js
msgid "The URL must start with http:// or https://"
msgstr "La URL debe empezar con http:// o https://"

#: admin/js/kb-entries.js
msgid "Error extracting the URL."
msgstr "Error al extraer la URL."

#: admin/js/kb-entries.js
msgid "Error importing."
msgstr "Error al importar."

#: admin/js/kb-entries.js
msgid "Network error while uploading the file."
msgstr "Error de red al subir el archivo."

#: admin/js/kb-entries.js
msgid "No entries to import after applying the duplicate strategy."
msgstr "No hay fichas que importar tras aplicar la estrategia de duplicados."

#: modules/knowledge_base/views/page-entries.php
msgid "Back to Knowledge bases"
msgstr "Volver a Bases de conocimiento"

#: modules/knowledge_base/views/page-entries.php
msgid "Base not found"
msgstr "Base no encontrada"

#: modules/knowledge_base/views/page-entries.php
msgid "The base you are trying to open does not exist or has been deleted."
msgstr "La base que intentas abrir no existe o ha sido eliminada."

#: admin/js/kb-bases.js
msgid "1 entry"
msgstr "1 ficha"

#: admin/js/kb-bases.js
#, js-format
msgid "%d entries"
msgstr "%d fichas"

#: admin/js/kb-bases.js
msgid "Manage entries"
msgstr "Gestionar fichas"

#: admin/js/kb-bases.js
msgid "You don't have any knowledge bases yet"
msgstr "No tienes bases de conocimiento"

#: admin/js/kb-bases.js
msgid "Create your first base"
msgstr "Crear primera base"

#: admin/js/kb-bases.js
msgid "Edit knowledge base"
msgstr "Editar base de conocimiento"

#: modules/class-module-manager.php
msgid "Content generator"
msgstr "Generador de contenido"

#: modules/class-module-manager.php
msgid "Writes complete articles with AI: title, structure, sections, tone and length are configurable. Applies internal linking, generates the featured image and publishes directly to WordPress."
msgstr "Redacta artículos completos con IA: título, estructura, secciones, tono y longitud personalizables. Aplica enlazado interno, genera imagen destacada y publica directamente en WordPress."

#: modules/class-module-manager.php
msgid "Content translation"
msgstr "Traducción de contenido"

#: modules/class-module-manager.php
msgid "Translates any post into multiple languages with professional quality. Each translation is created as an independent post, integrated with Polylang for multilingual management, hreflang and language selector."
msgstr "Traduce cualquier publicación a varios idiomas con calidad profesional. Cada traducción se crea como un post independiente, integrado con Polylang para gestión multilingüe, hreflang y selector de idioma."

#: modules/class-module-manager.php
msgid "Internal linking by topical relevance. The AI detects relationships between your posts and creates contextual links with natural anchor text. Includes triangular anti-reciprocal linking for SEO, orphan post recovery and a statistics panel."
msgstr "Enlazado interno por relevancia temática. La IA detecta relaciones entre tus publicaciones y crea enlaces contextuales con texto natural. Incluye enlazado triangular anti-recíproco para SEO, recuperación de posts huérfanos y panel de estadísticas."

#: modules/class-module-manager.php
msgid "Content automation"
msgstr "Automatización de contenido"

#: modules/class-module-manager.php
msgid "Schedules article creation on autopilot. You define a list of titles and a frequency, and the plugin generates, links, translates and publishes on its own. No manual intervention required."
msgstr "Programa la creación de artículos en piloto automático. Defines una lista de títulos y una frecuencia, y el plugin genera, enlaza, traduce y publica solo. Sin intervención manual."

#: modules/class-module-manager.php
msgid "Image generator"
msgstr "Generador de imágenes"

#: modules/class-module-manager.php
msgid "Creates featured images with photorealistic AI, tailored to the content of the article. Optimised in WebP format and with SEO metadata (title, alt and description) generated automatically."
msgstr "Crea imágenes destacadas con IA fotorrealista, adaptadas al contenido del artículo. Optimizadas en formato WebP y con metadatos SEO (título, alt y descripción) generados automáticamente."

#: modules/class-module-manager.php
msgid "Stores verified information about your product, service or sector: data, descriptions, FAQ and your own vocabulary. When you generate an article linked to a base, the AI uses that information as reference and avoids making up figures or features."
msgstr "Almacena información verificada sobre tu producto, servicio o sector: datos, descripciones, FAQ y vocabulario propio. Cuando generas un artículo asociado a una base, la IA usa esa información como referencia y evita inventarse cifras o características."

#: includes/class-admin.php
msgid "Recommended: 3-5 synonyms. The plugin rotates between the main keyword and synonyms across posts for better SEO and to avoid over-optimisation."
msgstr "Recomendado: 3-5 sinónimos. El plugin rota entre la palabra clave principal y los sinónimos entre artículos para mejorar el SEO y evitar la sobreoptimización."

#: includes/class-admin.php
msgid "Recommended: 1. One well-placed link per post is more effective than several."
msgstr "Recomendado: 1. Un solo enlace bien colocado por artículo es más eficaz que varios."
