PHPackages                             cristianoc72/pluralizer - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. cristianoc72/pluralizer

ActiveLibrary

cristianoc72/pluralizer
=======================

Pluralize library

1.1(6y ago)0312↓100%[2 issues](https://github.com/cristianoc72/pluralizer/issues)MITPHPPHP &gt;=7.2

Since Jul 5Pushed 6y ago1 watchersCompare

[ Source](https://github.com/cristianoc72/pluralizer)[ Packagist](https://packagist.org/packages/cristianoc72/pluralizer)[ RSS](/packages/cristianoc72-pluralizer/feed)WikiDiscussions master Synced 1mo ago

READMEChangelog (4)Dependencies (2)Versions (5)Used By (0)

Pluralizer Library
==================

[](#pluralizer-library)

[![Build Status](https://camo.githubusercontent.com/8def033588d3d1a8f73fd6fd4d122814d6c753736627479e70f761be801b0c68/68747470733a2f2f7472617669732d63692e636f6d2f637269737469616e6f6337322f706c7572616c697a65722e7376673f6272616e63683d6d6173746572)](https://travis-ci.com/cristianoc72/pluralizer)[![Maintainability](https://camo.githubusercontent.com/f1de9670c3c23f805df13ac51893ded2663955b27d2350f6ae3a1a8202ec005d/68747470733a2f2f6170692e636f6465636c696d6174652e636f6d2f76312f6261646765732f64363837363862666632376563613035653235382f6d61696e7461696e6162696c697479)](https://codeclimate.com/github/cristianoc72/pluralizer/maintainability)[![Test Coverage](https://camo.githubusercontent.com/90975acb762960604024cfec5c1f6b1fbb04ef8d156ed98e290b134e157448c8/68747470733a2f2f6170692e636f6465636c696d6174652e636f6d2f76312f6261646765732f64363837363862666632376563613035653235382f746573745f636f766572616765)](https://codeclimate.com/github/cristianoc72/pluralizer/test_coverage)[![StyleCI](https://camo.githubusercontent.com/54e13c012f965a8c3335b84c8a8f72122544dcfcc216eb51ee71fdce0b54e9b6/68747470733a2f2f6769746875622e7374796c6563692e696f2f7265706f732f3134313532393637342f736869656c643f6272616e63683d6d6173746572)](https://github.styleci.io/repos/141529674)[![License: MIT](https://camo.githubusercontent.com/1a2e0606685ce00663bf829868f794fd3fc9c86f8d80cae324734129e0723a58/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f4c6963656e73652d4d49542d627269676874677265656e2e737667)](https://opensource.org/licenses/MIT)

Pluralizer is a pluralize/singularize library, extracted from [Propel Orm](https://github.com/propelorm/Propel3) codebase.

Install
-------

[](#install)

Via Composer

```
$ composer require cristianoc72/pluralizer
```

Usage
-----

[](#usage)

The library exposes two methods: `getPluralForm`, which transforms a word from singular to plural, and `getSinguarForm`doing the opposite.

```
$pluralizer = new cristianoc72\Pluralizer();

$plural = $pluralizer->getPluralForm('Author');
echo $plural; // Authors

$singular = $pluralizer->getSingularForm('Books');
echo $singular; // Book
```

The library can transform the most common irregular words:

```
$pluralizer = new cristianoc72\Pluralizer();

$plural = $pluralizer->getPluralForm('tooth');
echo $plural; // teeth
```

Besides, the library exposes two checker method `isPlural` and `isSingular`:

```
$pluralizer = new cristianoc72\Pluralizer();

var_dump($pluralizer->isPlural('Author'); // (bool) false

var_dump($pluralizer->isPlural('Books'));  // (bool) true
```

Testing
-------

[](#testing)

Simply run:

```
$ vendor/bin/phpunit
```

A directory `coverage` will be automatically created and it contains the code coverage report.

Contributing
------------

[](#contributing)

Contributions are **welcome** and will be fully **credited**.

We accept contributions via Pull Requests on [Github](https://github.com/cristianoc72/pluralizer).

When you submit a Pull Request, please follow this recommendations:

- [PSR-2 Coding Standard](https://github.com/php-fig/fig-standards/blob/master/accepted/PSR-2-coding-style-guide.md) - Check the code style and fix it via [Php CS Fixer](https://cs.sensiolabs.org/)
- Add tests! - Your patch won't be accepted if it doesn't have tests.
- Document any change in behaviour - Make sure the `README.md` is kept up-to-date.
- Send coherent history - Make sure each individual commit in your pull request is meaningful. If you had to make multiple intermediate commits while developing, please [squash them](http://www.git-scm.com/book/en/v2/Git-Tools-Rewriting-History#Changing-Multiple-Commit-Messages) before submitting.

Versions
--------

[](#versions)

- **0.x**: Developmnet versions. v0.5 can be considered stable. PHP 5.6 support.
- **1.x**: Stable versions. PHP &gt;= 7.1

Credits
-------

[](#credits)

- Paul Hanssen
- Hans Lellelid
- [Cristiano Cinotti](https://github.com/cristianoc72)

License
-------

[](#license)

The MIT License (MIT). Please see [License File](LICENSE) for more information.

###  Health Score

28

—

LowBetter than 54% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity14

Limited adoption so far

Community7

Small or concentrated contributor base

Maturity60

Established project with proven stability

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~106 days

Total

4

Last Release

2546d ago

Major Versions

v0.4 → v1.02018-12-17

PHP version history (3 changes)v0.3PHP &gt;=5.6

v1.0PHP &gt;=7.1

1.1PHP &gt;=7.2

### Community

Maintainers

![](https://www.gravatar.com/avatar/fb5ce96caf1e78aeefa09e75b49f21cc5214729ac6a9a06b852cf5de1269e058?d=identicon)[cristianoc72](/maintainers/cristianoc72)

---

Top Contributors

[![cristianoc72](https://avatars.githubusercontent.com/u/865437?v=4)](https://github.com/cristianoc72 "cristianoc72 (12 commits)")

---

Tags

pluralinflectorsingularpluralizer

###  Code Quality

TestsPHPUnit

Static AnalysisPsalm

Type Coverage Yes

### Embed Badge

![Health badge](/badges/cristianoc72-pluralizer/health.svg)

```
[![Health](https://phpackages.com/badges/cristianoc72-pluralizer/health.svg)](https://phpackages.com/packages/cristianoc72-pluralizer)
```

###  Alternatives

[doctrine/inflector

PHP Doctrine Inflector is a small library that can perform string manipulations with regard to upper/lowercase and singular/plural forms of words.

11.4k855.8M711](/packages/doctrine-inflector)[cakephp/utility

CakePHP Utility classes such as Inflector, String, Hash, and Security

12027.1M63](/packages/cakephp-utility)[gettext/languages

gettext languages with plural rules

7530.3M10](/packages/gettext-languages)[mmucklo/inflect

inflect - a memoizing inflector for php

4023.1M13](/packages/mmucklo-inflect)[delfimov/translate

Easy to use i18n translation PHP class for multi-language websites

1777.1k](/packages/delfimov-translate)[jrmajor/fluent

Fluent localization system for PHP

2716.9k5](/packages/jrmajor-fluent)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
