Джанго-страны: как перевести?
Я установил страны Джанго сегодня. Это работает довольно аккуратно.
Документация, к сожалению, немного тонкая, она гласит:
СТРАНЫ Кортеж из двухкомпонентных кортежей, каждый из которых состоит из кода страны и соответствующего названия страны (и переводимого названия).
Я просто пойду по обычному пути интернационализации 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 обнаруживает переводы" в документации.