Гендерные переводы - PullRequest
       12

Гендерные переводы

1 голос
/ 25 сентября 2019

Задача

У меня есть расширенная UserModel, которая включает в себя пол пользователя:

class Member(models.Model):
    user = models.OneToOneField(User, on_delete=models.CASCADE)
    ...
    gender = models.CharField(
        _('Gender'),
        max_length=1,
        choices=(
            ('f', _('Female')),
            ('m', _('Male')),
        ),
        default='m'
    )
    ...

Я хотел бы отобразить переводы с учетом пола в моем шаблоне:

Пожалуйста, свяжитесь с ему .

или

Пожалуйста, свяжитесь с ее .

Вопросы?

  • Как бы вы справились с задачей?
  • Есть ли лучшее решение, чем мое текущее (см .: Ответы)?
    • может быть, что-то равное, поскольку обрабатывается множественное число

1 Ответ

1 голос
/ 25 сентября 2019

В настоящее время я использую контекстные маркеры для создания отдельных переводов:

{% if user.member.gender == 'm' %}
    {% blocktrans context "male" %}Please contact him.{% endblocktrans %}
{% else %}
     {% blocktrans context "female" %}Please contact her.{% endblocktrans %}
{% endif %}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...