Переводы множественных условий множественного числа

#php #yaml #symfony5

#php #yaml #symfony5

Вопрос:

Я пытаюсь использовать службу translator для перевода предложения, содержащего 2 слова во множественном числе см. Примеры ниже :

 $countToBeDownloded = 2;
$allowedToDl = 0;

$countToBeDownloded1 = 15;
$allowedToDl1 = 4;

/*
 * Sentence : 
 *
 * `You tried to download {countToBeDownloded} image|images but your daily quota allow you to download only 
 * {allowedToDl} image|images`
 */

$this->translator->trans('mymessage', ['countToBeDownloded' => $countToBeDownloded, 'allowedToDl' => $allowedToDl]);

// mymessage output : You tried to download 2 images but your daily quota allow you to download only 0 image


$this->translator->trans('mymessage2', ['countToBeDownloded' => $countToBeDownloded1, 'allowedToDl' => $allowedToDl1]);

// mymessage output : You tried to download 15 images but your daily quota allow you to download only 4 images

  

Как вы можете видеть, мне приходится переводить image дважды, используя countToBeDownloded и allowedToDl .

Есть мой файл переводов yaml

 mymessage: |-
  {countToBeDownloded, plural,
      =1 {You tried to download # image but your daily quota allow you to download only {allowedToDl} images}
      other {You tried to download # images but your daily quota allow you to download only {allowedToDl} images}
  }
  

Есть способ добиться этого?

Комментарии:

1. Перевести эти 2 части предложения отдельно, а затем объединить?

2. Да, конечно, но мне было интересно, есть ли способ сделать это, не переводя их отдельно