#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. Да, конечно, но мне было интересно, есть ли способ сделать это, не переводя их отдельно