Avant : renderConfirm() échappait le résumé et l'extrait avec escapeHtml(), donc les **gras**, *italique*, [liens](), listes, titres du Markdown produit par l'IA s'affichaient en texte brut (littéral « **gras** »). Maintenant : renderMarkdownSafe() parse le Markdown en HTML limité et sûr (escapeHtml d'abord, puis regex sur le texte échappé — pas de HTML brut autorisé). + Refonte du panneau de prévisualisation : - .preview-block avec header sticky (label Résumé / Extrait) - .excerpt-block : min-height 180px, max-height 360px, scroll si long - .summary-block : fond bleuté léger, bordure gauche sky - markdown-h3/h4/h5 stylés (serif pour titres), strong/em/code/ul/a - Polices 14px, line-height 1.7, word-break pour texte long + Nouvelle clé i18n summaryLabel dans les 15 locales. + Version 0.4.2 → 0.4.3.
197 lines
4.7 KiB
JSON
197 lines
4.7 KiB
JSON
{
|
||
"extName": {
|
||
"message": "Memento · Web Clipper"
|
||
},
|
||
"extDescription": {
|
||
"message": "Enregistrez des pages web et du texte surligné dans vos carnets Memento — connecté à votre propre serveur Memento."
|
||
},
|
||
"extActionTitle": {
|
||
"message": "Clipper vers Memento"
|
||
},
|
||
"webClipper": {
|
||
"message": "Web Clipper"
|
||
},
|
||
"connected": {
|
||
"message": "Connecté"
|
||
},
|
||
"disconnected": {
|
||
"message": "Non connecté"
|
||
},
|
||
"instanceSettings": {
|
||
"message": "Adresse Memento"
|
||
},
|
||
"instanceUrlLabel": {
|
||
"message": "URL de votre instance Memento"
|
||
},
|
||
"presetProduction": {
|
||
"message": "Préréglage production · memento-note.com"
|
||
},
|
||
"applyReconnect": {
|
||
"message": "Appliquer et reconnecter"
|
||
},
|
||
"openMomento": {
|
||
"message": "Ouvrir Memento"
|
||
},
|
||
"settingsHint": {
|
||
"message": "Collez l'URL HTTPS (ou LAN) de votre serveur Memento. Les cookies de ce navigateur gèrent la connexion."
|
||
},
|
||
"footerVersion": {
|
||
"message": "Memento Web Clipper 0.4.3"
|
||
},
|
||
"errPermissionDenied": {
|
||
"message": "Memento ne peut pas accéder à cet onglet. Vérifiez les autorisations du clavier/extension de site – ou ouvrez le panneau latéral."
|
||
},
|
||
"notebookUnnamed": {
|
||
"message": "Carnet sans titre"
|
||
},
|
||
"noNotebooks": {
|
||
"message": "Pas encore de carnets"
|
||
},
|
||
"readingTimeOne": {
|
||
"message": "≈ 1 minute de lecture"
|
||
},
|
||
"readingTimeOther": {
|
||
"message": "≈ $COUNT$ minutes de lecture",
|
||
"placeholders": {
|
||
"COUNT": {
|
||
"content": "$1",
|
||
"example": "5"
|
||
}
|
||
}
|
||
},
|
||
"selectionDetected": {
|
||
"message": "Sélection détectée"
|
||
},
|
||
"ignore": {
|
||
"message": "ignorer"
|
||
},
|
||
"selectionHint": {
|
||
"message": "Astuce : surlignez du texte sur la page pour clipper une sélection précise en note."
|
||
},
|
||
"clipSelection": {
|
||
"message": "Clipper la sélection"
|
||
},
|
||
"clipPage": {
|
||
"message": "Clipper cette page"
|
||
},
|
||
"saveLinkOnly": {
|
||
"message": "Enregistrer le lien uniquement"
|
||
},
|
||
"pageNotAccessible": {
|
||
"message": "Impossible de clipper ici — cette page bloque l'accès aux extensions."
|
||
},
|
||
"errLoginRequired": {
|
||
"message": "Veuillez d'abord vous connecter à Memento dans ce navigateur."
|
||
},
|
||
"errLoadNotebooks": {
|
||
"message": "Impossible de charger les blocs-notes. Essayez de vous reconnecter."
|
||
},
|
||
"notebooksLoaded": {
|
||
"message": "Carnets chargés"
|
||
},
|
||
"connecting": {
|
||
"message": "Connexion…"
|
||
},
|
||
"connectedToUrl": {
|
||
"message": "Connecté à $URL$",
|
||
"placeholders": {
|
||
"URL": {
|
||
"content": "$1",
|
||
"example": "https://memento-note.com"
|
||
}
|
||
}
|
||
},
|
||
"restrictedPage": {
|
||
"message": "Page restreinte — utilisez le bouton Memento ou le panneau latéral pour clipper."
|
||
},
|
||
"destinationNotebook": {
|
||
"message": "Carnet de destination"
|
||
},
|
||
"activePage": {
|
||
"message": "Page active"
|
||
},
|
||
"previewBeforeSave": {
|
||
"message": "Vérifier avant d'enregistrer"
|
||
},
|
||
"noteTitleLabel": {
|
||
"message": "Titre"
|
||
},
|
||
"excerptLabel": {
|
||
"message": "Extrait"
|
||
},
|
||
"saveToMomento": {
|
||
"message": "Enregistrer dans Memento"
|
||
},
|
||
"back": {
|
||
"message": "Dos"
|
||
},
|
||
"analyzingSource": {
|
||
"message": "Analyse de la source"
|
||
},
|
||
"statusAnalyzing": {
|
||
"message": "Analyser…"
|
||
},
|
||
"statusSaving": {
|
||
"message": "Économie…"
|
||
},
|
||
"processingDetail": {
|
||
"message": "Génération automatique des tags, résumé sémantique et calcul des embeddings."
|
||
},
|
||
"noteSaved": {
|
||
"message": "Remarque enregistrée"
|
||
},
|
||
"sentToNotebook": {
|
||
"message": "Enregistré dans $NOTEBOOK$",
|
||
"placeholders": {
|
||
"NOTEBOOK": {
|
||
"content": "$1",
|
||
"example": "Read later"
|
||
}
|
||
}
|
||
},
|
||
"viewInMomento": {
|
||
"message": "Voir dans Memento"
|
||
},
|
||
"clipAnother": {
|
||
"message": "Clipper une autre page"
|
||
},
|
||
"failure": {
|
||
"message": "Impossible de terminer"
|
||
},
|
||
"genericError": {
|
||
"message": "Une erreur est survenue lors de la communication avec votre instance Memento."
|
||
},
|
||
"retry": {
|
||
"message": "Réessayer"
|
||
},
|
||
"errNoSelection": {
|
||
"message": "Sélectionnez d'abord du texte, ou clippez la page entière."
|
||
},
|
||
"errAnalyzeFailed": {
|
||
"message": "Impossible d'analyser cette page."
|
||
},
|
||
"errSaveFailed": {
|
||
"message": "Impossible d'enregistrer votre note."
|
||
},
|
||
"errNetwork": {
|
||
"message": "Problème de réseau : vérifiez votre connexion et l'URL Memento."
|
||
},
|
||
"bannerPickText": {
|
||
"message": "Surlignez le texte sur la page, ou clippez la page entière."
|
||
},
|
||
"errLoginHintUrl": {
|
||
"message": "Connecté à : $URL$",
|
||
"placeholders": {
|
||
"URL": {
|
||
"content": "$1"
|
||
}
|
||
}
|
||
},
|
||
"bannerDismiss": {
|
||
"message": "Ignorer"
|
||
},
|
||
"summaryLabel": {
|
||
"message": "Résumé"
|
||
}
|
||
}
|