我正在寻找一种在运行时将翻译添加到现有翻译目录的方法。
我有一个有效的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魔法才能使其工作?
答案 0 :(得分:0)
您可能希望扩展Symfony自己的翻译课程。本文介绍了如何执行此操作:
http://www.webtipblog.com/extend-symfony-2-translator-to-log-untranslated-messages-to-a-database/
关键是要覆盖" translator.class"您的配置中的参数,然后将其指向您自己的类,该类首先检查数据库否决,如果找不到,则将遵循symfony默认实现。