12
votes

Problème de genre dans une traduction Django I18N

J'ai besoin de résoudre un problème de traduction de genre, et Django ne semble pas avoir GetText Contexts Mise en œuvre encore ...

J'ai besoin de traduire de l'anglais: xxx

dans deux formes d'espagnol, une pour chaque sexe . Si l'utilisateur est un homme: xxx

et si est une femelle: xxx

notez la différence (Bienvenido / BIENVENIDA)

Y a-t-il un moyen de l'obtenir?

Merci,

h.


1 commentaires

Tout comme une mise à jour de ce numéro, les marqueurs contextuels sont désormais pris en charge dans Django 1.3: docs.djangoproject.com/fr/dev/topics/i18n/internationalizat ion / ...


3 Réponses :


4
votes

Django est juste python, vous pouvez donc utiliser les liaisons Python GetText directement si vous en avez besoin, je ne vois aucune raison pour laquelle vous ne pouviez pas écrire un {% Gender_Trans [Gender]%} tag.


4 commentaires

"Gender_Trans" peut ne pas être la nommée parfaite pour la balise :-)


La bibliothèque Python GetText ne prend pas en charge les contextes, voir bugs.python.org/issue2504 . Babel n'aide pas également ici, puisque MsgCtX Support est prévu pour la version 1.0, voir Babel.dgewall.org/milestone /1.0


Dans l'exemple op, le sexe dépend du contenu d'une variable: nous avons donc besoin d'un moyen d'extraire le «genre» de «nom d'utilisateur»!


@zgoda Python 3.8 Enfin, le support pGardtext et des fonctions similaires qui prennent un contexte: docs.python.org/3/library/gettext.html#gettext.pgetText



2
votes

En attendant que les contextes soient pris en charge, une alternative facile serait de changer légèrement la phrase espagnole et d'utiliser une salutation qui ne varie pas en fonction du sexe d'une personne. Par exemple, vous pouvez utiliser "HOLA", ou un autre terme équivalent.


2 commentaires

Cela peut travailler pour l'espagnol, mais pas pour d'autres langues traduites (si ...)


Les contextes sont pris en charge maintenant à Django.



10
votes

La façon dont j'ai résolu ceci est: xxx


0 commentaires