Using translate_nooped_plural to translate plural strings with placeholders in WordPress

The translate_nooped_plural function in WordPress is a localization tool designed to handle plural form translations. It is primarily used when there are more than one plural forms in a language and the translation needs to be accurate based on the number of items.

Localization is a critical aspect of developing applications and websites that cater to a global audience. It involves adapting the software to different languages, regional peculiarities, and technical requirements of a target locale. The translate_nooped_plural function plays a crucial role in this process by ensuring that the plural forms of words are correctly translated into the target language.

When dealing with languages that have multiple plural forms, it becomes a complex task to correctly translate and use these forms. This is where the translate_nooped_plural function becomes relevant. It helps in translating and returning the correct plural form based on the count provided.

While the function is not without its limitations and potential complexities, it nonetheless provides a method for dealing with the intricacies of plural form translations in different languages. This function, therefore, forms part of WordPress’s broader localization and internationalization efforts.

Parameters Accepted by the translate_nooped_plural Function

The translate_nooped_plural function in WordPress accepts three parameters. These parameters are:

  • $nooped_plural (array type, required): This is an array that is typically the return value from either the _n_noop() or _nx_noop() functions. It contains the singular and plural forms that need to be localized, as well as context information for the translators. It may also contain a text domain. If it does, this will override the $domain parameter.
  • $count (integer type, required): This refers to the number of objects.
  • $domain (string type, optional): This is a unique identifier used for retrieving translated strings. The default value is ‘default’. If the $nooped_plural parameter contains a text domain passed to _n_noop() or _nx_noop(), it will override this value.

Return Value of the translate_nooped_plural Function

The translate_nooped_plural function returns a string. This will be either the $singular or $plural translated text, depending on the $count parameter.


How to translate plural forms of a word in WordPress

$comments_count = get_comments_number();
$comments_text = translate_nooped_plural(
 _n_noop('%s comment', '%s comments'),
echo '<p>' . sprintf($comments_text, number_format_i18n($comments_count)) . '</p>';

In this example, the translate_nooped_plural function is used to translate the plural forms of the word “comment”. The function _n_noop is used to prepare the singular and plural forms of the string for translation. The number of comments is fetched using the get_comments_number function. The translated string is then displayed in a paragraph.


In summary, the translate_nooped_plural function is a part of internationalization tools in WordPress that aids in the translation of plural forms of texts. It is particularly useful in situations where the text to be translated has different singular and plural forms, and the number of items is a variable. The function returns the appropriate translation based on the count, enabling developers to internationalize their plugins or themes effectively, ensuring that they cater to a global audience with different languages.

Related WordPress Functions