Я хочу выполнить сайт статьи на нескольких языках, я уже перевел строки перевода, таким образом, мои шаблоны готовы. У меня только есть вопросы, как сохранить статьи на многих языках? Я должен создать базу данных для каждого перевода, или он работает другим способом?
Если у меня есть, например, эта базовая модель:
class Article(models.Model):
models.TextField()
И хотите хранить данные на многих языках, как я делаю это? Как организовать перенаправления между одной статьей о различных языках
Одним из простых подходов к этой проблеме является добавление поля "язык" в каждой модели, которое идентифицирует язык, используемый для каждой записи. Похоже, таким подходом пользуется django-pluggable-model-i18n.
Другой подход заключается в использовании метаклассов Python для идентификации полей для перевода, как это используется в django-translate и django-transmeta.
Есть еще несколько проектов, но многие из них кажутся заброшенными или менее качественными. Джанго-трансмета всегда казалась мне самой интересной.
Edit: Мухук только что написал отличную статью, в которой он сегодня рассматривает различные переводческие проекты: http://www.muhuk.com/2010/01/dynamic-translation-apps-for-django/
Посмотрите, как люди на django-cms решили эту проблему - вы также можете запачкать руки и извлечь части кода, отвечающие за красивые многоязычные urls (например, url http://site.com/en-us/some_view/ корректно маршрутизирует на some_view/ и устанавливает request.LANGUAGE_CODE на en-us).