interface PluralFormulaInterface

Same name and namespace in other branches
  1. 10 core/modules/locale/src/PluralFormulaInterface.php \Drupal\locale\PluralFormulaInterface
  2. 11.x core/modules/locale/src/PluralFormulaInterface.php \Drupal\locale\PluralFormulaInterface
  3. 9 core/modules/locale/src/PluralFormulaInterface.php \Drupal\locale\PluralFormulaInterface
  4. 8.9.x core/modules/locale/src/PluralFormulaInterface.php \Drupal\locale\PluralFormulaInterface

An interface for a service providing plural formulas.

The formula comes from the gettext GNU specification. At the top of each translation po file the number of plurals and the formula is defined. For Polish nplurals=3; phpcs:ignore Drupal.Files.LineLength plural=((n==1)?(0):(((((n%10)>=2)&&((n%10)<=4))&&(((n%100)<10)||((n%100)>=20)))?(1):2));\n

Hierarchy

Expanded class hierarchy of PluralFormulaInterface

All classes that implement PluralFormulaInterface

See also

https://docs.translatehouse.org/projects/localization-guide/en/latest/l…

File

core/modules/locale/src/PluralFormulaInterface.php, line 17

Namespace

Drupal\locale
View source
interface PluralFormulaInterface {
  
  /**
   * @param string $langcode
   *   The language code to get the formula for.
   * @param int $plural_count
   *   The number of plural forms.
   * @param array $formula
   *   An array of formulae.
   *
   * @return self
   *   The PluralFormula object.
   */
  public function setPluralFormula($langcode, $plural_count, array $formula);
  
  /**
   * Returns the number of plurals supported by a given language.
   *
   * @param null|string $langcode
   *   (optional) The language code. If not provided, the current language
   *   will be used.
   *
   * @return int
   *   Number of plural variants supported by the given language.
   */
  public function getNumberOfPlurals($langcode = NULL);
  
  /**
   * Gets the plural formula for a langcode.
   *
   * @param string $langcode
   *   The language code to get the formula for.
   *
   * @return array
   *   An array of formulae.
   */
  public function getFormula($langcode);
  
  /**
   * Resets the static formulae cache.
   *
   * @return self
   *   The PluralFormula object.
   */
  public function reset();

}

Members

Title Sort descending Modifiers Object type Summary Overrides
PluralFormulaInterface::getFormula public function Gets the plural formula for a langcode. 1
PluralFormulaInterface::getNumberOfPlurals public function Returns the number of plurals supported by a given language. 1
PluralFormulaInterface::reset public function Resets the static formulae cache. 1
PluralFormulaInterface::setPluralFormula public function 1

Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.