-
-
Notifications
You must be signed in to change notification settings - Fork 39
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add to each custom message in rules parameter for set processing type #745
Comments
Isn't that too much granularity to set that per each message? I think, usually it is turned on/off on whole validator level, not per rule. |
By default, built-in messages that require translation are used. If my app is single language, then I can set one concrete message on my language and set proccessing for this message only. Other message should continue using translation. |
If you set message in your language but not change message processing nothing changes, isn't it? Translator can't handle it and leaves it as is |
No. Translator also uses formatter and format message in original language when not found translation. Real example. Russian is application language. Translator configuration is default. Validator configuration: ValidatorInterface::class => [
'class' => Validator::class,
'__construct()' => [
'ruleHandlerResolver' => Reference::to(RuleHandlerContainer::class),
'messageFormatter' => Reference::to(IntlMessageFormatter::class),
'messageFormatterLocale' => 'ru-RU',
],
], Rule: #[Count(
max: self::LIMIT,
greaterThanMaxMessage: 'Превышен лимит в {max, number} {max, plural, one{элемент} few{элемента} other{элементов}}.'
)] When limit is "21", message will be "Превышен лимит в 21 элементов." (Original language for translator is english). |
If it's a single language app then you must set this language for translator in the configuration so you get expected message |
Yes. But for translator language of original messages is English, but custom original messages in app on Russian. |
Custom messages you write in Russian, validator build-in messages are translated to Russian from English because you set Russian locale |
No. Translator tried translate to russian, but it not found translation and format original message (on russian) with translator original language (english). |
Why it's english if app's locale is russian? |
Default messages in English (example), so for translator original language is english. |
But there is translation for this message. It wouldn't be translated? |
Default is
Error::MESSAGE_TRANSLATE
.For example,
Count
rule:The text was updated successfully, but these errors were encountered: