
    9%i\                     F    d dl mZmZmZ ddlmZ ddlmZ  G d de      Zy)    )divisionprint_functionunicode_literals   )Num2Word_Base)parse_currency_partsc                   V     e Zd ZddddZd Z fdZd Zd Zd	 Zdd
Z		 	 ddZ
 xZS )Num2Word_KO)u   원N)u   달러u   센트)u   엔N)KRWUSDJPYc                     dt        |      z  }t        |t        |dd            D ]  \  }}|| j                  d|z  <    y )N   r   
   )lenziprangecards)selfhighmaxwordns        k/var/www/html/navyabakers_fullstack/navyabakers_prod/venv/lib/python3.12/site-packages/num2words/lang_KO.pyset_high_numwordszNum2Word_KO.set_high_numwords   sD    #d)m4sAr!23 	'GD!"&DJJrQw	'    c                     t         t        |           d| _        d| _        g d| _        ddg| _        g d| _        i ddd	d
dddddddddddddddddddddd d!d"d#d$d%d&d'd(d)d*i| _        y )+Nu   마이너스 u   점)u   무량대수u   불가사의u	   나유타u	   아승기u	   항하사u   극u   재u   정u   간   구u   양u   자u   해u   경u   조u   억u   만)i  u   천)d      백)   십r      팔   칠   육   오   사   삼   이   일u   영r*   u   한r)   u   두r(   u   세r'   u   네r&   u   다섯r%   u   여섯r$   u   일곱r#   u   여덟r   u   아홉r"   u   열u   이십   스물u   삼십u   서른u   사십u   마흔u   오십u   쉰u   육십u   예순u   칠십u   일흔u   팔십u   여든u   구십u   아흔)	superr
   setupnegword	pointwordhigh_numwordsmid_numwordslow_numwordsords)r   	__class__s    r   r-   zNum2Word_KO.setup$   s   k4&(&$ +L9+)UE )E)E) E) H	)
 H) H) H) H) E) x) x) x) u) x) x)  x!)" x#)	r   c                     |\  }}|\  }}|dk(  r|dk  r|S d|cxkD  r|kD  rn n||||z   fS |dk\  r||kD  r|d|||z   fS ||||z  fS )Nr   i'    )r   lpairrpairltextlnumrtextrnums          r   mergezNum2Word_KO.mergeR   s|    tt19LT D #U+TD[99U]td{$e,dTk::#U+TD[99r   c                    | j                  |       |dk(  ry| j                  |      j                  d      }|d   j                  d      }d|d   v ro|d   j                  d      }| j                  |d   dz      |d<   	 | j                  |d      |d<   |d   j	                  dd	      |d<   d
j                  |      |d<   n| j                  |d      |d<   dj                  |      |d<   dj                  |      dz   S # t
        $ r Y ]w xY w)Nr   u
   첫 번째r6   r!   r"   r   u   스무r+    u   백 u    번째)verify_ordinalto_cardinalsplitr3   replaceKeyErrorjoin)r   valueoutwords	lastwordsten_ones        r   
to_ordinalzNum2Word_KO.to_ordinal^   s   E"A:##E*005RL&&u-	IbM!m))%0G71:#56GAJ!YYwqz2
$QZ//(C
 GGG,IbM IIim4IbM{{9-xx!I--  s    -C? ?	D
Dc                 .    | j                  |       d|z  S )Nu	   %s 번째)rB   )r   rH   s     r   to_ordinal_numzNum2Word_KO.to_ordinal_numr   s    E"e$$r   c                 n    |dk  rt        |      }|sdn|}| j                  |      }|sd|z  S |d|dS )Nr   u	   기원전u   %s년r6   u   년)absrC   )r   valsuffixlongvalvaltexts        r   to_yearzNum2Word_KO.to_yearv   sG    7c(C(.[FF""3')/'! 	5#)73	5r   c                    t        ||      \  }}}	 | j                  |   \  }	}
|s|r|
st        d|z        |r| j                  nd}|dj                  | j                  |      j                               |	|
rd| j                  |      z   nd|
r|
S dS # t        $ r' t	        d|d| j
                  j                  d      w xY w)N)is_int_with_centszDecimals not supported for "%s"zCurrency code "z" not implemented for ""rA   r6   )r   CURRENCY_FORMS
ValueErrorrF   NotImplementedErrorr4   __name__r.   rG   rC   rD   )r   rQ   currencycents	separator	adjectiveleftrightis_negativecr1cr2	minus_strs               r   to_currencyzNum2Word_KO.to_currency~   s    #75$* e[	5**84HC !BX!MNN %0DLLR	GGD$$T*0023 $""5))C
 	
 
 	
  	5%4>>2245 5	5s   &B 0C)NT)r   FrA   F)r\   
__module____qualname__rY   r   r-   r>   rL   rN   rU   rg   __classcell__)r4   s   @r   r
   r
      sA    #N'
,)\
:.(%5 GI#
r   r
   N)	
__future__r   r   r   baser   r]   r   r
   r7   r   r   <module>rm      s"   $ B A  *|
- |
r   