Plan 9 from Bell Labs’s /usr/web/sources/contrib/bichued/root/sys/lib/python/locale.pyc

Copyright © 2021 Plan 9 Foundation.
Distributed under the MIT License.
Download the Plan 9 distribution.


�
��c@s�dZddkZddkZddkZddddddd	d
ddd
dddddgZyddkTWnpej
oddZdZdZ	dZ
dZdZdZ
dZeZd�Zdd�Zd�Zd�ZnXed �Zeed!�ZddkZddkZeid"�Zed#�Zeeed$�Zd%�Z e!d&�Z"d'�Z#d(�Z$eZ%d)�Z&d*�Z'd+�Z(dgd.�Z)e
d/�Z*dd0�Zed1�Z+ei,dhjoed5�Z-n7ye.Wne/j
oed6�Z-nXed7�Z-hd8d9<d8d:<d;d<<d=d><d=d?<d@dA<d;dB<d;dC<d;dD<dEdF<dGdH<dIdJ<dKdL<dMdN<dOdP<dQdR<dSdT<dUdV<dWdX<dYdZ<d[d\<d]d^<d=d_<d`da<dbdc<d@dd<dedf<dgdh<didj<dkdl<Z0hdmdn<dmdo<dmdp<dqdr<dqds<dqdt<dudv<dwdx<dwdy<dzd{<dzd|<dzd}<d~d<d�d�<d�d�<d�d�<d�d�<d�d�<d�d�<d�d�<d�d�<d�d�<d�d�<d�d�<d�d�<d�d�<d�d�<d�d�<d�d�<d�d�<d�d�<dzd�<dzd�<d�d�<d�d�<d�d�<d�d�<d�d�<d�d�<d�d�<d�d�<d�d�<d�d�<d�d�<d�d�<d�d�<d�d�<d�d�<d�d�<d�d�<d�d�<d�d�<d�d�<d�d�<d�d�<d8d:<d�d�<d�d�<d8d�<dwd�<d8d�<d8d�<d�d�<d�d�<d�d�<d�d�<d�d�<d�d�<dwd�<dwd�<d�d�<d�d�<d�d�<d�d�<d�d�<d�d�<d�d�<d�d�<d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d��d�d�d��d��d�d�d�d�d�d�d��d��d��d��d��dd<dd<dd<dd<dd<dd<d	d
<d	d<d�<d�
<dd<dd<d�<dd<dd<dd<dd<dd<dd<d�<dd<dd<dd <dd!<dd"<d#d$<d%d&<d%d'<d%d(<d)d*<dwd<<dwd+<d,d-<d,d.<d/d0<d1d2<d3d4<d5d6<d5d7<d8d9<d8d:<d8d;<d<d=<d<d><d?d@<dAdB<dAdC<dDdE<dDdF<dGdH<dIdJ<dIdK<dLdM<dNdO<d8dP<dwdQ<dwdR<dSdT<dwdU<dSdV<dSdW<dSdX<dSdY<dZd[<dZd\<dZd]<d^d_<d^d`<dadb<d8dc<d8dd<dedf<dedg<d8dh<d8di<dwdj<d8dk<dwdl<dwdm<dwdn<dodp<dqdr<dqds<dodt<dodu<dvdw<dxdy<dxdz<d{d|<d{d}<d~d<d~d�<d�d�<d�d�<d�d�<d�d�<d�d�<d�d�<d�d�<d�d�<dvd�<dvd�<dvd�<d�d�<d�d�<d�d�<d�d�<d�d�<d�d�<d�d�<d�d�<d�d�<d�d�<d�d�<d�d�<d�d�<d�d�<d�d�<d�d�<d�d�<d�d�<d�d�<d�d�<d�d�<d�d�<d�d�<d�d�<d�d�<d�d�<d�d�<d�d�<d�d�<d�d�<d�d�<d�d�<d�d�<d�d�<d�d�<d�d�<d�d�<d#d�<d�d�<d�d�<d#d�<d�d�<d�d�<d�d�<d�d�<d�d�<d�d�<d�d�<d�d�<d�d�<d�d�<d�d�<d�d�<d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d��d��d��d��d��d��d�d�d�d�d�d�d��d�<dd<dd<dd<dd<dd<d�<d�	<d�
<dd<dd
<dd<dd<dd<dd<dd<d�<d�<d�<d�<dd<d�<d�<dd<dd<dd<d d!<d"d#<d"d$<d%d&<d%d'<d(d)<d(d*<d(d+<d,d-<d.d/<d.d0<d�1<d�2<d�3<dd4<d�5<d�6<d%d7<d%d8<d%d9<d:d;<d:d<<d%d=<d%d><d?d@<d?dA<d?dB<dCdD<dEdF<dEdG<dHdI<dHdJ<dKdL<dHdM<dKdN<dOdP<dOdQ<dRdS<dRdT<dRdU<d�dV<d�dW<d�dX<d�dY<dZd[<dZd\<dZd]<dZd^<d_d`<d_da<dbdc<dbdd<dbde<dbdf<d_dg<d_dh<d_di<djdk<djdl<dwdm<dSdn<dwdo<dSdp<dwdq<dSdr<dsdt<dudv<dudw<dxdy<dxdz<dsd{<dsd|<dsd}<d~d<d~d�<dsd�<dsd�<d�d�<d�d�<d�d�<dHd�<dHd�<dHd�<d�d�<d�d�<d�d�<d�d�<d�d�<d�d�<d�d�<d�d�<d�d�<d�d�<d�d�<d�d�<d�d�<d�d�<d�d�<d�d�<d�d�<d�d�<d�d�<d�d�<d�d�<d�d�<d�d�<d�d�<d�d�<d�d�<d�d�<d�d�<d�d�<d�d�<d�d�<d�d�<d�d�<d�d�<d�d�<d�d�<d�d�<d�d�<d�d�<d�d�<d�d�<d�d�<d�d�<d�d�<d�d�<d�d�<d�d�<d�d�<d�d�<d�d�<d�d�<d�d�<d�d�<d�d�<d�d�<d�d�<d�d�<d�d�<d�d�<d�d�<d�d�<d�d�<d�d�<d�d�<d�d�<d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�dd�dd�dd�dd�d��d��dd�dd�dd�d��d��d��d��d��d��d�<d�<dd<dd<dd<dd<dd<d	d
<d	d<dd<dd
<dd<dd<dd<dd<dd<dd<d�<dd<dd<dd<dd<dd<dd<dd <dd!<d"d#<d"d$<dd%<dd&<d'd(<d'd)<d*d+<d*d,<d*d-<d.d/<d.d0<d.d1<d.d2<d3d4<d3d5<d6d7<d6d8<d8d9<d8d:<d;d<<d;d=<d;d><d3d?<d6d@<d6dA<d6dB<dCdD<dCdE<d3dF<d3dG<d3dH<dIdJ<dKdL<dIdM<dNdO<dNdP<dNdQ<dNdR<dSdT<dSdU<dVdW<dSdX<dYdZ<dVd[<d\d]<d^d_<d\d`<d^da<dNdb<dSdc<ddde<dfdg<dfdh<didj<didk<dfdl<dfdm<dndo<dndp<dndq<drds<dtdu<drdv<drdw<dndx<drdy<drdz<d{d|<d{d}<dvd~<dvd<dvd�<dvd�<d�d�<d�d�<d�d�<d�d�<d�d�<d�d�<d�d�<d�d�<d�d�<d�d�<d�d�<d�d�<d�d�<d�d�<d�d�<d�d�<d�d�<d�d�<d�d�<d�d�<d�d�<d�d�<d�d�<d�d�<d�d�<d�d�<d�d�<d�d�<d�d�<d�d�<d�d�<d�d�<d�d�<d�d�<d�d�<d�d�<d�d�<d�d�<d�d�<d�d�<d�d�<d�d�<d�d�<d�d�<d�d�<d�d�<d�d�<d�d�<d�d�<d�d�<d�d�<d�d�<d�d�<d�d�<d�d�<d�d�<d�d�<d�d�<d�d�<d�d�<d�d�<d�d�<d�d�<d�d�<d�d�<d�d�<d�d�<d�d�<d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d��d��d�d�d��d��d��d��d��d�<d�<d�<d�d<Z1hdd<dd<dd	<d
d<dd
<dd<dd<dd<dd<dd<dd<dd<dd<dd<d d!<d"d#<d$d%<d&d'<d(d)<d*d+<d*d,<d-d.<d/d0<d1d2<d3d4<d3d5<d6d7<d8d9<d:d;<d<d<d=d><d?d@<dAdB<dCdD<dEdF<dGdH<dIdJ<dKdL<dMdN<dOdP<dQdR<dSdT<dUdV<dWdX<dYdZ<d[d\<d]d^<d_d`<dadb<dcdd<dedf<dgdh<didj<dkdl<dmdn<dodp<dqdr<dsdt<dudv<dwdx<dydz<d{d|<d}d~<dd�<d�d�<d�d�<d�d�<d�d�<d�d�<d�d�<d�d�<d�d�<d�d�<d�d�<d�d�<d�d�<d�d�<d�d�<d�d�<d�d�<d�d�<d�d�<d�d�<d�d�<d�d�<d�d�<d�d�<d�d�<d�d�<d�d�<d�d�<d�d�<d�d�<d�d�<d�d�<d�d�<d�d�<d�d�<d�d�<d�d�<d�d�<d�d�<d�d�<d�d�<d�d�<d�d�<d�d�<d�d�<d�d�<d�d�<d�d�<d�d�<d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d��d��d��d��d��d��d��d��dd<dd<dd<dd<dd	<d
d<dd
<dd<dd<dd<dd<dd<dd<dd<dd<dd<dd<dd <d!d"<d#d$<d%d&<d'd(<d)d*<d+d,<d-d.<d/d0<d1d2<d3d4<d5d6<d7d8<d9d:<d;d<<d=d><d?d@<dAdB<dCdD<dEdF<dGdH<dIdJ<dKdL<dMdN<dOdP<dQdR<dSdT<dUdV<dWdX<dYdZ<d[d\<d[d]<d^d_<d`da<Z2db�Z3yeWne/j
onXei4dc�e5ddjodeGHHe3�HdfGHHe$�ndS(is� Locale support.

    The module provides low-level access to the C lib's locale APIs
    and adds high level number formatting APIs as well as a locale
    aliasing engine to complement these.

    The aliasing engine includes support for many commonly used locale
    names and maps them to values suitable for passing to the C lib's
    setlocale() function. It also includes default encodings for all
    supported locale names.

i�Nt	setlocaletErrort
localeconvtstrcolltstrxfrmtformattstrtatoftatoitLC_CTYPEt
LC_COLLATEtLC_TIMEtLC_MONETARYt
LC_NUMERICtLC_ALLtCHAR_MAX(t*iiiiiiiicCs�hdgd<dd<dd<dd<dd<gd<dd	<d
d<dd<dd
<dd<dd<dd<dd<dd<dd<dd<dd<S(sd localeconv() -> dict.
            Returns numeric and monetary locale-specific parameters.
        itgroupingttcurrency_symboltn_sign_posnt
p_cs_precedest
n_cs_precedestmon_groupingtn_sep_by_spacet.t
decimal_pointt
negative_signt
positive_signtp_sep_by_spacetint_curr_symboltp_sign_posnt
thousands_septmon_thousands_septfrac_digitstmon_decimal_pointtint_frac_digits((((s/sys/lib/python/locale.pyR,s$																cCs|djo
td�ndS(sd setlocale(integer,string=None) -> string.
            Activates/queries locale processing.
        RtCs*_locale emulation only supports "C" localeN(NRR%(tNoneR(tcategorytvalue((s/sys/lib/python/locale.pyRDs

cCs
t||�S(sb strcoll(string,string) -> int.
            Compares two strings according to the locale.
        (tcmp(tatb((s/sys/lib/python/locale.pyRLscCs|S(sd strxfrm(string) -> string.
            Returns a string that behaves for cmp locale-aware.
        ((ts((s/sys/lib/python/locale.pyRRsc
Cs�t�}||odpd}||odpd}|p|dfSnd}d}d}|ddjo'|id�}||}|| }nx�|o�|o�|dtjoPn*|ddjo|d}	|d	}n|o!||	||}|d	7}n||	}||	 }|o'|dd
jo||||fSq�q�W|p|||fSn|o|||}|d	7}n|||fS(NR!R RRiRi�t it
0123456789(RtfindR(
R,tmonetarytconvR Rtresulttsepstspacestsptgroup((s/sys/lib/python/locale.pyt_group^s>	

c
GsP|ddjotd��n|o||f|}n||}|ddjo�d}|id�}|o$t|dd|�\|d<}nt�|odpd	}|i|�}x�|oE|id
�}	|	djoPn||	 ||	d}|d8}q�Wn7|ddjo%|ot|d|�d}qLn|S(
s�Returns the locale-aware substitution of a %? specifier
    (percent).

    additional is for format strings which contain one or more
    '*' modifiers.it%s9format() must be given exactly one %char format specifieri�teEfFgGRR0R#RR-itdiu(t
ValueErrortsplitR7RtjoinR/(
tpercentR(RR0t
additionalt	formattedR3tpartsRR5((s/sys/lib/python/locale.pyR�s,
$
sG%(?:\((?P<key>.*?)\))?(?P<modifiers>[-#0-9 +*.hlL]*?)[eEfFgGdiouxXcrs%]c

CsWtti|��}tid|�}t|t�o�t|�}d}x�|D]{}|id�id�}t|i�|||t	||d|d|!�||<||d|d|5|d|7}qPWt|�}nqt
i|�oDx]|D]5}|id�}	t|i�||	|�||	<q�t|di�||�}||S(s�Formats a string in the same way that the % formatting would use,
    but takes the current locale into account.
    Grouping is applied if the third parameter is true.s%sit	modifiersRitkey(tlistt_percent_retfinditertsubt
isinstancettupleR6tcountRtFalsetoperatort
isMappingType(
tftvalRtpercentstnew_ftnew_valtitperct	starcountRC((s/sys/lib/python/locale.pyt
format_string�s&9(cCs
t�}||odpd}|djotd��ntd|t|�|dt�}d|d}|o�||od	pd
}||djodpd
}||djodpd}	|o ||	odpd|}q||	odpd|}n||djodpd}
||djodpd}|
djod|d}n�|
djo||}nl|
djo||}nQ|
djo|id|�}n.|
djo|id|�}n||}|idd�idd�S(sIFormats val according to the currency settings
    in the current locale.R$R"is9Currency formatting is not possible using the 'C' locale.s%%.%ifR0t<t>RRiRRRRR-RRRRRt(t)iiii(RR;RtabstTruetreplace(ROtsymbolRt
internationalR1tdigitsR,tsmbtprecedest	separatedtsign_postsign((s/sys/lib/python/locale.pytcurrency�s6	
"  





cCs
td|�S(s9Convert float to integer, taking the locale into account.s%.12g(R(RO((s/sys/lib/python/locale.pyR�scCs^t�d}|o|i|d�}nt�d}|o|i|d�}n||�S(s<Parses a string as a float according to the locale settings.R RRR(RR](tstringtfuncttstdd((s/sys/lib/python/locale.pyR�s

cCs
t|t�S(sAConverts a string to an integer according to the locale settings.(Rtint(R((s/sys/lib/python/locale.pyRscCsUttd�tddd�}|GdGt|�GHtd�}|GdGt|�GHdS(NRs%di�itisg�Q�	@(RRRRRR(ts1((s/sys/lib/python/locale.pyt_tests

cCs�|i�}d|jo|idd�}nd|jo+|id�d \}}|d|}n
|}d}|idd�}|idd�}|d|}ti|d�}|dj	o|Snti|d�}|dj	o�d|jo|id�\}}n
|}d}|o=ti|�}tiii||�}t	i||�}n|}|o|d|Sq�|Sn|SdS(s� Returns a normalized locale code for the given locale
        name.

        The returned locale code is formatted for use with
        setlocale().

        If normalization fails, the original name is returned
        unchanged.

        If the given encoding is not known, the function defaults to
        the default encoding for the locale code just like setlocale()
        does.

    t:RiRt-t_N(
tlowerR]R<tlocale_aliastgetR&t	encodingstnormalize_encodingtaliasestlocale_encoding_alias(t
localenametfullnametlangnametencodingt
norm_encodingtlookup_nametcodetdefenc((s/sys/lib/python/locale.pyt	normalizes>




		
cCs�t|�}d|joA|id�\}}|djod|jo|dfSqZnd|jot|id�d �Sn|djod	Sntd|�dS(
s� Parses the locale code for localename and returns the
        result as tuple (language code, encoding).

        The localename is normalized and passed through the locale
        alias engine. A ValueError is raised in case the locale name
        cannot be parsed.

        The language code corresponds to RFC 1766.  code and encoding
        can be None in case the values cannot be determined or are
        unknown to this implementation.

    t@teuroRsiso-8859-15iR%sunknown locale: %sN(NN(R�R<RIR&R;(RyRtmodifier((s/sys/lib/python/locale.pyt_parse_localenameYs


cCsH|\}}|djo
d}n|djo|Sn
|d|SdS(s� Builds a locale code from the given tuple (language code,
        encoding).

        No aliasing or normalizing takes place.

    R%RN(R&(tlocaletupletlanguageR|((s/sys/lib/python/locale.pyt_build_localenamews


tLANGtLANGUAGEc
Csy"ddk}|i�\}}Wnttfj
onPXtidjo4|o-|d djotit|d��}n||fSddk	}|i
i}xS|D]E}||d�}|o)|djo|id�d}nPq�q�Wd	}t
|�S(
s� Tries to determine the default locale settings and returns
        them as tuple (language code, encoding).

        According to POSIX, a program which has not called
        setlocale(LC_ALL, "") runs using the portable 'C' locale.
        Calling setlocale(LC_ALL, "") lets it use the default locale as
        defined by the LANG variable. Since we don't want to interfere
        with the current locale setting we thus emulate the behavior
        in the way described above.

        To maintain compatibility with other platforms, not only the
        LANG variable is tested, but a list of variables given as
        envvars parameter. The first found to be defined will be
        used. envvars defaults to the search path used in GNU gettext;
        it must always contain the variable name 'LANG'.

        Except for the code 'C', the language code corresponds to RFC
        1766.  code and encoding can be None in case the values cannot
        be determined.

    i�Ntwin32it0xiR�RoR%(t_localet_getdefaultlocaletImportErrortAttributeErrortsystplatformtwindows_localeRtRktostenvironR&R<R�(tenvvarsR�RR|R�tlookuptvariableRy((s/sys/lib/python/locale.pytgetdefaultlocale�s&(

	cCs=t|�}|tjod|jo
td�nt|�S(sp Returns the current setting for the given locale category as
        tuple (language code, encoding).

        category may be one of the LC_* value except LC_ALL. It
        defaults to LC_CTYPE.

        Except for the code 'C', the language code corresponds to RFC
        1766.  code and encoding can be None in case the values cannot
        be determined.

    t;s category LC_ALL is not supported(t
_setlocaleRt	TypeErrorR�(R'Ry((s/sys/lib/python/locale.pyt	getlocale�s

cCsC|o/t|�td�j	ott|��}nt||�S(sE Set the locale for the given category.  The locale can be
        a string, a locale tuple (language code, encoding), or None.

        Locale tuples are converted to strings the locale aliasing
        engine.  Locale strings are passed directly to the C lib.

        category may be given as one of the LC_* values.

    R(ttypeR�R�R�(R'tlocale((s/sys/lib/python/locale.pyR�s cCst|tt���dS(s� Sets the locale for category to the default setting.

        The default setting is determined by calling
        getdefaultlocale(). category defaults to LC_ALL.

    N(R�R�R�(R'((s/sys/lib/python/locale.pytresetlocale�sR�tdarwintmaccCsddk}|i�dS(s1Return the charset that the user is likely using.i�Ni(R�R�(tdo_setlocaleR�((s/sys/lib/python/locale.pytgetpreferredencoding�scCst�dS(sbReturn the charset that the user is likely using,
            by looking at environment variables.i(R�(R�((s/sys/lib/python/locale.pyR��scCsO|o:tt�}ttd�tt�}tt|�|Sntt�SdS(sdReturn the charset that the user is likely using,
            according to the system configuration.RN(RR	tnl_langinfotCODESET(R�toldlocR2((s/sys/lib/python/locale.pyR��s

R%t437tcs	ISO8859-1tentJIS7tjistjis7teucJPtajectasciitlatin_1t	iso8859_1s
ISO8859-10t
iso8859_10s
ISO8859-11t
iso8859_11s
ISO8859-13t
iso8859_13s
ISO8859-14t
iso8859_14s
ISO8859-15t
iso8859_15s	ISO8859-2t	iso8859_2s	ISO8859-3t	iso8859_3s	ISO8859-4t	iso8859_4s	ISO8859-5t	iso8859_5s	ISO8859-6t	iso8859_6s	ISO8859-7t	iso8859_7s	ISO8859-8t	iso8859_8s	ISO8859-9t	iso8859_9t
iso2022_jptSJISt	shift_jistTACTISttactisteuc_jpteucKRteuc_krtUTF8tutf_8sKOI8-Rtkoi8_rsKOI8-Utkoi8_usa3_AZ.KOI8-Cta3ta3_azsa3_az.koi8csaf_ZA.ISO8859-1taftaf_zasaf_za.iso88591sam_ET.UTF-8tamsen_US.ISO8859-1tamericansamerican.iso88591sar_AA.ISO8859-6tartar_aasar_aa.iso88596sar_AE.ISO8859-6tar_aesar_BH.ISO8859-6tar_bhsar_DZ.ISO8859-6tar_dzsar_EG.ISO8859-6tar_egsar_eg.iso88596sar_IQ.ISO8859-6tar_iqsar_JO.ISO8859-6tar_josar_KW.ISO8859-6tar_kwsar_LB.ISO8859-6tar_lbsar_LY.ISO8859-6tar_lysar_MA.ISO8859-6tar_masar_OM.ISO8859-6tar_omsar_QA.ISO8859-6tar_qasar_SA.ISO8859-6tar_sasar_sa.iso88596sar_SD.ISO8859-6tar_sdsar_SY.ISO8859-6tar_sysar_TN.ISO8859-6tar_tnsar_YE.ISO8859-6tar_yetarabicsarabic.iso88596saz_AZ.ISO8859-9Etaztaz_azsaz_az.iso88599esbe_BY.CP1251tbetbe_bysbe_by.cp1251sbe_by.microsoftcp1251sbg_BG.CP1251tbgtbg_bgsbg_bg.cp1251sbg_BG.ISO8859-5sbg_bg.iso88595sbg_BG.KOI8-Rsbg_bg.koi8rsbg_bg.microsoftcp1251snb_NO.ISO8859-1tbokmalsbokm�br_FR.ISO8859-1tbrtbr_frsbr_fr.iso88591sbr_FR.ISO8859-14sbr_fr.iso885914sbr_FR.ISO8859-15sbr_fr.iso885915s
br_fr@eurot	bulgariansfr_CA.ISO8859-1sc-frenchsc-french.iso88591sc.ens
c.iso88591tc_csc_c.csca_ES.ISO8859-1tcatca_essca_es.iso88591sca_ES.ISO8859-15sca_es.iso885915s
ca_es@eurotcatalantcextends
cextend.enszh_CN.eucCNs	chinese-sszh_TW.eucTWs	chinese-tshr_HR.ISO8859-2tcroatianscs_CZ.ISO8859-2tcstcs_csscs_cs.iso88592tcs_czscs_cz.iso88592scy_GB.ISO8859-1tcytcy_gbscy_gb.iso88591scy_GB.ISO8859-14scy_gb.iso885914scy_GB.ISO8859-15scy_gb.iso885915s
cy_gb@eurotcztcz_cztczechsda_DK.ISO8859-1tdatda_dksda_dk.88591sda_DK.ISO8859-15sda_dk.885915sda_dk.iso88591sda_dk.iso885915s
da_dk@eurotdanishsdanish.iso88591tdansksde_DE.ISO8859-1tdesde_AT.ISO8859-1tde_atsde_at.iso88591sde_AT.ISO8859-15sde_at.iso885915s
de_at@eurosde_BE.ISO8859-1tde_besde_be.iso88591sde_BE.ISO8859-15sde_be.iso885915s
de_be@eurosde_CH.ISO8859-1tde_chsde_ch.iso88591sde_CH.ISO8859-15sde_ch.iso885915s
de_ch@eurotde_desde_de.88591sde_DE.ISO8859-15sde_de.885915sde_de.885915@eurosde_de.iso88591sde_de.iso885915s
de_de@eurosde_LU.ISO8859-1tde_lusde_lu.iso88591sde_LU.ISO8859-15sde_lu.iso885915s
de_lu@eurotdeutschsnl_NL.ISO8859-1tdutchsnl_BE.ISO8859-1sdutch.iso88591see_EE.ISO8859-4teetee_eesee_ee.iso88594set_EE.ISO8859-1teestisel_GR.ISO8859-7teltel_grsel_gr.iso88597sel_GR.ISO8859-15s
el_gr@eurosen.iso88591sen_AU.ISO8859-1ten_ausen_au.iso88591sen_BE.ISO8859-1ten_besen_BE.ISO8859-15s
en_be@eurosen_BW.ISO8859-1ten_bwsen_CA.ISO8859-1ten_casen_ca.iso88591sen_GB.ISO8859-1ten_gbsen_gb.88591sen_gb.iso88591sen_GB.ISO8859-15sen_gb.iso885915s
en_gb@eurosen_HK.ISO8859-1ten_hksen_IE.ISO8859-1ten_iesen_ie.iso88591sen_IE.ISO8859-15sen_ie.iso885915s
en_ie@eurosen_IN.ISO8859-1ten_insen_NZ.ISO8859-1ten_nzsen_nz.iso88591sen_PH.ISO8859-1ten_phsen_SG.ISO8859-1ten_sgten_ukten_ussen_us.88591sen_US.ISO8859-15sen_us.885915sen_us.iso88591sen_us.iso885915sen_us.iso885915@euros
en_us@eurosen_us@euro@eurosen_ZA.ISO8859-1ten_zasen_za.88591sen_za.iso88591sen_ZA.ISO8859-15sen_za.iso885915s
en_za@eurosen_ZW.ISO8859-1ten_zwteng_gbseng_gb.8859sen_EN.ISO8859-1tenglishsenglish.iso88591t
english_uksenglish_uk.8859senglish_united-statessenglish_united-states.437t
english_ussenglish_us.8859senglish_us.asciiseo_XX.ISO8859-3teoseo_EO.ISO8859-3teo_eoseo_eo.iso88593teo_xxseo_xx.iso88593ses_ES.ISO8859-1tesses_AR.ISO8859-1tes_arses_ar.iso88591ses_BO.ISO8859-1tes_boses_bo.iso88591ses_CL.ISO8859-1tes_clses_cl.iso88591ses_CO.ISO8859-1tes_coses_co.iso88591ses_CR.ISO8859-1tes_crses_cr.iso88591ses_DO.ISO8859-1tes_doses_do.iso88591ses_EC.ISO8859-1tes_ecses_ec.iso88591tes_esses_es.88591ses_es.iso88591ses_ES.ISO8859-15ses_es.iso885915s
es_es@euroses_GT.ISO8859-1tes_gtses_gt.iso88591ses_HN.ISO8859-1tes_hnses_hn.iso88591ses_MX.ISO8859-1tes_mxses_mx.iso88591ses_NI.ISO8859-1tes_nises_ni.iso88591ses_PA.ISO8859-1tes_pases_pa.iso88591ses_PA.ISO8859-15ses_pa.iso885915s
es_pa@euroses_PE.ISO8859-1tes_peses_pe.iso88591ses_PE.ISO8859-15ses_pe.iso885915s
es_pe@euroses_PR.ISO8859-1tes_prses_pr.iso88591ses_PY.ISO8859-1tes_pyses_py.iso88591ses_PY.ISO8859-15ses_py.iso885915s
es_py@euroses_SV.ISO8859-1tes_svses_sv.iso88591ses_SV.ISO8859-15ses_sv.iso885915s
es_sv@euroses_US.ISO8859-1tes_usses_UY.ISO8859-1tes_uyses_uy.iso88591ses_UY.ISO8859-15ses_uy.iso885915s
es_uy@euroses_VE.ISO8859-1tes_veses_ve.iso88591ses_VE.ISO8859-15ses_ve.iso885915s
es_ve@eurotestonianset_EE.ISO8859-15tettet_eeset_ee.iso88591set_EE.ISO8859-13set_ee.iso885913set_ee.iso885915set_EE.ISO8859-4set_ee.iso88594s
et_ee@euroseu_ES.ISO8859-1teuteu_esseu_es.iso88591seu_ES.ISO8859-15seu_es.iso885915s
eu_es@eurosfa_IR.UTF-8tfatfa_irsfa_IR.ISIRI-3342sfa_ir.isiri3342sfi_FI.ISO8859-15tfitfi_fisfi_FI.ISO8859-1sfi_fi.88591sfi_fi.iso88591sfi_fi.iso885915sfi_FI.UTF-8sfi_fi.utf8@euros
fi_fi@eurotfinnishsfinnish.iso88591sfo_FO.ISO8859-1tfotfo_fosfo_fo.iso88591sfo_FO.ISO8859-15sfo_fo.iso885915s
fo_fo@eurosfr_FR.ISO8859-1tfrsfr_BE.ISO8859-1tfr_besfr_be.88591sfr_be.iso88591sfr_BE.ISO8859-15sfr_be.iso885915s
fr_be@eurotfr_casfr_ca.88591sfr_ca.iso88591sfr_CA.ISO8859-15sfr_ca.iso885915s
fr_ca@eurosfr_CH.ISO8859-1tfr_chsfr_ch.88591sfr_ch.iso88591sfr_CH.ISO8859-15sfr_ch.iso885915s
fr_ch@eurotfr_frsfr_fr.88591sfr_fr.iso88591sfr_FR.ISO8859-15sfr_fr.iso885915s
fr_fr@eurosfr_LU.ISO8859-1tfr_lusfr_lu.88591sfr_lu.iso88591sfr_LU.ISO8859-15sfr_lu.iso885915s
fr_lu@eurosfran�stfre_frsfre_fr.8859tfrenchsfrench.iso88591t
french_francesfrench_france.8859sga_IE.ISO8859-1tgatga_iesga_ie.iso88591sga_IE.ISO8859-14sga_ie.iso885914sga_IE.ISO8859-15sga_ie.iso885915s
ga_ie@eurosgl_ES.ISO8859-1tgalegotgaliciansgd_GB.ISO8859-1tgdtgd_gbsgd_gb.iso88591sgd_GB.ISO8859-14sgd_gb.iso885914sgd_GB.ISO8859-15sgd_gb.iso885915s
gd_gb@eurotger_desger_de.8859tgermansgerman.iso88591tgerman_germanysgerman_germany.8859tgltgl_essgl_es.iso88591sgl_ES.ISO8859-15sgl_es.iso885915s
gl_es@eurotgreeksgreek.iso88597sgv_GB.ISO8859-1tgvtgv_gbsgv_gb.iso88591sgv_GB.ISO8859-14sgv_gb.iso885914sgv_GB.ISO8859-15sgv_gb.iso885915s
gv_gb@euroshe_IL.ISO8859-8thethe_ilshe_IL.CP1255she_il.cp1255she_il.iso88598she_il.microsoftcp1255siw_IL.ISO8859-8thebrewshebrew.iso88598shi_IN.ISCII-DEVthithi_inshi_in.isciidevthrthr_hrshr_hr.iso88592thrvatskishu_HU.ISO8859-2thuthu_hushu_hu.iso88592t	hungariansis_IS.ISO8859-1t	icelandicsicelandic.iso88591sid_ID.ISO8859-1tidtid_idtintin_idRltis_issis_is.iso88591sis_IS.ISO8859-15sis_is.iso885915s
is_is@euros
iso-8859-1siso-8859-15s	iso8859-1s
iso8859-15t
iso_8859_1tiso_8859_15sit_IT.ISO8859-1titsit_CH.ISO8859-1tit_chsit_ch.iso88591sit_CH.ISO8859-15sit_ch.iso885915s
it_ch@eurotit_itsit_it.88591sit_it.iso88591sit_IT.ISO8859-15sit_it.iso885915s
it_it@eurotitaliansitalian.iso88591siu_CA.NUNACOM-8tiutiu_casiu_ca.nunacom8tiwtiw_ilsiw_il.iso88598sja_JP.eucJPtjas
ja_JP.JIS7sja.jiss
ja_JP.SJISsja.sjistja_jps
ja_jp.ajecs	ja_jp.eucsja_jp.eucjpsja_jp.iso-2022-jpsja_jp.iso2022jps	ja_jp.jiss
ja_jp.jis7sja_jp.mscodes
ja_jp.sjiss
ja_jp.ujistjapantjapanesesjapanese-eucsjapanese.eucs
japanese.sjistjp_jpska_GE.GEORGIAN-ACADEMYtkatka_geska_ge.georgianacademyska_GE.GEORGIAN-PSska_ge.georgianpsska_ge.georgianrsskl_GL.ISO8859-1tkltkl_glskl_gl.iso88591skl_GL.ISO8859-15skl_gl.iso885915s
kl_gl@eurosko_KR.eucKRtkotko_krs	ko_kr.eucsko_kr.euckrtkoreans
korean.eucskw_GB.ISO8859-1tkwtkw_gbskw_gb.iso88591skw_GB.ISO8859-14skw_gb.iso885914skw_GB.ISO8859-15skw_gb.iso885915s
kw_gb@euroslt_LT.ISO8859-13t
lithuanianslo_LA.MULELAO-1tlotlo_laslo_LA.IBM-CP1133slo_la.cp1133slo_la.ibmcp1133slo_la.mulelao1tlttlt_ltslt_lt.iso885913slt_LT.ISO8859-4slt_lt.iso88594slv_LV.ISO8859-13tlvtlv_lvslv_lv.iso885913slv_LV.ISO8859-4slv_lv.iso88594smi_NZ.ISO8859-1tmitmi_nzsmi_nz.iso88591smk_MK.ISO8859-5tmktmk_mksmk_MK.CP1251smk_mk.cp1251smk_mk.iso88595smk_mk.microsoftcp1251sms_MY.ISO8859-1tmstms_mysms_my.iso88591smt_MT.ISO8859-3tmttmt_mtsmt_mt.iso88593tnbtnb_nosnb_no.88591snb_no.iso88591snb_NO.ISO8859-15snb_no.iso885915s
nb_no@eurotnltnl_besnl_be.88591snl_be.iso88591snl_BE.ISO8859-15snl_be.iso885915s
nl_be@eurotnl_nlsnl_nl.88591snl_nl.iso88591snl_NL.ISO8859-15snl_nl.iso885915s
nl_nl@eurosnn_NO.ISO8859-1tnntnn_nosnn_no.88591snn_no.iso88591snn_NO.ISO8859-15snn_no.iso885915s
nn_no@eurosno_NO.ISO8859-1tnosny_NO.ISO8859-1s
no@nynorsktno_nosno_no.88591sno_no.iso88591sno_NO.ISO8859-15sno_no.iso885915s
no_no@eurot	norwegiansnorwegian.iso88591tnytny_nosny_no.88591sny_no.iso88591sny_NO.ISO8859-15sny_no.iso885915s
ny_no@eurotnynorsksoc_FR.ISO8859-1toctoc_frsoc_fr.iso88591soc_FR.ISO8859-15soc_fr.iso885915s
oc_fr@eurospd_US.ISO8859-1tpdspd_DE.ISO8859-1tpd_despd_de.iso88591spd_DE.ISO8859-15spd_de.iso885915s
pd_de@eurotpd_usspd_us.iso88591spd_US.ISO8859-15spd_us.iso885915s
pd_us@eurosph_PH.ISO8859-1tphtph_phsph_ph.iso88591spl_PL.ISO8859-2tpltpl_plspl_pl.iso88592tpolishspt_PT.ISO8859-1t
portuguesesportuguese.iso88591spt_BR.ISO8859-1tportuguese_brazilsportuguese_brazil.8859tposixs
posix-utf2spp_AN.ISO8859-1tpptpp_anspp_an.iso88591tpttpt_brspt_br.88591spt_br.iso88591spt_BR.ISO8859-15spt_br.iso885915s
pt_br@eurotpt_ptspt_pt.88591spt_pt.iso88591spt_PT.ISO8859-15spt_pt.iso885915spt_PT.UTF-8spt_pt.utf8@euros
pt_pt@eurosro_RO.ISO8859-2trotro_rosro_ro.iso88592tromaniansru_RU.ISO8859-5trutru_rusru_RU.CP1251sru_ru.cp1251sru_ru.iso88595sru_RU.KOI8-Rsru_ru.koi8rsru_ru.microsoftcp1251sru_UA.KOI8-Utru_uasru_UA.CP1251sru_ua.cp1251sru_ua.koi8usru_ua.microsoftcp1251trumaniantrussiansse_NO.UTF-8tse_nossh_YU.ISO8859-2t
serbocroatiantshssh_HR.ISO8859-2tsh_hrssh_hr.iso88592tsh_sptsh_yussk_SK.ISO8859-2tsktsk_skssk_sk.iso88592ssl_SI.ISO8859-2tslssl_CS.ISO8859-2tsl_cstsl_sissl_si.iso88592tslovaktslovenet	slovenianssp_YU.ISO8859-5R5tsp_yutspanishsspanish.iso88591t
spanish_spainsspanish_spain.8859ssq_AL.ISO8859-2tsqtsq_alssq_al.iso88592ssr_YU.ISO8859-5tsrssr@cyrillicssr_SP.ISO8859-2tsr_sptsr_yussr_YU.CP1251ssr_yu.cp1251@cyrillicssr_YU.ISO8859-2ssr_yu.iso88592ssr_yu.iso88595ssr_yu.iso88595@cyrillicssr_yu.microsoftcp1251@cyrillicssr_YU.UTF-8ssr_yu.utf8@cyrillicssr_yu@cyrillicssv_SE.ISO8859-1tsvssv_FI.ISO8859-1tsv_fissv_fi.iso88591ssv_FI.ISO8859-15ssv_fi.iso885915s
sv_fi@eurotsv_sessv_se.88591ssv_se.iso88591ssv_SE.ISO8859-15ssv_se.iso885915s
sv_se@eurotswedishsswedish.iso88591s
ta_IN.TSCII-0ttatta_insta_in.tsciista_in.tscii0stg_TJ.KOI8-Cttgttg_tjstg_tj.koi8csth_TH.ISO8859-11tthtth_thsth_th.iso885911sth_TH.TIS620sth_th.tactissth_th.tis620tthaistl_PH.ISO8859-1ttlttl_phstl_ph.iso88591str_TR.ISO8859-9ttrttr_trstr_tr.iso88599stt_RU.TATAR-CYRtttttt_rustt_RU.KOI8-Cstt_ru.koi8cstt_ru.tatarcyrtturkishsturkish.iso88599suk_UA.KOI8-Utuktuk_uasuk_UA.CP1251suk_ua.cp1251suk_UA.ISO8859-5suk_ua.iso88595suk_ua.koi8usuk_ua.microsoftcp1251s	en_US.utftunivt	universalsen_US.UTF-8suniversal.utf8@ucs4sur_PK.CP1256turtur_pksur_pk.cp1256sur_pk.microsoftcp1256suz_UZ.UTF-8tuztuz_uzs
vi_VN.TCVNtvitvi_vns
vi_vn.tcvnsvi_vn.tcvn5712svi_VN.VISCIIsvi_vn.visciisvi_vn.viscii111swa_BE.ISO8859-1twatwa_beswa_be.iso88591swa_BE.ISO8859-15swa_be.iso885915s
wa_be@eurosyi_US.CP1255tyityi_ussyi_us.cp1255syi_us.microsoftcp1255tzhszh_CN.gb2312tzh_cns
zh_TW.big5s
zh_cn.big5s	zh_cn.eucs
zh_CN.gb18030s
zh_cn.gb18030szh_cn.gb2312s	zh_CN.gbks	zh_cn.gbkszh_HK.big5hkscstzh_hks
zh_HK.big5s
zh_hk.big5szh_hk.big5hkscstzh_tws
zh_tw.big5s	zh_tw.euctaf_ZAi6tsq_ALitar_SAitar_IQitar_EGitar_LYitar_DZitar_MAitar_TNitar_OMi tar_YEi$tar_SYi(tar_JOi,tar_LBi0tar_KWi4tar_AEi8tar_BHi<tar_QAi@thy_AMi+taz_AZi,i,teu_ESi-tbe_BYi#tbn_INiEtbs_BAi itbr_FRi~tbg_BGitca_ESitzh_CHStzh_TWitzh_CNitzh_HKitzh_SGitzh_MOitzh_CHTi|thr_HRithr_BAitcs_CZitda_DKitgbz_AFi�tdiv_MVietnl_NLitnl_BEiten_USi	ten_GBi	ten_AUi	ten_CAi	ten_NZi	ten_IEi	ten_ZAi	ten_JAi	 ten_CBi	$ten_BZi	(ten_TTi	,ten_ZWi	0ten_PHi	4tet_EEi%tfo_FOi8tfil_PHidtfi_FIitfr_FRitfr_BEitfr_CAitfr_CHitfr_LUitfr_MCitfy_NLibtgl_ESiVtka_GEi7tde_DEitde_CHitde_ATitde_LUitde_LIitel_GRitgu_INiGthe_ILi
thi_INi9thu_HUitis_ISitid_IDi!tiu_CAi]i]tga_IEi<txh_ZAi4tzu_ZAi5tit_ITitit_CHitja_JPitkn_INiKtkk_KZi?tkok_INiWtko_KRitky_KGi@tlv_LVi&tlt_LTi'tlb_LUintmk_MKi/tms_MYi>tms_BNi>tml_INiLtmt_MTi:tmi_NZi�tarn_CLiztmr_INiNtmoh_CAi|tmn_MNiPtne_NPiatnb_NOitnn_NOitoc_FRi�tor_INiHtps_AFictfa_IRi)tpl_PLitpt_BRitpt_PTitpa_INiFtquz_BOiktquz_ECiktquz_PEiktro_ROitrm_CHitru_RUitsmn_FIi;$tsmj_NOi;tsmj_SEi;tse_NOi;tse_SEi;tse_FIi;tsms_FIi; tsma_NOi;tsma_SEi;tsa_INiOtsr_SPitsr_BAiiitns_ZAilttn_ZAi2tsk_SKitsl_SIi$tes_ESi
tes_MXi
i
tes_GTi
tes_CRi
tes_PAi
tes_DOi
tes_VEi
 tes_COi
$tes_PEi
(tes_ARi
,tes_ECi
0tes_CLi
4tes_URi
8tes_PYi
<tes_BOi
@tes_SVi
Dtes_HNi
Htes_NIi
Ltes_PRi
Ptsw_KEiAtsv_SEitsv_FIitsyr_SYiZtta_INiIttt_RUiDtte_INiJtth_THittr_TRituk_UAi"tur_PKi tur_INi tuz_UZiCiCtvi_VNi*tcy_GBiRc
Cs�h}|d�}|�|d=dGHddGHt�\}}dG|pdGHdG|pdGHHd	GHddGHxV|i�D]H\}}|Gd
GHt|�\}}dG|pdGHdG|pdGHHqyWHd
GHddGHt�xV|i�D]H\}}|Gd
GHt|�\}}dG|pdGHdG|pdGHHq�yttd�WndGHdGHdGHniXHdGHddGHxV|i�D]H\}}|Gd
GHt|�\}}dG|pdGHdG|pdGHHqzWdS(s Test function.
    cSsCx<t�i�D]+\}}|d djo|||<qqWdS(NitLC_(tglobalstitems(t
categoriestktv((s/sys/lib/python/locale.pyt_init_categories�sRs4Locale defaults as determined by getdefaultlocale():RpiHs
Language: s(undefined)s
Encoding: sLocale settings on startup:s...s
   Language: s
   Encoding: s,Locale settings after calling resetlocale():RsNOTE:s9setlocale(LC_ALL, "") does not support the default locales&given in the OS environment variables.s4Locale settings after calling setlocale(LC_ALL, ""):N(R�R�R�R�RR(R�R�tlangtenctnameR'((s/sys/lib/python/locale.pyt
_print_locale�s\		
		
			
	tLC_MESSAGESt__main__sLocale aliasing:sNumber formatting:(sLC_ALLsLC_CTYPEsLANGsLANGUAGE(swin32sdarwinsmac(6t__doc__R�Rutencodings.aliasest__all__R�R�RRR
R	R�RR
RR;RRR&RRRRKR7RtreRLtcompileRERVR\RfRtfloatRRRnR�R�R�R�R�R�R�R�R�R�t	NameErrorRxRsR�R�tappendt__name__(((s/sys/lib/python/locale.pys<module>sd$		&!-	
			B		5
																													/																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																					:



Bell Labs OSI certified Powered by Plan 9

(Return to Plan 9 Home Page)

Copyright © 2021 Plan 9 Foundation. All Rights Reserved.
Comments to webmaster@9p.io.