U
    mf                     @   s   d dl mZ d dlmZ d dlmZ ddlmZmZm	Z	 edddZ
ed	d
dZedddZedddZe	ejdd Ze	ejdd Ze	ejdd Ze	ejdd ZdS )    )settings)get_supported_language_variant)language_code_re   )ErrorTagsregisterzGYou have provided an invalid value for the LANGUAGE_CODE setting: {!r}.ztranslation.E001idzJYou have provided an invalid language code in the LANGUAGES setting: {!r}.ztranslation.E002zOYou have provided an invalid language code in the LANGUAGES_BIDI setting: {!r}.ztranslation.E003z]You have provided a value for the LANGUAGE_CODE setting that is not in the LANGUAGES setting.ztranslation.E004c                 K   s6   t j}t|trt|s2ttj	|tj
dgS g S )z*Error if LANGUAGE_CODE setting is invalid.r	   )r   LANGUAGE_CODE
isinstancestrr   matchr   E001msgformatr
   )app_configskwargstag r   B/tmp/pip-unpacked-wheel-siwebuq3/django/core/checks/translation.pycheck_setting_language_code   s    r   c                 K   s   dd t jD S )z&Error if LANGUAGES setting is invalid.c                 S   s:   g | ]2\}}t |tr t|sttj|tjd qS r	   )	r   r   r   r   r   E002r   r   r
   ).0r   _r   r   r   
<listcomp>)   s   
 
z+check_setting_languages.<locals>.<listcomp>)r   Z	LANGUAGESr   r   r   r   r   check_setting_languages&   s    r   c                 K   s   dd t jD S )z+Error if LANGUAGES_BIDI setting is invalid.c                 S   s6   g | ].}t |trt|sttj|tjd qS r   )	r   r   r   r   r   E003r   r   r
   )r   r   r   r   r   r   3   s   
 
z0check_setting_languages_bidi.<locals>.<listcomp>)r   ZLANGUAGES_BIDIr   r   r   r   check_setting_languages_bidi0   s    r    c                 K   s2   zt tj W n tk
r(   tg Y S X g S dS )z>Error if language settings are not consistent with each other.N)r   r   r   LookupErrorE004r   r   r   r   "check_language_settings_consistent:   s
    r#   N)Zdjango.confr   Zdjango.utils.translationr   Z#django.utils.translation.trans_realr    r   r   r   r   r   r   r"   translationr   r   r    r#   r   r   r   r   <module>   s6   

	
	