Недавно начал внедрять многоязычность в один из проектов на 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));
Тогда получится, что каждая зона будет работать со своим числом и будет возвращать своё множественное значение.