
    %i                     >    d dl mZmZ d dlZddlmZ  G d de      Zy)    )print_functionunicode_literalsN   )Num2Word_EUc                   \     e Zd ZddddddZdZdZd	 Zd
 Zd Zd Z		 	 d fd	Z
ddZ xZS )Num2Word_DE))Euror	   Centr   ))Pfundr   )PennyPence))Dollarr   r
   ))Yuanr   )JiaoFen))Markr   )Pfennigr   )EURGBPUSDCNYDEMilliardeillionc                     d| _         d| _        d| _        d| _        d| _        d| _        g | _        g d}g d}g d	}d
g| j                  |||      z   | _        g d| _	        g d| _
        dddddddddddd| _        y )Nzminus KommazIDie Gleitkommazahl %s kann nicht in eine Ordnungszahl konvertiert werden.u<   Nur Zahlen (type(%s)) können in Wörter konvertiert werden.zHDie negative Zahl %s kann nicht in eine Ordnungszahl konvertiert werden.z%Die Zahl %s muss kleiner als %s sein.)	NonOktSeptSextQuintQuadrTrBM)
 unduotrequattuorquinsexseptoktonovem)	dezviginttrigint
quadragintquinquagintsexagint
septuagintoktogintnonagintzent)	)  tausend)d   hundert)Z   neunzig)P   achtzig)F   siebzig)<   sechzig)2   u   fünfzig)(   vierzig)   u   dreißig)zwanzigneunzehnachtzehnsiebzehnsechzehnu	   fünfzehnvierzehndreizehnu   zwölfelfzehnneunachtsiebensechsu   fünfvierdreizweieinsnullersdritachsiebigsertsendsionsnsrds)r[   rY   rU   rV   igertendionnenrderden)negword	pointworderrmsg_floatorderrmsg_nonnumerrmsg_negorderrmsg_toobigexclude_titlegen_high_numwordshigh_numwordsmid_numwordslow_numwordsords)selflowsunitstenss       o/var/www/html/navyabakers_fullstack/navyabakers_prod/venv_new/lib/python3.12/site-packages/num2words/lang_DE.pysetupzNum2Word_DE.setup%   s     " 	 K 	
" 	
 EO"B Ht--eT4@@ 	B5
 ##"% """ !"
$	    c                 6   ||z   \  }}}}|dk(  r|dk(  s|dk(  rd|z   |fS |dk  r|S d}||kD  r1|dk\  r&|dkD  r|j                  d      r|dz  }n|d	z  }|d
z  }||z  }n2|dcxk  r|cxk  rdk  rn n|dk(  rd}||dz   }}n
|dk\  r|d
z  }||z   }||z   }||fS )Nr   r=   r;   eini@B eineenen 
   und)endswith)	rz   currnextctextcnumntextnnumvalwords	            r~   mergezNum2Word_DE.mergeW   s    #'$; tUD19s{ddlt,,E$;w!8~~c*+Cb%4%#%19!E$eemu+Cu}c{r   c                    | j                  |       | j                  |      j                         }| j                  D ]?  }|j	                  |      s|d t        |      t        |      z
   | j                  |   z   } n |dz   }|dk(  s|dk(  r|j                  ddd      }t        j                  dd |      }t        j                  d	d
 |      }|S )Nteeintausendsteeinhundertster   r'   r   z!eine ([a-z]+(illion|illiard)ste)$c                 $    | j                  d      S Nr   groupms    r~   <lambda>z(Num2Word_DE.to_ordinal.<locals>.<lambda>       qwwqz r   z ([a-z]+(illion|illiard)ste)$c                 $    | j                  d      S r   r   r   s    r~   r   z(Num2Word_DE.to_ordinal.<locals>.<lambda>   r   r   )	verify_ordinalto_cardinallowerry   r   lenreplaceresub)rz   valueoutwordkeyress        r~   
to_ordinalzNum2Word_DE.to_ordinalv   s    E"""5)//199 	C$!":3w<#c(#:;diinL	
 n /!SO%;++eR+Cff9)30 ff5)30 
r   c                 @    | j                  |       t        |      dz   S )N.)r   str)rz   r   s     r~   to_ordinal_numzNum2Word_DE.to_ordinal_num   s    E"5zCr   c                 X    t         t        |   |||||      }|j                  dd      S )N)currencycents	separator	adjectivezeins zein )superr   to_currencyr   )rz   r   r   r   r   r   result	__class__s          r~   r   zNum2Word_DE.to_currency   s8    {D5(%9 6 ! ~~gv..r   c                 |    |dz  dz  s| j                  |      S | j                  |d|      j                  dd      S )Nr=   r   r>   )hightxtlongvalr   r'   )r   to_splitnumr   )rz   r   r   s      r~   to_yearzNum2Word_DE.to_year   sE    s
b ##C((YHWS"	r   )r   Tz undF)T)__name__
__module____qualname__CURRENCY_FORMSGIGA_SUFFIXMEGA_SUFFIXr   r   r   r   r   r   __classcell__)r   s   @r~   r   r      sN    37729N KK0$d>.  FL#/r   r   )
__future__r   r   r   lang_EUr   r    r   r~   <module>r      s   $ 8 	  D+ Dr   