allo-media/text2num

Ordinals: "millionième" is not being converted to "1000000ème" (alpha2digit)

Closed this issue · 0 comments

text2num version: master compiled from source 30 Sep 2021 commit 11577c3 (v2.4.0)
Python version: 3.9.5

Hi,

I'm not sure if this is by design, but I think the French ordinal "millionième" for "million" is not being processed correctly by alpha2digit.

Just as "millième" is converted into "1000ème", I expected "millionième" to be converted into "1000000ème" by alpha2digit. But it is left as "millionième". This doesn't happen with "deux millionième", which is actually converted into "2000000ème".

This behaviour seems to affect other text2num languages I have tried (EN, CA).

Examples of this behaviour:

# FR

>>> alpha2digit("millième", "fr")
'1000ème'
# As expected

>>> alpha2digit("deux millième", "fr")
'2000ème'
# As expected

>>> alpha2digit("millionième", "fr")
'millionième'
# EXPECTED: 1000000ème

>>> alpha2digit("un millionième", "fr")
'un millionième'
# EXPECTED: 1000000ème?

>>> alpha2digit("deux millionième", "fr")
'2000000ème'
# As expected


# EN

>>> alpha2digit("thousandth", "en")
'1000th'
# As expected

>>> alpha2digit("one thousandth", "en")
'one 1000th'
# EXPECTED: 1000th?

>>> alpha2digit("two thousandth", "en")
'2000th'
# As expected

>>> alpha2digit("millionth", "en")
'millionth'
# EXPECTED: 1000000th

>>> alpha2digit("one millionth", "en")
'one millionth'
# EXPECTED: 1000000th?

>>> alpha2digit("two millionth", "en")
'2000000th'
# As expected


# CA

>>> alpha2digit("milè", "ca")
'1000è'
# As expected

>>> alpha2digit("un milè", "ca")
'un 1000è'
# EXPECTED: 1000è?

>>> alpha2digit("dos milè", "ca")
'2000è'
# As expected

>>> alpha2digit("milionè", "ca")
'milionè'
# EXPECTED: 1000000è

>>> alpha2digit("un milionè", "ca")
'un milionè'
# EXPECTED: 1000000è

>>> alpha2digit("dos milionè", "ca")
'2000000è'
# As expected