【问题标题】:How to disable the Symfony translation for specific bundles如何禁用特定捆绑包的 Symfony 翻译
【发布时间】:2015-08-18 10:54:23
【问题描述】:

我正在创建一个运行 Symfony 2.7 的 web 应用程序,该应用程序旨在仅用于一种语言(独特的语言环境)。我可以在分析器中看到每个翻译域中的许多缺失消息,但我根本不需要翻译。

如何禁用翻译组件?

编辑: 如果我想为某些包保留翻译,而对其他包禁用它怎么办?例如,我有 Sonata Admin Bundle,我想继续在其翻译中使用它,但我不希望 Symfony 使用其他 bundle 查找翻译消息。

编辑 2: 所以我想不可能只为我自己的捆绑包之一禁用翻译? 我仍然在分析器中收到缺少翻译消息的警告。

【问题讨论】:

标签: symfony internationalization translation symfony-2.7


【解决方案1】:

您可以通过配置禁用翻译。编辑 app/config/config.yml

framework:
  translator:
    enabled: false

【讨论】:

  • 谢谢,但如果我只想对某些捆绑包禁用翻译怎么办?例如,我有 Sonata Admin Bundle,我想继续在它的翻译中使用它,但我不希望 Symfony 使用其他包查找翻译消息。
  • FrameworkBundle 是每个 symfony 组件的“配置管理器”。您只能启用或禁用组件。
  • 当您禁用translator 时,翻译服务仍然可用。我们在禁用框架翻译器时注意到的唯一区别是profiler toolbar 翻译面板不再可用。可能是因为添加data collector listener 具有更高的优先级。
  • 这不是一个真实的答案,我只想禁用通知而不是翻译
【解决方案2】:

禁用翻译记录器在config/packages/translation.yaml中设置这个

framework:
  translator:
    logging: false

请参阅 FrameworkBundle 配置中的转换器部分的参考:https://symfony.com/doc/current/reference/configuration/framework.html#translator

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-12-31
    • 1970-01-01
    • 2012-08-21
    • 2013-09-10
    • 1970-01-01
    • 2011-02-21
    • 1970-01-01
    • 2023-01-13
    相关资源
    最近更新 更多