#symfony #bundle
#symfony #пакет
Вопрос:
как здесь сказано, я переопределил шаблон layout.html.twig FOSUserBundle.
Это новый шаблон:
//app/Resources/FOSUserBundle/views
{% extends 'AibFrontendBundle::layout.html.twig' %}
{% block content%}
<div>
{% if is_granted("IS_AUTHENTICATED_REMEMBERED") %}
{{ 'layout.logged_in_as'|trans({'%username%':
app.user.username}, 'FOSUserBundle') }} |
<a href="{{ path('fos_user_security_logout') }}">
{{ 'layout.logout'|trans({}, 'FOSUserBundle') }}
</a>
{% else %}
<a
href="{{ path('fos_user_security_login') }}">{{ 'layout.login'|
trans({}, 'FOSUserBundle') }}</a>
{% endif %}
</div>
{% for key, message in app.session.getFlashes() %}
<div class="{{ key }}">
{{ message|trans({}, 'messages') }}
</div>
{% endfor %}
<div>
{% block fos_user_content %}
{% endblock fos_user_content %}
</div>
{% endblock %}
Как вы можете видеть, мой layout.html.twig почти такой же, как оригинал
FOSUserBundle, но я называю каталог i18n «сообщениями».
У меня есть messages.it.xliff внутри /Aib/ FrontendBundle/Resources/ translations. Вот оно:
<?xml version="1.0"?>
<xliff version="1.2" xmlns="urn:oasis:names:tc:xliff:document:1.2">
<file source-language="en" datatype="plaintext"
original="file.ext">
<body>
<trans-unit id="1">
<source>Bad credentials</source>
<target>Username o password invalidi</target>
</trans-unit>
</body>
</file>
</xliff>
Проблема: перевод «Неверных учетных данных» не работает..
Я очистил кэш.
Комментарии:
1. В этом пакете переводы, похоже, в формате yml : github.com/FriendsOfSymfony/FOSUserBundle/blob/master/Resources/… Может быть, вы могли бы попробовать с файлом yml… странно то, что я не могу найти «Неверные учетные данные» в файле перевода на английский: github.com/FriendsOfSymfony/FOSUserBundle/blob/master/Resources/… Вы в курсе событий?
2. Не могли бы вы ответить, когда кто-то прокомментирует ваш вопрос?
Ответ №1:
Я нашел решение для вашего ответа. создание файла yml здесь помогло мне: app/Resources/translations/FOSUserBundle.fr.yml
если вы не знаете, как заполнить этот файл, найдите файл с похожим именем в пакете. Очистка кэша важна.
Вы действительно разозлили меня, не ответив на мой комментарий по этому вопросу (и по нескольким другим), но ваш вопрос — хороший вопрос, и некоторым другим людям может понадобиться ответ, и у них нет причин не получать ответ, так что вот он. Хорошего дня и, пожалуйста, отвечайте, когда кто-то с вами разговаривает. Это элементарная вежливость.