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.3 KiB
JSON
183 lines
4.3 KiB
JSON
{
|
||
"extName": {
|
||
"message": "Memento Webclipper"
|
||
},
|
||
"extDescription": {
|
||
"message": "Leg webpagina's en gemarkeerde tekst vast in uw Memento-notebooks - maakt verbinding met uw eigen Memento-server."
|
||
},
|
||
"extActionTitle": {
|
||
"message": "Clip naar Memento"
|
||
},
|
||
"webClipper": {
|
||
"message": "Webclipper"
|
||
},
|
||
"connected": {
|
||
"message": "Aangesloten"
|
||
},
|
||
"disconnected": {
|
||
"message": "Niet verbonden"
|
||
},
|
||
"instanceSettings": {
|
||
"message": "Memento-URL"
|
||
},
|
||
"instanceUrlLabel": {
|
||
"message": "Uw Memento-instantie-URL"
|
||
},
|
||
"presetProduction": {
|
||
"message": "Productievoorinstelling · memento-note.com"
|
||
},
|
||
"applyReconnect": {
|
||
"message": "Toepassen en opnieuw verbinden"
|
||
},
|
||
"openMomento": {
|
||
"message": "Memento openen"
|
||
},
|
||
"settingsHint": {
|
||
"message": "Plak de HTTPS (of LAN) URL van uw Memento-server. Cookies in deze browser zorgen voor het inloggen."
|
||
},
|
||
"footerVersion": {
|
||
"message": "Memento Web Clipper <<<VERSIE>>>"
|
||
},
|
||
"errPermissionDenied": {
|
||
"message": "Memento heeft geen toegang tot dit tabblad. Controleer de rechten voor toetsenbord-/site-extensies — of open het zijpaneel."
|
||
},
|
||
"notebookUnnamed": {
|
||
"message": "Naamloos notitieboekje"
|
||
},
|
||
"noNotebooks": {
|
||
"message": "Nog geen notitieboekjes"
|
||
},
|
||
"readingTimeOne": {
|
||
"message": "~1 minuut lezen"
|
||
},
|
||
"readingTimeOther": {
|
||
"message": "Ongeveer. $COUNT$ min gelezen",
|
||
"placeholders": {
|
||
"COUNT": {
|
||
"content": "$1",
|
||
"example": "5"
|
||
}
|
||
}
|
||
},
|
||
"selectionDetected": {
|
||
"message": "Selectie gedetecteerd"
|
||
},
|
||
"ignore": {
|
||
"message": "negeren"
|
||
},
|
||
"selectionHint": {
|
||
"message": "Tip: markeer tekst op de pagina om een precieze selectie als notitie te knippen."
|
||
},
|
||
"clipSelection": {
|
||
"message": "Clipselectie"
|
||
},
|
||
"clipPage": {
|
||
"message": "Knip deze pagina uit"
|
||
},
|
||
"saveLinkOnly": {
|
||
"message": "Alleen link opslaan"
|
||
},
|
||
"pageNotAccessible": {
|
||
"message": "Kan hier niet knippen: deze pagina blokkeert de toegang tot extensies."
|
||
},
|
||
"errLoginRequired": {
|
||
"message": "Meld u eerst aan bij Memento in deze browser."
|
||
},
|
||
"errLoadNotebooks": {
|
||
"message": "Kan notitieboekjes niet laden. Probeer opnieuw verbinding te maken."
|
||
},
|
||
"notebooksLoaded": {
|
||
"message": "Notitieboekjes geladen"
|
||
},
|
||
"connecting": {
|
||
"message": "Verbinden…"
|
||
},
|
||
"connectedToUrl": {
|
||
"message": "Verbonden met $URL$",
|
||
"placeholders": {
|
||
"URL": {
|
||
"content": "$1",
|
||
"example": "https://memento-note.com"
|
||
}
|
||
}
|
||
},
|
||
"restrictedPage": {
|
||
"message": "Beperkte pagina — clip via de Memento-werkbalk of het zijpaneel."
|
||
},
|
||
"destinationNotebook": {
|
||
"message": "Bestemmingsnotitieboekje"
|
||
},
|
||
"activePage": {
|
||
"message": "Actieve pagina"
|
||
},
|
||
"previewBeforeSave": {
|
||
"message": "Controleer voordat u opslaat"
|
||
},
|
||
"noteTitleLabel": {
|
||
"message": "Titel"
|
||
},
|
||
"excerptLabel": {
|
||
"message": "Uittreksel"
|
||
},
|
||
"saveToMomento": {
|
||
"message": "Opslaan in Memento"
|
||
},
|
||
"back": {
|
||
"message": "Rug"
|
||
},
|
||
"analyzingSource": {
|
||
"message": "Bron analyseren"
|
||
},
|
||
"statusAnalyzing": {
|
||
"message": "Analyseren…"
|
||
},
|
||
"statusSaving": {
|
||
"message": "Besparing…"
|
||
},
|
||
"processingDetail": {
|
||
"message": "Tags, een semantische samenvatting en insluitingen genereren."
|
||
},
|
||
"noteSaved": {
|
||
"message": "Notitie opgeslagen"
|
||
},
|
||
"sentToNotebook": {
|
||
"message": "Opgeslagen in $NOTEBOOK$",
|
||
"placeholders": {
|
||
"NOTEBOOK": {
|
||
"content": "$1",
|
||
"example": "Read later"
|
||
}
|
||
}
|
||
},
|
||
"viewInMomento": {
|
||
"message": "Bekijk in Memento"
|
||
},
|
||
"clipAnother": {
|
||
"message": "Knip nog een pagina uit"
|
||
},
|
||
"failure": {
|
||
"message": "Kon niet voltooien"
|
||
},
|
||
"genericError": {
|
||
"message": "Er is iets misgegaan bij het bereiken van uw Memento-instantie."
|
||
},
|
||
"retry": {
|
||
"message": "Opnieuw proberen"
|
||
},
|
||
"errNoSelection": {
|
||
"message": "Selecteer eerst tekst of knip de volledige pagina uit."
|
||
},
|
||
"errAnalyzeFailed": {
|
||
"message": "Kan deze pagina niet analyseren."
|
||
},
|
||
"errSaveFailed": {
|
||
"message": "Kan uw notitie niet opslaan."
|
||
},
|
||
"errNetwork": {
|
||
"message": "Netwerkprobleem: controleer uw verbinding en Memento-URL."
|
||
},
|
||
"bannerPickText": {
|
||
"message": "Markeer tekst op de pagina of knip de hele pagina uit."
|
||
}
|
||
}
|