feat: publication IA (magazine/brief/essay) + fixes critique
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
This commit is contained in:
@@ -575,7 +575,7 @@
|
||||
"noNoteId": "Keine Notiz-ID"
|
||||
},
|
||||
"openAssistant": "KI-Assistenten öffnen",
|
||||
"poweredByMomento": "Angetrieben von Momento AI",
|
||||
"poweredByMomento": "Angetrieben von Memento AI",
|
||||
"welcomeMsg": "Hallo! Ich bin dein KI-Assistent. Wie kann ich dir heute mit deinen Notizen helfen? Ich kann den Ton verfeinern, Nachrichten erweitern oder Inhalte zusammenfassen.",
|
||||
"summaryLast5": "Zusammenfassung deiner letzten 5 Notizen",
|
||||
"analyzingProgress": "Analyse läuft...",
|
||||
@@ -2184,7 +2184,30 @@
|
||||
"importMarkdown": "Markdown importieren",
|
||||
"markdownExportSuccess": "Notiz als Markdown exportiert",
|
||||
"markdownExportError": "Export der Notiz fehlgeschlagen",
|
||||
"markdownImportSuccess": "Markdown erfolgreich importiert"
|
||||
"markdownImportSuccess": "Markdown erfolgreich importiert",
|
||||
"publishTitle": "Öffentliche Veröffentlichung",
|
||||
"publishDesc": "Veröffentliche diese Notiz auf einer öffentlichen URL. Jeder mit dem Link kann sie lesen.",
|
||||
"publish": "Veröffentlichen",
|
||||
"publishSuccess": "Notiz veröffentlicht!",
|
||||
"publishLive": "Online",
|
||||
"unpublish": "Zurückziehen",
|
||||
"unpublishSuccess": "Notiz zurückgezogen",
|
||||
"publishBlocked": "Veröffentlichung abgelehnt",
|
||||
"publishSimple": "Wie vorhanden veröffentlichen",
|
||||
"publishSimpleHint": "Kostenlos — dein Notizinhalt unverändert",
|
||||
"publishWithAi": "Mit KI veröffentlichen",
|
||||
"publishWithAiHint": "Verbessertes Layout · {count} Credits übrig",
|
||||
"publishWithAiLocked": "Im Pro-Tarif verfügbar",
|
||||
"publishWithAiGenerating": "Layout wird generiert…",
|
||||
"publishTemplateMagazine": "Magazinartikel",
|
||||
"publishTemplateBrief": "Experten-Briefing",
|
||||
"publishTemplateEssay": "Essay",
|
||||
"publishAiSuccess": "KI-optimierte Seite veröffentlicht!",
|
||||
"publishRewriteLabel": "Für das Web umschreiben",
|
||||
"publishRewriteOnHint": "Strukturiert deine Editor-Blöcke (Übungen, Ausklappbereiche, Hinweiskästen) fürs Web — KI schreibt nur die Einleitung",
|
||||
"publishRewriteOffHint": "Dein Originaltext bleibt erhalten; KI fügt nur redaktionelle Rahmentexte hinzu",
|
||||
"copyPublicLink": "Link kopieren",
|
||||
"openPublicPage": "Öffentliche Seite öffnen"
|
||||
},
|
||||
"brainstorm": {
|
||||
"title": "Waves of Thought",
|
||||
@@ -2492,7 +2515,7 @@
|
||||
"badge": "Angetrieben von Künstlicher Intelligenz",
|
||||
"title1": "Ihr zweites Gehirn,",
|
||||
"title2": "endlich verstärkt.",
|
||||
"subtitle": "Momento ist mehr als eine Notizen-App. Es ist ein intelligentes Ökosystem, das Ihre Ideen in Echtzeit verbindet, analysiert und weiterentwickelt – mit 6 Arten von KI-Agenten und modernster semantischer Suche.",
|
||||
"subtitle": "Memento ist mehr als eine Notizen-App. Es ist ein intelligentes Ökosystem, das Ihre Ideen in Echtzeit verbindet, analysiert und weiterentwickelt – mit 6 Arten von KI-Agenten und modernster semantischer Suche.",
|
||||
"cta": "Jetzt registrieren",
|
||||
"secondary": "Funktionen ansehen",
|
||||
"memoryEcho": "Memory Echo",
|
||||
@@ -2504,7 +2527,7 @@
|
||||
"label": "KI-Fähigkeiten",
|
||||
"title": "Fließende Intelligenz,",
|
||||
"title2": "in jedes Wort eingewoben.",
|
||||
"desc": "Momento orchestriert Ihre Ideen über eine Multi-Provider-Architektur.",
|
||||
"desc": "Memento orchestriert Ihre Ideen über eine Multi-Provider-Architektur.",
|
||||
"f1Title": "Semantische Suche",
|
||||
"f1Desc": "Schluss mit der Stichwortsuche. Finden Sie nach Konzept. Unsere hybride Vector- und FTS-Engine versteht die Absicht hinter Ihren Notizen.",
|
||||
"f2Title": "Kontextueller RAG-Chat",
|
||||
@@ -2590,7 +2613,7 @@
|
||||
"popular": "Am beliebtesten",
|
||||
"basic": {
|
||||
"name": "Basic",
|
||||
"desc": "Entdecken Sie die Magie von Momento.",
|
||||
"desc": "Entdecken Sie die Magie von Memento.",
|
||||
"cta": "Loslegen",
|
||||
"feature0": "Max. 100 Notizen",
|
||||
"feature1": "3 Notizbücher",
|
||||
@@ -2636,7 +2659,7 @@
|
||||
"byok": {
|
||||
"label": "Offene Cloud-Technologie",
|
||||
"title": "Die BYOK-Strategie",
|
||||
"desc": "Sie haben bereits API-Schlüssel von OpenAI, Anthropic oder Google? Verbinden Sie sie direkt mit Momento. Nutzen Sie KI ohne erzwungene Credit-Limits und zahlen Sie nur, was Sie beim Anbieter Ihrer Wahl tatsächlich verbrauchen.",
|
||||
"desc": "Sie haben bereits API-Schlüssel von OpenAI, Anthropic oder Google? Verbinden Sie sie direkt mit Memento. Nutzen Sie KI ohne erzwungene Credit-Limits und zahlen Sie nur, was Sie beim Anbieter Ihrer Wahl tatsächlich verbrauchen.",
|
||||
"noLockin": "Kein Lock-in",
|
||||
"noLockinDesc": "Anbieter mit einem Klick wechseln.",
|
||||
"cost": "Optimierte Kosten",
|
||||
@@ -2646,8 +2669,8 @@
|
||||
"cta": {
|
||||
"title1": "Bereit, Ihr",
|
||||
"title2": "volles Potenzial freizusetzen?",
|
||||
"desc": "Schließen Sie sich Tausenden von Forschern, Designern und Denkern an, die Momento bereits nutzen, um ihre Zukunft zu gestalten.",
|
||||
"button": "Momento starten"
|
||||
"desc": "Schließen Sie sich Tausenden von Forschern, Designern und Denkern an, die Memento bereits nutzen, um ihre Zukunft zu gestalten.",
|
||||
"button": "Memento starten"
|
||||
},
|
||||
"footer": {
|
||||
"desc": "Das KI-verstärkte zweite Gehirn. Für kreative Köpfe entwickelt.",
|
||||
@@ -2704,7 +2727,7 @@
|
||||
"necessaryDesc": "These cookies are required to authenticate your session, save your language and theme preferences. They cannot be turned off.",
|
||||
"alwaysOn": "Always On",
|
||||
"analyticsTitle": "Anonymous Analytics",
|
||||
"analyticsDesc": "Help us improve Momento by sending completely anonymous usage statistics. No personal data is ever tracked.",
|
||||
"analyticsDesc": "Help us improve Memento by sending completely anonymous usage statistics. No personal data is ever tracked.",
|
||||
"cancel": "Cancel",
|
||||
"save": "Save Preferences",
|
||||
"saved": "Preferences updated successfully."
|
||||
@@ -2725,10 +2748,10 @@
|
||||
"statusActive": "Aktiv",
|
||||
"statusInactive": "Nicht erteilt",
|
||||
"helpAriaLabel": "Was bedeutet die KI-Einwilligung?",
|
||||
"helpTooltip": "Momento verkauft Ihre Daten nicht. Diese Einwilligung gilt nur bei ausdrücklicher KI-Nutzung (Titel, Tags, Chat, Umformulierung). Ohne sie funktioniert der Rest der App normal.",
|
||||
"helpTooltip": "Memento verkauft Ihre Daten nicht. Diese Einwilligung gilt nur bei ausdrücklicher KI-Nutzung (Titel, Tags, Chat, Umformulierung). Ohne sie funktioniert der Rest der App normal.",
|
||||
"whatItMeansTitle": "Was bedeutet das?",
|
||||
"inactiveHint": "Ohne Einwilligung sind nur KI-Funktionen deaktiviert. Notizen erstellen, bearbeiten und organisieren funktioniert weiterhin.",
|
||||
"noCommercialUse": "Momento verkauft oder monetarisiert Ihre personenbezogenen Daten nicht.",
|
||||
"noCommercialUse": "Memento verkauft oder monetarisiert Ihre personenbezogenen Daten nicht.",
|
||||
"affectedFeatures": "Betroffene Funktionen: Titelvorschläge, Tags, KI-Chat, Umformulierung, Memory Echo usw.",
|
||||
"dataPortabilityHint": "Sie können alle Daten jederzeit exportieren oder löschen (Einstellungen → Daten).",
|
||||
"dataPortabilityLink": "Meine Daten exportieren",
|
||||
@@ -2782,7 +2805,7 @@
|
||||
},
|
||||
"onboarding": {
|
||||
"welcome_title": "Ihr KI-erweitertes Gedächtnis",
|
||||
"welcome_subtitle": "Momento erinnert sich an das, was Sie vergessen.",
|
||||
"welcome_subtitle": "Memento erinnert sich an das, was Sie vergessen.",
|
||||
"welcome_cta": "Loslegen",
|
||||
"skip": "Überspringen",
|
||||
"step_notes_title": "Ihre Notizen",
|
||||
@@ -2794,7 +2817,7 @@
|
||||
"step_aha_title": "Finden Sie, was Sie vergessen haben",
|
||||
"step_aha_subtitle": "Stellen Sie eine Frage. Finden Sie eine vergessene Notiz.",
|
||||
"step_aha_placeholder": "Notizen zur Produktivität...",
|
||||
"step_aha_cta": "Momento erkunden",
|
||||
"step_aha_cta": "Memento erkunden",
|
||||
"progress": "{current} von {total}",
|
||||
"creating_demo_notes": "Beispielnotizen werden erstellt...",
|
||||
"demo_notes_ready": "5 Beispielnotizen erstellt!",
|
||||
@@ -2898,4 +2921,4 @@
|
||||
"copyRefNoNote": "Save the note before copying a block reference",
|
||||
"copyRefUnsupported": "This block type cannot be referenced yet"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user