!9QRc @sdZddlZddlZddlZddlZddlZddlZddlmZdddddd d d d d ddg Z ej j ej ddZ dZdZdZdd'dYZdefdYZddddZiZdddeddZdedddZiaiadaddZddZddZdZd Z d!Z!d"Z"d#Z#d$Z$d%Z%d&Z&eZ'dS((sInternationalization 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. iN(tENOENTtNullTranslationstGNUTranslationstCatalogtfindt translationtinstallt textdomaintbindtextdomaintdgettextt dngettexttgettexttngettexttsharetlocalecCs|r |S|SdS(sy Implements the C expression: condition ? true : false Required to correctly interpret plural forms. N((t conditionttruetfalse((sH/opt/poky/1.5/sysroots/x86_64-pokysdk-linux/usr/lib/python2.7/gettext.pyttest=sc syddlm}Wn!tk r7ddlm}nXddl}ddl}|j||j}y@g|D]/}|d|jkrr|ddkrr|^qr}Wn|jk rt dnX|rt dn|j d d }|j d d }t j d j d|}t j dfddg}x|D]}|dkrr|jdqP|dkrt|dkrt dnj |j} |dcd| 7 @       cCsddlm}||}d }d }d }d}|jd}|dkrp||}|| }||O}nd}|jd}|dkr||}|| }||O}nd}|jd }|dkr||} || }||O}nd} |} g} x~t|dD]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((sH/opt/poky/1.5/sysroots/x86_64-pokysdk-linux/usr/lib/python2.7/gettext.pyt _expand_langsL                  cBseZddZdZdZdZdZdZdZ dZ dZ 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((sH/opt/poky/1.5/sysroots/x86_64-pokysdk-linux/usr/lib/python2.7/gettext.pyt__init__s      cCsdS(N((RMRN((sH/opt/poky/1.5/sysroots/x86_64-pokysdk-linux/usr/lib/python2.7/gettext.pyRLscCs)|jr|jj|n ||_dS(N(RKt add_fallback(RMtfallback((sH/opt/poky/1.5/sysroots/x86_64-pokysdk-linux/usr/lib/python2.7/gettext.pyRPs cCs|jr|jj|S|S(N(RKR (RMtmessage((sH/opt/poky/1.5/sysroots/x86_64-pokysdk-linux/usr/lib/python2.7/gettext.pyR s cCs|jr|jj|S|S(N(RKtlgettext(RMRR((sH/opt/poky/1.5/sysroots/x86_64-pokysdk-linux/usr/lib/python2.7/gettext.pyRSs cCs7|jr|jj|||S|dkr/|S|SdS(Ni(RKR (RMtmsgid1tmsgid2R((sH/opt/poky/1.5/sysroots/x86_64-pokysdk-linux/usr/lib/python2.7/gettext.pyR s   cCs7|jr|jj|||S|dkr/|S|SdS(Ni(RKt lngettext(RMRTRUR((sH/opt/poky/1.5/sysroots/x86_64-pokysdk-linux/usr/lib/python2.7/gettext.pyRVs   cCs#|jr|jj|St|S(N(RKtugettexttunicode(RMRR((sH/opt/poky/1.5/sysroots/x86_64-pokysdk-linux/usr/lib/python2.7/gettext.pyRWs cCsC|jr|jj|||S|dkr5t|St|SdS(Ni(RKt ungettextRX(RMRTRUR((sH/opt/poky/1.5/sysroots/x86_64-pokysdk-linux/usr/lib/python2.7/gettext.pyRYs    cCs|jS(N(RG(RM((sH/opt/poky/1.5/sysroots/x86_64-pokysdk-linux/usr/lib/python2.7/gettext.pytinfoscCs|jS(N(RI(RM((sH/opt/poky/1.5/sysroots/x86_64-pokysdk-linux/usr/lib/python2.7/gettext.pytcharsetscCs|jS(N(RJ(RM((sH/opt/poky/1.5/sysroots/x86_64-pokysdk-linux/usr/lib/python2.7/gettext.pytoutput_charsetscCs ||_dS(N(RJ(RMR[((sH/opt/poky/1.5/sysroots/x86_64-pokysdk-linux/usr/lib/python2.7/gettext.pytset_output_charsetscCsddl}|r|jp!|j|jd ss4Is>IIsBad magic numberisFile is corruptt:is s content-typescharset=s plural-formst;splural=tN(tstructtunpacktgetattrt_catalogR-treadR*tLE_MAGICtBE_MAGICtIOErrortxrangeRHt splitlineststriptsplittlowerRGRIR3RXR8(RMRNRmtfilenametcatalogtbuftbuflentmagictversiontmsgcountt masteridxttransidxtiiRDtmlentmofftmendttlenttoffttendtmsgttmsgtlastktktitemtvR-RTRUR((sH/opt/poky/1.5/sysroots/x86_64-pokysdk-linux/usr/lib/python2.7/gettext.pyRLsr     " "                 (   cCs}t}|jj||}||krG|jrC|jj|S|S|jr`|j|jS|jry|j|jS|S(N(tobjectRotgetRKR RJtencodeRI(RMRRtmissingR((sH/opt/poky/1.5/sysroots/x86_64-pokysdk-linux/usr/lib/python2.7/gettext.pyR Ws     cCsst}|jj||}||krG|jrC|jj|S|S|jr`|j|jS|jtjS(N( RRoRRKRSRJRRtgetpreferredencoding(RMRRRR((sH/opt/poky/1.5/sysroots/x86_64-pokysdk-linux/usr/lib/python2.7/gettext.pyRSes    cCsyV|j||j|f}|jr8|j|jS|jrQ|j|jS|SWnDtk r|jr|jj|||S|dkr|S|SnXdS(Ni(RoR-RJRRItKeyErrorRKR (RMRTRURR((sH/opt/poky/1.5/sysroots/x86_64-pokysdk-linux/usr/lib/python2.7/gettext.pyR ps     cCsyL|j||j|f}|jr8|j|jS|jtjSWnDtk r|jr{|jj|||S|dkr|S|SnXdS(Ni( RoR-RJRRRRRKRV(RMRTRURR((sH/opt/poky/1.5/sysroots/x86_64-pokysdk-linux/usr/lib/python2.7/gettext.pyRVs    cCsQt}|jj||}||krM|jrC|jj|St|S|S(N(RRoRRKRWRX(RMRRRR((sH/opt/poky/1.5/sysroots/x86_64-pokysdk-linux/usr/lib/python2.7/gettext.pyRWs    cCs~y |j||j|f}WnWtk ry|jrO|jj|||S|dkrjt|}qzt|}nX|S(Ni(RoR-RRKRYRX(RMRTRURR((sH/opt/poky/1.5/sysroots/x86_64-pokysdk-linux/usr/lib/python2.7/gettext.pyRYs    ( RcRdRqRrRLR RSR RVRWRY(((sH/opt/poky/1.5/sysroots/x86_64-pokysdk-linux/usr/lib/python2.7/gettext.pyRs Q    ic CsT|dkrt}n|dkrg}x9dD]1}tjj|}|r.|jd}Pq.q.Wd|kr|jdqng}xA|D]9}x0t|D]"}||kr|j|qqWqW|rg} nd} xl|D]d}|dkrPntjj ||dd|} tjj | r|rE| j| qL| SqqW| S( NtLANGUAGEtLC_ALLt LC_MESSAGEStLANGRitCs%s.mo(RRRR( RHt_default_localedirtostenvironRRwR)RFtpathtjointexists( tdomaint localedirt languagestalltenvarREtnelangstlangtnelangtresulttmofile((sH/opt/poky/1.5/sysroots/x86_64-pokysdk-linux/usr/lib/python2.7/gettext.pyRs8           c Cs|dkrt}nt|||dd}|sU|r@tSttd|nd}x|D]}|tjj|f} t j | } | dkrt |d} t j | || } WdQXnt j | } |r| j|n|dkr| }qb|j| qbW|S(NRis$No translation file found for domaintrb(RHRRRRsRRRtabspatht _translationsRtopent setdefaulttcopyR]RP( RRRtclass_RQR@tmofilesRRtkeyttRN((sH/opt/poky/1.5/sysroots/x86_64-pokysdk-linux/usr/lib/python2.7/gettext.pyRs*    !  cCs/t||dtd|}|j||dS(NRQR@(RtTrueR(RRRXR@RbR((sH/opt/poky/1.5/sysroots/x86_64-pokysdk-linux/usr/lib/python2.7/gettext.pyRstmessagescCs|dk r|antS(N(RHt_current_domain(R((sH/opt/poky/1.5/sysroots/x86_64-pokysdk-linux/usr/lib/python2.7/gettext.pyRs  cCs)|dk r|t|s(((t__doc__RRRR'RltsysterrnoRt__all__RRtprefixRRR3RFRRRHRRReRRRRRRRRR RR RR RSR RVR(((sH/opt/poky/1.5/sysroots/x86_64-pokysdk-linux/usr/lib/python2.7/gettext.pyt s>&H   7 +T&