Compare commits

...

2 Commits

Author SHA1 Message Date
5917e79635 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
2025-05-17 00:25:51 +02:00
623888851b Remove Test project 2025-05-16 23:37:59 +02:00
6 changed files with 328 additions and 367 deletions

View File

@@ -56,7 +56,7 @@ Console.WriteLine("Computing ngrams");
var ngrams = new Dictionary<string, long>();
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<string, string>();
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++;
}

View File

@@ -1,14 +0,0 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<OutputType>Exe</OutputType>
<TargetFramework>net9.0</TargetFramework>
<ImplicitUsings>enable</ImplicitUsings>
<Nullable>enable</Nullable>
</PropertyGroup>
<ItemGroup>
<ProjectReference Include="..\PoyoLang.Translator\PoyoLang.Translator.csproj" />
</ItemGroup>
</Project>

View File

@@ -1,25 +0,0 @@
// See https://aka.ms/new-console-template for more information
using System.Text;
using PoyoLang.Translator;
Console.OutputEncoding = Encoding.UTF8;
var text = "Immutable abstract representation of a span of text. For example, in an error diagnostic that reports a location, it could come from a parsed string, text from a tool editor buffer, etc.";
Console.WriteLine("Original:");
Console.WriteLine(text);
Console.WriteLine();
var translator = new PoyoLangTranslator();
var translated = translator.TranslateToPoyo(text);
Console.WriteLine("Translated to Poyo:");
Console.WriteLine(translated);
Console.WriteLine();
var original = translator.TranslateFromPoyo(translated);
Console.WriteLine("Translated back from Poyo:");
Console.WriteLine(original);

View File

@@ -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

View File

@@ -2,8 +2,6 @@
Microsoft Visual Studio Solution File, Format Version 12.00
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "PoyoLang.Dictionary", "PoyoLang.Dictionary\PoyoLang.Dictionary.csproj", "{2D875AAD-BE17-4D15-A876-19DF1DCC57F5}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "PoyoLang.Test", "PoyoLang.Test\PoyoLang.Test.csproj", "{4CB193B2-44F2-4926-A56E-9A0CDCBC828C}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "PoyoLang.Dictionary.Generation", "PoyoLang.Dictionary.Generation\PoyoLang.Dictionary.Generation.csproj", "{43FFCEF2-A4AA-49A1-9731-CB6DAD9863F2}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "PoyoLang.Translator.SourceGenerator", "PoyoLang.Translator.SourceGenerator\PoyoLang.Translator.SourceGenerator.csproj", "{0411CE3E-B80E-4AC3-839F-307AD0A16774}"
@@ -22,10 +20,6 @@ Global
{2D875AAD-BE17-4D15-A876-19DF1DCC57F5}.Debug|Any CPU.Build.0 = Debug|Any CPU
{2D875AAD-BE17-4D15-A876-19DF1DCC57F5}.Release|Any CPU.ActiveCfg = Release|Any CPU
{2D875AAD-BE17-4D15-A876-19DF1DCC57F5}.Release|Any CPU.Build.0 = Release|Any CPU
{4CB193B2-44F2-4926-A56E-9A0CDCBC828C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{4CB193B2-44F2-4926-A56E-9A0CDCBC828C}.Debug|Any CPU.Build.0 = Debug|Any CPU
{4CB193B2-44F2-4926-A56E-9A0CDCBC828C}.Release|Any CPU.ActiveCfg = Release|Any CPU
{4CB193B2-44F2-4926-A56E-9A0CDCBC828C}.Release|Any CPU.Build.0 = Release|Any CPU
{43FFCEF2-A4AA-49A1-9731-CB6DAD9863F2}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{43FFCEF2-A4AA-49A1-9731-CB6DAD9863F2}.Debug|Any CPU.Build.0 = Debug|Any CPU
{43FFCEF2-A4AA-49A1-9731-CB6DAD9863F2}.Release|Any CPU.ActiveCfg = Release|Any CPU

View File

@@ -9,4 +9,4 @@ dotnet.exe publish PoyoLang.Translator.Web \
-p:ContainerFamily=alpine \
-p:ContainerRegistry=git.ilysix.fr \
-p:ContainerRepository=Eveldee/PoyoLang \
-p:ContainerImageTags="\"$version;latest\""
-p:ContainerImageTags="\"latest;$version\""