Skip to main content

Language support matrix

Support labels are evidence-based and split across date parsing, HTML/header metadata, text/script detection, and end-to-end extraction. A language is called supported only when its committed date fixture and listing behavior pass. Partial means metadata or text detection exists but the qddate date corpus is not sufficient.

LanguageDateMetadataTextExtraction
English, French, German, Italian, Portuguese, Russian, Spanishtestedtestedtestedsupported
Bulgarian, Czech, Ukrainianincomplete upstream patternstestedpartialpartial
Arabic, Chinese, Greek, Hebrew, Hindi, Japanese, Korean, Thaiunsupportedtestedtested by scriptpartial

The source of truth is newsworker.language.LANGUAGE_SUPPORT; localized date examples are in tests/fixtures/languages/matrix.json. The minimum tested qddate release is 1.0.4. General-purpose missing date patterns belong upstream in qddate rather than in a second newsworker date engine.

An explicit --language override wins over every automatic signal. With diagnostics enabled, automatic selection reports automatic_evidence, ambiguous_evidence, or default_fallback instead of silently implying certainty.