Гендерная проблема в переводе django i18n - PullRequest
10 голосов
/ 25 августа 2009

Мне нужно решить проблему перевода пола, а в Django, похоже, контекстов gettext не реализовано ...

Мне нужно перевести с английского:

<p>Welcome, {{ username }}</p>

В двух формах испанского, по одному для каждого пола. Если пользователь мужчина:

<p>Bienvenido, {{ username }}</p>

а если женщина:

<p>Bienvenida, {{ username }}</p>

обратите внимание на разницу (bienvenido / bienvenida)

Есть ли способ сделать это?

Спасибо

H.

Ответы [ 3 ]

9 голосов
/ 09 августа 2010

Я решил это следующим образом:

{% if profile.male %}
{% blocktrans with profile.name as male %}Welcome, {{ male }}{% endblocktrans %}
{% else %}
{% blocktrans with profile.name as female %}Welcome, {{ female }}{% endblocktrans %}
{% endif %}
4 голосов
/ 25 августа 2009

Django - это просто Python, так что вы можете напрямую использовать привязки gettext Python, если вам это нужно, я не вижу причин, по которым вы не могли написать тег {% гендер_транс [пол]%}.

2 голосов
/ 26 августа 2009

В ожидании поддержки контекстов простой альтернативой было бы немного изменить предложение на испанском языке и использовать приветствие, которое не меняется в зависимости от пола человека. Например, вы можете использовать «hola» или другой эквивалентный термин.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...