1
0
forked from GitHub/gf-core

the Android App is now using the documentation modules instead of xml files for generating the inflection tables. The xml files are removed

This commit is contained in:
kr.angelov
2014-02-21 16:34:59 +00:00
parent 9b1b42bd22
commit e5a6592080
9 changed files with 40 additions and 2133 deletions

View File

@@ -1,650 +0,0 @@
<inflection_template>
<inflection>
<cat>N</cat>
<cat>N2</cat>
<tag>същ</tag>
<template>
<h1>Съществително <lin>Feat<cat/>(<lemma/>)</lin></h1>
<table class="forms-table" rules="all">
<tr>
<th rowspan="3">ед.ч.</th>
<th>нечленувано</th>
<td><form>s (NF Sg Indef)</form></td>
</tr>
<tr>
<th>членувано</th>
<td><form>s (NF Sg Def)</form></td>
</tr>
<tr>
<th>пълен член</th>
<td><form>s NFSgDefNom</form></td>
</tr>
<tr>
<th rowspan="2">мн.ч.</th>
<th>нечленувано</th>
<td><form>s (NF Pl Indef)</form></td>
</tr>
<tr>
<th>членувано</th>
<td><form>s (NF Pl Def)</form></td>
</tr>
<tr>
<th colspan="2">звателна форма</th>
<td><form>s NFVocative</form></td>
</tr>
<tr>
<th colspan="2">бройна форма</th>
<td><form>s NFPlCount</form></td>
</tr>
</table>
<h1>Прилагателно</h1>
<table class="forms-table" rules="all">
<tr>
<th rowspan="7">ед.ч.</th>
<th rowspan="3">м.р.</th>
<th>нечленувано</th>
<td><form>rel (ASg Masc Indef)</form></td>
</tr>
<tr>
<th>непълен член</th>
<td><form>rel (ASg Masc Def)</form></td>
</tr>
<tr>
<th>пълен член</th>
<td><form>rel ASgMascDefNom</form></td>
</tr>
<tr>
<th rowspan="2">ж.р.</th>
<th>нечленувано</th>
<td><form>rel (ASg Fem Indef)</form></td>
</tr>
<tr>
<th>членувано</th>
<td><form>rel (ASg Fem Def)</form></td>
</tr>
<tr>
<th rowspan="2">ср.р.</th>
<th>нечленувано</th>
<td><form>rel (ASg Neut Indef)</form></td>
</tr>
<tr>
<th>членувано</th>
<td><form>rel (ASg Neut Def)</form></td>
</tr>
<tr>
<th rowspan="2" colspan="2">мн.ч.</th>
<th>нечленувано</th>
<td><form>rel (APl Indef)</form></td>
</tr>
<tr>
<th>членувано</th>
<td><form>rel (APl Def)</form></td>
</tr>
</table>
</template>
</inflection>
<inflection>
<cat>A</cat>
<cat>A2</cat>
<tag>пр</tag>
<template>
<h1>Прилагателно</h1>
<table class="forms-table" rules="all">
<tr>
<th rowspan="7">ед.ч.</th>
<th rowspan="3">м.р.</th>
<th>нечленувано</th>
<td><form>s (ASg Masc Indef)</form></td>
</tr>
<tr>
<th>непълен член</th>
<td><form>s (ASg Masc Def)</form></td>
</tr>
<tr>
<th>пълен член</th>
<td><form>s ASgMascDefNom</form></td>
</tr>
<tr>
<th rowspan="2">ж.р.</th>
<th>нечленувано</th>
<td><form>s (ASg Fem Indef)</form></td>
</tr>
<tr>
<th>членувано</th>
<td><form>s (ASg Fem Def)</form></td>
</tr>
<tr>
<th rowspan="2">ср.р.</th>
<th>нечленувано</th>
<td><form>s (ASg Neut Indef)</form></td>
</tr>
<tr>
<th>членувано</th>
<td><form>s (ASg Neut Def)</form></td>
</tr>
<tr>
<th rowspan="2" colspan="2">мн.ч.</th>
<th>нечленувано</th>
<td><form>s (APl Indef)</form></td>
</tr>
<tr>
<th>членувано</th>
<td><form>s (APl Def)</form></td>
</tr>
</table>
<h1>Наречие</h1>
<p><form>adv</form></p>
</template>
</inflection>
<inflection>
<cat>Adv</cat>
<tag>нар</tag>
<template>
<h1>Наречие</h1>
<p><form>s</form></p>
</template>
</inflection>
<inflection>
<cat>Prep</cat>
<tag>пр</tag>
<template>
<h1>Предлог</h1>
<p><form>s</form></p>
</template>
</inflection>
<inflection>
<cat>V</cat>
<cat>V2</cat>
<cat>V3</cat>
<cat>V2V</cat>
<cat>V2S</cat>
<cat>V2Q</cat>
<cat>V2A</cat>
<cat>VV</cat>
<cat>VS</cat>
<cat>VQ</cat>
<cat>VA</cat>
<tag>гл</tag>
<template>
<h1>Глагол</h1>
<lin>Feat<cat/> (<lemma/>)</lin>
<h2>Несвършен вид</h2>
<h3>Изявително наклонение</h3>
<h4>Сегашно време</h4>
<table class="forms-table" rules="all">
<tr>
<th></th>
<th>ед.ч.</th>
<th>мн.ч.</th>
</tr>
<tr>
<th>1 л.</th>
<td><form>s Imperf (VPres Sg P1)</form></td>
<td><form>s Imperf (VPres Pl P1)</form></td>
</tr>
<tr>
<th>2 л.</th>
<td><form>s Imperf (VPres Sg P2)</form></td>
<td><form>s Imperf (VPres Pl P2)</form></td>
</tr>
<tr>
<th>3 л.</th>
<td><form>s Imperf (VPres Sg P3)</form></td>
<td><form>s Imperf (VPres Pl P3)</form></td>
</tr>
</table>
<h4>Минало свършено време (аорист)</h4>
<table class="forms-table" rules="all">
<tr>
<th></th>
<th>ед.ч.</th>
<th>мн.ч.</th>
</tr>
<tr>
<th>1 л.</th>
<td><form>s Imperf (VAorist Sg P1)</form></td>
<td><form>s Imperf (VAorist Pl P1)</form></td>
</tr>
<tr>
<th>2 л.</th>
<td><form>s Imperf (VAorist Sg P2)</form></td>
<td><form>s Imperf (VAorist Pl P2)</form></td>
</tr>
<tr>
<th>3 л.</th>
<td><form>s Imperf (VAorist Sg P3)</form></td>
<td><form>s Imperf (VAorist Pl P3)</form></td>
</tr>
</table>
<h4>Минало несвършено време (имперфект)</h4>
<table class="forms-table" rules="all">
<tr>
<th></th>
<th>ед.ч.</th>
<th>мн.ч.</th>
</tr>
<tr>
<th>1 л.</th>
<td><form>s Imperf (VImperfect Sg P1)</form></td>
<td><form>s Imperf (VImperfect Pl P1)</form></td>
</tr>
<tr>
<th>2 л.</th>
<td><form>s Imperf (VImperfect Sg P2)</form></td>
<td><form>s Imperf (VImperfect Pl P2)</form></td>
</tr>
<tr>
<th>3 л.</th>
<td><form>s Imperf (VImperfect Sg P3)</form></td>
<td><form>s Imperf (VImperfect Pl P3)</form></td>
</tr>
</table>
<h3>Повелително наклонение</h3>
<table class="forms-table" rules="all">
<tr>
<th>ед.ч.</th>
<th>мн.ч.</th>
</tr>
<tr>
<td><form>s Imperf (VImperative Sg)</form></td>
<td><form>s Imperf (VImperative Pl)</form></td>
</tr>
</table>
<h3>Причастия (отглаголни прилагателни)</h3>
<h4>Минало страдателно причастие</h4>
<table class="forms-table" rules="all">
<tr>
<th rowspan="7">ед.ч.</th>
<th rowspan="3">м.р.</th>
<th>нечленувано</th>
<td><form>s Imperf (VPassive (ASg Masc Indef))</form></td>
</tr>
<tr>
<th>непълен член</th>
<td><form>s Imperf (VPassive (ASg Masc Def))</form></td>
</tr>
<tr>
<th>пълен член</th>
<td><form>s Imperf (VPassive ASgMascDefNom)</form></td>
</tr>
<tr>
<th rowspan="2">ж.р.</th>
<th>нечленувано</th>
<td><form>s Imperf (VPassive (ASg Fem Indef))</form></td>
</tr>
<tr>
<th>членувано</th>
<td><form>s Imperf (VPassive (ASg Fem Def))</form></td>
</tr>
<tr>
<th rowspan="2">ср.р.</th>
<th>нечленувано</th>
<td><form>s Imperf (VPassive (ASg Neut Indef))</form></td>
</tr>
<tr>
<th>членувано</th>
<td><form>s Imperf (VPassive (ASg Neut Def))</form></td>
</tr>
<tr>
<th rowspan="2" colspan="2">мн.ч.</th>
<th>нечленувано</th>
<td><form>s Imperf (VPassive (APl Indef))</form></td>
</tr>
<tr>
<th>членувано</th>
<td><form>s Imperf (VPassive (APl Def))</form></td>
</tr>
</table>
<h4>Минало свършено деятелно причастие</h4>
<table class="forms-table" rules="all">
<tr>
<th rowspan="7">ед.ч.</th>
<th rowspan="3">м.р.</th>
<th>нечленувано</th>
<td><form>s Imperf (VPerfect (ASg Masc Indef))</form></td>
</tr>
<tr>
<th>непълен член</th>
<td><form>s Imperf (VPerfect (ASg Masc Def))</form></td>
</tr>
<tr>
<th>пълен член</th>
<td><form>s Imperf (VPerfect ASgMascDefNom)</form></td>
</tr>
<tr>
<th rowspan="2">ж.р.</th>
<th>нечленувано</th>
<td><form>s Imperf (VPerfect (ASg Fem Indef))</form></td>
</tr>
<tr>
<th>членувано</th>
<td><form>s Imperf (VPerfect (ASg Fem Def))</form></td>
</tr>
<tr>
<th rowspan="2">ср.р.</th>
<th>нечленувано</th>
<td><form>s Imperf (VPerfect (ASg Neut Indef))</form></td>
</tr>
<tr>
<th>членувано</th>
<td><form>s Imperf (VPerfect (ASg Neut Def))</form></td>
</tr>
<tr>
<th rowspan="2" colspan="2">мн.ч.</th>
<th>нечленувано</th>
<td><form>s Imperf (VPerfect (APl Indef))</form></td>
</tr>
<tr>
<th>членувано</th>
<td><form>s Imperf (VPerfect (APl Def))</form></td>
</tr>
</table>
<h4>Минало несвършено деятелно причастие</h4>
<table class="forms-table" rules="all">
<tr>
<th rowspan="7">ед.ч.</th>
<th rowspan="3">м.р.</th>
<th>нечленувано</th>
<td><form>s Imperf (VPluPerfect (ASg Masc Indef))</form></td>
</tr>
<tr>
<th>непълен член</th>
<td><form>s Imperf (VPluPerfect (ASg Masc Def))</form></td>
</tr>
<tr>
<th>пълен член</th>
<td><form>s Imperf (VPluPerfect ASgMascDefNom)</form></td>
</tr>
<tr>
<th rowspan="2">ж.р.</th>
<th>нечленувано</th>
<td><form>s Imperf (VPluPerfect (ASg Fem Indef))</form></td>
</tr>
<tr>
<th>членувано</th>
<td><form>s Imperf (VPluPerfect (ASg Fem Def))</form></td>
</tr>
<tr>
<th rowspan="2">ср.р.</th>
<th>нечленувано</th>
<td><form>s Imperf (VPluPerfect (ASg Neut Indef))</form></td>
</tr>
<tr>
<th>членувано</th>
<td><form>s Imperf (VPluPerfect (ASg Neut Def))</form></td>
</tr>
<tr>
<th rowspan="2" colspan="2">мн.ч.</th>
<th>нечленувано</th>
<td><form>s Imperf (VPluPerfect (APl Indef))</form></td>
</tr>
<tr>
<th>членувано</th>
<td><form>s Imperf (VPluPerfect (APl Def))</form></td>
</tr>
</table>
<h4>Сегашно деятелно причастие</h4>
<table class="forms-table" rules="all">
<tr>
<th rowspan="7">ед.ч.</th>
<th rowspan="3">м.р.</th>
<th>нечленувано</th>
<td><form>s Imperf (VPresPart (ASg Masc Indef))</form></td>
</tr>
<tr>
<th>непълен член</th>
<td><form>s Imperf (VPresPart (ASg Masc Def))</form></td>
</tr>
<tr>
<th>пълен член</th>
<td><form>s Imperf (VPresPart ASgMascDefNom)</form></td>
</tr>
<tr>
<th rowspan="2">ж.р.</th>
<th>нечленувано</th>
<td><form>s Imperf (VPresPart (ASg Fem Indef))</form></td>
</tr>
<tr>
<th>членувано</th>
<td><form>s Imperf (VPresPart (ASg Fem Def))</form></td>
</tr>
<tr>
<th rowspan="2">ср.р.</th>
<th>нечленувано</th>
<td><form>s Imperf (VPresPart (ASg Neut Indef))</form></td>
</tr>
<tr>
<th>членувано</th>
<td><form>s Imperf (VPresPart (ASg Neut Def))</form></td>
</tr>
<tr>
<th rowspan="2" colspan="2">мн.ч.</th>
<th>нечленувано</th>
<td><form>s Imperf (VPresPart (APl Indef))</form></td>
</tr>
<tr>
<th>членувано</th>
<td><form>s Imperf (VPresPart (APl Def))</form></td>
</tr>
</table>
<h2>Свършен вид</h2>
<h3>Изявително наклонение</h3>
<h4>Сегашно време</h4>
<table class="forms-table" rules="all">
<tr>
<th></th>
<th>ед.ч.</th>
<th>мн.ч.</th>
</tr>
<tr>
<th>1 л.</th>
<td><form>s Perf (VPres Sg P1)</form></td>
<td><form>s Perf (VPres Pl P1)</form></td>
</tr>
<tr>
<th>2 л.</th>
<td><form>s Perf (VPres Sg P2)</form></td>
<td><form>s Perf (VPres Pl P2)</form></td>
</tr>
<tr>
<th>3 л.</th>
<td><form>s Perf (VPres Sg P3)</form></td>
<td><form>s Perf (VPres Pl P3)</form></td>
</tr>
</table>
<h4>Минало свършено време (аорист)</h4>
<table class="forms-table" rules="all">
<tr>
<th></th>
<th>ед.ч.</th>
<th>мн.ч.</th>
</tr>
<tr>
<th>1 л.</th>
<td><form>s Perf (VAorist Sg P1)</form></td>
<td><form>s Perf (VAorist Pl P1)</form></td>
</tr>
<tr>
<th>2 л.</th>
<td><form>s Perf (VAorist Sg P2)</form></td>
<td><form>s Perf (VAorist Pl P2)</form></td>
</tr>
<tr>
<th>3 л.</th>
<td><form>s Perf (VAorist Sg P3)</form></td>
<td><form>s Perf (VAorist Pl P3)</form></td>
</tr>
</table>
<h4>Минало несвършено време (имперфект)</h4>
<table class="forms-table" rules="all">
<tr>
<th></th>
<th>ед.ч.</th>
<th>мн.ч.</th>
</tr>
<tr>
<th>1 л.</th>
<td><form>s Perf (VImperfect Sg P1)</form></td>
<td><form>s Perf (VImperfect Pl P1)</form></td>
</tr>
<tr>
<th>2 л.</th>
<td><form>s Perf (VImperfect Sg P2)</form></td>
<td><form>s Perf (VImperfect Pl P2)</form></td>
</tr>
<tr>
<th>3 л.</th>
<td><form>s Perf (VImperfect Sg P3)</form></td>
<td><form>s Perf (VImperfect Pl P3)</form></td>
</tr>
</table>
<h3>Повелително наклонение</h3>
<table class="forms-table" rules="all">
<tr>
<th>ед.ч.</th>
<th>мн.ч.</th>
</tr>
<tr>
<td><form>s Perf (VImperative Sg)</form></td>
<td><form>s Perf (VImperative Pl)</form></td>
</tr>
</table>
<h3>Причастия (отглаголни прилагателни)</h3>
<h4>Минало свършено деятелно причастие</h4>
<table class="forms-table" rules="all">
<tr>
<th rowspan="7">ед.ч.</th>
<th rowspan="3">м.р.</th>
<th>нечленувано</th>
<td><form>s Perf (VPerfect (ASg Masc Indef))</form></td>
</tr>
<tr>
<th>непълен член</th>
<td><form>s Perf (VPerfect (ASg Masc Def))</form></td>
</tr>
<tr>
<th>пълен член</th>
<td><form>s Perf (VPerfect ASgMascDefNom)</form></td>
</tr>
<tr>
<th rowspan="2">ж.р.</th>
<th>нечленувано</th>
<td><form>s Perf (VPerfect (ASg Fem Indef))</form></td>
</tr>
<tr>
<th>членувано</th>
<td><form>s Perf (VPerfect (ASg Fem Def))</form></td>
</tr>
<tr>
<th rowspan="2">ср.р.</th>
<th>нечленувано</th>
<td><form>s Perf (VPerfect (ASg Neut Indef))</form></td>
</tr>
<tr>
<th>членувано</th>
<td><form>s Perf (VPerfect (ASg Neut Def))</form></td>
</tr>
<tr>
<th rowspan="2" colspan="2">мн.ч.</th>
<th>нечленувано</th>
<td><form>s Perf (VPerfect (APl Indef))</form></td>
</tr>
<tr>
<th>членувано</th>
<td><form>s Perf (VPerfect (APl Def))</form></td>
</tr>
</table>
<h4>Минало несвършено деятелно причастие</h4>
<table class="forms-table" rules="all">
<tr>
<th rowspan="7">ед.ч.</th>
<th rowspan="3">м.р.</th>
<th>нечленувано</th>
<td><form>s Perf (VPluPerfect (ASg Masc Indef))</form></td>
</tr>
<tr>
<th>непълен член</th>
<td><form>s Perf (VPluPerfect (ASg Masc Def))</form></td>
</tr>
<tr>
<th>пълен член</th>
<td><form>s Perf (VPluPerfect ASgMascDefNom)</form></td>
</tr>
<tr>
<th rowspan="2">ж.р.</th>
<th>нечленувано</th>
<td><form>s Perf (VPluPerfect (ASg Fem Indef))</form></td>
</tr>
<tr>
<th>членувано</th>
<td><form>s Perf (VPluPerfect (ASg Fem Def))</form></td>
</tr>
<tr>
<th rowspan="2">ср.р.</th>
<th>нечленувано</th>
<td><form>s Perf (VPluPerfect (ASg Neut Indef))</form></td>
</tr>
<tr>
<th>членувано</th>
<td><form>s Perf (VPluPerfect (ASg Neut Def))</form></td>
</tr>
<tr>
<th rowspan="2" colspan="2">мн.ч.</th>
<th>нечленувано</th>
<td><form>s Perf (VPluPerfect (APl Indef))</form></td>
</tr>
<tr>
<th>членувано</th>
<td><form>s Perf (VPluPerfect (APl Def))</form></td>
</tr>
</table>
<h1>Отглаголно съществително</h1>
<table class="forms-table" rules="all">
<tr>
<th rowspan="2">ед.ч.</th>
<th>нечленувано</th>
<td><form>s Imperf (VNoun (NF Sg Indef))</form></td>
</tr>
<tr>
<th>членувано</th>
<td><form>s Imperf (VNoun (NF Sg Def))</form></td>
</tr>
<tr>
<th rowspan="2">мн.ч.</th>
<th>нечленувано</th>
<td><form>s Imperf (VNoun (NF Pl Indef))</form></td>
</tr>
<tr>
<th>членувано</th>
<td><form>s Imperf (VNoun (NF Pl Def))</form></td>
</tr>
</table>
<h1>Деепричастие (отглаголно наречие)</h1>
<p><form>s Imperf VGerund</form></p>
</template>
</inflection>
</inflection_template>

View File

@@ -1,99 +0,0 @@
<inflection_template>
<inflection>
<cat>N</cat>
<cat>N2</cat>
<tag>n</tag>
<template>
<h1>Noun</h1>
<table class="forms-table" rules="all">
<tr>
<th>s</th>
<td><form>s</form></td>
</tr>
<tr>
<th>c</th>
<td><form>c</form></td>
</tr>
</table>
</template>
</inflection>
<inflection>
<cat>A</cat>
<cat>A2</cat>
<tag>a</tag>
<template>
<h1>Adjective</h1>
<table class="forms-table" rules="all">
<tr>
<th>s</th>
<td><form>s</form></td>
</tr>
</table>
</template>
</inflection>
<inflection>
<cat>Adv</cat>
<tag>adv</tag>
<template>
<h1>Adverb</h1>
<p><form>s</form></p>
</template>
</inflection>
<inflection>
<cat>Prep</cat>
<tag>prep</tag>
<template>
<h1>Preposition</h1>
<p><form>prepPre</form> - <form>prepPost</form></p>
</template>
</inflection>
<inflection>
<cat>V</cat>
<cat>V2</cat>
<cat>V3</cat>
<cat>V2V</cat>
<cat>V2S</cat>
<cat>V2Q</cat>
<cat>V2A</cat>
<cat>VV</cat>
<cat>VS</cat>
<cat>VQ</cat>
<cat>VA</cat>
<tag>v</tag>
<template>
<h1>Verb</h1>
<table class="forms-table" rules="all">
<tr>
<th>s</th>
<td><form>s</form></td>
</tr>
<tr>
<th>dp</th>
<td><form>dp</form></td>
</tr>
<tr>
<th>ds</th>
<td><form>ds</form></td>
</tr>
<tr>
<th>ep</th>
<td><form>ep</form></td>
</tr>
<tr>
<th>neg</th>
<td><form>neg</form></td>
</tr>
<tr>
<th>pp</th>
<td><form>pp</form></td>
</tr>
<tr>
<th>sn</th>
<td><form>sn</form></td>
</tr>
</table>
</template>
</inflection>
</inflection_template>

View File

@@ -1,146 +0,0 @@
<inflection_template>
<inflection>
<cat>N</cat>
<cat>N2</cat>
<tag>n</tag>
<template>
<h1>Noun <lin>Feat<cat/>(<lemma/>)</lin></h1>
<table class="forms-table" rules="all">
<tr>
<th></th>
<th>nom</th>
<th>gen</th>
</tr>
<tr>
<th>sg</th>
<td><form>s Sg Nom</form></td>
<td><form>s Sg Gen</form></td>
</tr>
<tr>
<th>pl</th>
<td><form>s Pl Nom</form></td>
<td><form>s Pl Gen</form></td>
</tr>
</table>
</template>
</inflection>
<inflection>
<cat>A</cat>
<cat>A2</cat>
<tag>a</tag>
<template>
<h1>Adjective</h1>
<table class="forms-table" rules="all">
<tr>
<th></th>
<th>nom</th>
<th>gen</th>
</tr>
<tr>
<th>posit</th>
<td><form>s (AAdj Posit Nom)</form></td>
<td><form>s (AAdj Posit Gen)</form></td>
</tr>
<tr>
<th>compar</th>
<td><form>s (AAdj Compar Nom)</form></td>
<td><form>s (AAdj Compar Gen)</form></td>
</tr>
<tr>
<th>superl</th>
<td><form>s (AAdj Superl Nom)</form></td>
<td><form>s (AAdj Superl Gen)</form></td>
</tr>
</table>
<h1>Adverb</h1>
<p><form>s AAdv</form></p>
</template>
</inflection>
<inflection>
<cat>Adv</cat>
<tag>adv</tag>
<template>
<h1>Adverb</h1>
<p><form>s</form></p>
</template>
</inflection>
<inflection>
<cat>Prep</cat>
<tag>prep</tag>
<template>
<h1>Preposition</h1>
<p><form>s</form></p>
</template>
</inflection>
<inflection>
<cat>V</cat>
<cat>V2</cat>
<cat>V3</cat>
<cat>V2V</cat>
<cat>V2S</cat>
<cat>V2Q</cat>
<cat>V2A</cat>
<cat>VS</cat>
<cat>VQ</cat>
<cat>VA</cat>
<tag>v</tag>
<template>
<h1>Verb</h1>
<p><lin>Feat<cat/> (<lemma/>)</lin></p>
<table class="forms-table" rules="all">
<tr>
<th>infitive</th>
<td><form>s VInf</form></td>
</tr>
<tr>
<th>present</th>
<td><form>s VPres</form></td>
</tr>
<tr>
<th>past</th>
<td><form>s VPast</form></td>
</tr>
<tr>
<th>past part.</th>
<td><form>s VPPart</form></td>
</tr>
<tr>
<th>present part.</th>
<td><form>s VPresPart</form></td>
</tr>
</table>
</template>
</inflection>
<inflection>
<cat>VV</cat>
<tag>v</tag>
<template>
<h1>Verb</h1>
<p><lin>Feat<cat/> (<lemma/>)</lin></p>
<table class="forms-table" rules="all">
<tr>
<th>infitive</th>
<td><form>s (VVF VInf)</form></td>
</tr>
<tr>
<th>present</th>
<td><form>s (VVF VPres)</form>&#160;<form>s VVPresNeg</form></td>
</tr>
<tr>
<th>past</th>
<td><form>s (VVF VPast)</form>&#160;<form>s VVPastNeg</form></td>
</tr>
<tr>
<th>past part.</th>
<td><form>s (VVF VPPart)</form></td>
</tr>
<tr>
<th>present part.</th>
<td><form>s (VVF VPresPart)</form></td>
</tr>
</table>
</template>
</inflection>
</inflection_template>

View File

@@ -1,540 +0,0 @@
<inflection_template>
<inflection>
<cat>N</cat>
<cat>N2</cat>
<tag>s</tag>
<template>
<h1>Substantiivi</h1>
<table class="forms-table" rules="all" border="yes">
<tr>
<th></th>
<th>yksikkö</th>
<th>monikko</th>
</tr>
<tr>
<th>nominatiivi</th>
<td><lin form="s (NCase Sg Nom)">DisplayN(<lemma/>)</lin></td>
<td><lin form="s (NCase Pl Nom)">DisplayN(<lemma/>)</lin></td>
</tr>
<tr>
<th>genetiivi</th>
<td><lin form="s (NCase Sg Gen)">DisplayN(<lemma/>)</lin></td>
<td><lin form="s (NCase Pl Gen)">DisplayN(<lemma/>)</lin></td>
</tr>
<tr>
<th>partitiivi</th>
<td><lin form="s (NCase Sg Part)">DisplayN(<lemma/>)</lin></td>
<td><lin form="s (NCase Pl Part)">DisplayN(<lemma/>)</lin></td>
</tr>
<tr>
<th>translatiivi</th>
<td><lin form="s (NCase Sg Transl)">DisplayN(<lemma/>)</lin></td>
<td><lin form="s (NCase Pl Transl)">DisplayN(<lemma/>)</lin></td>
</tr>
<tr>
<th>essiivi</th>
<td><lin form="s (NCase Sg Ess)">DisplayN(<lemma/>)</lin></td>
<td><lin form="s (NCase Pl Ess)">DisplayN(<lemma/>)</lin></td>
</tr>
<tr>
<th>inessiivi</th>
<td><lin form="s (NCase Sg Iness)">DisplayN(<lemma/>)</lin></td>
<td><lin form="s (NCase Pl Iness)">DisplayN(<lemma/>)</lin></td>
</tr>
<tr>
<th>elatiivi</th>
<td><lin form="s (NCase Sg Elat)">DisplayN(<lemma/>)</lin></td>
<td><lin form="s (NCase Pl Elat)">DisplayN(<lemma/>)</lin></td>
</tr>
<tr>
<th>illatiivi</th>
<td><lin form="s (NCase Sg Illat)">DisplayN(<lemma/>)</lin></td>
<td><lin form="s (NCase Pl Illat)">DisplayN(<lemma/>)</lin></td>
</tr>
<tr>
<th>adessiivi</th>
<td><lin form="s (NCase Sg Adess)">DisplayN(<lemma/>)</lin></td>
<td><lin form="s (NCase Pl Adess)">DisplayN(<lemma/>)</lin></td>
</tr>
<tr>
<th>ablatiivi</th>
<td><lin form="s (NCase Sg Ablat)">DisplayN(<lemma/>)</lin></td>
<td><lin form="s (NCase Pl Ablat)">DisplayN(<lemma/>)</lin></td>
</tr>
<tr>
<th>allatiivi</th>
<td><lin form="s (NCase Sg Allat)">DisplayN(<lemma/>)</lin></td>
<td><lin form="s (NCase Pl Allat)">DisplayN(<lemma/>)</lin></td>
</tr>
<tr>
<th>abessiivi</th>
<td><lin form="s (NCase Sg Abess)">DisplayN(<lemma/>)</lin></td>
<td><lin form="s (NCase Pl Abess)">DisplayN(<lemma/>)</lin></td>
</tr>
<tr>
<th>komitatiivi</th>
<td colspan="2"><lin form="s NComit">DisplayN(<lemma/>)</lin></td>
</tr>
<tr>
<th>instruktiivi</th>
<td colspan="2"><lin form="s NInstruct">DisplayN(<lemma/>)</lin></td>
</tr>
</table>
</template>
</inflection>
<inflection>
<cat>A</cat>
<cat>A2</cat>
<tag>a</tag>
<template>
<h1>Adjektiivi</h1>
<h2>Positiivi</h2>
<table class="forms-table" rules="all" border="yes">
<tr>
<th></th>
<th>yksikkö</th>
<th>monikko</th>
</tr>
<tr>
<th>nominatiivi</th>
<td><lin form="s Posit (NCase Sg Nom)">DisplayA(<lemma/>)</lin></td>
<td><lin form="s Posit (NCase Pl Nom)">DisplayA(<lemma/>)</lin></td>
</tr>
<tr>
<th>genetiivi</th>
<td><lin form="s Posit (NCase Sg Gen)">DisplayA(<lemma/>)</lin></td>
<td><lin form="s Posit (NCase Pl Gen)">DisplayA(<lemma/>)</lin></td>
</tr>
<tr>
<th>partitiivi</th>
<td><lin form="s Posit (NCase Sg Part)">DisplayA(<lemma/>)</lin></td>
<td><lin form="s Posit (NCase Pl Part)">DisplayA(<lemma/>)</lin></td>
</tr>
<tr>
<th>translatiivi</th>
<td><lin form="s Posit (NCase Sg Transl)">DisplayA(<lemma/>)</lin></td>
<td><lin form="s Posit (NCase Pl Transl)">DisplayA(<lemma/>)</lin></td>
</tr>
<tr>
<th>essiivi</th>
<td><lin form="s Posit (NCase Sg Ess)">DisplayA(<lemma/>)</lin></td>
<td><lin form="s Posit (NCase Pl Ess)">DisplayA(<lemma/>)</lin></td>
</tr>
<tr>
<th>inessiivi</th>
<td><lin form="s Posit (NCase Sg Iness)">DisplayA(<lemma/>)</lin></td>
<td><lin form="s Posit (NCase Pl Iness)">DisplayA(<lemma/>)</lin></td>
</tr>
<tr>
<th>elatiivi</th>
<td><lin form="s Posit (NCase Sg Elat)">DisplayA(<lemma/>)</lin></td>
<td><lin form="s Posit (NCase Pl Elat)">DisplayA(<lemma/>)</lin></td>
</tr>
<tr>
<th>illatiivi</th>
<td><lin form="s Posit (NCase Sg Illat)">DisplayA(<lemma/>)</lin></td>
<td><lin form="s Posit (NCase Pl Illat)">DisplayA(<lemma/>)</lin></td>
</tr>
<tr>
<th>adessiivi</th>
<td><lin form="s Posit (NCase Sg Adess)">DisplayA(<lemma/>)</lin></td>
<td><lin form="s Posit (NCase Pl Adess)">DisplayA(<lemma/>)</lin></td>
</tr>
<tr>
<th>ablatiivi</th>
<td><lin form="s Posit (NCase Sg Ablat)">DisplayA(<lemma/>)</lin></td>
<td><lin form="s Posit (NCase Pl Ablat)">DisplayA(<lemma/>)</lin></td>
</tr>
<tr>
<th>allatiivi</th>
<td><lin form="s Posit (NCase Sg Allat)">DisplayA(<lemma/>)</lin></td>
<td><lin form="s Posit (NCase Pl Allat)">DisplayA(<lemma/>)</lin></td>
</tr>
<tr>
<th>abessiivi</th>
<td><lin form="s Posit (NCase Sg Abess)">DisplayA(<lemma/>)</lin></td>
<td><lin form="s Posit (NCase Pl Abess)">DisplayA(<lemma/>)</lin></td>
</tr>
<tr>
<th>komitatiivi</th>
<td colspan="2"><lin form="s Posit NComit">DisplayA(<lemma/>)</lin></td>
</tr>
<tr>
<th>instruktiivi</th>
<td colspan="2"><lin form="s Posit NInstruct">DisplayA(<lemma/>)</lin></td>
</tr>
</table>
<h2>Komparatiivi</h2>
<table class="forms-table" rules="all" border="yes">
<tr>
<th></th>
<th>yksikkö</th>
<th>monikko</th>
</tr>
<tr>
<th>nominatiivi</th>
<td><lin form="s Compar (NCase Sg Nom)">DisplayA(<lemma/>)</lin></td>
<td><lin form="s Compar (NCase Pl Nom)">DisplayA(<lemma/>)</lin></td>
</tr>
<tr>
<th>genetiivi</th>
<td><lin form="s Compar (NCase Sg Gen)">DisplayA(<lemma/>)</lin></td>
<td><lin form="s Compar (NCase Pl Gen)">DisplayA(<lemma/>)</lin></td>
</tr>
<tr>
<th>partitiivi</th>
<td><lin form="s Compar (NCase Sg Part)">DisplayA(<lemma/>)</lin></td>
<td><lin form="s Compar (NCase Pl Part)">DisplayA(<lemma/>)</lin></td>
</tr>
<tr>
<th>translatiivi</th>
<td><lin form="s Compar (NCase Sg Transl)">DisplayA(<lemma/>)</lin></td>
<td><lin form="s Compar (NCase Pl Transl)">DisplayA(<lemma/>)</lin></td>
</tr>
<tr>
<th>essiivi</th>
<td><lin form="s Compar (NCase Sg Ess)">DisplayA(<lemma/>)</lin></td>
<td><lin form="s Compar (NCase Pl Ess)">DisplayA(<lemma/>)</lin></td>
</tr>
<tr>
<th>inessiivi</th>
<td><lin form="s Compar (NCase Sg Iness)">DisplayA(<lemma/>)</lin></td>
<td><lin form="s Compar (NCase Pl Iness)">DisplayA(<lemma/>)</lin></td>
</tr>
<tr>
<th>elatiivi</th>
<td><lin form="s Compar (NCase Sg Elat)">DisplayA(<lemma/>)</lin></td>
<td><lin form="s Compar (NCase Pl Elat)">DisplayA(<lemma/>)</lin></td>
</tr>
<tr>
<th>illatiivi</th>
<td><lin form="s Compar (NCase Sg Illat)">DisplayA(<lemma/>)</lin></td>
<td><lin form="s Compar (NCase Pl Illat)">DisplayA(<lemma/>)</lin></td>
</tr>
<tr>
<th>adessiivi</th>
<td><lin form="s Compar (NCase Sg Adess)">DisplayA(<lemma/>)</lin></td>
<td><lin form="s Compar (NCase Pl Adess)">DisplayA(<lemma/>)</lin></td>
</tr>
<tr>
<th>ablatiivi</th>
<td><lin form="s Compar (NCase Sg Ablat)">DisplayA(<lemma/>)</lin></td>
<td><lin form="s Compar (NCase Pl Ablat)">DisplayA(<lemma/>)</lin></td>
</tr>
<tr>
<th>allatiivi</th>
<td><lin form="s Compar (NCase Sg Allat)">DisplayA(<lemma/>)</lin></td>
<td><lin form="s Compar (NCase Pl Allat)">DisplayA(<lemma/>)</lin></td>
</tr>
<tr>
<th>abessiivi</th>
<td><lin form="s Compar (NCase Sg Abess)">DisplayA(<lemma/>)</lin></td>
<td><lin form="s Compar (NCase Pl Abess)">DisplayA(<lemma/>)</lin></td>
</tr>
<tr>
<th>komitatiivi</th>
<td colspan="2"><lin form="s Compar NComit">DisplayA(<lemma/>)</lin></td>
</tr>
<tr>
<th>instruktiivi</th>
<td colspan="2"><lin form="s Compar NInstruct">DisplayA(<lemma/>)</lin></td>
</tr>
</table>
<h2>Superlatiivi</h2>
<table class="forms-table" rules="all" border="yes">
<tr>
<th></th>
<th>yksikkö</th>
<th>monikko</th>
</tr>
<tr>
<th>nominatiivi</th>
<td><lin form="s Superl (NCase Sg Nom)">DisplayA(<lemma/>)</lin></td>
<td><lin form="s Superl (NCase Pl Nom)">DisplayA(<lemma/>)</lin></td>
</tr>
<tr>
<th>genetiivi</th>
<td><lin form="s Superl (NCase Sg Gen)">DisplayA(<lemma/>)</lin></td>
<td><lin form="s Superl (NCase Pl Gen)">DisplayA(<lemma/>)</lin></td>
</tr>
<tr>
<th>partitiivi</th>
<td><lin form="s Superl (NCase Sg Part)">DisplayA(<lemma/>)</lin></td>
<td><lin form="s Superl (NCase Pl Part)">DisplayA(<lemma/>)</lin></td>
</tr>
<tr>
<th>translatiivi</th>
<td><lin form="s Superl (NCase Sg Transl)">DisplayA(<lemma/>)</lin></td>
<td><lin form="s Superl (NCase Pl Transl)">DisplayA(<lemma/>)</lin></td>
</tr>
<tr>
<th>essiivi</th>
<td><lin form="s Superl (NCase Sg Ess)">DisplayA(<lemma/>)</lin></td>
<td><lin form="s Superl (NCase Pl Ess)">DisplayA(<lemma/>)</lin></td>
</tr>
<tr>
<th>inessiivi</th>
<td><lin form="s Superl (NCase Sg Iness)">DisplayA(<lemma/>)</lin></td>
<td><lin form="s Superl (NCase Pl Iness)">DisplayA(<lemma/>)</lin></td>
</tr>
<tr>
<th>elatiivi</th>
<td><lin form="s Superl (NCase Sg Elat)">DisplayA(<lemma/>)</lin></td>
<td><lin form="s Superl (NCase Pl Elat)">DisplayA(<lemma/>)</lin></td>
</tr>
<tr>
<th>illatiivi</th>
<td><lin form="s Superl (NCase Sg Illat)">DisplayA(<lemma/>)</lin></td>
<td><lin form="s Superl (NCase Pl Illat)">DisplayA(<lemma/>)</lin></td>
</tr>
<tr>
<th>adessiivi</th>
<td><lin form="s Superl (NCase Sg Adess)">DisplayA(<lemma/>)</lin></td>
<td><lin form="s Superl (NCase Pl Adess)">DisplayA(<lemma/>)</lin></td>
</tr>
<tr>
<th>ablatiivi</th>
<td><lin form="s Superl (NCase Sg Ablat)">DisplayA(<lemma/>)</lin></td>
<td><lin form="s Superl (NCase Pl Ablat)">DisplayA(<lemma/>)</lin></td>
</tr>
<tr>
<th>allatiivi</th>
<td><lin form="s Superl (NCase Sg Allat)">DisplayA(<lemma/>)</lin></td>
<td><lin form="s Superl (NCase Pl Allat)">DisplayA(<lemma/>)</lin></td>
</tr>
<tr>
<th>abessiivi</th>
<td><lin form="s Superl (NCase Sg Abess)">DisplayA(<lemma/>)</lin></td>
<td><lin form="s Superl (NCase Pl Abess)">DisplayA(<lemma/>)</lin></td>
</tr>
<tr>
<th>komitatiivi</th>
<td colspan="2"><lin form="s Superl NComit">DisplayA(<lemma/>)</lin></td>
</tr>
<tr>
<th>instruktiivi</th>
<td colspan="2"><lin form="s Superl NInstruct">DisplayA(<lemma/>)</lin></td>
</tr>
</table>
</template>
</inflection>
<inflection>
<cat>Adv</cat>
<tag>adv</tag>
<template>
<h1>Adverbi</h1>
</template>
</inflection>
<inflection>
<cat>Prep</cat>
<tag>prep</tag>
<template>
<h1>Prepositio</h1>
</template>
</inflection>
<inflection>
<cat>V</cat>
<cat>V2</cat>
<cat>V3</cat>
<cat>V2V</cat>
<cat>V2S</cat>
<cat>V2Q</cat>
<cat>V2A</cat>
<cat>VS</cat>
<cat>VQ</cat>
<cat>VA</cat>
<tag>v</tag>
<template>
<h1>Verbi</h1>
<h2>Finiittimuodot</h2>
<table class="forms-table" rules="all" border="yes">
<tr>
<th colspan="2">aktiivi</th>
<th>preesens</th>
<th>imperfekti</th>
<th>konditionaali</th>
<th>potentiaali</th>
<th>imperatiivi</th>
</tr>
<tr>
<th rowspan="3">yksikkö</th>
<th>1. p.</th>
<td><lin form="s (Presn Sg P1)">DisplayV(<lemma/>)</lin></td>
<td><lin form="s (Impf Sg P1)">DisplayV(<lemma/>)</lin></td>
<td><lin form="s (Condit Sg P1)">DisplayV(<lemma/>)</lin></td>
<td><lin form="s (Potent Sg P1)">DisplayV(<lemma/>)</lin></td>
<td>-</td>
</tr>
<tr>
<th>2. p.</th>
<td><lin form="s (Presn Sg P2)">DisplayV(<lemma/>)</lin></td>
<td><lin form="s (Impf Sg P2)">DisplayV(<lemma/>)</lin></td>
<td><lin form="s (Condit Sg P2)">DisplayV(<lemma/>)</lin></td>
<td><lin form="s (Potent Sg P2)">DisplayV(<lemma/>)</lin></td>
<td><lin form="s (Imper Sg)">DisplayV(<lemma/>)</lin></td>
</tr>
<tr>
<th>3. p.</th>
<td><lin form="s (Presn Sg P3)">DisplayV(<lemma/>)</lin></td>
<td><lin form="s (Impf Sg P3)">DisplayV(<lemma/>)</lin></td>
<td><lin form="s (Condit Sg P3)">DisplayV(<lemma/>)</lin></td>
<td><lin form="s (Potent Sg P3)">DisplayV(<lemma/>)</lin></td>
<td><lin form="s (ImperP3 Sg)">DisplayV(<lemma/>)</lin></td>
</tr>
<tr>
<th rowspan="4">monikko</th>
<th>1. p.</th>
<td><lin form="s (Presn Pl P1)">DisplayV(<lemma/>)</lin></td>
<td><lin form="s (Impf Pl P1)">DisplayV(<lemma/>)</lin></td>
<td><lin form="s (Condit Pl P1)">DisplayV(<lemma/>)</lin></td>
<td><lin form="s (Potent Pl P1)">DisplayV(<lemma/>)</lin></td>
<td><lin form="s ImperP1Pl">DisplayV(<lemma/>)</lin></td>
</tr>
<tr>
<th>2. p.</th>
<td><lin form="s (Presn Pl P2)">DisplayV(<lemma/>)</lin></td>
<td><lin form="s (Impf Pl P2)">DisplayV(<lemma/>)</lin></td>
<td><lin form="s (Condit Pl P2)">DisplayV(<lemma/>)</lin></td>
<td><lin form="s (Potent Pl P2)">DisplayV(<lemma/>)</lin></td>
<td><lin form="s (Imper Pl)">DisplayV(<lemma/>)</lin></td>
</tr>
<tr>
<th>3. p.</th>
<td><lin form="s (Presn Pl P3)">DisplayV(<lemma/>)</lin></td>
<td><lin form="s (Impf Pl P3)">DisplayV(<lemma/>)</lin></td>
<td><lin form="s (Condit Pl P3)">DisplayV(<lemma/>)</lin></td>
<td><lin form="s (Potent Pl P3)">DisplayV(<lemma/>)</lin></td>
<td><lin form="s (ImperP3 Pl)">DisplayV(<lemma/>)</lin></td>
</tr>
<tr>
<th>kielt.</th>
<td><lin form="s (Imper Sg)">DisplayV(<lemma/>)</lin></td>
<td><lin form="s (PastPartAct (AN (NCase Pl Nom)))">DisplayV(<lemma/>)</lin></td>
<td><lin form="s (Condit Sg P3)">DisplayV(<lemma/>)</lin></td>
<td><lin form="s PotentNeg">DisplayV(<lemma/>)</lin></td>
<td><lin form="s ImpNegPl">DisplayV(<lemma/>)</lin></td>
</tr>
<tr>
<th rowspan="2">passiivi</th>
<th>myönt.</th>
<td><lin form="s (PassPresn True)">DisplayV(<lemma/>)</lin></td>
<td><lin form="s (PassImpf True)">DisplayV(<lemma/>)</lin></td>
<td><lin form="s (PassCondit True)">DisplayV(<lemma/>)</lin></td>
<td><lin form="s (PassPotent True)">DisplayV(<lemma/>)</lin></td>
<td><lin form="s (PassImper True)">DisplayV(<lemma/>)</lin></td>
</tr>
<tr>
<th>kielt.</th>
<td><lin form="s (PassPresn False)">DisplayV(<lemma/>)</lin></td>
<td><lin form="s (PassImpf False)">DisplayV(<lemma/>)</lin></td>
<td><lin form="s (PassCondit False)">DisplayV(<lemma/>)</lin></td>
<td><lin form="s (PassPotent False)">DisplayV(<lemma/>)</lin></td>
<td><lin form="s (PassImper False)">DisplayV(<lemma/>)</lin></td>
</tr>
</table>
<h2>Nominaalimuodot</h2>
<table class="forms-table" rules="all" border="yes">
<tr>
<th rowspan="15">infinitiivi</th>
<th rowspan="2">1.</th>
<th>lyhyt</th>
<td><lin form="s (Inf Inf1)">DisplayV(<lemma/>)</lin></td>
</tr>
<tr>
<th>pitkä</th>
<td><lin form="s (Inf Inf1Long)">DisplayV(<lemma/>)</lin>ni</td>
</tr>
<tr>
<th rowspan="2">2. aktiivi</th>
<th>inessiivi</th>
<td><lin form="s (Inf Inf2Iness)">DisplayV(<lemma/>)</lin></td>
</tr>
<tr>
<th>instruktiivi</th>
<td><lin form="s (Inf Inf2Instr)">DisplayV(<lemma/>)</lin></td>
</tr>
<tr>
<th rowspan="1">2. passiivi</th>
<th>inessiivi</th>
<td><lin form="s (Inf Inf2InessPass)">DisplayV(<lemma/>)</lin></td>
</tr>
<tr>
<th rowspan="7">3.</th>
<th>inessiivi</th>
<td><lin form="s (Inf Inf3Iness)">DisplayV(<lemma/>)</lin></td>
</tr>
<tr>
<th>elatiivi</th>
<td><lin form="s (Inf Inf3Elat)">DisplayV(<lemma/>)</lin></td>
</tr>
<tr>
<th>illatiivi</th>
<td><lin form="s (Inf Inf3Illat)">DisplayV(<lemma/>)</lin></td>
</tr>
<tr>
<th>adessiivi</th>
<td><lin form="s (Inf Inf3Adess)">DisplayV(<lemma/>)</lin></td>
</tr>
<tr>
<th>abessiivi</th>
<td><lin form="s (Inf Inf3Abess)">DisplayV(<lemma/>)</lin></td>
</tr>
<tr>
<th>instruktiivi</th>
<td><lin form="s (Inf Inf3Instr)">DisplayV(<lemma/>)</lin></td>
</tr>
<tr>
<th>instr. passiivi</th>
<td><lin form="s (Inf Inf3InstrPass)">DisplayV(<lemma/>)</lin></td>
</tr>
<tr>
<th rowspan="2">4.</th>
<th>nominatiivi</th>
<td><lin form="s (Inf Inf4Nom)">DisplayV(<lemma/>)</lin></td>
</tr>
<tr>
<th>partitiivi</th>
<td><lin form="s (Inf Inf4Part)">DisplayV(<lemma/>)</lin></td>
</tr>
<tr>
<th colspan="2">5.</th>
<td><lin form="s (Inf Inf5)">DisplayV(<lemma/>)</lin>ni</td>
</tr>
<tr>
<th rowspan="5">partisiippi</th>
<th rowspan="2">preesens</th>
<th>aktiivi</th>
<td><lin form="s (PresPartAct (AN (NCase Sg Nom)))">DisplayV(<lemma/>)</lin></td>
</tr>
<tr>
<th>passiivi</th>
<td><lin form="s (PresPartPass (AN (NCase Sg Nom)))">DisplayV(<lemma/>)</lin></td>
</tr>
<tr>
<th rowspan="2">perfekti</th>
<th>aktiivi</th>
<td><lin form="s (PastPartAct (AN (NCase Sg Nom)))">DisplayV(<lemma/>)</lin></td>
</tr>
<tr>
<th>passiivi</th>
<td><lin form="s (PastPartPass (AN (NCase Sg Nom)))">DisplayV(<lemma/>)</lin></td>
</tr>
<tr>
<th rowspan="1" colspan="2">agentti</th>
<td><lin form="s (AgentPart (AN (NCase Sg Nom)))">DisplayV(<lemma/>)</lin></td>
</tr>
</table>
</template>
</inflection>
</inflection_template>

View File

@@ -1,242 +0,0 @@
<inflection_template>
<inflection>
<cat>N</cat>
<cat>N2</cat>
<tag>n</tag>
<template>
<h1>Nom</h1>
<i><lin form="s Nom ton">DetCN (DetQuant IndefArt NumSg) (UseN (<lemma/>))</lin></i>
<p>
<table class="forms-table" rules="all" border="yes">
<tr>
<th>singulier</th>
<td><form>s Sg</form></td>
</tr>
<tr>
<th>pluriel</th>
<td><form>s Pl</form></td>
</tr>
</table>
</p>
</template>
</inflection>
<inflection>
<cat>A</cat>
<cat>A2</cat>
<tag>a</tag>
<template>
<h1>Adjectif</h1>
<table class="forms-table" rules="all" border="yes">
<tr>
<th></th>
<th>singulier</th>
<th>pluriel</th>
</tr>
<tr>
<th>masculin</th>
<td><form>s Posit (AF Masc Sg)</form></td><td><form>s Posit (AF Masc Pl)</form></td>
</tr>
<tr>
<th>féminin</th>
<td><form>s Posit (AF Fem Sg)</form></td><td><form>s Posit (AF Fem Pl)</form></td>
</tr>
</table>
</template>
</inflection>
<inflection>
<cat>Adv</cat>
<tag>adv</tag>
<template>
<h1>Adverb</h1>
<p><form>s</form></p>
</template>
</inflection>
<inflection>
<cat>Prep</cat>
<tag>prep</tag>
<template>
<h1>Preposition</h1>
<p><form>s</form></p>
</template>
</inflection>
<inflection>
<cat>V</cat>
<cat>V2</cat>
<cat>V3</cat>
<cat>V2V</cat>
<cat>V2S</cat>
<cat>V2Q</cat>
<cat>V2A</cat>
<cat>VV</cat>
<cat>VS</cat>
<cat>VQ</cat>
<cat>VA</cat>
<tag>v</tag>
<template>
<h1>Verbe</h1>
<i><form>s (VInfin False)</form></i>
<p>
<table class="forms-table" rules="all" border="yes">
<tr>
<th colspan="2">présent</th>
<th>indicatif</th>
<th>subjonctif</th>
</tr>
<tr>
<th rowspan="3">singulier</th>
<th>1.p</th>
<td><form>s (VFin (VPres Indic) Sg P1)</form></td><td><form>s (VFin (VPres Conjunct) Sg P1)</form></td>
</tr>
<tr>
<th>2.p</th>
<td><form>s (VFin (VPres Indic) Sg P2)</form></td><td><form>s (VFin (VPres Conjunct) Sg P2)</form></td>
</tr>
<tr>
<th>3.p</th>
<td><form>s (VFin (VPres Indic) Sg P3)</form></td><td><form>s (VFin (VPres Conjunct) Sg P3)</form></td>
</tr>
<tr>
<th rowspan="3">pluriel</th>
<th>1.p</th>
<td><form>s (VFin (VPres Indic) Pl P1)</form></td><td><form>s (VFin (VPres Conjunct) Pl P1)</form></td>
</tr>
<tr>
<th>2.p</th>
<td><form>s (VFin (VPres Indic) Pl P2)</form></td><td><form>s (VFin (VPres Conjunct) Pl P2)</form></td>
</tr>
<tr>
<th>3.p</th>
<td><form>s (VFin (VPres Indic) Pl P3)</form></td><td><form>s (VFin (VPres Conjunct) Pl P3)</form></td>
</tr>
</table>
</p>
<p>
<table class="forms-table" rules="all" border="yes">
<tr>
<th colspan="2">imparfait</th>
<th>indicatif</th>
<th>subjonctif</th>
</tr>
<tr>
<th rowspan="3">singulier</th>
<th>1.p</th>
<td><form>s (VFin (VImperf Indic) Sg P1)</form></td><td><form>s (VFin (VImperf Conjunct) Sg P1)</form></td>
</tr>
<tr>
<th>2.p</th>
<td><form>s (VFin (VImperf Indic) Sg P2)</form></td><td><form>s (VFin (VImperf Conjunct) Sg P2)</form></td>
</tr>
<tr>
<th>3.p</th>
<td><form>s (VFin (VImperf Indic) Sg P3)</form></td><td><form>s (VFin (VImperf Conjunct) Sg P3)</form></td>
</tr>
<tr>
<th rowspan="3">pluriel</th>
<th>1.p</th>
<td><form>s (VFin (VImperf Indic) Pl P1)</form></td><td><form>s (VFin (VImperf Conjunct) Pl P1)</form></td>
</tr>
<tr>
<th>2.p</th>
<td><form>s (VFin (VImperf Indic) Pl P2)</form></td><td><form>s (VFin (VImperf Conjunct) Pl P2)</form></td>
</tr>
<tr>
<th>3.p</th>
<td><form>s (VFin (VImperf Indic) Pl P3)</form></td><td><form>s (VFin (VImperf Conjunct) Pl P3)</form></td>
</tr>
</table>
</p>
<p>
<table class="forms-table" rules="all" border="yes">
<tr>
<th colspan="2"></th>
<th>passé simple</th>
<th>futur</th>
<th>conditionnel</th>
</tr>
<tr>
<th rowspan="3">singulier</th>
<th>1.p</th>
<td><form>s (VFin VPasse Sg P1)</form></td><td><form>s (VFin VFut Sg P1)</form></td><td><form>s (VFin VCondit Sg P1)</form></td>
</tr>
<tr>
<th>2.p</th>
<td><form>s (VFin VPasse Sg P2)</form></td><td><form>s (VFin VFut Sg P2)</form></td><td><form>s (VFin VCondit Sg P2)</form></td>
</tr>
<tr>
<th>3.p</th>
<td><form>s (VFin VPasse Sg P3)</form></td><td><form>s (VFin VFut Sg P3)</form></td><td><form>s (VFin VCondit Sg P3)</form></td>
</tr>
<tr>
<th rowspan="3">pluriel</th>
<th>1.p</th>
<td><form>s (VFin VPasse Pl P1)</form></td><td><form>s (VFin VFut Pl P1)</form></td><td><form>s (VFin VCondit Pl P1)</form></td>
</tr>
<tr>
<th>2.p</th>
<td><form>s (VFin VPasse Pl P2)</form></td><td><form>s (VFin VFut Pl P2)</form></td><td><form>s (VFin VCondit Pl P2)</form></td>
</tr>
<tr>
<th>3.p</th>
<td><form>s (VFin VPasse Pl P3)</form></td><td><form>s (VFin VFut Pl P3)</form></td><td><form>s (VFin VCondit Pl P3)</form></td>
</tr>
</table>
</p>
<p>
<table class="forms-table" rules="all" border="yes">
<tr>
<th>infinitif</th>
<td><form>s (VInfin False)</form></td>
</tr>
<tr>
<th>impératif sing.2.p</th>
<td><form>s (VImper SgP2)</form></td>
</tr>
<tr>
<th>impératif plur.1.p</th>
<td><form>s (VImper PlP1)</form></td>
</tr>
<tr>
<th>impératif plur.2.p</th>
<td><form>s (VImper PlP2)</form></td>
</tr>
<tr>
<th>participe passé</th>
<td><form>s (VPart Masc Sg)</form></td>
</tr>
<tr>
<th>participe présent</th>
<td><form>s VGer</form></td>
</tr>
</table>
</p>
</template>
</inflection>
</inflection_template>

View File

@@ -1,248 +0,0 @@
<inflection_template>
<inflection>
<cat>N</cat>
<cat>N2</cat>
<tag>s</tag>
<template>
<h1>Substantiv <lin>Feat<cat/>(<lemma/>)</lin></h1>
<table class="forms-table" rules="all">
<tr>
<th colspan="2"></th>
<th>obest</th>
<th>best</th>
</tr>
<tr>
<th rowspan="2">nom</th>
<th>sg</th>
<td><form>s Sg Indef Nom</form></td>
<td><form>s Sg Def Nom</form></td>
</tr>
<tr>
<th>pl</th>
<td><form>s Pl Indef Nom</form></td>
<td><form>s Pl Def Nom</form></td>
</tr>
<tr>
<th rowspan="2">gen</th>
<th>sg</th>
<td><form>s Sg Indef Gen</form></td>
<td><form>s Sg Def Gen</form></td>
</tr>
<tr>
<th>pl</th>
<td><form>s Pl Indef Gen</form></td>
<td><form>s Pl Def Gen</form></td>
</tr>
</table>
</template>
</inflection>
<inflection>
<cat>A</cat>
<cat>A2</cat>
<tag>a</tag>
<template>
<h1>Adjektiv</h1>
<table class="forms-table" rules="all">
<tr>
<th colspan="5">nominativ</th>
</tr>
<tr>
<th colspan="2"></th>
<th>posit</th>
<th>kompar</th>
<th>superl</th>
</tr>
<tr>
<th rowspan="3">obest</th>
<th>utr</th>
<td><form>s (AF (APosit (Strong (GSg Utr))) Nom)</form></td>
<td rowspan="5"><form>s (AF ACompar Nom)</form></td>
<td rowspan="3"><form>s (AF (ASuperl SupStrong) Nom)</form></td>
</tr>
<tr>
<th>neut</th>
<td><form>s (AF (APosit (Strong (GSg Neutr))) Nom)</form></td>
</tr>
<tr>
<th>pl</th>
<td><form>s (AF (APosit (Strong GPl)) Nom)</form></td>
</tr>
<tr>
<th rowspan="2">best</th>
<th>sg</th>
<td><form>s (AF (APosit (Weak Sg)) Nom)</form></td>
<td rowspan="2"><form>s (AF (ASuperl SupWeak) Nom)</form></td>
</tr>
<tr>
<th>pl</th>
<td><form>s (AF (APosit (Weak Pl)) Nom)</form></td>
</tr>
<tr>
<th colspan="5">genitiv</th>
</tr>
<tr>
<th rowspan="3">obest</th>
<th>utr</th>
<td><form>s (AF (APosit (Strong (GSg Utr))) Gen)</form></td>
<td rowspan="5"><form>s (AF ACompar Gen)</form></td>
<td rowspan="3"><form>s (AF (ASuperl SupStrong) Gen)</form></td>
</tr>
<tr>
<th>neut</th>
<td><form>s (AF (APosit (Strong (GSg Neutr))) Gen)</form></td>
</tr>
<tr>
<th>pl</th>
<td><form>s (AF (APosit (Strong GPl)) Gen)</form></td>
</tr>
<tr>
<th rowspan="2">best</th>
<th>sg</th>
<td><form>s (AF (APosit (Weak Sg)) Gen)</form></td>
<td rowspan="2"><form>s (AF (ASuperl SupWeak) Gen)</form></td>
</tr>
<tr>
<th>pl</th>
<td><form>s (AF (APosit (Weak Pl)) Gen)</form></td>
</tr>
</table>
</template>
</inflection>
<inflection>
<cat>Adv</cat>
<tag>adv</tag>
<template>
<h1>Adverb</h1>
<p><form>s</form></p>
</template>
</inflection>
<inflection>
<cat>Prep</cat>
<tag>prep</tag>
<template>
<h1>Preposition</h1>
<p><form>s</form></p>
</template>
</inflection>
<inflection>
<cat>V</cat>
<cat>V2</cat>
<cat>V3</cat>
<cat>V2V</cat>
<cat>V2S</cat>
<cat>V2Q</cat>
<cat>V2A</cat>
<cat>VV</cat>
<cat>VS</cat>
<cat>VQ</cat>
<cat>VA</cat>
<tag>v</tag>
<template>
<h1>Verb</h1>
<p><lin>Feat<cat/> (<lemma/>)</lin></p>
<table class="forms-table" rules="all">
<tr>
<th></th>
<th>active</th>
<th>passive</th>
</tr>
<tr>
<th>infitiv</th>
<td><form>s (VI (VInfin Act))</form></td>
<td><form>s (VI (VInfin Pass))</form></td>
</tr>
<tr>
<th>presens</th>
<td><form>s (VF (VPres Act))</form></td>
<td><form>s (VF (VPres Pass))</form></td>
</tr>
<tr>
<th>preteritum</th>
<td><form>s (VF (VPret Act))</form></td>
<td><form>s (VF (VPret Pass))</form></td>
</tr>
<tr>
<th>supinum</th>
<td><form>s (VI (VSupin Act))</form></td>
<td><form>s (VI (VSupin Pass))</form></td>
</tr>
<tr>
<th>imperativ</th>
<td><form>s (VF (VImper Act))</form></td>
<td><form>s (VF (VImper Pass))</form></td>
</tr>
</table>
<h2>Particip Presens</h2>
<table class="forms-table" rules="all">
<tr>
<th colspan="2"></th>
<th>obest</th>
<th>best</th>
</tr>
<tr>
<th rowspan="2">nom</th>
<th>sg</th>
<td><form>s (VI (VPtPres Sg Indef Nom))</form></td>
<td><form>s (VI (VPtPres Sg Def Nom))</form></td>
</tr>
<tr>
<th>pl</th>
<td><form>s (VI (VPtPres Pl Indef Nom))</form></td>
<td><form>s (VI (VPtPres Pl Def Nom))</form></td>
</tr>
<tr>
<th rowspan="2">gen</th>
<th>sg</th>
<td><form>s (VI (VPtPres Sg Indef Gen))</form></td>
<td><form>s (VI (VPtPres Sg Def Gen))</form></td>
</tr>
<tr>
<th>pl</th>
<td><form>s (VI (VPtPres Pl Indef Gen))</form></td>
<td><form>s (VI (VPtPres Pl Def Gen))</form></td>
</tr>
</table>
<h2>Particip Perfekt</h2>
<table class="forms-table" rules="all">
<tr>
<th colspan="2"></th>
<th>nominativ</th>
<th>genitiv</th>
</tr>
<tr>
<th rowspan="3">obest</th>
<th>utr</th>
<td><form>s (VI (VPtPret (Strong (GSg Utr)) Nom))</form></td>
<td><form>s (VI (VPtPret (Strong (GSg Utr)) Gen))</form></td>
</tr>
<tr>
<th>neut</th>
<td><form>s (VI (VPtPret (Strong (GSg Neutr)) Nom))</form></td>
<td><form>s (VI (VPtPret (Strong (GSg Neutr)) Gen))</form></td>
</tr>
<tr>
<th>pl</th>
<td><form>s (VI (VPtPret (Strong GPl) Nom))</form></td>
<td><form>s (VI (VPtPret (Strong GPl) Gen))</form></td>
</tr>
<tr>
<th rowspan="2">best</th>
<th>sg</th>
<td><form>s (VI (VPtPret (Weak Sg) Nom))</form></td>
<td><form>s (VI (VPtPret (Weak Sg) Gen))</form></td>
</tr>
<tr>
<th>pl</th>
<td><form>s (VI (VPtPret (Weak Pl) Nom))</form></td>
<td><form>s (VI (VPtPret (Weak Pl) Gen))</form></td>
</tr>
</table>
</template>
</inflection>
</inflection_template>

View File

@@ -8,15 +8,13 @@ public class Language implements Serializable {
private final String mLangCode;
private final String mLangName;
private final String mConcrete;
private final int mInflResource;
private final int mKeyboardResource;
public Language(String langCode, String langName, String concrete,
int inflResource, int keyboardResource) {
int keyboardResource) {
mLangCode = langCode;
mLangName = langName;
mConcrete = concrete;
mInflResource = inflResource;
mKeyboardResource = keyboardResource;
}
@@ -27,11 +25,7 @@ public class Language implements Serializable {
public String getLangName() {
return mLangName;
}
public int getInflectionResource() {
return mInflResource;
}
public int getKeyboardResource() {
return mKeyboardResource;
}

View File

@@ -23,6 +23,9 @@ public class TTS {
// TODO: handle speak() calls before service connects
public void speak(String language, String text) {
if (mAudioManager.getRingerMode() == AudioManager.RINGER_MODE_NORMAL) {
if (language.equals("cmn-Hans-CN")) {
language = "yue";
}
Locale locale = LocaleUtils.parseJavaLocale(language.replace('-', '_'),
Locale.getDefault());

View File

@@ -26,19 +26,18 @@ public class Translator {
private static final String TAG = "Translator";
// TODO: allow changing
private String mGrammar = "Parse8.pgf";
private String mGrammar = "ParseEngAbs.pgf";
// TODO: build dynamically?
private Language[] mLanguages = {
new Language("en-US", "English", "ParseEng", R.xml.inflection_en, R.xml.qwerty),
new Language("bg-BG", "Bulgarian", "ParseBul", R.xml.inflection_bg, R.xml.cyrillic),
new Language("cmn-Hans-CN", "Chinese", "ParseChi", R.xml.inflection_cmn, R.xml.qwerty),
new Language("fi-FI", "Finnish", "ParseFin", R.xml.inflection_fi, R.xml.qwerty),
new Language("fr-FR", "French", "ParseFre", R.xml.inflection_fr, R.xml.qwerty),
new Language("de-DE", "German", "ParseGer", 0, R.xml.qwerty),
new Language("hi-IN", "Hindi", "ParseHin", 0, R.xml.qwerty), ///
new Language("sv-SE", "Swedish", "ParseSwe", R.xml.inflection_sv, R.xml.qwerty),
new Language("en-US", "English", "ParseEng", R.xml.qwerty),
new Language("bg-BG", "Bulgarian", "ParseBul", R.xml.cyrillic),
new Language("cmn-Hans-CN", "Chinese", "ParseChi", R.xml.qwerty),
new Language("fr-FR", "French", "ParseFre", R.xml.qwerty),
new Language("de-DE", "German", "ParseGer", R.xml.qwerty),
new Language("hi-IN", "Hindi", "ParseHin", R.xml.qwerty), ///
new Language("sv-SE", "Swedish", "ParseSwe", R.xml.qwerty),
new Language("fi-FI", "Finnish", "ParseFin", R.xml.qwerty),
};
private Context mContext;
@@ -254,208 +253,44 @@ public class Translator {
}
}
private String getLemmaTag(String lemma) {
String cat = getGrammar().getFunctionType(lemma).getCategory();
int res = getTargetLanguage().getInflectionResource();
if (res == 0)
return "";
XmlResourceParser parser = mContext.getResources().getXml(res);
try {
int state = 0;
int event = parser.next();
String tag = null;
boolean found = false;
while (event != XmlResourceParser.END_DOCUMENT) {
switch (event) {
case XmlResourceParser.START_TAG:
if (state == 0 && "inflection".equals(parser.getName())) {
state = 1;
tag = null;
found = false;
} else if (state == 1 && "cat".equals(parser.getName())) {
state = 2;
} else if (state == 1 && "tag".equals(parser.getName())) {
state = 3;
} else if (state == 1 && "template".equals(parser.getName())) {
state = 4;
}
break;
case XmlResourceParser.END_TAG:
if (state == 1 && "inflection".equals(parser.getName())) {
state = 0;
if (found)
return tag+".";
} else if (state == 2 && "cat".equals(parser.getName())) {
state = 1;
} else if (state == 3 && "tag".equals(parser.getName())) {
state = 1;
} else if (state == 4 && "template".equals(parser.getName())) {
state = 1;
}
break;
case XmlResourceParser.TEXT:
if (state == 2) {
if (cat.equals(parser.getText())) {
found = true;
}
} else if (state == 3) {
tag = parser.getText();
}
break;
}
event = parser.next();
}
} catch (IOException e) {
Log.e(TAG, "getLemmaTag", e);
} catch (XmlPullParserException e) {
Log.e(TAG, "getLemmaTag", e);
} finally {
parser.close();
}
return "";
}
public String generateLexiconEntry(String lemma) {
Expr e = Expr.readExpr(lemma);
Concr sourceLang = getSourceConcr();
Concr targetLang = getTargetConcr();
if (targetLang.hasLinearization(lemma))
return sourceLang.linearize(e) + " - " + getLemmaTag(lemma) + " " + targetLang.linearize(e);
else
return sourceLang.linearize(e) + " " + getLemmaTag(lemma);
String cat = getGrammar().getFunctionType(lemma).getCategory();
Expr e1 = Expr.readExpr(lemma);
Expr e2 = Expr.readExpr("MkTag (Inflection"+cat+" "+lemma+")");
if (targetLang.hasLinearization("Inflection"+cat)) {
if (targetLang.hasLinearization(lemma))
return sourceLang.linearize(e1) + " - " + targetLang.linearize(e2) + ". " + targetLang.linearize(e1);
else
return sourceLang.linearize(e1) + " " + targetLang.linearize(e2)+".";
} else {
if (targetLang.hasLinearization(lemma))
return sourceLang.linearize(e1) + " - " + targetLang.linearize(e1);
else
return sourceLang.linearize(e1);
}
}
public String getInflectionTable(String lemma) {
Concr targetLang = getTargetConcr();
String cat = getGrammar().getFunctionType(lemma).getCategory();
if (!targetLang.hasLinearization(lemma))
return null;
int res = getTargetLanguage().getInflectionResource();
if (res == 0)
return "";
if (!targetLang.hasLinearization("Inflection"+cat))
return null;
Map<String,Map<String,String>> cache = new HashMap<String,Map<String,String>>();
Expr e = Expr.readExpr("MkDocument \"\" (Inflection"+cat+" "+lemma+") \"\"");
String html =
"<html><head><meta charset=\"UTF-8\"/></head><body>" +
targetLang.linearize(e) +
"</body>";
String cat = getGrammar().getFunctionType(lemma).getCategory();
XmlResourceParser parser = mContext.getResources().getXml(res);
StringBuilder builder = new StringBuilder();
builder.append("<html><head><meta charset=\"UTF-8\"/></head><body>");
try {
int state = 0;
int event = parser.next();
boolean emit = false;
boolean form = false;
boolean lin = false;
String formName = null;
StringBuilder abstrBuilder = null;
while (event != XmlResourceParser.END_DOCUMENT) {
switch (event) {
case XmlResourceParser.START_TAG:
if (state == 0 && "inflection".equals(parser.getName())) {
state = 1;
} else if (state == 1 && "cat".equals(parser.getName())) {
state = 2;
} else if (state == 1 && "template".equals(parser.getName())) {
state = 4;
} else if (state == 4 && "form".equals(parser.getName())) {
form = true;
} else if (state == 4 && emit && "lin".equals(parser.getName())) {
lin = true;
emit = false;
abstrBuilder = new StringBuilder();
formName = parser.getAttributeValue(null, "form");
} else if (state == 4 && lin && "cat".equals(parser.getName())) {
abstrBuilder.append(cat);
} else if (state == 4 && lin && "lemma".equals(parser.getName())) {
abstrBuilder.append(lemma);
} else if (state == 4 && emit) {
builder.append("<"+parser.getName());
int n_attrs = parser.getAttributeCount();
for (int i = 0; i < n_attrs; i++) {
builder.append(' ');
builder.append(parser.getAttributeName(i));
builder.append("=\"");
builder.append(parser.getAttributeValue(i));
builder.append("\"");
}
builder.append(">");
}
break;
case XmlResourceParser.END_TAG:
if (state == 1 && "inflection".equals(parser.getName())) {
state = 0;
} else if (state == 2 && "cat".equals(parser.getName())) {
state = 1;
} else if (state == 4 && "template".equals(parser.getName())) {
state = 1;
emit = false;
} else if (state == 4 && "form".equals(parser.getName())) {
form = false;
} else if (state == 4 && lin && "lin".equals(parser.getName())) {
String s = abstrBuilder.toString();
if (formName == null) {
Expr expr = Expr.readExpr(s);
builder.append(TextUtils.htmlEncode(targetLang.linearize(expr)));
} else {
Map<String,String> elins = cache.get(s);
if (elins == null) {
Expr expr = Expr.readExpr(s);
elins = targetLang.tabularLinearize(expr);
cache.put(s, elins);
}
String elin = elins.get(formName);
builder.append(TextUtils.htmlEncode(elin));
}
lin = false;
emit = true;
} else if (state == 4 && emit) {
builder.append("</"+parser.getName()+">");
}
break;
case XmlResourceParser.TEXT:
if (state == 2) {
if (cat.equals(parser.getText()))
emit = true;
} else if (state == 4 && emit) {
if (form) {
Map<String,String> elins = cache.get(lemma);
if (elins == null) {
Expr expr = Expr.readExpr(lemma);
elins = targetLang.tabularLinearize(expr);
cache.put(lemma, elins);
}
String s = elins.get(parser.getText());
if (s != null)
builder.append(TextUtils.htmlEncode(s));
} else {
builder.append(parser.getText());
}
} else if (state == 4 && lin) {
abstrBuilder.append(parser.getText());
}
break;
}
event = parser.next();
}
} catch (IOException e) {
e.printStackTrace();
} catch (XmlPullParserException e) {
e.printStackTrace();
} finally {
parser.close();
}
builder.append("</body>");
return builder.toString();
return html;
}
public List<MorphoAnalysis> lookupMorpho(String sentence) {