2.3 KiB
2.3 KiB
Purpose
Canonical specification for language-aware-content-delivery requirements synced from OpenSpec change deltas.
Requirements
Requirement: API supports language-aware content retrieval
The system SHALL support language-aware content delivery for hero and feed reads using selected language input.
Scenario: Language-specific latest article response
- WHEN a client requests latest article data with a supported language selection
- THEN the system returns headline and summary in the selected language when available
- AND includes the corresponding base article metadata and media attribution
Scenario: Language-specific paginated feed response
- WHEN a client requests paginated feed data with a supported language selection
- THEN the system returns each feed item's headline and summary in the selected language when available
- AND preserves existing pagination behavior and ordering semantics
Scenario: Tamil and Malayalam rendering quality support
- WHEN Tamil (
ta) or Malayalam (ml) content is delivered to frontend surfaces - THEN payload text preserves script fidelity and Unicode correctness
- AND frontend presentation hooks can apply readability-focused typography adjustments without changing response shape
Requirement: Language fallback to English is deterministic
The system SHALL return English source content when the requested translation is unavailable or fails translation quality validation.
Scenario: Missing translation fallback
- WHEN a client requests Tamil or Malayalam content for an article lacking that translation
- THEN the system returns the English headline and summary for that article
- AND response shape remains consistent with language-aware responses
Scenario: Invalid translation fallback
- WHEN a client requests Tamil or Malayalam content for an article whose translation failed quality validation
- THEN the system returns English headline and summary for that article
- AND avoids returning invalid translated output
Scenario: Unsupported language handling
- WHEN a client requests a language outside supported values (
en,ta,ml) - THEN the system applies the defined default language behavior for this phase
- AND avoids breaking existing consumers of news endpoints