【问题标题】:Localization with django使用 django 进行本地化
【发布时间】:2014-08-16 20:12:03
【问题描述】:

我的代码中到处都有与以下类似的代码:

s_message = gettext.translation('django', locale_directory(), [langcode],\
fallback=True).ugettext('Hi %(username)s....' % {'username': s_usr}) 

s_message_title = gettext.translation('django', locale_directory(), [langcode],\
fallback=True).ugettext('Error Message') 

s_message_btn = gettext.translation('django', locale_directory(), [langcode], \
fallback=True).ugettext('OK') 

...我想写一个同样包装它的函数:

build_msg_dict(m='Hi %(username)s....', lc=langcode, \
m_params={'username': s_usr}, button_list=['OK'], t='Error Message', \
m_type=MESSAGE_TYPE__ERROR)

问题在于,每当我运行时,将上述示例 3 行代码替换为对该函数的 1 次调用:

django-admin.py makemessages 

...它现在从不“收集”要翻译的文本并将其添加到 django.po。我知道为什么,但我有点不明白这个问题的解决方案是什么。

【问题讨论】:

    标签: django localization translation


    【解决方案1】:

    好的,找到了解决方案,最终同样调用了该函数:

    build_msg_dict(m=ugettext('Hi %(username)s....'), lc=langcode, \
    m_params={'username': s_usr}, button_list=[ugettext('OK')], t=ugettext('Error Message'), \
    m_type=MESSAGE_TYPE__ERROR)
    

    在build_msg_dict函数里面,我只是简单的做str(m)和str(t)来得到英文原文。

    【讨论】:

      猜你喜欢
      • 2014-01-24
      • 2011-07-01
      • 1970-01-01
      • 2010-11-16
      • 1970-01-01
      • 2012-06-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多