Как активировать переводы валидатора SymfonyPhp

Кемеровские программисты php общаются здесь
Ответить
Anonymous
 Как активировать переводы валидатора Symfony

Сообщение Anonymous »

Я использую Symfony6.4 для API и недавно перешел на атрибуты.
например:

Код: Выделить всё

use OpenApi\Attributes as OA;
use Symfony\Component\Serializer\Annotation\Groups as SerializerGroups;
use Symfony\Component\Validator\Constraints as Assert;

#[OA\Schema()]
readonly class WorkHour implements DtoInterface
{
public function __construct(
#[OA\Property(description: 'Arbeitsstunden', type: 'integer')]
#[Assert\NotNull(message: 'Arbeitsstunden müssen angegeben werden.', groups: ['create', 'update'])]
#[SerializerGroups(['view', 'create', 'update', 'collection'])]
public int $hours
) {
}
}
В моих модульных тестах, где я пытаюсь использовать значение null в качестве значения «часы», ожидаемая ошибка проверки возникает с http-кодом 422, но используется текст по умолчанию на английском языке: Это значение должно иметь значение введите {type}вместо немецкого перевода, который доступен в компоненте проверки. Эти файлы расположены здесь:vendor/symfony/validator/Resources/translations/validators.de.xlf
Обратите внимание: здесь также не используется мое собственное сообщение. Использование этого сообщения также было бы хорошо. Я установил «symfony/translation» через композитор.
Поскольку это API, я не использую здесь twig. Сообщение будет передано во внешний интерфейс через результат API.
Мой файл Translation.yaml выглядит следующим образом:

Код: Выделить всё

framework:
translator:
fallbacks: [ 'de' ]
paths:
- 'vendor/symfony/validator/Resources/translations/'
enabled: true
Что мне нужно сделать, чтобы использовать существующие переводы по умолчанию для сообщений валидатора или, альтернативно, использовать свои собственные сообщения?


Подробнее здесь: https://stackoverflow.com/questions/787 ... anslations
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Php»