diff --git a/core/modules/config_translation/src/FormElement/PluralString.php b/core/modules/config_translation/src/FormElement/PluralString.php index c86626d..99e4cbf 100644 --- a/core/modules/config_translation/src/FormElement/PluralString.php +++ b/core/modules/config_translation/src/FormElement/PluralString.php @@ -22,22 +22,23 @@ class PluralString extends FormElementBase { * {@inheritdoc} */ protected function getSourceElement(LanguageInterface $source_language, $source_config) { + $plurals = $this->getNumberOfPlurals($source_language->getId()); $values = explode(LOCALE_PLURAL_DELIMITER, $source_config); $element = array( '#type' => 'fieldset', '#title' => $this->t($this->definition->getLabel()), '#tree' => TRUE, ); - for ($i = 0; $i < 2; $i++) { + for ($i = 0; $i < $plurals; $i++) { $element[] = array( '#type' => 'item', '#title' => SafeMarkup::format('@label (@source_language)', array( - '@label' => $i == 0 ? $this->t('Singular form') : $this->t('Plural form'), + '@label' => $i == 0 ? $this->t('Singular form') : $this->formatPlural($i, 'First plural form', '@count. plural form'), '@source_language' => $source_language->getName(), )), '#markup' => SafeMarkup::format('@value', array( '@langcode' => $source_language->getId(), - '@value' => $values[$i] + '@value' => $values[$i] ?: $this->t('(Empty)'), )), ); } @@ -58,9 +59,9 @@ protected function getTranslationElement(LanguageInterface $translation_language for ($i = 0; $i < $plurals; $i++) { $element[] = array( '#type' => 'textfield', - '#title' => SafeMarkup::format('@label (@source_language)', array( + '#title' => SafeMarkup::format('@label (@translation_language)', array( '@label' => $i == 0 ? $this->t('Singular form') : $this->formatPlural($i, 'First plural form', '@count. plural form'), - '@source_language' => $translation_language->getName(), + '@translation_language' => $translation_language->getName(), )), '#default_value' => isset($values[$i]) ? $values[$i] : '', '#attributes' => array('lang' => $translation_language->getId()),