Сообщения об ошибках обрезания сообщений довольно просты, но сначала могут показаться сложными.
региональные настройки по умолчанию
Прежде всего, вы должны изменить региональные настройки по умолчанию приложения. В версиях 2.0.x правильное значение для изменения - framework.session.default_locale
. Для справок в будущем, начиная с 2.1.0, это будет framework.default_locale
. Обратитесь к the docs за правильным синтаксисом.
Языковой стандарт должен состоять из вашего языка и региона и определяется как language_REGION
(list of languages, list of countries). Например, язык, используемый в Германии для немецкого языка, будет de_DE
.
Validation сообщение
Validation сообщение жестко закодированы в соответствующих constraint classes.
Транслирующих сообщения проверки
Symfony использует Twig для отображения всех сообщений о проверке. Сам процесс является сложным и выходит за рамки этого вопроса, но важная часть заключается в том, что каждое сообщение ограничения отправляется через фильтр перевода, который в зависимости от локали пользователя (default_locale
по умолчанию) переводит сообщения на правильный язык.
Чтобы изменить любой из переводов, просто скопируйте файл перевода с проверки с vendor/symfony/src/Symfony/Bundle/FrameworkBundle/Resources/translations/validators.{lang}.xlf
по номеру app/Resources/translations/validators.{lang}.xlf
где {lang}
является языковой частью вашего стандарта по умолчанию.
Сделав первый, просто измените сообщения по умолчанию на то, что когда-либо вы увидите более подходящим. Если язык, на котором вам нужна поддержка, не существует, скопируйте любой файл перевода в тот же каталог и измените этот файл.
Чтобы узнать больше о том, как работает перевод в Symfony2, посетите официальную документацию по адресу translation.
с Symphony 2.1 файлы теперь находятся в 'vendor/symfony/src/Symfony/Component/Validator/Resources/translations/validators. {Lang} .xlf' –
Просто обновить этот ответ на поведение в новых версиях Symfony : in ** symfony 2.5 **, мне не нужно было копировать файлы, чтобы включить перевод для формы и сообщений обратной связи для проверки. Я просто должен был ... a) установить желаемый стандартный язык в параметрах.yml ('locale: xy') b) включить службу переводчика в config.yml (прокомментирован по умолчанию и будет обновлен с вашим желаемым резервным языком - в моем случае «ru») 'framework: translator: {fallback:" en "}' c) убедитесь, что по умолчанию locale в config.yml является set to defined locale from parameters.yml: 'framework: default_locale:"% locale% "' – Skug