我的其中一个翻译不起作用,即使:1)它在翻译文件中:
#: core/permissions/decorators.py:138
#, python-format
msgid ""
"You are missing permission(s) \"%(permstring)s\" for %(modelname)s %(obj)s"
msgstr ""
"Sul puudub (puuduvad) õigus(ed) \"%(permstring)s\" %(modelname)s %(obj)s "
"suhtes"
2)不模糊,编译翻译文件,重启apache。
3) 实际上在翻译这个字符串时选择了正确的语言 - 两者都request.LANGUAGE_CODE
打印translation.get_language_from_request(request)
出相同的、正确的、预期的语言代码。
4)即使经过测试的代码也以正确的语言打印出一个字符串,但不是在第二个:
my_string = u"%s" % _("Time array")
logger.debug(my_string)
打印出来:
DEBUG 2013-07-04 12:17:28,554 Jada aegadest
mystring = u"%s" %_('You are missing permission(s) "%(permstring)s" for %(modelname)s %(obj)s' % d)
logger.debug(mystring)
打印出来:
DEBUG 2013-07-04 12:22:53,522 You are missing permission(s) "User can access this object" for Obj <idcode>
有没有人知道是什么导致了这种情况,或者我如何测试更多的东西为什么这不起作用。
Django 版本 1.4.2。
艾伦
编辑1:
我从翻译文件中删除了引号,使翻译看起来像这样:
#: core/permissions/decorators.py:138
#, python-format
msgid "You are missing permission(s) %(permstring)s for %(modelname)s %(obj)s"
msgstr "Sul puudub (puuduvad) õigus(ed) %(permstring)s %(modelname)s %(obj)s suhtes"
编译并重新启动apache,仍然无法正常工作。
Edit2:这似乎是一个更大的重复问题。这些情况下的共同属性是字符串包含多个变量。