TL; DR:我想以编程方式获取使用Symfony 3.4制作的所有Message Translations Domains应用程序。
预期结果的示例:
$domains = $this->get('translator')->getDomains();
//$domains = ['home', 'messages', ...]
但是我找不到在翻译服务中返回应用程序域的方法。 是否有另一个服务返回所有应用程序域?
谢谢!
答案 0 :(得分:0)
好,我找到了解决方法:
$this->getContainer()->get('translator')->getCatalogue()->getDomains();
如果您按照Symfony 3.4的建议将其翻译存储在bundles/Resources/translations/
文件夹中,则此解决方案适用于捆绑软件。
否则,您应该在config.yml中精确定位路径:
framework:
translator:
...
paths:
- '%kernel.project_dir%/xxx/translations'