gpt4 book ai didi

django - 如何从 Django shell 调用 ugettext?

转载 作者:行者123 更新时间:2023-12-01 11:20:10 25 4
gpt4 key购买 nike

我正在开发一个本地化的 Django 项目,并且可以在多种语言中正常工作。现在出于某种原因,我需要调用 ugettext从它的外壳。

这是我所做的:

>>> from django.conf import settings
>>> settings.LANGUAGE_CODE
u'fa-ir'
>>> from django.utils.translation import ugettext as _
>>> print _("Schedule & Details")
Schedule & Details

如您所见,“时间表和详细信息”一词并未以波斯语打印。

是否可以翻译一个短语然后在 Django shell 中打印它?

最佳答案

Django 的正常翻译功能依赖于 django.middleware.locale.LocaleMiddleware ,但中间件作为请求/响应周期的一部分运行。由于您在交互式 shell 中并且没有请求对象,因此中间件无法完成其工作。

如果您在 shell 中手动激活语言,您应该会看到翻译行为符合预期:

>>> from django.utils.translation import activate, ugettext as _
>>>
>>> activate('fa-ir')
>>> print _("Schedule & Details")

当然,不是硬编码 'fa-ir'你可以从 settings.LANGUAGE_CODE 加载它如果你希望。

关于django - 如何从 Django shell 调用 ugettext?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44801077/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com