4.6 common.inc format_plural($count, $singular, $plural)
4.7 common.inc format_plural($count, $singular, $plural)
5 common.inc format_plural($count, $singular, $plural)
6 common.inc format_plural($count, $singular, $plural, $args = array(), $langcode = NULL)
7 common.inc format_plural($count, $singular, $plural, array $args = array(), array $options = array())

Format a string containing a count of items.

This function ensures that the string is pluralized correctly. Since t() is called by this function, make sure not to pass already-localized strings to it.


$count: The item count to display.

$singular: The string for the singular case. Please make sure it is clear this is singular, to ease translation (e.g. use "1 new comment" instead of "1 new").

$plural: The string for the plural case. Please make sure it is clear this is plural, to ease translation. Use %count in place of the item count, as in "%count new comments".

Return value

A translated string.

Related topics

16 calls to format_plural()
aggregator_view in modules/aggregator.module
archive_calendar in modules/archive.module
Generates a monthly calendar, for display in the archive block.
comment_link in modules/comment.module
Implementation of hook_link().
comment_nodeapi in modules/comment.module
Implementation of hook_nodeapi().
do_search in modules/search.module
Do a query on the full-text search index for a word or words.

... See full list


includes/common.inc, line 714
Common functions that many Drupal modules will need to reference.


function format_plural($count, $singular, $plural) {
  if ($count == 1) {
    return t($singular, array("%count" => $count));

  // get the plural index through the gettext formula
  $index = (function_exists('locale')) ? locale_get_plural($count) : -1;
  if ($index < 0) { // backward compatibility
    return t($plural, array("%count" => $count));
  else {
    switch ($index) {
      case "0":
        return t($singular, array("%count" => $count));
      case "1":
        return t($plural, array("%count" => $count));
        return t(strtr($plural, array("%count" => '%count[' . $index . ']')), array('%count[' . $index . ']' => $count));