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)); // минус үш
В данном примере функция возвращает количественное числительное прописью.
Параметры:
- number – число (long).
- useOne – писать ли «бір» перед словами «жүз», «мың», «миллион», «миллиард» и так далее:
миллион или
бір миллион.
Преобразование количественных числительных в порядковые
System.out.println(speller.makeOrdinal("жеті")); // жетінші
System.out.println(speller.makeOrdinal("елу мың отыз үш")); // елу мың отыз үшінші
Параметры:
- 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));
// бір мың тоғыз жүз тоқсан бесінші жылғы үшінші тамыз
Параметры:
- date – объект
java.time.LocalDate.
- useOne – писать ли «бір» перед словами «жүз» и «мың»:
мың тоғыз жүз тоқсан бесінші жылғы үшінші тамыз или
бір мың тоғыз жүз тоқсан бесінші жылғы үшінші тамыз.
Пропись дня и месяца
System.out.println(speller.spellDayOfMonth(10, 2)); // ақпанның оны
Параметры:
- day – число (1-31).
- 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 |
Первый релиз. Функции:
- Склонение по падежам, лицам и числам.
- Пропись дат, дня месяца, количественных и порядковых числительных.
|
Купить