
    9%i"                         d dl mZ ddlmZ dZeddddd	d
dddddddddddddgZeddddddddd d!d"d#d$d%d&d'd(d)d*gZd+d,d-d.d/Zed0d1d2d3d4d5d6d7d8d9gZd:Z	d;Z
d<Z G d= d>e      Zd? Zd@ ZdA ZdB ZyC)D    )unicode_literals   )Num2Word_EUzerounoduetrequattrocinqueseisetteottonovedieciundicidodicitrediciquattordiciquindicisedicidiciassettediciotto
diciannoveprimosecondoterzoquartoquintosestosettimoottavononodecimo
undicesimo
dodicesimotredicesimoquattordicesimoquindicesimo
sedicesimodiciassettesimodiciottesimodiciannovesimoventitrentaquarantasessanta)            mbtrquadrquintsestsettottnovdec)dollarodollari)	centesimo	centesimiGBPc                   z     e Zd ZdefeefdddZdZdZd Zd Z	dd	Z
d
 Zd Zd Zd Zd Zd Z	 	 d fd	Z xZS )Num2Word_IT)eurorF   ))sterlinasterline)pennyrI   ))yuanrJ   )fenrK   )EURUSDrC   CNYzmeno z	 virgola c                 .    t        j                  |        y N)r   setupselfs    k/var/www/html/navyabakers_fullstack/navyabakers_prod/venv/lib/python3.12/site-packages/num2words/lang_IT.pyrQ   zNum2Word_IT.setupB   s    $    c                      y rP    rR   s    rT   __init__zNum2Word_IT.__init__E   s    rU   c           
      N   |r| j                  t        |            }n| j                  t        |            }t        |      j	                  d      d   }dj                  |D cg c]  }| j                  t        |             c}      }|t        j                  z   |z   S c c}w )N.r    )
to_ordinalintto_cardinalstrsplitjoinrE   FLOAT_INFIX_WORD)rS   float_numberordinalprefix
float_partcpostfixs          rT   float_to_wordszNum2Word_IT.float_to_wordsH   s    __S%67F%%c,&78F&,,S1!4
((/9:!Tc!f%:
 444w>> ;s   $!B"c                     |dz  }|dz  }|t         v r
t         |   }nt        |   d d dz   }t        t        |         }t        ||z         S )N
   anta)STR_TENSCARDINAL_WORDSomitt_if_zerophonetic_contraction)rS   numbertensunitsre   rh   s         rT   tens_to_cardinalzNum2Word_IT.tens_to_cardinalT   sZ    |8d^F#D)#2.7Fu 56#FW$455rU   c                     |dz  }d}|dk7  rt         |   |z   }t        | j                  |dz              }t        ||z         S )Nd   centor   )ro   rp   r^   rq   )rS   rr   hundredsre   rh   s        rT   hundreds_to_cardinalz Num2Word_IT.hundreds_to_cardinal^   sO    S=q=#H-6F 0 0# >?#FW$455rU   c                     |dz  }|dk(  rd}n| j                  |      dz   }t        | j                  |dz              }||z   S )N  r   millemila)r^   rp   )rS   rr   	thousandsre   rh   s        rT   thousands_to_cardinalz!Num2Word_IT.thousands_to_cardinalf   sP    dN	>F%%i069F 0 0$ ?@rU   c                    t        |      D cg c]  }| }}t        |      }|dk\  rt        d      |dz  xs d}|d | }||d  }t        t        |            }|dgk(  rd}	n4| j	                  t        dj                  |                  }	d|d d z   d	z   }t        |      t        d
      k7  r9| j	                  t        dj                  |                  }
d|
v r|dz  }n|dz  }nd}
|	|z   |
z   S c c}w )NB   zThe given number is too large.r2   1zun  r[   rl   i0z e z, )r_   lenNotImplementedErrorexponent_length_to_stringr^   r]   ra   set)rS   rr   rg   digitslength	predigits
multiplierexponentinfixre   rh   s              rT   big_number_to_cardinalz"Num2Word_IT.big_number_to_cardinalp   s    [)!))VR<%&FGG
 QJO!	JY'
)*%)#h-8#F%%c"''**=&>?F%*$s*Ex=CH$&&s2778+<'=>GG~''9 *s   	C2c                 8   |dk  r.t         j                  | j                  |       z   }t        |      S t        |t              r| j                  |      }t        |      S |dk  rt        t        |         }t        |      S |dk  r%| j                  t        |            }t        |      S |dk  r%| j                  t        |            }t        |      S |dk  r%| j                  t        |            }t        |      S | j                  |      }t        |      S )Nr      rw   r|   i@B )rE   MINUS_PREFIX_WORDr^   
isinstancefloatri   ro   r]   ru   rz   r   r   
accentuate)rS   rr   strings      rT   r^   zNum2Word_IT.to_cardinal   s   A: 22T5E5Evg5NNF &!! &((0F &!! b[#CK0F &!! c\**3v;7F &!! d]..s6{;F
 &!!	 g//F<F &!! 008F&!!rU   c                    |dz  }d|cxk  xr dk  nc  }|dk  r#t         j                  | j                  |       z   S |dz  dk7  r| j                  |d      S |dk  rt        t        |         S |r|dz  dk(  r| j                  |      d d	 d
z   S |r|dz  dk(  r| j                  |      dz   S | j                  |      d d	 }|dd  dk(  r|dz  }|dz   S )Nrw   rk   r   r   r   T)rd   r2   rl   eesimor4   esimomill)rE   r   r\   ri   ORDINAL_WORDSr]   r^   )rS   rr   rs   is_outside_teensr   s        rT   r\   zNum2Word_IT.to_ordinal   s    |  "D~2~-A:004??F73KKKaZ1_&&vt&<<b[ V--$)q.##F+CR08;;$)q.##F+g55%%f-cr2Fbc{e##G##rU   c                     t         t        |   |||||      }|t        v rB|j	                  d      }|d   dk(  r)|d   j                  dd      |d<   dj                  |      }|j                  dd      }|S )N)currencycents	separator	adjectiver[   r   r   unaun)superrE   to_currencyCURRENCIES_UNAr`   replacera   )	rS   valr   r   r   r   resultlist_result	__class__s	           rT   r   zNum2Word_IT.to_currency   s    {D5(%9 6 ! ~% ,,s+K1~&!,Q!7!7u!EA+.t,rU   )F)rL   Tz eF)__name__
__module____qualname__GENERIC_CENTSGENERIC_DOLLARSCURRENCY_FORMSr   rb   rQ   rX   ri   ru   rz   r   r   r^   r\   r   __classcell__)r   s   @rT   rE   rE   8   so     -0/=1	N  " 
?66 (>""$, FJ# rU   rE   c                     | j                  dd      j                  dd      j                  dd      j                  dd      j                  dd      S )Noooaoioauuiu)r   )r   s    rT   rq   rq      sF    WT3WT3WT3WT3WT3rU   c                 >    t         | dz     }| dz  dk(  r|dz   S |dz   S )Nr4   r   ilioneiliardo)EXPONENT_PREFIXES)exponent_lengthre   s     rT   r   r      s6     !34Fa  	!!rU   c           	          dj                  | j                         D cg c]B  }|dd  dk(  r&t        |      dkD  r|j                  dd      d d dz   n|j                  dd      D c}      S c c}w )Nr[   r   r	   r2   u   tré)ra   r`   r   r   )r   ws     rT   r   r      s     88 ,,.	 	 bcFeOA
 
65	!#2	&	/ ii&
' 	
 
	s   AA,c                     | t         k(  rdS | S )Nr   )ZERO)number_to_strings    rT   rp   rp      s    !T)2?/??rU   N)
__future__r   lang_EUr   r   ro   r   rn   r   r   r   r   rE   rq   r   r   rp   rW   rU   rT   <module>r      s   " (  
  	%y(E7F
GXxM:mZ 	'9gx7IfhlM~|5F$	 8
zB 	#sD'7FFE5% 
 )*M+ Mf""@rU   