给定使用消息占位符对对象的约束,例如
/**
* @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 中的双重翻译