From 5917e796350e9ed5261271f479062e2ad05c6483 Mon Sep 17 00:00:00 2001 From: Eveldee Date: Sat, 17 May 2025 00:25:51 +0200 Subject: [PATCH] Fix letters 'q' and 'z' not being in the dictionary Enfore that all one-grams are present in the dictionary to make sure it's possible to write any sentence --- PoyoLang.Dictionary.Generation/Program.cs | 10 +- PoyoLang.Translator/dictionary.txt | 638 +++++++++++----------- 2 files changed, 327 insertions(+), 321 deletions(-) diff --git a/PoyoLang.Dictionary.Generation/Program.cs b/PoyoLang.Dictionary.Generation/Program.cs index f739cfe..2537097 100644 --- a/PoyoLang.Dictionary.Generation/Program.cs +++ b/PoyoLang.Dictionary.Generation/Program.cs @@ -56,7 +56,7 @@ Console.WriteLine("Computing ngrams"); var ngrams = new Dictionary(); const int MaxLength = 8; -const int MinLength = 1; +const int MinLength = 2; foreach (var (word, frequency) in wordFrequencies) { @@ -112,9 +112,15 @@ Console.WriteLine("Generating dictionary..."); var dictionary = new Dictionary(); var ngramIndex = 0; +// Prepend base letters to make sure all words are writeable +string[] oneGrams = [ + " ", "a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z" +]; +var fullNgrams = oneGrams.Concat(orderedNgrams.Select(p => p.Key)).ToArray(); + foreach (var letter in Alphabet.BaseAlphabet) { - dictionary[letter] = orderedNgrams[ngramIndex].Key; + dictionary[letter] = fullNgrams[ngramIndex]; ngramIndex++; } diff --git a/PoyoLang.Translator/dictionary.txt b/PoyoLang.Translator/dictionary.txt index 6b37a9e..856b6b0 100644 --- a/PoyoLang.Translator/dictionary.txt +++ b/PoyoLang.Translator/dictionary.txt @@ -1,320 +1,320 @@ poyo= -poyó=e -poyò=t -poyô=a -poyö=o -poyõ=i -poyō=n -poyǒ=e -póyo=r -póyó=h -póyò=s -póyô=l -póyö=d -póyõ=c -póyō=th -póyǒ=u -pòyo=t -pòyó=he -pòyò=m -pòyô=b -pòyö=f -pòyõ=y -pòyō=p -pòyǒ=the -pôyo=n -pôyó=w -pôyò=g -pôyô=he -pôyö=in -pôyõ=y -pôyō=d -pôyǒ=r -pöyo=an -pöyó=er -pöyò=the -pöyô=be -pöyö=at -pöyõ=re -pöyō=v -pöyǒ=on -põyo=o -põyó=nd -põyò=or -põyô=be -põyö=ha -põyõ=en -põyō=to -põyǒ=ve -pōyo=ou -pōyó=nd -pōyò=it -pōyô=st -pōyö=l -pōyõ=k -pōyō=te -pōyǒ=al -pǒyo=ti -pǒyó=f -pǒyò=and -pǒyô=s -pǒyö=er -pǒyõ=nt -pǒyō=and -pǒyǒ=of -payo=ar -payó=a -payò=se -payô=to -payö=ea -payõ=hi -payō=of -payǒ=me -páyo=le -páyó=on -páyò=h -páyô=co -páyö=is -páyõ=in -páyō=at -páyǒ=ro -pàyo=ll -pàyó=ve -pàyò=de -pàyô=es -pàyö=ng -pàyõ=io -pàyō=om -pàyǒ=ne -pâyo=ic -pâyó=li -pâyò=ri -pâyô=ra -pâyö=as -pâyõ=ce -pâyō=g -pâyǒ=ho -päyo=ion -päyó=ca -päyò=or -päyô=ta -päyö=ut -päyõ=el -päyō=ch -päyǒ=m -pãyo=hat -pãyó=ma -pãyò=hat -pãyô=ur -pãyö=k -pãyõ=ng -pãyō=fo -pãyǒ=re -pāyo=no -pāyó=si -pāyò=her -pāyô=av -pāyö=nt -pāyõ=tha -pāyō=ion -pāyǒ=il -pǎyo=ent -pǎyó=et -pǎyò=la -pǎyô=us -pǎyö=ac -pǎyõ=ly -pǎyō=ing -pǎyǒ=wh -piyo=ow -piyó=ave -piyò=pe -piyô=ec -piyö=ly -piyõ=ot -piyō=tio -piyǒ=ll -píyo=tion -píyó=wi -píyò=ave -píyô=se -píyö=al -píyõ=ing -píyō=ge -píyǒ=it -pìyo=so -pìyó=that -pìyò=that -pìyô=for -pìyö=ay -pìyõ=st -pìyō=lo -pìyǒ=pr -pîyo=ee -pîyó=hav -pîyò=have -pîyô=have -pîyö=tr -pîyõ=sh -pîyō=le -pîyǒ=w -pïyo=mo -pïyó=an -pïyò=tion -pïyô=ut -pïyö=un -pïyõ=ce -pïyō=ct -pïyǒ=ay -pĩyo=me -pĩyó=di -pĩyò=ss -pĩyô=ed -pĩyö=i -pĩyõ=we -pĩyō=ol -pĩyǒ=yo -pīyo=ul -pīyó=rt -pīyò=te -pīyô=em -pīyö=th -pīyõ=ter -pīyō=do -pīyǒ=ke -pǐyo=po -pǐyó=ir -pǐyò=thi -pǐyô=nc -pǐyö=you -pǐyõ=his -pǐyō=im -pǐyǒ=is -puyo=oo -puyó=all -puyò=ent -puyô=ig -puyö=pa -puyõ=ate -puyō=p -puyǒ=ati -púyo=ld -púyó=fi -púyò=his -púyô=en -púyö=ver -púyõ=na -púyō=mi -púyǒ=ry -pùyo=ai -pùyó=pl -pùyò=ow -pùyô=gh -pùyö=wo -pùyõ=sa -pùyō=ad -pùyǒ=her -pûyo=ld -pûyó=ev -pûyò=su -pûyô=os -pûyö=iv -pûyõ=for -pûyō=ther -pûyǒ=wa -püyo=ni -püyó=ry -püyò=ith -püyô=am -püyö=bo -püyõ=u -püyō=ch -püyǒ=ab -pũyo=ou -pũyó=you -pũyò=op -pũyô=id -pũyö=wit -pũyõ=ne -pũyō=bu -pũyǒ=with -pūyo=fe -pūyó=tu -pūyò=bl -pūyô=ere -pūyö=atio -pūyõ=x -pūyō=ed -pūyǒ=ation -pǔyo=ome -pǔyó=out -pǔyò=con -pǔyô=ke -pǔyö=ns -pǔyõ=rea -pǔyō=eve -pǔyǒ=ci -peyo=ie -peyó=com -peyò=ar -peyô=et -peyö=ith -peyõ=vi -peyō=ty -peyǒ=with -péyo=ear -péyó=fr -péyò=if -péyô=ag -péyö=res -péyõ=ate -péyō=do -péyǒ=mp -pèyo=ey -pèyó=ive -pèyò=ia -pèyô=pro -pèyö=ba -pèyõ=ov -pèyō=nce -pèyǒ=as -pêyo=ck -pêyó=sta -pêyò=sp -pêyô=ty -pêyö=gr -pêyõ=ter -pêyō=ation -pêyǒ=hin -pëyo=ess -pëyó=ak -pëyò=ge -pëyô=ill -pëyö=go -pëyõ=out -pëyō=our -pëyǒ=ot -pẽyo=ey -pẽyó=fa -pẽyò=ss -pẽyô=igh -pẽyö=not -pẽyõ=int -pẽyō=ex -pẽyǒ=j -pēyo=om -pēyó=one -pēyò=ap -pēyô=men -pēyö=all -pēyõ=od -pēyō=here -pēyǒ=est -pěyo=up -pěyó=ive -pěyò=rs -pěyô=ere -pěyö=ove -pěyõ=nce -pěyō=ide -pěyǒ=uc +poyó=a +poyò=b +poyô=c +poyö=d +poyõ=e +poyō=f +poyǒ=g +póyo=h +póyó=i +póyò=j +póyô=k +póyö=l +póyõ=m +póyō=n +póyǒ=o +pòyo=p +pòyó=q +pòyò=r +pòyô=s +pòyö=t +pòyõ=u +pòyō=v +pòyǒ=w +pôyo=x +pôyó=y +pôyò=z +pôyô=e +pôyö=th +pôyõ=t +pôyō=he +pôyǒ=the +pöyo=n +pöyó=he +pöyò=in +pöyô=y +pöyö=d +pöyõ=r +pöyō=an +pöyǒ=er +põyo=the +põyó=be +põyò=at +põyô=re +põyö=on +põyõ=o +põyō=nd +põyǒ=or +pōyo=be +pōyó=ha +pōyò=en +pōyô=to +pōyö=ve +pōyõ=ou +pōyō=nd +pōyǒ=it +pǒyo=st +pǒyó=l +pǒyò=te +pǒyô=al +pǒyö=ti +pǒyõ=f +pǒyō=and +pǒyǒ=s +payo=er +payó=nt +payò=and +payô=of +payö=ar +payõ=a +payō=se +payǒ=to +páyo=ea +páyó=hi +páyò=of +páyô=me +páyö=le +páyõ=on +páyō=h +páyǒ=co +pàyo=is +pàyó=in +pàyò=at +pàyô=ro +pàyö=ll +pàyõ=ve +pàyō=de +pàyǒ=es +pâyo=ng +pâyó=io +pâyò=om +pâyô=ne +pâyö=ic +pâyõ=li +pâyō=ri +pâyǒ=ra +päyo=as +päyó=ce +päyò=g +päyô=ho +päyö=ion +päyõ=ca +päyō=or +päyǒ=ta +pãyo=ut +pãyó=el +pãyò=ch +pãyô=m +pãyö=hat +pãyõ=ma +pãyō=hat +pãyǒ=ur +pāyo=k +pāyó=ng +pāyò=fo +pāyô=re +pāyö=no +pāyõ=si +pāyō=her +pāyǒ=av +pǎyo=nt +pǎyó=tha +pǎyò=ion +pǎyô=il +pǎyö=ent +pǎyõ=et +pǎyō=la +pǎyǒ=us +piyo=ac +piyó=ly +piyò=ing +piyô=wh +piyö=ow +piyõ=ave +piyō=pe +piyǒ=ec +píyo=ly +píyó=ot +píyò=tio +píyô=ll +píyö=tion +píyõ=wi +píyō=ave +píyǒ=se +pìyo=al +pìyó=ing +pìyò=ge +pìyô=it +pìyö=so +pìyõ=that +pìyō=that +pìyǒ=for +pîyo=ay +pîyó=st +pîyò=lo +pîyô=pr +pîyö=ee +pîyõ=hav +pîyō=have +pîyǒ=have +pïyo=tr +pïyó=sh +pïyò=le +pïyô=w +pïyö=mo +pïyõ=an +pïyō=tion +pïyǒ=ut +pĩyo=un +pĩyó=ce +pĩyò=ct +pĩyô=ay +pĩyö=me +pĩyõ=di +pĩyō=ss +pĩyǒ=ed +pīyo=i +pīyó=we +pīyò=ol +pīyô=yo +pīyö=ul +pīyõ=rt +pīyō=te +pīyǒ=em +pǐyo=th +pǐyó=ter +pǐyò=do +pǐyô=ke +pǐyö=po +pǐyõ=ir +pǐyō=thi +pǐyǒ=nc +puyo=you +puyó=his +puyò=im +puyô=is +puyö=oo +puyõ=all +puyō=ent +puyǒ=ig +púyo=pa +púyó=ate +púyò=p +púyô=ati +púyö=ld +púyõ=fi +púyō=his +púyǒ=en +pùyo=ver +pùyó=na +pùyò=mi +pùyô=ry +pùyö=ai +pùyõ=pl +pùyō=ow +pùyǒ=gh +pûyo=wo +pûyó=sa +pûyò=ad +pûyô=her +pûyö=ld +pûyõ=ev +pûyō=su +pûyǒ=os +püyo=iv +püyó=for +püyò=ther +püyô=wa +püyö=ni +püyõ=ry +püyō=ith +püyǒ=am +pũyo=bo +pũyó=u +pũyò=ch +pũyô=ab +pũyö=ou +pũyõ=you +pũyō=op +pũyǒ=id +pūyo=wit +pūyó=ne +pūyò=bu +pūyô=with +pūyö=fe +pūyõ=tu +pūyō=bl +pūyǒ=ere +pǔyo=atio +pǔyó=ed +pǔyò=ation +pǔyô=ome +pǔyö=out +pǔyõ=con +pǔyō=ke +pǔyǒ=ns +peyo=rea +peyó=eve +peyò=ci +peyô=ie +peyö=com +peyõ=ar +peyō=et +peyǒ=ith +péyo=vi +péyó=ty +péyò=with +péyô=ear +péyö=fr +péyõ=if +péyō=ag +péyǒ=res +pèyo=ate +pèyó=do +pèyò=mp +pèyô=ey +pèyö=ive +pèyõ=ia +pèyō=pro +pèyǒ=ba +pêyo=ov +pêyó=nce +pêyò=as +pêyô=ck +pêyö=sta +pêyõ=sp +pêyō=ty +pêyǒ=gr +pëyo=ter +pëyó=ation +pëyò=hin +pëyô=ess +pëyö=ak +pëyõ=ge +pëyō=ill +pëyǒ=go +pẽyo=out +pẽyó=our +pẽyò=ot +pẽyô=ey +pẽyö=fa +pẽyõ=ss +pẽyō=igh +pẽyǒ=not +pēyo=int +pēyó=ex +pēyò=om +pēyô=one +pēyö=ap +pēyõ=men +pēyō=all +pēyǒ=od +pěyo=here +pěyó=est +pěyò=up +pěyô=ive +pěyö=rs +pěyõ=ere +pěyō=ove +pěyǒ=nce