python中字典值的本地化

时间:2014-03-27 12:02:03

标签: python django dictionary

我在translation.py中有一个字典和函数,我从views.py。

调用

Translation.py: -

from django.utils.translation import ugettext
english_strings = {
                    "key1" :
                         {
                           "key2":ugettext("val1"),
                           "key3":ugettext("val2"),
                           "key4":ugettext("val3"),
                           .
                           .
                         }

                  }

def get_string():
    return english_strings

所有键和val都是有效字符串。我正在尝试本地化。所有的val都需要本地化。所以我需要打电话给' ugettext'在所有的val。 在上面的例子中,django-admin.py makemessages -a'命令会自动将val添加到' locale / de / LC_MESSAGES / django.po'并且它正常工作。

但是我不想在字典里面写ugettext(在每个val之前)。相反..

def get_string():
    temp = {}
    for key,val in english_strings.items():
        for k, v in val.items():
            temp[k] = ugettext(v)
    return temp

这就是我想要的。但在第二种情况下" django-admin.py makemessages -a"没有将val添加到' locale / de / LC_MESSAGES / django.po'。所以它不起作用。但是函数正在返回键值对。任何建议,将不胜感激。 提前谢谢。

0 个答案:

没有答案