2011-09-28 4 views

답변

0

은 아마 다음과 같습니다

{% blocktrans with tag=tag %} 
    <span>Entries for tag</span> '{{ tag }}' 
{% endblocktrans %} 

그러나 번역 된 문자열 내부에 HTML을 두는 것은 좋은 생각이 아니다. 훨씬 더 나쁜 것은 영어 문자열의 번역을 다른 문자열과 연결하여 유효한 문장을 얻을 수 있다고 가정하는 것입니다. 문장이있는 {{ tag }}의 위치가 다른 언어에서도 동일하다고 가정 할 수는 없습니다. 일부 언어는 번역이 Lorem ipsum „%(tag)s” dolor sit 일 필요가 있습니다.

하지만 일부 HTML을 동적으로 적용하려고하는 것 같습니다. 어쩌면 당신이 정말로 원하는 것은 ugettext('Entries for tag %(tag)s') 안에 my_tag이며 그에 따라 해석합니다 (예 : %(tag)s 찾기 및 주위에 HTML 추가).

+0

답변 해 주셔서 감사합니다. my_tag는 일부 HTML을 출력하며 '{{tag}}'이 해당 HTML 안에 있어야합니다. – raacer

+0

그러면'my_tag' 함수의 인수로'tag'를 보내서 코드에 추가해야합니다. 그러면'{% my_tag _ ("태그 용 항목") 태그 %}'처럼 간단합니다. https://docs.djangoproject.com/en/dev/howto/custom-template-tags/ – vascop

+0

설명서를 참조하십시오. 문제는 string 구조가 my_tag와 관련이 없다는 것입니다. 태그는 이미 거의 인수를 허용하지 않으며 첫 번째 인수는 두 부분으로 컴파일하려는 문자열입니다. 내일 3 개 이상의 부품을 사용하거나 일부 문자열을 제 3 자 태그에 전달하기로 결정할 수도 있습니다. 따라서 이것은 올바른 해결책이 아닙니다. 태그에 전달하기 전에 문자열을 준비해야합니다. – raacer

0

하나의 솔루션으로 잘못 무엇

+0

감사합니다. 위에서 말했듯이 my_tag (의미 _template 태그 _)는 번역, 태그 (의미에 대해 _keywords_ "파이썬, 장고, 템플릿,이 질문에 대한 번역"등)에 대해받은 텍스트에 대해 아무것도 모릅니다. 그리고 실제로 나는 비슷합니다. 다른 타사 템플릿 태그에 문제가 있습니다. 따라서 템플릿 태그 코드를 변경하는 것은 아닙니다. 내가 원하는 것은 변환 된 문자열을 다른 태그와 연결하는 방법을 알고 (또는 변수를 사용하여 문자열을 변환하는 것이 더 낫다.) 'add'필터를 사용하는 일반 문자열로 가능하다. – raacer

+0

가장 좋은 해결책은 blocktrans 태그의 결과를 다른 태그에 매개 변수로 전달하는 것이지만, 그렇게하는 것은 우아한 방법이 아닌 것 같습니다. 유일한 방법은 컨텍스트 변수를 설정할 새 템플릿 태그를 작성하는 것입니다. 못생긴 것 같지 않니? – raacer

관련 문제