#django #internationalization #multilingual
#django #интернационализация #многоязычный
Вопрос:
Я немного застрял и нуждаюсь в ваших советах, ребята… Я создаю веб-сайт, который будет переведен на два языка. Например, у меня есть два URL-адреса / gallery / pictures и /galerija / paveikslai (это один и тот же, но на разных языках), которые указывают на один и тот же контент (например, будет показана галерея картин).
Конечно, в зависимости от ссылки должен изменяться язык содержимого и самой страницы. Есть идеи, как сделать это лучше? Может быть, мне нужно использовать языковой префикс? Если да, то как тогда я буду с этим справляться (промежуточное программное обеспечение или что-то в этом роде)?
Может быть, кто-то уже сделал то же самое и у него есть несколько хороших советов или кода для показа?
Спасибо, Игнас
Комментарии:
1. Вы смотрели на
django Internationalization and localization
? docs.djangoproject.com/en/dev/topics/i18n2. конечно. Но вы же не говорите мне, чтобы весь контент, который получает из DB, переводился вот так? Когда у вас есть динамический контент, и он поступает из базы данных, я предпочитаю сохранять этот другой контент в базе данных с индикатором языка. А затем, используя другую ссылку или slug, вы получаете другой контент. Для перевода некоторых слов, предложений — конечно, неплохо иметь файлы переводов.
3. Это довольно старое сообщение в блоге, но, тем не менее, может быть полезным: muhuk.com/2010/01/dynamic-translation-apps-for-django
4. Спасибо! Больше никаких советов? Странно 🙂
Ответ №1:
Возможно, что-то вроде этого:
settings.py:
from django.utils.translation import ugettext_lazy as _
GALLERY_URL = _('gallery')
PICTURES_URL = _('pictures')
urls.py:
url(r'^' settings.GALLERY_URL '/' settings.PICTURES_URL '/$',
'my_view',
name='my_view'),
Вы должны каким-то образом подтвердить, что GALLERY_URL и PICTURE_URL не являются пустыми.
Комментарии:
1. Хороший совет. Я сделал это, разделив url.py файлы зависят от языка. Я также поставил языковой префикс. Промежуточное программное обеспечение проверяет язык в URL. Это помогает получить более удобную для пользователя ссылку. Но ваш совет тоже хорош. Спасибо.