Django 国际化翻译全解析
1. 变量翻译
在 Django 中进行变量翻译时,可参考以下示例:
def my_view(request):
sentence = 'Welcome to my site.'
output = _(sentence)
return HttpResponse(output)
需要注意的是,使用变量或计算值时,Django 的翻译字符串检测工具 make-messages.py 无法找到这些字符串。
传递给 _() 或 gettext() 的字符串可以使用占位符,通过 Python 的标准命名字符串插值语法指定,示例如下:
def my_view(request, n):
output = _('%(name)s is my name.') % {'name': n}
return HttpResponse(output)
这种技术允许特定语言的翻译重新排列占位符文本。例如,英语翻译可能是 “Adrian is my name.”,而西班牙语翻译可能是 “Me llamo Adrian.”,占位符(名称)放在翻译文本之后而不是之前。因此,应使用命名字符串插值(如 %(name)s )而不是位置插值(如 %s 或 %d
超级会员免费看
订阅专栏 解锁全文
44

被折叠的 条评论
为什么被折叠?



