我想在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}}进行翻译。祝你好运