Skip to main content

languages=

DateParser(languages=...) limits which month-name catalogs are loaded. Numeric ISO-like patterns still participate for the languages you select.

Accepted values

ValueEffect
None (default)All 14 languages
[]Same as all languages (backward compatible)
"ru"Russian month-name patterns plus numeric patterns associated with that filter
["en", "de"]Union of those catalogs

Unsupported codes raise ValueError whose message contains Unsupported language.

DateParser(languages="ru")
DateParser(languages=["en", "de"])
DateParser(languages="invalid") # ValueError

Supported codes

bg, cz, de, en, es, fr, it, nl, pl, pt, ro, ru, tr, uk.

The live list is qddate.patterns.SUPPORTED_LANGUAGES. See the language overview.

Exclusive parsing

A parser restricted to English will not parse a Russian month-name date:

en = qddate.DateParser(languages="en")
en.parse("3 Января 2003 года") # None

The same string succeeds with languages="ru" or the default constructor.

Detection vs allow-list

Automatic language detection (character sets and month tokens) only narrows candidates. It must not drop a language you passed in languages=. Shared tokens such as German/Dutch Juli remain parseable for every language you requested.

Romanian mai and august overlap other languages; unrestricted parsing may leave those tokens ambiguous, while languages="ro" selects Romanian metadata deterministically.