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()),