1

给定使用消息占位符对对象的约束,例如

/**
 * @Assert\MaxLength(limit = 25, message = "name.length.invalid")
 */
public $name;

在哪里

name.length.invalid: 'Please enter a shorter name.'

为什么 Symfony 在尝试渲染具有复数组件的消息时默认强制消息复数规则?如果我在消息上有复数形式(因为最大长度的限制就是这种情况)并且指定了故意非复数形式的消息(如上所述),为什么 Symfony 强迫我指定某种形式的复数形式而不是仅仅使用非- 消息的复数形式?

我不想明确定义复数的范围(例如'[0, Inf] Please enter a shorter name.'),因为存在翻译选择应该是隐含的。'Please enter a shorter name|Please enter a shorter name'在上述情况下还提供明确的复数选择(例如)是多余的。

有没有更好的方法来处理这种情况或类似的情况?

注意:上述案例是说明性的,如果将此消息呈现给实际的最终用户,显然可以进行改进。

同一问题的另一个例子可以在以下问题中看到:symfony2 中的双重翻译

4

0 回答 0