ctu4/morphos

完全用 PHP 编写的俄罗斯语和英语的形态学解决方案。提供类以屈折个人姓名、地名、名词的变格和复数形式、生成基数词和序数词、拼写货币金额和时间。

dev-master 2022-11-23 14:13 UTC

This package is auto-updated.

Last update: 2024-09-23 18:12:51 UTC


README

完全用 PHP 编写的俄罗斯语和英语的形态学解决方案。

Latest Stable Version License Total Downloads Daily Downloads Latest Unstable Version

测试与质量: Build Status Scrutinizer Code Quality Code Coverage

功能

  • [✓] 个人姓名的屈折(Фамилия, Имя, Отчество)(俄语)
  • [✓] 地名屈折(Страны/Города)(俄语)
  • [✓] 名词和形容词的变格/复数形式(俄语,英语)
  • [✓] 数字基数词和序数词(俄语,英语)
  • [✓] 拼写货币金额(俄语)
  • [✓] 拼写时间单位和间隔(俄语,英语)

目录

  1. 安装
  2. 快速开始
  3. 文档
  4. 贡献

安装

  • 通过 composer 下载库
composer require wapmorgan/morphos

适配器

快速开始

俄语

// Inflect russian names:
morphos\Russian\inflectName('Иванов Петр', 'родительный') => 'Иванова Петра'

// Inflect geographical names:
morphos\Russian\GeographicalNamesInflection::getCase('Москва', 'родительный') => 'Москвы'

// Pluralize russian nouns and adjectives:
morphos\Russian\pluralize(10, 'новый дом') => '10 новых домов'

// Generate russian cardinal numerals:
morphos\Russian\CardinalNumeralGenerator::getCase(567, 'именительный') => 'пятьсот шестьдесят семь'

// Generate russian ordinal numerals:
morphos\Russian\OrdinalNumeralGenerator::getCase(961, 'именительный') => 'девятьсот шестьдесят первый'

// Generate russian time difference
morphos\Russian\TimeSpeller::spellDifference(time() + 3600, morphos\TimeSpeller::DIRECTION) => 'через 1 час'

// other functions described in README-ru.md

英语

// 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'

// Generate english time difference
morphos\English\TimeSpeller::spellDifference(time() + 3600, morphos\TimeSpeller::DIRECTION) => 'in 1 hour'

文档

贡献

有关详细信息,请参阅 CONTRIBUTING.md