The manual-search Languages column was blank for a Danish release, so it was easy to grab the wrong-language edition. Release-language detection only knew English, Dutch, German, French (plus Spanish in one of two duplicate copies) — a ...-DK-... release matched nothing, so the FE (which hides the column when no result has a language) showed nothing.
Change
- Expand the canonical
SearchResultAttributeParserto a broad language set (3-letter ISO codes, full + native names, short codes): Danish, Swedish, Norwegian, Finnish, Icelandic, Spanish, Italian, Portuguese, Polish, Russian, Japanese, Chinese, Czech, Hungarian, Turkish, Greek, Korean, and the existing four. - False-positive guard: short codes that are also ordinary words (
it/no/se/pt) are trusted only inside[brackets]/(parens); elsewhere only unambiguous tokens match. So a scene tag like-SE-is not read as Swedish. - Collapse the duplicate language list in
TorznabNewznabValueParser(the live Prowlarr/Newznab path) to delegate to the canonical parser — detection now lives in one place.
The FE Languages column already exists; it simply had no data for these languages. No FE change needed.
Tests
ParseLanguageTests extended to 22 cases — Danish/Nordic/native names plus negative cases for ambiguous bare tokens (e.g. ...-WEB-SE-2023-... → no language). All green.
🤖 Generated with Claude Code
Automated Canary build