TimeSpeller::spellDifference()
Russian:
яя
(#94)Санкт-Перербург
, Алма-Ата
)ня
, ея
Russian:
-щ
(#84)In Russian:
GeographicalNamesInflection::getCase('Крым', Cases::LOCATIVE)
(#72)N район
, N волость
(#70); Кривуша
(#71)-аида
Russian:
-ш
(#59)-их
и -га
(#65)MoneySpeller::spell(123.45, MoneySpeller::RUBLE, MoneySpeller::NORMAL_FORMAT, 'родительный')
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()
при передаче только имени.Русский:
-
и -на
: Ростов-на-Дону
, Переславль-Залесский
.хутор N
, пгт N
в склонение.TimeSpeller::spellInterval($interval, $modifiers, 2)
- сгенерирует максимум две фразы для интервала, например 5 лет и 2 дня
.Русский:
село N
в GeographicalNamesInflection
getNameCases($fullName, $gender = null)
для получения всех форм имениinflectName()
добавлена возможность передавать только имя.Russian:
ов
: Киров, Псков, Тамбов
(thanks to @VitalyArt)Russian:
Ростов-на-Дону
ванная
во множественное число (раньше была проблема с количеством 2 и 3).morphos\Russian\pluralize()
и метод morphos\Russian\NounPluralization::pluralize()
могут принимать аргументы (кол-во предметов и название предмета) в любом порядке. Следующие вызовы равнозначны:morphos\Russian\pluralize(5, 'дом')
morphos\Russian\pluralize('дом', 5)
-ек
.Russian:
город
, край
и область
в GeographicalNamesInflection
о/об
из всех функций склонения. Теперь чтобы его добавить оберните склонённое слово в вызов RussianLanguage::about()
:RussianLanguage::about(NounDeclension::getCase('обед', 'предложный')) => 'об обеде'
Russian:
в
(во), об
(о, обо), c
(со):RussianLanguage::about($word)
- добавляет о/об/обо
в зависимости от букв, с которых начинается словоRussianLanguage::in($word)
- добавляет в/во
в зависимости от букв, с которых начинается словоRussianLanguage::with($word)
- добавляет с/со
в зависимости от букв, с которых начинается словосервер
, халат
.English:
morphos\English\TimeSpeller::spellInterval(DateInterval $interval)
morphos\English\pluralize()
function:pluralize($count, $word)
"%n %word"
Russian:
Мартен-Люган
, Копусов-Долинин
ый
, ные
, ны
: Набережные Челны
, Грозный
morphos\Russian\pluralize()
: изменён порядок аргументов: pluralize($count, $word)
Russian:
ой
, ых
, ко
: Толстой
, Фоминых
, Стецко
ая
: Стальная
две
Христиан
, Александр
Russian
renamed classes:
GeneralDeclension
→ NounDeclension
Plurality
→ NounPluralization
TimeUnitSpeller
→ TimeSpeller
partially renamed classes:
CardinalNumeral
→ CardinalNumeralGenerator
OrdinalNumeral
→ OrdinalNumeralGenerator
FirstNamesDeclension
, MiddleNamesDeclension
, LastNamesDeclension
, GeographicalNamesDeclension
: Declension
replaced with Inflection
functions change:
name()
renamed to inflectName()
pluralize()
now returns a string in format "%n %word"
instead of inflected word only.English:
CardinalNumeral
→ CardinalNumeralGenerator
OrdinalNumeral
→ OrdinalNumeralGenerator
Plurality
→ NounPluralization
Russian:
NounDeclension::detectGender()
for gender detection of nouns.ха
.Now Morphos fully meets PSR-2.
MoneyFormatter
to MoneySpeller
Russian:
TimeUnitSpeller
: Spells date&time intervals like 5 часов и 6 минут назад
name()
functionRussian:
MoneyFormatter
0
in CardinalNumeral
ов
morphos\Russian\CardinalNumeral
, morphos\English\CardinalNumeral
) leading to infinite loop on x86.English:
bin/morphos
).Russian:
ая
: Закипная
ь
or with a consonant.ль
: Ставрополь, Ярославль
рь
: Тверь
ки
: Березники, Ессентуки
мь
: Пермь, Кемь
нь
: Рязань, Назрань
Updates in general declension:
волчище
, полотнище
существительное
, выходной
, запятая
, рабочий
письмо
-> писем
, ядро
-> ядер
пень
-> пня
, котенок
-> котенка
-ие
: сообщение
, воскрешение
morphos\Russian\Plurality::pluralize($word, $count)
for $count > 100
. (thanks to @alexlcdee)