设置符号2翻译


Setting up symfony2 translation

我想在symphony 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.

在μApp/config/config.yml中,我有这样一行:

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

你现在能告诉我,我还需要创作什么吗?这样,翻译就开始工作了。我的应用程序是英语的,当我把它改为SR时,它应该是塞尔维亚语的。。

谢谢。

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