Джанго-страны: как перевести?

Я установил страны Джанго сегодня. Это работает довольно аккуратно.

Документация, к сожалению, немного тонкая, она гласит:

СТРАНЫ Кортеж из двухкомпонентных кортежей, каждый из которых состоит из кода страны и соответствующего названия страны (и переводимого названия).

Я просто пойду по обычному пути интернационализации django, и он автоматически поднимет его и позволит мне определить страны в моем PO-файле? Или требуется дополнительная магия?

То, как я это реализовал, выглядит так:

from django_countries.countries import COUNTRIES
from django_countries.fields import CountryField

country             = CountryField(_(u'Country'), choices=COUNTRIES,  blank=True)

COUNTRIES идет прямо из расширения, поэтому у меня нет доступа к _(u) вокруг названия каждой страны. (from django.utils.translation import ugettext_lazy as _)

2 ответа

Решение

Просто следуйте документации по переводу django, и она автоматически добавит ugettext_lazy помеченные строки в вашем .po файл. А затем предоставьте строки сообщений в соответствии с языком по вашему выбору.

Для начинающих django, таких как я: добавление 'django_countries' в INSTALLED_APPS в settings.py вашего сайта поможет. Так что ответ Амира верен - просто посмотрите раздел "Как Django обнаруживает переводы" в документации.

Другие вопросы по тегам