diff options
| author | kr.angelov <kr.angelov@gmail.com> | 2014-02-21 16:34:59 +0000 |
|---|---|---|
| committer | kr.angelov <kr.angelov@gmail.com> | 2014-02-21 16:34:59 +0000 |
| commit | e5a65920806b90e950db94e99118c1e6409f3ca6 (patch) | |
| tree | bef065dc5ad7b8742c0f6b6664c49d02a102fd06 /src/ui | |
| parent | 9b1b42bd2292ea991d084ca42dddc6c3b7ce1d66 (diff) | |
the Android App is now using the documentation modules instead of xml files for generating the inflection tables. The xml files are removed
Diffstat (limited to 'src/ui')
| -rw-r--r-- | src/ui/android/res/xml/inflection_bg.xml | 650 | ||||
| -rw-r--r-- | src/ui/android/res/xml/inflection_cmn.xml | 99 | ||||
| -rw-r--r-- | src/ui/android/res/xml/inflection_en.xml | 146 | ||||
| -rw-r--r-- | src/ui/android/res/xml/inflection_fi.xml | 540 | ||||
| -rw-r--r-- | src/ui/android/res/xml/inflection_fr.xml | 242 | ||||
| -rw-r--r-- | src/ui/android/res/xml/inflection_sv.xml | 248 | ||||
| -rw-r--r-- | src/ui/android/src/org/grammaticalframework/ui/android/Language.java | 10 | ||||
| -rw-r--r-- | src/ui/android/src/org/grammaticalframework/ui/android/TTS.java | 3 | ||||
| -rw-r--r-- | src/ui/android/src/org/grammaticalframework/ui/android/Translator.java | 235 |
9 files changed, 40 insertions, 2133 deletions
diff --git a/src/ui/android/res/xml/inflection_bg.xml b/src/ui/android/res/xml/inflection_bg.xml deleted file mode 100644 index 17b59460f..000000000 --- a/src/ui/android/res/xml/inflection_bg.xml +++ /dev/null @@ -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> diff --git a/src/ui/android/res/xml/inflection_cmn.xml b/src/ui/android/res/xml/inflection_cmn.xml deleted file mode 100644 index 82cc6926a..000000000 --- a/src/ui/android/res/xml/inflection_cmn.xml +++ /dev/null @@ -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> diff --git a/src/ui/android/res/xml/inflection_en.xml b/src/ui/android/res/xml/inflection_en.xml deleted file mode 100644 index 88dd60770..000000000 --- a/src/ui/android/res/xml/inflection_en.xml +++ /dev/null @@ -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> <form>s VVPresNeg</form></td> - </tr> - <tr> - <th>past</th> - <td><form>s (VVF VPast)</form> <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> diff --git a/src/ui/android/res/xml/inflection_fi.xml b/src/ui/android/res/xml/inflection_fi.xml deleted file mode 100644 index 14ea7efef..000000000 --- a/src/ui/android/res/xml/inflection_fi.xml +++ /dev/null @@ -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> diff --git a/src/ui/android/res/xml/inflection_fr.xml b/src/ui/android/res/xml/inflection_fr.xml deleted file mode 100644 index 10bb17282..000000000 --- a/src/ui/android/res/xml/inflection_fr.xml +++ /dev/null @@ -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> diff --git a/src/ui/android/res/xml/inflection_sv.xml b/src/ui/android/res/xml/inflection_sv.xml deleted file mode 100644 index e05774f6e..000000000 --- a/src/ui/android/res/xml/inflection_sv.xml +++ /dev/null @@ -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> diff --git a/src/ui/android/src/org/grammaticalframework/ui/android/Language.java b/src/ui/android/src/org/grammaticalframework/ui/android/Language.java index 6b63bb8f2..51f4c39fa 100644 --- a/src/ui/android/src/org/grammaticalframework/ui/android/Language.java +++ b/src/ui/android/src/org/grammaticalframework/ui/android/Language.java @@ -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; } diff --git a/src/ui/android/src/org/grammaticalframework/ui/android/TTS.java b/src/ui/android/src/org/grammaticalframework/ui/android/TTS.java index 2a77c950a..e52f9cdee 100644 --- a/src/ui/android/src/org/grammaticalframework/ui/android/TTS.java +++ b/src/ui/android/src/org/grammaticalframework/ui/android/TTS.java @@ -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()); diff --git a/src/ui/android/src/org/grammaticalframework/ui/android/Translator.java b/src/ui/android/src/org/grammaticalframework/ui/android/Translator.java index e6f64146f..d84aa4e55 100644 --- a/src/ui/android/src/org/grammaticalframework/ui/android/Translator.java +++ b/src/ui/android/src/org/grammaticalframework/ui/android/Translator.java @@ -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 ""; - - Map<String,Map<String,String>> cache = new HashMap<String,Map<String,String>>(); - - 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>"); + if (!targetLang.hasLinearization("Inflection"+cat)) + return null; - 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>"); + Expr e = Expr.readExpr("MkDocument \"\" (Inflection"+cat+" "+lemma+") \"\""); + String html = + "<html><head><meta charset=\"UTF-8\"/></head><body>" + + targetLang.linearize(e) + + "</body>"; - return builder.toString(); + return html; } public List<MorphoAnalysis> lookupMorpho(String sentence) { |
