Skip to content
Snippets Groups Projects
Commit b5905542 authored by borzechof99's avatar borzechof99 :whale2:
Browse files

Add Base i18n functionality

parent 397c9687
No related branches found
No related tags found
No related merge requests found
......@@ -12,3 +12,4 @@ urllib3==1.26.4
Pillow==8.2.0
django-cors-headers==3.7.0
djangorestframework==3.12.4
django-modeltranslation==0.17.2
\ No newline at end of file
# Generated by Django 3.2 on 2021-06-12 12:30
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('quiz', '0005_merge_20210602_1355'),
]
operations = [
migrations.AddField(
model_name='calltomove',
name='text_de',
field=models.TextField(null=True),
),
migrations.AddField(
model_name='calltomove',
name='text_en',
field=models.TextField(null=True),
),
migrations.AddField(
model_name='knowledgesnack',
name='text_de',
field=models.TextField(null=True),
),
migrations.AddField(
model_name='knowledgesnack',
name='text_en',
field=models.TextField(null=True),
),
migrations.AddField(
model_name='question',
name='text_de',
field=models.TextField(null=True),
),
migrations.AddField(
model_name='question',
name='text_en',
field=models.TextField(null=True),
),
]
"""
Here, every Model which needs translation fields is registered.
"""
from modeltranslation.translator import register, TranslationOptions
from .models import Question, CallToMove, KnowledgeSnack
@register(Question)
class QuestionTranslationOptions(TranslationOptions):
"""
Translations for Question-model. Only the text of the question needs to be translated.
A German Translation is Required.
"""
fields = ("text",)
required_languages = ("de",)
fallback_values = ("No Translation for this Field",)
@register(CallToMove)
class CallToMoveTranslationOptions(TranslationOptions):
fields = ("text",)
required_languages = ("de",)
fallback_values = ("No Translation for this Field",)
@register(KnowledgeSnack)
class KnowledgeSnackTranslationOptions(TranslationOptions):
fields = ("text",)
required_languages = ("de",)
fallback_values = ("No Translation for this Field",)
......@@ -33,6 +33,7 @@ ALLOWED_HOSTS = []
INSTALLED_APPS = [
# "quiz.apps.QuizConfig",
"modeltranslation", # Needs to be before django.contrib.admin because Admin Panel won't work otherwise
"django.contrib.admin",
"django.contrib.auth",
"django.contrib.contenttypes",
......@@ -53,6 +54,7 @@ MIDDLEWARE = [
"django.contrib.messages.middleware.MessageMiddleware",
"django.middleware.clickjacking.XFrameOptionsMiddleware",
"corsheaders.middleware.CorsMiddleware",
"django.middleware.locale.LocaleMiddleware",
]
ROOT_URLCONF = "unisportomat.urls"
......@@ -116,6 +118,18 @@ USE_L10N = True
USE_TZ = True
# Internationalization with django-modeltranslation
# https://django-modeltranslation.readthedocs.io/en/latest/index.html
gettext = lambda s: s
LANGUAGES = (
("de", gettext("German")),
("en", gettext("English")),
)
MODELTRANSLATION_DEFAULT_LANGUAGE = "de"
# Static files (CSS, JavaScript, Images)
# https://docs.djangoproject.com/en/3.2/howto/static-files/
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment