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. / Морфологическая библиотека для английского и русского языков. Склоняет имена собственные, названия географических объектов, склонение и плюрализация имен собственных и другое.
English:
\morphos\English\TimeSpeller::spellDifference($time)
. $time
should be a DateTime
instance, a string with date&time or unix timestamp (int).Russian:
\morphos\Russian\TimeSpeller::spellDifference($time)
. $time
должно быть объектом DateTime
, строкой с датой/временем или unix timestamp.Russian:
Russian:
morphos\Russian\AdjectivesDeclension
morphos\Russian\AdjectivesPluralization
morphos\Russian\pluralize()
morphos\Russian\pluralize(10, 'новый дом')
даёт
10 новых домов
Russian:
Краснодар
Russian:
NounPluralization::pluralize('цвет', 7, false, 'prepositional');
).Орел
.Russian:
mb_internal_encoding()
or iconv_set_encoding
. Now Morphos uses internal encoding without influence on PHP settings.
If you pass non-unicode (utf-8) strings in Morphos, set encoding before usage via \morphos\S::setEncoding($encoding)
.
mbstring
.Russian:
RussianLanguage::verb()
, не оканчивающегося на л.-ика
.Russian:
GeographicalNamesInflection
.шь
(Россошь), ы
(Чебоксары), ль
(Электросталь), топонимов с бегающими гласными (Орёл).NounDeclension
и NounPluralization
.Russian:
FirstNamesInflection::isMutable()
: добавлено больше правил.песо
, гривна
, юань
).-чь
, -рь
(Керчь, Анадырь).MoneySpeller::spell()
: если дробная часть отсутствует, то она не указывается. (0 копеек и т.п.).General:
S::findLastPosition()
Russian:
Саша
, Пётр
.detectGender()
при передаче только имени.