feat(privacy+extension): publier la page /privacy et préparer les builds Chrome/Firefox Store
- Nouvelle page /privacy bilingue (FR/EN) avec sélection par Accept-Language
ou ?lang=, sections complètes (données collectées, IA/BYOK, RGPD, sécurité,
contact). Style sombre aligné sur la landing (x.ai premium).
- Liens footer landing.footer.legal.* mis à jour vers /privacy dans les 15 locales.
- Extension Web Clipper rendue cross-browser :
* background.js détecte chrome.sidePanel vs browser.sidebarAction
* sidepanel.js ajoute un shim chrome<->browser pour Firefox
* manifest.json inclut sidebar_action + browser_specific_settings.gecko
+ optional_host_permissions (Chrome les ignore)
- Script scripts/build-firefox.mjs pour produire un .xpi signé pour AMO,
symétrique de build-chrome-store.mjs. Exclusion mutuelle des artefacts
Chrome/Firefox pour éviter la cross-contamination.
- Branding corrigé : 176 occurrences de 'Momento' -> 'Memento' dans le
bundle de traductions embarqué.
- Version bumpée 0.3.1 -> 0.4.0.
This commit is contained in:
@@ -3326,9 +3326,9 @@
|
||||
"link0": "الخصوصية",
|
||||
"link1": "الشروط",
|
||||
"link2": "ملفات تعريف الارتباط",
|
||||
"link0Href": "#",
|
||||
"link1Href": "#",
|
||||
"link2Href": "#"
|
||||
"link0Href": "/privacy",
|
||||
"link1Href": "/privacy",
|
||||
"link2Href": "/privacy"
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
@@ -3326,9 +3326,9 @@
|
||||
"link0": "Datenschutz",
|
||||
"link1": "Bedingungen",
|
||||
"link2": "Cookies",
|
||||
"link0Href": "#",
|
||||
"link1Href": "#",
|
||||
"link2Href": "#"
|
||||
"link0Href": "/privacy",
|
||||
"link1Href": "/privacy",
|
||||
"link2Href": "/privacy"
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
@@ -1277,7 +1277,17 @@
|
||||
"under": "Under",
|
||||
"trashCascadeWarning": "This will also delete all notes and sub-notebooks.",
|
||||
"trashConfirm": "Move this notebook to trash?",
|
||||
"trashTitle": "Move to trash"
|
||||
"trashTitle": "Move to trash",
|
||||
"slides": "Presentation",
|
||||
"slidesDescription": "Generate a slide deck from all notes in this notebook. Images are automatically included.",
|
||||
"slidesGenerate": "Generate presentation",
|
||||
"slidesGenerating": "Generating presentation from notes...",
|
||||
"slidesGeneratingHint": "This may take 30-60 seconds (outline + per-slide writing)",
|
||||
"slidesReady": "Presentation generated",
|
||||
"slidesStatus1": "Analyzing notebook notes…",
|
||||
"slidesStatus2": "Building presentation outline…",
|
||||
"slidesStatus3": "Writing slides…",
|
||||
"slidesStatus4": "Finalizing layout…"
|
||||
},
|
||||
"notebookSuggestion": {
|
||||
"title": "Move to {name}?",
|
||||
@@ -3593,9 +3603,9 @@
|
||||
"link0": "Privacy",
|
||||
"link1": "Terms",
|
||||
"link2": "Cookies",
|
||||
"link0Href": "#",
|
||||
"link1Href": "#",
|
||||
"link2Href": "#"
|
||||
"link0Href": "/privacy",
|
||||
"link1Href": "/privacy",
|
||||
"link2Href": "/privacy"
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
@@ -3326,9 +3326,9 @@
|
||||
"link0": "Privacidad",
|
||||
"link1": "Términos",
|
||||
"link2": "Cookies",
|
||||
"link0Href": "#",
|
||||
"link1Href": "#",
|
||||
"link2Href": "#"
|
||||
"link0Href": "/privacy",
|
||||
"link1Href": "/privacy",
|
||||
"link2Href": "/privacy"
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
@@ -3326,9 +3326,9 @@
|
||||
"link0": "حریم خصوصی",
|
||||
"link1": "شرایط",
|
||||
"link2": "کوکیها",
|
||||
"link0Href": "#",
|
||||
"link1Href": "#",
|
||||
"link2Href": "#"
|
||||
"link0Href": "/privacy",
|
||||
"link1Href": "/privacy",
|
||||
"link2Href": "/privacy"
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
@@ -1283,7 +1283,17 @@
|
||||
"under": "Sous",
|
||||
"trashCascadeWarning": "Cela supprimera également toutes les notes et sous-carnets.",
|
||||
"trashConfirm": "Déplacer ce carnet vers la corbeille ?",
|
||||
"trashTitle": "Déplacer vers la corbeille"
|
||||
"trashTitle": "Déplacer vers la corbeille",
|
||||
"slides": "Présentation",
|
||||
"slidesDescription": "Génère une présentation à partir des notes du carnet. Les images sont automatiquement intégrées.",
|
||||
"slidesGenerate": "Générer la présentation",
|
||||
"slidesGenerating": "Génération de la présentation à partir des notes...",
|
||||
"slidesGeneratingHint": "Cela peut prendre 30 à 60 secondes (outline + rédaction slide par slide)",
|
||||
"slidesReady": "Présentation générée",
|
||||
"slidesStatus1": "Analyse des notes du carnet…",
|
||||
"slidesStatus2": "Création du plan de la présentation…",
|
||||
"slidesStatus3": "Rédaction des slides…",
|
||||
"slidesStatus4": "Finalisation et mise en page…"
|
||||
},
|
||||
"notebookSuggestion": {
|
||||
"title": "Déplacer vers {name} ?",
|
||||
@@ -3599,9 +3609,9 @@
|
||||
"link0": "Confidentialité",
|
||||
"link1": "Conditions",
|
||||
"link2": "Cookies",
|
||||
"link0Href": "#",
|
||||
"link1Href": "#",
|
||||
"link2Href": "#"
|
||||
"link0Href": "/privacy",
|
||||
"link1Href": "/privacy",
|
||||
"link2Href": "/privacy"
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
@@ -3326,9 +3326,9 @@
|
||||
"link0": "गोपनीयता",
|
||||
"link1": "शर्तें",
|
||||
"link2": "कुकीज़",
|
||||
"link0Href": "#",
|
||||
"link1Href": "#",
|
||||
"link2Href": "#"
|
||||
"link0Href": "/privacy",
|
||||
"link1Href": "/privacy",
|
||||
"link2Href": "/privacy"
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
@@ -3326,9 +3326,9 @@
|
||||
"link0": "Privacy",
|
||||
"link1": "Termini",
|
||||
"link2": "Cookie",
|
||||
"link0Href": "#",
|
||||
"link1Href": "#",
|
||||
"link2Href": "#"
|
||||
"link0Href": "/privacy",
|
||||
"link1Href": "/privacy",
|
||||
"link2Href": "/privacy"
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
@@ -3326,9 +3326,9 @@
|
||||
"link0": "プライバシー",
|
||||
"link1": "利用規約",
|
||||
"link2": "Cookie",
|
||||
"link0Href": "#",
|
||||
"link1Href": "#",
|
||||
"link2Href": "#"
|
||||
"link0Href": "/privacy",
|
||||
"link1Href": "/privacy",
|
||||
"link2Href": "/privacy"
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
@@ -3326,9 +3326,9 @@
|
||||
"link0": "개인정보",
|
||||
"link1": "약관",
|
||||
"link2": "쿠키",
|
||||
"link0Href": "#",
|
||||
"link1Href": "#",
|
||||
"link2Href": "#"
|
||||
"link0Href": "/privacy",
|
||||
"link1Href": "/privacy",
|
||||
"link2Href": "/privacy"
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
@@ -3326,9 +3326,9 @@
|
||||
"link0": "Privacy",
|
||||
"link1": "Voorwaarden",
|
||||
"link2": "Cookies",
|
||||
"link0Href": "#",
|
||||
"link1Href": "#",
|
||||
"link2Href": "#"
|
||||
"link0Href": "/privacy",
|
||||
"link1Href": "/privacy",
|
||||
"link2Href": "/privacy"
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
@@ -3326,9 +3326,9 @@
|
||||
"link0": "Prywatność",
|
||||
"link1": "Regulamin",
|
||||
"link2": "Cookies",
|
||||
"link0Href": "#",
|
||||
"link1Href": "#",
|
||||
"link2Href": "#"
|
||||
"link0Href": "/privacy",
|
||||
"link1Href": "/privacy",
|
||||
"link2Href": "/privacy"
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
@@ -3326,9 +3326,9 @@
|
||||
"link0": "Privacidade",
|
||||
"link1": "Termos",
|
||||
"link2": "Cookies",
|
||||
"link0Href": "#",
|
||||
"link1Href": "#",
|
||||
"link2Href": "#"
|
||||
"link0Href": "/privacy",
|
||||
"link1Href": "/privacy",
|
||||
"link2Href": "/privacy"
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
@@ -3326,9 +3326,9 @@
|
||||
"link0": "Конфиденциальность",
|
||||
"link1": "Условия",
|
||||
"link2": "Cookies",
|
||||
"link0Href": "#",
|
||||
"link1Href": "#",
|
||||
"link2Href": "#"
|
||||
"link0Href": "/privacy",
|
||||
"link1Href": "/privacy",
|
||||
"link2Href": "/privacy"
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
@@ -3326,9 +3326,9 @@
|
||||
"link0": "隐私",
|
||||
"link1": "条款",
|
||||
"link2": "Cookies",
|
||||
"link0Href": "#",
|
||||
"link1Href": "#",
|
||||
"link2Href": "#"
|
||||
"link0Href": "/privacy",
|
||||
"link1Href": "/privacy",
|
||||
"link2Href": "/privacy"
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
Reference in New Issue
Block a user