Symfony2:多个应用程序,一个共享翻译文件夹

Max*_*ard 5 symfony

我有一个看起来像这样的多个应用程序项目

/apps/app1
/apps/app2
/apps/app3
/apps/config
/src
/vendor
/web/app1
/web/app2
/web/app3
Run Code Online (Sandbox Code Playgroud)

每个应用程序都有其内核,控制台,缓存......但我如何分享常见的翻译?

我在那里阅读/sf/answers/814165341/,在一个应用程序结构上,你可以使用app/Resources/translations.多重应用程序结构怎么样?

我希望我可以/apps/Resources/translations在我的所有应用程序中自动加载(或手动加载),但它是否可能?

tho*_*ier 4

还没有尝试过,但也许以下是可能的:

在您的应用程序之一中编写并注册一个 EventListenerkernel.request并将翻译服务注入其中,以便您可以对其进行修改。也许它需要在 之前执行,LocaleListener这意味着它必须有priority高于16的值才能在之前执行。

然后,在onKernelRequest()事件侦听器的方法中,您可以调用该Symfony\Component\Translation\Translator::addResource()方法来动态添加翻译文件。

请参阅: http: //api.symfony.com/2.3/Symfony/Component/Translation/Translator.html#method_addResource

该参数$resource包含全局翻译文件的路径。

(您想要做的确实是一种边缘情况,但必须有某种方法可以做到这一点,而无需对所有内容进行符号链接。)

希望这个想法有帮助。我会尽快尝试并发布我的结果以及我是如何做到的。