Как применить каталоги к переопределяющему макету FOSUserBundle?

#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 если вы не знаете, как заполнить этот файл, найдите файл с похожим именем в пакете. Очистка кэша важна.

Вы действительно разозлили меня, не ответив на мой комментарий по этому вопросу (и по нескольким другим), но ваш вопрос — хороший вопрос, и некоторым другим людям может понадобиться ответ, и у них нет причин не получать ответ, так что вот он. Хорошего дня и, пожалуйста, отвечайте, когда кто-то с вами разговаривает. Это элементарная вежливость.