Как применить каталоги к основному макету FOSUserBundle? - PullRequest
1 голос
/ 04 ноября 2011

как здесь сказано, что я переопределил шаблон 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».

У меня messages.it.xliff внутри / Aib / FrontendBundle / Resources /переводы.Вот оно:

<?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 Ответ

6 голосов
/ 29 ноября 2011

Я нашел решение для вашего ответа.Создание файла XML здесь помогло мне: app/Resources/translations/FOSUserBundle.fr.yml Если вы не знаете, как заполнить этот файл, найдите файл с похожим именем в комплекте.Очистка кэша важна.

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

...