import pywikibot 
 
site = pywikibot.Site('en','wiktionary')
cat = pywikibot.Category(site,'Category:Navajo verbs')
from pywikibot import pagegenerators
gen = pagegenerators.CategorizedPageGenerator(cat)

import re, datetime
print(datetime.datetime.now().strftime("%X")) 
m=re.compile( "nv-prefixes *\|([^\}]+)\}\}")
m2=re.compile("nv-paradigm *\|([^\}]+)\}\}")
m3=re.compile("nv-link-to-root *\|([^\}]+)\}\}")
m4=re.compile("\* \{\{l\|nv\|([^\}]+)\}\}")
m5=re.compile("\* \[\[([^\]]+)\]\]")
m6=re.compile("nv-verbtable(-ext)* *\|[^|]+\|([^|]+)\|([^|]+)\|")
m7=re.compile("\n#(.*)")

def rework(s) :
  ret=s
  ret=ret.replace("something unspecified", "sth") 
  ret=ret.replace("something","sth")

  ret=ret.replace("he/she/it","he")
  ret=ret.replace("he/she","he")
  ret=ret.replace("him/her/it","him")
  ret=ret.replace("him/her","him")
  ret=ret.replace("his/her/its","his") 
  ret=ret.replace("his/her","his")
  ret=ret.replace("such as","as")
  
  ret=ret.replace("(2 actors)","(2)")
  ret=ret.replace("(3+ actors)","(3+)")
  ret=ret.replace("around somewhere","around")
  
  # simplify classes
  ret=ret.replace("solid roundish object","SRO")
  ret=ret.replace("slender flexible object","SFO")
  ret=ret.replace("slender stiff object","SSO")  
  ret=ret.replace("stick-like object","SSO")
  ret=ret.replace("flat flexible object","FFO")
  ret=ret.replace("animate object","AnO")
  ret=ret.replace("animate thing","AnO")
  ret=ret.replace("non-compact matter","NCM")
  ret=ret.replace("open container","OC")
  ret=ret.replace("mushy matter","MM")
  ret=ret.replace("object","obj")
    
  # remove italics between parentheses
  m=re.compile("\(\'\'.*\'\)") 
  ret=m.sub('',ret)
    
  # remove qualifiers 
  m=re.compile("\{\{\qualifier\|[^\}]*\}\}") 
  ret=m.sub('',ret)

  # remove first parentheses  
  m=re.compile("^\([^\)]*\)") 
  ret=m.sub('',ret.strip())
    
  # reduce examples
  m=re.compile("\(([^\)]*) or [^\)]*\)") 
  ret=m.sub(r'(\1)',ret.strip())
    
  m=re.compile("\(([^,\)]*),[^\)]*\)") 
  ret=m.sub(r'(\1)',ret.strip())  
    
  # strip markup
  m=re.compile("\[\[([^\|\]]*\|)?([^\]]*)\]\]") 
  ret=m.sub(r'\2',ret.strip())

  ret = ret.strip()
  return ret

def cut50(s):
  if len(s) <=50:
    return s

  # retrieve last paren clause 
  paren=""
  ret=s
  m=re.compile("(\([^\)]*\))$")
  p=m.search(s)
  if p:
       paren=" "+p.group(1)
       ret=s[0:p.span()[0]]
  cut=(len(paren) >25) and 25 or 50
  m=re.compile("(.*),(.*)")
  p=m.search(ret[0:cut] )
  if p:
       return p.group(1).strip()+paren 
  else:
       return ret.split(',')[0].strip()+paren
    
    
class Verb:
  def __init__(self, verb):
    self.verb = verb
    self.prefixes = []
    self.slots    = [[],[],[],[],[],[],[],[],[],[],[]]
    self.paradigm = []
    self.count =0
    self.root = ""
    self.gloss =""
    self.definition =""
    self.firstperson=""
    self.seealso = []
verbList=[]
    
unclassified=[] 
seealso={} 
prefixes=set() 
count=0
allroots={} 

for page in gen:
  count+=1
  if count >1940:
    break
  if count <0:
    continue 
  text = page.text
  verb = page.title()
  v=Verb(verb)
    
  p=m.search(text)
  if p :
    print(datetime.datetime.now().strftime("%X"),count, page.title())
    g=p.group(1) 
    s=g.split('|')

    verbList.append(v)
    v.count=count
    v.prefixes=s
    
    prefixes|=set(s)
  else:
    unclassified.append(verb)

  p2=m2.search(text)
  if p2 :
    g=p2.group(1)
    s=g.split('|')
    
    v.paradigm=s
    if len(v. paradigm)>1 :
      if "da-shift" in text:
          v.paradigm[1]+="*"
      if "|da}}" in text or "|da-partial}}" in text:
          v.paradigm[1] +="~" 
      
      if ("sii" in text and "soo" in text or "shii" in text and "shoo" in text) :
          v.paradigm[1]+="°"
  p3=m3.search(text)
  if p3 :
    g=p3.group(1)
    s=g.split('|')
    
    #print(s)
    #print(g)

    v.root= s[0].strip()
    v.gloss = s[1].strip()
    #print (v.root, v.gloss) 
    
    if v.root in allroots:
      allroots[v.root]+=1
    else:
      allroots[v.root]=1
    
  for p4 in re.finditer(m4, text):
    g=p4.group(1);
    s=g.split('|')[0]
                        
    if len(s.split())!=1:
        continue
                        
    if pywikibot.Page(site,s).exists():
        continue

    if s in seealso:
      seealso[s].append(verb)
    else:
      seealso[s]=[verb]
 
  for p5 in re.finditer(m5, text):
    g=p5.group(1);
    s=g.split('|')[0]
                        
    if len(s.split())!=1:
        continue
                        
    if pywikibot.Page(site,s).exists():
        continue

    if verb in seealso:
      seealso[verb].append(s)
    else:
      seealso[verb]=[s]
    
  p6=m6.search(text[200:])
  if p6 :
      #print(p6)  
      g=p6.group(2).strip() 
      if len(g)<3 or g=="&nbsp;":
        g=p6.group(3).strip()

      v.firstperson= g
    
  for p7 in re.finditer(m7, text):
    g=p7.group(1);
    v.definition=cut50(rework(g))
    break
  #gen2 = page.linkedPages()
  #for ppp in gen2 :
  #    print(ppp.title())
                        
### prefixes classification
prefixslot={} 
slotprefixes={} 
for i in range(0,10):
    slotprefixes[i]=[]
for p in prefixes:
  pp = p.split('-')
  p1=p2=p12=" "
  if len(pp) >= 1:
        p1=pp[0]
  if len(pp) >= 2:
        p12 = pp[0]+"-"+pp[1]
  if p == "-" or p1 in ('Ø', 'l', 'ł', 'd', 'L'):
    slot = 9 
  elif p in ('a-away', 'da-death', 'ni-disj', 'di-disj') :
    slot = 1
  elif p in  ('ni', 'si', 'yi-semel', 'yi-trans','yi-prog', 'yi') :
    slot = 7
  elif p12 in ('ni-3s','si-3s','yi-3s','yi-prog'):
    slot = 7
  elif p1 in ('di', 'hi', 'hí', 'ni', 'ní', 'yi', 'yíní', 'dini','yini', 'sh', 'dzi'  ) :
    slot = 6
  elif p in ('a', 'ho', '3o', 'ah', '4i') :
    slot = 4
  elif p in ('3s','y-peg') :
    slot = 8
  elif p in ('b', 'ał', 'ah-disj') :
    slot = 0
  elif len(p) >=2 and p[0]=="-" :
    slot =0

  else:
    slot = 1
    print ("couldn't find slot for "+p) 
  #print(p, p1,p12,slot) 
  prefixslot[p] =slot
  if slot in slotprefixes:
    slotprefixes[slot].append(p)
  else:
    slotprefixes[slot] = [] 


for verb in verbList:    
    for j in range(len(verb.prefixes)):
       vp = verb.prefixes[j]
       slot = prefixslot[vp]
        
       # if POS IV object prefix
       # but this is first prefix
       # and next prefix is POS I
       # then this is POS 0
       if slot == 4 and j==0 and verb.prefixes[1] in slotprefixes[0]:
            slot = 0
       # Other case na-swap : na1-bi0 ==> bi0-na1
       #print(verb.verb,j, slot,verb.prefixes[0],  verb.prefixes[1],verb.prefixes[2]) 
       if slot == 4 and j==1 and verb.prefixes[2] in slotprefixes[0] and verb.prefixes[0].split('-')[0]=='na':
            slot=0
    
       verb.slots[slot].append(vp) 
       #print(verb.verb, slot, vp)
       
for verb in verbList:
    if (len(verb.paradigm)==0):
        continue
    para=verb.paradigm[0]
    p=para.lower().strip()
    if p == "momentaneous":
      para="MOM"
    elif p == "neuter imperfective":
      para="N-IMP"
    elif p == "neuter perfective":
      para="N-PERF"


    elif p == "neuter repetitive":
      para="N-REP"
    elif p == "neuter absolute":
      para="N-ABS"
    elif p == "neuter comparative":
      para="N-COMP"
    elif p == "repetitive":
      para="REP"
    elif p == "conclusive":
      para="CONCL"
    elif p == "continuative":
      para="CONT" 
    elif p == "conative":
      para="CONAT"
    elif p == "semelfactive":
      para="SEM"
    elif p == "transitional":
      para="TRANS"
    elif p == "durative":
      para="DUR"
    elif p == "progressive":
      para="PROG"
    elif p == "reversative":
      para="REV"
    verb.paradigm[0]=para
    
    
###### print table
#s="Last generation time: "+str(datetime.datetime.now())[0:11]+ datetime.datetime.now().strftime("%X") +"\n "
s="{| class=\"wikitable sortable\" style=\"white-space:nowrap;text-align: center\"\n|-\n"
s+="!colspan=3|  !!  colspan=2| DISJUNCT!! colspan=4|CONJUNCT  !! colspan=4| \n"
s+="|-\n! !! colspan=2|Verb"

s+="!! 0 <br> Obl !! I <br> Adv!! IV/V<br> Obj"

s+="!! VI <br> Them!!VII/VIII<br> Modal!!IX <br> Cl"

s+="!! Asp !! Par !! Root !! Gloss"

s+="\n|-\n"
s+="! <br>!!  !! !! !! !! !! !! !! !! !! !! !! \n"
for verb in verbList:
  s+="|- \n"
  s+="|<small>"+str(verb.count) +"||align=left|[[" + verb.verb+"]]"
  s+="||align=left|"+ (verb.
firstperson !="" and "[[" + verb.firstperson+"]]" or " ") 
 
  for i in range(0,10):
   if i in (2,3,5, 8):
    continue
   
   s +="||"
   j=0
   for vp in verb.slots[i]:
        if len(vp) <1 :
            print ("Verb " +verb.verb+" has null prefix") 
            continue
        #formatting
        vpp=vp.split('-')[0]   
        if vp[0]=="-": #postpositions 
          vpp=vp
        elif vp in('-') :
          vpp='Ø'
        elif vp in ('3s'):
          vpp='-' 
        elif vp in ('3o'):
          vpp='y' 
        elif vp in ('4i'):
          vpp='ʼa'
        elif vp =='L' :
          vpp='ł'
        elif vp[0] in ('a','á'):
          vpp='ʼ'+vpp
        s+=(j>0 and '-' or ' ') +vpp
        
        if len(vp.split('-')) ==3:
            form=vp.split('-')[2]
            if form in ("í","íí"):
               form=form.replace("í","◌́")
            s+= " (" +form+")"
        j+=1
   s+=" "
  if len(verb.paradigm)>0:
    s+="||<small>"+verb.paradigm[0]+" "
    if len(verb.paradigm)>1:
      s+="||"+verb.paradigm[1]
    else:
      s+="||Ø"
  else:
    s+="|| ||"
  s+="||<small>[["+verb.root+"]] ||align=left|<small>"+verb.gloss+" ||align=left|<small>"+verb.definition+" "     

  s+="\n"
s+="|}\n"

s+="===Unclassified===\n"
s+="{{rel4"
for v  in unclassified :
   s+="| [[" + v +"]]"
s+="}}\n"
print(datetime.datetime.now().strftime("%X"),"done")  

s+="===Roots===\n"
s+="Count: " + str(len(allroots) ) +" \n"
s+="{{rel4"
for r, c in sorted(allroots.items( ), key=lambda x:x[1]):
  s+="|[[" +r+"]], "+ str(c) 
s+="}}\n"

s+="===Wanted  pages ==="
for  b,v  in sorted (seealso.items()) :
  s+="\n# [["+b+"]] :  "
  for a in v:
    s+=" [["+a+"]] "
print(datetime.datetime.now().strftime("%X"),"done")  


page=pywikibot.Page(site,"User:Julien_Daux/Navajo_verbs_by_prefixes_full") 
page.text=s
page.save()
04:12:56
04:12:57 1 aʼaał
04:12:57 2 achįʼ
04:12:57 3 achʼiish
04:12:58 4 adidzééh
04:12:58 5 adijił
04:12:58 6 adilnííh
04:12:59 7 adiłhash
04:12:59 8 ádin
04:12:59 9 adiníłdíín
04:12:59 10 aditał
04:13:00 11 adlą́
04:13:00 12 ahaʼdeetʼaah
04:13:00 13 áhátʼį́
04:13:00 14 aheełtʼé
04:13:01 15 aheenízaad
04:13:02 16 ahigą́
04:13:02 17 akʼeʼełchí
04:13:02 19 ákótʼé
04:13:02 20 aldeeł
04:13:02 21 alghał
04:13:02 22 alizh
04:13:03 23 alkeed
04:13:03 24 alzhish
04:13:03 25 ałchin
04:13:03 26 ałchozh
04:13:03 27 ałeeh
04:13:04 28 ałhą́ą́ʼ
04:13:04 29 ałhosh
04:13:04 30 ałkąąh
04:13:04 32 ałtaaneesdiz
04:13:04 33 ałtsʼééh
04:13:05 34 áłtsʼíísí
04:13:05 36 ałtso
04:13:05 37 áłtsʼóózí
04:13:05 39 ánééh
04:13:05 40 ánéeltʼeʼ
04:13:06 41 ánéídlééh
04:13:06 42 áníldííl
04:13:06 43 áníłtsááz
04:13:06 44 ánízáád
04:13:06 45 ászólí
04:13:07 46 átʼé
04:13:07 47 átʼį́
04:13:07 48 atłʼiid
04:13:07 49 atłʼó
04:13:07 50 ayą́
04:13:08 51 bééhániih
04:13:08 52 bééhoozįįh
04:13:08 53 bééhózin
04:13:09 54 bihónéedząąh
04:13:09 57 chʼéʼaash
04:13:09 58 chʼéʼeeł
04:13:10 59 chʼéghááh
04:13:11 60 chʼéjeeh
04:13:11 61 chʼékááh
04:13:11 62 chʼéldlóósh
04:13:12 63 chʼéldóóh
04:13:13 64 chʼélʼéés
04:13:13 65 chʼélnood
04:13:14 66 chʼéltaał
04:13:14 67 chʼéltłʼééh
04:13:14 68 chʼélyeed
04:13:15 69 chʼémáás
04:13:15 70 chʼéʼnééh
04:13:17 71 chʼétʼááh
04:13:17 72 chʼétʼééh
04:13:18 73 chʼétłíísh
04:13:19 74 chʼéyéés
04:13:20 75 chʼídeelnííh
04:13:21 76 chʼííłʼá
04:13:21 77 chʼííłchʼąął
04:13:22 78 chʼííłʼeeł
04:13:23 79 chʼííłjiid
04:13:23 80 chʼííłmáás
04:13:24 81 chʼííłtʼááh
04:13:25 82 chʼííłtʼééh
04:13:27 83 chʼííłtʼood
04:13:28 84 chʼííłtsʼǫǫd
04:13:29 85 chʼíízǫ́ǫ́s
04:13:30 86 chʼínádzííd
04:13:30 87 chʼínéísííd
04:13:31 90 daatsaah
04:13:31 91 deení
04:13:32 92 deesbá
04:13:32 93 deesdoi
04:13:33 94 deesgai
04:13:33 95 deeshchiiʼ
04:13:33 96 deeshjin
04:13:33 97 deestso
04:13:33 98 déesxéél
04:13:33 99 deezʼá
04:13:34 101 díchʼííʼ
04:13:34 102 dichʼíízh
04:13:34 103 didzééh
04:13:35 104 didziih
04:13:35 105 digeeh
04:13:35 106 dighááh
04:13:35 107 dighaał
04:13:35 108 diichʼééh
04:13:35 109 diidiłjeeh
04:13:35 110 diidzééh
04:13:36 111 diigis
04:13:36 112 diʼil
04:13:36 113 diiłheeł
04:13:36 114 diimáás
04:13:38 115 diitłʼíísh
04:13:38 116 dijeeh
04:13:39 117 dijool
04:13:39 118 dikááh
04:13:40 119 dikóóh
04:13:40 120 díkʼǫ́ǫ́zh
04:13:40 121 dikʼǫsh
04:13:40 122 dilchʼąął
04:13:41 123 dildlóósh
04:13:42 124 dildon
04:13:42 125 dilʼéés
04:13:42 126 dilkǫǫh
04:13:43 127 dilkos
04:13:43 128 dilnííh
04:13:44 129 diltaał
04:13:44 130 diltłʼééh
04:13:44 131 diltłiʼ
04:13:44 132 dilwosh
04:13:45 133 dilyeed
04:13:45 134 díłchʼil
04:13:45 135 diłdzííd
04:13:45 136 diłhił
04:13:45 137 diłkʼáás
04:13:45 138 dimáás
04:13:47 139 dinééh
04:13:47 140 diʼnééh
04:13:48 141 dinilbá
04:13:49 142 dinilchííʼ
04:13:50 143 dinilgai
04:13:50 144 diniltso
04:13:50 145 diniltsxo
04:13:50 146 dinilzhin
04:13:50 147 dinooltłʼizh
04:13:50 148 ditʼééh
04:13:51 149 diteeł
04:13:52 150 ditłééʼ
04:13:52 151 ditłíísh
04:13:53 152 ditłʼo
04:13:53 153 ditsʼǫǫd
04:13:54 154 ditsʼoz
04:13:54 155 ditsxiz
04:13:55 156 diyéés
04:13:56 157 diyin
04:13:56 158 diyóół
04:13:56 159 dizééh
04:13:56 160 dizhah
04:13:56 161 dizheeh
04:13:57 163 doolghas
04:13:57 164 doolnih
04:13:57 165 dootłʼizh
04:13:58 166 dzíbá
04:13:59 167 dzídzadilnííh
04:14:00 168 dzígai
04:14:00 169 dzítso
04:14:00 170 eʼeʼaah
04:14:00 173 haʼaʼaah
04:14:00 174 haabá
04:14:01 175 haachiiʼ
04:14:01 176 haaʼeeł
04:14:03 177 haagai
04:14:03 178 haajeeh
04:14:03 179 haajííł
04:14:04 180 haajin
04:14:04 181 haaldlóósh
04:14:05 182 haaldóóh
04:14:05 183 háálį́
04:14:05 184 haaltaał
04:14:05 185 haaltłʼééh
04:14:06 186 haalyeed
04:14:06 187 haamáás
04:14:06 188 haanééh
04:14:06 189 haaʼnééh
04:14:07 190 haasbá
04:14:08 191 haasgai
04:14:08 192 haashchiiʼ
04:14:10 193 haashjin
04:14:11 194 haastso
04:14:11 195 haatʼééh
04:14:12 196 haateeł
04:14:13 197 haatih
04:14:13 198 haatłíísh
04:14:13 199 haatso
04:14:13 200 haatsʼǫǫd
04:14:14 201 hadibin
04:14:15 202 hadidzééh
04:14:15 203 hahoodzo
04:14:15 204 haichʼiid
04:14:16 205 haidiłbin
04:14:16 206 haidizóóh
04:14:16 207 haigééd
04:14:16 208 haikaał
04:14:16 209 haikʼę́ę́h
04:14:17 210 haiłbąąs
04:14:17 211 haiłchʼąął
04:14:18 212 haiłʼeeł
04:14:19 213 haiłgééd
04:14:20 214 haiłgéésh
04:14:20 215 haiłhaał
04:14:20 216 haiłjiid
04:14:20 217 haiłkaał
04:14:21 218 haiłmáás
04:14:22 219 haiłtʼeʼ
04:14:22 220 haiłtʼééh
04:14:24 221 haiłtʼood
04:14:24 222 haiłtsʼǫǫd
04:14:25 223 hainiłchaad
04:14:25 224 hainitá
04:14:26 225 haisháásh
04:14:26 226 haishóóh
04:14:26 227 haizǫ́ǫ́s
04:14:27 228 halchin
04:14:27 229 haleeh
04:14:27 230 halneʼ
04:14:28 231 hałeeh
04:14:28 232 hanályį́į́h
04:14:28 233 haʼní
04:14:28 234 hanidááh
04:14:28 235 haniih
04:14:28 236 hashké
04:14:28 237 hashkeeh
04:14:28 238 hasįįh
04:14:29 239 hataał
04:14:29 240 hazʼą́
04:14:29 241 heechééh
04:14:29 242 heeneez
04:14:29 243 hiiłchʼįįh
04:14:30 244 hilghaał
04:14:30 245 hiłiijį́į́h
04:14:30 246 hiná
04:14:30 247 hodéezyéél
04:14:30 248 hodíłchʼil
04:14:30 249 hólǫ́
04:14:31 250 honeezílí
04:14:31 251 honeezkʼází
04:14:32 252 honiłné
04:14:32 253 hooʼaah
04:14:33 254 hoodzą́
04:14:33 255 hoolʼá
04:14:33 256 hoolʼįįh
04:14:33 257 hoołʼaah
04:14:33 258 hóółtseii
04:14:34 259 hóóyééʼ
04:14:34 260 hoozdo
04:14:34 261 hoozkʼaz
04:14:34 262 hóyééʼ
04:14:35 263 hózhǫ́
04:14:35 264 íhoołʼaah
04:14:35 265 iichʼąh
04:14:35 266 iidlóóh
04:14:36 267 iiʼeeł
04:14:37 268 iighááh
04:14:37 269 iijeeh
04:14:37 270 iijííł
04:14:38 271 iikʼáíí
04:14:38 272 iildlóósh
04:14:39 273 iildzííł
04:14:39 274 íílééh
04:14:39 275 iilʼéés
04:14:40 276 iiltaał
04:14:41 277 iiltłʼééh
04:14:41 278 iilyeed
04:14:41 279 iiłʼá
04:14:41 280 iiłbąąs
04:14:42 281 iiłchʼąął
04:14:43 282 ííłdįįh
04:14:43 283 iiłdóóh
04:14:44 284 iiłʼeeł
04:14:45 285 iiłháásh
04:14:45 286 iiłjiid
04:14:46 287 iiłkeed
04:14:46 288 iiłmáás
04:14:48 289 ííłniih
04:14:48 290 iiłtʼááh
04:14:49 291 iiłtʼeʼ
04:14:49 292 iiłtʼééh
04:14:50 293 iiłtʼood
04:14:51 294 iiłtsʼǫǫd
04:14:52 295 iimáás
04:14:53 296 iinééh
04:14:53 297 iiʼnééh
04:14:54 298 iiniłchééh
04:14:55 299 íinízin
04:14:55 300 iisááł
04:14:55 301 iitʼááh
04:14:55 302 iitʼééh
04:14:57 303 iiteeł
04:14:57 304 iitłíísh
04:14:58 305 iitsʼǫǫd
04:14:59 306 iiyéés
04:15:00 307 iizą́
04:15:00 308 iizhííd
04:15:01 310 iizǫ́ǫ́s
04:15:02 311 ílį́
04:15:02 312 íłį́
04:15:02 313 iʼniłdih
04:15:02 314 jíchiiʼ
04:15:03 315 jiilgéésh
04:15:03 316 jiilgish
04:15:03 317 jíjin
04:15:03 318 joobaah
04:15:03 319 kʼédǫǫh
04:15:03 320 kééhatʼį́
04:15:04 321 kʼéldlóósh
04:15:04 322 kʼézdon
04:15:05 323 kʼídzíbá
04:15:06 324 kʼídzígai
04:15:07 325 kʼídzítso
04:15:08 326 kʼiidilé
04:15:08 327 kʼíjíchiiʼ
04:15:09 328 kʼíjíjin
04:15:11 329 kʼízdiníłhéél
04:15:11 330 kʼízhdeetłʼizh
04:15:12 331 łeʼdilchʼííł
04:15:12 332 łibá
04:15:13 333 łichííʼ
04:15:14 334 łichxííʼ
04:15:14 335 łigai
04:15:14 336 łíícháázh
04:15:14 337 łíidilchí
04:15:14 338 łikʼaii
04:15:14 339 łikan
04:15:14 340 łikizh
04:15:15 341 łitso
04:15:15 342 łitsxo
04:15:16 343 łizhin
04:15:16 344 naabá
04:15:17 345 naabaah
04:15:17 346 naabąąs
04:15:18 347 náábał
04:15:18 348 naabé
04:15:18 349 naʼachʼąąh
04:15:18 350 naachiiʼ
04:15:18 351 naachxǫʼ
04:15:19 352 naadá
04:15:19 353 naaʼeeł
04:15:19 354 naagai
04:15:19 355 naaghá
04:15:20 356 naajin
04:15:20 357 naalʼaʼ
04:15:20 358 naalchʼąął
04:15:21 359 naalchiʼ
04:15:21 360 naaldo
04:15:22 361 naalʼiz
04:15:23 362 naaljooł
04:15:23 363 naalnish
04:15:23 364 naalyiz
04:15:24 365 naalzheeh
04:15:25 366 naałchid
04:15:25 367 náʼáłkad
04:15:25 368 naʼałkǫ́ǫ́ʼ
04:15:25 369 naamaas
04:15:25 370 naaʼnaʼ
04:15:25 372 naané
04:15:25 373 naaʼné
04:15:26 374 naʼanish
04:15:26 375 naasbá
04:15:27 376 naasgai
04:15:28 377 naashchiiʼ
04:15:29 378 naashjin
04:15:30 379 naastsooz
04:15:31 380 naastsxo
04:15:33 381 naatʼaʼ
04:15:33 383 naataz
04:15:33 384 naateeł
04:15:33 385 naatʼiʼ
04:15:35 386 naatłíísh
04:15:36 387 naatłizh
04:15:36 388 naʼatłʼoʼ
04:15:36 389 naatso
04:15:37 390 naatsʼǫǫd
04:15:38 391 naayéés
04:15:39 392 naazʼą́
04:15:40 393 naazhjaaʼ
04:15:41 394 naazhjééʼ
04:15:42 395 naazhjool
04:15:43 396 naazhtéézh
04:15:44 397 naaziid
04:15:44 398 naazką́
04:15:46 399 naazkaad
04:15:46 400 naazlá
04:15:47 401 naaznil
04:15:48 402 naʼazo
04:15:48 403 naaztą́
04:15:49 404 naaztį́
04:15:50 405 naaztłééʼ
04:15:51 406 naazyį́
04:15:52 407 nábał
04:15:53 408 nabikééʼ
04:15:53 409 nádleeh
04:15:53 410 naháaztą́
04:15:54 411 nahachaʼ
04:15:54 412 náhádleeh
04:15:54 414 nahałʼin
04:15:54 415 nahałtin
04:15:54 416 náházo
04:15:55 417 náhidizííd
04:15:55 418 náhodidleeh
04:15:55 419 náhookǫs
04:15:56 420 naʼídíłkid
04:15:56 421 nákwi
04:15:56 422 náldzid
04:15:56 423 náltsááh
04:15:56 424 naníbaal
04:15:56 425 naʼnitin
04:15:56 426 nantłʼah
04:15:57 427 násbá
04:15:58 428 násdǫ́ǫ́z
04:15:58 429 násgai
04:15:58 430 náshchiiʼ
04:15:58 431 náshjin
04:15:59 432 náshtłʼizh
04:15:59 433 nástłʼah
04:15:59 434 nástso
04:15:59 435 náyéés
04:16:00 436 náyiilááh
04:16:00 437 nayiilé
04:16:00 438 nayiiłniih
04:16:00 439 náyoołbał
04:16:01 440 náyoołtʼih
04:16:02 441 názbąs
04:16:02 442 názhah
04:16:02 443 neezkʼaz
04:16:03 444 neiʼá
04:16:03 445 neichʼąąh
04:16:03 446 neichʼid
04:16:04 447 neidzį́į́s
04:16:04 448 neiʼeesh
04:16:04 449 neijaah
04:16:04 450 neiká
04:16:05 451 neilé
04:16:05 452 neiloʼ
04:16:06 453 neilóóz
04:16:06 454 neiłʼaʼ
04:16:07 455 néíłʼah
04:16:07 456 neiłbąąs
04:16:08 457 néíłbał
04:16:08 458 neiłchʼąął
04:16:09 459 neiłdo
04:16:10 460 neiłʼeeł
04:16:11 461 neiłgizh
04:16:11 462 néíłhéés
04:16:12 463 neiłjid
04:16:12 464 neiłjooł
04:16:12 465 neiłkaah
04:16:13 466 neiłmaas
04:16:15 467 neiłtʼaʼ
04:16:15 468 neiłté
04:16:17 469 neiłteeł
04:16:17 470 neiłtʼiʼ
04:16:18 471 néíłtʼih
04:16:19 472 néíłtsááh
04:16:19 473 neiłtseed
04:16:20 474 neiłtsʼǫǫd
04:16:20 475 neiłtsoos
04:16:20 476 neiniih
04:16:21 477 neiniłkaad
04:16:22 478 néíshoh
04:16:22 479 neishood
04:16:22 480 neitin
04:16:23 481 neitłeeh
04:16:23 482 neiyé
04:16:23 483 neiziid
04:16:24 484 néízǫ́ǫ́s
04:16:24 485 ní
04:16:25 486 níbaal
04:16:25 487 nichįʼ
04:16:25 488 nichǫ́ǫ́ʼí
04:16:25 489 nidaah
04:16:25 491 nidaaz
04:16:26 493 nídizííd
04:16:26 494 nídon
04:16:26 495 niidóóh
04:16:26 496 niimas
04:16:28 497 nijeeh
04:16:28 498 nilʼąąh
04:16:28 499 nilį́
04:16:29 500 niłchon
04:16:29 501 nímaz
04:16:30 502 nináháhááh
04:16:30 503 niné
04:16:30 504 nineez
04:16:30 505 nitʼą́
04:16:31 506 nitʼááh
04:16:31 507 niteeh
04:16:31 508 niteel
04:16:32 510 niteesh
04:16:32 511 nitłʼah
04:16:32 512 nitłʼiz
04:16:33 514 nitsaa
04:16:33 516 ntsáhákees
04:16:33 517 nitsékees
04:16:33 519 nitsxaa
04:16:34 520 nitsxaaz
04:16:34 521 níyiz
04:16:35 522 níyol
04:16:35 523 nízaad
04:16:35 524 nizhóní
04:16:36 525 nízin
04:16:36 526 noodǫ́ǫ́z
04:16:36 527 ółtaʼ
04:16:36 528 óolyé
04:16:36 529 oołbįįh
04:16:37 531 shichʼil
04:16:37 532 shijaaʼ
04:16:38 533 shijééʼ
04:16:39 534 shijool
04:16:40 535 shitéézh
04:16:41 536 siʼą́
04:16:42 537 sibaal
04:16:42 538 sidá
04:16:43 539 sido
04:16:43 540 sih
04:16:43 541 siką́
04:16:44 542 sikaad
04:16:44 543 sikʼaz
04:16:45 544 siké
04:16:45 545 silá
04:16:46 546 siłtsooz
04:16:47 547 sinil
04:16:48 548 sisas
04:16:48 549 sitą́
04:16:49 550 sitʼé
04:16:49 551 sitį́
04:16:50 552 sitłééʼ
04:16:51 553 siyį́
04:16:52 554 sizį́
04:16:52 555 siziid
04:16:53 556 sizílí
04:16:54 557 sodilzin
04:16:54 558 tʼáá áłah
04:16:54 560 táʼádígis
04:16:55 561 tánéígis
04:16:55 563 wolyé
04:16:55 565 yą́ą́ʼdíłgééd
04:16:55 566 yáʼáhootʼééh
04:16:56 567 yáʼátʼééh
04:16:56 568 yadidiilnííh
04:16:56 569 yáłtiʼ
04:16:56 570 yayiizííd
04:16:57 572 yééhoosįįh
04:16:57 573 yééhósin
04:16:57 574 yeʼelééh
04:16:57 575 yeełtʼé
04:16:57 576 yénálniih
04:16:57 577 yiʼáád
04:16:58 578 yiʼaah
04:16:58 579 yiʼaał
04:16:58 580 yiʼaash
04:16:58 581 yiʼash
04:16:58 582 yibááh
04:16:58 583 yibadooghááh
04:16:58 584 yibah
04:16:58 585 yibal
04:16:59 586 yibéézh
04:17:00 587 yibizh
04:17:00 588 yicha
04:17:00 589 yichʼid
04:17:00 590 yichííh
04:17:01 591 yíchííł
04:17:01 592 yichʼiish
04:17:01 593 yichʼish
04:17:01 594 yidą́
04:17:01 595 yidąąh
04:17:01 596 yídéeltǫʼ
04:17:02 597 yideeł
04:17:02 598 yidiidzį́į́s
04:17:02 599 yidiilkaal
04:17:02 600 yidiilóós
04:17:02 601 yidiiłbąąs
04:17:03 602 yidiiłmáás
04:17:05 603 yidiiłtłʼíísh
04:17:05 604 yidiitsʼį́į́h
04:17:05 605 yidiłbaał
04:17:05 606 yidiłchʼąął
04:17:06 607 yidiłhį́į́h
04:17:06 608 yidiłid
04:17:07 609 yidiłmáás
04:17:08 610 yidiłtʼééh
04:17:10 611 yidiłtsʼǫǫd
04:17:11 612 yidiséí
04:17:11 613 yidiz
04:17:11 614 yidizǫ́ǫ́s
04:17:12 615 yidlą́
04:17:12 616 yidleeʼ
04:17:12 617 yidleesh
04:17:12 618 yidloh
04:17:12 619 yidlóóh
04:17:12 620 yidzííd
04:17:13 621 yidziih
04:17:13 622 yidzį́į́s
04:17:13 623 yiʼeeł
04:17:13 624 yíʼeeł
04:17:15 625 yiʼéés
04:17:15 626 yiʼeesh
04:17:15 627 yiʼéésh
04:17:15 628 yigááł
04:17:15 629 yigan
04:17:15 630 yigeeh
04:17:16 631 yighą́
04:17:16 632 yigháád
04:17:16 633 yighááh
04:17:16 634 yíghááh
04:17:16 635 yighaał
04:17:16 636 yighaas
04:17:16 637 yigháázh
04:17:17 638 yigháʼdíłdlaad
04:17:17 639 yigoh
04:17:17 640 yihah
04:17:17 641 yihę́ę́s
04:17:17 642 yíhoołʼaah
04:17:18 643 yiʼį́
04:17:18 644 yiibááh
04:17:19 645 yiichííh
04:17:19 646 yiigááh
04:17:19 647 yiijį́į́h
04:17:20 648 yiiltééh
04:17:20 649 yiitsóóh
04:17:20 650 yiʼiz
04:17:21 651 yiizįįh
04:17:21 652 yijááh
04:17:22 653 yíjááh
04:17:22 654 yijah
04:17:23 655 yijeeh
04:17:24 656 yíjeeh
04:17:25 657 yijį́į́ł
04:17:26 658 yikʼá
04:17:26 659 yikaah
04:17:26 660 yikááh
04:17:27 661 yíkááh
04:17:27 662 yikʼąąs
04:17:27 663 yikʼaash
04:17:28 664 yikad
04:17:28 665 yikah
04:17:28 666 yikʼaih
04:17:28 667 yikʼeed
04:17:29 668 yikʼęęh
04:17:29 669 yikʼíididis
04:17:29 671 yilʼá
04:17:30 672 yilʼaah
04:17:30 673 yilchʼąął
04:17:30 674 yilchʼął
04:17:31 675 yildééh
04:17:31 676 yildeeł
04:17:31 677 yildin
04:17:31 678 yildlóósh
04:17:31 679 yíldlóósh
04:17:32 680 yildlosh
04:17:33 681 yildził
04:17:34 682 yilé
04:17:34 683 yileeh
04:17:34 684 yilééh
04:17:34 685 yileeł
04:17:35 686 yilghał
04:17:35 687 yilʼis
04:17:37 688 yiljoł
04:17:38 689 yilkeed
04:17:38 690 yilnood
04:17:38 691 yilóós
04:17:38 692 yiltał
04:17:39 693 yiltłʼééh
04:17:39 694 yíltłʼééh
04:17:40 695 yiltłʼééł
04:17:40 696 yiltʼood
04:17:41 697 yiltsą́
04:17:41 698 yilwoł
04:17:42 699 yilyé
04:17:42 700 yilyeed
04:17:43 701 yílyeed
04:17:43 702 yilzhah
04:17:43 703 yilzhóóh
04:17:43 704 yiłʼá
04:17:44 705 yiłąąh
04:17:44 706 yiłbaał
04:17:45 707 yiłbąąs
04:17:45 708 yiłbal
04:17:46 709 yiłbéézh
04:17:46 710 yíłchʼąął
04:17:47 711 yiłchʼal
04:17:47 712 yiłchí
04:17:47 713 yiłchʼil
04:17:47 714 yiłchin
04:17:47 715 yiłchǫǫh
04:17:48 716 yiłchozh
04:17:48 717 yiłchxǫǫh
04:17:48 718 yiłdééh
04:17:49 719 yiłdeeł
04:17:49 720 yiłdin
04:17:49 721 yiłdlaad
04:17:49 722 yiłdǫʼ
04:17:49 723 yiłdon
04:17:49 724 yíłdóóh
04:17:50 725 yiłdzééh
04:17:50 726 yiłdzid
04:17:51 727 yiłʼeeł
04:17:51 728 yiłgan
04:17:51 729 yiłhaał
04:17:51 730 yiłhį́į́h
04:17:51 731 yiłhiz
04:17:52 732 yiłhod
04:17:53 733 yiłhozh
04:17:53 734 yiłjiid
04:17:53 735 yíłjiid
04:17:54 736 yiłjįzh
04:17:54 737 yiłjooł
04:17:54 738 yiłkaad
04:17:54 739 yiłkááh
04:17:54 740 yiłkąąh
04:17:55 741 yiłkeed
04:17:55 742 yiłmáás
04:17:55 743 yíłmáás
04:17:56 744 yiłmaz
04:17:58 745 yiłnaad
04:17:58 746 yiłnááh
04:17:58 747 yiłneʼ
04:17:58 748 yiłní
04:17:58 749 yiłtʼá
04:17:58 750 yiłtʼááh
04:17:58 751 yíłtʼááh
04:17:59 752 yiłtązh
04:17:59 753 yiłtʼeʼ
04:17:59 754 yiłteeh
04:17:59 755 yiłtʼééh
04:18:00 756 yiłtʼees
04:18:00 757 yiłtin
04:18:00 758 yiłtłah
04:18:00 759 yiłtłʼis
04:18:00 760 yiłtʼoʼ
04:18:02 761 yiłtʼood
04:18:02 764 yiłtsʼééh
04:18:02 765 yíłtseii
04:18:03 766 yiłtsih
04:18:03 767 yiłtsʼil
04:18:03 768 yiłtsoʼ
04:18:04 769 yiłtsóós
04:18:05 770 yimáás
04:18:05 771 yímáás
04:18:05 772 yimal
04:18:05 773 yimas
04:18:06 774 yinaalnish
04:18:06 775 yiʼnah
04:18:07 776 yináldzid
04:18:07 777 yinééh
04:18:07 778 yiʼnééh
04:18:08 779 yínééh
04:18:08 780 yíʼnééh
04:18:09 781 yinééł
04:18:09 782 yiniih
04:18:09 783 yiniʼįįh
04:18:09 784 yinííł
04:18:09 785 yiniiłmas
04:18:11 786 yiniisííł
04:18:11 787 yiníłʼį́
04:18:11 788 yiniłmas
04:18:13 789 yiniłtséés
04:18:13 790 yínítááh
04:18:13 791 yinizh
04:18:13 792 yinízin
04:18:14 793 yinóʼááh
04:18:14 794 yiʼoł
04:18:14 795 yisał
04:18:14 796 yisdábąąs
04:18:15 797 yisdáldlóósh
04:18:16 798 yisdáʼnééh
04:18:16 799 yisdéíłbąąs
04:18:17 800 yisdéíłʼeeł
04:18:18 801 yisééh
04:18:18 802 yishééh
04:18:19 803 yishíísh
04:18:19 804 yishood
04:18:19 805 yishóóh
04:18:19 806 yishǫǫh
04:18:19 807 yishóósh
04:18:19 808 yishtłizh
04:18:19 809 yisį́į́h
04:18:20 810 yitaał
04:18:20 811 yitʼééh
04:18:21 812 yítʼééh
04:18:22 813 yitʼeesh
04:18:22 814 yitiʼ
04:18:22 815 yitʼį́
04:18:23 816 yitiih
04:18:23 817 yitįįh
04:18:23 818 yitʼįįh
04:18:23 819 yitił
04:18:24 820 yitin
04:18:24 821 yitłeeh
04:18:24 822 yitłíísh
04:18:24 823 yitłʼił
04:18:24 824 yitłʼin
04:18:24 825 yitłish
04:18:25 826 yitłʼó
04:18:25 827 yitʼood
04:18:25 828 yitseeł
04:18:25 829 yitsʼiʼ
04:18:26 830 yitsid
04:18:26 831 yitsʼííd
04:18:26 832 yitsʼǫł
04:18:27 833 yitsʼǫǫs
04:18:27 834 yiwod
04:18:27 835 yiwozh
04:18:27 836 yiyą́
04:18:27 837 yiyeeh
04:18:27 838 yíyeeh
04:18:28 839 yiyéés
04:18:29 840 yíyéés
04:18:30 841 yiyiighas
04:18:30 842 yiyiigis
04:18:30 843 yiyiigish
04:18:30 844 yiyiiʼis
04:18:31 845 yiyiilįh
04:18:31 846 yiyiiłbááh
04:18:32 847 yiyiiłbał
04:18:33 848 yiyiiłchííh
04:18:33 849 yiyiiłchxosh
04:18:33 850 yiyiiłgááh
04:18:33 851 yiyiiłgąsh
04:18:33 853 yiyiiłhash
04:18:34 854 yiyiiłhé
04:18:34 855 yiyiiłhis
04:18:35 856 yiyiiłoh
04:18:35 857 yiyiiłtʼod
04:18:36 858 yiyiiłtʼoh
04:18:36 859 yiyiiłtsééh
04:18:36 860 yiyiiłtsóód
04:18:36 861 yiyiiłtsóóh
04:18:36 862 yiyiinih
04:18:36 863 yiyiishį́į́h
04:18:37 864 yiyiitał
04:18:38 865 yiyiitsʼǫs
04:18:38 866 yiyiizoh
04:18:38 867 yiyizh
04:18:38 868 yizéés
04:18:38 869 yizhizh
04:18:38 870 yizííd
04:18:38 871 yízííd
04:18:38 872 yizǫ́ǫ́s
04:18:39 873 yóbé
04:18:39 874 yólgę́ę́zh
04:18:39 875 yółbaal
04:18:39 876 yółtaʼ
04:18:39 877 yooʼááł
04:18:40 878 yoodlą́
04:18:40 879 yoodzį́į́s
04:18:40 880 yooʼį́
04:18:41 881 yooʼish
04:18:41 882 yoojih
04:18:41 883 yookááł
04:18:42 884 yoolééł
04:18:43 885 yooloh
04:18:43 886 yoolóós
04:18:44 887 yoołʼah
04:18:44 888 yoołbąs
04:18:44 889 yoołbįįh
04:18:44 890 yoołchʼął
04:18:45 891 yoołdoh
04:18:46 892 yoołjił
04:18:46 893 yoołjoł
04:18:47 894 yoołkááł
04:18:48 895 yoołkił
04:18:48 896 yoołmas
04:18:50 897 yoołʼoł
04:18:51 898 yoołtʼááł
04:18:52 899 yoołtʼah
04:18:53 900 yoołtééł
04:18:54 901 yoołtʼih
04:18:55 902 yoołtʼoł
04:18:56 903 yoołtsʼǫł
04:18:57 904 yoołtsos
04:18:58 905 yoosas
04:18:59 906 yooshoł
04:18:59 907 yootʼááł
04:19:00 908 yootį́į́ł
04:19:01 909 yootłʼį́į́ł
04:19:01 910 yootłoh
04:19:03 911 yootłʼóół
04:19:03 912 yooyééł
04:19:03 913 yooznah
04:19:03 914 yoozoh
04:19:04 915 yoozǫ́ǫ́s
04:19:05 916 yózhí
04:19:05 917 yózhíh
couldn't find slot for ná-up
couldn't find slot for á-comp
couldn't find slot for ádi
couldn't find slot for ha
couldn't find slot for yisdá
couldn't find slot for Ø 
couldn't find slot for dzídza
couldn't find slot for ya
couldn't find slot for kʼí-tip
couldn't find slot for na
couldn't find slot for 3s 
couldn't find slot for kʼi-plant
couldn't find slot for kʼí
couldn't find slot for na-down
couldn't find slot for ha-aging
couldn't find slot for ná-them
couldn't find slot for chʼí
couldn't find slot for ha-up
couldn't find slot for á-do
couldn't find slot for na-across
couldn't find slot for tá-water
couldn't find slot for si-death
couldn't find slot for nó
couldn't find slot for yá
couldn't find slot for yí
couldn't find slot for ha-search
couldn't find slot for tah
couldn't find slot for kéé
couldn't find slot for ná-around
couldn't find slot for ha-them
couldn't find slot for tsí-mental
couldn't find slot for so
couldn't find slot for kó
couldn't find slot for łe
couldn't find slot for w-peg
couldn't find slot for ji
couldn't find slot for ná-rev
couldn't find slot for łi
couldn't find slot for łí
couldn't find slot for ha-complete
couldn't find slot for á-thus
04:19:05 done
04:19:05 done
WARNING: API error badtoken: Invalid CSRF token.
Sleeping for 9.5 seconds, 2017-03-03 04:19:53
Page [[wiktionary:en:User:Julien Daux/Navajo verbs by prefixes full]] saved