2017-01-18 4 views
0

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

{% 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 без его перетасовки.

ответ

0

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

+0

Мы широко используем gettext, но это далеко за пределами его прецедента. Gettext отлично подходит для небольших рядов ad hoc, но длинные блоки текста действительно должны быть переведены как шаблон, а не как лоскутное шитье небольших строк. –