public PluralTranslatableMarkup::render()
Renders the object as a string.
Return value
string The translated string.
Overrides TranslatableMarkup::render
File
- core/lib/Drupal/Core/StringTranslation/PluralTranslatableMarkup.php, line 105
Class
- PluralTranslatableMarkup
- A class to hold plural translatable markup.
Namespace
Drupal\Core\StringTranslation
Code
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 | public function render() { if (! $this ->translatedString) { $this ->translatedString = $this ->getStringTranslation()->translateString( $this ); } if ( $this ->translatedString === '' ) { return '' ; } $arguments = $this ->getArguments(); $arguments [ '@count' ] = $this -> count ; $translated_array = explode ( static ::DELIMITER, $this ->translatedString); if ( $this -> count == 1) { return $this ->placeholderFormat( $translated_array [0], $arguments ); } $index = $this ->getPluralIndex(); if ( $index == 0) { // Singular form. $return = $translated_array [0]; } else { if (isset( $translated_array [ $index ])) { // N-th plural form. $return = $translated_array [ $index ]; } else { // If the index cannot be computed or there's no translation, use the // second plural form as a fallback (which allows for most flexibility // with the replaceable @count value). $return = $translated_array [1]; } } return $this ->placeholderFormat( $return , $arguments ); } |
Please login to continue.