Каким образом можно перевести текст кнопки в шаблоне с использованием i18n?

Как можно перевести текст кнопки в приведённом коде? <br/> <pre><code class="python">{% extends "base.html" %}


{% block content%}
{% load i18n %}
{% load django_bootstrap5 %}
{% bootstrap_css %}
{% bootstrap_javascript %}


&lt;div class="p-5 mb-3"&gt;
    &lt;h1&gt;{% translate 'Sign up' %}&lt;/h1&gt;

    &lt;form action="{% url 'user_create' %}" method="post" class="form"&gt;
        {% csrf_token %}

        {% bootstrap_form form %}
        {% translate "Create" as create %}
        {% bootstrap_button button_type="submit" content="{{ create }}" button_class="btn btn-dark" %}
    &lt;/form&gt;
&lt;/div&gt;
{% endblock %}</code></pre>
  • 27 сентября 2024 г. 8:53
Ответы на вопрос 1
Чтобы перевести текст кнопки в шаблоне Django с использованием i18n, вам нужно убедиться, что вы используете правильные теги и загрузили необходимые библиотеки. В вашем коде вы уже используете `{% load i18n %}`, что позволяет использовать функции перевода.

Вот как вы можете перевести текст кнопки "Create":

1. Используйте тег `{% translate %}` для получения перевода строки.
2. Замените текст кнопки на результат перевода.

Вот обновлённый пример вашего кода:

```html
{% extends "base.html" %}

{% block content %}
{% load i18n %}
{% load django_bootstrap5 %}
{% bootstrap_css %}
{% bootstrap_javascript %}

<div class="p-5 mb-3">
    <h1>{% translate 'Sign up' %}</h1>

    <form action="{% url 'user_create' %}" method="post" class="form">
        {% csrf_token %}

        {% bootstrap_form form %}
        {% bootstrap_button button_type="submit" content="{% translate 'Create' %}" button_class="btn btn-dark" %}
    </form>
</div>
{% endblock %}
```

Обратите внимание на то, что я изменил строку:

```html
{% bootstrap_button button_type="submit" content="{% translate 'Create' %}" button_class="btn btn-dark" %}
```

Теперь строка "Create" будет переведена в зависимости от языка, установленного пользователем. Убедитесь, что у вас есть соответствующие переводы для строки "Create" в ваших языковых файлах (например, `django.po` и `django.mo`).
Похожие вопросы