2016-12-13 6 views
1

Я планирую реализовать перевод на арабском языке, который переводит его, делая все предложение, написанное справа налево. Как я должен это сделать ?:{% block%} in {% blocktrans%}

<!-- parent.html --> 
{% blocktrans %} 
    {% block category %}{% endblock category %} - Site Name 
{% endblocktrans %} 

<!-- child.html --> 
{% extends 'parent.html' %} 
{% block category %}Books{% endblock category %} 

для арабского перевода мне нужно использовать blocktrans, и мне нужно использовать различные детские названия.

ответ

0

The docs of blocktrans состояние следующее:

Другие блок-метки (например {% for %} или {% if %}) не допускаются внутри тега blocktrans.

block - еще один тег блока, поэтому он не поддерживается внутри blocktrans. Единственное, что разрешено внутри blocktrans, - это прямая подстановка переменных (без каких-либо фильтров или разрешения атрибута/метода с использованием .).

Другими словами, то, что вы просите, просто невозможно с blocktrans. Вы должны будете соответствующим образом перестроить свои шаблоны.

+0

Ehm ... Это был мой вопрос. Я знаю, что это запрещено, я написал это таким образом, чтобы представить представление о том, что я пытаюсь сделать. Есть ли какая-нибудь работа для этого? – SugarGlider

+0

Нет, как я уже писал выше, вам придется реорганизовать ваши шаблоны. Подумайте о «blocktrans» как о довольно простых вызовах «ugettext» с заполнителями для переменных. Динамические функции не поддерживаются. Как вы ожидаете, что ваши файлы PO выглядят так, если возможно, что вы просите? – koniiiik

+0

Право :) Большое спасибо. Я лучше заменю эту функцию перевода на код python и затем буду использовать ugettext. Еще раз спасибо – SugarGlider