Продвинутый Django 5 для продолжающих

Прогресс по курсу:  0/193

7.2 Перевод моделей и форм
4 из 4 шагов пройдено

Вы перевели названия языков. Теперь давайте переведем имена полей модели, которые отображаются на сайте.

Отредактируйте файл models.py приложения books, добавив помеченные для перевода имена в поля модели Book, как показано ниже:

from django.db import models
from django.utils.translation import gettext_lazy as _


class Book(models.Model):
    title = models.CharField(verbose_name=_('Title'), max_length=200)
    author = models.CharField(verbose_name=_('Author'), max_length=200)
    price = models.PositiveIntegerField(verbose_name=_('Price'), default=0)
    read = models.BooleanField(verbose_name=_('Read'), default=False)

    def __str__(self):
        return self.title

Вы добавили имена для полей, которые отображаются, когда пользователь добавляет новую книгу. Это поля title, author, price и read.

Внутри каталога приложения books создайте следующую ниже каталожную структуру:


При создании каталога locale переводные строковые литералы этого приложения будут храниться в файле сообщений в этом каталоге, а не в главном файле сообщений. Благодаря этому можно генерировать отдельные файлы перевода по каждому приложению.


Откройте оболочку из каталога проекта и выполните следующую ниже команду:

django-admin makemessages --all --ignore venv

Вы должны увидеть такой результат:



С помощью текстового редактора откройте файл books\locale\ru\LC_MESSAGES\django.po приложения books.
Вы увидите переводные строковые литералы из модели Book.

Заполните следующие ниже переводы msgstr для строковых литералов msgid:

#: books/models.py:6
msgid "Title"
msgstr "Название"

#: books/models.py:7
msgid "Author"
msgstr "Автор"

#: books/models.py:8
msgid "Price"
msgstr "Цена"

#: books/models.py:9
msgid "Read"
msgstr "Прочитано"

Закончив добавлять переводы, сохраните файл.

Помимо текстового редактора, для редактирования переводов еще можно использовать Poedit.

Poedit – это программный продукт, служащий для редактирования переводов, в котором используется инструментарий gettext. Он доступен для Linux, Windows и macOS.

Программу Poedit можно скачать со страницы с https://poedit.net/.


Будьте вежливы и соблюдайте наши принципы сообщества. Пожалуйста, не оставляйте решения и подсказки в комментариях, для этого есть отдельный форум.
Оставить комментарий
Нет обсуждений. Начните первое.