serviceContainer在symfony 2.8中返回一个IdentityTranslator



我正在尝试使用translation组件,但无法正确获取和使用它。

当我请求/测试时T:

namespace CodechickTest2BundleController;
class DefaultController extends Controller
{
    /**
     * @Route("/testT")
     */
    public function testTAction(Request $req)
    {
        die(var_dump($this->get('translator')));
    }
}

我得到的是:

object(SymfonyComponentTranslationIdentityTranslator)[203]
  private 'selector' => 
    object(SymfonyComponentTranslationMessageSelector)[202]
  private 'locale' => string 'it' (length=2)

因此,没有任何被翻译。为什么?以下是我的配置(在我的_dev conf中没有覆盖):

#<root>/app/config/config.yml
framework:
    translator: { fallbacks: [it,en] }

根据新闻公告,从2.6版本开始,翻译器组件被定义为类似translator.default的服务。

所以更改您的代码:

    die(var_dump($this->get('translator')));

带有

    die(var_dump($this->get('translator.default')));

希望这能帮助

相关内容

  • 没有找到相关文章

最新更新