Commits

sirex committed a0f8805 Draft

Word collector.

Comments (0)

Files changed (6)

+GALUNES = (
+    (('is',    'žio',   'žiui',   'į',     'žiu',     'yje',    'i'),
+     ('žiai',  'žių',   'žiams',  'žius',  'žiais',   'žiuose', 'žiai'),  'dv##?'),
+
+    (('a',     'os',    'ai',     'ą',     'a',       'oje',    'a'),
+     ('os',    'ų',     'oms',    'as',    'omis',    'ose',    'os'),    'dm##?'),
+
+    (('as',    'o',     'ui',     'ą',     'u',       'e',      'ai'),
+     ('ai',    'ų',     'ams',    'us',    'ais',     'uose',   'ai'),    'dv##?'),
+
+    (('as',    'o',     'ui',     'ą',     'u',       'e',      'ai'),
+     ('ai',    'ų',     'ams',    'us',    'ais',     'uose',   'ai'),    'dv##?'),
+
+    (('as',    'o',     'ui',     'ą',     'u',       'e',      'ai'),
+     ('ai',    'ų',     'ams',    'us',    'ais',     'uose',   'ai'),    'dv##?'),
+
+    (('ė',     'ės',    'ei',     'ę',     'e',       'ėje',    'ę'),
+     ('ės',    'ių',    'ėms',    'es',    'ėmis',    'ėse',    'ės'),    'dm##?'),
+
+    (('tė',    'tės',   'tei',    'tę',    'te',      'tėje',   'tę'),
+     ('tės',   'čių',   'tėms',   'tes',   'tėmis',   'tėse',   'tės'),   'dm##?'),
+
+    (('uo',    'ens',   'eniui',  'enį',   'eniu',    'enyje',  'uo'),
+     ('enys',  'enų',   'enims',  'enis',  'enimis',  'enyse',  'enys'),  'dv##?'),
+)
+
+LINKSNIO_KLAUSIMAS = {
+    'v': 'kas',
+    'k': 'ko',
+    'n': 'kam',
+    'g': 'ką',
+    'i': 'kuo',
+    't': 'kame',
+    's': '!',
+}
+
+LINKSNIO_PAVADINIMAS = {
+    'v': 'vardininkas',
+    'k': 'kilmininkas',
+    'n': 'naudininkas',
+    'g': 'galininkas',
+    'i': 'įnagininkas',
+    't': 'vietininkas',
+    's': 'šauksmininkas',
+}
+
+LINKSNIAI = list('vkngits')
+
+GIMINES_PAVADINIMAS = {
+    'v': 'vyriška',
+    'm': 'moteriška'
+}
+GIMINES = list('vm')
+
+SKAICIUS_PAVADINIMAS = {
+    'v': 'vienaskaita',
+    'd': 'daugiskaita',
+}
+SKAICIUS = list('vd')
+
+SPECS = ('Kalbos dalis', (
+    ('d', 'daiktavardis', ('Giminė', (
+        ('v', 'vyriška', ()),
+        ('m', 'moteriška', ()),
+    ))),
+))
+
+
+
+def ask_spec(question, options):
+    print(question)
+    subquestions, choices = {}, []
+    for key, option, subquestion in options:
+        choices.append(key)
+        subquestions[key] = subquestion
+        print('{}: {}'.format(key, option))
+    ats = None
+    choices[0] = choices[0].upper()
+    while ats not in subquestions:
+        if ats is not None:
+            print('Klaida: "{}" nėra iš galimų pasirinkimų.'.format(ats))
+        ats = input('Pasirinkite [{}]: '.format(''.join(choices)))
+        ats = ats or choices[0].lower()
+    if subquestions[ats]:
+        return [ats] + ask_spec(*subquestions[ats])
+    else:
+        return [ats]
+
+
+def fill_spec(spec, suffixes, givensuffix):
+    for suffixes, sk in zip(suffixes, SKAICIUS):
+        for suffix, case in zip(suffixes, LINKSNIAI):
+            if suffix == givensuffix:
+                return spec.replace('##', sk + case)
+
+
+def specs_by_suffix(partspec, givensuffix, table):
+    if partspec[0] == 'd':
+        for singular, plural, spec in table:
+            if spec.startswith(partspec):
+                suffixes = (singular, plural)
+                filledspec = fill_spec(spec, suffixes, givensuffix)
+                if filledspec: yield filledspec, suffixes
+
+    else:
+        raise Exception(
+            'Unknonw spec {} in zero based position position {}, '
+            'from {}'.format(partspec[0], 0, partspec)
+        )
+
+
+
+def print_word_details(root, spec, suffixes):
+    speckeys = list(spec)
+    key = speckeys.pop(0)
+    if key == 'd':
+        print('Daiktavardis')
+        for skaicius, suffixes in zip(SKAICIUS, suffixes):
+            print()
+            print(SKAICIUS_PAVADINIMAS[skaicius])
+            for linksnis, suffix in zip(LINKSNIAI, suffixes):
+                print('{:14} {:5} {}{}'.format(
+                    LINKSNIO_PAVADINIMAS[linksnis],
+                    LINKSNIO_KLAUSIMAS[linksnis],
+                    root, suffix
+                ))
+    else:
+        raise Exception(
+            'Unknonw spec {} in zero based position position {}, '
+            'from {}'.format(key, 0, spec)
+        )
+
+
+class Word(object):
+    def __init__(self, word, meta, suffixes=None, synonyms=None, tags=None):
+        self.word = word
+        self.meta = meta
+        self.suffixes = suffixes
+        self.synonyms = synonyms
+        self.tags = tags
+
+    def match(self, prefix, suffix):
+        if suffix in self.suffixes:
+            return True
+        return False
+
+
+from collections import defaultdict
+
+
+class Db(object):
+    def __init__(self):
+        self.db = defaultdict(list)
+
+    def add(self, word):
+        self.db[word.word].append(word)
+
+    def get(self, root, prefix, suffix):
+        words = self.db.get(root, [])
+        for word in words:
+            if word.match(prefix, suffix):
+                return word
+
+    def parse(self, line):
+        items = line.strip().split('/')
+        word = items.pop(0)
+        meta = items.pop(0)
+        extra = {}
+        for item in items:
+            if item.startswith('-'):
+                extra['suffixes'] = item[1:].split(',')
+            elif item.startswith('~'):
+                extra['synonyms'] = item[1:].split(',')
+            elif item.startswith('@'):
+                extra['tags'] = item[1:].split(',')
+            else:
+                k, v = item.split(':', 1)
+                extra[k] = v
+        if word:
+            word = Word(word, meta, **extra)
+            self.add(word)
+            return word
+
+
+
+def readdb(dbfile):
+    db = Db()
+    with open(dbfile) as f:
+        for line in f:
+            db.parse(line)
+        return db
+
+
+
+def splitword(word):
+    wlen = len(word)
+    for i in range(wlen):
+        for j in range(0, wlen-i):
+            j = -j if j else wlen
+            yield word[i:j], word[:i] or None, word[j:] or None
+
+
+def findword(db, w):
+    for root, prefix, suffix in splitword(w):
+        match = db.get(root, prefix, suffix)
+        if match:
+            return match
+
+
+def main():
+    db = readdb('db.txt')
+
+    with open('words.txt') as f, open('db.txt', 'a') as dbf:
+        for w in f:
+            w = w.strip()
+            print('Žodis: %s' % w)
+
+            match = findword(db, w)
+            if match:
+                print('Found: {}'.format(match.word))
+                continue
+
+            g = input('Galūnė? ')
+            if not g: break
+
+            if w.endswith(g):
+                root = w[:-len(g)]
+                print('Šaknis: %s' % root)
+
+                partspec = ask_spec(*SPECS)
+                partspec = ''.join(partspec)
+
+                spec = None
+                for spec, params in specs_by_suffix(partspec, g, GALUNES):
+                    print_word_details(root, spec, params)
+                    ats = input('Ar teisingai (T/n)? ')
+                    if ats == 'n':
+                        spec = None
+                    else:
+                        suffixes = ','.join(params[0] + params[1])
+                        line = '{}/{}/-{}'.format(root, spec, suffixes)
+                        dbf.write(line + '\n')
+                        db.parse(line)
+                        break
+
+                if spec is None:
+                    print('Error: can not guess by given spec and suffix.')
+
+
+if __name__ == '__main__':
+    main()
+
+    #spec = find_spec('dv', 'į', GALUNES)
+    #print(spec)
+
+    #print_word_details('med', 'dvvgt', (
+    #        ('is',    'žio',   'žiui',   'į',     'žiu',     'yje',    'i'),
+    #        ('žiai',  'žių',   'žiams',  'žius',  'žiais',   'žiuose', 'žiai')
+    #    ))
+administracij/dmvv/-a,os,ai,ą,a,oje,a,os,ų,oms,as,omis,ose,os
+adom/dvvv/-as,o,ui,ą,u,e,ai,ai,ų,ams,us,ais,uose,ai
+aikštel/dmvt?/-ė,ės,ei,ę,e,ėje,ę,ės,ių,ėms,es,ėmis,ėse,ės
+aikš/dmvv?/-tė,tės,tei,tę,te,tėje,tę,tės,čių,tėms,tes,tėmis,tėse,tės
+akademij/dmvv?/-a,os,ai,ą,a,oje,a,os,ų,oms,as,omis,ose,os
+akcent/dvvv?/-as,o,ui,ą,u,e,ai,ai,ų,ams,us,ais,uose,ai
+akm/dvvv?/-uo,ens,eniui,enį,eniu,enyje,uo,enys,enų,enims,enis,enimis,enyse,enys
 ------ austrija t=šalis
 ------ austrijos t=austrija
 ------ auto l=automobilis
------- autorius
+------ automobil-
+------ autori- -us,aus,ui,ų,u,uje,au
 
 import unidecode
 
-from lema.afiksai import PRIESDELIAI, PRIESAGOS, GALUNES
+from lema.afiksai import PRIESDELIAI, GALUNES
 
 words_re = re.compile(r'\w+', re.UNICODE)
 clean_re = re.compile(r'[0-9_]+')
 NESANGRAZINIS = 'n'
 SANGRAZINIS   = 's'
 
+# Mažybinės formos
+MAZYBINE_FORMA = 'm'
+
 # Daiktavardžių skyriai
 TIKRINIS     = 't'  # priskiriami pavadinimai, vardai (Antanas, Vilnius), jie rašomi didžiąja raide
 KONKRETUSIS  = 'k'  # reiškiamus daiktus matome, galime paliesti (daiktai, augalai, gyvūnai, žmonės, vietovės)
 
 # Morfologija
 MORFOLOGIJA = {
-    DAIKTAVARDIS: (GIMINE, SKAICIUS, LINKSNIUOTE, DAIKT_SKYRIUS),
+    DAIKTAVARDIS: (GIMINE, SKAICIUS, LINKSNIUOTE, MAZYBINE_FORMA, DAIKT_SKYRIUS),
     BUDVARDIS:    (GIMINE, SKAICIUS, LINKSNIUOTE, LAIPSNIUOTE, IVARDZIUOTINIS),
     SKAITVARDIS:  (GIMINE, SKAICIUS, LINKSNIUOTE, SKAITV_SKYRIUS),
     IVARDIS:      (GIMINE, SKAICIUS, LINKSNIUOTE, IVARD_SKYRIUS),
+def splitword(word):
+    wlen = len(word)
+    for i in range(wlen):
+        for j in range(0, wlen-i):
+            j = -j if j else wlen
+            yield word[i:j], word[:i] or None, word[j:] or None
+
+
+def parse(db, words):
+    for word in words:
+        found = False
+        for root, prefix, suffix in splitword(word):
+            if root in db:
+                prefixes, suffixes = db[root]
+                prefixes.add(prefix)
+                suffixes.add(suffix)
+                found = True
+                break
+        if not found:
+            raise Exception(word)
+
+def write(db):
+    with open('out.txt', 'w') as f:
+        for root, (suffixes, prefixes) in db.items():
+            suffixes = ','.join(['%s-' % a for a in suffixes if a]) or '-'
+            prefixes = ','.join(['-%s' % a for a in prefixes if a]) or '-'
+            f.write('{} {} {}\n'.format(root, suffixes, prefixes))
+
+
+def main():
+    db = {
+        'administracij': (set(), set(['a'])),
+        'adom': (set(), set(['as'])),
+        'aikš': (set(), set(['telėje'])),
+        'akademij': (set(), set(['a'])),
+        'akcent': (set(), set(['as'])),
+        'akm': (set(), set(['uo'])),
+        'akumuliacin': (set(), set(['io'])),
+        'album': (set(), set(['as'])),
+        'altitud': (set(), set(['ė'])),
+        'alyt': (set(), set(['a'])),
+        'ambasad': (set(), set(['os'])),
+        'amži': (set(), set(['aus'])),
+        'anapus': (set(), set()),
+        'aneks': (set(), set(['avo'])),
+        'ankstyv': (set(), set(['iausių'])),
+        'anot': (set(), set()),
+        'ant': (set(), set()),
+        'apa': (set(), set(['čioje'])),
+        'apdirbimas': (set(), set(['čioje'])),
+        'apeig': (set(), set(['ų'])),
+        'apie': (set(), set()),
+        'ap': (set(), set(['ima'])),
+        'ar': (set(), set()),
+        'asm': (set(), set(['enybės'])),
+        'atk': (set(), set(['uriami'])),
+        'spind': (set(['atsi']), set(['i'])),
+        'atsitiktin': (set(), set(['is'])),
+    }
+    with open('words.txt') as f:
+        try:
+            parse(db, [w.lower() for w in f])
+        except:
+            pass
+
+    write(db)
+
+if __name__ == '__main__':
+    main()
+administracija
+adomas
+adomo
+aikštelėje
+aikštė
+aikštės
+aikščių
+akademija
+akademijos
+akcentas
+akcentus
+akmuo
+akumuliacinio
+albumas
+altitudė
+alyta
+alytus
+ambasados
+amžiaus
+anapus
+aneksavo
+aneksuotas
+ankstyviausių
+ankstyvojo
+anot
+ant
+antano
+antrajam
+antrojo
+apačioje
+apaštalo
+apaštalų
+apdirbimas
+apeigų
+apie
+apima
+apskrities
+apskritis
+apskritys
+apskričiai
+aptarimas
+apvaizdos
+apygarda
+ar
+arba
+archeologinė
+archeologo
+architekto
+architektūros
+archyvas
+arena
+arenoje
+arkangelo
+arkikatedra
+arkikatedros
+arkivyskupijos
+armija
+armijos
+artūras
+asmenybės
+atidarytas
+atkuriami
+atsispindi
+atsitiktinis
+atsiveria
+atskirame
+atstatytaAušros
+atstatyti
+atstovai
+atstovauja
+atstovaujamoji
+atstovybės
+attribution
+atšąla
+augimas
+augimą
+aukomis
+aukštaičiai
+aukštis
+aukštosios
+aukštutinė
+aukštutinės
+aukštutinę
+aukštyje
+aukščiausia
+aukščiausias
+aukščiausiasis
+aukščiausios
+aukščiausių
+autentiškų
+autobusai
+autobusas
+autobusų
+automagistralės
+autoriaus
+aušros
+baldų
+baltarusiai
+baltarusijoje
+baltarusių
+baltasis
+balti
+balticmaps
+baltijos
+baltupį
+baltų
+balys
+baroko
+basanavičius
+batoras
+batoro
+baubusiu
+bazilijonų
+bazilika
+bažnyčia
+bažnyčiaGotikinio
+bažnyčiaKlasicizmo
+bažnyčiaVisų
+bažnyčias
+bažnyčiaŠv
+bažnyčiaŠventosios
+bažnyčios
+bažnyčių
+bei
+belmonto
+bendradarbiavimo
+bendradarbiavimą
+bendriniu
+bendrinėje
+bendrojo
+bendruomenių
+bendruomenė
+bendruomenės
+bernardinų
+bet
+biblioteka
+bibliotekos
+bibliotekosNacionalinė
+bokštas
+bokštasPagrindinis
+bokštasVilniaus
+bokštu
+bokštą
+bosanski
+bostonas
+bronzos
+brūkšniuotosios
+bukčių
+bus
+buvo
+byloja
+būna
+būti
+caras
+carmečiu
+centras
+centre
+centrinis
+centro
+centru
+centrų
+cerkves
+cerkvė
+cerkvėVilniaus
+cerkvės
+chemijos
+cituoti
+civilių
+cvirka
+dailės
+dalis
+dalys
+danga
+dangoraižis
+dar
+darbininkai
+darbus
+darželių
+data
+daug
+daugiabučių
+daugiau
+daugiausiai
+dauguma
+daugybė
+daukantas
+davusi
+demografinė
+demografinės
+departamento
+detaliau
+deutsch
+dešiniajame
+dešinėje
+dia
+diagrama
+dideli
+didelis
+didelė
+didelės
+didesnės
+didieji
+didinti
+didysis
+didžiausias
+didžiausių
+didžioji
+didžiojo
+didžiulis
+didžiuliu
+dienas
+dievo
+dignitoriaus
+diplomatinės
+dirbo
+diseases
+dislokuojama
+divizija
+dolnoserbski
+dorerin
+drabužių
+draustinis
+druskininkus
+du
+duomenimis
+duomenys
+dvarčionių
+dvasios
+dvi
+dviejų
+dvimiestis
+dvimiestism
+dvimiesčio
+dėl
+e
+eGaelgFiji
+eVeps
+edition
+edukologijos
+eesti
+egbeEnglish
+eilėje
+ekonomika
+ekonomikos
+elektrinėm
+elektrotechnikos
+elementais
+eleventh
+elfa
+enciklopedija
+enciklopedijos
+enciklopedijose
+enciklopedijoseVilnius
+enciklopedijų
+encyclop
+encyclopaedia
+encyclopedia
+english
+epochos
+erdviųVilniaus
+erdvė
+esamas
+espa
+esperanto
+etapo
+etniniai
+eu
+europinės
+europoje
+europos
+euskaraSuomi
+evangelikai
+evangelikų
+evangelisto
+ežerų
+ežerųSavivaldybės
+f
+fabrikas
+first
+flag
+forma
+formos
+forumas
+foundation
+fran
+frysk
+funikulieriusŠiuo
+futbolo
+g
+gaeilge
+gailestingumo
+gaisrai
+gaisras
+galego
+gali
+galimos
+galininkas
+gamta
+gamtos
+gamykla
+gamyklas
+gamyklos
+garantijų
+gardinas
+garsiuoju
+garso
+garsu
+gatves
+gatviųDažnai
+gatvė
+gatvės
+gaunama
+gedimino
+gediminu
+geg
+geležies
+geležinio
+geležinkeliai
+geležinkelio
+gelžbetoniniai
+generalgubernijos
+gentis
+genčių
+geografija
+geografinio
+geomorfologinis
+gerai
+geriau
+gerinti
+getą
+giliau
+gimnazijų
+gimė
+gira
+girių
+glaubico
+glaudžiasi
+globėjo
+gold
+google
+gotikos
+graikų
+grand
+gražiausių
+greitai
+greta
+grigiškes
+grigiškių
+gru
+gruodžio
+grupė
+gubernijos
+gucevičiaus
+gucevičius
+gynybinės
+gyvena
+gyveno
+gyventojai
+gyventojaim
+gyventojų
+gyvenvietė
+h
+heifetzas
+hindi
+histogramaRemiantis
+hornjoserbsce
+hrvatski
+html
+http
+huatl
+humanitarinis
+i
+iII
+idhlig
+ido
+iki
+ilgam
+ilsisi
+imperijos
+in
+inc
+indonesia
+information
+infrastruktūros
+iniciatyva
+institucijos
+institutas
+interaktyviVilna
+interaktyvirodyti
+interlingue
+inuktitutKalaallisutKurd
+investicijų
+ir
+isPortugu
+isiZuluŠis
+istorija
+istorijaPagrindinis
+istorijaVilniaus
+istorijos
+istorinis
+istorinės
+italiano
+iš
+išaugant
+išeina
+išgarsino
+iškilmių
+išliko
+išlikusi
+išlikę
+išriedėjo
+išriedės
+išsidėstęs
+ištiko
+išvežti
+išžudyta
+j
+jai
+jame
+jascha
+jaunimo
+jeruzalė
+jiems
+jo
+jogaila
+jokių
+jokūbo
+jonas
+jono
+jos
+judėjimo
+julijus
+juosta
+juozapo
+juozas
+jėgainėsm
+jėgų
+jėzaus
+jūros
+jų
+k
+kad
+kada
+kai
+kaimus
+kaimą
+kaip
+kairėje
+kalboje
+kalbomis
+kalbos
+kalinausko
+kalnasPagrindinis
+kalnasPamėnkalnis
+kalnasŠvietimo
+kalno
+kalnu
+kalną
+kalnų
+kalvose
+kampe
+kankinių
+kanonizacijai
+kapinių
+kapinės
+karalaičio
+karaliumi
+karalius
+karališką
+kariuomenei
+kariuomenė
+karius
+karmelitų
+karo
+karoliniškių
+kartu
+kartą
+kartų
+karui
+karą
+kasz
+katalikai
+katalikų
+katedros
+kategorija
+kaunas
+kauno
+kauną
+kavinė
+kazimiero
+keistas
+keitimai
+kelTi
+keletą
+keliai
+kelias
+kelio
+kelpšos
+keramikos
+kernowekLatina
+kertinis
+kiekis
+kilmininkas
+kilmė
+kirčiavimas
+kirčiuotė
+kiswahili
+kitasTiltai
+kitataučiai
+kiti
+kitiPagal
+kitoje
+kitomis
+kitos
+kitose
+kituose
+kitur
+kitų
+klaipėda
+klaipėdą
+klasicistinė
+klimatas
+klubai
+km
+kodas
+kodą
+kolegija
+kombinatai
+kombinatas
+komisija
+komunaras
+koncentracijos
+konditerijos
+konfesijos
+konkurencingumą
+konservatorija
+konstantinas
+konstantino
+konstitucijos
+konstitucinis
+koordinatės
+koplyčia
+koplyčiaSentikiai
+kov
+kovosVilniui
+krante
+kraštinės
+krašto
+kraštovaizdžio
+krepšinio
+krey
+krikštytojo
+krikščioniškos
+krituliai
+kritulių
+kryžiai
+kryžių
+ktVilniaus
+kudirkos
+kulto
+kultūra
+kultūriniu
+kultūroje
+kultūros
+kunigaikštis
+kunigaikščio
+kunigų
+kupiškio
+kupiškis
+kur
+kuri
+kuriam
+kuriame
+kurie
+kurio
+kurioje
+kurios
+kurių
+kursuoti
+kurį
+kviečiame
+kweather
+kūrė
+l
+lFF
+lIETUVOS
+lNovial
+lR
+lT
+la
+labai
+ladino
+laikais
+laikas
+laiko
+laikomas
+laikotarpio
+laikų
+laipsnių
+laiške
+lap
+latviešuMalagasy
+laurynas
+lauryno
+lavinimo
+ledynmetinio
+legenda
+leidybos
+leidykla
+lelija
+lengvoji
+lenkai
+lenkija
+lenkijai
+lenkijoje
+lenkijos
+lenkiškas
+licenciją
+licėjus
+lie
+liekanos
+liepa
+liepos
+lietuva
+lietuviai
+lietuviškoji
+lietuviškuose
+lietuvių
+lietuvoje
+lietuvos
+lietuvą
+ligure
+likusių
+ling
+linija
+link
+linksmosios
+litų
+liubarto
+liudas
+liudininkai
+liuteronai
+liuteronų
+lniaus
+lniui
+lniujerus
+lniumi
+lnius
+lnių
+logo
+lopšys
+lotynų
+lt
+luganda
+lumbaart
+lyda
+lygintinas
+lygį
+m
+mNuo
+magdeburgo
+magistraliniai
+magistralė
+magyarBahasa
+maisto
+malti
+maps
+marijampolė
+marijampolę
+marijos
+marks
+marksas
+martyno
+maršrutas
+masiniai
+matomi
+matuojama
+mašinų
+mažesnes
+mažoji
+mažvydo
+mediaWiki
+medienos
+medininkus
+melayu
+mena
+menų
+meras
+mercedes
+mergelės
+metais
+metalo
+metinis
+metinė
+metro
+metropoliteno
+metu
+metus
+metų
+mickevičiaus
+mickevičius
+miestams
+miestas
+mieste
+miesteliai
+miestelių
+miestelyje
+miestietiškojo
+miesto
+miestus
+miestą
+miestų
+mikalojaus
+mikalojus
+mikelis
+mikrorajono
+milimetraiVilniuje
+milošas
+mindaugo
+miniatiūroje
+ministerijos
+minskas
+minsko
+misijos
+mitingai
+miškai
+mlrd
+mm
+mobili
+modelį
+moksliniu
+mokslo
+mokykla
+mokyklos
+mokyklosISM
+mokyklosJ
+mokyklosVilniaus
+mokyklų
+morse
+motinos
+mslėpti
+musulmonaiIšankstiniais
+musulmonų
+mykolaitis
+mykolas
+mykolo
+mėnuo
+mūsų
+n
+nArm
+nacionalinio
+nacionalinė
+nacionalistinių
+nacionalsocialistų
+naikinimo
+naktimis
+namų
+namųm
+naoero
+naudininkas
+naujausi
+naujų
+navigaciją
+ne
+neashceKinyarwandaScots
+nederlands
+negu
+nei
+nekaltojo
+nemažai
+nepriklausomybę
+neries
+neris
+nerį
+net
+netrukus
+neva
+nevalstybinės
+new
+ng
+ngSrpskohrvatskiSimple
+nglisc
+nnapulitano
+nordfriisk
+nors
+norsk
+nugriauti
+nukentėjo
+nukreipti
+nulinės
+numatytas
+numeris
+nuniokotą
+nuo
+nuolat
+nuolatinė
+nuoroda
+nuorodos
+nuotrauka
+nuotraukomis
+nuotraukos
+nuotraukosVilniaus
+nuotraukų
+nusiaubė
+nustatyta
+nutiesta
+nuvola
+nužudyti
+nynorskNorsk
+nėra
+o
+objektai
+occitanPolski
+of
+okupacija
+okupavo
+okupuotas
+ol
+on
+online
+onos
+or
+organizacijų
+oriBahasa
+oro
+ovalioje
+ozas
+p
+pNG
+pab
+pabaltijo
+padaryta
+padėtas
+pagal
+pagalba
+pagaminama
+page
+pagrindinis
+pagrindinių
+pagrindinė
+pagrindinės
+paiešką
+pajamų
+pakeliant
+pakilusi
+palaikai
+paliko
+palikuonys
+palydovinė
+paminklas
+paminklasTrys
+paminklą
+paminklų
+paminėtas
+pamėnkalnio
+pamėnkalnis
+panevėžys
+panevėžį
+panorama
+panoramomis
+papildomos
+paplaujos
+papėdės
+parama
+parapija
+parapijos
+parduotuvių
+parkas
+parke
+parko
+pasauliniam
+pasaulinio
+pasaulio
+pasirašė
+pasiskelbė
+pasitaiko
+pasiuntė
+pasižymi
+paskutinį
+paskyrą
+paslaugas
+pastarąjį
+pastatai
+pastatyta
+pastatytas
+pastatų
+pat
+pateikiamas
+pateikiami
+pats
+patį
+paukščių
+pavadinimas
+pavadinimo
+pavadinimą
+pavaldi
+pavaldūs
+pavasario
+paveikslu
+paveldo
+pavilnių
+pašto
+penki
+per
+perduotas
+pereinamasis
+pergalė
+pergalės
+perkeliami
+perkelta
+perlo
+peršokti
+peržiūraWikimedia
+petras
+petro
+piemont
+pietrytinėje
+pietryčiuose
+pietryčius
+pietus
+pietvakarius
+pilies
+pilis
+pilisGedimino
+pilių
+pilypo
+pilys
+pilį
+pirmieji
+pirmoji
+pirmojo
+pirmą
+pisin
+planavimo
+plastmasės
+plattd
+plikojo
+plotas
+plytų
+plėšiamas
+png
+pngĮ
+po
+poetai
+pokariu
+politika
+politikos
+politiką
+poreikiams
+potvynis
+povilo
+powered
+pradinė
+pradėjo
+pradžia
+pradžioje
+pradžios
+praleido
+pramogų
+pramonė
+pramonėm
+pramonės
+prasidėjimo
+prasidėjo
+prasidėjus
+prekes
+prezidentūra
+prie
+prienai
+prieš
+priklauso
+priklausė
+primena
+prisidėti
+prisijungti
+pritaikomas
+pro
+proc
+produkcijos
+profsąjungų
+projektai
+projektu
+projektuose
+projektuotų
+projektą
+promogų
+prospekte
+psl
+pslVilna
+pslVilniaus
+pslVilnius
+pslVirtualus
+pslpsl
+pub
+published
+puslapiai
+puslapis
+pusėje
+putinas
+px
+pėsčiųjų
+pėsčiųjųLazdynų
+pėsčiųjųLiubarto
+pėsčiųjųŽaliasis
+r
+rEO
+ra
+raida
+raidos
+rain
+rajonai
+rajone
+rajono
+rajonų
+ramybėje
+rangą
+rapolo
+rasų
+raudonoji
+raštuose
+rašytiniuose
+rašytojai
+rbaycanca
+red
+redakcija
+reformatai
+reformatų
+regioninis
+regioninę
+regiono
+registruotisStraipsnis
+reikšme
+reikšmės
+reikšmę
+rekordinė
+religija
+religijos
+religinės
+reliktasVilniaus
+reljefo
+renesanso
+respublikai
+rezervatui
+režimą
+rgp
+rgs
+rk
+ro
+rodyti
+rokantiškių
+rom
+romantikai
+romerio
+romeris
+romėniškojo
+roseVents
+rotušė
+rotušės
+royskt
+rugpjūčioTekstas
+rugsėjo
+runa
+rusKlimato
+rusT
+rusVilna
+rusVilnius
+rusai
+rusijos
+rusinimo
+russia
+russian
+rygos
+ryto
+rytus
+rytų
+rūmai
+rūsiaim
+s
+sOSTINĖS
+sakalų
+sanktuariumu
+santakoje
+santuokų
+sau
+saugotinos
+sausio
+sausros
+sausį
+savaitesBūna
+savaitės
+savininko
+savivaldybė
+savivaldybėMiesto
+savivaldybėPagrindinis
+savivaldybėje
+savivaldybės
+savivaldą
+savo
+sciences
+seeltersk
+seimas
+seminarija
+senamiestis
+senamiestisPagrindinis
+senamiestisVilniaus
+senamiestyje
+senamiestį
+senamiesčio
+seniausia
+seniausių
+seniūnijoje
+senoji
+senojo
+sentikiai
+sentikių
+sesotho
+share
+shqip
+siSwati
+sieja
+siejamos
+siekia
+siekiama
+siemens
+sienos
+sietinas
+simboline
+simboliu
+simbolizavusios
+simi
+simonas
+sinagoga
+siuvimo
+skaisčiausiosios
+skaityti
+skaičiavimo
+skaičius
+skatinti
+skirtų
+slenska
+slovackis
+slovenčina
+slovenščina
+smilkalai
+smuikininkas
+social
+sostine
+sostinių
+sostinė
+sostinėje
+sostinės
+sovietai
+sovietinį
+sovietų
+spa
+sparčiai
+spausdinimui
+spausdino
+specialieji
+spencer
+sportas
+sportimam
+sporto
+srovęGariūnų
+srovęPilies
+srpski
+sruoga
+stabdė
+stadionas
+staklių
+stanevičius
+statinys
+statistikos
+statomas
+statyba
+statybų
+statyta
+stačiais
+stačiatikiai
+stačiatikių
+steigimas
+steponas
+stepono
+stiliaus
+stiliumi
+stilių
+storesnė
+stotis
+stovi
+stovyklas
+stočiųVilnius
+straipsniai
+straipsnis
+straipsniu
+straipsniuKategorijosSavaitės
+straipsnyje
+straipsnį
+strateginio
+stuoka
+stūkso
+su
+sudaro
+sudarė
+sudegintas
+sudėtyje
+sugriauta
+sujungianti
+sujungti
+sukaupta
+sukilimo
+sukurta
+sukurti
+sunitų
+sur
+surašymo
+surinkti
+susiformavusi
+susiję
+susirėmimuose
+susisiekimas
+susisiekimo
+susitarimą
+sustabdytas
+suteikė
+suvaryti
+svarbai
+svarbesnieji
+svarbiausi
+svarbiausia
+svarbiausias
+svarbiausiu
+svarbiausių
+svarbumą
+svarstomi
+svenska
+svetainė
+svg
+svyravimai
+sąjunga
+sąjungos
+sąlygas
+sąlygos
+sąrašą
+t
+tSR
+tad
+tada
+tagalog
+tai
+taikomos
+taip
+takas
+tallat
+tankumas
+tapo
+tapęs
+tarmėse
+tarp
+tarptautinio
+tarptautinis
+tarptautinių
+tarptautinėje
+taryba
+tarybinė
+tarybinės
+tarybų
+taurakalniu
+tauro
+tauru
+tautybių
+tačiau
+technikos
+teises
+teismai
+teisės
+teka
+tekanti
+televizijos
+telkšo
+temperatūra
+ten
+teresės
+teritorijoje
+teritorijos
+teritorijosŠeškinės
+termofikacinė
+terms
+th
+the
+thunderstorm
+tiesioginių
+tik
+tikra
+tikrintaVilnius
+tiksliai
+tikybą
+tiltai
+tiltas
+tiltų
+tinklalapis
+tinklo
+tok
+tokios
+tokių
+tolimiausiame
+tramvajaus
+transportas
+transportasMieste
+transportasm
+traukos
+trejybės
+trečiojoje
+trijų
+tris
+troleibusai
+troleibusų
+trys
+tsch
+tumas
+tuo
+turinysIstorija
+turėjo
+tvano
+tzebuergesch
+tą
+tęsti
+uNESCO
+uTC
+uTCvasaros
+ugdymo
+unikalaus
+universali
+universitetas
+universitetinis
+universiteto
+universitetą
+universitetų
+uostas
+uosto
+upes
+upė
+upės
+upėsSniego
+upėvardis
+urbanistikos
+urbanistinio
+urbanistinius
+usePrivatumo
+utena
+utenos
+uteną
+uwsB
+už
+uždarė
+užlieti
+užrašytos
+užsienio
+užtarėjos
+užupio
+užėmus
+užėmusi
+užėmė
+užėmę
+užšąla
+v
+vadinamas
+vadinti
+vadybos
+vaidmens
+vaikystę
+vaislapėlis
+vaitkevičiaus
+vaizdai
+vaizdų
+vaižgantas
+vakarus
+vakarų
+valakupių
+valdovų
+valdybai
+valdė
+valdžia
+valdžios
+valstybių
+valstybė
+vandenys
+vardas
+vardininkas
+vardo
+vardu
+vardą
+variantas
+vartai
+vartų
+varėna
+vas
+vasaros
+vasarą
+vasarų
+veda
+veikia
+veikiančios
+veikė
+velniakalnisŠvietimo
+verkių
+versija
+verslo
+veržuvą
+vetch
+vi
+vidurinės
+vidurio
+vidurmažių
+viduryje
+vidutinis
+vidutinė
+viena
+vienas
+vieni
+vienintelių
+vienintelė
+vienos
+vienuolynai
+vienuolynas
+vieną
+vietininkas
+vietos
+vietoseVilniuje
+vietovardžio
+view
+viešasis
+viešoji
+vikipediją
+vikiteka
+vilko
+vilna
+vilnelė
+vilnelės
+vilnia
+vilniaus
+vilnios
+vilnis
+vilniui
+vilniuje
+vilnius
+vilniusSukurti
+vilniustransport
+vilnią
+vilnių
+vilniųOficiali
+vincas
+vingio
+virtuozas
+virš
+viršuje
+viršūnėje
+visa
+visais
+visoje
+visos
+vivulskio
+vokietijos
+vokiečiai
+vokiečių
+vokiečiųŠvč
+vokėVilniuje
+volap
+vykdant
+vykdomoji
+vykdyto
+vykdytos
+vykinto
+vyko
+vyraujanti
+vyravo
+vyriausioji
+vyriausybės
+vyrų
+vystomas
+vystytis
+vystėsi
+vėliau
+vėliava
+vėlyvojo
+weather
+wikimedal
+wilno
+winaray
+wolofYor
+www
+xII
+xIII
+xIV
+xIX
+xV
+xVI
+xVIII
+xXVIII
+york
+yra
+zarasų
+zazaki
+zuokas
+zymotic
+ąją
+Čenstakavos
+Česky
+Česlovas
+Čia
+Čiurlionio
+Čiurlionis
+čempionato
+čia
+čiaDievo
+ėmė
+ėmėsi
+Įkurtos
+Įkūrimo
+Įnagininkas
+ĮrankiaiSusiję
+Įsikūręs
+įkurtas
+įkurtos
+įkūrimą
+įkūrė
+įkūrėju
+įkūrėjų
+įmonių
+įrašytas
+įrengta
+įsigalėjo
+įsigalėjęs
+įsikūrusi
+įsikūrė
+įsikūręs
+įstaigos
+įstaigosVisų
+įsteigta
+įtaka
+įtrauktas
+įvairių
+įšyla
+įžengė
+ŚlůnskiTetun
+Šalia
+Šaltiniai
+Šaltiniaipsl
+Šalčiausia
+Šalčininkus
+Šeškinės
+Šiaurės
+Šilo
+Šiltos
+Širdies
+Šis
+Šiuo
+Šnipiškės
+Šv
+Šventosios
+Šventųjų
+Švč
+šalies
+šalių
+šaltiniuose
+šaltos
+šaltų
+šalyse
+šiandien
+šiaurės
+šiaurę
+šiltų
+šiluminės
+šilčiausia
+šio
+šios
+šlaitais
+šlaito
+šv
+švedų
+šventykla
+Žalgirio
+Žalgiris
+Žaliųjų
+Žemaitė
+ŽemaitėškaBislama
+Žemutinė
+Žemutinę
+Žemėlapiai
+ŽemėlapiaiVilniaus
+Žirmūnų
+Žiūrėti
+Žvorūnė
+Žvėryno
+Žydų
+Žymūs
+žemiausia
+žemė
+žemėlapis
+ženklina
+židinį
+žiemos
+žiemų
+žinoma
+žm
+žmonių
+žmonės
+žodžio
+žodžiu
+žr
+žuvo
+žydai
+žydaiDabar
+žydų
+žymiausio
+žymių
+žymos