Static Wikipedia February 2008 (no images)

aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - bcl - be - be_x_old - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - co - cr - crh - cs - csb - cu - cv - cy - da - de - diq - dsb - dv - dz - ee - el - eml - en - eo - es - et - eu - ext - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gan - gd - gl - glk - gn - got - gu - gv - ha - hak - haw - he - hi - hif - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kaa - kab - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mdf - mg - mh - mi - mk - ml - mn - mo - mr - mt - mus - my - myv - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - quality - rm - rmy - rn - ro - roa_rup - roa_tara - ru - rw - sa - sah - sc - scn - sco - sd - se - sg - sh - si - simple - sk - sl - sm - sn - so - sr - srn - ss - st - stq - su - sv - sw - szl - ta - te - tet - tg - th - ti - tk - tl - tlh - tn - to - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu

Web Analytics
Cookie Policy Terms and Conditions Участник:Maksim-e/zit-kom.py — Википедия

Участник:Maksim-e/zit-kom.py

Материал из Википедии — свободной энциклопедии

# -*- coding: UTF-8 -*-

__version__='$Id:'

import wikipedia
import re, sys
import codecs

def iskat(t,s):
    lt=len(t)
    ls=len(s)
    i=0
    while i<=lt-ls:
        if t[i:i+ls]==s:
            return i
        i+=1
    return -1

def iskats(t,i,s):
    lt=len(t)
    ls=len(s)
    while i<=lt-ls:
        if t[i:i+ls]==s:
            return i
        i+=1
    return -1

def iskato(t,i,s):
    ls=len(s)
    while i>=0:
        if t[i:i+ls]==s:
            return i
        i-=1
    return -1

def iskats_mn(t,p0,ss):
    i=p0
    while i<len(t):
        for j in range(len(ss)):
            if t[i].startswith(ss[j]):
                return (i,j)
        i+=1
    return (-1,0)

def ubr_nk_prob(t):
    i=0
    while i<len(t) and ((t[i]==u' ') or (t[i]==u'\n') or (t[i]==u'\t') or
                        (t[i]==u'\r')):
        i+=1
    j=len(t)-1
    while j>i and ((t[j]==u' ') or (t[j]==u'\n') or (t[j]==u'\t') or
                        (t[j]==u'\r')):
        j-=1
    return t[i:j+1]

def vivod(b):
#    wikipedia.output(b)
    otch.write(b)
    otch.flush()

def ubr_podp(t):
    os=u'[['
    zs=u']]'
    p0=0
    while p0<len(t):
        p=iskats(t,p0,os)
        if p==-1:
            break
#        pk=iskkonpodp(t,p+len(os),os,zs)
        pk=iskats(t,p+len(os),zs)
        if pk==-1:
            break
        pd=iskats(t[:pk],p+len(os),u'|')
        if pd!=-1:
            t=t[:pd]+t[pk:]
            p0=pd
        else:
            p0=pk
        p0+=len(zs)
    return t

def zamen_ssilk(tblss,tblpovt,t):
    os=u'[['
    zs=u']]'
    p0=0
    while p0<len(t):
        p=iskats(t,p0,os)
        if p==-1:
            break
        pn=p+len(os)
        pk=iskats(t,pn,zs)
        if pk==-1:
            break
        ss=t[pn:pk]
        
        ss1=ss
        i=iskats(ss1,0,u' (')
        if i!=-1 and not tblpovt.has_key(ss1[:i]):
            ss1=ss1[:i]

        if tblss.has_key(ss1):
#            novt=tblss[ss1]+u'|'+ss1
            novt=tblss[ss1]
            t=t[:pn]+novt+t[pk:]
            p0=pk+len(novt)-len(ss)
        else:
            pk1=pk+len(zs)

            tpr=u'Provincia di '
            tnach_slo=u' (\'\''
            tkon_slo=u'\'\') (SLO)'

            if t[pn:].startswith(tpr):
                t=t[:pn]+t[pn+len(tpr):]
                p0=pk+len(tpr)

            elif t[pk1:].startswith(tnach_slo) and iskats(t,pk1,tkon_slo)!=-1:
                p2=iskats(t,pk1,tkon_slo)
                t=(t[:pn]+t[pk1+len(tnach_slo):p2]+u']] (SLO)'+
                                    t[p2+len(tkon_slo):])
                p0=pn

            elif not (t[pk1:].startswith(u' (FR') or 
                      t[pk1:].startswith(u' (CH') or 
                      t[pk1:].startswith(u' (AT') or 
                      t[pk1:].startswith(u' (SLO')):
                vivod(u'!!! ne najd %s\n'%ss)
                p0=pk
            else:
                p0=pk
        p0+=len(zs)
    return t

class Tsh:
    def __init__(self, im,t,imnk,provinc):
        self.im = im
        self.t = t
        self.imnk=imnk
        self.provinc=provinc
    def vz_prioritet(self):
        return self.im

def obrab(imst1,fvh,f1,f1a,tblss,tblpovt,flzap):

    provinc_t={
u'AO': u'',
u'CI': u'Provinco Carbonia-Iglesias',
u'KR': u'Provinco Crotone',
u'MD': u'Provinco Medio Campidano',
u'OG': u'Provinco L\'Ogliastra',
u'OT': u'Provinco Olbia-Tempio',
u'MN': u'Provinco Mantova',
u'AG': u'Provinco Agrigento',
u'AL': u'Provinco Alessandria',
u'AN': u'Provinco Ancona',
u'AP': u'Provinco Ascoli Piceno',
u'AQ': u'Provinco L\'Aquila',
u'AR': u'Provinco Arezzo',
u'AT': u'Provinco Asti',
u'AV': u'Provinco Avellino',
u'BA': u'Provinco Bari',
u'BG': u'Provinco Bergamo',
u'BI': u'Provinco Biella',
u'BL': u'Provinco Belluno',
u'BN': u'Provinco Benevento',
u'BO': u'Provinco Bolonjo',
u'BR': u'Provinco Brindisi',
u'BS': u'Provinco Brescia',
u'BZ': u'Sudtirolo',
u'CA': u'Provinco Cagliari',
u'CB': u'Provinco Campobasso',
u'CE': u'Provinco Caserta',
u'CH': u'Provinco Chieti',
u'CL': u'Provinco Caltanissetta',
u'CN': u'Provinco Cuneo',
u'CO': u'Provinco Como',
u'CR': u'Provinco Cremona',
u'CS': u'Provinco Cosenza',
u'CT': u'Provinco Catania',
u'CZ': u'Provinco Catanzaro',
u'EN': u'Provinco Enna',
u'FC': u'Provinco Forlì-Cesena',
u'FE': u'Provinco Ferrara',
u'FG': u'Provinco Foggia',
u'FI': u'Provinco Firenze',
u'FR': u'Provinco Frosinone',
u'GE': u'Provinco Genova',
u'GO': u'Provinco Gorizia',
u'GR': u'Provinco Grosseto',
u'IM': u'Provinco Imperia',
u'IS': u'Provinco Isernia',
u'LC': u'Provinco Lecco',
u'LE': u'Provinco Lecce',
u'LI': u'Provinco Livorno',
u'LO': u'Provinco Lodi',
u'LT': u'Provinco Latina',
u'LU': u'Provinco Lucca',
u'MC': u'Provinco Macerata',
u'ME': u'Provinco Messina',
u'MI': u'Provinco Milano',
u'MO': u'Provinco Modena',
u'MS': u'Provinco Massa-Carrara',
u'MT': u'Provinco Matera',
u'NA': u'Provinco Napoli',
u'NO': u'Provinco Novara',
u'NU': u'Provinco Nuoro',
u'OR': u'Provinco Oristano',
u'PA': u'Provinco Palermo',
u'PC': u'Provinco Piacenza',
u'PD': u'Provinco Padova',
u'PE': u'Provinco Pescara',
u'PG': u'Provinco Perugia',
u'PI': u'Provinco Pisa',
u'PN': u'Provinco Pordenone',
u'PO': u'Provinco Prato',
u'PR': u'Provinco Parma',
u'PT': u'Provinco Pistoia',
u'PU': u'Provinco Pesaro e Urbino',
u'PV': u'Provinco Pavia',
u'PZ': u'Provinco Potenza',
u'RA': u'Provinco Ravenna',
u'RC': u'Provinco Reggio Calabria',
u'RE': u'Provinco Reggio Emilia',
u'RG': u'Provinco Ragusa',
u'RI': u'Provinco Rieti',
u'RM': u'Provinco Roma',
u'RN': u'Provinco Rimini',
u'RO': u'Provinco Rovigo',
u'SA': u'Provinco Salerno',
u'SI': u'Provinco Siena',
u'SO': u'Provinco Sondrio',
u'SP': u'Provinco La Spezia',
u'SR': u'Provinco Siracusa',
u'SS': u'Provinco Sassari',
u'SV': u'Provinco Savona',
u'TA': u'Provinco Taranto',
u'TE': u'Provinco Teramo',
u'TN': u'Provinco Trento',
u'TO': u'Provinco Torino',
u'TP': u'Provinco Trapani',
u'TR': u'Provinco Terni',
u'TS': u'Provinco Trieste',
u'TV': u'Provinco Treviso',
u'UD': u'Provinco Udine',
u'VA': u'Provinco Varese',
u'VB': u'Provinco Verbano Cusio Ossola',
u'VC': u'Provinco Vercelli',
u'VE': u'Provinco Venezia',
u'VI': u'Provinco Vicenza',
u'VR': u'Provinco Verona',
u'VT': u'Provinco Viterbo',
u'VV': u'Provinco Vibo Valentia',
              }
    mesjac=[
        (u'gennaio',u'januaro'),
        (u'febbraio',u'februaro'),
        (u'marzo',u'marto'),
        (u'aprile',u'aprilo'),
        (u'maggio',u'majo'),
        (u'giugno',u'junio'),
        (u'luglio',u'julio'),
        (u'agosto',u'auxgusto'),
        (u'settembre',u'septembro'),
        (u'ottobre',u'oktobro'),
        (u'novembre',u'novembro'),
        (u'dicembre',u'decembro')]

    sh_nach=u'{{Italia komunumo\n'
    tbpa=[(u'nomo',1,u'',u''),
          (u'blazono',2,u'',u''),
          (u'regiono',3,u'{{Italio ',u'}} (2005)'),
          (u'provinco',4,u'{{Italio ',u'}} (2005)'),
          (u'latitudo_gradoj',5,u'',u''),
          (u'latitudo_minutoj',6,u'',u''),
          (u'latitudo_sekundoj',7,u'',u''),
          (u'latitudo_direkto',-1,u'',u''),
          (u'longitudo_gradoj',8,u'',u''),
          (u'longitudo_minutoj',9,u'',u''),
          (u'longitudo_sekundoj',10,u'',u''),
          (u'longitudo_direkto',-2,u'',u''),
          (u'koord_X_en_mapo',11,u'',u''),
          (u'koord_Y_en_mapo',12,u'',u''),
          (u'alto',13,u'',u''),
          (u'areo',14,u'',u' (2005)'),
          (u'kvanto_de_logxantoj',15,u'',u' (2005)'),
#          (u'dato_de_kvanto_de_logxantoj',16,u'',u''),
          (u'denso_de_logxantoj',17,u'',u' (2005)'),
          (u'subdividajxoj',18,u'',u' (2005)'),
          (u'najbaraj_komunumoj',19,u'',u' (2005)'),
          (u'posxtkodo',20,u'',u' (2005)'),
          (u'telefona_kodo',21,u'',u' (2005)'),
          (u'ISTAT_kodo',22,u'',u' (2005)'),
          (u'imposta_kodo',23,u'',u' (2005)'),
          (u'nomo_de_logxantoj',24,u'\'\'',u'\'\''),
          (u'patrono',25,u'',u''),
          (u'festo',26,u'',u' (2005)'),
          (u'retpagxo',27,u'',u''),
          (u'mapo',3,u'',u'-Mappa.png'),
          (u'mapamplekso',-3,u'',u''),
         ]
    dopp=[u'N',u'E',u'300']

#    sh_kon=u'}}\n<br clear=all>\n'
    sh_kon=u'}}\n\n'

    imst0=u'Komunumoj de '
    nachtekst0=u'\'\'\'%s\'\'\' estas [[komunumo]] de [[Italio]].\n'
#    nachtekst1a=u'.\n\n'
#    nachtekst1b=(u' ekde \'\'%s\'\' gxis \'\'%s\'\'.\n\nVidu cxiujn komunumojn '+
#                 u'de la regiono cxe [[%s]]\n\n')
    kateg0=(u'[[Kategorio:Komunumoj de Italio]]\n'+
            u'[[Kategorio:Komunumoj de %s]]\n')
    kateg1= u'[[Kategorio:Komunumoj de %s]]\n'

    f=codecs.open(fvh,'rb',encoding='utf-8')

    tsh=[]
    fl1=1
    impr=u''

    for s in f.readlines():
        if ord(s[0]) == 65279:
            s=s[1:]
        s=s.replace(u'\r',u'')
        if s[len(s)-1]==u'\n':
            s=s[:len(s)-1]
        if len(s)<1:
            continue

#        if fl1:
#            imst1=s.split(u'/')[-1]
#            fl1=0

        st=s.split(u'\t')
        tp=ubr_nk_prob(st[0])
        if tp!=u'':
            tp=tp.replace(u'_',u' ').replace(u'<br>',u' ')
            impr=u''
            os=u'[['
            zs=u']]'
            p1=iskats(tp,0,os)
            if p1!=-1:
                p2=iskats(tp,p1,zs)
                if p2!=-1:
                    impr=tp[p1+len(os):p2]
                    k=iskats(impr,0,u' (')
                    if k!=-1:
                        if not tblpovt.has_key(impr[:k]):
                            impr=impr[:k]
                        else:
                            vivod(u'! tblpovt %s\n'%impr[:k])

            continue

        t=sh_nach
        imja=u''
        imjank=u''
        provinc=u''

        for i in range(len(tbpa)):
            (imp,i1,tdn,tdk)=tbpa[i]

            if i1==15 and len(st)>=17:
                tdk1=ubr_nk_prob(st[16])
                if tdk1!=u'':
                    tdk=u' ('+tdk1+u')'
            if i1>=0:
                i2=i1
                if i2>=len(st):
                    vivod(u'!!! nehv param %s %d\n'%(imja,i))
                    tp=u''
                else:
                    tp=st[i2]
            else:
                tp=dopp[-1-i1]

            if i1!=27:
                tp=tp.replace(u'_',u' ').replace(u'<br>',u' ')
            while u'  ' in tp:
                tp = tp.replace(u'  ',u' ')

            tp=ubr_nk_prob(tp)
            tp=ubr_podp(tp)

            tp=tp.replace(u'[[:Immagine:',u'[[Dosiero:')

            if i1==1:
                imja=tp
                imjank=tp
                k=iskats(imja,0,u' (')
                if k!=-1 and not tblpovt.has_key(imja[:k]):
                    imja=imja[:k]
                vivod(u'* '+imja+u'\n')
                if imja!=impr:
                    vivod(u'!!! nesovp, impr=%s  fvh=%s\n'%(impr,fvh))
                    if len(impr)>len(imja):
                        imja=impr  

            if i1==4:
                provinc=tp

            if i1==15:
                tp=tp.replace(u'.',u'')

            if i1==19 and flzap:
                tp=zamen_ssilk(tblss,tblpovt,tp)

            if i1==24:
                tp=tp.replace(u' o ',u'\'\' aux \'\'')

            if i1==26:
                flu=0
                for k in range(len(mesjac)):
                    (ms,mn)=mesjac[k]
                    if iskat(tp,ms)!=-1:
                        tp=tp.split(' ')[0]+u'-a de '+mn+u']]'
                        flu=1
                        break
                if flu==0 and tp!=u'':
                    vivod(u'!!! neperev data %s %d\n'%(imja,i))


            if tp!=u'':
                tp=tdn+tp+tdk
            t+=u'| '+imp+u' = '+tp+u'\n'

        t+=sh_kon
        if not provinc_t.has_key(provinc):
            vivod(u'!!! provinc %s\n'%imja)
        else:
            provinc=provinc_t[provinc]
        tsh.append(Tsh(imja,t,imjank,provinc))

    f.close()


    tsh.sort(key=Tsh.vz_prioritet,reverse=0)

    nomerf=0

    stob=u''

    jn=len(tsh)
    i=0
    while i<jn:
 
        im=tsh[i].im
        vivod(u'+ %s\n'%im)
        imst=im
        nachtekst=nachtekst0%tsh[i].imnk
        kateg=kateg0%imst1
        provinc=tsh[i].provinc
        if provinc!=u'':
            kateg+=kateg1%provinc
        kateg+=u'\n[[it:%s]]\n'%imst

#        stob+=u'* [[%s|%s - %s]] (%d)\n'%(imst,imk0,imk1,jk-j)

        if flzap:
            f1.write(imst+u'\n'+nachtekst+tsh[i].t+kateg+u'========\n')
            f1.flush()

        else:
            nt=im
            if tblss.has_key(im):
                vivod(u'!!! uzxe %s   %s   %s\n'%(im,tblss[im],nt))
            else:
                tblss[im]=nt

#                f1a.write(u'%s\n#REDIRECT [[%s]]\n========\n'%(im,nt))
#                f1a.flush()

        i+=1



#    if flzap:
#        nachtekst=nachtekst0%imst1+nachtekst1a
#        f1.write(imst0+imst1+u'\n'+nachtekst+stob+kateg+u'========\n')
#        f1.flush()

def main(fvh,fvih,fviha):

    f1=codecs.open(fvih, 'w', 'utf-8')
#    f1a=codecs.open(fviha, 'w', 'utf-8')
    f1a=0
    tblss={}
    tblpovt={}
    i=0
    while i<2:


        f=codecs.open(fvh,'rb',encoding='utf-8')
        for s in f.readlines():
            if ord(s[0]) == 65279:
                s=s[1:]
            s=s.replace(u'\r',u'')
            if s[len(s)-1]==u'\n':
                s=s[:len(s)-1]
            if len(s)<1:
                continue
            st=s.split(u'|',2)
            if st[0]==u'm':
                if i==0:
                    tblpovt[ubr_nk_prob(st[1])]=1
            else:
                obrab(st[0],st[1],f1,f1a,tblss,tblpovt,i)
        i+=1
    f1.close()
#    for (im,ss) in tblss.iteritems():
#        f1a.write(u'%s\n#REDIRECT [[%s]]\n========\n'%(im,ss))
#        f1a.flush()

#    f1a.close()

if __name__ == "__main__":
    try:
        fvh = wikipedia.argHandler(sys.argv[1], 'perevod')
        fvih = wikipedia.argHandler(sys.argv[2], 'perevod')
#        fviha = wikipedia.argHandler(sys.argv[3], 'perevod')
#        fotch = wikipedia.argHandler(sys.argv[4], 'perevod')
        fviha = u''
        fotch = wikipedia.argHandler(sys.argv[3], 'perevod')

        otch = codecs.open(fotch, 'w', 'utf-8')
        #otch2 = codecs.open(fotch2, 'w', 'utf-8')
        main(fvh,fvih,fviha)

    finally:
        wikipedia.stopme()


 
Static Wikipedia 2008 (no images)

aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - bcl - be - be_x_old - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - co - cr - crh - cs - csb - cu - cv - cy - da - de - diq - dsb - dv - dz - ee - el - eml - en - eo - es - et - eu - ext - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gan - gd - gl - glk - gn - got - gu - gv - ha - hak - haw - he - hi - hif - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kaa - kab - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mdf - mg - mh - mi - mk - ml - mn - mo - mr - mt - mus - my - myv - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - quality - rm - rmy - rn - ro - roa_rup - roa_tara - ru - rw - sa - sah - sc - scn - sco - sd - se - sg - sh - si - simple - sk - sl - sm - sn - so - sr - srn - ss - st - stq - su - sv - sw - szl - ta - te - tet - tg - th - ti - tk - tl - tlh - tn - to - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu -

Static Wikipedia 2007 (no images)

aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - bcl - be - be_x_old - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - co - cr - crh - cs - csb - cu - cv - cy - da - de - diq - dsb - dv - dz - ee - el - eml - en - eo - es - et - eu - ext - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gan - gd - gl - glk - gn - got - gu - gv - ha - hak - haw - he - hi - hif - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kaa - kab - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mdf - mg - mh - mi - mk - ml - mn - mo - mr - mt - mus - my - myv - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - quality - rm - rmy - rn - ro - roa_rup - roa_tara - ru - rw - sa - sah - sc - scn - sco - sd - se - sg - sh - si - simple - sk - sl - sm - sn - so - sr - srn - ss - st - stq - su - sv - sw - szl - ta - te - tet - tg - th - ti - tk - tl - tlh - tn - to - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu -

Static Wikipedia 2006 (no images)

aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - bcl - be - be_x_old - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - co - cr - crh - cs - csb - cu - cv - cy - da - de - diq - dsb - dv - dz - ee - el - eml - eo - es - et - eu - ext - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gan - gd - gl - glk - gn - got - gu - gv - ha - hak - haw - he - hi - hif - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kaa - kab - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mdf - mg - mh - mi - mk - ml - mn - mo - mr - mt - mus - my - myv - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - quality - rm - rmy - rn - ro - roa_rup - roa_tara - ru - rw - sa - sah - sc - scn - sco - sd - se - sg - sh - si - simple - sk - sl - sm - sn - so - sr - srn - ss - st - stq - su - sv - sw - szl - ta - te - tet - tg - th - ti - tk - tl - tlh - tn - to - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu