tzh
2024-08-22 c7d0944258c7d0943aa7b2211498fd612971ce27
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
L\¬Qc @s´dZddlZddlZddlZddlZddlZddlZddlmZdddddd    d
d d d ddg Z    ej
j ej ddƒZ d„Zd„Zd„Zdd'd„ƒYZdefd„ƒYZdddd„ZiZdddedd„Zdeddd„Ziaiadadd„Zdd„Zdd„Zd„Zd „Z d!„Z!d"„Z"d#„Z#d$„Z$d%„Z%d&„Z&eZ'dS((sªInternationalization and localization support.
 
This module provides internationalization (I18N) and localization (L10N)
support for your Python programs by providing an interface to the GNU gettext
message catalog library.
 
I18N refers to the operation by which a program is made aware of multiple
languages.  L10N refers to the adaptation of your program, once
internationalized, to the local language and cultural habits.
 
iÿÿÿÿN(tENOENTtNullTranslationstGNUTranslationstCatalogtfindt translationtinstallt
textdomaintbindtextdomaintdgettextt    dngettexttgettexttngettexttsharetlocalecCs|r
|S|SdS(sy
    Implements the C expression:
 
      condition ? true : false
 
    Required to correctly interpret plural forms.
    N((t    conditionttruetfalse((sO/tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/gettext.pyttest=sc
syddlm}Wn!tk
r7ddlm}nXddl}ddl}|j||ƒjƒ}y@g|D]/}|d|jkrr|ddkrr|^qr}Wn|jk
rÇt    d‚nX|rÚt    d‚n|j
d    d
ƒ}|j
d d ƒ}t j d ƒ‰ˆj d|ƒ}t j dƒ‰‡‡fd†‰dg}x“|D]‹}|dkrr|jdƒqP|dkrËt|ƒdkrœt    d‚nˆj ˆ|jƒƒ}    |dcd|    7<qP|dc|7<qPWˆj ˆ|jƒƒ}td|ƒS(sGets a C expression as used in PO files for plural forms and returns a
    Python lambda function that implements an equivalent expression.
    iÿÿÿÿ(tStringIONiitns;plural forms expression error, maybe unbalanced parenthesiss*plural forms expression could be dangerouss&&s and s||s or s\!([^=])s not \1s(.*?)\?(.*?):(.*)cs8d|jdƒ|jdƒˆjˆ|jdƒƒfS(Nstest(%s, %s, %s)iii(tgrouptsub(tx(texprtrepl(sO/tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/gettext.pyRistt(t)s%unbalanced parenthesis in plural forms(%s)slambda n: int(%s)(t    cStringIORt ImportErrorttokenttokenizetgenerate_tokenstreadlinetNAMEt
TokenErrort
ValueErrortreplacetretcompileRtappendtlentpopteval(
tpluralRRR ttokensRtdangertstacktcts((RRsO/tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/gettext.pytc2pyKs> @
         cCs•ddlm}||ƒ}d
}d }d }d}|jdƒ}|dkrp||}|| }||O}nd}|jdƒ}|dkr²||}|| }||O}nd}|jd    ƒ}|dkrô||}    || }||O}nd}    |}
g} x~t|dƒD]l} | |@s|
} | |@rE| |    7} n| |@r\| |7} n| |@rs| |7} n| j| ƒqqW| jƒ| S( Niÿÿÿÿ(t    normalizeiiit@Rt.t_iii(RR4RtrangeR)treverse(RR4tCOMPONENT_CODESETtCOMPONENT_TERRITORYtCOMPONENT_MODIFIERtmasktpostmodifiertcodesett    territorytlanguagetrettitval((sO/tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/gettext.pyt _expand_lang‚sL  
 
 
 
 
 
 
 
 
 
cBseZdd„Zd„Zd„Zd„Zd„Zd„Zd„Z    d„Z
d„Z d    „Z d
„Z d „Zd „Zedd „ZRS(cCsDi|_d|_d|_d|_|dk    r@|j|ƒndS(N(t_infotNonet_charsett_output_charsett    _fallbackt_parse(tselftfp((sO/tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/gettext.pyt__init__®s                  cCsdS(N((RMRN((sO/tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/gettext.pyRL¶scCs)|jr|jj|ƒn    ||_dS(N(RKt add_fallback(RMtfallback((sO/tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/gettext.pyRP¹s    cCs|jr|jj|ƒS|S(N(RKR (RMtmessage((sO/tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/gettext.pyR ¿s    cCs|jr|jj|ƒS|S(N(RKtlgettext(RMRR((sO/tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/gettext.pyRSÄs    cCs7|jr|jj|||ƒS|dkr/|S|SdS(Ni(RKR (RMtmsgid1tmsgid2R((sO/tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/gettext.pyR És
     cCs7|jr|jj|||ƒS|dkr/|S|SdS(Ni(RKt    lngettext(RMRTRUR((sO/tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/gettext.pyRVÑs
     cCs#|jr|jj|ƒSt|ƒS(N(RKtugettexttunicode(RMRR((sO/tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/gettext.pyRWÙs    cCsC|jr|jj|||ƒS|dkr5t|ƒSt|ƒSdS(Ni(RKt    ungettextRX(RMRTRUR((sO/tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/gettext.pyRYÞs
     
cCs|jS(N(RG(RM((sO/tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/gettext.pytinfoæscCs|jS(N(RI(RM((sO/tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/gettext.pytcharsetéscCs|jS(N(RJ(RM((sO/tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/gettext.pytoutput_charsetìscCs ||_dS(N(RJ(RMR[((sO/tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/gettext.pytset_output_charsetïscCsÐddl}|r|jp!|j|jd<t|dƒrÌd|kr]|jd|jd<nd|kr‹|rx|jp~|j|jd<nd|krª|j|jd<nd|krÌ|j|jd<qÌndS(NiÿÿÿÿR7t __contains__R R RSRV(    t __builtin__RWR t__dict__thasattrRYR RSRV(RMRXtnamesR_((sO/tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/gettext.pyRòs     N(t__name__t
__module__RHRORLRPR RSR RVRWRYRZR[R\R]tFalseR(((sO/tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/gettext.pyR­s                                                 cBsSeZdZdZd„Zd„Zd„Zd„Zd„Zd„Z    d„Z
RS(    lÞ*l•$<cCsÀtj}t|ddƒ}i|_}d„|_|jƒ}t|ƒ}|d|d ƒd}||jkr|d|dd!ƒ\}}    }
} d    } nL||jkr×|d
|dd!ƒ\}}    }
} d } nt    dd |ƒ‚xÐt
d|    ƒD]¿} || ||
|
d !ƒ\}}||}|| || | d !ƒ\}}||}||krˆ||krˆ|||!}|||!}nt    dd|ƒ‚|dkrÃd}}x|j ƒD]ÿ}|j ƒ}|sÛq½nd|kr3|jddƒ\}}|j ƒjƒ}|j ƒ}||j|<|}n |rS|j|cd|7<n|dkrx|jdƒd|_q½|dkr½|jdƒ}|djdƒd}t|ƒ|_q½q½Wnd|krj|jdƒ\}}|jdƒ}|jr6t||jƒ}g|D]}t||jƒ^q}nxktt|ƒƒD]} || ||| f<qIWn:|jršt||jƒ}t||jƒ}n|||<|
d 7}
| d 7} qùWdS(s8Override this method to support alternative .mo formats.tnameRcSst|dkƒS(Ni(tint(R((sO/tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/gettext.pyt<lambda> ss<Iiis<4Iis<IIs>4Is>IIsBad magic numberisFile is corruptt:is
s content-typescharset=s plural-formst;splural=tN(tstructtunpacktgetattrt_catalogR-treadR*tLE_MAGICtBE_MAGICtIOErrortxrangeRHt
splitlineststriptsplittlowerRGRIR3RXR8(RMRNRmtfilenametcatalogtbuftbuflentmagictversiontmsgcountt    masteridxttransidxtiiRDtmlentmofftmendttlenttoffttendtmsgttmsgtlastktktitemtvR-RTRUR((sO/tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/gettext.pyRLsr        "    "     
 
 
          
    (    
 
cCs}tƒ}|jj||ƒ}||krG|jrC|jj|ƒS|S|jr`|j|jƒS|jry|j|jƒS|S(N(tobjectRotgetRKR RJtencodeRI(RMRRtmissingRŠ((sO/tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/gettext.pyR Ws                 cCsstƒ}|jj||ƒ}||krG|jrC|jj|ƒS|S|jr`|j|jƒS|jtjƒƒS(N(    RRoRRKRSRJR‘Rtgetpreferredencoding(RMRRR’RŠ((sO/tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/gettext.pyRSes             cCs¡yV|j||j|ƒf}|jr8|j|jƒS|jrQ|j|jƒS|SWnDtk
rœ|jr…|jj|||ƒS|dkr•|S|SnXdS(Ni(RoR-RJR‘RItKeyErrorRKR (RMRTRURRŠ((sO/tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/gettext.pyR ps              cCs—yL|j||j|ƒf}|jr8|j|jƒS|jtjƒƒSWnDtk
r’|jr{|jj|||ƒS|dkr‹|S|SnXdS(Ni(    RoR-RJR‘RR“R”RKRV(RMRTRURRŠ((sO/tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/gettext.pyRV€s          cCsQtƒ}|jj||ƒ}||krM|jrC|jj|ƒSt|ƒS|S(N(RRoRRKRWRX(RMRRR’RŠ((sO/tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/gettext.pyRWŽs         
cCs~y |j||j|ƒf}WnWtk
ry|jrO|jj|||ƒS|dkrjt|ƒ}qzt|ƒ}nX|S(Ni(RoR-R”RKRYRX(RMRTRURRŠ((sO/tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/gettext.pyRY—s       ( RcRdRqRrRLR RSR RVRWRY(((sO/tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/gettext.pyRs    Q                        ic CsT|dkrt}n|dkr‚g}x9dD]1}tjj|ƒ}|r.|jdƒ}Pq.q.Wd|kr‚|jdƒq‚ng}xA|D]9}x0t|ƒD]"}||kr¢|j|ƒq¢q¢WqW|rÛg}    nd}    xl|D]d}|dkrþPntjj    ||dd|ƒ}
tjj
|
ƒrè|rE|    j|
ƒqL|
SqèqèW|    S(    NtLANGUAGEtLC_ALLt LC_MESSAGEStLANGRitCs%s.mo(R•R–R—R˜( RHt_default_localedirtostenvironRRwR)RFtpathtjointexists( tdomaint    localedirt    languagestalltenvarREtnelangstlangtnelangtresulttmofile((sO/tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/gettext.pyR¥s8                 c    Cs|dkrt}nt|||ddƒ}|sU|r@tƒSttd|ƒ‚nd}x»|D]³}|tjj|ƒf}    t    j
|    ƒ}
|
dkrÎt |dƒ} t    j |    || ƒƒ}
WdQXnt j |
ƒ}
|ró|
j|ƒn|dkr|
}qb|j|
ƒqbW|S(NR£is$No translation file found for domaintrb(RHRRRRsRR›Rtabspatht _translationsRtopent
setdefaulttcopyR]RP( R R¡R¢tclass_RQR@tmofilesR¨R©tkeyttRN((sO/tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/gettext.pyRÍs*       !     cCs/t||dtd|ƒ}|j||ƒdS(NRQR@(RtTrueR(R R¡RXR@RbR³((sO/tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/gettext.pyRìstmessagescCs|dk    r|antS(N(RHt_current_domain(R ((sO/tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/gettext.pyRús     cCs)|dk    r|t|<ntj|tƒS(N(RHt _localedirsRRš(R R¡((sO/tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/gettext.pyRs  cCs&|dk    r|t|<ntj|ƒS(N(RHt_localecodesetsR(R R@((sO/tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/gettext.pytbind_textdomain_codesets  cCsPy.t|tj|dƒdtj|ƒƒ}Wntk
rB|SX|j|ƒS(NR@(RR·RRHR¸RsR (R RRR³((sO/tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/gettext.pyR    s  cCsPy.t|tj|dƒdtj|ƒƒ}Wntk
rB|SX|j|ƒS(NR@(RR·RRHR¸RsRS(R RRR³((sO/tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/gettext.pyt    ldgettexts  cCsiy.t|tj|dƒdtj|ƒƒ}Wn%tk
rU|dkrN|S|SnX|j|||ƒS(NR@i(RR·RRHR¸RsR (R RTRURR³((sO/tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/gettext.pyR
s  cCsiy.t|tj|dƒdtj|ƒƒ}Wn%tk
rU|dkrN|S|SnX|j|||ƒS(NR@i(RR·RRHR¸RsRV(R RTRURR³((sO/tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/gettext.pyt
ldngettext*s  cCs tt|ƒS(N(R    R¶(RR((sO/tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/gettext.pyR 5scCs tt|ƒS(N(RºR¶(RR((sO/tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/gettext.pyRS8scCstt|||ƒS(N(R
R¶(RTRUR((sO/tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/gettext.pyR ;scCstt|||ƒS(N(R»R¶(RTRUR((sO/tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/gettext.pyRV>s(((t__doc__RR¯R›R'RltsysterrnoRt__all__RRžtprefixRšRR3RFRRRHRR¬ReRRR·R¸R¶RRR¹R    RºR
R»R RSR RVR(((sO/tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/gettext.pyt<module> s>&H            7    +T¤&