From: thadh Date: Sun, 23 Sep 2012 15:54:13 +0000 (-0700) Subject: Italian verb conjugations! X-Git-Url: http://gitweb.fperrin.net/?p=DictionaryPC.git;a=commitdiff_plain;h=750d808c256f16703f8b348df2d260c5ca0bd56d Italian verb conjugations! --- diff --git a/src/com/hughes/android/dictionary/engine/DictionaryBuilderTest.java b/src/com/hughes/android/dictionary/engine/DictionaryBuilderTest.java index 791d550..23a483f 100644 --- a/src/com/hughes/android/dictionary/engine/DictionaryBuilderTest.java +++ b/src/com/hughes/android/dictionary/engine/DictionaryBuilderTest.java @@ -19,6 +19,7 @@ import java.io.FileNotFoundException; import java.io.IOException; import java.io.PrintStream; import java.io.RandomAccessFile; +import java.util.Collections; import com.hughes.android.dictionary.parser.wiktionary.EnTranslationToTranslationParser; import com.hughes.android.dictionary.parser.wiktionary.WholeSectionToHtmlParser; @@ -35,6 +36,46 @@ public class DictionaryBuilderTest extends TestCase { public static final String TEST_OUTPUTS = "testdata/outputs/"; + public void testItConj() throws Exception { + final String toParse = "{{it-conj-are|d|avere|pres2s=dai|pres3s=dà|pres3p=danno|prem1s=diedi|prem1s2=detti|prem2s=desti|prem3s=diede|prem3s2=dette|prem1p=demmo|prem2p=deste|prem3p=diedero|prem3p2=dettero|fut1s=darò|fut2s=darai|fut3s=darà|fut1p=daremo|fut2p=darete|fut3p=daranno|cond1s=darei|cond2s=daresti|cond3s=darebbe|cond1p=daremmo|cond2p=dareste|cond3p=darebbero|sub123s=dia|sub3p=diano|impsub12s=dessi|impsub3s=desse|impsub1p=dessimo|impsub2p=deste|impsub3p=dessero|imp2s=dà|imp2s2=dai|imp2s3=da'|imp3s=dia|imp3p=diano}}\n" + + "{{it-conj-are|accus|avere}}\n" + + "{{it-conj-care|pag|avere or essere}}\n" + + "{{it-conj-iare|studi|avere}}\n" + + "{{it-conj-iare-b|avvi|avere}}\n" + + "{{it-conj-ciare|pronunc|avere}}\n" + + "{{it-conj-ere|sed|essere|pres1s=siedo|pres1s2=seggo|pres2s=siedi|pres3s=siede|pres3p=siedono|pres3p2=seggono|fut1s2=siederò|fut2s2=siederai|fut3s2=siederà|fut1p2=siederemo|fut2p2=siederete|fut3p2=siederanno|cond1s2=siederei|cond2s2=siederesti|cond3s2=siederebbe|cond1p2=siederemmo|cond2p2=siedereste|cond3p2=siederebbero|sub123s=sieda|sub3p=siedano|imp2s=siedi|imp3s=sieda|imp3s2=segga|imp3p=siedano|imp3p2=seggano}}\n" + + "{{it-conj-ere|persuad|avere|pastp=persuaso|prem1s=persuasi|prem3s=persuase|prem3s2=''|prem3p=persuasero|prem3p2=''}}\n" + + "{{it-conj-ere|abbatt|avere}}\n" + + "{{it-conj-ire|copr|avere|pastp=coperto|prem1s2=copersi|prem3s2=coperse|prem3p2=copersero}}\n" + + "{{it-conj-ire-b|prefer|avere}}\n" + + "{{it-conj-urre|prod|avere}}\n" + + "{{it-conj-arsi|lav}}\n" + + "{{it-conj-ersi|abbatt}}\n" + + "{{it-conj-iarsi|annoi}}\n" + + "{{it-conj-carsi|coniug}\n" + + "{{it-conj-ciarsi|affacc}\n" + + "{{it-conj-irsi|vest}}\n" + + "{{it-conj-irsi-b|fer}}\n" + + "{{it-conj-ursi|rid|essere}}\n" + + "{{it-conj-cire|ricuc|avere}}\n" + + "{{it-conj-iarsi-b|riavvi|essere}}" + + "{{it-conj-fare|putre|avere}}\n" + + "{{it-conj-cirsi|cuc|essere}}\n" + ; + final DictionaryBuilder db = new DictionaryBuilder("", Language.en, Language.it, "", "", Collections.singleton("X"), Collections.singleton("X")); + WholeSectionToHtmlParser parser = new WholeSectionToHtmlParser(db.indexBuilders.get(0), "EN", "IT"); + parser.title = "dummyTitle"; + parser.parseSection("dummyHeading", toParse); + db.build(); + + final String dictName = "testItConj.html"; + final PrintStream out = new PrintStream(new File(TEST_OUTPUTS, dictName)); + db.dictionary.print(out); + out.close(); + + assertFilesEqual(GOLDENS + dictName, TEST_OUTPUTS + dictName); + } + public void doTestCustomDict(final String name, final String lang1, final String lang2, final String inputFile) throws Exception { final File result = new File(TEST_OUTPUTS + name); diff --git a/src/com/hughes/android/dictionary/parser/wiktionary/AbstractWiktionaryParser.java b/src/com/hughes/android/dictionary/parser/wiktionary/AbstractWiktionaryParser.java index 55a791e..8d03bff 100644 --- a/src/com/hughes/android/dictionary/parser/wiktionary/AbstractWiktionaryParser.java +++ b/src/com/hughes/android/dictionary/parser/wiktionary/AbstractWiktionaryParser.java @@ -48,7 +48,7 @@ public abstract class AbstractWiktionaryParser implements Parser { final Set pairsAdded = new LinkedHashSet(); EntrySource entrySource; - String title; + public String title; abstract void parseSection(final String heading, final String text); diff --git a/src/com/hughes/android/dictionary/parser/wiktionary/EnFunctionCallbacks.java b/src/com/hughes/android/dictionary/parser/wiktionary/EnFunctionCallbacks.java index 6225ca4..38598f3 100644 --- a/src/com/hughes/android/dictionary/parser/wiktionary/EnFunctionCallbacks.java +++ b/src/com/hughes/android/dictionary/parser/wiktionary/EnFunctionCallbacks.java @@ -77,13 +77,31 @@ class EnFunctionCallbacks { final it_conj it_conj_cb = new it_conj(); callbacks.put("it-conj", it_conj_cb); callbacks.put("it-conj-are", new it_conj_are(it_conj_cb)); + callbacks.put("it-conj-arsi", new it_conj_are(it_conj_cb)); callbacks.put("it-conj-care", new it_conj_are(it_conj_cb)); - callbacks.put("it-conj-iare", new it_conj_are(it_conj_cb)); + callbacks.put("it-conj-carsi", new it_conj_are(it_conj_cb)); callbacks.put("it-conj-ciare", new it_conj_are(it_conj_cb)); - callbacks.put("it-conj-ere", new it_conj_ere(it_conj_cb)); + callbacks.put("it-conj-ciarsi", new it_conj_are(it_conj_cb)); + callbacks.put("it-conj-iare", new it_conj_are(it_conj_cb)); + callbacks.put("it-conj-iarsi", new it_conj_are(it_conj_cb)); + callbacks.put("it-conj-iare-b", new it_conj_are(it_conj_cb)); + callbacks.put("it-conj-iarsi-b", new it_conj_are(it_conj_cb)); callbacks.put("it-conj-ire", new it_conj_ire(it_conj_cb)); + callbacks.put("it-conj-irsi", new it_conj_ire(it_conj_cb)); callbacks.put("it-conj-ire-b", new it_conj_ire(it_conj_cb)); + callbacks.put("it-conj-irsi-b", new it_conj_ire(it_conj_cb)); + callbacks.put("it-conj-cire", new it_conj_ire(it_conj_cb)); + callbacks.put("it-conj-cirsi", new it_conj_ire(it_conj_cb)); + callbacks.put("it-conj-ire", new it_conj_ire(it_conj_cb)); + callbacks.put("it-conj-ere", new it_conj_ere(it_conj_cb)); + callbacks.put("it-conj-ersi", new it_conj_ere(it_conj_cb)); callbacks.put("it-conj-urre", new it_conj_urre(it_conj_cb)); + callbacks.put("it-conj-ursi", new it_conj_urre(it_conj_cb)); + callbacks.put("it-conj-fare", new it_conj_fare(it_conj_cb)); + + + //"{{it-conj-fare|putre|avere}}\n" + + } @@ -638,7 +656,8 @@ class EnFunctionCallbacks { static final List it_number_s_p = Arrays.asList("s", "p"); static final List it_person_1_2_3 = Arrays.asList("1", "2", "3"); - + static final List it_reflexive_pronouns = Arrays.asList("mi ", "ti ", "si ", "ci ", "vi ", "si "); + static final List it_empty = Arrays.asList("", "", "", "", "", ""); static void it_conj_passMood(final Map namedArgs, final String moodName, final boolean quoteToEmpty, final String root, final List suffixes) { assert suffixes.size() == 6; int i = 0; @@ -650,7 +669,21 @@ class EnFunctionCallbacks { } } - static final class it_conj_are implements FunctionCallback { + private static void outputKeyVariations(AppendAndIndexWikiCallback appendAndIndexWikiCallback, + final StringBuilder builder, final String keyBase, Map namedArgs) { + for (int suffix = 0; suffix <= 4; ++suffix) { + final String key = suffix == 0 ? keyBase : keyBase + suffix; + final String val = namedArgs.remove(key); + if (val != null) { + if (suffix > 0) { + builder.append(", "); + } + appendAndIndexWikiCallback.dispatch(val, null); + } + } + } + +static final class it_conj_are implements FunctionCallback { final it_conj dest; it_conj_are(it_conj dest) { this.dest = dest; @@ -660,15 +693,21 @@ class EnFunctionCallbacks { final Map namedArgs, final T parser, final AppendAndIndexWikiCallback appendAndIndexWikiCallback) { - final String h = name.equals("it-conj-care") ? "h" : ""; - final String i = name.equals("it-conj-ciare") ? "i" : ""; - final String i2 = name.equals("it-conj-iare") ? "" : "i"; + final String h = name.equals("it-conj-care") || name.equals("it-conj-carsi") ? "h" : ""; + final String i = name.equals("it-conj-ciare") || name.equals("it-conj-ciarsi") ? "i" : ""; + final String i2 = name.equals("it-conj-iare") || name.equals("it-conj-iarsi") ? "" : "i"; + final boolean si = name.equals("it-conj-arsi") || name.equals("it-conj-iarsi") || name.equals("it-conj-iarsi-b") || name.equals("it-conj-carsi") || name.equals("it-conj-ciarsi"); final String root = args.get(0); - passThroughOrFillIn(namedArgs, "inf", root + i + "are", false); - namedArgs.put("aux", args.get(1)); - passThroughOrFillIn(namedArgs, "ger", root + i + "ando", true); - passThroughOrFillIn(namedArgs, "presp", root + i + "ante", true); + passThroughOrFillIn(namedArgs, "inf", root + i + (si ? "arsi" : "are"), false); + namedArgs.put("aux", ListUtil.get(args, 1, "")); + passThroughOrFillIn(namedArgs, "ger", root + i + "ando" + (si ? "si" : ""), true); + passThroughOrFillIn(namedArgs, "presp", root + i + "ante"+ (si ? "si" : ""), true); passThroughOrFillIn(namedArgs, "pastp", root + i + "ato", true); + if (si) { + passThroughOrFillIn(namedArgs, "pastp2", root + i + "atosi", true); + } + final String i2b = (name.equals("it-conj-iare-b") || name.equals("it-conj-iarsi-b")) ? "" : i2; + it_conj_passMood(namedArgs, "pres", false, root, Arrays.asList(i + "o", h + i2, i + "a", h + i2 + "amo", i + "ate", i + "ano")); it_conj_passMood(namedArgs, "imperf", false, root, Arrays.asList(i + "avo", i + "avi", i + "ava", i + "avamo", i + "avate", i + "avano")); it_conj_passMood(namedArgs, "prem", false, root, Arrays.asList(i + "ai", i + "asti", i + "ò", i + "ammo", i + "aste", i + "arono")); @@ -676,8 +715,8 @@ class EnFunctionCallbacks { it_conj_passMood(namedArgs, "cond", true, root, Arrays.asList(h + "erei", h + "eresti", h + "erebbe", h + "eremmo", h + "ereste", h + "erebbero")); passThroughOrFillIn(namedArgs, "sub123s", root + h + i2, false); - passThroughOrFillIn(namedArgs, "sub1p", root + h + i2 + "amo", false); - passThroughOrFillIn(namedArgs, "sub2p", root + h + i2 + "ate", false); + passThroughOrFillIn(namedArgs, "sub1p", root + h + i2b + "amo", false); + passThroughOrFillIn(namedArgs, "sub2p", root + h + i2b + "ate", false); passThroughOrFillIn(namedArgs, "sub3p", root + h + i2 + "no", false); passThroughOrFillIn(namedArgs, "impsub12s", root + i + "assi", false); @@ -686,15 +725,83 @@ class EnFunctionCallbacks { passThroughOrFillIn(namedArgs, "impsub2p", root + i + "aste", false); passThroughOrFillIn(namedArgs, "impsub3p", root + i + "assero", false); - passThroughOrFillIn(namedArgs, "imp2s", root + i + "a", true); - passThroughOrFillIn(namedArgs, "imp3s", root + h + i2, true); - passThroughOrFillIn(namedArgs, "imp1p", root + h + i2 + "amo", true); - passThroughOrFillIn(namedArgs, "imp2p", root + i + "ate", true); - passThroughOrFillIn(namedArgs, "imp3p", root + h + i2 + "no", true); + passThroughOrFillIn(namedArgs, "imp2s", root + i + "a" + (si ? "ti" : ""), true); + passThroughOrFillIn(namedArgs, "imp3s", (si ? "si " : "") + root + h + i2, true); + passThroughOrFillIn(namedArgs, "imp1p", root + h + i2b + "amo" + (si ? "ci" : ""), true); + passThroughOrFillIn(namedArgs, "imp2p", root + i + "ate" + (si ? "vi" : ""), true); + passThroughOrFillIn(namedArgs, "imp3p", (si ? "si " : "") + root + h + i2 + "no", true); return dest.onWikiFunction(wikiTokenizer, name, args, namedArgs, parser, appendAndIndexWikiCallback); } } + + static final class it_conj_ire implements FunctionCallback { + final it_conj dest; + it_conj_ire(it_conj dest) { + this.dest = dest; + } + @Override + public boolean onWikiFunction(final WikiTokenizer wikiTokenizer, final String name, final List args, + final Map namedArgs, + final T parser, + final AppendAndIndexWikiCallback appendAndIndexWikiCallback) { + final String root = args.get(0); + final String i = name.equals("it-conj-cire") || name.equals("it-conj-cirsi") ? "i" : ""; + final boolean si = name.equals("it-conj-irsi") || name.equals("it-conj-irsi-b") || name.equals("it-conj-cirsi"); + + passThroughOrFillIn(namedArgs, "inf", root + (si ? "irsi" : "ire"), false); + namedArgs.put("aux", ListUtil.get(args, 1, "")); + passThroughOrFillIn(namedArgs, "ger", root + "endo" + (si ? "si" : ""), true); + passThroughOrFillIn(namedArgs, "presp", root + "ente" + (si ? "si" : ""), true); + passThroughOrFillIn(namedArgs, "pastp", root + "ito", true); + if (si) { + passThroughOrFillIn(namedArgs, "pastp2", root + "itosi", true); + } + if (!name.endsWith("-b")) { + it_conj_passMood(namedArgs, "pres", false, root, Arrays.asList(i + "o", "i", "e", "iamo", "ite", i + "ono")); + } else { + it_conj_passMood(namedArgs, "pres", false, root, Arrays.asList("isco", "isci", "isce", "iamo", "ite", "iscono")); + } + it_conj_passMood(namedArgs, "imperf", false, root, Arrays.asList("ivo", "ivi", "iva", "ivamo", "ivate", "ivano")); + it_conj_passMood(namedArgs, "prem", false, root, Arrays.asList("ii", "isti", "ì", "immo", "iste", "irono")); + // Regular past historic synonyms: + passThroughOrFillIn(namedArgs, "prem3s2", root + "é", true); + passThroughOrFillIn(namedArgs, "prem3p2", root + "erono", true); + it_conj_passMood(namedArgs, "fut", true, root, Arrays.asList("irò", "irai", "irà", "iremo", "irete", "iranno")); + it_conj_passMood(namedArgs, "cond", true, root, Arrays.asList("irei", "iresti", "irebbe", "iremmo", "ireste", "irebbero")); + + if (!name.endsWith("-b")) { + passThroughOrFillIn(namedArgs, "sub123s", root + i + "a", false); + passThroughOrFillIn(namedArgs, "sub3p", root + i + "ano", false); + } else { + passThroughOrFillIn(namedArgs, "sub123s", root + "isca", false); + passThroughOrFillIn(namedArgs, "sub3p", root + "iscano", false); + } + passThroughOrFillIn(namedArgs, "sub1p", root + "iamo", false); + passThroughOrFillIn(namedArgs, "sub2p", root + "iate", false); + + passThroughOrFillIn(namedArgs, "impsub12s", root + "issi", false); + passThroughOrFillIn(namedArgs, "impsub3s", root + "isse", false); + passThroughOrFillIn(namedArgs, "impsub1p", root + "issimo", false); + passThroughOrFillIn(namedArgs, "impsub2p", root + "iste", false); + passThroughOrFillIn(namedArgs, "impsub3p", root + "issero", false); + + if (!name.endsWith("-b")) { + passThroughOrFillIn(namedArgs, "imp2s", root + "i" + (si ? "ti" : ""), true); + passThroughOrFillIn(namedArgs, "imp3s", (si ? "si " : "") + root + i + "a", true); + passThroughOrFillIn(namedArgs, "imp3p", (si ? "si " : "") + root + i + "ano", true); + } else { + passThroughOrFillIn(namedArgs, "imp2s", root + "isci" + (si ? "ti" : ""), true); + passThroughOrFillIn(namedArgs, "imp3s", (si ? "si " : "") + root + "isca", true); + passThroughOrFillIn(namedArgs, "imp3p", (si ? "si " : "") + root + "iscano", true); + } + passThroughOrFillIn(namedArgs, "imp1p", root + "iamo" + (si ? "ci" : ""), true); + passThroughOrFillIn(namedArgs, "imp2p", root + "ite" + (si ? "vi" : ""), true); + + return dest.onWikiFunction(wikiTokenizer, name, args, namedArgs, parser, appendAndIndexWikiCallback); + } + } + static final class it_conj_ere implements FunctionCallback { final it_conj dest; @@ -707,11 +814,16 @@ class EnFunctionCallbacks { final T parser, final AppendAndIndexWikiCallback appendAndIndexWikiCallback) { final String root = args.get(0); - passThroughOrFillIn(namedArgs, "inf", root + "ere", false); - namedArgs.put("aux", args.get(1)); - passThroughOrFillIn(namedArgs, "ger", root + "endo", true); - passThroughOrFillIn(namedArgs, "presp", root + "ente", true); + final boolean si = name.equals("it-conj-ersi"); + + passThroughOrFillIn(namedArgs, "inf", root + (si ? "ersi" : "ere"), false); + namedArgs.put("aux", ListUtil.get(args, 1, "")); + passThroughOrFillIn(namedArgs, "ger", root + "endo" + (si ? "si" : ""), true); + passThroughOrFillIn(namedArgs, "presp", root + "ente" + (si ? "si" : ""), true); passThroughOrFillIn(namedArgs, "pastp", root + "uto", true); + if (si) { + passThroughOrFillIn(namedArgs, "pastp2", root + "utosi", true); + } it_conj_passMood(namedArgs, "pres", false, root, Arrays.asList("o", "i", "e", "iamo", "ete", "ono")); it_conj_passMood(namedArgs, "imperf", false, root, Arrays.asList("evo", "evi", "eva", "evamo", "evate", "evano")); it_conj_passMood(namedArgs, "prem", false, root, Arrays.asList("ei", "esti", "ette", "emmo", "este", "ettero")); @@ -732,84 +844,16 @@ class EnFunctionCallbacks { passThroughOrFillIn(namedArgs, "impsub2p", root + "este", false); passThroughOrFillIn(namedArgs, "impsub3p", root + "essero", false); - passThroughOrFillIn(namedArgs, "imp2s", root + "i", true); - passThroughOrFillIn(namedArgs, "imp3s", root + "a", true); - passThroughOrFillIn(namedArgs, "imp1p", root + "iamo", true); - passThroughOrFillIn(namedArgs, "imp2p", root + "ete", true); - passThroughOrFillIn(namedArgs, "imp3p", root + "ano", true); + passThroughOrFillIn(namedArgs, "imp2s", root + "i" + (si ? "ti" : ""), true); + passThroughOrFillIn(namedArgs, "imp3s", (si ? "si " : "") + root + "a", true); + passThroughOrFillIn(namedArgs, "imp1p", root + "iamo" + (si ? "ci" : ""), true); + passThroughOrFillIn(namedArgs, "imp2p", root + "ete" + (si ? "vi" : ""), true); + passThroughOrFillIn(namedArgs, "imp3p", (si ? "si " : "") + root + "ano", true); return dest.onWikiFunction(wikiTokenizer, name, args, namedArgs, parser, appendAndIndexWikiCallback); } } - static final class it_conj_ire implements FunctionCallback { - final it_conj dest; - it_conj_ire(it_conj dest) { - this.dest = dest; - } - @Override - public boolean onWikiFunction(final WikiTokenizer wikiTokenizer, final String name, final List args, - final Map namedArgs, - final T parser, - final AppendAndIndexWikiCallback appendAndIndexWikiCallback) { - final String root = args.get(0); - passThroughOrFillIn(namedArgs, "inf", root + "ire", false); - namedArgs.put("aux", args.get(1)); - passThroughOrFillIn(namedArgs, "ger", root + "endo", true); - passThroughOrFillIn(namedArgs, "presp", root + "ente", true); - passThroughOrFillIn(namedArgs, "pastp", root + "ito", true); - if (name.equals("it-conj-ire")) { - it_conj_passMood(namedArgs, "pres", false, root, Arrays.asList("o", "i", "e", "iamo", "ite", "ono")); - } else if (name.equals("it-conj-ire-b")) { - it_conj_passMood(namedArgs, "pres", false, root, Arrays.asList("isco", "isci", "isce", "iamo", "ite", "iscono")); - } else { - assert false; - } - it_conj_passMood(namedArgs, "imperf", false, root, Arrays.asList("ivo", "ivi", "iva", "ivamo", "ivate", "ivano")); - it_conj_passMood(namedArgs, "prem", false, root, Arrays.asList("ii", "isti", "ì", "immo", "iste", "irono")); - // Regular past historic synonyms: - passThroughOrFillIn(namedArgs, "prem3s2", root + "é", true); - passThroughOrFillIn(namedArgs, "prem3p2", root + "erono", true); - it_conj_passMood(namedArgs, "fut", true, root, Arrays.asList("irò", "irai", "irà", "iremo", "irete", "iranno")); - it_conj_passMood(namedArgs, "cond", true, root, Arrays.asList("irei", "iresti", "irebbe", "iremmo", "ireste", "irebbero")); - - if (name.equals("it-conj-ire")) { - passThroughOrFillIn(namedArgs, "sub123s", root + "a", false); - passThroughOrFillIn(namedArgs, "sub3p", root + "ano", false); - } else if (name.equals("it-conj-ire-b")) { - passThroughOrFillIn(namedArgs, "sub123s", root + "isca", false); - passThroughOrFillIn(namedArgs, "sub3p", root + "iscano", false); - } else { - assert false; - } - passThroughOrFillIn(namedArgs, "sub1p", root + "iamo", false); - passThroughOrFillIn(namedArgs, "sub2p", root + "iate", false); - - passThroughOrFillIn(namedArgs, "impsub12s", root + "issi", false); - passThroughOrFillIn(namedArgs, "impsub3s", root + "isse", false); - passThroughOrFillIn(namedArgs, "impsub1p", root + "issimo", false); - passThroughOrFillIn(namedArgs, "impsub2p", root + "iste", false); - passThroughOrFillIn(namedArgs, "impsub3p", root + "issero", false); - - if (name.equals("it-conj-ire")) { - passThroughOrFillIn(namedArgs, "imp2s", root + "i", true); - passThroughOrFillIn(namedArgs, "imp3s", root + "a", true); - passThroughOrFillIn(namedArgs, "imp3p", root + "ano", true); - } else if (name.equals("it-conj-ire-b")) { - passThroughOrFillIn(namedArgs, "imp2s", root + "isci", true); - passThroughOrFillIn(namedArgs, "imp3s", root + "isca", true); - passThroughOrFillIn(namedArgs, "imp3p", root + "iscano", true); - } else { - assert false; - } - passThroughOrFillIn(namedArgs, "imp1p", root + "iamo", true); - passThroughOrFillIn(namedArgs, "imp2p", root + "ite", true); - - return dest.onWikiFunction(wikiTokenizer, name, args, namedArgs, parser, appendAndIndexWikiCallback); - } - } - - static final class it_conj_urre implements FunctionCallback { final it_conj dest; it_conj_urre(it_conj dest) { @@ -821,11 +865,16 @@ class EnFunctionCallbacks { final T parser, final AppendAndIndexWikiCallback appendAndIndexWikiCallback) { final String root = args.get(0); - passThroughOrFillIn(namedArgs, "inf", root + "urre", false); - namedArgs.put("aux", args.get(1)); - passThroughOrFillIn(namedArgs, "ger", root + "ucendo", true); - passThroughOrFillIn(namedArgs, "presp", root + "ucente", true); + final boolean si = name.equals("it-conj-ursi"); + + passThroughOrFillIn(namedArgs, "inf", root + (si ? "ursi" : "urre"), false); + namedArgs.put("aux", ListUtil.get(args, 1, "")); + passThroughOrFillIn(namedArgs, "ger", root + "ucendo" + (si ? "si" : ""), true); + passThroughOrFillIn(namedArgs, "presp", root + "ucente" + (si ? "si" : ""), true); passThroughOrFillIn(namedArgs, "pastp", root + "otto", true); + if (si) { + passThroughOrFillIn(namedArgs, "pastp2", root + "ottosi", true); + } it_conj_passMood(namedArgs, "pres", false, root, Arrays.asList("uco", "uci", "uce", "uciamo", "ucete", "ucono")); it_conj_passMood(namedArgs, "imperf", false, root, Arrays.asList("ucevo", "ucevi", "uceva", "ucevamo", "ucevate", "ucevano")); it_conj_passMood(namedArgs, "prem", false, root, Arrays.asList("ussi", "ucesti", "usse", "ucemmo", "uceste", "ussero")); @@ -843,11 +892,55 @@ class EnFunctionCallbacks { passThroughOrFillIn(namedArgs, "impsub2p", root + "uceste", false); passThroughOrFillIn(namedArgs, "impsub3p", root + "ucessero", false); - passThroughOrFillIn(namedArgs, "imp2s", root + "uci", true); - passThroughOrFillIn(namedArgs, "imp3s", root + "uca", true); - passThroughOrFillIn(namedArgs, "imp1p", root + "uciamo", true); - passThroughOrFillIn(namedArgs, "imp2p", root + "ucete", true); - passThroughOrFillIn(namedArgs, "imp3p", root + "ucano", true); + passThroughOrFillIn(namedArgs, "imp2s", root + "uci" + (si ? "ti" : ""), true); + passThroughOrFillIn(namedArgs, "imp3s", (si ? "si" : "") + root + "uca", true); + passThroughOrFillIn(namedArgs, "imp1p", root + "uciamo" + (si ? "ci" : ""), true); + passThroughOrFillIn(namedArgs, "imp2p", root + "ucete" + (si ? "vi" : ""), true); + passThroughOrFillIn(namedArgs, "imp3p", (si ? "si" : "") + root + "ucano", true); + + return dest.onWikiFunction(wikiTokenizer, name, args, namedArgs, parser, appendAndIndexWikiCallback); + } + } + + static final class it_conj_fare implements FunctionCallback { + final it_conj dest; + it_conj_fare(it_conj dest) { + this.dest = dest; + } + @Override + public boolean onWikiFunction(final WikiTokenizer wikiTokenizer, final String name, final List args, + final Map namedArgs, + final T parser, + final AppendAndIndexWikiCallback appendAndIndexWikiCallback) { + final String root = args.get(0); + passThroughOrFillIn(namedArgs, "inf", root + "fare", false); + namedArgs.put("aux", ListUtil.get(args, 1, "")); + passThroughOrFillIn(namedArgs, "ger", root + "facendo", true); + passThroughOrFillIn(namedArgs, "presp", root + "facente", true); + passThroughOrFillIn(namedArgs, "pastp", root + "fatto", true); + it_conj_passMood(namedArgs, "pres", false, root, Arrays.asList("faccio", "fai", "fà", "facciamo", "fate", "fanno")); + passThroughOrFillIn(namedArgs, "pres1s2", root + "fò", true); + it_conj_passMood(namedArgs, "imperf", false, root, Arrays.asList("facevo", "facevi", "faceva", "facevamo", "facevate", "facevano")); + it_conj_passMood(namedArgs, "prem", false, root, Arrays.asList("feci", "facesti", "fece", "facemmo", "faceste", "fecero")); + it_conj_passMood(namedArgs, "fut", true, root, Arrays.asList("farò", "farai", "farà", "faremo", "farete", "faranno")); + it_conj_passMood(namedArgs, "cond", true, root, Arrays.asList("farei", "faresti", "farebbe", "faremmo", "fareste", "farebbero")); + + passThroughOrFillIn(namedArgs, "sub123s", root + "faccia", false); + passThroughOrFillIn(namedArgs, "sub1p", root + "facciamo", false); + passThroughOrFillIn(namedArgs, "sub2p", root + "facciate", false); + passThroughOrFillIn(namedArgs, "sub3p", root + "facciano", false); + + passThroughOrFillIn(namedArgs, "impsub12s", root + "facessi", false); + passThroughOrFillIn(namedArgs, "impsub3s", root + "facesse", false); + passThroughOrFillIn(namedArgs, "impsub1p", root + "facessimo", false); + passThroughOrFillIn(namedArgs, "impsub2p", root + "faceste", false); + passThroughOrFillIn(namedArgs, "impsub3p", root + "facessero", false); + + passThroughOrFillIn(namedArgs, "imp2s", root + "fa", true); + passThroughOrFillIn(namedArgs, "imp3s", root + "faccia", true); + passThroughOrFillIn(namedArgs, "imp1p", root + "facciamo", true); + passThroughOrFillIn(namedArgs, "imp2p", root + "fate", true); + passThroughOrFillIn(namedArgs, "imp3p", root + "facciano", true); return dest.onWikiFunction(wikiTokenizer, name, args, namedArgs, parser, appendAndIndexWikiCallback); } @@ -893,6 +986,8 @@ class EnFunctionCallbacks { final StringBuilder builder = appendAndIndexWikiCallback.builder; + final String inf = namedArgs.get("inf"); + // TODO: center everything horizontally. builder.append(""); @@ -910,34 +1005,36 @@ class EnFunctionCallbacks { builder.append(""); builder.append(""); builder.append(""); builder.append("\n"); builder.append(""); builder.append(""); builder.append(""); builder.append(""); builder.append(""); builder.append("\n"); + + final List prefixes = (inf != null && inf.endsWith("si")) ? it_reflexive_pronouns : it_empty; String style = " style=\"background:#c0cfe4\""; - outputDataRow(appendAndIndexWikiCallback, style, "indicative", style, "th", "", new LinkedHashMap(it_indicativePronouns)); - outputDataRow(appendAndIndexWikiCallback, style, "present", "", "td", "pres", namedArgs); - outputDataRow(appendAndIndexWikiCallback, style, "imperfect", "", "td", "imperf", namedArgs); - outputDataRow(appendAndIndexWikiCallback, style, "past historic", "", "td", "prem", namedArgs); - outputDataRow(appendAndIndexWikiCallback, style, "future", "", "td", "fut", namedArgs); + outputDataRow(appendAndIndexWikiCallback, style, "indicative", style, "th", "", new LinkedHashMap(it_indicativePronouns), it_empty); + outputDataRow(appendAndIndexWikiCallback, style, "present", "", "td", "pres", namedArgs, prefixes); + outputDataRow(appendAndIndexWikiCallback, style, "imperfect", "", "td", "imperf", namedArgs, prefixes); + outputDataRow(appendAndIndexWikiCallback, style, "past historic", "", "td", "prem", namedArgs, prefixes); + outputDataRow(appendAndIndexWikiCallback, style, "future", "", "td", "fut", namedArgs, prefixes); style = " style=\"background:#c0d8e4\""; - outputDataRow(appendAndIndexWikiCallback, style, "conditional", style, "th", "", new LinkedHashMap(it_indicativePronouns)); - outputDataRow(appendAndIndexWikiCallback, style, "present", "", "td", "cond", namedArgs); + outputDataRow(appendAndIndexWikiCallback, style, "conditional", style, "th", "", new LinkedHashMap(it_indicativePronouns), it_empty); + outputDataRow(appendAndIndexWikiCallback, style, "present", "", "td", "cond", namedArgs, prefixes); style = " style=\"background:#c0e4c0\""; - outputDataRow(appendAndIndexWikiCallback, style, "subjuntive", style, "th", "", new LinkedHashMap(it_subjunctivePronouns)); + outputDataRow(appendAndIndexWikiCallback, style, "subjuntive", style, "th", "", new LinkedHashMap(it_subjunctivePronouns), it_empty); namedArgs.put("sub3s2", namedArgs.remove("sub3s")); namedArgs.put("sub1s", namedArgs.get("sub123s")); namedArgs.put("sub2s", namedArgs.get("sub123s")); @@ -945,18 +1042,18 @@ class EnFunctionCallbacks { namedArgs.put("sub1s2", namedArgs.get("sub123s2")); namedArgs.put("sub2s2", namedArgs.get("sub123s2")); namedArgs.put("sub3s2", namedArgs.remove("sub123s2")); - outputDataRow(appendAndIndexWikiCallback, style, "present", "", "td", "sub", namedArgs); + outputDataRow(appendAndIndexWikiCallback, style, "present", "", "td", "sub", namedArgs, prefixes); namedArgs.put("impsub1s", namedArgs.get("impsub12s")); namedArgs.put("impsub2s", namedArgs.remove("impsub12s")); namedArgs.put("impsub1s2", namedArgs.get("impsub12s2")); namedArgs.put("impsub2s2", namedArgs.remove("impsub12s2")); - outputDataRow(appendAndIndexWikiCallback, style, "imperfect", "", "td", "impsub", namedArgs); + outputDataRow(appendAndIndexWikiCallback, style, "imperfect", "", "td", "impsub", namedArgs, prefixes); style = " style=\"background:#e4d4c0\""; - outputDataRow(appendAndIndexWikiCallback, style, "imperative", style, "th", "", new LinkedHashMap(it_imperativePronouns)); - outputDataRow(appendAndIndexWikiCallback, style, "", "", "td", "imp", namedArgs); + outputDataRow(appendAndIndexWikiCallback, style, "imperative", style, "th", "", new LinkedHashMap(it_imperativePronouns), it_empty); + outputDataRow(appendAndIndexWikiCallback, style, "", "", "td", "imp", namedArgs, it_empty); // these are attached to the stem. - builder.append("
gerund"); - appendAndIndexWikiCallback.dispatch(MapUtil.safeRemove(namedArgs, "ger", "-"), null); + outputKeyVariations(appendAndIndexWikiCallback, builder, "ger", namedArgs); builder.append("
present participle"); - appendAndIndexWikiCallback.dispatch(MapUtil.safeRemove(namedArgs, "presp", "-"), null); + outputKeyVariations(appendAndIndexWikiCallback, builder, "presp", namedArgs); builder.append("past participle"); - appendAndIndexWikiCallback.dispatch(MapUtil.safeRemove(namedArgs, "pastp", "-"), null); + outputKeyVariations(appendAndIndexWikiCallback, builder, "pastp", namedArgs); builder.append("
"); + builder.append("\n"); if (!namedArgs.isEmpty()) { System.err.println("NON-EMPTY namedArgs: " + namedArgs); @@ -970,25 +1067,18 @@ class EnFunctionCallbacks { private void outputDataRow(AppendAndIndexWikiCallback appendAndIndexWikiCallback, String col1Style, String headerName, String col2Style, final String type2, - String moodName, Map namedArgs) { + String moodName, Map namedArgs, final List prefixes) { final StringBuilder builder = appendAndIndexWikiCallback.builder; builder.append(""); builder.append("").append(headerName).append(""); + int i = 0; for (final String number : it_number_s_p) { for (final String person : it_person_1_2_3) { // Output or builder.append("<").append(type2).append("").append(col2Style).append(">"); final String keyBase = String.format("%s%s%s", moodName, person, number); - for (int suffix = 0; suffix <= 3; ++suffix) { - final String key = suffix == 0 ? keyBase : keyBase + suffix; - final String val = namedArgs.remove(key); - if (val != null) { - if (suffix > 0) { - builder.append(", "); - } - appendAndIndexWikiCallback.dispatch(val, null); - } - } + appendAndIndexWikiCallback.dispatch(prefixes.get(i++), null); + outputKeyVariations(appendAndIndexWikiCallback, builder, keyBase, namedArgs); // Output or builder.append(""); } diff --git a/src/com/hughes/android/dictionary/parser/wiktionary/WholeSectionToHtmlParser.java b/src/com/hughes/android/dictionary/parser/wiktionary/WholeSectionToHtmlParser.java index f7a2495..57f4d58 100644 --- a/src/com/hughes/android/dictionary/parser/wiktionary/WholeSectionToHtmlParser.java +++ b/src/com/hughes/android/dictionary/parser/wiktionary/WholeSectionToHtmlParser.java @@ -72,7 +72,7 @@ public class WholeSectionToHtmlParser extends AbstractWiktionaryParser { } @Override - void parseSection(String heading, String text) { + public void parseSection(String heading, String text) { HtmlEntry htmlEntry = new HtmlEntry(entrySource, StringEscapeUtils.escapeHtml3(title)); IndexedEntry indexedEntry = new IndexedEntry(htmlEntry); diff --git a/src/com/hughes/android/dictionary/parser/wiktionary/templates/it-conj-iare-b.txt b/src/com/hughes/android/dictionary/parser/wiktionary/templates/it-conj-iare-b.txt new file mode 100644 index 0000000..b30cdca --- /dev/null +++ b/src/com/hughes/android/dictionary/parser/wiktionary/templates/it-conj-iare-b.txt @@ -0,0 +1,127 @@ + Template:it-conj-iare-b + 10 + 75193 + + 9534744 + 9326055 + 2010-07-24T23:08:27Z + + Bequw + 36224 + + +{{documentation}} + kg1lq1427ctx9bmq9qsd76jdn5r3ei2 + {{it-conj +<!-- If a parameter has been specified, pass it on, else generate it here --> +<!-- The same construction is used for most other forms. --> +|inf={{#if:{{{inf|}}}|{{{inf}}}|{{{1}}}are}} +|aux={{{2}}} +<!-- The following logic is used if a parameter, normally generated here, is to be either modified or nullified --> +<!-- If parameter is specified --> +<!-- If specified as '', then nullify it --> +<!-- else pass it on --> +<!-- else generate it --> +|ger={{#if:{{{ger|}}}|{{#ifeq:{{{ger|}}}|''||{{{ger}}}}}|{{{1}}}ando}} +<!-- If an alternative form has been specified, pass it on. --> +|ger2={{#if:{{{ger2|}}}|{{{ger2}}}|}} +<!-- Present participle - same logic as gerund --> +|presp={{#if:{{{presp|}}}|{{#ifeq:{{{presp|}}}|''||{{{presp}}}}}|{{{1}}}ante}} +|presp2={{#if:{{{presp2|}}}|{{{presp2}}}|}} +<!-- Past participle - same logic as gerund --> +|pastp={{#if:{{{pastp|}}}|{{#ifeq:{{{pastp|}}}|''||{{{pastp}}}}}|{{{1}}}ato}} +|pastp2={{#if:{{{pastp2|}}}|{{{pastp2}}}|}} +|pastp3={{#if:{{{pastp3|}}}|{{{pastp3}}}|}} +|pastp4={{#if:{{{pastp4|}}}|{{{pastp4}}}|}} +|pres1s={{#if:{{{pres1s|}}}|{{{pres1s}}}|{{{1}}}o}} +|pres1s2={{#if:{{{pres1s2|}}}|{{{pres1s2}}}|}} +|pres2s={{#if:{{{pres2s|}}}|{{{pres2s}}}|{{{1}}}i}} +|pres2s2={{#if:{{{pres2s2|}}}|{{{pres2s2}}}|}} +|pres3s={{#if:{{{pres3s|}}}|{{{pres3s}}}|{{{1}}}a}} +|pres3s2={{#if:{{{pres3s2|}}}|{{{pres3s2}}}|}} +|pres1p={{#if:{{{pres1p|}}}|{{{pres1p}}}|{{{1}}}amo}} +|pres1p2={{#if:{{{pres1p2|}}}|{{{pres1p2}}}|}} +|pres2p={{#if:{{{pres2p|}}}|{{{pres2p}}}|{{{1}}}ate}} +|pres2p2={{#if:{{{pres2p2|}}}|{{{pres2p2}}}|}} +|pres3p={{#if:{{{pres3p|}}}|{{{pres3p}}}|{{{1}}}ano}} +|pres3p2={{#if:{{{pres3p2|}}}|{{{pres3p2}}}|}} +|imperf1s={{#if:{{{imperf1s|}}}|{{{imperf1s}}}|{{{1}}}avo}} +|imperf1s2={{#if:{{{imperf1s2|}}}|{{{imperf1s2}}}|}} +|imperf2s={{#if:{{{imperf2s|}}}|{{{imperf2s}}}|{{{1}}}avi}} +|imperf2s2={{#if:{{{imperf2s2|}}}|{{{imperf2s2}}}|}} +|imperf3s={{#if:{{{imperf3s|}}}|{{{imperf3s}}}|{{{1}}}ava}} +|imperf3s2={{#if:{{{imperf3s2|}}}|{{{imperf3s2}}}|}} +|imperf1p={{#if:{{{imperf1p|}}}|{{{imperf1p}}}|{{{1}}}avamo}} +|imperf1p2={{#if:{{{imperf1p2|}}}|{{{imperf1p2}}}|}} +|imperf2p={{#if:{{{imperf2p|}}}|{{{imperf2p}}}|{{{1}}}avate}} +|imperf2p2={{#if:{{{imperf2p2|}}}|{{{imperf2p2}}}|}} +|imperf3p={{#if:{{{imperf3p|}}}|{{{imperf3p}}}|{{{1}}}avano}} +|imperf3p2={{#if:{{{imperf2p2|}}}|{{{imperf2p2}}}|}} +|prem1s={{#if:{{{prem1s|}}}|{{{prem1s}}}|{{{1}}}ai}} +|prem1s2={{#if:{{{prem1s2|}}}|{{{prem1s2}}}|}} +|prem1s3={{#if:{{{prem1s3|}}}|{{{prem1s3}}}|}} +|prem2s={{#if:{{{prem2s|}}}|{{{prem2s}}}|{{{1}}}asti}} +|prem2s2={{#if:{{{prem2s2|}}}|{{{prem2s2}}}|}} +|prem3s={{#if:{{{prem3s|}}}|{{{prem3s}}}|{{{1}}}ò}} +|prem3s2={{#if:{{{prem3s2|}}}|{{{prem3s2}}}|}} +|prem1p={{#if:{{{prem1p|}}}|{{{prem1p}}}|{{{1}}}ammo}} +|prem1p2={{#if:{{{prem1p2|}}}|{{{prem1p2}}}|}} +|prem2p={{#if:{{{prem2p|}}}|{{{prem2p}}}|{{{1}}}aste}} +|prem2p2={{#if:{{{prem2p2|}}}|{{{prem2p2}}}|}} +|prem3p={{#if:{{{prem3p|}}}|{{{prem3p}}}|{{{1}}}arono}} +|prem3p2={{#if:{{{prem3p2|}}}|{{{prem3p2}}}|}} +|prem3p3={{#if:{{{prem3p3|}}}|{{{prem3p3}}}|}} +<!-- Future and conditional - same logic as gerund --> +|fut1s={{#if:{{{fut1s|}}}|{{#ifeq:{{{fut1s|}}}|''||{{{fut1s}}}}}|{{{1}}}erò}} +|fut1s2={{#if:{{{fut1s2|}}}|{{{fut1s2}}}|}} +|fut2s={{#if:{{{fut2s|}}}|{{#ifeq:{{{fut2s|}}}|''||{{{fut2s}}}}}|{{{1}}}erai}} +|fut2s2={{#if:{{{fut2s2|}}}|{{{fut2s2}}}|}} +|fut3s={{#if:{{{fut3s|}}}|{{#ifeq:{{{fut3s|}}}|''||{{{fut3s}}}}}|{{{1}}}erà}} +|fut3s2={{#if:{{{fut3s2|}}}|{{{fut3s2}}}|}} +|fut1p={{#if:{{{fut1p|}}}|{{#ifeq:{{{fut1p|}}}|''||{{{fut1p}}}}}|{{{1}}}eremo}} +|fut1p2={{#if:{{{fut1p2|}}}|{{{fut1p2}}}|}} +|fut2p={{#if:{{{fut2p|}}}|{{#ifeq:{{{fut2p|}}}|''||{{{fut2p}}}}}|{{{1}}}erete}} +|fut2p2={{#if:{{{fut2p2|}}}|{{{fut2p2}}}|}} +|fut3p={{#if:{{{fut3p|}}}|{{#ifeq:{{{fut3p|}}}|''||{{{fut3p}}}}}|{{{1}}}eranno}} +|fut3p2={{#if:{{{fut3p2|}}}|{{{fut3p2}}}|}} +|cond1s={{#if:{{{cond1s|}}}|{{#ifeq:{{{cond1s|}}}|''||{{{cond1s}}}}}|{{{1}}}erei}} +|cond1s2={{#if:{{{cond1s2|}}}|{{{cond1s2}}}|}} +|cond2s={{#if:{{{cond2s|}}}|{{#ifeq:{{{cond2s|}}}|''||{{{cond2s}}}}}|{{{1}}}eresti}}|cond2s2={{#if:{{{cond2s2|}}}|{{{cond2s2}}}|}} +|cond3s={{#if:{{{cond3s|}}}|{{#ifeq:{{{cond3s|}}}|''||{{{cond3s}}}}}|{{{1}}}erebbe}} +|cond3s2={{#if:{{{cond3s2|}}}|{{{cond3s2}}}|}} +|cond1p={{#if:{{{cond1p|}}}|{{#ifeq:{{{cond1p|}}}|''||{{{cond1p}}}}}|{{{1}}}eremmo}} +|cond1p2={{#if:{{{cond1p2|}}}|{{{cond1p2}}}|}} +|cond2p={{#if:{{{cond2p|}}}|{{#ifeq:{{{cond2p|}}}|''||{{{cond2p}}}}}|{{{1}}}ereste}} +|cond2p2={{#if:{{{cond2p2|}}}|{{{cond2p2}}}|}} +|cond3p={{#if:{{{cond3p|}}}|{{#ifeq:{{{cond3p|}}}|''||{{{cond3p}}}}}|{{{1}}}erebbero}} +|cond3p2={{#if:{{{cond2p2|}}}|{{{cond2p2}}}|}} +|sub123s={{#if:{{{sub123s|}}}|{{{sub123s}}}|{{{1}}}i}} +|sub123s2={{#if:{{{sub123s2|}}}|{{{sub123s2}}}|}} +|sub1p={{#if:{{{sub1p|}}}|{{{sub1p}}}|{{{1}}}amo}} +|sub1p2={{#if:{{{sub1p2|}}}|{{{sub1p2}}}|}} +|sub2p={{#if:{{{sub2p|}}}|{{{sub2p}}}|{{{1}}}ate}} +|sub2p2={{#if:{{{sub2p2|}}}|{{{sub2p2}}}|}} +|sub3p={{#if:{{{sub3p|}}}|{{{sub3p}}}|{{{1}}}ino}} +|sub3p2={{#if:{{{sub3p2|}}}|{{{sub3p2}}}|}} +|impsub12s={{#if:{{{impsub12s|}}}|{{{impsub12s}}}|{{{1}}}assi}} +|impsub12s2={{#if:{{{impsub12s2|}}}|{{{impsub12s2}}}|}} +|impsub3s={{#if:{{{impsub3s|}}}|{{{impsub3s}}}|{{{1}}}asse}} +|impsub3s2={{#if:{{{impsub3s2|}}}|{{{impsub3s2}}}|}} +|impsub1p={{#if:{{{impsub1p|}}}|{{{impsub1p}}}|{{{1}}}assimo}} +|impsub1p2={{#if:{{{impsub1p2|}}}|{{{impsub1p2}}}|}} +|impsub2p={{#if:{{{impsub2p|}}}|{{{impsub2p}}}|{{{1}}}aste}} +|impsub2p2={{#if:{{{impsub2p2|}}}|{{{impsub2p2}}}|}} +|impsub3p={{#if:{{{impsub3p|}}}|{{{impsub3p}}}|{{{1}}}assero}} +|impsub3p2={{#if:{{{impsub2p2|}}}|{{{impsub2p2}}}|}} +<!-- Imperatives - same logic as past participle --> +|imp2s={{#if:{{{imp2s|}}}|{{#ifeq:{{{imp2s|}}}|''||{{{imp2s}}}}}|{{{1}}}a}} +|imp2s2={{#if:{{{imp2s2|}}}|{{{imp2s2}}}|}} +|imp2s3={{#if:{{{imp2s3|}}}|{{{imp2s3}}}|}} +|imp3s={{#if:{{{imp3s|}}}|{{#ifeq:{{{imp3s|}}}|''||{{{imp3s}}}}}|{{{1}}}i}} +|imp3s2={{#if:{{{imp3s2|}}}|{{{imp3s2}}}|}} +|imp1p={{#if:{{{imp1p|}}}|{{#ifeq:{{{imp1p|}}}|''||{{{imp1p}}}}}|{{{1}}}amo}} +|imp1p2={{#if:{{{imp1p2|}}}|{{{imp1p2}}}|}} +|imp2p={{#if:{{{imp2p|}}}|{{#ifeq:{{{imp2p|}}}|''||{{{imp2p}}}}}|{{{1}}}ate}} +|imp2p2={{#if:{{{imp2p2|}}}|{{{imp2p2}}}|}} +|imp3p={{#if:{{{imp3p|}}}|{{#ifeq:{{{imp3p|}}}|''||{{{imp3p}}}}}|{{{1}}}ino}} +|imp3p2={{#if:{{{imp3p2|}}}|{{{imp3p2}}}|}} +}}<noinclude>{{documentation}}</noinclude> diff --git a/src/com/hughes/android/dictionary/parser/wiktionary/templates/it-conj-iare.txt b/src/com/hughes/android/dictionary/parser/wiktionary/templates/it-conj-iare.txt new file mode 100644 index 0000000..5ad13a2 --- /dev/null +++ b/src/com/hughes/android/dictionary/parser/wiktionary/templates/it-conj-iare.txt @@ -0,0 +1,127 @@ + Template:it-conj-iare + 10 + 71712 + + 9534766 + 9326052 + 2010-07-24T23:11:42Z + + Bequw + 36224 + + +{{documentation}} + ekl1e9o2x8hsas9t1xckhkn7b6z5n7l + {{it-conj +<!-- If a parameter has been specified, pass it on, else generate it here --> +<!-- The same construction is used for most other forms. --> +|inf={{#if:{{{inf|}}}|{{{inf}}}|{{{1}}}are}} +|aux={{{2}}} +<!-- The following logic is used if a parameter, normally generated here, is to be either modified or nullified --> +<!-- If parameter is specified --> +<!-- If specified as '', then nullify it --> +<!-- else pass it on --> +<!-- else generate it --> +|ger={{#if:{{{ger|}}}|{{#ifeq:{{{ger|}}}|''||{{{ger}}}}}|{{{1}}}ando}} +<!-- If an alternative form has been specified, pass it on. --> +|ger2={{#if:{{{ger2|}}}|{{{ger2}}}|}} +<!-- Present participle - same logic as gerund --> +|presp={{#if:{{{presp|}}}|{{#ifeq:{{{presp|}}}|''||{{{presp}}}}}|{{{1}}}ante}} +|presp2={{#if:{{{presp2|}}}|{{{presp2}}}|}} +<!-- Past participle - same logic as gerund --> +|pastp={{#if:{{{pastp|}}}|{{#ifeq:{{{pastp|}}}|''||{{{pastp}}}}}|{{{1}}}ato}} +|pastp2={{#if:{{{pastp2|}}}|{{{pastp2}}}|}} +|pastp3={{#if:{{{pastp3|}}}|{{{pastp3}}}|}} +|pastp4={{#if:{{{pastp4|}}}|{{{pastp4}}}|}} +|pres1s={{#if:{{{pres1s|}}}|{{{pres1s}}}|{{{1}}}o}} +|pres1s2={{#if:{{{pres1s2|}}}|{{{pres1s2}}}|}} +|pres2s={{#if:{{{pres2s|}}}|{{{pres2s}}}|{{{1}}}}} +|pres2s2={{#if:{{{pres2s2|}}}|{{{pres2s2}}}|}} +|pres3s={{#if:{{{pres3s|}}}|{{{pres3s}}}|{{{1}}}a}} +|pres3s2={{#if:{{{pres3s2|}}}|{{{pres3s2}}}|}} +|pres1p={{#if:{{{pres1p|}}}|{{{pres1p}}}|{{{1}}}amo}} +|pres1p2={{#if:{{{pres1p2|}}}|{{{pres1p2}}}|}} +|pres2p={{#if:{{{pres2p|}}}|{{{pres2p}}}|{{{1}}}ate}} +|pres2p2={{#if:{{{pres2p2|}}}|{{{pres2p2}}}|}} +|pres3p={{#if:{{{pres3p|}}}|{{{pres3p}}}|{{{1}}}ano}} +|pres3p2={{#if:{{{pres3p2|}}}|{{{pres3p2}}}|}} +|imperf1s={{#if:{{{imperf1s|}}}|{{{imperf1s}}}|{{{1}}}avo}} +|imperf1s2={{#if:{{{imperf1s2|}}}|{{{imperf1s2}}}|}} +|imperf2s={{#if:{{{imperf2s|}}}|{{{imperf2s}}}|{{{1}}}avi}} +|imperf2s2={{#if:{{{imperf2s2|}}}|{{{imperf2s2}}}|}} +|imperf3s={{#if:{{{imperf3s|}}}|{{{imperf3s}}}|{{{1}}}ava}} +|imperf3s2={{#if:{{{imperf3s2|}}}|{{{imperf3s2}}}|}} +|imperf1p={{#if:{{{imperf1p|}}}|{{{imperf1p}}}|{{{1}}}avamo}} +|imperf1p2={{#if:{{{imperf1p2|}}}|{{{imperf1p2}}}|}} +|imperf2p={{#if:{{{imperf2p|}}}|{{{imperf2p}}}|{{{1}}}avate}} +|imperf2p2={{#if:{{{imperf2p2|}}}|{{{imperf2p2}}}|}} +|imperf3p={{#if:{{{imperf3p|}}}|{{{imperf3p}}}|{{{1}}}avano}} +|imperf3p2={{#if:{{{imperf2p2|}}}|{{{imperf2p2}}}|}} +|prem1s={{#if:{{{prem1s|}}}|{{{prem1s}}}|{{{1}}}ai}} +|prem1s2={{#if:{{{prem1s2|}}}|{{{prem1s2}}}|}} +|prem1s3={{#if:{{{prem1s3|}}}|{{{prem1s3}}}|}} +|prem2s={{#if:{{{prem2s|}}}|{{{prem2s}}}|{{{1}}}asti}} +|prem2s2={{#if:{{{prem2s2|}}}|{{{prem2s2}}}|}} +|prem3s={{#if:{{{prem3s|}}}|{{{prem3s}}}|{{{1}}}ò}} +|prem3s2={{#if:{{{prem3s2|}}}|{{{prem3s2}}}|}} +|prem1p={{#if:{{{prem1p|}}}|{{{prem1p}}}|{{{1}}}ammo}} +|prem1p2={{#if:{{{prem1p2|}}}|{{{prem1p2}}}|}} +|prem2p={{#if:{{{prem2p|}}}|{{{prem2p}}}|{{{1}}}aste}} +|prem2p2={{#if:{{{prem2p2|}}}|{{{prem2p2}}}|}} +|prem3p={{#if:{{{prem3p|}}}|{{{prem3p}}}|{{{1}}}arono}} +|prem3p2={{#if:{{{prem3p2|}}}|{{{prem3p2}}}|}} +|prem3p3={{#if:{{{prem3p3|}}}|{{{prem3p3}}}|}} +<!-- Future and conditional - same logic as gerund --> +|fut1s={{#if:{{{fut1s|}}}|{{#ifeq:{{{fut1s|}}}|''||{{{fut1s}}}}}|{{{1}}}erò}} +|fut1s2={{#if:{{{fut1s2|}}}|{{{fut1s2}}}|}} +|fut2s={{#if:{{{fut2s|}}}|{{#ifeq:{{{fut2s|}}}|''||{{{fut2s}}}}}|{{{1}}}erai}} +|fut2s2={{#if:{{{fut2s2|}}}|{{{fut2s2}}}|}} +|fut3s={{#if:{{{fut3s|}}}|{{#ifeq:{{{fut3s|}}}|''||{{{fut3s}}}}}|{{{1}}}erà}} +|fut3s2={{#if:{{{fut3s2|}}}|{{{fut3s2}}}|}} +|fut1p={{#if:{{{fut1p|}}}|{{#ifeq:{{{fut1p|}}}|''||{{{fut1p}}}}}|{{{1}}}eremo}} +|fut1p2={{#if:{{{fut1p2|}}}|{{{fut1p2}}}|}} +|fut2p={{#if:{{{fut2p|}}}|{{#ifeq:{{{fut2p|}}}|''||{{{fut2p}}}}}|{{{1}}}erete}} +|fut2p2={{#if:{{{fut2p2|}}}|{{{fut2p2}}}|}} +|fut3p={{#if:{{{fut3p|}}}|{{#ifeq:{{{fut3p|}}}|''||{{{fut3p}}}}}|{{{1}}}eranno}} +|fut3p2={{#if:{{{fut3p2|}}}|{{{fut3p2}}}|}} +|cond1s={{#if:{{{cond1s|}}}|{{#ifeq:{{{cond1s|}}}|''||{{{cond1s}}}}}|{{{1}}}erei}} +|cond1s2={{#if:{{{cond1s2|}}}|{{{cond1s2}}}|}} +|cond2s={{#if:{{{cond2s|}}}|{{#ifeq:{{{cond2s|}}}|''||{{{cond2s}}}}}|{{{1}}}eresti}}|cond2s2={{#if:{{{cond2s2|}}}|{{{cond2s2}}}|}} +|cond3s={{#if:{{{cond3s|}}}|{{#ifeq:{{{cond3s|}}}|''||{{{cond3s}}}}}|{{{1}}}erebbe}} +|cond3s2={{#if:{{{cond3s2|}}}|{{{cond3s2}}}|}} +|cond1p={{#if:{{{cond1p|}}}|{{#ifeq:{{{cond1p|}}}|''||{{{cond1p}}}}}|{{{1}}}eremmo}} +|cond1p2={{#if:{{{cond1p2|}}}|{{{cond1p2}}}|}} +|cond2p={{#if:{{{cond2p|}}}|{{#ifeq:{{{cond2p|}}}|''||{{{cond2p}}}}}|{{{1}}}ereste}} +|cond2p2={{#if:{{{cond2p2|}}}|{{{cond2p2}}}|}} +|cond3p={{#if:{{{cond3p|}}}|{{#ifeq:{{{cond3p|}}}|''||{{{cond3p}}}}}|{{{1}}}erebbero}} +|cond3p2={{#if:{{{cond2p2|}}}|{{{cond2p2}}}|}} +|sub123s={{#if:{{{sub123s|}}}|{{{sub123s}}}|{{{1}}}}} +|sub123s2={{#if:{{{sub123s2|}}}|{{{sub123s2}}}|}} +|sub1p={{#if:{{{sub1p|}}}|{{{sub1p}}}|{{{1}}}amo}} +|sub1p2={{#if:{{{sub1p2|}}}|{{{sub1p2}}}|}} +|sub2p={{#if:{{{sub2p|}}}|{{{sub2p}}}|{{{1}}}ate}} +|sub2p2={{#if:{{{sub2p2|}}}|{{{sub2p2}}}|}} +|sub3p={{#if:{{{sub3p|}}}|{{{sub3p}}}|{{{1}}}no}} +|sub3p2={{#if:{{{sub3p2|}}}|{{{sub3p2}}}|}} +|impsub12s={{#if:{{{impsub12s|}}}|{{{impsub12s}}}|{{{1}}}assi}} +|impsub12s2={{#if:{{{impsub12s2|}}}|{{{impsub12s2}}}|}} +|impsub3s={{#if:{{{impsub3s|}}}|{{{impsub3s}}}|{{{1}}}asse}} +|impsub3s2={{#if:{{{impsub3s2|}}}|{{{impsub3s2}}}|}} +|impsub1p={{#if:{{{impsub1p|}}}|{{{impsub1p}}}|{{{1}}}assimo}} +|impsub1p2={{#if:{{{impsub1p2|}}}|{{{impsub1p2}}}|}} +|impsub2p={{#if:{{{impsub2p|}}}|{{{impsub2p}}}|{{{1}}}aste}} +|impsub2p2={{#if:{{{impsub2p2|}}}|{{{impsub2p2}}}|}} +|impsub3p={{#if:{{{impsub3p|}}}|{{{impsub3p}}}|{{{1}}}assero}} +|impsub3p2={{#if:{{{impsub2p2|}}}|{{{impsub2p2}}}|}} +<!-- Imperatives - same logic as past participle --> +|imp2s={{#if:{{{imp2s|}}}|{{#ifeq:{{{imp2s|}}}|''||{{{imp2s}}}}}|{{{1}}}a}} +|imp2s2={{#if:{{{imp2s2|}}}|{{{imp2s2}}}|}} +|imp2s3={{#if:{{{imp2s3|}}}|{{{imp2s3}}}|}} +|imp3s={{#if:{{{imp3s|}}}|{{#ifeq:{{{imp3s|}}}|''||{{{imp3s}}}}}|{{{1}}}}} +|imp3s2={{#if:{{{imp3s2|}}}|{{{imp3s2}}}|}} +|imp1p={{#if:{{{imp1p|}}}|{{#ifeq:{{{imp1p|}}}|''||{{{imp1p}}}}}|{{{1}}}amo}} +|imp1p2={{#if:{{{imp1p2|}}}|{{{imp1p2}}}|}} +|imp2p={{#if:{{{imp2p|}}}|{{#ifeq:{{{imp2p|}}}|''||{{{imp2p}}}}}|{{{1}}}ate}} +|imp2p2={{#if:{{{imp2p2|}}}|{{{imp2p2}}}|}} +|imp3p={{#if:{{{imp3p|}}}|{{#ifeq:{{{imp3p|}}}|''||{{{imp3p}}}}}|{{{1}}}no}} +|imp3p2={{#if:{{{imp3p2|}}}|{{{imp3p2}}}|}} +}}<noinclude>{{documentation}}</noinclude> diff --git a/testdata/goldens/testItConj.html b/testdata/goldens/testItConj.html new file mode 100644 index 0000000..d8bdb2d --- /dev/null +++ b/testdata/goldens/testItConj.html @@ -0,0 +1,360 @@ +dictInfo= + +Index: EN EN->IT +===dummyTitle=== +HtmlEntry: dummyTitle <<< + + + + + + + + + + + + + + +
infinitivedare
auxiliary verbaveregerunddando
present participledantepast participledato
indicativeiotului/leinoivoiessi/esse
presentdodaidiamodatedanno
imperfectdavodavidavadavamodavatedavano
past historicdiedi, dettidestidiede, dettedemmodestediedero, dettero
futuredaròdaraidaràdaremodaretedaranno
conditionaliotului/leinoivoiessi/esse
presentdareidarestidarebbedaremmodarestedarebbero
subjuntiveche ioche tuche lui/leiche noiche voiche essi/esse
presentdiadiadiadiamodiatediano
imperfectdessidessidessedessimodestedessero
imperative-tului/leinoivoiessi/esse
dà, dai, da'diadiamodatediano
+ + + + + + + + + + + + + + + +
infinitiveaccusare
auxiliary verbaveregerundaccusando
present participleaccusantepast participleaccusato
indicativeiotului/leinoivoiessi/esse
presentaccusoaccusiaccusaaccusiamoaccusateaccusano
imperfectaccusavoaccusaviaccusavaaccusavamoaccusavateaccusavano
past historicaccusaiaccusastiaccusòaccusammoaccusasteaccusarono
futureaccuseròaccuseraiaccuseràaccuseremoaccusereteaccuseranno
conditionaliotului/leinoivoiessi/esse
presentaccusereiaccuserestiaccuserebbeaccuseremmoaccuseresteaccuserebbero
subjuntiveche ioche tuche lui/leiche noiche voiche essi/esse
presentaccusiaccusiaccusiaccusiamoaccusiateaccusino
imperfectaccusassiaccusassiaccusasseaccusassimoaccusasteaccusassero
imperative-tului/leinoivoiessi/esse
accusaaccusiaccusiamoaccusateaccusino
+ + + + + + + + + + + + + + + +
infinitivepagare
auxiliary verbavere or esseregerundpagando
present participlepagantepast participlepagato
indicativeiotului/leinoivoiessi/esse
presentpagopaghipagapaghiamopagatepagano
imperfectpagavopagavipagavapagavamopagavatepagavano
past historicpagaipagastipagòpagammopagastepagarono
futurepagheròpagheraipagheràpagheremopagheretepagheranno
conditionaliotului/leinoivoiessi/esse
presentpaghereipagherestipagherebbepagheremmopagherestepagherebbero
subjuntiveche ioche tuche lui/leiche noiche voiche essi/esse
presentpaghipaghipaghipaghiamopaghiatepaghino
imperfectpagassipagassipagassepagassimopagastepagassero
imperative-tului/leinoivoiessi/esse
pagapaghipaghiamopagatepaghino
+ + + + + + + + + + + + + + + +
infinitivestudiare
auxiliary verbaveregerundstudiando
present participlestudiantepast participlestudiato
indicativeiotului/leinoivoiessi/esse
presentstudiostudistudiastudiamostudiatestudiano
imperfectstudiavostudiavistudiavastudiavamostudiavatestudiavano
past historicstudiaistudiastistudiòstudiammostudiastestudiarono
futurestudieròstudieraistudieràstudieremostudieretestudieranno
conditionaliotului/leinoivoiessi/esse
presentstudiereistudierestistudierebbestudieremmostudierestestudierebbero
subjuntiveche ioche tuche lui/leiche noiche voiche essi/esse
presentstudistudistudistudiamostudiatestudino
imperfectstudiassistudiassistudiassestudiassimostudiastestudiassero
imperative-tului/leinoivoiessi/esse
studiastudistudiamostudiatestudino
+ + + + + + + + + + + + + + + +
infinitiveavviare
auxiliary verbaveregerundavviando
present participleavviantepast participleavviato
indicativeiotului/leinoivoiessi/esse
presentavvioavviiavviaavviiamoavviateavviano
imperfectavviavoavviaviavviavaavviavamoavviavateavviavano
past historicavviaiavviastiavviòavviammoavviasteavviarono
futureavvieròavvieraiavvieràavvieremoavviereteavvieranno
conditionaliotului/leinoivoiessi/esse
presentavviereiavvierestiavvierebbeavvieremmoavvieresteavvierebbero
subjuntiveche ioche tuche lui/leiche noiche voiche essi/esse
presentavviiavviiavviiavviamoavviateavviino
imperfectavviassiavviassiavviasseavviassimoavviasteavviassero
imperative-tului/leinoivoiessi/esse
avviaavviiavviamoavviateavviino
+ + + + + + + + + + + + + + + +
infinitivepronunciare
auxiliary verbaveregerundpronunciando
present participlepronunciantepast participlepronunciato
indicativeiotului/leinoivoiessi/esse
presentpronunciopronuncipronunciapronunciamopronunciatepronunciano
imperfectpronunciavopronunciavipronunciavapronunciavamopronunciavatepronunciavano
past historicpronunciaipronunciastipronunciòpronunciammopronunciastepronunciarono
futurepronunceròpronunceraipronunceràpronunceremopronunceretepronunceranno
conditionaliotului/leinoivoiessi/esse
presentpronuncereipronuncerestipronuncerebbepronunceremmopronuncerestepronuncerebbero
subjuntiveche ioche tuche lui/leiche noiche voiche essi/esse
presentpronuncipronuncipronuncipronunciamopronunciatepronuncino
imperfectpronunciassipronunciassipronunciassepronunciassimopronunciastepronunciassero
imperative-tului/leinoivoiessi/esse
pronunciapronuncipronunciamopronunciatepronuncino
+ + + + + + + + + + + + + + + +
infinitivesedere
auxiliary verbesseregerundsedendo
present participlesedentepast participleseduto
indicativeiotului/leinoivoiessi/esse
presentsiedo, seggosiedisiedesediamosedetesiedono, seggono
imperfectsedevosedevisedevasedevamosedevatesedevano
past historicsedeisedestisedette, sedésedemmosedestesedettero, sederono
futuresederò, siederòsederai, siederaisederà, siederàsederemo, siederemosederete, siederetesederanno, siederanno
conditionaliotului/leinoivoiessi/esse
presentsederei, siedereisederesti, siederestisederebbe, siederebbesederemmo, siederemmosedereste, siederestesederebbero, siederebbero
subjuntiveche ioche tuche lui/leiche noiche voiche essi/esse
presentsiedasiedasiedasediamosediatesiedano
imperfectsedessisedessisedessesedessimosedestesedessero
imperative-tului/leinoivoiessi/esse
siedisieda, seggasediamosedetesiedano, seggano
+ + + + + + + + + + + + + + + +
infinitivepersuadere
auxiliary verbaveregerundpersuadendo
present participlepersuadentepast participlepersuaso
indicativeiotului/leinoivoiessi/esse
presentpersuadopersuadipersuadepersuadiamopersuadetepersuadono
imperfectpersuadevopersuadevipersuadevapersuadevamopersuadevatepersuadevano
past historicpersuasipersuadestipersuase, persuademmopersuadestepersuasero,
futurepersuaderòpersuaderaipersuaderàpersuaderemopersuaderetepersuaderanno
conditionaliotului/leinoivoiessi/esse
presentpersuadereipersuaderestipersuaderebbepersuaderemmopersuaderestepersuaderebbero
subjuntiveche ioche tuche lui/leiche noiche voiche essi/esse
presentpersuadapersuadapersuadapersuadiamopersuadiatepersuadano
imperfectpersuadessipersuadessipersuadessepersuadessimopersuadestepersuadessero
imperative-tului/leinoivoiessi/esse
persuadipersuadapersuadiamopersuadetepersuadano
+ + + + + + + + + + + + + + + +
infinitiveabbattere
auxiliary verbaveregerundabbattendo
present participleabbattentepast participleabbattuto
indicativeiotului/leinoivoiessi/esse
presentabbattoabbattiabbatteabbattiamoabbatteteabbattono
imperfectabbattevoabbatteviabbattevaabbattevamoabbattevateabbattevano
past historicabbatteiabbattestiabbattette, abbattéabbattemmoabbattesteabbattettero, abbatterono
futureabbatteròabbatteraiabbatteràabbatteremoabbattereteabbatteranno
conditionaliotului/leinoivoiessi/esse
presentabbattereiabbatterestiabbatterebbeabbatteremmoabbatteresteabbatterebbero
subjuntiveche ioche tuche lui/leiche noiche voiche essi/esse
presentabbattaabbattaabbattaabbattiamoabbattiateabbattano
imperfectabbattessiabbattessiabbattesseabbattessimoabbattesteabbattessero
imperative-tului/leinoivoiessi/esse
abbattiabbattaabbattiamoabbatteteabbattano
+ + + + + + + + + + + + + + + +
infinitivecoprire
auxiliary verbaveregerundcoprendo
present participlecoprentepast participlecoperto
indicativeiotului/leinoivoiessi/esse
presentcoprocopricoprecopriamocopritecoprono
imperfectcoprivocoprivicoprivacoprivamocoprivatecoprivano
past historiccoprii, copersicopristicoprì, copersecoprimmocopristecoprirono, copersero
futurecopriròcopriraicopriràcopriremocopriretecopriranno
conditionaliotului/leinoivoiessi/esse
presentcoprireicopriresticoprirebbecopriremmocoprirestecoprirebbero
subjuntiveche ioche tuche lui/leiche noiche voiche essi/esse
presentcopracopracopracopriamocopriatecoprano
imperfectcoprissicoprissicoprissecoprissimocopristecoprissero
imperative-tului/leinoivoiessi/esse
copricopracopriamocopritecoprano
+ + + + + + + + + + + + + + + +
infinitivepreferire
auxiliary verbaveregerundpreferendo
present participlepreferentepast participlepreferito
indicativeiotului/leinoivoiessi/esse
presentpreferiscopreferiscipreferiscepreferiamopreferitepreferiscono
imperfectpreferivopreferivipreferivapreferivamopreferivatepreferivano
past historicpreferiipreferistipreferì, preferépreferimmopreferistepreferirono, prefererono
futurepreferiròpreferiraipreferiràpreferiremopreferiretepreferiranno
conditionaliotului/leinoivoiessi/esse
presentpreferireipreferirestipreferirebbepreferiremmopreferirestepreferirebbero
subjuntiveche ioche tuche lui/leiche noiche voiche essi/esse
presentpreferiscapreferiscapreferiscapreferiamopreferiatepreferiscano
imperfectpreferissipreferissipreferissepreferissimopreferistepreferissero
imperative-tului/leinoivoiessi/esse
preferiscipreferiscapreferiamopreferitepreferiscano
+ + + + + + + + + + + + + + + +
infinitiveprodurre
auxiliary verbaveregerundproducendo
present participleproducentepast participleprodotto
indicativeiotului/leinoivoiessi/esse
presentproducoproduciproduceproduciamoproduceteproducono
imperfectproducevoproduceviproducevaproducevamoproducevateproducevano
past historicprodussiproducestiprodusseproducemmoproducesteprodussero
futureprodurròprodurraiprodurràprodurremoprodurreteprodurranno
conditionaliotului/leinoivoiessi/esse
presentprodurreiprodurrestiprodurrebbeprodurremmoprodurresteprodurrebbero
subjuntiveche ioche tuche lui/leiche noiche voiche essi/esse
presentproducaproducaproducaproduciamoproduciateproducano
imperfectproducessiproducessiproducesseproducessimoproducesteproducessero
imperative-tului/leinoivoiessi/esse
produciproducaproduciamoproduceteproducano
+ + + + + + + + + + + + + + + +
infinitivelavarsi
auxiliary verbgerundlavandosi
present participlelavantesipast participlelavato, lavatosi
indicativeiotului/leinoivoiessi/esse
presentmi lavoti lavisi lavaci laviamovi lavatesi lavano
imperfectmi lavavoti lavavisi lavavaci lavavamovi lavavatesi lavavano
past historicmi lavaiti lavastisi lavòci lavammovi lavastesi lavarono
futuremi laveròti laveraisi laveràci laveremovi laveretesi laveranno
conditionaliotului/leinoivoiessi/esse
presentmi lavereiti laverestisi laverebbeci laveremmovi laverestesi laverebbero
subjuntiveche ioche tuche lui/leiche noiche voiche essi/esse
presentmi laviti lavisi lavici laviamovi laviatesi lavino
imperfectmi lavassiti lavassisi lavasseci lavassimovi lavastesi lavassero
imperative-tului/leinoivoiessi/esse
lavatisi lavilaviamocilavatevisi lavino
+ + + + + + + + + + + + + + + +
infinitiveabbattersi
auxiliary verbgerundabbattendosi
present participleabbattentesipast participleabbattuto, abbattutosi
indicativeiotului/leinoivoiessi/esse
presentmi abbattoti abbattisi abbatteci abbattiamovi abbattetesi abbattono
imperfectmi abbattevoti abbattevisi abbattevaci abbattevamovi abbattevatesi abbattevano
past historicmi abbatteiti abbattestisi abbattette, abbattéci abbattemmovi abbattestesi abbattettero, abbatterono
futuremi abbatteròti abbatteraisi abbatteràci abbatteremovi abbatteretesi abbatteranno
conditionaliotului/leinoivoiessi/esse
presentmi abbattereiti abbatterestisi abbatterebbeci abbatteremmovi abbatterestesi abbatterebbero
subjuntiveche ioche tuche lui/leiche noiche voiche essi/esse
presentmi abbattati abbattasi abbattaci abbattiamovi abbattiatesi abbattano
imperfectmi abbattessiti abbattessisi abbattesseci abbattessimovi abbattestesi abbattessero
imperative-tului/leinoivoiessi/esse
abbattitisi abbattaabbattiamociabbattetevisi abbattano
+ + + + + + + + + + + + + + + +
infinitiveannoiarsi
auxiliary verbgerundannoiandosi
present participleannoiantesipast participleannoiato, annoiatosi
indicativeiotului/leinoivoiessi/esse
presentmi annoioti annoisi annoiaci annoiamovi annoiatesi annoiano
imperfectmi annoiavoti annoiavisi annoiavaci annoiavamovi annoiavatesi annoiavano
past historicmi annoiaiti annoiastisi annoiòci annoiammovi annoiastesi annoiarono
futuremi annoieròti annoieraisi annoieràci annoieremovi annoieretesi annoieranno
conditionaliotului/leinoivoiessi/esse
presentmi annoiereiti annoierestisi annoierebbeci annoieremmovi annoierestesi annoierebbero
subjuntiveche ioche tuche lui/leiche noiche voiche essi/esse
presentmi annoiti annoisi annoici annoiamovi annoiatesi annoino
imperfectmi annoiassiti annoiassisi annoiasseci annoiassimovi annoiastesi annoiassero
imperative-tului/leinoivoiessi/esse
annoiatisi annoiannoiamociannoiatevisi annoino
+ + + + + + + + + + + + + + + +
infinitivevestirsi
auxiliary verbgerundvestendosi
present participlevestentesipast participlevestito, vestitosi
indicativeiotului/leinoivoiessi/esse
presentmi vestoti vestisi vesteci vestiamovi vestitesi vestono
imperfectmi vestivoti vestivisi vestivaci vestivamovi vestivatesi vestivano
past historicmi vestiiti vestistisi vestì, vestéci vestimmovi vestistesi vestirono, vesterono
futuremi vestiròti vestiraisi vestiràci vestiremovi vestiretesi vestiranno
conditionaliotului/leinoivoiessi/esse
presentmi vestireiti vestirestisi vestirebbeci vestiremmovi vestirestesi vestirebbero
subjuntiveche ioche tuche lui/leiche noiche voiche essi/esse
presentmi vestati vestasi vestaci vestiamovi vestiatesi vestano
imperfectmi vestissiti vestissisi vestisseci vestissimovi vestistesi vestissero
imperative-tului/leinoivoiessi/esse
vestitisi vestavestiamocivestitevisi vestano
+ + + + + + + + + + + + + + + +
infinitiveferirsi
auxiliary verbgerundferendosi
present participleferentesipast participleferito, feritosi
indicativeiotului/leinoivoiessi/esse
presentmi feriscoti feriscisi ferisceci feriamovi feritesi feriscono
imperfectmi ferivoti ferivisi ferivaci ferivamovi ferivatesi ferivano
past historicmi feriiti feristisi ferì, feréci ferimmovi feristesi ferirono, fererono
futuremi feriròti feriraisi feriràci feriremovi feriretesi feriranno
conditionaliotului/leinoivoiessi/esse
presentmi ferireiti ferirestisi ferirebbeci feriremmovi ferirestesi ferirebbero
subjuntiveche ioche tuche lui/leiche noiche voiche essi/esse
presentmi feriscati feriscasi feriscaci feriamovi feriatesi feriscano
imperfectmi ferissiti ferissisi ferisseci ferissimovi feristesi ferissero
imperative-tului/leinoivoiessi/esse
feriscitisi feriscaferiamociferitevisi feriscano
+ + + + + + + + + + + + + + + +
infinitiveridursi
auxiliary verbesseregerundriducendosi
present participleriducentesipast participleridotto, ridottosi
indicativeiotului/leinoivoiessi/esse
presentmi riducoti riducisi riduceci riduciamovi riducetesi riducono
imperfectmi riducevoti riducevisi riducevaci riducevamovi riducevatesi riducevano
past historicmi ridussiti riducestisi ridusseci riducemmovi riducestesi ridussero
futuremi ridurròti ridurraisi ridurràci ridurremovi ridurretesi ridurranno
conditionaliotului/leinoivoiessi/esse
presentmi ridurreiti ridurrestisi ridurrebbeci ridurremmovi ridurrestesi ridurrebbero
subjuntiveche ioche tuche lui/leiche noiche voiche essi/esse
presentmi riducati riducasi riducaci riduciamovi riduciatesi riducano
imperfectmi riducessiti riducessisi riducesseci riducessimovi riducestesi riducessero
imperative-tului/leinoivoiessi/esse
riducitisiriducariduciamociriducetevisiriducano
+ + + + + + + + + + + + + + + +
infinitivericucire
auxiliary verbaveregerundricucendo
present participlericucentepast participlericucito
indicativeiotului/leinoivoiessi/esse
presentricucioricuciricucericuciamoricucitericuciono
imperfectricucivoricuciviricucivaricucivamoricucivatericucivano
past historicricuciiricucistiricucì, ricucéricucimmoricucistericucirono, ricucerono
futurericuciròricucirairicuciràricuciremoricuciretericuciranno
conditionaliotului/leinoivoiessi/esse
presentricucireiricucirestiricucirebbericuciremmoricucirestericucirebbero
subjuntiveche ioche tuche lui/leiche noiche voiche essi/esse
presentricuciaricuciaricuciaricuciamoricuciatericuciano
imperfectricucissiricucissiricucissericucissimoricucistericucissero
imperative-tului/leinoivoiessi/esse
ricuciricuciaricuciamoricucitericuciano
+ + + + + + + + + + + + + + + +
infinitiveriavviarsi
auxiliary verbesseregerundriavviandosi
present participleriavviantesipast participleriavviato, riavviatosi
indicativeiotului/leinoivoiessi/esse
presentmi riavvioti riavviisi riavviaci riavviiamovi riavviatesi riavviano
imperfectmi riavviavoti riavviavisi riavviavaci riavviavamovi riavviavatesi riavviavano
past historicmi riavviaiti riavviastisi riavviòci riavviammovi riavviastesi riavviarono
futuremi riavvieròti riavvieraisi riavvieràci riavvieremovi riavvieretesi riavvieranno
conditionaliotului/leinoivoiessi/esse
presentmi riavviereiti riavvierestisi riavvierebbeci riavvieremmovi riavvierestesi riavvierebbero
subjuntiveche ioche tuche lui/leiche noiche voiche essi/esse
presentmi riavviiti riavviisi riavviici riavviamovi riavviatesi riavviino
imperfectmi riavviassiti riavviassisi riavviasseci riavviassimovi riavviastesi riavviassero
imperative-tului/leinoivoiessi/esse
riavviatisi riavviiriavviamociriavviatevisi riavviino
+ + + + + + + + + + + + + + + +
infinitiveputrefare
auxiliary verbaveregerundputrefacendo
present participleputrefacentepast participleputrefatto
indicativeiotului/leinoivoiessi/esse
presentputrefaccio, putrefòputrefaiputrefàputrefacciamoputrefateputrefanno
imperfectputrefacevoputrefaceviputrefacevaputrefacevamoputrefacevateputrefacevano
past historicputrefeciputrefacestiputrefeceputrefacemmoputrefacesteputrefecero
futureputrefaròputrefaraiputrefaràputrefaremoputrefareteputrefaranno
conditionaliotului/leinoivoiessi/esse
presentputrefareiputrefarestiputrefarebbeputrefaremmoputrefaresteputrefarebbero
subjuntiveche ioche tuche lui/leiche noiche voiche essi/esse
presentputrefacciaputrefacciaputrefacciaputrefacciamoputrefacciateputrefacciano
imperfectputrefacessiputrefacessiputrefacesseputrefacessimoputrefacesteputrefacessero
imperative-tului/leinoivoiessi/esse
putrefaputrefacciaputrefacciamoputrefateputrefacciano
+ + + + + + + + + + + + + + + +
infinitivecucirsi
auxiliary verbesseregerundcucendosi
present participlecucentesipast participlecucito, cucitosi
indicativeiotului/leinoivoiessi/esse
presentmi cucioti cucisi cuceci cuciamovi cucitesi cuciono
imperfectmi cucivoti cucivisi cucivaci cucivamovi cucivatesi cucivano
past historicmi cuciiti cucistisi cucì, cucéci cucimmovi cucistesi cucirono, cucerono
futuremi cuciròti cuciraisi cuciràci cuciremovi cuciretesi cuciranno
conditionaliotului/leinoivoiessi/esse
presentmi cucireiti cucirestisi cucirebbeci cuciremmovi cucirestesi cucirebbero
subjuntiveche ioche tuche lui/leiche noiche voiche essi/esse
presentmi cuciati cuciasi cuciaci cuciamovi cuciatesi cuciano
imperfectmi cucissiti cucissisi cucisseci cucissimovi cucistesi cucissero
imperative-tului/leinoivoiessi/esse
cucitisi cuciacuciamocicucitevisi cuciano
+>>> + +Index: IT IT->EN + diff --git a/testdata/goldens/wiktionary.WholeSection.IT.quickdic.text b/testdata/goldens/wiktionary.WholeSection.IT.quickdic.text index 5d6be60..cf8387d 100644 --- a/testdata/goldens/wiktionary.WholeSection.IT.quickdic.text +++ b/testdata/goldens/wiktionary.WholeSection.IT.quickdic.text @@ -364,7 +364,8 @@ HtmlEntry: accreditare <<< imperfectaccreditassiaccreditassiaccreditasseaccreditassimoaccreditasteaccreditassero imperative-tului/leinoivoiessi/esse accreditaaccreditiaccreditiamoaccreditateaccreditino ->>> + +>>> ===accresce=== HtmlEntry: accresce <<<

Verb

@@ -438,7 +439,8 @@ HtmlEntry: accusare <<< imperfectaccusassiaccusassiaccusasseaccusassimoaccusasteaccusassero imperative-tului/leinoivoiessi/esse accusaaccusiaccusiamoaccusateaccusino ->>> + +>>> ===accusato=== HtmlEntry: accusato <<<

Noun

@@ -3261,6 +3263,7 @@ From {{etyl|la|it}} {{term|dare|lang=la}}, present active infinitive of {{term|d imperative-tului/leinoivoiessi/esse dà, dai, da'diadiamodatediano +

Usage notes

The imperative forms of the second-person singular are compounded with pronouns as follows:
  • {{l|it|da'}} + {{l|it|ci}} → {{l|it|dacci}}
  • @@ -3906,7 +3909,8 @@ From {{etyl|la|it}} implēr& imperfectempissiempissiempisseempissimoempisteempissero imperative-tului/leinoivoiessi/esse empiempiaempiamoempiteempiano ->>> + +>>> ===emulate=== HtmlEntry: emulate <<<

    Verb

    @@ -4032,6 +4036,7 @@ From {{etyl|la|it}}
    esse, present active infinitive imperative-tului/leinoivoiessi/esse siisiasiamosiatesiano +

    Noun

    {{it-noun|esser|m|e|i}}
    1. being
    2. diff --git a/testdata/outputs/testItConj.html b/testdata/outputs/testItConj.html new file mode 100644 index 0000000..d8bdb2d --- /dev/null +++ b/testdata/outputs/testItConj.html @@ -0,0 +1,360 @@ +dictInfo= + +Index: EN EN->IT +===dummyTitle=== +HtmlEntry: dummyTitle <<< + + + + + + + + + + + + + + +
      infinitivedare
      auxiliary verbaveregerunddando
      present participledantepast participledato
      indicativeiotului/leinoivoiessi/esse
      presentdodaidiamodatedanno
      imperfectdavodavidavadavamodavatedavano
      past historicdiedi, dettidestidiede, dettedemmodestediedero, dettero
      futuredaròdaraidaràdaremodaretedaranno
      conditionaliotului/leinoivoiessi/esse
      presentdareidarestidarebbedaremmodarestedarebbero
      subjuntiveche ioche tuche lui/leiche noiche voiche essi/esse
      presentdiadiadiadiamodiatediano
      imperfectdessidessidessedessimodestedessero
      imperative-tului/leinoivoiessi/esse
      dà, dai, da'diadiamodatediano
      + + + + + + + + + + + + + + + +
      infinitiveaccusare
      auxiliary verbaveregerundaccusando
      present participleaccusantepast participleaccusato
      indicativeiotului/leinoivoiessi/esse
      presentaccusoaccusiaccusaaccusiamoaccusateaccusano
      imperfectaccusavoaccusaviaccusavaaccusavamoaccusavateaccusavano
      past historicaccusaiaccusastiaccusòaccusammoaccusasteaccusarono
      futureaccuseròaccuseraiaccuseràaccuseremoaccusereteaccuseranno
      conditionaliotului/leinoivoiessi/esse
      presentaccusereiaccuserestiaccuserebbeaccuseremmoaccuseresteaccuserebbero
      subjuntiveche ioche tuche lui/leiche noiche voiche essi/esse
      presentaccusiaccusiaccusiaccusiamoaccusiateaccusino
      imperfectaccusassiaccusassiaccusasseaccusassimoaccusasteaccusassero
      imperative-tului/leinoivoiessi/esse
      accusaaccusiaccusiamoaccusateaccusino
      + + + + + + + + + + + + + + + +
      infinitivepagare
      auxiliary verbavere or esseregerundpagando
      present participlepagantepast participlepagato
      indicativeiotului/leinoivoiessi/esse
      presentpagopaghipagapaghiamopagatepagano
      imperfectpagavopagavipagavapagavamopagavatepagavano
      past historicpagaipagastipagòpagammopagastepagarono
      futurepagheròpagheraipagheràpagheremopagheretepagheranno
      conditionaliotului/leinoivoiessi/esse
      presentpaghereipagherestipagherebbepagheremmopagherestepagherebbero
      subjuntiveche ioche tuche lui/leiche noiche voiche essi/esse
      presentpaghipaghipaghipaghiamopaghiatepaghino
      imperfectpagassipagassipagassepagassimopagastepagassero
      imperative-tului/leinoivoiessi/esse
      pagapaghipaghiamopagatepaghino
      + + + + + + + + + + + + + + + +
      infinitivestudiare
      auxiliary verbaveregerundstudiando
      present participlestudiantepast participlestudiato
      indicativeiotului/leinoivoiessi/esse
      presentstudiostudistudiastudiamostudiatestudiano
      imperfectstudiavostudiavistudiavastudiavamostudiavatestudiavano
      past historicstudiaistudiastistudiòstudiammostudiastestudiarono
      futurestudieròstudieraistudieràstudieremostudieretestudieranno
      conditionaliotului/leinoivoiessi/esse
      presentstudiereistudierestistudierebbestudieremmostudierestestudierebbero
      subjuntiveche ioche tuche lui/leiche noiche voiche essi/esse
      presentstudistudistudistudiamostudiatestudino
      imperfectstudiassistudiassistudiassestudiassimostudiastestudiassero
      imperative-tului/leinoivoiessi/esse
      studiastudistudiamostudiatestudino
      + + + + + + + + + + + + + + + +
      infinitiveavviare
      auxiliary verbaveregerundavviando
      present participleavviantepast participleavviato
      indicativeiotului/leinoivoiessi/esse
      presentavvioavviiavviaavviiamoavviateavviano
      imperfectavviavoavviaviavviavaavviavamoavviavateavviavano
      past historicavviaiavviastiavviòavviammoavviasteavviarono
      futureavvieròavvieraiavvieràavvieremoavviereteavvieranno
      conditionaliotului/leinoivoiessi/esse
      presentavviereiavvierestiavvierebbeavvieremmoavvieresteavvierebbero
      subjuntiveche ioche tuche lui/leiche noiche voiche essi/esse
      presentavviiavviiavviiavviamoavviateavviino
      imperfectavviassiavviassiavviasseavviassimoavviasteavviassero
      imperative-tului/leinoivoiessi/esse
      avviaavviiavviamoavviateavviino
      + + + + + + + + + + + + + + + +
      infinitivepronunciare
      auxiliary verbaveregerundpronunciando
      present participlepronunciantepast participlepronunciato
      indicativeiotului/leinoivoiessi/esse
      presentpronunciopronuncipronunciapronunciamopronunciatepronunciano
      imperfectpronunciavopronunciavipronunciavapronunciavamopronunciavatepronunciavano
      past historicpronunciaipronunciastipronunciòpronunciammopronunciastepronunciarono
      futurepronunceròpronunceraipronunceràpronunceremopronunceretepronunceranno
      conditionaliotului/leinoivoiessi/esse
      presentpronuncereipronuncerestipronuncerebbepronunceremmopronuncerestepronuncerebbero
      subjuntiveche ioche tuche lui/leiche noiche voiche essi/esse
      presentpronuncipronuncipronuncipronunciamopronunciatepronuncino
      imperfectpronunciassipronunciassipronunciassepronunciassimopronunciastepronunciassero
      imperative-tului/leinoivoiessi/esse
      pronunciapronuncipronunciamopronunciatepronuncino
      + + + + + + + + + + + + + + + +
      infinitivesedere
      auxiliary verbesseregerundsedendo
      present participlesedentepast participleseduto
      indicativeiotului/leinoivoiessi/esse
      presentsiedo, seggosiedisiedesediamosedetesiedono, seggono
      imperfectsedevosedevisedevasedevamosedevatesedevano
      past historicsedeisedestisedette, sedésedemmosedestesedettero, sederono
      futuresederò, siederòsederai, siederaisederà, siederàsederemo, siederemosederete, siederetesederanno, siederanno
      conditionaliotului/leinoivoiessi/esse
      presentsederei, siedereisederesti, siederestisederebbe, siederebbesederemmo, siederemmosedereste, siederestesederebbero, siederebbero
      subjuntiveche ioche tuche lui/leiche noiche voiche essi/esse
      presentsiedasiedasiedasediamosediatesiedano
      imperfectsedessisedessisedessesedessimosedestesedessero
      imperative-tului/leinoivoiessi/esse
      siedisieda, seggasediamosedetesiedano, seggano
      + + + + + + + + + + + + + + + +
      infinitivepersuadere
      auxiliary verbaveregerundpersuadendo
      present participlepersuadentepast participlepersuaso
      indicativeiotului/leinoivoiessi/esse
      presentpersuadopersuadipersuadepersuadiamopersuadetepersuadono
      imperfectpersuadevopersuadevipersuadevapersuadevamopersuadevatepersuadevano
      past historicpersuasipersuadestipersuase, persuademmopersuadestepersuasero,
      futurepersuaderòpersuaderaipersuaderàpersuaderemopersuaderetepersuaderanno
      conditionaliotului/leinoivoiessi/esse
      presentpersuadereipersuaderestipersuaderebbepersuaderemmopersuaderestepersuaderebbero
      subjuntiveche ioche tuche lui/leiche noiche voiche essi/esse
      presentpersuadapersuadapersuadapersuadiamopersuadiatepersuadano
      imperfectpersuadessipersuadessipersuadessepersuadessimopersuadestepersuadessero
      imperative-tului/leinoivoiessi/esse
      persuadipersuadapersuadiamopersuadetepersuadano
      + + + + + + + + + + + + + + + +
      infinitiveabbattere
      auxiliary verbaveregerundabbattendo
      present participleabbattentepast participleabbattuto
      indicativeiotului/leinoivoiessi/esse
      presentabbattoabbattiabbatteabbattiamoabbatteteabbattono
      imperfectabbattevoabbatteviabbattevaabbattevamoabbattevateabbattevano
      past historicabbatteiabbattestiabbattette, abbattéabbattemmoabbattesteabbattettero, abbatterono
      futureabbatteròabbatteraiabbatteràabbatteremoabbattereteabbatteranno
      conditionaliotului/leinoivoiessi/esse
      presentabbattereiabbatterestiabbatterebbeabbatteremmoabbatteresteabbatterebbero
      subjuntiveche ioche tuche lui/leiche noiche voiche essi/esse
      presentabbattaabbattaabbattaabbattiamoabbattiateabbattano
      imperfectabbattessiabbattessiabbattesseabbattessimoabbattesteabbattessero
      imperative-tului/leinoivoiessi/esse
      abbattiabbattaabbattiamoabbatteteabbattano
      + + + + + + + + + + + + + + + +
      infinitivecoprire
      auxiliary verbaveregerundcoprendo
      present participlecoprentepast participlecoperto
      indicativeiotului/leinoivoiessi/esse
      presentcoprocopricoprecopriamocopritecoprono
      imperfectcoprivocoprivicoprivacoprivamocoprivatecoprivano
      past historiccoprii, copersicopristicoprì, copersecoprimmocopristecoprirono, copersero
      futurecopriròcopriraicopriràcopriremocopriretecopriranno
      conditionaliotului/leinoivoiessi/esse
      presentcoprireicopriresticoprirebbecopriremmocoprirestecoprirebbero
      subjuntiveche ioche tuche lui/leiche noiche voiche essi/esse
      presentcopracopracopracopriamocopriatecoprano
      imperfectcoprissicoprissicoprissecoprissimocopristecoprissero
      imperative-tului/leinoivoiessi/esse
      copricopracopriamocopritecoprano
      + + + + + + + + + + + + + + + +
      infinitivepreferire
      auxiliary verbaveregerundpreferendo
      present participlepreferentepast participlepreferito
      indicativeiotului/leinoivoiessi/esse
      presentpreferiscopreferiscipreferiscepreferiamopreferitepreferiscono
      imperfectpreferivopreferivipreferivapreferivamopreferivatepreferivano
      past historicpreferiipreferistipreferì, preferépreferimmopreferistepreferirono, prefererono
      futurepreferiròpreferiraipreferiràpreferiremopreferiretepreferiranno
      conditionaliotului/leinoivoiessi/esse
      presentpreferireipreferirestipreferirebbepreferiremmopreferirestepreferirebbero
      subjuntiveche ioche tuche lui/leiche noiche voiche essi/esse
      presentpreferiscapreferiscapreferiscapreferiamopreferiatepreferiscano
      imperfectpreferissipreferissipreferissepreferissimopreferistepreferissero
      imperative-tului/leinoivoiessi/esse
      preferiscipreferiscapreferiamopreferitepreferiscano
      + + + + + + + + + + + + + + + +
      infinitiveprodurre
      auxiliary verbaveregerundproducendo
      present participleproducentepast participleprodotto
      indicativeiotului/leinoivoiessi/esse
      presentproducoproduciproduceproduciamoproduceteproducono
      imperfectproducevoproduceviproducevaproducevamoproducevateproducevano
      past historicprodussiproducestiprodusseproducemmoproducesteprodussero
      futureprodurròprodurraiprodurràprodurremoprodurreteprodurranno
      conditionaliotului/leinoivoiessi/esse
      presentprodurreiprodurrestiprodurrebbeprodurremmoprodurresteprodurrebbero
      subjuntiveche ioche tuche lui/leiche noiche voiche essi/esse
      presentproducaproducaproducaproduciamoproduciateproducano
      imperfectproducessiproducessiproducesseproducessimoproducesteproducessero
      imperative-tului/leinoivoiessi/esse
      produciproducaproduciamoproduceteproducano
      + + + + + + + + + + + + + + + +
      infinitivelavarsi
      auxiliary verbgerundlavandosi
      present participlelavantesipast participlelavato, lavatosi
      indicativeiotului/leinoivoiessi/esse
      presentmi lavoti lavisi lavaci laviamovi lavatesi lavano
      imperfectmi lavavoti lavavisi lavavaci lavavamovi lavavatesi lavavano
      past historicmi lavaiti lavastisi lavòci lavammovi lavastesi lavarono
      futuremi laveròti laveraisi laveràci laveremovi laveretesi laveranno
      conditionaliotului/leinoivoiessi/esse
      presentmi lavereiti laverestisi laverebbeci laveremmovi laverestesi laverebbero
      subjuntiveche ioche tuche lui/leiche noiche voiche essi/esse
      presentmi laviti lavisi lavici laviamovi laviatesi lavino
      imperfectmi lavassiti lavassisi lavasseci lavassimovi lavastesi lavassero
      imperative-tului/leinoivoiessi/esse
      lavatisi lavilaviamocilavatevisi lavino
      + + + + + + + + + + + + + + + +
      infinitiveabbattersi
      auxiliary verbgerundabbattendosi
      present participleabbattentesipast participleabbattuto, abbattutosi
      indicativeiotului/leinoivoiessi/esse
      presentmi abbattoti abbattisi abbatteci abbattiamovi abbattetesi abbattono
      imperfectmi abbattevoti abbattevisi abbattevaci abbattevamovi abbattevatesi abbattevano
      past historicmi abbatteiti abbattestisi abbattette, abbattéci abbattemmovi abbattestesi abbattettero, abbatterono
      futuremi abbatteròti abbatteraisi abbatteràci abbatteremovi abbatteretesi abbatteranno
      conditionaliotului/leinoivoiessi/esse
      presentmi abbattereiti abbatterestisi abbatterebbeci abbatteremmovi abbatterestesi abbatterebbero
      subjuntiveche ioche tuche lui/leiche noiche voiche essi/esse
      presentmi abbattati abbattasi abbattaci abbattiamovi abbattiatesi abbattano
      imperfectmi abbattessiti abbattessisi abbattesseci abbattessimovi abbattestesi abbattessero
      imperative-tului/leinoivoiessi/esse
      abbattitisi abbattaabbattiamociabbattetevisi abbattano
      + + + + + + + + + + + + + + + +
      infinitiveannoiarsi
      auxiliary verbgerundannoiandosi
      present participleannoiantesipast participleannoiato, annoiatosi
      indicativeiotului/leinoivoiessi/esse
      presentmi annoioti annoisi annoiaci annoiamovi annoiatesi annoiano
      imperfectmi annoiavoti annoiavisi annoiavaci annoiavamovi annoiavatesi annoiavano
      past historicmi annoiaiti annoiastisi annoiòci annoiammovi annoiastesi annoiarono
      futuremi annoieròti annoieraisi annoieràci annoieremovi annoieretesi annoieranno
      conditionaliotului/leinoivoiessi/esse
      presentmi annoiereiti annoierestisi annoierebbeci annoieremmovi annoierestesi annoierebbero
      subjuntiveche ioche tuche lui/leiche noiche voiche essi/esse
      presentmi annoiti annoisi annoici annoiamovi annoiatesi annoino
      imperfectmi annoiassiti annoiassisi annoiasseci annoiassimovi annoiastesi annoiassero
      imperative-tului/leinoivoiessi/esse
      annoiatisi annoiannoiamociannoiatevisi annoino
      + + + + + + + + + + + + + + + +
      infinitivevestirsi
      auxiliary verbgerundvestendosi
      present participlevestentesipast participlevestito, vestitosi
      indicativeiotului/leinoivoiessi/esse
      presentmi vestoti vestisi vesteci vestiamovi vestitesi vestono
      imperfectmi vestivoti vestivisi vestivaci vestivamovi vestivatesi vestivano
      past historicmi vestiiti vestistisi vestì, vestéci vestimmovi vestistesi vestirono, vesterono
      futuremi vestiròti vestiraisi vestiràci vestiremovi vestiretesi vestiranno
      conditionaliotului/leinoivoiessi/esse
      presentmi vestireiti vestirestisi vestirebbeci vestiremmovi vestirestesi vestirebbero
      subjuntiveche ioche tuche lui/leiche noiche voiche essi/esse
      presentmi vestati vestasi vestaci vestiamovi vestiatesi vestano
      imperfectmi vestissiti vestissisi vestisseci vestissimovi vestistesi vestissero
      imperative-tului/leinoivoiessi/esse
      vestitisi vestavestiamocivestitevisi vestano
      + + + + + + + + + + + + + + + +
      infinitiveferirsi
      auxiliary verbgerundferendosi
      present participleferentesipast participleferito, feritosi
      indicativeiotului/leinoivoiessi/esse
      presentmi feriscoti feriscisi ferisceci feriamovi feritesi feriscono
      imperfectmi ferivoti ferivisi ferivaci ferivamovi ferivatesi ferivano
      past historicmi feriiti feristisi ferì, feréci ferimmovi feristesi ferirono, fererono
      futuremi feriròti feriraisi feriràci feriremovi feriretesi feriranno
      conditionaliotului/leinoivoiessi/esse
      presentmi ferireiti ferirestisi ferirebbeci feriremmovi ferirestesi ferirebbero
      subjuntiveche ioche tuche lui/leiche noiche voiche essi/esse
      presentmi feriscati feriscasi feriscaci feriamovi feriatesi feriscano
      imperfectmi ferissiti ferissisi ferisseci ferissimovi feristesi ferissero
      imperative-tului/leinoivoiessi/esse
      feriscitisi feriscaferiamociferitevisi feriscano
      + + + + + + + + + + + + + + + +
      infinitiveridursi
      auxiliary verbesseregerundriducendosi
      present participleriducentesipast participleridotto, ridottosi
      indicativeiotului/leinoivoiessi/esse
      presentmi riducoti riducisi riduceci riduciamovi riducetesi riducono
      imperfectmi riducevoti riducevisi riducevaci riducevamovi riducevatesi riducevano
      past historicmi ridussiti riducestisi ridusseci riducemmovi riducestesi ridussero
      futuremi ridurròti ridurraisi ridurràci ridurremovi ridurretesi ridurranno
      conditionaliotului/leinoivoiessi/esse
      presentmi ridurreiti ridurrestisi ridurrebbeci ridurremmovi ridurrestesi ridurrebbero
      subjuntiveche ioche tuche lui/leiche noiche voiche essi/esse
      presentmi riducati riducasi riducaci riduciamovi riduciatesi riducano
      imperfectmi riducessiti riducessisi riducesseci riducessimovi riducestesi riducessero
      imperative-tului/leinoivoiessi/esse
      riducitisiriducariduciamociriducetevisiriducano
      + + + + + + + + + + + + + + + +
      infinitivericucire
      auxiliary verbaveregerundricucendo
      present participlericucentepast participlericucito
      indicativeiotului/leinoivoiessi/esse
      presentricucioricuciricucericuciamoricucitericuciono
      imperfectricucivoricuciviricucivaricucivamoricucivatericucivano
      past historicricuciiricucistiricucì, ricucéricucimmoricucistericucirono, ricucerono
      futurericuciròricucirairicuciràricuciremoricuciretericuciranno
      conditionaliotului/leinoivoiessi/esse
      presentricucireiricucirestiricucirebbericuciremmoricucirestericucirebbero
      subjuntiveche ioche tuche lui/leiche noiche voiche essi/esse
      presentricuciaricuciaricuciaricuciamoricuciatericuciano
      imperfectricucissiricucissiricucissericucissimoricucistericucissero
      imperative-tului/leinoivoiessi/esse
      ricuciricuciaricuciamoricucitericuciano
      + + + + + + + + + + + + + + + +
      infinitiveriavviarsi
      auxiliary verbesseregerundriavviandosi
      present participleriavviantesipast participleriavviato, riavviatosi
      indicativeiotului/leinoivoiessi/esse
      presentmi riavvioti riavviisi riavviaci riavviiamovi riavviatesi riavviano
      imperfectmi riavviavoti riavviavisi riavviavaci riavviavamovi riavviavatesi riavviavano
      past historicmi riavviaiti riavviastisi riavviòci riavviammovi riavviastesi riavviarono
      futuremi riavvieròti riavvieraisi riavvieràci riavvieremovi riavvieretesi riavvieranno
      conditionaliotului/leinoivoiessi/esse
      presentmi riavviereiti riavvierestisi riavvierebbeci riavvieremmovi riavvierestesi riavvierebbero
      subjuntiveche ioche tuche lui/leiche noiche voiche essi/esse
      presentmi riavviiti riavviisi riavviici riavviamovi riavviatesi riavviino
      imperfectmi riavviassiti riavviassisi riavviasseci riavviassimovi riavviastesi riavviassero
      imperative-tului/leinoivoiessi/esse
      riavviatisi riavviiriavviamociriavviatevisi riavviino
      + + + + + + + + + + + + + + + +
      infinitiveputrefare
      auxiliary verbaveregerundputrefacendo
      present participleputrefacentepast participleputrefatto
      indicativeiotului/leinoivoiessi/esse
      presentputrefaccio, putrefòputrefaiputrefàputrefacciamoputrefateputrefanno
      imperfectputrefacevoputrefaceviputrefacevaputrefacevamoputrefacevateputrefacevano
      past historicputrefeciputrefacestiputrefeceputrefacemmoputrefacesteputrefecero
      futureputrefaròputrefaraiputrefaràputrefaremoputrefareteputrefaranno
      conditionaliotului/leinoivoiessi/esse
      presentputrefareiputrefarestiputrefarebbeputrefaremmoputrefaresteputrefarebbero
      subjuntiveche ioche tuche lui/leiche noiche voiche essi/esse
      presentputrefacciaputrefacciaputrefacciaputrefacciamoputrefacciateputrefacciano
      imperfectputrefacessiputrefacessiputrefacesseputrefacessimoputrefacesteputrefacessero
      imperative-tului/leinoivoiessi/esse
      putrefaputrefacciaputrefacciamoputrefateputrefacciano
      + + + + + + + + + + + + + + + +
      infinitivecucirsi
      auxiliary verbesseregerundcucendosi
      present participlecucentesipast participlecucito, cucitosi
      indicativeiotului/leinoivoiessi/esse
      presentmi cucioti cucisi cuceci cuciamovi cucitesi cuciono
      imperfectmi cucivoti cucivisi cucivaci cucivamovi cucivatesi cucivano
      past historicmi cuciiti cucistisi cucì, cucéci cucimmovi cucistesi cucirono, cucerono
      futuremi cuciròti cuciraisi cuciràci cuciremovi cuciretesi cuciranno
      conditionaliotului/leinoivoiessi/esse
      presentmi cucireiti cucirestisi cucirebbeci cuciremmovi cucirestesi cucirebbero
      subjuntiveche ioche tuche lui/leiche noiche voiche essi/esse
      presentmi cuciati cuciasi cuciaci cuciamovi cuciatesi cuciano
      imperfectmi cucissiti cucissisi cucisseci cucissimovi cucistesi cucissero
      imperative-tului/leinoivoiessi/esse
      cucitisi cuciacuciamocicucitevisi cuciano
      +>>> + +Index: IT IT->EN +