Я не могу настроить перевод для моего проекта Symfony 2. Я вручную создал папку внутри app\Resources\translations\message.en.yml
и его содержание:Symfony 2 настройка файлов перевода
base:
title:
homePage: TeamERP IMS for BA
Затем на шаблоне ветки базы внутри моей пачки Я пытаюсь назвать:
<title>
{% block title %}
{{ base.title.homePage|trans }}
{% endblock %}
</title>
Тогда на config.yml
I имеет следующий :
framework:
translator: { fallbacks: en }
Я получаю эту ошибку:
Variable "base" does not exist in TeamERPBaseBundle::base.html.twig at line 7
Что я делаю неправильно?
Edit: после устранения проблемы здесь:
{{ 'base.title.homePage'|trans }}
Я перестал получать ошибку, спасибо за это. Теперь страница не giveng ошибки, но не загрузит страницу с предупреждением в журналах в порядке:
[2015-05-01 12:42:57] translation.WARNING: Translation not found. {"id":"base.title.homePage","domain":"messages","locale":"en"} []
[2015-05-01 12:42:57] translation.WARNING: Translation not found. {"id":"Home","domain":"messages","locale":"en"} []
edit2: Было какое-то проблемы с моей версией Symfony 2.6. Я только что сделал composer update
из-за this, и он начал работать. нормально.
Я изменил точное имя, а также сделал это '{{'base.title.homePage' | trans}}'. Я больше не получаю ошибку, но когда я загружаю страницу, заголовок показывает «base.title.homePage», а не «TeamERP IMS for BA». – wti
Вы включили переводы, как описано здесь: http://symfony.com/doc/2.7/book/translation.html#configuration –
@wti В документации говорится: «framework: -> translator: -> FALLBACKS: [en] (с массивом значения), но в моем локальном проекте я устанавливал его как «framework: -> translator: -> FALLBACK: en (без S)», а в вашей конфигурации вы смешиваете их, например, «framework: -> translator: - > FALLBACKS: ru'. Я думаю, что это вызывает проблему. – xurshid29