41 lines
2.3 KiB
Markdown
41 lines
2.3 KiB
Markdown
## 1. Translation Data Model and Persistence
|
|
|
|
- [x] 1.1 Add translation persistence model linked to base article with language code (`en`, `ta`, `ml`)
|
|
- [x] 1.2 Update database initialization/migration path to create translation storage structures
|
|
- [x] 1.3 Add repository operations to create/read translation variants by article and language
|
|
- [x] 1.4 Enforce no duplicate translation variant for the same article-language pair
|
|
|
|
## 2. Ingestion Pipeline Translation Generation
|
|
|
|
- [x] 2.1 Extend ingestion flow to trigger Tamil and Malayalam translation generation for each new article
|
|
- [x] 2.2 Reuse Perplexity integration for translation calls with language-specific prompts
|
|
- [x] 2.3 Persist generated translations as linked variants during the same ingestion cycle
|
|
- [x] 2.4 Implement graceful fallback when translation generation fails (store English base, continue cycle)
|
|
|
|
## 3. Language-Aware API Delivery
|
|
|
|
- [x] 3.1 Add language selection input handling to latest-news endpoint
|
|
- [x] 3.2 Add language selection input handling to paginated feed endpoint
|
|
- [x] 3.3 Return translated headline/summary when available and fallback to English when missing
|
|
- [x] 3.4 Define and implement behavior for unsupported language requests in this phase
|
|
|
|
## 4. Frontend Language Selector and Rendering
|
|
|
|
- [x] 4.1 Add landing-page language selector UI with English, Tamil, and Malayalam options
|
|
- [x] 4.2 Update hero data fetch/render flow to request and display selected language content
|
|
- [x] 4.3 Update feed pagination fetch/render flow to request and display selected language content
|
|
- [x] 4.4 Keep existing attribution/media rendering behavior intact across language switches
|
|
|
|
## 5. Preference Persistence and Returning User Behavior
|
|
|
|
- [x] 5.1 Persist user-selected language in localStorage with cookie fallback
|
|
- [x] 5.2 Restore persisted language on page load before initial content fetch
|
|
- [x] 5.3 Initialize selector state and API language requests from restored preference
|
|
|
|
## 6. Validation and Documentation
|
|
|
|
- [x] 6.1 Validate translation creation and retrieval for Tamil and Malayalam on new articles
|
|
- [x] 6.2 Validate fallback behavior for missing translation variants and unsupported language input
|
|
- [x] 6.3 Validate returning-user language persistence across browser sessions
|
|
- [x] 6.4 Update README with multilingual behavior, language selector usage, and persistence details
|