mah*_*ard 3 django localization gettext
我正在开发一个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
Run Code Online (Sandbox Code Playgroud)
如您所见,短语“时间表和详细信息”不是用波斯语打印的。
是否可以翻译一个短语然后在Django shell中打印它?
Django的常规翻译功能取决于django.middleware.locale.LocaleMiddleware
,但中间件作为请求/响应周期的一部分运行。由于您处于交互式外壳中,并且没有请求对象,因此中间件无法完成其工作。
如果您在外壳程序中手动激活该语言,则应该可以看到预期的翻译行为:
>>> from django.utils.translation import activate, ugettext as _
>>>
>>> activate('fa-ir')
>>> print _("Schedule & Details")
Run Code Online (Sandbox Code Playgroud)
当然,如果需要的'fa-ir'
话,可以从中加载而不是硬编码settings.LANGUAGE_CODE
。
归档时间: |
|
查看次数: |
820 次 |
最近记录: |