Compare commits

..

2 Commits

Author SHA1 Message Date
sergiusz
a59ade4805 Added Exercitia from Capitulum Secundum 2021-01-08 15:05:15 +01:00
sergiusz
ddf9438976 Updated README.md 2021-01-08 12:17:38 +01:00
27 changed files with 291 additions and 35 deletions

View File

@ -4,13 +4,17 @@ 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.
# Parsers 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.
## Text to Pensum
```text2pensum.py``` takes text file as an input and generates HTML form from it. Marking is as follows: # Parsers
## Text to Cloze
```text2pensum_cloze.py``` takes text file as an input and generates HTML 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,7 +6,9 @@ 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.)
Fluvius singulāris est. Fluviī _plūrālis_ est. <i>Fluvi<u>us</u></i> singulāris est. <i>Fluvi<u>ī</u></i> _plūrālis_ est.
Īnsulae plūrālis est. Īnsula _singulāris_ est. <i>Īnsul<u>ae</u></i> plūrālis est. <i>Īnsul<u>a</u></i> _singulāris_ est.
Oppidum _singulāris_ est. Oppida _plūrālis_ est. <i>Oppid<u>um</u></i> _singulāris_ est. <i>Oppid<u>a</u></i> _plūrālis_ est.
Singulāris: fluvius; plūrālis: fluviī. Singulāris: <i>fluvius</i>; plūrālis: fluviī.
Plūrālis: īnsulae; singulāris: _īnsula_. Plūrālis: <i>īnsulae</i>; singulāris: _īnsula_.
Singulāris: oppidum; plūrālis: _oppida_. Singulāris: <i>oppidum</i>; plūrālis: _oppida_.
Plūrālis: numerī; singulāris: _numerus_. Plūrālis: <i>numerī</i>; singulāris: _numerus_.
Singulāris: littera; plūrālis: _litterae_. Singulāris: <i>littera</i>; plūrālis: _litterae_.
Plūrālis: vocābula; singulāris: _vocābulum_. Plūrālis: <i>vocābula</i>; singulāris: _vocābulum_.
Singulāris: īnsula magna; plūrālis: _īnsulae_ _magnae_. Singulāris: <i>īnsula magna</i>; plūrālis: _īnsulae_ _magnae_.
Plūrālis: oppida magna. singulāris: _oppidum_ _magnum_. Plūrālis: <i>oppida magna</i>; singulāris: _oppidum_ _magnum_.
Singulāris: numerus Rōmānus; plūrālis: _numerī_ _Rōmānī_. Singulāris: <i>numerus Rōmānus</i>; plūrālis: _numerī_ _Rōmānī_.
Plūrālis: litterae Graecae; singulāris _littera_ _Graeca_. Plūrālis: <i>litterae Graecae</i>; singulāris _littera_ _Graeca_.
Singulāris: vocabulum Latīnum; plūrālis _vocābula_ _Latīna_. Singulāris: <i>vocabulum Latīnum</i>; plūrālis _vocābula_ _Latīna_.
Plūrālis: exempla; singulāris _exemplum_. Plūrālis: <i>exempla</i>; 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>Fluvius singulāris est. Fluviī <span><input type="text" data-expected="plūrālis"/></span> est.</li> <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>Īnsulae plūrālis est. Īnsula <span><input type="text" data-expected="singulāris"/></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>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><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>Singulāris: fluvius; plūrālis: fluviī.</li> <li>Singulāris: <i>fluvius</i>; plūrālis: fluviī.</li>
<li>Plūrālis: īnsulae; singulāris: <span><input type="text" data-expected="īnsula"/>.</span></li> <li>Plūrālis: <i>īnsulae</i>; singulāris: <span><input type="text" data-expected="īnsula"/>.</span></li>
<li>Singulāris: oppidum; plūrālis: <span><input type="text" data-expected="oppida"/>.</span></li> <li>Singulāris: <i>oppidum</i>; plūrālis: <span><input type="text" data-expected="oppida"/>.</span></li>
<li>Plūrālis: numerī; singulāris: <span><input type="text" data-expected="numerus"/>.</span></li> <li>Plūrālis: <i>numerī</i>; singulāris: <span><input type="text" data-expected="numerus"/>.</span></li>
<li>Singulāris: littera; plūrālis: <span><input type="text" data-expected="litterae"/>.</span></li> <li>Singulāris: <i>littera</i>; plūrālis: <span><input type="text" data-expected="litterae"/>.</span></li>
<li>Plūrālis: vocābula; singulāris: <span><input type="text" data-expected="vocābulum"/>.</span></li> <li>Plūrālis: <i>vocābula</i>; singulāris: <span><input type="text" data-expected="vocābulum"/>.</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>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>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>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>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>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>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>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>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>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>Plūrālis: exempla; singulāris <span><input type="text" data-expected="exemplum"/>.</span></li> <li>Plūrālis: <i>exempla</i>; singulāris <span><input type="text" data-expected="exemplum"/>.</span></li>
</ol> </ol>

View File

@ -0,0 +1,7 @@
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

@ -0,0 +1,9 @@
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

@ -0,0 +1,12 @@
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

@ -0,0 +1,14 @@
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

@ -0,0 +1,13 @@
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

@ -0,0 +1,15 @@
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

@ -0,0 +1,9 @@
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

@ -0,0 +1,11 @@
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

@ -0,0 +1,12 @@
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

@ -0,0 +1,14 @@
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

@ -0,0 +1,12 @@
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

@ -0,0 +1,14 @@
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

@ -0,0 +1,6 @@
...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

@ -0,0 +1,8 @@
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

@ -0,0 +1,12 @@
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

@ -0,0 +1,14 @@
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

@ -0,0 +1,11 @@
-ō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

@ -0,0 +1,13 @@
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

@ -0,0 +1,8 @@
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

@ -0,0 +1,10 @@
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

@ -0,0 +1,12 @@
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

@ -0,0 +1,14 @@
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', 'ā')