format_plural
Definition
format_plural($count, $singular, $plural)
includes/common.inc, line 714
Description
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.
Parameters
$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
| Name | Description |
|---|---|
| Formatting | Functions to format numbers, strings, dates, etc. |
| Input validation | Functions to validate user input. |
Code
<?php
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));
default:
return t(strtr($plural, array("%count" => '%count['. $index .']')), array('%count['. $index .']' => $count));
}
}
}
?> 