Команда makemessages
Команда makemessages сканирует все файлы проекта
в поисках строк, помеченных функциями перевода
(например, gettext, gettext_lazy,
ugettext и другими). На основе найденных строк
она создаёт или обновляет файлы .po для указанных
языков. Эти файлы содержат пары исходных строк и их
переводов, которые позже компилируются командой
compilemessages.
Основные параметры команды:
-
-lили--locale- указывает код языка (например,ru,en), для которого создаются файлы перевода. Параметр можно указывать несколько раз. -
-eили--extension- определяет расширения файлов, которые должны сканироваться (по умолчанию.html,.txt,.py). -
--no-wrap- отключает перенос длинных строк в файлах.po. -
-aили--all- обновляет файлы перевода для всех языков, указанных в настройкеLANGUAGES.
Синтаксис
python manage.py makemessages [options]
Пример
Создадим файл перевода для русского языка в приложении
myapp. Для этого выполним команду:
python manage.py makemessages -l ru
После выполнения команды в директории
locale/ru/LC_MESSAGES/ будет создан файл
django.po, содержащий строки для перевода.
Пример
Обновим файлы перевода для всех языков из настройки
LANGUAGES, добавив новые строки из шаблонов
с расширением .html и .txt:
python manage.py makemessages -a
Команда просканирует все шаблоны и Python-файлы,
обновляя существующие .po-файлы для каждого
языка из списка LANGUAGES.
Пример
Создадим файл перевода для английского языка, указав дополнительные расширения для сканирования:
python manage.py makemessages -l en -e html,txt,js
Эта команда создаст файл django.po для английского
языка, добавив в поиск строки из файлов с расширениями
.html, .txt и .js.
Пример
Используем команду с отключением переноса длинных строк для упрощения редактирования файла перевода:
python manage.py makemessages -l ru --no-wrap
Результат выполнения команды:
"processing locale ru"
Файл django.po создан без переносов длинных
строк, что удобно для работы с системами контроля
версий.
Смотрите также
-
команда
compilemessages,
которая компилирует файлы перевода для использования в приложении -
команда
runserver,
которая запускает встроенный сервер разработки Django -
команда
migrate,
которая применяет миграции базы данных -
команда
shell,
которая запускает интерактивную оболочку Django