2013-07-04 2 views
2

하나는 비록 작동하지 않는 몇 가지 변수를 포함 번역 실패 , apache가 재시작됩니다.번역하지 장고 문자열 내 번역

3) 정확한 문자열은 실제로이 문자열이 번역 될 때 선택됩니다. request.LANGUAGE_CODEtranslation.get_language_from_request(request)은 모두 정확하고 예상되는 언어 코드를 인쇄합니다.

4)도 아닌 제 2의 올바른 언어 코드 인쇄를 하나의 문자열을 테스트 :

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> 

아무도이 문제를 일으킬 수있는 아이디어가 있거나 어떻게 작동하지 않는지 좀 더 테스트 할 수있는 방법이 있습니까?

장고 버전 1.4.2.

앨런

EDIT1가 :

나는 번역은 다음과 같이하고, 번역 파일에서 인용 부호를 제거 :

#: 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 : 더 큰 반복 문제 인 것처럼 보입니다. 이 경우 일반적인 속성은 문자열에 여러 변수가 포함되어 있다는 것입니다.

답변

2

대체 :

mystring = u"%s" %_('You are missing permission(s) "%(permstring)s" for %(modelname)s (obj)s' % d) 
logger.debug(mystring) 

로 :

mystring = _('You are missing permission(s) "%(permstring)s" for %(modelname)s (obj)s') % d 
logger.debug(mystring) 

당신이 그렇지 않으면 당신은 당신의 번역 보간 된 문자열을 넣을 필요가있을 것이다, 당신은 보간/형식을 전에 번역 을 얻을 필요 (권장하지 않음) :

msgid "You are missing permission(s) \"User can access this object\" for Obj <idcode>" 
msgstr "Sul puudub (puuduvad) õigus(ed) %(permstring)s %(modelname)s %(obj)s suhtes" 
+0

그게 전부입니다. 감사. didnt는 그것을 이렇게 생각한다. –