페이지 작성 방법에 대한 세부 정보를 제공하지는 않았지만 사용자 지정 자리 표시 자 설정을 사용하여 자신 만의 사이트를 만들었다 고 추측 할 수 있습니다. 설정에 여러 언어를 구성하면 모든 일반 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 모델을 변환하는 더 많은 케이크가있다.