symfony根据条件动态添加翻译

时间:2014-09-17 12:00:46

标签: symfony translation

我正在寻找一种在运行时将翻译添加到现有翻译目录的方法。

我有一个有效的symfony 2.3应用程序,它使用de / en / fr / it中的翻译并从/Resources/translations/messages..yml获取所有可用的翻译密钥。

现在,如果用户登录,我希望能够根据该用户的设置覆盖一些已经加载的标签(例如DB中保存键值对的文本字段)。

E.g。

messages.en.yml
  company.name.short: Company profile

Usersetting:
  company.name.short: Profile for company

我发现无法在现有目录中添加/覆盖键或在树枝中使用它们。是否有捆绑或设置或某些Symfony魔法才能使其工作?

1 个答案:

答案 0 :(得分:0)

您可能希望扩展Symfony自己的翻译课程。本文介绍了如何执行此操作:

http://www.webtipblog.com/extend-symfony-2-translator-to-log-untranslated-messages-to-a-database/

关键是要覆盖" translator.class"您的配置中的参数,然后将其指向您自己的类,该类首先检查数据库否决,如果找不到,则将遵循symfony默认实现。