Я использую компонент перевода в Symfony 4.0 с загрузчиком YAML. В соответствии с документы я могу вкладывать свои сообщения в ключи вроде этого:
msg:
foo: baz
bar: qux
Что работает нормально, когда я получаю значения с:
$translator->trans(
'msg.foo'
);
То, с чем я борюсь, это добавление плюрализации в микс — возьмем, к примеру:
$translator->transChoice(
'msg.singular|msg.plural',
2
);
Это на своих выходах либо msg.singular
или как в этом случае msg.plural
как и ожидалось, и он потребляет сообщения, когда я определяю их как:
msg.singular|msg.plural: There is one Apple|There are %count% Apples
То, что он не примет, является одним из следующих:
msg:
singular: There is one Apple
plural: There are %count% Apples
# or
msg:
singular|plural: There is one Apple|There are %count% Apples
Что имеет смысл, так как это будет сведено к:
msg.singular: There is one Apple
msg.plural: There are %count% Apples
# or
msg.singular|plural: There is one Apple|There are %count% Apples
У меня вопрос: как я могу использовать функции плюрализации, которые предоставляет Symfony, используя вложенные ключи для моих данных перевода?
Задача ещё не решена.
Других решений пока нет …