Background / Issue
A separate Partners surface for the structured content (footer, FAQ, resources, contact,
disclaimers), including rich-text bodies, per-language editing, and the safeguards for translating
rich text.
Technical Context
Acceptance Criteria
- An admin edits each content type per language; unset fields show an English-fallback indicator; a
stale field is flagged.
- Pasting formatted content (including from a translation tool) is normalized to the allowed set and
sanitized; junk markup is stripped.
- The field being translated shows a live sanitized preview beside the English source.
- RTL locales render the editor
dir="rtl" and preserve direction in the stored HTML.
QA Notes
Partners portal. Test paste from a doc/Google Translate (formatting kept, junk stripped), the
side-by-side preview accuracy, an RTL locale (Arabic/Farsi) editing and rendering direction, and the
fallback/staleness indicators.
Background / Issue
A separate Partners surface for the structured content (footer, FAQ, resources, contact,
disclaimers), including rich-text bodies, per-language editing, and the safeguards for translating
rich text.
Technical Context
picker; fallback and staleness indicators. Paste sanitization (schema-constrained + the OQ3
sanitizer), a side-by-side English source with a sanitized preview, a minimal formatting palette,
and RTL editing (
dir="rtl", StarterKit does not set direction on its own).Acceptance Criteria
stale field is flagged.
sanitized; junk markup is stripped.
dir="rtl"and preserve direction in the stored HTML.QA Notes
Partners portal. Test paste from a doc/Google Translate (formatting kept, junk stripped), the
side-by-side preview accuracy, an RTL locale (Arabic/Farsi) editing and rendering direction, and the
fallback/staleness indicators.