Publication IA: - 4 templates (magazine, brief, essay, simple) avec CSS riche - Rewrite IA (article/exercises/tutorial/reference/mixed) - Modération avec timeout 12s + fallback safe - Quotas publish_enhance par tier (basic=2, pro=15, business=100) - Détection contenu stale (hash) - Migration DB publishedContent/publishedTemplate/publishedSourceHash Fixes: - cheerio v1.2: Element -> AnyNode (domhandler), decodeEntities cast - _isShared ajouté au type Note (champ virtuel serveur) - callout colors PDF export: extraction fonction pure testable - admin/published: guard note.userId null - Cmd+S fonctionne en mode dialog (pas seulement fullPage) i18n: - 23 clés publish* traduites dans les 15 locales - Extension Web Clipper: 13 locales mise à jour Tests: - callout-colors.test.ts (6 tests) - note-visible-in-view.test.ts (5 tests) - entitlements.test.ts + byok-entitlements.test.ts: mock usageLog + unstubAllEnvs - 199/199 tests passent Tracker: user-stories.md sync avec sprint-status.yaml
183 lines
4.4 KiB
JSON
183 lines
4.4 KiB
JSON
{
|
|
"extName": {
|
|
"message": "Cortadora web Memento"
|
|
},
|
|
"extDescription": {
|
|
"message": "Capture páginas web y texto resaltado en sus cuadernos Memento: se conecta a su propio servidor Memento."
|
|
},
|
|
"extActionTitle": {
|
|
"message": "Clip al momento"
|
|
},
|
|
"webClipper": {
|
|
"message": "Cortadora web"
|
|
},
|
|
"connected": {
|
|
"message": "Conectado"
|
|
},
|
|
"disconnected": {
|
|
"message": "No conectado"
|
|
},
|
|
"instanceSettings": {
|
|
"message": "URL del momento"
|
|
},
|
|
"instanceUrlLabel": {
|
|
"message": "La URL de tu instancia de Memento"
|
|
},
|
|
"presetProduction": {
|
|
"message": "Preajuste de producción · memento-note.com"
|
|
},
|
|
"applyReconnect": {
|
|
"message": "Aplicar y reconectar"
|
|
},
|
|
"openMomento": {
|
|
"message": "Memento abierto"
|
|
},
|
|
"settingsHint": {
|
|
"message": "Pegue la URL HTTPS (o LAN) de su servidor Memento. Las cookies en este navegador controlan el inicio de sesión."
|
|
},
|
|
"footerVersion": {
|
|
"message": "Memento Web Clipper <<<VERSIÓN>>>"
|
|
},
|
|
"errPermissionDenied": {
|
|
"message": "Memento no puede acceder a esta pestaña. Verifique los permisos de extensión del sitio/teclado o abra el Panel lateral."
|
|
},
|
|
"notebookUnnamed": {
|
|
"message": "Cuaderno sin título"
|
|
},
|
|
"noNotebooks": {
|
|
"message": "Aún no hay cuadernos"
|
|
},
|
|
"readingTimeOne": {
|
|
"message": "~1 minuto de lectura"
|
|
},
|
|
"readingTimeOther": {
|
|
"message": "Aprox. <<<CONTAR>>> lectura mínima (Approx. $COUNT$ min read)",
|
|
"placeholders": {
|
|
"COUNT": {
|
|
"content": "$1",
|
|
"example": "5"
|
|
}
|
|
}
|
|
},
|
|
"selectionDetected": {
|
|
"message": "Selección detectada"
|
|
},
|
|
"ignore": {
|
|
"message": "ignorar"
|
|
},
|
|
"selectionHint": {
|
|
"message": "Consejo: resalte el texto en la página para recortar una selección precisa como nota."
|
|
},
|
|
"clipSelection": {
|
|
"message": "Selección de clips"
|
|
},
|
|
"clipPage": {
|
|
"message": "Recortar esta página"
|
|
},
|
|
"saveLinkOnly": {
|
|
"message": "Guardar enlace solamente"
|
|
},
|
|
"pageNotAccessible": {
|
|
"message": "No se puede recortar aquí: esta página bloquea el acceso a la extensión."
|
|
},
|
|
"errLoginRequired": {
|
|
"message": "Primero inicie sesión en Memento en este navegador."
|
|
},
|
|
"errLoadNotebooks": {
|
|
"message": "No se pudieron cargar los cuadernos. Intente volver a conectarse."
|
|
},
|
|
"notebooksLoaded": {
|
|
"message": "Cuadernos cargados"
|
|
},
|
|
"connecting": {
|
|
"message": "Conectando…"
|
|
},
|
|
"connectedToUrl": {
|
|
"message": "Conectado a $URL$",
|
|
"placeholders": {
|
|
"URL": {
|
|
"content": "$1",
|
|
"example": "https://memento-note.com"
|
|
}
|
|
}
|
|
},
|
|
"restrictedPage": {
|
|
"message": "Página restringida: recorte mediante la barra de herramientas de Memento o el panel lateral."
|
|
},
|
|
"destinationNotebook": {
|
|
"message": "Cuaderno de destino"
|
|
},
|
|
"activePage": {
|
|
"message": "Página activa"
|
|
},
|
|
"previewBeforeSave": {
|
|
"message": "Revisar antes de guardar"
|
|
},
|
|
"noteTitleLabel": {
|
|
"message": "Título"
|
|
},
|
|
"excerptLabel": {
|
|
"message": "Extracto"
|
|
},
|
|
"saveToMomento": {
|
|
"message": "Guardar en momento"
|
|
},
|
|
"back": {
|
|
"message": "Atrás"
|
|
},
|
|
"analyzingSource": {
|
|
"message": "Analizando fuente"
|
|
},
|
|
"statusAnalyzing": {
|
|
"message": "Analizando…"
|
|
},
|
|
"statusSaving": {
|
|
"message": "Ahorro…"
|
|
},
|
|
"processingDetail": {
|
|
"message": "Generación de etiquetas, resumen semántico e incrustaciones."
|
|
},
|
|
"noteSaved": {
|
|
"message": "Nota guardada"
|
|
},
|
|
"sentToNotebook": {
|
|
"message": "Guardado en $NOTEBOOK$",
|
|
"placeholders": {
|
|
"NOTEBOOK": {
|
|
"content": "$1",
|
|
"example": "Read later"
|
|
}
|
|
}
|
|
},
|
|
"viewInMomento": {
|
|
"message": "Ver en momento"
|
|
},
|
|
"clipAnother": {
|
|
"message": "Recortar otra página"
|
|
},
|
|
"failure": {
|
|
"message": "No se pudo completar"
|
|
},
|
|
"genericError": {
|
|
"message": "Algo salió mal al llegar a tu instancia de Memento."
|
|
},
|
|
"retry": {
|
|
"message": "Rever"
|
|
},
|
|
"errNoSelection": {
|
|
"message": "Seleccione el texto primero o recorte la página completa."
|
|
},
|
|
"errAnalyzeFailed": {
|
|
"message": "No se pudo analizar esta página."
|
|
},
|
|
"errSaveFailed": {
|
|
"message": "No se pudo guardar tu nota."
|
|
},
|
|
"errNetwork": {
|
|
"message": "Problema de red: verifique su conexión y la URL de Memento."
|
|
},
|
|
"bannerPickText": {
|
|
"message": "Resalte el texto de la página o recorte toda la página."
|
|
}
|
|
}
|