如何在Symfony2中实现多租户翻译

时间:2013-04-09 13:06:08

标签: symfony

我正在开发一个支持多租户的Symfony2解决方案,并想知道是否有办法为每个租户使用不同的翻译文件,因为目前的默认翻译文件包含例如引用初始租户的公司名称等。

我正在使用Liip主题包(https://github.com/liip/LiipThemeBundle)来允许租户使用我们的代码库,将自己的设计分层,但无法通过简单且可扩展的方式来使用他们自己的翻译文件

有关于此的主题包git repo的讨论,但我不相信有任何实现(https://github.com/liip/LiipThemeBundle/issues/12)。理想情况下,我想遵循他们在该线程中建议的目录结构,例如

root
  - app
    - Resources
      - themes
        - <theme name>
          - public
          - translations (this would be new)
          - views

因为这将允许我们继续将主题作为租户可以自我维护的自包含git子模块的做法。

1 个答案:

答案 0 :(得分:3)

我最终使用了上面概述的目录结构,并且有一个控制台命令,它在app / Resources / translations中对翻译覆盖文件进行符号链接。此命令在我的部署脚本中运行,然后我创建了自己的“trans”twig函数,该函数检查是否应该使用覆盖文件。

不是最干净的,但绝对按照我想要的方式工作。