morpher.ru +7 (925) 336 9960
nowhere@morpher.ru
 
 
Мой Морфер

Java-библиотека склонения на казахском языке

Купить

Java-библиотека qazaq-morpher выполняет автоматическое склонение по падежам слов и словосочетаний на казахском языке, включая ФИО, звания, должности, профессии, названия предприятий и отделов, товаров и услуг, географические названия. На входе программы — форма именительного падежа (атау септік), на выходе — формы всех падежей в единственном и множественном числе (демо).

Склонение по падежам и числам

        
            import ru.morpher.qazaq.*;
            [...]
            Declension declension = new Declension();
            ParseResult parse = declension.parse("Қазақстан Республикасы");
            System.out.println(parse.getForm(false, Case.LOCATIVE)); // Қазақстан Республикасында
        
    

В данном случае строится форма местного падежа (Case.LOCATIVE) единственного числа. Число задается первым параметром: false = единственное, true = множественное.

Падеж задается следующим перечислением:

        
            public enum Case
            {
                NOMINATIVE,   // Атау септік,  именительный падеж
                GENITIVE,     // Ілік септік,  родительный падеж
                DATIVE,       // Барыс септік, дательно-направительный падеж
                ACCUSATIVE,   // Табыс септік, винительный падеж
                ABLATIVE,     // Шығыс септік, исходный падеж
                LOCATIVE,     // Жатыс септік, местный падеж
                INSTRUMENTAL  // Көмектес септік, творительный падеж
            }
        
    

Склонение по лицам

        
            Declension declension = new Declension();
            ParseResult parse = declension.parse("бала");
            System.out.println(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 лицо (мн.число) 
            }
        
    

Пропись количественных числительных

        
            Speller speller = new Speller(new Declension());
            System.out.println(speller.spell(5, false)); // бес
            System.out.println(speller.spell(125, false)); // жүз жиырма бес
            System.out.println(speller.spell(125, true)); // бір жүз жиырма бес
            System.out.println(speller.spell(-3, false)); // минус үш
        
    

В данном примере функция возвращает количественное числительное прописью.

Параметры:

  1. number – число (long).
  2. useOne – писать ли «бір» перед словами «жүз», «мың», «миллион», «миллиард» и так далее: миллион или бір миллион.

Преобразование количественных числительных в порядковые

        
            System.out.println(speller.makeOrdinal("жеті")); // жетінші
            System.out.println(speller.makeOrdinal("елу мың отыз үш")); // елу мың отыз үшінші
        
    

Параметры:

  1. cardinal – число прописью.

Функция может возвращать null, если cardinal не содержит гласных букв.

Пропись дат

        
            import java.time.LocalDate;
            
            System.out.println(speller.spellDate(LocalDate.of(2018, 5, 1), false)); 
            // екі мың он сегізінші жылғы бірінші мамыр
            
            System.out.println(speller.spellDate(LocalDate.of(1995, 8, 3), false)); 
            // мың тоғыз жүз тоқсан бесінші жылғы үшінші тамыз
            
            System.out.println(speller.spellDate(LocalDate.of(1995, 8, 3), true)); 
            // бір мың тоғыз жүз тоқсан бесінші жылғы үшінші тамыз
        
    

Параметры:

  1. date – объект java.time.LocalDate.
  2. useOne – писать ли «бір» перед словами «жүз» и «мың»:
    мың тоғыз жүз тоқсан бесінші жылғы үшінші тамыз или
    бір мың тоғыз жүз тоқсан бесінші жылғы үшінші тамыз.

Пропись дня и месяца

        
            System.out.println(speller.spellDayOfMonth(10, 2)); // ақпанның оны
        
    

Параметры:

  1. day – число (1-31).
  2. month – номер месяца (1-12).

Технические характеристики библиотеки

  • Поддерживаемые платформы: Java 8 и выше.
  • Библиотека не требует прав доступа ни к диску, ни к сети.
  • Библиотека не имеет интерфейса пользователя.
  • Библиотека не имеет зависимостей.
  • Все классы библиотеки потокобезопасны.

Инструкция по установке в Maven-проект

Установите библиотеку в Maven-репозиторий вашей организации или в локальный репозиторий командой:

        
            mvn org.apache.maven.plugins:maven-install-plugin:2.5:install-file \
                -Dfile="qazaq-morpher-1.0.0.jar"
        
    

Добавьте зависимость в файл pom.xml:

        
            <dependency>
                <groupId>ru.morpher</groupId>
                <artifactId>qazaq-morpher</artifactId>
                <version>1.0.0</version>
            </dependency>
        
    

Добавьте проверочный код:

        
            package org.example;

            import ru.morpher.qazaq.*;

            public class Main {
                static void main() {
                    Declension declension = new Declension();
                    ParseResult result = declension.parse("Қазақстан");
                    System.out.println(result.getForm(false, Case.LOCATIVE));
                }
            }
        
    

Если код запускается и выдает «Қазақстанда», то установка прошла успешно.

История изменений

Дата Версия  
01.12.2025 1.0.0 Первый релиз. Функции:
  • Склонение по падежам, лицам и числам.
  • Пропись дат, дня месяца, количественных и порядковых числительных.
Купить

 

Библиотеки

© Сергей Слепов, 2003 - 2025.