function locale_get_plural
locale_get_plural($count, $langcode = NULL)
Returns plural form index for a specific number.
The index is computed from the formula of this language.
Parameters
$count: Number to return plural for.
$langcode: Optional language code to translate to a language other than what is used to display the page.
Return value
The numeric index of the plural variant to use for this $langcode and $count combination or -1 if the language was not found or does not have a plural formula.
File
- modules/locale/locale.module, line 782
- Add language handling functionality and enables the translation of the user interface to languages other than English.
Code
function locale_get_plural($count, $langcode = NULL) { global $language; // Used to locally cache the plural formulas for all languages. $plural_formulas = &drupal_static(__FUNCTION__, array()); // Used to store precomputed plural indexes corresponding to numbers // individually for each language. $plural_indexes = &drupal_static(__FUNCTION__ . ':plurals', array()); $langcode = $langcode ? $langcode : $language->language; if (!isset($plural_indexes[$langcode][$count])) { // Retrieve and statically cache the plural formulas for all languages. if (empty($plural_formulas)) { foreach (language_list() as $installed_language) { $plural_formulas[$installed_language->language] = $installed_language->formula; } } // If there is a plural formula for the language, evaluate it for the given // $count and statically cache the result for the combination of language // and count, since the result will always be identical. if (!empty($plural_formulas[$langcode])) { // $n is used inside the expression in the eval(). $n = $count; $plural_indexes[$langcode][$count] = @eval('return intval(' . $plural_formulas[$langcode] . ');'); } // In case there is no plural formula for English (no imported translation // for English), use a default formula. elseif ($langcode == 'en') { $plural_indexes[$langcode][$count] = (int) ($count != 1); } // Otherwise, return -1 (unknown). else { $plural_indexes[$langcode][$count] = -1; } } return $plural_indexes[$langcode][$count]; }
© 2001–2016 by the original authors
Licensed under the GNU General Public License, version 2 and later.
Drupal is a registered trademark of Dries Buytaert.
https://api.drupal.org/api/drupal/modules!locale!locale.module/function/locale_get_plural/7.x