A morphological solution for Russian and English language written completely in PHP.
- [✓] Inflection of Personal names (Фамилия, Имя, Отчество) (Russian)
- [✓] Inflection of Geographical names (Страны/Города) (Russian)
- [✓] Declension/Pluralization of nouns and adjectives (Russian, English)
- [✓] Generation numerals of numbers (количественные и порядковые) (Russian, English)
- [✓] Spelling out amounts of money (Russian)
- [✓] Spelling out time units and intervals (Russian, English)
- Installation
- Quick start
- Library documentation
- Contributing
- Download library through composer:
composer require wapmorgan/morphos
- Adapter for Laravel (Blade): wapmorgan/morphos-blade
- Adapter for Symfony (Twig): wapmorgan/morphos-twig
- Adapter for Yii2 (as part of extension): wapmorgan/yii2-inflection
-
Russian:
// Inflect russian names: morphos\Russian\inflectName('Иванов Петр', 'родительный') => 'Иванова Петра' // Inflect geographical names: morphos\Russian\GeographicalNamesInflection::getCase('Москва', 'родительный') => 'Москвы' // Pluralize russian nouns: morphos\Russian\pluralize(10, 'дом') => '10 домов' // Generate russian cardinal numerals: morphos\Russian\CardinalNumeralGenerator::getCase(567, 'именительный') => 'пятьсот шестьдесят семь' // Generate russian ordinal numerals: morphos\Russian\OrdinalNumeralGenerator::getCase(961, 'именительный') => 'девятьсот шестьдесят первый' // other functions described in README-ru.md
-
English
// Pluralize english nouns: morphos\English\pluralize(10, 'house') => '10 houses' // Generate english cardinal numerals: morphos\English\CardinalNumeralGenerator::generate(567) => 'five hundred sixty-seven' // Generate english ordinal numerals: morphos\English\OrdinalNumeralGenerator::generate(961) => 'nine hundred sixty-first'
- Русская морфология в файле README-ru.md
- English morphology in file README-en.md
See CONTRIBUTING.md for this.