用母语Symfony2 TWIG

时间:2016-05-25 22:38:07

标签: php symfony locale

我正在尝试将DateType的月份翻译为保加利亚语,我到目前为止尝试的方法是:

在控制器中:

setlocale(LC_ALL, "bg_BG"); 

就在之前:

$form = $this->createFormBuilder($reservation)

但该字段再次以英文显示。

我已经在config.yml中定义了这个:

parameters:
    locale: bg

framework:
    default_locale:  "%locale%"
到目前为止没有任何帮助

1 个答案:

答案 0 :(得分:0)

您是否只要求一个表格以保加利亚语或整个项目呈现?

首先需要创建一个事件监听器来实现这个

public function onKernelRequest(GetResponseEvent $event)
{
    $request = $event->getRequest();

    // some logic to determine the $locale
    $request->setLocale($locale);
}

在创建表单之前,听起来好像没有设置Locale。正如Symfony所解释的那样。

  

在控制器中使用$ request-> setLocale()设置区域设置   来不及影响翻译。通过a设置语言环境   监听器(如上所述),URL(参见下一个)或直接调用setLocale()   关于翻译服务。

如果您想以保加利亚语设置整个应用程序的语言环境,我建议您在配置中设置默认语言环境。

# app/config/config.yml
framework:
    default_locale: bg

所以它可以随处调用。

这里有更多信息:http://symfony.com/doc/current/book/translation.html#handling-the-user-s-locale