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

tan*_*Gee 5 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
Run Code Online (Sandbox Code Playgroud)

因为这将允许我们继续实践主题是一个自给自足的git子模块,租户可以自己维护.

tan*_*Gee 3

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

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