设置 symfony2 翻译

Setting up symfony2 translation

我想在 sympfony 2 中为我的应用程序创建翻译。我这样创建选择器:

<li class="dropdown">
            <a href="#" class="dropdown-toggle" data-toggle="dropdown">Language <b class="caret"></b></a>
            <ul class="dropdown-menu alert-dropdown">
                <li><a href="{{ path(app.request.get('_route'), app.request.get('_route_params')|merge({'_locale': 'sr'})) }}">Serbian</a></li>
                <li><a href="{{ path(app.request.get('_route'), app.request.get('_route_params')|merge({'_locale': 'en'})) }}">English</a></li>
            </ul>
        </li>

现在在我的 url 中我得到...?_locale=en,我的文件夹结构也像 :

MyAppBudnle/
-Resources
--translations
---messages.sr.yml - File with translations.

还有 mu App/config/config.yml 我有这行:

framework:
    #esi:             ~
    translator:      { fallback: en }

...

你现在能告诉我,我还需要创建什么,翻译才能开始工作吗?我的应用程序是英文的,当我将其更改为 SR 时,它应该是塞尔维亚语..

谢谢。

您应该在 onKernelRequest 之类的事件中处理区域设置更改,并将区域设置传递给会话(如果需要 - 您可以准备路由来处理 _locale 部分,路由器应该自动处理)并将其传递给 Request。当然,在应用程序中编写的所有文本都应该使用 {{ "lorem ispum"|trans }} 进行翻译。 祝你好运!