Compare commits

..

No commits in common. "a59ade48055811ca83916608b41e20ed36419275" and "8c115ab59aa53bebd085a533174943378a232e24" have entirely different histories.

27 changed files with 34 additions and 290 deletions

View File

@ -4,17 +4,13 @@ As I've started learning Latin from Lingua Latina Per Se Illustrata I've encourt
1. check given words in the wiktionairy, so I could see IPA, meaning, declinations etc. next to the text, 1. check given words in the wiktionairy, so I could see IPA, meaning, declinations etc. next to the text,
2. perform the Pensa so that I could see the mistakes I've made. 2. perform the Pensa so that I could see the mistakes I've made.
So far I've managed to create cloze tasks for Pensa and Exercitia for the first 10 chapters. User can input the answers with or without macrons.
# Parsers # Parsers
## Text to Cloze ## Text to Pensum
```text2pensum_cloze.py``` takes text file as an input and generates HTML from it. Marking is as follows: ```text2pensum.py``` takes text file as an input and generates HTML form from it. Marking is as follows:
- all vowel-dash-vowel combinations (```i-i```) are transformed into a long vowel marked with macron (```ī```) - all vowel-dash-vowel combinations (```i-i```) are transformed into a long vowel marked with macron (```ī```)
- underscore-string-underscore combinations (```_us_```) are transformed into requiered html text input field with string between underscores as a value of ```data-expected``` atribute (```<input type="text" data-expected="us">```). - underscore-string-underscore combinations (```_us_```) are transformed into requiered html text input field with string between underscores as a value of ```data-expected``` atribute (```<input type="text" data-expected="us">```).
```text2exercitium_cloze.py``` takes text file as an input and generates HTML from it according to the rules described above. Additionaly, the first line of the text file contains expresions separated with ```|``` based on which user should fill the input fields (sometimes declination of conjugation is necessary). Text files contains the lines (separated with ```\n```), which are processed into a list.
# TODO # TODO
- [x] text to html parser to swiftly migrate the cloze Pensa - [x] text to html parser to swiftly migrate the cloze Pensa
- [ ] dictionairy interface - [ ] dictionairy interface

View File

@ -6,9 +6,7 @@ capitula = [
{'title': '01 Imperium Romanum', {'title': '01 Imperium Romanum',
'pensa': ['A', 'B'], 'pensa': ['A', 'B'],
'exercitia': [1, 2, 4, 5, 6, 8, 10, 11]}, 'exercitia': [1, 2, 4, 5, 6, 8, 10, 11]},
{'title': '02 Familia Romana', {'title': '02 Familia Romana'},
'pensa': ['A', 'B'],
'exercitia': [1, 3, 4, 5, 7, 8, 9, 10, 11, 12, 13]},
{'title': '03 Puer Improbus'}, {'title': '03 Puer Improbus'},
{'title': '04 Dominus et Servi'}, {'title': '04 Dominus et Servi'},
{'title': '05 Villa et Hortus'}, {'title': '05 Villa et Hortus'},

View File

@ -1,16 +1,16 @@
singulāris (sing.)|plūrālis (plūr.) singulāris (sing.)|plūrālis (plūr.)
<i>Fluvi<u>us</u></i> singulāris est. <i>Fluvi<u>ī</u></i> _plūrālis_ est. Fluvius singulāris est. Fluviī _plūrālis_ est.
<i>Īnsul<u>ae</u></i> plūrālis est. <i>Īnsul<u>a</u></i> _singulāris_ est. Īnsulae plūrālis est. Īnsula _singulāris_ est.
<i>Oppid<u>um</u></i> _singulāris_ est. <i>Oppid<u>a</u></i> _plūrālis_ est. Oppidum _singulāris_ est. Oppida _plūrālis_ est.
Singulāris: <i>fluvius</i>; plūrālis: fluviī. Singulāris: fluvius; plūrālis: fluviī.
Plūrālis: <i>īnsulae</i>; singulāris: _īnsula_. Plūrālis: īnsulae; singulāris: _īnsula_.
Singulāris: <i>oppidum</i>; plūrālis: _oppida_. Singulāris: oppidum; plūrālis: _oppida_.
Plūrālis: <i>numerī</i>; singulāris: _numerus_. Plūrālis: numerī; singulāris: _numerus_.
Singulāris: <i>littera</i>; plūrālis: _litterae_. Singulāris: littera; plūrālis: _litterae_.
Plūrālis: <i>vocābula</i>; singulāris: _vocābulum_. Plūrālis: vocābula; singulāris: _vocābulum_.
Singulāris: <i>īnsula magna</i>; plūrālis: _īnsulae_ _magnae_. Singulāris: īnsula magna; plūrālis: _īnsulae_ _magnae_.
Plūrālis: <i>oppida magna</i>; singulāris: _oppidum_ _magnum_. Plūrālis: oppida magna. singulāris: _oppidum_ _magnum_.
Singulāris: <i>numerus Rōmānus</i>; plūrālis: _numerī_ _Rōmānī_. Singulāris: numerus Rōmānus; plūrālis: _numerī_ _Rōmānī_.
Plūrālis: <i>litterae Graecae</i>; singulāris _littera_ _Graeca_. Plūrālis: litterae Graecae; singulāris _littera_ _Graeca_.
Singulāris: <i>vocabulum Latīnum</i>; plūrālis _vocābula_ _Latīna_. Singulāris: vocabulum Latīnum; plūrālis _vocābula_ _Latīna_.
Plūrālis: <i>exempla</i>; singulāris _exemplum_. Plūrālis: exempla; singulāris _exemplum_.

View File

@ -1,18 +1,18 @@
volabula: singulāris (sing.), plūrālis (plūr.) volabula: singulāris (sing.), plūrālis (plūr.)
<br><ol> <br><ol>
<li><i>Fluvi<u>us</u></i> singulāris est. <i>Fluvi<u>ī</u></i> <span><input type="text" data-expected="plūrālis"/></span> est.</li> <li>Fluvius singulāris est. Fluviī <span><input type="text" data-expected="plūrālis"/></span> est.</li>
<li><i>Īnsul<u>ae</u></i> plūrālis est. <i>Īnsul<u>a</u></i> <span><input type="text" data-expected="singulāris"/></span> est.</li> <li>Īnsulae plūrālis est. Īnsula <span><input type="text" data-expected="singulāris"/></span> est.</li>
<li><i>Oppid<u>um</u></i> <span><input type="text" data-expected="singulāris"/></span> est. <i>Oppid<u>a</u></i> <span><input type="text" data-expected="plūrālis"/></span> est.</li> <li>Oppidum <span><input type="text" data-expected="singulāris"/></span> est. Oppida <span><input type="text" data-expected="plūrālis"/></span> est.</li>
<li>Singulāris: <i>fluvius</i>; plūrālis: fluviī.</li> <li>Singulāris: fluvius; plūrālis: fluviī.</li>
<li>Plūrālis: <i>īnsulae</i>; singulāris: <span><input type="text" data-expected="īnsula"/>.</span></li> <li>Plūrālis: īnsulae; singulāris: <span><input type="text" data-expected="īnsula"/>.</span></li>
<li>Singulāris: <i>oppidum</i>; plūrālis: <span><input type="text" data-expected="oppida"/>.</span></li> <li>Singulāris: oppidum; plūrālis: <span><input type="text" data-expected="oppida"/>.</span></li>
<li>Plūrālis: <i>numerī</i>; singulāris: <span><input type="text" data-expected="numerus"/>.</span></li> <li>Plūrālis: numerī; singulāris: <span><input type="text" data-expected="numerus"/>.</span></li>
<li>Singulāris: <i>littera</i>; plūrālis: <span><input type="text" data-expected="litterae"/>.</span></li> <li>Singulāris: littera; plūrālis: <span><input type="text" data-expected="litterae"/>.</span></li>
<li>Plūrālis: <i>vocābula</i>; singulāris: <span><input type="text" data-expected="vocābulum"/>.</span></li> <li>Plūrālis: vocābula; singulāris: <span><input type="text" data-expected="vocābulum"/>.</span></li>
<li>Singulāris: <i>īnsula magna</i>; plūrālis: <span><input type="text" data-expected="īnsulae"/></span> <span><input type="text" data-expected="magnae"/>.</span></li> <li>Singulāris: īnsula magna; plūrālis: <span><input type="text" data-expected="īnsulae"/></span> <span><input type="text" data-expected="magnae"/>.</span></li>
<li>Plūrālis: <i>oppida magna</i>; singulāris: <span><input type="text" data-expected="oppidum"/></span> <span><input type="text" data-expected="magnum"/>.</span></li> <li>Plūrālis: oppida magna. singulāris: <span><input type="text" data-expected="oppidum"/></span> <span><input type="text" data-expected="magnum"/>.</span></li>
<li>Singulāris: <i>numerus Rōmānus</i>; plūrālis: <span><input type="text" data-expected="numerī"/></span> <span><input type="text" data-expected="Rōmānī"/>.</span></li> <li>Singulāris: numerus Rōmānus; plūrālis: <span><input type="text" data-expected="numerī"/></span> <span><input type="text" data-expected="Rōmānī"/>.</span></li>
<li>Plūrālis: <i>litterae Graecae</i>; singulāris <span><input type="text" data-expected="littera"/></span> <span><input type="text" data-expected="Graeca"/>.</span></li> <li>Plūrālis: litterae Graecae; singulāris <span><input type="text" data-expected="littera"/></span> <span><input type="text" data-expected="Graeca"/>.</span></li>
<li>Singulāris: <i>vocabulum Latīnum</i>; plūrālis <span><input type="text" data-expected="vocābula"/></span> <span><input type="text" data-expected="Latīna"/>.</span></li> <li>Singulāris: vocabulum Latīnum; plūrālis <span><input type="text" data-expected="vocābula"/></span> <span><input type="text" data-expected="Latīna"/>.</span></li>
<li>Plūrālis: <i>exempla</i>; singulāris <span><input type="text" data-expected="exemplum"/>.</span></li> <li>Plūrālis: exempla; singulāris <span><input type="text" data-expected="exemplum"/>.</span></li>
</ol> </ol>

View File

@ -1,7 +0,0 @@
vir|virī|fēmina|fēminae|puer|puerī|puella|puellae
Mārcus puer Rōmanus est; Iūlia est _puella_ Rōmāna.
Iūlius est vir Rōmānus; Aemilia _fēmina_ Rōmāna est.
Mārcus nōn puella, sed _puer_ est.
Mārcus et Quīntus sunt _puerī_, nōn puellae.
Iūlius et Mēdus nōn puerī, sed _virī_ suntl Dāvus quoque _vir_ est.
Nōn virī, sed _fēminae_ sunt Aemilia et Dēlia; Syra quoque _fēmina_ est.

View File

@ -1,9 +0,0 @@
volabula: vir, virī, fēmina, fēminae, puer, puerī, puella, puellae
<br><ol>
<li>Mārcus puer Rōmanus est; Iūlia est <span><input type="text" data-expected="puella"/></span> Rōmāna.</li>
<li>Iūlius est vir Rōmānus; Aemilia <span><input type="text" data-expected="fēmina"/></span> Rōmāna est.</li>
<li>Mārcus nōn puella, sed <span><input type="text" data-expected="puer"/></span> est.</li>
<li>Mārcus et Quīntus sunt <span><input type="text" data-expected="puerī"/>,</span> nōn puellae.</li>
<li>Iūlius et Mēdus nōn puerī, sed <span><input type="text" data-expected="virī"/></span> suntl Dāvus quoque <span><input type="text" data-expected="vir"/></span> est.</li>
<li>Nōn virī, sed <span><input type="text" data-expected="fēminae"/></span> sunt Aemilia et Dēlia; Syra quoque <span><input type="text" data-expected="fēmina"/></span> est.</li>
</ol>

View File

@ -1,12 +0,0 @@
meus -a -um|tuus -a -um
Cornēlius: "Estne Mēdus fīlius _tuus_?"
Iūlius: "Mēdus nōn est fīlius _meus_."
Cornēlius: "Estne Dēlia fīlia _tua_?"
Iūlius: "Dēlia nōn est fīlia _mea_."
Cornēlius: "Suntne ancillae _tuae_ Dēlia et Syra?"
Iūlius: "Dēlia et Syra sunt ancillae _meae_."
Cornēlius: "Quī sunt fīliī _tuī_?"
Iūlius: "Fīliī _meī_ sunt Mārcus et Quīntus."
Cornēlius: "Quot servī sunt in familiā _tuā_?"
Iūlius: "In familiā _meā_ sunt centum servī. Numerus servōrum _meōrum_ est centum. Familia _mea_ magna est."
Cornēlius: "Centum servī! Magnus est numerus servōrum _tuōrum_!"

View File

@ -1,14 +0,0 @@
volabula: meus -a -um, tuus -a -um
<br><ol>
<li>Cornēlius: "Estne Mēdus fīlius <span><input type="text" data-expected="tuus"/></span>?"</li>
<li>Iūlius: "Mēdus nōn est fīlius <span><input type="text" data-expected="meus"/>.</span>"</li>
<li>Cornēlius: "Estne Dēlia fīlia <span><input type="text" data-expected="tua"/></span>?"</li>
<li>Iūlius: "Dēlia nōn est fīlia <span><input type="text" data-expected="mea"/>.</span>"</li>
<li>Cornēlius: "Suntne ancillae <span><input type="text" data-expected="tuae"/></span> Dēlia et Syra?"</li>
<li>Iūlius: "Dēlia et Syra sunt ancillae <span><input type="text" data-expected="meae"/>.</span>"</li>
<li>Cornēlius: "Quī sunt fīliī <span><input type="text" data-expected="tuī"/></span>?"</li>
<li>Iūlius: "Fīliī <span><input type="text" data-expected="meī"/></span> sunt Mārcus et Quīntus."</li>
<li>Cornēlius: "Quot servī sunt in familiā <span><input type="text" data-expected="tuā"/></span>?"</li>
<li>Iūlius: "In familiā <span><input type="text" data-expected="meā"/></span> sunt centum servī. Numerus servōrum <span><input type="text" data-expected="meōrum"/></span> est centum. Familia <span><input type="text" data-expected="mea"/></span> magna est."</li>
<li>Cornēlius: "Centum servī! Magnus est numerus servōrum <span><input type="text" data-expected="tuōrum"/></span>!"</li>
</ol>

View File

@ -1,13 +0,0 @@
liber|librī|librōrum
Ecce duo lib_rī_: lib_er_ antīquus et lib_er_ novus.
Titulus lib_rī_ novī est 'LINGVA LATINA'.
LINGVA LATINA est lib_er_ Latīnus.
Numerus lib_rōrum_ Latīnōrum magnus est.
In LINGVA LATINA sunt multa capitul_a_.
Numerus capitul_ōrum_ est magnus.
IMPERIVM ROMANVM est capitul_um_ prīmum.
Titulus capitul_ī_ prīmī est 'IMPERIVM ROMANVM'.
In capitulō prīmō mult_a_ vocābul_a_ sunt.
Numerus vocābul_ōrum_ magnus est.
<i>Rōma</i> est vocābul_um_ prīmum capitul_ī_ prīm_ī_.
<i>R</i> est littera prīma vocābul_ī_ prīmī.

View File

@ -1,15 +0,0 @@
volabula: liber, librī, librōrum
<br><ol>
<li>Ecce duo <span>lib<input type="text" data-expected="rī"/></span>: <span>lib<input type="text" data-expected="er"/></span> antīquus et <span>lib<input type="text" data-expected="er"/></span> novus.</li>
<li>Titulus <span>lib<input type="text" data-expected="rī"/></span> novī est 'LINGVA LATINA'.</li>
<li>LINGVA LATINA est <span>lib<input type="text" data-expected="er"/></span> Latīnus.</li>
<li>Numerus <span>lib<input type="text" data-expected="rōrum"/></span> Latīnōrum magnus est.</li>
<li>In LINGVA LATINA sunt multa <span>capitul<input type="text" data-expected="a"/>.</span></li>
<li>Numerus <span>capitul<input type="text" data-expected="ōrum"/></span> est magnus.</li>
<li>IMPERIVM ROMANVM est <span>capitul<input type="text" data-expected="um"/></span> prīmum.</li>
<li>Titulus <span>capitul<input type="text" data-expected="ī"/></span> prīmī est 'IMPERIVM ROMANVM'.</li>
<li>In capitulō prīmō <span>mult<input type="text" data-expected="a"/></span> vocā<span>bul<input type="text" data-expected="a"/></span> sunt.</li>
<li>Numerus vocā<span>bul<input type="text" data-expected="ōrum"/></span> magnus est.</li>
<li><i>Rōma</i> est vocā<span>bul<input type="text" data-expected="um"/></span> prīmum <span>capitul<input type="text" data-expected="ī"/></span> prī<span>m<input type="text" data-expected="ī"/>.</span></li>
<li><i>R</i> est littera prīma vocā<span>bul<input type="text" data-expected="ī"/></span> prīmī.</li>
</ol>

View File

@ -1,9 +0,0 @@
masculīnum|fēminīnum|neutrum
<i>Servus</i> vocābulum masculīnum est. <i>Ancilla</i> vocābulum _fēminīnum_ est. <i>Oppidum</i> vocābulum _neutrum_ est.
<i>Puer</i> nōn est vocābulum fēminīnum, sed _masculīnum_.
<i>Servus</i> et <i>dominus</i> vocābula _masculīna_ sunt; <i>fluvius</i> quoque _vocābulum_ _masculīnum_ est.
<i>Ancilla</i> et <i>domina</i> vocābula _fēminīna_ sunt; <i>īnsula</i> quoque _vocābulum_ _fēminīnum_ _est_.
<i>Oppidum</i> et <i>imperium</i> vocābula _neutra_ sunt; <i>exemplum</i> quoque _vocābulum_ _neutrum_ _est_.
Masculīnum: <i>vir Rōman_us_</i>.
Fēminīnum: <i>fēmin_a_ Rōmān_a_</i>.
Neutrum: <i>imperi_um_ Rōmān_um_</i>.

View File

@ -1,11 +0,0 @@
volabula: masculīnum, fēminīnum, neutrum
<br><ol>
<li><i>Servus</i> vocābulum masculīnum est. <i>Ancilla</i> vocābulum <span><input type="text" data-expected="fēminīnum"/></span> est. <i>Oppidum</i> vocābulum <span><input type="text" data-expected="neutrum"/></span> est.</li>
<li><i>Puer</i> nōn est vocābulum fēminīnum, sed <span><input type="text" data-expected="masculīnum"/>.</span></li>
<li><i>Servus</i> et <i>dominus</i> vocābula <span><input type="text" data-expected="masculīna"/></span> sunt; <i>fluvius</i> quoque <span><input type="text" data-expected="vocābulum"/></span> <span><input type="text" data-expected="masculīnum"/></span> est.</li>
<li><i>Ancilla</i> et <i>domina</i> vocābula <span><input type="text" data-expected="fēminīna"/></span> sunt; <i>īnsula</i> quoque <span><input type="text" data-expected="vocābulum"/></span> <span><input type="text" data-expected="fēminīnum"/></span> <span><input type="text" data-expected="est"/>.</span></li>
<li><i>Oppidum</i> et <i>imperium</i> vocābula <span><input type="text" data-expected="neutra"/></span> sunt; <i>exemplum</i> quoque <span><input type="text" data-expected="vocābulum"/></span> <span><input type="text" data-expected="neutrum"/></span> <span><input type="text" data-expected="est"/>.</span></li>
<li>Masculīnum: <i>vir Rō<span>man<input type="text" data-expected="us"/></span></i>.</li>
<li>Fēminīnum: <i><span>min<input type="text" data-expected="a"/></span> Rōmā<span>n<input type="text" data-expected="a"/></span></i>.</li>
<li>Neutrum: <i><span>imperi<input type="text" data-expected="um"/></span> Rōmā<span>n<input type="text" data-expected="um"/></span></i>.</li>
</ol>

View File

@ -1,12 +0,0 @@
genetīvus
<i>Iūlius pater Mārc<u>ī</u> est</i>: <i>Mārc<u>ī</u></i> _genetīvus_ est.
<i>Iūlius pater Iūli<u>ae</u> est</i>: <i>Iūli<u>ae</u></i> quoque _genetīvus_ est.
<i>Iūlius dominus serv<u>ī</u> est</i>: <i>serv<u>ī</u></i> _genetīvus_ singulāris est.
<i>Iūlius dominus serv<u>ōrum</u> est</i>: <i>serv<u>ōrum</u></i> est _genetīvus_ _plūrālis_.
<i>Aemilia domina ancill<u>ae</u> est</i>: <i>ancill<u>ae</u></i> _genetīvus_ _singulāris_ est.
<i>Aemilia domina ancill<u>ārum</u> est</i>: <i>ancill<u>ārum</u></i> est _genetīvus_ _plūrālis_.
<i>Titulus capitul<u>ī</u> est FAMILIA ROMANA</i>: <i>capitul<u>ī</u></i> _genetīvus_ _singulāris_ est.
<i>Numerus capitul<u>ōrum</u> magnus est</i>: <i>capitul<u>ōrum</u></i> est _genetīvus_ _plūrālis_.
Genetīvus: singulāris <i>serv_ī_</i>, plūrālis <i>serv_ōrum_</i>.
Genetīvus: singulāris <i>ancill_ae_</i>, plūrālis <i>ancill_ārum_</i>.
Genetīvus: singulāris <i>capitul_ī_</i>, plūrālis <i>capitul_ōrum_</i>.

View File

@ -1,14 +0,0 @@
volabula: genetīvus
<br><ol>
<li><i>Iūlius pater Mārc<u>ī</u> est</i>: <i>Mārc<u>ī</u></i> <span><input type="text" data-expected="genetīvus"/></span> est.</li>
<li><i>Iūlius pater Iūli<u>ae</u> est</i>: <i>Iūli<u>ae</u></i> quoque <span><input type="text" data-expected="genetīvus"/></span> est.</li>
<li><i>Iūlius dominus serv<u>ī</u> est</i>: <i>serv<u>ī</u></i> <span><input type="text" data-expected="genetīvus"/></span> singulāris est.</li>
<li><i>Iūlius dominus serv<u>ōrum</u> est</i>: <i>serv<u>ōrum</u></i> est <span><input type="text" data-expected="genetīvus"/></span> <span><input type="text" data-expected="plūrālis"/>.</span></li>
<li><i>Aemilia domina ancill<u>ae</u> est</i>: <i>ancill<u>ae</u></i> <span><input type="text" data-expected="genetīvus"/></span> <span><input type="text" data-expected="singulāris"/></span> est.</li>
<li><i>Aemilia domina ancill<u>ārum</u> est</i>: <i>ancill<u>ārum</u></i> est <span><input type="text" data-expected="genetīvus"/></span> <span><input type="text" data-expected="plūrālis"/>.</span></li>
<li><i>Titulus capitul<u>ī</u> est FAMILIA ROMANA</i>: <i>capitul<u>ī</u></i> <span><input type="text" data-expected="genetīvus"/></span> <span><input type="text" data-expected="singulāris"/></span> est.</li>
<li><i>Numerus capitul<u>ōrum</u> magnus est</i>: <i>capitul<u>ōrum</u></i> est <span><input type="text" data-expected="genetīvus"/></span> <span><input type="text" data-expected="plūrālis"/>.</span></li>
<li>Genetīvus: singulāris <i><span>serv<input type="text" data-expected="ī"/></span></i>, plūrālis <i><span>serv<input type="text" data-expected="ōrum"/></span></i>.</li>
<li>Genetīvus: singulāris <i><span>ancill<input type="text" data-expected="ae"/></span></i>, plūrālis <i><span>ancill<input type="text" data-expected="ārum"/></span></i>.</li>
<li>Genetīvus: singulāris <i><span>capitul<input type="text" data-expected="ī"/></span></i>, plūrālis <i><span>capitul<input type="text" data-expected="ōrum"/></span></i>.</li>
</ol>

View File

@ -1,12 +0,0 @@
pater|māter|fīlius|fīlia|līberī
Iūlius pater est. Aemilia est _māter_.
Iūlia fīlia est. Mārcus et Quīntus sunt _fīliī_.
Mārcus et Quīntus et Iūlia sunt trēs _līberī_.
Iūlia nōn māter, sed _fīlia_ est.
Nōn pater, sed _fīlius_ est Mārcus.
Mārcus fīlius Iūliī est: Iūlius est pater Mārc_ī_.
Quīntus fīlius Iūliī est: Iūlius est pater Quīnt_ī_.
Iūlia fīlia Iūliī est: Iūlius est pater Iūli_ae_.
Mārcus et Quīntus fīliī Aemiliae sunt: Aemilia est māter Mārc_ī_ et Quīnt_ī_.
Iūlia fīlia Aemiliae est: Aemilia est māter Iūli_ae_.
Māter Mārc_ī_ et Quīnt_ī_ et Iūli_ae_ est Aemilia.

View File

@ -1,14 +0,0 @@
volabula: pater, māter, fīlius, fīlia, līberī
<br><ol>
<li>Iūlius pater est. Aemilia est <span><input type="text" data-expected="māter"/>.</span></li>
<li>Iūlia fīlia est. Mārcus et Quīntus sunt <span><input type="text" data-expected="fīliī"/>.</span></li>
<li>Mārcus et Quīntus et Iūlia sunt trēs <span><input type="text" data-expected="līberī"/>.</span></li>
<li>Iūlia nōn māter, sed <span><input type="text" data-expected="fīlia"/></span> est.</li>
<li>Nōn pater, sed <span><input type="text" data-expected="fīlius"/></span> est Mārcus.</li>
<li>Mārcus fīlius Iūliī est: Iūlius est pater Mā<span>rc<input type="text" data-expected="ī"/>.</span></li>
<li>Quīntus fīlius Iūliī est: Iūlius est pater Quī<span>nt<input type="text" data-expected="ī"/>.</span></li>
<li>Iūlia fīlia Iūliī est: Iūlius est pater Iū<span>li<input type="text" data-expected="ae"/>.</span></li>
<li>Mārcus et Quīntus fīliī Aemiliae sunt: Aemilia est māter Mā<span>rc<input type="text" data-expected="ī"/></span> et Quī<span>nt<input type="text" data-expected="ī"/>.</span></li>
<li>Iūlia fīlia Aemiliae est: Aemilia est māter Iū<span>li<input type="text" data-expected="ae"/>.</span></li>
<li>Māter Mā<span>rc<input type="text" data-expected="ī"/></span> et Quī<span>nt<input type="text" data-expected="ī"/></span> et Iū<span>li<input type="text" data-expected="ae"/></span> est Aemilia.</li>
</ol>

View File

@ -1,6 +0,0 @@
...que = et ...
Litterae et numerī = _Litterae_ _numerīque_.
Mārcus et Quīntus = _Mārcus_ _Quīntusque_.
Puerī et puellae = _Puerī_ _puellaeque_.
Fēminae puerīque = _Fēminae_ _et_ _puerī_.
Ūna fīlia duoque fīliī = _Ūna_ _fīlia_ _et_ _duo_ _fīliī_.

View File

@ -1,8 +0,0 @@
volabula: ...que = et ...
<br><ol>
<li>Litterae et numerī = <span><input type="text" data-expected="Litterae"/></span> <span><input type="text" data-expected="numerīque"/>.</span></li>
<li>Mārcus et Quīntus = <span><input type="text" data-expected="Mārcus"/></span> <span><input type="text" data-expected="Quīntusque"/>.</span></li>
<li>Puerī et puellae = <span><input type="text" data-expected="Puerī"/></span> <span><input type="text" data-expected="puellaeque"/>.</span></li>
<li>Fēminae puerīque = <span><input type="text" data-expected="Fēminae"/></span> <span><input type="text" data-expected="et"/></span> <span><input type="text" data-expected="puerī"/>.</span></li>
<li>Ūna fīlia duoque fīliī = <span><input type="text" data-expected="Ūna"/></span> <span><input type="text" data-expected="fīlia"/></span> <span><input type="text" data-expected="et"/></span> <span><input type="text" data-expected="duo"/></span> <span><input type="text" data-expected="fīliī"/>.</span></li>
</ol>

View File

@ -1,12 +0,0 @@
dominus|domina|servus| ancilla
Mēdus nōn est fīlius Iūliī, Mēdus _servī_ Iūliī est.
Dēlia nōn est fīlia Aemiliae, Dēlia _ancillae_ Aemiliae est.
Iūlius _dominus_ Mēdī est. Aemiliae _domina_ Dēliae est.
Dāvus et Mēdus nōn sunt dominī, sed _servī_.
Syra et Dēlia nōn sunt dominae, sed _ancillae_.
Iūlius dominus Dāvī est: Iūlius est dominus serv_ī_.
Iūlius dominus Dāvī et Mēdī est: Iūlius est dominus serv_ōrum_.
Aemilia domina Syrae est: Aemilia est domina ancill_ae_.
Aemilia domina Syrae et Dēliae est: Aemilia est domina ancill_ārum_.
Mārcus, Quīntus Iūliaque nōn servī, sed _līberī_ sunt.
Iūlius dominus serv_ōrum_ est et pater līber_ōrum_.

View File

@ -1,14 +0,0 @@
volabula: dominus, domina, servus, ancilla
<br><ol>
<li>Mēdus nōn est fīlius Iūliī, Mēdus <span><input type="text" data-expected="servī"/></span> Iūliī est.</li>
<li>Dēlia nōn est fīlia Aemiliae, Dēlia <span><input type="text" data-expected="ancillae"/></span> Aemiliae est.</li>
<li>Iūlius <span><input type="text" data-expected="dominus"/></span> Mēdī est. Aemiliae <span><input type="text" data-expected="domina"/></span> Dēliae est.</li>
<li>Dāvus et Mēdus nōn sunt dominī, sed <span><input type="text" data-expected="servī"/>.</span></li>
<li>Syra et Dēlia nōn sunt dominae, sed <span><input type="text" data-expected="ancillae"/>.</span></li>
<li>Iūlius dominus Dāvī est: Iūlius est dominus <span>serv<input type="text" data-expected="ī"/>.</span></li>
<li>Iūlius dominus Dāvī et Mēdī est: Iūlius est dominus <span>serv<input type="text" data-expected="ōrum"/>.</span></li>
<li>Aemilia domina Syrae est: Aemilia est domina <span>ancill<input type="text" data-expected="ae"/>.</span></li>
<li>Aemilia domina Syrae et Dēliae est: Aemilia est domina <span>ancill<input type="text" data-expected="ārum"/>.</span></li>
<li>Mārcus, Quīntus Iūliaque nōn servī, sed <span><input type="text" data-expected="līberī"/></span> sunt.</li>
<li>Iūlius dominus <span>serv<input type="text" data-expected="ōrum"/></span> est et pater lī<span>ber<input type="text" data-expected="ōrum"/>.</span></li>
</ol>

View File

@ -1,11 +0,0 @@
-ōrum|-ārum
Iūlius est dominus mult_ōrum_ serv_ōrum_.
Numerus serv_ōrum_ est centum.
Aemilia est domina mult_ārum_ ancill_ārum_.
Numerus serv_ōrum_ et ancill_ārum_ magnus est.
In familiā est magnus numerus serv_ōrum_ et ancill_ārum.
Numerus līber_ōrum_ est trēs.
In familiā Iūliī est parvus numerus līber_ōrum_.
In Graeciā est magnus numerus īnsul_ārum_.
In Arabiā est parvus numerus fluvi_ōrum_.
In Italiā est magnus numerus oppid_ōrum_.

View File

@ -1,13 +0,0 @@
volabula: -ōrum, -ārum
<br><ol>
<li>Iūlius est dominus <span>mult<input type="text" data-expected="ōrum"/></span> <span>serv<input type="text" data-expected="ōrum"/>.</span></li>
<li>Numerus <span>serv<input type="text" data-expected="ōrum"/></span> est centum.</li>
<li>Aemilia est domina <span>mult<input type="text" data-expected="ārum"/></span> <span>ancill<input type="text" data-expected="ārum"/>.</span></li>
<li>Numerus <span>serv<input type="text" data-expected="ōrum"/></span> et <span>ancill<input type="text" data-expected="ārum"/></span> magnus est.</li>
<li>In familiā est magnus numerus <span>serv<input type="text" data-expected="ōrum"/></span> et ancill_ārum.</li>
<li>Numerus lī<span>ber<input type="text" data-expected="ōrum"/></span> est trēs.</li>
<li>In familiā Iūliī est parvus numerus lī<span>ber<input type="text" data-expected="ōrum"/>.</span></li>
<li>In Graeciā est magnus numerus ī<span>nsul<input type="text" data-expected="ārum"/>.</span></li>
<li>In Arabiā est parvus numerus <span>fluvi<input type="text" data-expected="ōrum"/>.</span></li>
<li>In Italiā est magnus numerus <span>oppid<input type="text" data-expected="ōrum"/>.</span></li>
</ol>

View File

@ -1,8 +0,0 @@
Multī/paucī servī = magnus/parvus numerus servōrum.
Multae īnsulae = _Magnus_ _numerus_ _īnsulārum_.
Paucī fluviī = _Parvus_ _numerus_ _fluviōrum_.
Multa oppida = _Magnus_ _numerus_ _oppidōrum_.
Paucī līberī = _Parvus_ _numerus_ _līberōrum_.
Magnus numerus vocābulōrum = _Multa_ _vocābula_.
Magnus numerus litterārum = _Multae_ _litterae_.
Parvus numerus exemplōrum = _Pauca_ _exempla_.

View File

@ -1,10 +0,0 @@
volabula: Multī/paucī servī = magnus/parvus numerus servōrum.
<br><ol>
<li>Multae īnsulae = <span><input type="text" data-expected="Magnus"/></span> <span><input type="text" data-expected="numerus"/></span> <span><input type="text" data-expected="īnsulārum"/>.</span></li>
<li>Paucī fluviī = <span><input type="text" data-expected="Parvus"/></span> <span><input type="text" data-expected="numerus"/></span> <span><input type="text" data-expected="fluviōrum"/>.</span></li>
<li>Multa oppida = <span><input type="text" data-expected="Magnus"/></span> <span><input type="text" data-expected="numerus"/></span> <span><input type="text" data-expected="oppidōrum"/>.</span></li>
<li>Paucī līberī = <span><input type="text" data-expected="Parvus"/></span> <span><input type="text" data-expected="numerus"/></span> <span><input type="text" data-expected="līberōrum"/>.</span></li>
<li>Magnus numerus vocābulōrum = <span><input type="text" data-expected="Multa"/></span> <span><input type="text" data-expected="vocābula"/>.</span></li>
<li>Magnus numerus litterārum = <span><input type="text" data-expected="Multae"/></span> <span><input type="text" data-expected="litterae"/>.</span></li>
<li>Parvus numerus exemplōrum = <span><input type="text" data-expected="Pauca"/></span> <span><input type="text" data-expected="exempla"/>.</span></li>
</ol>

View File

@ -1,12 +0,0 @@
quot?
_Quot_ servī sunt in familiā Iūliī? _Centum_ [C] servī.
Mēdus et Dāvus _duo_ [II] servī sunt.
Syra et Dēlia sunt _duae_ [II] ancillae.
Tūsculum et Brundisium _duo_ [II] oppida sunt.
_Quot_ līberī in familiā sunt? _Trēs_ [III] līberī.
In familiā nōn _duae_ [II] fīliae, sed _ūna_ [I] fīlia est.
In familiā nōn _ūnus_ [I] fīlius, sed _duo_ [II] fīliī sunt.
Brundisium et Sparta et Delphī _tria_ [III] oppida sunt: _duo_ [II] oppida magna et _ūnum_ [I] oppidum parvum.
Sardinia et Sicilia et Melita _trēs_ [III] īnsulae sunt: _duae_ [II] īnsulae magnae et _ūna_ [I] īnsula parva.
Rhēnus et Dānivius et Tiberis _trēs_ [III] fluviī sunt: _duo_ [II] fluviī magnī et _ūnus_ [I] fluvius parvus.
<i>Vir, puer, puella</i> _tria_ [III] vocābula sunt.

View File

@ -1,14 +0,0 @@
volabula: quot?
<br><ol>
<li><span><input type="text" data-expected="Quot"/></span> servī sunt in familiā Iūliī? <span><input type="text" data-expected="Centum"/></span> [C] servī.</li>
<li>Mēdus et Dāvus <span><input type="text" data-expected="duo"/></span> [II] servī sunt.</li>
<li>Syra et Dēlia sunt <span><input type="text" data-expected="duae"/></span> [II] ancillae.</li>
<li>Tūsculum et Brundisium <span><input type="text" data-expected="duo"/></span> [II] oppida sunt.</li>
<li><span><input type="text" data-expected="Quot"/></span> līberī in familiā sunt? <span><input type="text" data-expected="Trēs"/></span> [III] līberī.</li>
<li>In familiā nōn <span><input type="text" data-expected="duae"/></span> [II] fīliae, sed <span><input type="text" data-expected="ūna"/></span> [I] fīlia est.</li>
<li>In familiā nōn <span><input type="text" data-expected="ūnus"/></span> [I] fīlius, sed <span><input type="text" data-expected="duo"/></span> [II] fīliī sunt.</li>
<li>Brundisium et Sparta et Delphī <span><input type="text" data-expected="tria"/></span> [III] oppida sunt: <span><input type="text" data-expected="duo"/></span> [II] oppida magna et <span><input type="text" data-expected="ūnum"/></span> [I] oppidum parvum.</li>
<li>Sardinia et Sicilia et Melita <span><input type="text" data-expected="trēs"/></span> [III] īnsulae sunt: <span><input type="text" data-expected="duae"/></span> [II] īnsulae magnae et <span><input type="text" data-expected="ūna"/></span> [I] īnsula parva.</li>
<li>Rhēnus et Dānivius et Tiberis <span><input type="text" data-expected="trēs"/></span> [III] fluviī sunt: <span><input type="text" data-expected="duo"/></span> [II] fluviī magnī et <span><input type="text" data-expected="ūnus"/></span> [I] fluvius parvus.</li>
<li><i>Vir, puer, puella</i> <span><input type="text" data-expected="tria"/></span> [III] vocābula sunt.</li>
</ol>

View File

@ -14,7 +14,7 @@ for filename in sys.argv[1:]:
html_input_tail = '"/>' html_input_tail = '"/>'
html_span_tail = '</span>' html_span_tail = '</span>'
for i in range(len(content)): for i in range(len(content)):
content[i] = re.sub(r'(\s|\"|)([a-zA-Z\-\ÿ]+|)_([ĀāĒēĪīŌōŪūa-zA-Z\-]+)_(\.|\,|)', r'\1' + html_span_head + r'\2' + html_input_head + r'\3' + html_input_tail + r'\4' + html_span_tail, content[i].rstrip('\n')) content[i] = re.sub(r'(\s|\"|)([a-zA-Z\-\ÿ]+|)_([āēīōūa-zA-Z\-]+)_(\.|\,|)', r'\1' + html_span_head + r'\2' + html_input_head + r'\3' + html_input_tail + r'\4' + html_span_tail, content[i].rstrip('\n'))
# Replace vowel-dash-vowel with vowels with macrons # Replace vowel-dash-vowel with vowels with macrons
content[i] = content[i].replace('A-A', 'Ā') content[i] = content[i].replace('A-A', 'Ā')
content[i] = content[i].replace('a-a', 'ā') content[i] = content[i].replace('a-a', 'ā')