【问题标题】:How to activate translation for all management commands by default?如何默认激活所有管理命令的翻译?
【发布时间】:2020-01-14 12:25:48
【问题描述】:

默认情况下,我需要在所有 django 管理命令中激活翻译。目前我将这行代码放在我所有的管理命令中:

translation.activate(settings.LANGUAGE_CODE)

有时我会忘记在我的命令中考虑它。我需要它来发送翻译后的通知。有什么方法可以默认激活所有管理命令的翻译?
任何帮助表示赞赏。

【问题讨论】:

    标签: django translation django-i18n django-management-command


    【解决方案1】:

    查看 BaseCommand 的源代码后,我发现 django 正在禁用翻译,我可以通过在 Command 类中添加一个属性来防止这种情况:

    class CoreBaseCommand(BaseCommand):
    
        leave_locale_alone = True
    

    我确实将该行放在我的自定义 BaseCommand 中以应用于所有继承的命令。

    【讨论】:

      猜你喜欢
      • 2018-05-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-01-10
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多