Skip to content

Latest commit

 

History

History
53 lines (38 loc) · 2.37 KB

readme.md

File metadata and controls

53 lines (38 loc) · 2.37 KB

Petrovich

Склонение падежей русских имён, фамилий и отчеств.

Портированная версия с Ruby на Dart

Лицензия MIT

##Установка

Добавьте в pubspec.yaml новую зависимость:

petrovich: any

Использование

import 'package:petrovich/petrovich.dart;

Petrovich petrovich = new Petrovich(Petrovich.GENDER_MALE);

String firstname = "Александр";
String middlename = "Сергеевич";
String lastname = "Пушкин";

print(Petrovich.detectGender("Петровна"));	// Petrovich.GENDER_FEMALE (см. пункт Пол)

print(petrovich.firstName(firstname, Petrovich.CASE_GENITIVE)); //	Александра
print(petrovich.middlename(middlename, Petrovich.CASE_GENITIVE)); //	Сергеевича
print(petrovich.lastname(lastname, Petrovich.CASE_GENITIVE)); //	Пушкина

Падежи

Названия суффиксов для методов образованы от английских названий соответствующих падежей. Полный список поддерживаемых падежей приведён в таблице ниже.

Суффикс метода Падеж Характеризующий вопрос
CASE_NOMENATIVE именительный Кто? Что?
CASE_GENITIVE родительный Кого? Чего?
CASE_DATIVE дательный Кому? Чему?
CASE_ACCUSATIVE винительный Кого? Что?
CASE_INSTRUMENTAL творительный Кем? Чем?
CASE_PREPOSITIONAL предложный О ком? О чём?

Пол

Метод Petrovich.detectGender возвращает пол, на основе отчества. Возвращаемое значение не зависит от пола, переданного в конструктор. Для полов определены следующие константы

  • GENDER_ANDROGYNOUS - пол не определен;
  • GENDER_MALE - мужской пол;
  • GENDER_FEMALE - женский пол.