Несколько Множественных Форм В Одном Сообщении Для Перевода

Всем Привет

Недавно начал внедрять многоязычность в один из проектов на Yii. Столкнулся с ситуацией, что нужно перевести такое вот сообщение:


Account is enabled. Applying service charge. For $days_topay day(s) and $months_topay month(s).

Мне пришлось разбивать данное сообщение на несколько сообщений. Что выглядит примерно так:


Yii::t('webclient',"Account is enabled. Applying service charge. ").Yii::t('webclient',"For {n} day |For {n} days ",$days_topay).Yii::t('webclient',"and {n} month.|and {n} months.", $months_topay)

Подскажите есть ли вариант получше, не разбивать на несколько сообщений? А если нет будет ли в Yii2?

Я утра туго соображаю. Зачем вам пришлось разбивать на два сообщения?

У меня там две множественные формы "$days_topay day(s)" и "$months_topay month(s)". Я не могу так записать

Yii::t(‘webclient’,“Account is enabled. Applying service charge. For {n1} day |For {n1} days and {n2} month.|and {n2} months.”, array($days_topay, $months_topay));

Да, действительно. Но тогда не вижу другого решения, кроме того, что вы реализовали.

Есть предложение для последующих версий. Добавить возможность выделения зон множественной зависимости. К примеру для моего случая:


Yii::t('webclient',"Account is enabled. Applying service charge. For [{n1} day |For {n1} days] and [{n2} month.|and {n2} months].", array($days_topay, $months_topay)); 

Тогда получится, что каждая зона будет работать со своим числом и будет возвращать своё множественное значение.