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";
 }
Beispiel #20
0
 /// <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);
 }
Beispiel #21
0
 public abstract string DatīvaGalotne(Skaitlis skaitlis);
Beispiel #22
0
 /// <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";
 }