LazyRecord\Inflector::pluralize PHP Method

pluralize() public method

Return $word in plural form.
public pluralize ( string $word ) : string
$word string Word in singular
return string Word in plural
    public function pluralize($word)
    {
        $_this =& self::getInstance();
        if (isset($_this->_pluralized[$word])) {
            return $_this->_pluralized[$word];
        }
        if (!isset($_this->_plural['merged']['irregular'])) {
            $_this->_plural['merged']['irregular'] = $_this->_plural['irregular'];
        }
        if (!isset($_this->plural['merged']['uninflected'])) {
            $_this->_plural['merged']['uninflected'] = array_merge($_this->_plural['uninflected'], $_this->_uninflected);
        }
        if (!isset($_this->_plural['cacheUninflected']) || !isset($_this->_plural['cacheIrregular'])) {
            $_this->_plural['cacheUninflected'] = '(?:' . implode('|', $_this->_plural['merged']['uninflected']) . ')';
            $_this->_plural['cacheIrregular'] = '(?:' . implode('|', array_keys($_this->_plural['merged']['irregular'])) . ')';
        }
        if (preg_match('/(.*)\\b(' . $_this->_plural['cacheIrregular'] . ')$/i', $word, $regs)) {
            $_this->_pluralized[$word] = $regs[1] . substr($word, 0, 1) . substr($_this->_plural['merged']['irregular'][strtolower($regs[2])], 1);
            return $_this->_pluralized[$word];
        }
        if (preg_match('/^(' . $_this->_plural['cacheUninflected'] . ')$/i', $word, $regs)) {
            $_this->_pluralized[$word] = $word;
            return $word;
        }
        foreach ($_this->_plural['rules'] as $rule => $replacement) {
            if (preg_match($rule, $word)) {
                $_this->_pluralized[$word] = preg_replace($rule, $replacement, $word);
                return $_this->_pluralized[$word];
            }
        }
    }