Django对象出现而不是翻译的字符串

时间:2014-10-09 11:57:35

标签: python django matplotlib internationalization translation

我遇到了与python库相关的问题" Matplotlib"。实际上我正在使用这个库创建折线图和条形图,并使用代码

添加X轴和Y轴标题
yaxis = "Production"

xaxis = "year"

plt.ylabel(yaxis, fontsize=20)

plt.xlabel(xaxis, fontsize=20)![enter image description here][1]

但与此同时我也想用语言翻译i18n 为此我用了

from django.utils.translation import ugettext_lazy as _
yaxis = _("Production")
xaxis = _("year")
plt.ylabel(yaxis, fontsize=20)
plt.xlabel(xaxis, fontsize=20)

所以它工作正常,但在Y和X轴的翻译术语的图形中,Django对象正在进行

Matplotlib_Image

1 个答案:

答案 0 :(得分:1)

根据Lazy translation - Django documentation

  

使用延迟版本的翻译功能   django.utils.translation(很容易通过lazy后缀识别)   他们的名字)懒惰地翻译字符串 - 访问该值时   而不是在他们被召唤时。

     

这些函数存储对字符串的惰性引用 - 而不是实际的   翻译。翻译本身将在字符串完成时完成   在字符串上下文中使用,例如在模板渲染中。

     

...


替换以下行:

from django.utils.translation import ugettext_lazy as _
带有ugettext

(将返回unicode字符串):

from django.utils.translation import ugettext as _