Библиотека склонения на казахском языке
    Купить
     Библиотека Morpher.Kazakh.dll выполняет автоматическое склонение по падежам слов и словосочетаний на казахском языке,
        включая ФИО, звания, должности, профессии, названия предприятий и отделов, товаров и услуг, географические названия.
        На входе программы — форма именительного падежа (атау септік), на выходе — формы всех падежей в 
        единственном и множественном числе (демо).
    
    
    Склонение по падежам и числам
    
    
        
            using Morpher.Kazakh;
            [...]
            var declension = new Declension();
            ParseResult parse = declension.Parse("Қазақстан Республикасы");
            Console.WriteLine(parse.GetForm(false, Case.LOCATIVE)); // Қазақстан Республикасында
        
    
     В данном случае строится форма местного падежа (Case.LOCATIVE) единственного числа.
        Число задается первым параметром: false = единственное, true = множественное.
    
    
    Падеж задается следующим перечислением:
    
        
            public enum Case
            {
                NOMINATIVE,   // Атау септік,  именительный падеж
                GENITIVE,     // Ілік септік,  родительный падеж
                DATIVE,       // Барыс септік, дательно-направительный падеж
                ACCUSATIVE,   // Табыс септік, винительный падеж
                ABLATIVE,     // Шығыс септік, исходный падеж
                LOCATIVE,     // Жатыс септік, местный падеж
                INSTRUMENTAL  // Көмектес септік, творительный падеж
            }
        
    
    Склонение по лицам
    
        
            var declension = new Declension();
            ParseResult parse = declension.Parse("бала");
            Console.WriteLine(parse.GetForm(false, Case.GENITIVE, Person.FIRST_PERSON)); // баламның
        
    
    В данном примере добавляется притяжательные окончания первого лица (Person.FIRST_PERSON).
    
    Лицо задается следующим перечислением:
    
        
            public enum Person
            {
                NO_PERSON,               // без личного окончания
                FIRST_PERSON,            // I-жақ (жекеше),   1 лицо (ед.число) 
                SECOND_PERSON,           // II-жақ (жекеше),  2 лицо (ед.число) 
                SECOND_PERSON_RESPECTFUL,// II-жақ сыпайы (жекеше), 2 лицо уважительное (ед.число) 
                THIRD_PERSON,            // III-жақ (жекеше), 3 лицо (ед.число) 
                FIRST_PERSON_PLURAL,     // I-жақ (көпше),    1 лицо (мн.число) 
                SECOND_PERSON_PLURAL,    // II-жақ (көпше),   2 лицо (мн.число) 
                SECOND_PERSON_RESPECTFUL_PLURAL, // II-жақ сыпайы (көпше), 2 лицо уважительное (мн.число) 
                THIRD_PERSON_PLURAL      // III-жақ (көпше),  3 лицо (мн.число) 
            }
        
    
     Пропись количественных числительных
    
        
            var speller = new Speller(new Declension());
            Console.WriteLine(speller.Spell(5, false)); // бес
            Console.WriteLine(speller.Spell(125, false)); // жүз жиырма бес
            Console.WriteLine(speller.Spell(125, true)); // бір жүз жиырма бес
            Console.WriteLine(speller.Spell(-3, false)); // минус үш
        
    
    В данном примере функция возвращает количественное числительное прописью.
    
    Параметры:
    
        - number – число.
- useOne – писать ли «бір» перед словами «жүз», «мың», «миллион», «миллиард» и так далее:
            
 миллион или
 бір миллион.
 Преобразование количественных числительных в порядковые
    
    
        
            Console.WriteLine(speller.MakeOrdinal("жеті")); // жетінші
            Console.WriteLine(speller.MakeOrdinal("елу мың отыз үш")); // елу мың отыз үшінші
        
    
    Параметры:
    
        - cardinal – число прописью.
Функция может возвращать null, если cardinal не содержит гласных букв.
     Пропись дат
    
    
        
            Console.WriteLine(speller.SpellDate(new DateTime(2018, 5, 1), false)); 
            // екі мың он сегізінші жылғы бірінші мамыр
            Console.WriteLine(speller.SpellDate(new DateTime(1995, 8, 3), false)); 
            // мың тоғыз жүз тоқсан бесінші жылғы үшінші тамыз
            Console.WriteLine(speller.SpellDate(new DateTime(1995, 8, 3), true)); 
            // бір мың тоғыз жүз тоқсан бесінші жылғы үшінші тамыз
        
    
    Параметры:
    
        - date – дата для прописи.
- useOne – писать ли «бір» перед словами «жүз» и «мың»:
            
 мың тоғыз жүз тоқсан бесінші жылғы үшінші тамыз или
 бір мың тоғыз жүз тоқсан бесінші жылғы үшінші тамыз.
 Пропись дня и месяца
    
    
        
            Console.WriteLine(speller.SpellDayOfMonth(10, 2)); // ақпанның оны
        
    
    Параметры:
    
        - day – число (1-31).
- month – номер месяца (1-12).
 Технические характеристики библиотеки
    
        -  Поддерживаемые платформы: .NET Standard 2.0+ AnyCPU. 
-  Библиотека не имеет интерфейса пользователя и не требует прав доступа ни к диску, ни к сети.
        
-  Все классы библиотеки неизменяемы и потокобезопасны.
        
История изменений
    
    
        | Дата | Версия |  | 
    
        | 26.02.2020 | 1.3.0 | Добавлены функции прописи дат, дня месяца, количественных и порядковых числительных. | 
    
        | 5.10.2019 | 1.2.0 | Добавлено свойство IsPlural, показывающее число слова. | 
    
        | 30.09.2019 | 1.1.1 | Исправлено склонение слов на -ю (аю, ою). | 
    
        | 05.09.2019 | 1.1.0 | Реализовано склонение по лицам, а также: 
                Качество работы программы проверено по базе из более чем 5000 тестов,
            составленных и выверенных тремя независимыми носителями языка.
                    Учет беглых гласных (әріп — әрпі и подобные).
                
                    Учет различных случаев выпадения согласных при склонении 
                    (программист — программиске и др.)
                
                    Учет слов арабско-персидского происхождения на -ә, 
                    принимающих твердые окончания в некоторых падежах:
                     күнә — күнәнің, күнәға (не -ге), 
                    күнәні, күнәдан (не -ден), күнәда (не -де), күнәмен 
                    и другие, подробнее см. abai.kz/post/80050.
                 | 
        
            | 11.07.2019 | 1.0.0 | Первый релиз. Склонение по падежам и числам. | 
    
    Купить