Activate i18n for wagtail to translate pages to french and english

This commit is contained in:
Ramon Wenger 2023-07-20 18:09:28 +02:00
parent ee5db8c687
commit 2868b3e196
3 changed files with 10 additions and 3 deletions

View File

@ -91,6 +91,9 @@ class Module(StrictHierarchyPage):
parent_page_types = ["books.Topic"] parent_page_types = ["books.Topic"]
subpage_types = ["books.Chapter"] subpage_types = ["books.Chapter"]
def is_translated(self) -> bool:
return self.get_translations().count() > 0
# todo: isn't this a duplicate definition? # todo: isn't this a duplicate definition?
def get_child_ids(self): def get_child_ids(self):
return self.get_children().values_list("id", flat=True) return self.get_children().values_list("id", flat=True)

View File

@ -1,10 +1,12 @@
import graphene import graphene
from graphene import relay from graphene import relay
from graphene_django.filter import DjangoFilterConnectionField from graphene_django.filter import DjangoFilterConnectionField
from wagtail.models import Locale
from api.utils import get_object from api.utils import get_object
from core.logger import get_logger from core.logger import get_logger
from .connections import TopicConnection, ModuleConnection from .connections import TopicConnection, ModuleConnection
<<<<<<< HEAD
from .nodes import ( from .nodes import (
ContentBlockNode, ContentBlockNode,
ChapterNode, ChapterNode,
@ -42,7 +44,8 @@ class BookQuery(object):
return Book.objects.filter(**kwargs).live() return Book.objects.filter(**kwargs).live()
def resolve_topics(self, *args, **kwargs): def resolve_topics(self, *args, **kwargs):
return Topic.objects.live().filter(locale__language_code="de") default_locale = Locale.get_default()
return Topic.objects.live().filter(locale=default_locale)
def resolve_modules(self, *args, **kwargs): def resolve_modules(self, *args, **kwargs):
return Module.objects.filter(**kwargs).live() return Module.objects.filter(**kwargs).live()
@ -79,7 +82,8 @@ class BookQuery(object):
return get_object(Topic, id) return get_object(Topic, id)
if slug is not None: if slug is not None:
try: try:
return Topic.objects.get(slug=slug, locale__language_code="de") default_locale = Locale.get_default()
return Topic.objects.get(slug=slug, locale=default_locale)
except Topic.DoesNotExist: except Topic.DoesNotExist:
return NotFoundFailure return NotFoundFailure
return None return None

View File

@ -193,7 +193,7 @@ USE_L10N = True
USE_TZ = True USE_TZ = True
LANGUAGES = [ WAGTAIL_CONTENT_LANGUAGES = LANGUAGES = [
("de", _("German")), ("de", _("German")),
("en", _("English")), ("en", _("English")),
("fr", _("French")), ("fr", _("French")),