Web services 如何在控制器中为转换器设置语言
我正在尝试创建一个允许翻译系统的web服务 所以我用json恢复了 要翻译的术语和我必须翻译的语言 我的问题是我无法更改控制器中的defaultLocalWeb services 如何在控制器中为转换器设置语言,web-services,symfony,Web Services,Symfony,我正在尝试创建一个允许翻译系统的web服务 所以我用json恢复了 要翻译的术语和我必须翻译的语言 我的问题是我无法更改控制器中的defaultLocal class TranslateController extends RestController { } 这是我的文件messages.fr.yml的内容 # messages.fr.yml TXT_1 : il y a %count% objet 任何帮助请确保您已在配置文件中启用转换器: framework: translat
class TranslateController extends RestController
{
}
这是我的文件messages.fr.yml的内容
# messages.fr.yml
TXT_1 : il y a %count% objet
任何帮助请确保您已在配置文件中启用转换器:
framework:
translator: { fallback: %locale% }
有关语法,请参见@Roma comment。我发现解决方案如下:
$lang = $paramFetcher->get('lang');
$msg = $paramFetcher->get('msg');
$request = $this->getRequest();
$request->setLocale($lang);
$t = $this->get('translator')->trans($msg);
您是否检查了
$msg
和$lang
变量?另外,您可能需要将count
传递给此翻译:->trans($msg,['%count%'=>$someVar],'messages')代码>是的,我测试变量的内容,但我想要的是,它看起来像是一个%count%objet,我可以分配控制器语言,我不知道我的语法是否适合设置本地
$lang = $paramFetcher->get('lang');
$msg = $paramFetcher->get('msg');
$request = $this->getRequest();
$request->setLocale($lang);
$t = $this->get('translator')->trans($msg);