Как работать с шаблонами Django в Transifex?

Transifex широко используется для управления переводами для проектов Django, а также для внутренних целей. Это очень хорошо работает с файлами gettext (PO). Шаблоны Django, однако, не являются одним из известных форматов. Вы можете сказать Transifex, что это HTML, и в этом случае требуется что-то вроде этого:

{% extends "base.html" %}

{% block "banner" %}
<h1>Hi there</h1>
<p>Banner text</p>
{% endblock "banner" %}

и превращает его в:

<div>
<p>
{% extends "base.html" %}

{% block "banner" %}</p>
<h1>Hi there</h1>
<p>Banner text</p>
{% endblock "banner" %}</div>

Дополнительная проблема заключается в том, что Transifex затем обрабатывает разметку шаблона как строки для перевода, вынуждая вас просмотреть файл и пометить каждую из них как "заблокированную" - и даже тогда, я думаю, что разметка рассчитывает против вашего количества слов.

Добавление HTML-комментариев вокруг тегов шаблона Django также не работает, поскольку они становятся частью шаблона и вставляются в окончательный документ. Комментирование тегов шаблонов и последующая пост-обработка файла для их удаления могут сработать, но нет никакой гарантии, что Transifex оставит комментарии в покое, и, даже если они это сделают, это кажется неуклюжим и подверженным ошибкам.

Я надеюсь, что у кого-то есть лучшая стратегия, которая позволит вам передать шаблон в Transifex без необходимости его использования.

1 ответ

Вам лучше использовать поддержку локализации в Django, и тогда вы получите PO-файлы Gettext для перевода, которые могут быть обработаны любым инструментом локализации.

Другие вопросы по тегам