o
    ph                     @   s0   d dl mZmZ ddlmZ G dd deZdS )    )print_functionunicode_literals   )Num2Word_EUc                       sR   e Zd ZddddddZdd Zd	d
 Zdd Zdd Z		d fdd	Z  Z	S )Num2Word_FR))euroeuroscentimecentimes))dollardollars)centcents))francfrancsr	   ))livrelivres)pennypence))yuanyuans)fenjiaos)EURUSDFRFGBPCNYc                 C   sP   t |  d| _d| _d| _d| _g d| _g d| _g d| _dd	d
| _	d S )Nzmoins virguleu6   Seulement des nombres peuvent être convertis en mots.u=   Nombre trop grand pour être converti en mots (abs(%s) > %s).)etr   moins))  mille)d   r   )P   zquatre-vingts)<   soixante)2   	cinquante)(   quarante)   trente)vingtzdix-neufzdix-huitzdix-septseizequinzequatorzetreizedouzeonzedixneufhuitseptsixcinqquatretroisdeuxunu   zérou
   cinquièmeu	   neuvième)r:   r6   )
r   setupnegword	pointworderrmsg_nonnumerrmsg_toobigexclude_titlemid_numwordslow_numwordsords)self rI   ]/var/www/html/Testing_prj/Navya-Bakers/venv/lib/python3.10/site-packages/num2words/lang_FR.pyr?       s   



zNum2Word_FR.setupc                 C   s  || \}}}}|dkr|dk r|S n4|d d r!|d s1|dk r1|dk r1|d dkr1|d d }|dk rG|dkrG|d dkrG|d sG|d7 }||  k rQdk rqn n|d dkrg|dkrgd	||f || fS d
||f || fS ||krd||f || fS d||f || fS )Nr   i@B r%   r$   r"   s
   z%s et %sz%s-%sz%s %srI   )rH   currnextctextcnumntextnnumrI   rI   rJ   merge9   s,   zNum2Word_FR.mergec                 C   s~   |  | |dkrdS | |}| j D ]\}}||r,|d t|  | } |S q|d dkr9|d d }|d }|S )Nr   premierrK   eu   ième)verify_ordinalto_cardinalrG   itemsendswithlen)rH   valuewordsrcreplrI   rI   rJ   
to_ordinalT   s   


zNum2Word_FR.to_ordinalc                 C   s0   |  | t|}||dkrd7 }|S d7 }|S )Nr   erme)rW   str)rH   r\   outrI   rI   rJ   to_ordinal_numc   s   
zNum2Word_FR.to_ordinal_numr   T etFc                    s   t t| j|||||d}|S )N)currencyr   	separator	adjective)superr   to_currency)rH   valrg   r   rh   ri   result	__class__rI   rJ   rk   i   s
   
zNum2Word_FR.to_currency)r   Trf   F)
__name__
__module____qualname__CURRENCY_FORMSr?   rT   r`   re   rk   __classcell__rI   rI   rn   rJ   r      s    r   N)
__future__r   r   lang_EUr   r   rI   rI   rI   rJ   <module>   s   