2017-01-18 2 views
0

Transifex est largement utilisé pour gérer la traduction des projets Django, mais aussi en interne. Il fonctionne très bien sur les fichiers gettext (PO). Les templates Django, cependant, ne sont pas un de ses formats connus. Vous pouvez dire Transifex qu'ils sont HTML, dans ce cas, il faut quelque chose comme ceci:Comment gérer les templates Django dans Transifex?

{% extends "base.html" %} 

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

et il se transforme en:

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

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

Un autre problème est que Transifex traite alors le balisage de modèle sous forme de chaînes être traduit, vous obligeant à parcourir le fichier et à étiqueter chacun d'entre eux comme "verrouillé" - et même alors, je pense que le balisage compte contre votre nombre de mots. L'ajout de commentaires HTML autour des balises de modèle Django ne fonctionne pas non plus, car ils font partie du modèle et sont insérés dans le document final. Commenter les balises de gabarit, puis post-traiter le fichier pour les supprimer pourrait fonctionner, mais il n'y a pas forcément de garantie que Transifex laisserait les commentaires tout seuls, et même s'ils l'ont fait, cela semble maladroit et sujet aux erreurs. J'espère que quelqu'un a une meilleure stratégie qui vous permet de donner un modèle à Transifex sans le faire grignoter.

Répondre

0

Vous devriez plutôt utiliser localization support dans Django et vous obtiendrez Gettext fichiers PO pour la traduction, qui peuvent être traités par tous les outils de localisation.

+0

Nous utilisons extensivement gettext, mais ceci est bien en dehors de son cas d'utilisation. Gettext est idéal pour les chaînes ad hoc plutôt petites, mais de longs blocs de texte doivent vraiment être traduits en tant que modèle, pas comme un patchwork de petites chaînes. –