
    ce                     :    d Z ddlZ G d dej                        Zy)z
Fakes For translation tests.
    Nc                   2    e Zd ZdZd Zd Zd Zed        Zy)FakeTranslationszEA test GNUTranslations class that takes a map of msg -> translations.c                     || _         y N)translations)selfr   s     7/usr/lib/python3/dist-packages/oslo_i18n/tests/fakes.py__init__zFakeTranslations.__init__   s
    (    c                 :    | j                   j                  ||      S r   r   getr   msgids     r	   gettextzFakeTranslations.gettext         $$UE22r   c                 :    | j                   j                  ||      S r   r   r   s     r	   ugettextzFakeTranslations.ugettext"   r   r   c                      	 	 d fd	}|S )a  Build mock translator for the given locales.

        Returns a mock gettext.translation function that uses
        individual TestTranslations to translate in the given locales.

        :param locales_map: A map from locale name to a translations map.
                            {
                             'es': {'Hi': 'Hola', 'Bye': 'Adios'},
                             'zh': {'Hi': 'Ni Hao', 'Bye': 'Zaijian'}
                            }


        c                 ^    |r|d   }|v rt        |         S t        j                         S )Nr   )r   r   NullTranslations)domain	localedir	languagesfallbacklanguagelocales_maps        r	   _translationz1FakeTranslations.translator.<locals>._translation4   s6    $Q<{*+K,ABB++--r   )NNN )r   r   s   ` r	   
translatorzFakeTranslations.translator%   s     ,026	. r   N)	__name__
__module____qualname____doc__r
   r   r   staticmethodr    r   r   r	   r   r      s(    O)33  r   r   )r$   r   GNUTranslationsr   r   r   r	   <module>r'      s!     $w.. $r   