U
    PN^                     @   s   d Z ddlmZ ddlmZ zddlmZ W n  ek
rL   ddlmZ Y nX zddl	m
Z
 W n  ek
r~   ddlm
Z
 Y nX dZdd ZG d	d
 d
eZe ZdS )z
    flask_wtf.i18n
    ~~~~~~~~~~~~~~

    Internationalization support for Flask WTF.

    :copyright: (c) 2013 by Hsiaoming Yang.
    )_request_ctx_stack)support)
get_locale)messages_path)Translationstranslationsc                  C   s\   t j} | dkrdS d| jjkr"dS t| dd}|dkrXt }tjj|t	 gdd}|| _
|S )zaReturns the correct gettext translations.
    Copy from flask-babel with some modifications.
    Nbabelwtforms_translationsZwtforms)domain)r   topZapp
extensionsgetattrr   r   r   loadr   r	   )ctxr   dirname r   5/tmp/pip-install-o1yuzyg2/flask-wtf/flask_wtf/i18n.py_get_translations   s      r   c                   @   s   e Zd Zdd Zdd ZdS )r   c                 C   s0   t  }|d kr|S t|dr&||S ||S )Nugettext)r   hasattrr   gettext)selfstringtr   r   r   r   /   s    

zTranslations.gettextc                 C   sD   t  }|d kr|dkr|S |S t|dr6||||S ||||S )N   	ungettext)r   r   r   ngettext)r   Zsingularpluralnr   r   r   r   r   8   s    
zTranslations.ngettextN)__name__
__module____qualname__r   r   r   r   r   r   r   .   s   	r   N)__doc__Zflaskr   r   r   Zflask_babelr   ImportErrorZflask_babelexZwtforms.i18nr   Zwtforms.ext.i18n.utils__all__r   objectr   r   r   r   r   r   <module>   s   	