我在Symfony2 webapp中实现了翻译。现在我创建了一个控制器动作,我没有返回一个常规的Response
,它将参数传递给我可以处理翻译的twig文件,但我希望将数据作为JsonResponse
返回。
public function myAction() {
$json_data = array(
'status' => 'success',
'message' => $this->get('translator')->trans('change_password.flash.success')
);
return new JsonResponse($json_data);
}
现在在twig文件中,我可以像这样定义默认翻译域:
{% trans_default_domain 'MyBundle' %}
但我在哪里可以定义默认翻译域?请记住,当我以JsonResponse
返回时,我绕过了一个twig文件。
答案 0 :(得分:1)
$this
->get('translator')
->trans(
'change_password.flash.success',
array(),
'message_domain'
)
查看翻译的API doc:
trans(string $id, array $parameters = array(), string $domain = null, string $locale = null)
答案 1 :(得分:0)
默认消息域可以设置如下:
$defaultDomain = 'mydomain';
$this->get('translator')->trans('Symfony2 is great', array(), $defaultDomain);