あなたのページをどのように構築するかについての詳細は教えていませんが、プレースホルダのカスタム設定で自分自身を作成したと思います。あなたの設定に複数の言語を設定すると、通常のdjango-cmsページはデフォルトで翻訳可能です。
各プレースホルダよりもプレースホルダを保持するコンテナを別々に変換することが望ましいことに注意してください。
あなたは(も何django-cms
用途である)django-hvad
を使用して、それらの翻訳に認識させることができ、独自のページを定義する場合:
# models.py
from cms.models import PlaceholderField, Placeholder
from django.conf import settings
from django.contrib.auth.models import User
from django.db import models
from django.db.models import Q
from django.utils.translation import ugettext_lazy as _
from hvad.manager import TranslationAwareManager
class LanguageManager(TranslationAwareManager):
def for_language(self, language):
return self.get_queryset().filter(Q(language__isnull=True) | Q(language=language))
class CustomPage(models.Model):
language = models.CharField(_('language'), max_length=5, null=True, blank=True, choices=settings.LANGUAGES,
help_text=_('leave empty to display in all languages'))
placeholder_abstract = PlaceholderField('abstract', related_name='%(class)s_abstracts')
placeholder_content = PlaceholderField('content', related_name='%(class)s_contents')
placeholder_links = PlaceholderField('links', related_name='%(class)s_links')
created_by = models.ForeignKey(User, null=False, blank=False, related_name='+', editable=False)
modified_by = models.ForeignKey(User, null=False, blank=False, related_name='+', editable=False)
created = models.DateTimeField(auto_now_add=True, editable=False)
last_modified = models.DateTimeField(auto_now=True, editable=False)
objects = LanguageManager()
Django Hvadは、翻訳モデルのためのより多くのグッズを持っています。