WP_CLI

Inflector::pluralize()public staticWP-CLI 1.0

Returns a word in plural form.

Метод класса: Inflector{}

Хуков нет.

Возвращает

Строку. The word in plural form.

Использование

$result = Inflector::pluralize( $word );
$word(строка) (обязательный)
The word in singular form.

Код Inflector::pluralize() WP-CLI 2.8.0-alpha

public static function pluralize( $word ) {
	if ( isset( self::$cache['pluralize'][ $word ] ) ) {
		return self::$cache['pluralize'][ $word ];
	}

	if ( ! isset( self::$plural['merged']['irregular'] ) ) {
		self::$plural['merged']['irregular'] = self::$plural['irregular'];
	}

	if ( ! isset( self::$plural['merged']['uninflected'] ) ) {
		self::$plural['merged']['uninflected'] = array_merge( self::$plural['uninflected'], self::$uninflected );
	}

	if ( ! isset( self::$plural['cacheUninflected'] ) || ! isset( self::$plural['cacheIrregular'] ) ) {
		self::$plural['cacheUninflected'] = '(?:' . implode( '|', self::$plural['merged']['uninflected'] ) . ')';
		self::$plural['cacheIrregular']   = '(?:' . implode( '|', array_keys( self::$plural['merged']['irregular'] ) ) . ')';
	}

	if ( preg_match( '/(.*)\\b(' . self::$plural['cacheIrregular'] . ')$/i', $word, $regs ) ) {
		self::$cache['pluralize'][ $word ] = $regs[1] . substr( $word, 0, 1 ) . substr( self::$plural['merged']['irregular'][ strtolower( $regs[2] ) ], 1 );

		return self::$cache['pluralize'][ $word ];
	}

	if ( preg_match( '/^(' . self::$plural['cacheUninflected'] . ')$/i', $word, $regs ) ) {
		self::$cache['pluralize'][ $word ] = $word;

		return $word;
	}

	foreach ( self::$plural['rules'] as $rule => $replacement ) {
		if ( preg_match( $rule, $word ) ) {
			self::$cache['pluralize'][ $word ] = preg_replace( $rule, $replacement, $word );

			return self::$cache['pluralize'][ $word ];
		}
	}
}