django i18n翻译中的性别问题

nab*_*und 11 python django localization internationalization

我需要解决性别翻译问题,而Django似乎还没有实现gettext上下文 ...

我需要翻译成英文:

<p>Welcome, {{ username }}</p>
Run Code Online (Sandbox Code Playgroud)

有两种形式的西班牙语,每种性别一种.如果用户是男性:

<p>Bienvenido, {{ username }}</p>
Run Code Online (Sandbox Code Playgroud)

如果是女性:

<p>Bienvenida, {{ username }}</p>
Run Code Online (Sandbox Code Playgroud)

注意区别(bienvenido/bienvenida)

有没有办法完成这项工作?

谢谢,

H.

Smi*_*ris 9

我解决这个问题的方法是:

{% if profile.male %}
{% blocktrans with profile.name as male %}Welcome, {{ male }}{% endblocktrans %}
{% else %}
{% blocktrans with profile.name as female %}Welcome, {{ female }}{% endblocktrans %}
{% endif %}
Run Code Online (Sandbox Code Playgroud)


Ale*_*nor 4

Django 只是 Python,因此如果需要,您可以直接使用 Python gettext 绑定,我不认为您有任何理由不能编写 {% sex_trans [gender] %} 标记。

  • “gender_trans”可能不是标签的完美命名:-) (33认同)