我有一个 Symfony2 项目,今天我被要求将其国际化。
我有几个 MySQL 实体和新翻译的内容,我想将它们放入一个表中,其中包含:
ID | language | content_key | content_translation
一旦设置了_locale,我希望能够在实体级别传递它,以便使模型层检索内容本身(如果该内容是可翻译的内容之一,则第二次调用翻译表)一)。
我尝试过使用 Translatable Extension,但由于它是一个预先存在的数据库和项目,所以这不是一个容易实现的方法。
如何将请求(或仅传递 _locale)注入(inject)到我的实体?
非常感谢, 安德里亚
最佳答案
我认为您正在使用 Doctrine 作为 Symfony2 的 ORM?
然后看看 Doctrine Extensions 。该 bundle 为您的实体提供了不同的新行为。 它还具有 translatable behavior这真的很强大。
在 Symfony2 中集成 Doctrine 扩展 is not so complicated .
如果您无法在代码/数据库中使用 Doctrine 扩展,我会尝试 Doctrine Event Listeners发展你自己的可翻译行为。
关于php - 将请求注入(inject) Symfony2 实体,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33316816/