用户格式为ugettext

时间:2017-09-19 08:51:27

标签: python django python-3.x

如何将foramt用于ugettext?

print (rddf.sort_index())
   a    b
0  1 -0.5
1  1  0.5
2  3  0.0
3  4  0.0
4  5  0.0
5  6  0.0
6  7  0.0
7  8  0.0
8  9  0.0

矿石使用(更多重复):

# is not valid code
from django.utils.translation import ugettext as _

def index(req):
    return _('Hello world {}').format('Users')

1 个答案:

答案 0 :(得分:5)

第一个将标记"' Hello world {}'"作为可翻译的字符串,将format('Users')应用于(最终翻译)字符串。在您的.po文件中,您将拥有' Hello world {}'

第二个将首先将format('Users')应用于“Hello world {}'”,因此可翻译字符串(您将在.po文件中获得的字符串)将是&#39 ; Hello world用户' - 实际上它与你传递文字" Hello world Users"完全相同。字符串到ugettext

由于您询问format()对翻译的使用,我假设您想要第一个(并且您实际上使用某个变量作为参数而不是文字字符串"用户& #34;。)

实际上最好的做法是使用关键字args(即_('Hello world {users}').format(users=somevarhere)),以便翻译者对占位符代表什么有一些提示,如果是包含多个占位符的字符串,可以根据目标语言。