HEX
Server: Apache
System: Linux infong-uk86 4.4.400-icpu-106 #2 SMP Mon Sep 15 08:23:40 UTC 2025 x86_64
User: u44115835 (4976590)
PHP: 8.4.17
Disabled: NONE
Upload Files
File: //kunden/lib/python3/dist-packages/breezy/__pycache__/i18n.cpython-39.pyc
a

�*�^��@s�dZddlmZddlZddlZddlZdadd�Zdd�Zdd	�Z	d
d�Z
dd
�Zdd�Zd!dd�Z
d"dd�Zdd�Zdd�Zdd�Zdd�Zdd�Zdd �ZdS)#z!i18n and l10n support for Bazaar.�)�absolute_importNcCs4t�zt�|�WSty.t�|�YS0dS)zETranslate message.

    :returns: translated message as unicode.
    N)�install�
_translationsZugettext�AttributeError�gettext)�message�r�-/usr/lib/python3/dist-packages/breezy/i18n.pyr#s
rcCs<t�zt�|||�WSty6t�|||�YS0dS)a(Translate message with plural forms based on `number`.

    :param singular: English language message in singular form
    :param plural: English language message in plural form
    :param number: the number this message should be translated for

    :returns: translated message as unicode.
    N)rrZ	ungettextr�ngettext)ZsingularZpluralZnumberrrr	r
/s
	r
cCs|S)z?Mark message for translation but don't translate it right away.r)�msgrrr	�N_?srcCs$t�|�d�}d�dd�|D��S)z`Translate message per paragraph.

    :returns: concatenated translated message as unicode.
    z

css|]}|rt|�ndVqdS)�N)r)�.0�prrr	�	<genexpr>M�z(gettext_per_paragraph.<locals>.<genexpr>)r�split�join)rZ
paragraphsrrr	�gettext_per_paragraphDs
rcCst��adS)zMDo not allow i18n to be enabled.  Useful for third party users
    of breezy.N)�_gettextZNullTranslationsrrrrr	�disable_i18nPsrcCstduS)z/Returns whether translations are in use or not.N�rrrrr	�	installedWsrcCst�r
dSt|�adS)z$Enables gettext translations in brz.N)r�install_translationsr)�langrrr	r\sr�brzcCs@|durt�}|dur"|�d�}nd}tj|t|�|dd�}|S)z�Create a gettext translation object.

    :param lang: language to install.
    :param domain: translation domain to install.
    :param locale_base: plugins can specify their own directory.

    :returns: a gettext translations object to use
    N�:T)Z	localedir�	languages�fallback)�_get_current_localerr�translation�_get_locale_dir)r�domain�locale_baserr rrr	rds	�rcCst�t�|�dS)z~
    Add a fallback translations object.  Typically used by plugins.

    :param fallback: gettext.GNUTranslations object
    N)rr�add_fallback)rrrr	r${sr$cCsdadS)zDisables gettext translations.Nrrrrr	�	uninstall�sr%cs�tjdkrt}nt����fdd�}ttdd�rX|durJtj�|tj��}tj�	|d�S|durptj�|t
��}tj�tj�	|d��}tj�|�r�|Stj�	|tj
�dd�S)	z�Returns directory to find .mo translations file in, either local or system

    :param base: plugins can specify their own local directory
    )�cs
|���S)N)�decode)�path�Zfs_encrr	�decode_path�sz$_get_locale_dir.<locals>.decode_path�frozenFN�localeZshare)�sys�version_info�str�getfilesystemencoding�getattr�osr(�dirname�
executabler�__file__�realpath�exists�prefix)�baser*�dirpathrr)r	r!�s
r!cs�dD]}tj�|�rq�qd}ddl�zddl}WntyP���d}YnX0|jj�	�}|jj�
�}||kr|||g}n|g}�fdd�|D�}d�dd�|D��}|r�|tjd<dS)N��LANGUAGE�LC_ALL�LC_MESSAGESZLANGrcsg|]}�j�|��qSr)Zwindows_locale�get�r�i�r,rr	�
<listcomp>�rz'_check_win32_locale.<locals>.<listcomp>rcSsg|]}|r|�qSrrr@rrr	rC�rr<)r2�environr?r,�ctypes�ImportErrorZgetdefaultlocaleZwindllZkernel32ZGetUserDefaultLCIDZGetSystemDefaultLCIDr)rArrEZ	lcid_userZlcid_systemZlcidrrBr	�_check_win32_locale�s$
rGcCsntj�d�s8ddlm}|���d�}|r8|tjd<|StjdkrHt�dD]}tj�|�}|rL|SqLdS)Nr<�)�configZlanguageZwin32r;)	r2rDr?r
rIZGlobalStackr-�platformrG)rIrrArrr	r�s


rcCs$tj�t�}t||d�}t|�|S)ztLoad the translations for a specific plugin.

    :param domain: Gettext domain name (usually 'brz-PLUGINNAME')
    )r"r#)r2r(r3r5rr$)r"r#r rrr	�load_plugin_translations�s�rK)N)NrN)�__doc__Z
__future__rrrr2r-rr
rrrrrrr$r%r!rGrrKrrrr	�<module>s&