_nx_noop( string $singular, string $plural, string $context, string $domain = null ): array

Registers plural strings with gettext context in POT file, but does not translate them.

Description

Used when you want to keep structures with translatable plural strings and use them later when the number is known.

Example of a generic phrase which is disambiguated via the context parameter:

$messages = array(
     'people'  => _nx_noop( '%s group', '%s groups', 'people', 'text-domain' ),
     'animals' => _nx_noop( '%s group', '%s groups', 'animals', 'text-domain' ),
);
...
$message = $messages[ $type ];
printf( translate_nooped_plural( $message, $count, 'text-domain' ), number_format_i18n( $count ) );

Parameters

$singularstringrequired
Singular form to be localized.
$pluralstringrequired
Plural form to be localized.
$contextstringrequired
Context information for the translators.
$domainstringoptional
Text domain. Unique identifier for retrieving translated strings.

Default:null

Return

array Array of translation information for the strings.
  • string
    Singular form to be localized. No longer used.
  • 1 string
    Plural form to be localized. No longer used.
  • 2 string
    Context information for the translators. No longer used.
  • singular string
    Singular form to be localized.
  • plural string
    Plural form to be localized.
  • context string
    Context information for the translators.
  • domain string|null
    Text domain.

Source

function _nx_noop( $singular, $plural, $context, $domain = null ) {
	return array(
		0          => $singular,
		1          => $plural,
		2          => $context,
		'singular' => $singular,
		'plural'   => $plural,
		'context'  => $context,
		'domain'   => $domain,
	);
}

Changelog

VersionDescription
2.8.0Introduced.

User Contributed Notes

  1. Skip to note 2 content
    $labels = array(
    	'draft' => array( _nx_noop( '%s Draft', '%s Drafts', 'post' ), _nx_noop( '%s Draft', '%s Drafts', 'page' ) ),
    	'publish' => array( _nx_noop( '%s Published', '%s Published', 'post' ), _nx_noop( '%s Published', '%s Published', 'page' ) ),
    );
    if ( $post_type == 'page' ) {
    	$labels = $labels[ $post_status ][1];
    } else {
    	$labels = $labels[ $post_status ][0];
    }
    $usable_text = sprintf( translate_nooped_plural( $labels, $count, $domain ), $count );

You must log in before being able to contribute a note or feedback.