wapmorgan / Morphos

A morphological solution for Russian and English language written completely in PHP. Provides classes to inflect personal names, geographical names, decline and pluralize nouns, generate cardinal and ordinal numerals, spell out money amounts and time intervals. / Морфологическая библиотека для английского и русского языков. Склоняет имена собственные, названия географических объектов, склонение и плюрализация имен собственных и другое.
http://wapmorgan.github.io/Morphos/
MIT License
788 stars 105 forks source link

Неправильно склоняется Верн Жюль #28

Closed 111ypuk closed 6 years ago

111ypuk commented 6 years ago

Например Родительный Верна Жюля, а не Верн Жюли

wapmorgan commented 6 years ago

Всё правильно - указывайте род владельца имени.

Без указания склоняется как имя женского рода.

var_dump(morphos\Russian\getNameCases('Верн Жюль'));
/*
array(6) {
  ["nominative"]=>
  string(17) "Верн Жюль"
  ["genitive"]=>
  string(17) "Верн Жюли"
  ["dative"]=>
  string(17) "Верн Жюли"
  ["accusative"]=>
  string(17) "Верн Жюль"
  ["ablative"]=>
  string(19) "Верн Жюлью"
  ["prepositional"]=>
  string(17) "Верн Жюли"
}
*/

Если указать принудительно, выдаёт правильные формы:

var_dump(morphos\Russian\getNameCases('Верн Жюль', morphos\Gender::MALE));
/*
array(6) {
  ["nominative"]=>
  string(17) "Верн Жюль"
  ["genitive"]=>
  string(19) "Верна Жюля"
  ["dative"]=>
  string(19) "Верну Жюлю"
  ["accusative"]=>
  string(19) "Верна Жюля"
  ["ablative"]=>
  string(23) "Верном Жюлем"
  ["prepositional"]=>
  string(19) "Верне Жюле"
}
*/