a
    b{                     @   s`   d Z ddlZddlZddlZddlmZ ddlmZ ddlmZm	Z	m
Z
mZ G dd deZdS )	z
Translation handler.
    N)gen   )SchemaHandler)get_language_packget_language_packsis_valid_locale
translatorc                   @   s$   e Zd ZejejjdddZdS )TranslationsHandler c                 C   s   i d }}zn|dkr(t |  d\}}nNt|\}}|i krd|dkrdt|rXd|}qvd|}nt|rvt| W n ty   t	 }Y n0 | 
d | t||d dS )z
        Get installed language packs.

        Parameters
        ----------
        locale: str, optional
            If no locale is provided, it will list all the installed language packs.
            Default is `""`.
        r
   )Zdisplay_localez!Language pack '{}' not installed!zLanguage pack '{}' not valid!   )datamessageN)r   Zget_current_localer   r   formatr   Z
set_locale	Exception	traceback
format_excZ
set_statusZfinishjsondumps)selflocaler   r    r   Elib/python3.9/site-packages/jupyterlab_server/translations_handler.pyget   s"    

zTranslationsHandler.getN)r
   )	__name__
__module____qualname__r   	coroutinetornadoZwebZauthenticatedr   r   r   r   r   r	      s   r	   )__doc__r   r   r   r   Zsettings_utilsr   Ztranslation_utilsr   r   r   r   r	   r   r   r   r   <module>   s   