savoirfairelinux / num2words

Modules to convert numbers to words. 42 --> forty-two
GNU Lesser General Public License v2.1
813 stars 487 forks source link

issue with gender while converting currancy in ukrainian #560

Open fo-bo opened 7 months ago

fo-bo commented 7 months ago

Expected Behaviour

convert ukrainian currency into words should use feminine form. if change language to 'ru', most similar to ukrainian, conversion works well and gives feminine form as ecpected

whole = '21' integer_words = num2words.num2words(int(whole), to='cardinal', lang='uk', gender='f') print(integer_words)

in urkainian i expect to have двадцять одна

Actual Behaviour

after print a get

двадцять один

Steps to reproduce

import num2words number_str = '21' integer_words = num2words.num2words(int(number_str), to='cardinal', lang='uk', gender='f') print(integer_words)

smilingDima commented 3 months ago

It was changed in #530 - you should use gender='feminine' instead of gender='f'

from num2words import num2words
number_str = '21'
integer_words = num2words(int(number_str), to='cardinal', lang='uk', gender='feminine')
print(integer_words)

Result is: двадцять одна