## 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
