diff --git a/docker/lama/Dockerfile b/docker/lama/Dockerfile index 3b01d38..a893bf6 100644 --- a/docker/lama/Dockerfile +++ b/docker/lama/Dockerfile @@ -1,7 +1,7 @@ FROM alpine:3.9 ADD ["requirements.txt", "/requirements.txt"] RUN apk upgrade --update && \ - apk add --update python3 build-base openldap-dev python3-dev py3-psycopg2 && \ + apk add --update python3 build-base openldap-dev python3-dev py3-psycopg2 gettext && \ pip3 install -r /requirements.txt && rm /requirements.txt WORKDIR /lama EXPOSE 80 diff --git a/docker/lama/Dockerfile.dev b/docker/lama/Dockerfile.dev index fe1360b..de2bd60 100644 --- a/docker/lama/Dockerfile.dev +++ b/docker/lama/Dockerfile.dev @@ -1,7 +1,7 @@ FROM alpine:3.9 ADD ["requirements.txt", "/requirements.txt"] RUN apk upgrade --update && \ - apk add --update python3 build-base openldap-dev python3-dev py3-psycopg2 && \ + apk add --update python3 build-base openldap-dev python3-dev py3-psycopg2 gettext && \ pip3 install -r /requirements.txt && rm /requirements.txt WORKDIR /lama EXPOSE 80 diff --git a/src/core/docker_settings.py b/src/core/docker_settings.py index 59a58e3..695481f 100644 --- a/src/core/docker_settings.py +++ b/src/core/docker_settings.py @@ -13,6 +13,7 @@ https://docs.djangoproject.com/en/2.1/ref/settings/ import os import ldap from django_auth_ldap.config import LDAPSearch, GroupOfNamesType +from django.utils.translation import ugettext_lazy as _ BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__))) DOMAIN = os.environ['DOMAIN'] @@ -37,6 +38,7 @@ INSTALLED_APPS = [ MIDDLEWARE = [ 'django.middleware.security.SecurityMiddleware', 'django.contrib.sessions.middleware.SessionMiddleware', + 'django.middleware.locale.LocaleMiddleware', 'django.middleware.common.CommonMiddleware', 'django.middleware.csrf.CsrfViewMiddleware', 'django.contrib.auth.middleware.AuthenticationMiddleware', @@ -113,19 +115,6 @@ AUTH_PASSWORD_VALIDATORS = [ }, ] -# Internationalization -# https://docs.djangoproject.com/en/2.1/topics/i18n/ - -LANGUAGE_CODE = 'en-us' - -TIME_ZONE = 'UTC' - -USE_I18N = True - -USE_L10N = True - -USE_TZ = True - # Static files (CSS, JavaScript, Images) # https://docs.djangoproject.com/en/2.1/howto/static-files/ @@ -190,6 +179,29 @@ LOGIN_URL = 'login' LOGIN_REDIRECT_URL = 'realm-home' PASSWORD_RESET_TIMEOUT_DAYS = 3 +######################################################################################################################## +# Languages Config # +######################################################################################################################## +# Internationalization +# https://docs.djangoproject.com/en/2.1/topics/i18n/ + + +TIME_ZONE = 'UTC' + +USE_I18N = True + +USE_TZ = True + +LANGUAGES = ( + ('en', _('English')), + ('de', _('Deutsch')) +) +USE_L10N = True +LANGUAGE_CODE = 'de' +LOCALE_PATHS = ( + os.path.join(BASE_DIR, 'locale'), +) + ######################################################################################################################## # Logging Config # ######################################################################################################################## diff --git a/src/core/jinja2.py b/src/core/jinja2.py index 1b5868e..ceef982 100644 --- a/src/core/jinja2.py +++ b/src/core/jinja2.py @@ -1,13 +1,15 @@ from django.templatetags.static import static from django.urls import reverse +from django.utils import translation from jinja2 import Environment def environment(**options): - env = Environment(**options) + env = Environment(extensions=['jinja2.ext.i18n'], **options) + # env.install_gettext_translations(translation) env.globals.update({ 'static': static, 'url': reverse, }) - return env \ No newline at end of file + return env diff --git a/src/locale/de/LC_MESSAGES/django.po b/src/locale/de/LC_MESSAGES/django.po new file mode 100644 index 0000000..531221b --- /dev/null +++ b/src/locale/de/LC_MESSAGES/django.po @@ -0,0 +1,41 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR , YEAR. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2019-05-16 13:48+0000\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"Language: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: account_manager/views/user_views.py:37 +msgid "" +"Der angefragte Nutzer gehört einem anderen Bereich an. Nutzer können nur von " +"dem Bereich bearbeitet werden, in dem sie erstellt wurden." +msgstr "" + +#: core/docker_settings.py:196 +msgid "English" +msgstr "" + +#: core/docker_settings.py:197 +msgid "Deutsch" +msgstr "" + +#: templates/base.jinja2:34 +msgid "LAMa" +msgstr "" + +#: templates/user/realm_user_detail.jinja2:23 +msgid "Anzeigename:" +msgstr "" diff --git a/src/templates/base.jinja2 b/src/templates/base.jinja2 index 0d7fe60..f100403 100644 --- a/src/templates/base.jinja2 +++ b/src/templates/base.jinja2 @@ -1,4 +1,5 @@ {#{% load static %}#} +{#{% load i18n %}#} {# ===== HTML ===== #} @@ -30,7 +31,7 @@ - LAMa + {% trans "LAMa" %} {% if request.user.is_authenticated %} diff --git a/src/templates/base_admin.jinja2 b/src/templates/base_admin.jinja2 index 366f29e..564dadc 100644 --- a/src/templates/base_admin.jinja2 +++ b/src/templates/base_admin.jinja2 @@ -1,4 +1,5 @@ {% extends 'base.jinja2' %} +{#{% load i18n %}#} {% block body %}
diff --git a/src/templates/realm/realm_detailed.jinja2 b/src/templates/realm/realm_detailed.jinja2 index 3e88bb8..dd42177 100644 --- a/src/templates/realm/realm_detailed.jinja2 +++ b/src/templates/realm/realm_detailed.jinja2 @@ -1,4 +1,5 @@ {% extends 'base_admin.jinja2' %} +{% load i18n %} {% block admin_content %}
diff --git a/src/templates/user/realm_user_detail.jinja2 b/src/templates/user/realm_user_detail.jinja2 index 12451ba..f234fa1 100644 --- a/src/templates/user/realm_user_detail.jinja2 +++ b/src/templates/user/realm_user_detail.jinja2 @@ -1,4 +1,5 @@ {% extends 'realm/realm_detailed.jinja2' %} +{#{% load i18n %}#} {% import 'macros/form_macros.jinja2' as mform %} {% block detail_content %} @@ -19,7 +20,7 @@ {% if not form %}
  • Ldap Domain: {{ user.user.dn }}
  • -
  • Anzeigename: +
  • {% trans "Anzeigename:" %} {% if user.user.display_name %} {{ user.user.display_name }} {% else %}