protected override string LīdzskaņuMija(Locījums locījums, Skaitlis skaitlis) { // VI deklinācijas lietvārdiem līdzskaņu mija raksturīga daudzskaitļa ģenitīvā. if (locījums == Locījums.Ģenitīvs && skaitlis == Skaitlis.Daudzskaitlis) { // "brokastis", "Cēsis" bool izņēmums = (Celms + "s").BeidzasAr( "acs", "akti", "ass", "auss", "balss", "dakts", "debess", "dzelzs", "kūts", "kūts", "maksts", "pirts", "šalts", "takts", "uts", "valsts", "vēsts", "zoss", "žults" ); if (!izņēmums) { string arMiju = Celms; arMiju = arMiju.LīdzskaņuMija("sn", "šņ") .LīdzskaņuMija("st", "š") .LīdzskaņuMija("v", "vj") .LīdzskaņuMija("t", "š") .LīdzskaņuMija("d", "ž") .LīdzskaņuMija("s", "š") .LīdzskaņuMija("z", "ž") .LīdzskaņuMija("n", "ņ") .LīdzskaņuMija("l", "ļ"); return arMiju; } } return Celms; }
public new string LokatīvaGalotne(Dzimte dzimte, Skaitlis skaitlis, Galotne galotne) { if (darbībasVārds.Tiešs) { return "uš" + LokatīvaGalotne(dzimte, skaitlis, galotne); } else { return null; } }
public new string Lokatīvs(Dzimte dzimte, Skaitlis skaitlis, Galotne galotne) { if (darbībasVārds.Tiešs) { return base.Lokatīvs(dzimte, skaitlis, galotne); } else { return ""; } }
public override string ĢenitīvaGalotne(Skaitlis skaitlis) { string galotne = null; if (Galotne == "šanās") { galotne = (skaitlis == Skaitlis.Vienskaitlis) ? "šanās" : "šanos"; } return galotne; }
public override string AkuzatīvaGalotne(Skaitlis skaitlis) { string galotne = Galotne; switch (Galotne) { case "šanās": galotne = (skaitlis == Skaitlis.Vienskaitlis) ? "šanos" : "šanās"; break; case "umies": galotne = "umos"; break; } return galotne; }
protected override string LīdzskaņuMija(Locījums locījums, Skaitlis skaitlis) { // II deklinācijas lietvārdiem līdzskaņu mija raksturīga vienskaitļa ģenitīvā un visos daudzskaitļa locījumos. if (locījums == Locījums.Ģenitīvs || skaitlis == Skaitlis.Daudzskaitlis) { // Līdzskaņu mijas nav: bool bezMijas = (Celms + "is").BeidzasAr( "tētis", "viesis", "astis", "skatis", "jis", "ķis", "ģis", "ris"); bool suns = skaitlis == Skaitlis.Vienskaitlis && (Celms + "s").BeidzasAr("suns"); // Lietvārdiem līdzskaņu mija ir tikai daudzskaitlī. // (tātad nav vienskaitlī) bool izņēmumi = skaitlis == Skaitlis.Vienskaitlis && (Celms + "s").BeidzasAr( "akmens", "asmens", "rudens", "zibens", "ūdens", "mēness", "sāls"); // ehhh jāuzlabo if (suns || (!bezMijas && !izņēmumi)) { string arMiju = Celms; arMiju = arMiju.LīdzskaņuMija("sn", "šņ") .LīdzskaņuMija("zn", "žņ") .LīdzskaņuMija("sl", "šļ") .LīdzskaņuMija("zl", "žļ") .LīdzskaņuMija("ln", "ļņ") .LīdzskaņuMija("dz", "dž") .LīdzskaņuMija("nn", "ņņ") .LīdzskaņuMija("b", "bj") .LīdzskaņuMija("m", "mj") .LīdzskaņuMija("p", "pj") .LīdzskaņuMija("v", "vj") .LīdzskaņuMija("t", "š") .LīdzskaņuMija("d", "ž") .LīdzskaņuMija("c", "č") .LīdzskaņuMija("s", "š") .LīdzskaņuMija("z", "ž") .LīdzskaņuMija("n", "ņ") .LīdzskaņuMija("l", "ļ"); return arMiju; } } return Celms; }
public new string AkuzatīvaGalotne(Dzimte dzimte, Skaitlis skaitlis, Galotne galotne) { if (darbībasVārds.Tiešs) { return "uš" + AkuzatīvaGalotne(dzimte, skaitlis, galotne); } else { if (skaitlis == Skaitlis.Vienskaitlis) { return "uš" + "os"; } else { return "uš" + (dzimte == Dzimte.Vīriešu ? "os" : "ās"); } } }
protected override string LīdzskaņuMija(Locījums locījums, Skaitlis skaitlis) { // V deklinācijas lietvārdiem līdzskaņu mija raksturīga daudzskaitļa ģenitīvā. if (locījums == Locījums.Ģenitīvs && skaitlis == Skaitlis.Daudzskaitlis) { // Līdzskaņu mijas nav: bool izņēmums = (Celms + Galotne).BeidzasAr( "aste", "mate", "pēde", "apšaude", "piešaude", "balle", "bāze", "bise", "bote", "brīze", "flote", "fronte", "gāze", "gide", "kase", "kušete", "mise", "mute", "pase", "rase", "sarakste", "šprote", "takse", "tirāde" ); // līdzskaņu mijas nav -ste, ja pirms s nav k bool izņēmums2 = Celms.BeidzasAr("st") && !Celms.BeidzasAr("kst"); if (!izņēmums && !izņēmums2) { string arMiju = Celms; arMiju = arMiju.LīdzskaņuMija("kst", "kš") .LīdzskaņuMija("sn", "šņ") .LīdzskaņuMija("zn", "žņ") .LīdzskaņuMija("dz", "dž") .LīdzskaņuMija("b", "bj") .LīdzskaņuMija("m", "mj") .LīdzskaņuMija("p", "pj") .LīdzskaņuMija("v", "vj") .LīdzskaņuMija("t", "š") .LīdzskaņuMija("d", "ž") .LīdzskaņuMija("c", "č") .LīdzskaņuMija("s", "š") .LīdzskaņuMija("z", "ž") .LīdzskaņuMija("n", "ņ") .LīdzskaņuMija("l", "ļ"); return arMiju; } } return Celms; }
public string Locīt(Locījums locījums = Locījums.Nominatīvs, Skaitlis skaitlis = Skaitlis.Vienskaitlis) { switch (locījums) { default: case Locījums.Nominatīvs: return Nominatīvs(skaitlis); case Locījums.Ģenitīvs: return Ģenitīvs(skaitlis); case Locījums.Datīvs: return Datīvs(skaitlis); case Locījums.Akuzatīvs: return Akuzatīvs(skaitlis); case Locījums.Lokatīvs: return Lokatīvs(skaitlis); case Locījums.Vokatīvs: return Vokatīvs(skaitlis); } }
public string NominatīvaGalotne(Dzimte dzimte, Skaitlis skaitlis) { string galotne = "dam"; if (darbībasVārds.Tiešs) { if (skaitlis == Skaitlis.Vienskaitlis) { galotne += dzimte == Dzimte.Vīriešu ? "s" : "a"; } else { galotne += dzimte == Dzimte.Vīriešu ? "i" : "as"; } } else { galotne += dzimte == Dzimte.Vīriešu ? "ies" : "ās"; } return galotne; }
public virtual string ĢenitīvaGalotne(Dzimte dzimte, Skaitlis skaitlis, Galotne galotne) { if (skaitlis == Skaitlis.Vienskaitlis) { if (dzimte == Dzimte.Vīriešu) { return (galotne == ĪpašībasVārdi.Galotne.Nenoteiktā) ? "a" : "ā"; } else { return (galotne == ĪpašībasVārdi.Galotne.Nenoteiktā) ? "as" : "ās"; } } else { return (galotne == ĪpašībasVārdi.Galotne.Nenoteiktā) ? "u" : "o"; } }
public virtual string LokatīvaGalotne(Dzimte dzimte, Skaitlis skaitlis, Galotne galotne) { if (skaitlis == Skaitlis.Vienskaitlis) { return (galotne == ĪpašībasVārdi.Galotne.Nenoteiktā) ? "ā" : "ajā"; } else { if (dzimte == Dzimte.Vīriešu) { return (galotne == ĪpašībasVārdi.Galotne.Nenoteiktā) ? "os" : "ajos"; } else { return (galotne == ĪpašībasVārdi.Galotne.Nenoteiktā) ? "ās" : "ajās"; } } }
public string Locīt(Locījums locījums = Locījums.Nominatīvs, Dzimte dzimte = Dzimte.Vīriešu, Skaitlis skaitlis = Skaitlis.Vienskaitlis, Galotne galotne = ĪpašībasVārdi.Galotne.Nenoteiktā) { switch (locījums) { default: case Locījums.Nominatīvs: return Nominatīvs(dzimte, skaitlis, galotne); case Locījums.Ģenitīvs: return Ģenitīvs(dzimte, skaitlis, galotne); case Locījums.Datīvs: return Datīvs(dzimte, skaitlis, galotne); case Locījums.Akuzatīvs: return Akuzatīvs(dzimte, skaitlis, galotne); case Locījums.Lokatīvs: return Lokatīvs(dzimte, skaitlis, galotne); } }
public virtual string DatīvaGalotne(Dzimte dzimte, Skaitlis skaitlis, Galotne galotne) { if (skaitlis == Skaitlis.Vienskaitlis) { if (dzimte == Dzimte.Vīriešu) { return (galotne == ĪpašībasVārdi.Galotne.Nenoteiktā) ? "am" : "ajam"; } else { return (galotne == ĪpašībasVārdi.Galotne.Nenoteiktā) ? "ai" : "ajai"; } } else { if (dzimte == Dzimte.Vīriešu) { return (galotne == ĪpašībasVārdi.Galotne.Nenoteiktā) ? "iem" : "ajiem"; } else { return (galotne == ĪpašībasVārdi.Galotne.Nenoteiktā) ? "ām" : "ajām"; } } }
public override string ĢenitīvaGalotne(Skaitlis skaitlis) { return ""; }
public override string ĢenitīvaGalotne(Dzimte dzimte, Skaitlis skaitlis, Galotne galotne) { return TukšāGalotne; }
public override string DatīvaGalotne(Skaitlis skaitlis) { return (skaitlis == Skaitlis.Vienskaitlis) ? "am" : "iem"; }
public override string VokatīvaGalotne(Skaitlis skaitlis) { return (skaitlis == Skaitlis.Vienskaitlis) ? "s" : "is"; }
public override string VokatīvaGalotne(Skaitlis skaitlis) { return (skaitlis == Skaitlis.Vienskaitlis) ? Galotne /* -s, -š, - */ : "i"; }
/// <summary> /// Datīvs – atbild uz jautājumu kam? /// </summary> public string Datīvs(Skaitlis skaitlis = Skaitlis.Vienskaitlis) { return LīdzskaņuMija(Locījums.Datīvs, skaitlis) + DatīvaGalotne(skaitlis); }
public abstract string DatīvaGalotne(Skaitlis skaitlis);
/// <summary> /// II, V un VI deklinācijas lietvārdiem dažos locījumos raksturīga līdzskaņu mija. /// <see>http://www.liis.lv/latval/morfol/lietv-mija.htm</see> /// </summary> protected virtual string LīdzskaņuMija(Locījums locījums, Skaitlis skaitlis) { return Celms; }
public string Ģenitīvs(Dzimte dzimte = Dzimte.Vīriešu, Skaitlis skaitlis = Skaitlis.Vienskaitlis, Galotne galotne = ĪpašībasVārdi.Galotne.Nenoteiktā) { return Celms + ĢenitīvaGalotne(dzimte, skaitlis, galotne); }
public new string NominatīvaGalotne(Dzimte dzimte, Skaitlis skaitlis, Galotne galotne) { if (darbībasVārds.Tiešs) { if (skaitlis == Skaitlis.Vienskaitlis) { if (dzimte == Dzimte.Vīriešu) { return (galotne == ĪpašībasVārdi.Galotne.Nenoteiktā) ? "is" : "ušais"; } else { return (galotne == ĪpašībasVārdi.Galotne.Nenoteiktā) ? "usi" : "usī"; } } else { return "uš" + base.NominatīvaGalotne(dzimte, skaitlis, galotne); } } else { if (skaitlis == Skaitlis.Vienskaitlis) { return dzimte == Dzimte.Vīriešu ? "ies" : "usies"; } else { return dzimte == Dzimte.Vīriešu ? "ušies" : "ušās"; } } }
public override string AkuzatīvaGalotne(Skaitlis skaitlis) { return (skaitlis == Skaitlis.Vienskaitlis) ? "u" : "us"; }
public override string NominatīvaGalotne(Skaitlis skaitlis) { return ""; }
public override string LokatīvaGalotne(Skaitlis skaitlis) { return (skaitlis == Skaitlis.Vienskaitlis) ? "ā" : "os"; }
public string Nominatīvs(Dzimte dzimte, Skaitlis skaitlis) { return Celms + NominatīvaGalotne(dzimte, skaitlis); }
public override string ĢenitīvaGalotne(Skaitlis skaitlis) { return (skaitlis == Skaitlis.Vienskaitlis) ? "a" : "u"; }
public override string NominatīvaGalotne(Skaitlis skaitlis) { return (skaitlis == Skaitlis.Vienskaitlis) ? "us" : "i"; }