Problem: Users who have built up personal word-by-word gloss selections want to see and share their assembled translation — the result of all their word choices combined into readable verse text.
Solution: Collect all word selections for a user, join with the Greek word data to build complete verse text, and export as plain text, JSON, or Markdown.
Not included: A dedicated reading view for the personal translation (that could be a future feature). This is export/download only.
Users can export their assembled personal translation — all the verses where they've made word gloss selections, with their chosen glosses assembled into readable text.
Export formats:
User flow:
TODO: Add export button to Settings page under "Personal Translation" section
Edge cases:
Settings page integration:
TODO: Design the Settings section UI
Data assembly:
word_selections for the user(bookId, chapter, verse)greek_words to get full word listwordPositionExport formats:
"[assembled text] (Book Chapter:Verse)"{verses: [{reference, words: [{position, original, gloss, isCustom}]}]}## Book Chapter\n\n**Verse:** [text]\n\n---Download: Reuse existing downloadFile(content, filename, mimeType) from apps/web/src/lib/utils/export.ts
TODO: Create bulk word selections endpoint (GET all for user) TODO: Implement assembly logic joining selections with greek_words
Files:
apps/web/src/routes/api/word-selections/+server.ts (create — bulk GET endpoint)apps/web/src/lib/utils/export.ts (extend — add translation export formats)apps/web/src/routes/(app)/settings/+page.svelte (modify — add export UI)Current: IN_PROGRESS Milestone: v3 Priority: Medium — makes the personal translation feature tangible
What's done:
downloadFile() in export.ts)What remains:
Dependencies: