diff --git a/docker-compose.yml b/docker-compose.yml
index 4d9ddc4..4951c21 100644
--- a/docker-compose.yml
+++ b/docker-compose.yml
@@ -15,9 +15,14 @@ services:
main:
build: ./docker/main
command: bash -c "echo 'setting django up'
+ && python manage.py makemessages --all
+ && python manage.py compilemessages
&& python manage.py collectstatic --noinput
- && sleep 3
+ && python manage.py check
+ && echo 'waiting a few seconds for database to start'
+ && sleep 1
&& python manage.py migrate
+ && python manage.py createcachetable
&& DJANGO_SUPERUSER_PASSWORD='root' python manage.py createsuperuser\
--username root --noinput --email software@cscherr.de || true
&& python manage.py runserver 0.0.0.0:80
diff --git a/docker/main/requirements.txt b/docker/main/requirements.txt
index bad9a1b..7365c91 100644
--- a/docker/main/requirements.txt
+++ b/docker/main/requirements.txt
@@ -10,3 +10,4 @@ markdown>=3.4.4
Pygments>=2.16.1
toml>=0.10
beautifulsoup4>=4.12.2
+django-rosetta>=0.9.9
diff --git a/gawa/blog/templates/blog/index.html b/gawa/blog/templates/blog/index.html
index d65a321..534e25f 100644
--- a/gawa/blog/templates/blog/index.html
+++ b/gawa/blog/templates/blog/index.html
@@ -11,7 +11,7 @@
-
{% translate "Was gibt es hier?" %}
+
{% translate "What can be found here?" %}
{% translate "Blog" %}
diff --git a/gawa/gawa/settings.py b/gawa/gawa/settings.py
index 3a39936..1acd961 100644
--- a/gawa/gawa/settings.py
+++ b/gawa/gawa/settings.py
@@ -23,7 +23,6 @@ from django.utils.log import ServerFormatter
# Build paths inside the project like this: BASE_DIR / 'subdir'.
BASE_DIR = Path(__file__).resolve().parent.parent
-
# Quick-start development settings - unsuitable for production
# See https://docs.djangoproject.com/en/3.2/howto/deployment/checklist/
@@ -31,7 +30,7 @@ BASE_DIR = Path(__file__).resolve().parent.parent
SECRET_KEY = 'django-insecure-z_t5-iawtas&1np9)01*4_z_&hy*7wgy1!o$3bnnniux3f1ds-'
# SECURITY WARNING: don't run with debug turned on in production!
-DEBUG = False
+DEBUG = True
ALLOWED_HOSTS = ["*"]
@@ -52,6 +51,7 @@ INSTALLED_APPS = [
'django.contrib.messages',
'django.contrib.staticfiles',
'compressor', # compiles bs5
+ 'rosetta', # translation from admin interface
]
MIDDLEWARE = [
@@ -129,9 +129,10 @@ LANGUAGES = [
("en", _("English")),
]
-LANGUAGE_CODE = 'de'
+LANGUAGE_CODE = 'en'
# treat this ^^^ as the default
prefix_default_language = False
+LOCALE_PATHS = ["/app/locale"]
TIME_ZONE = 'CET'
@@ -288,11 +289,5 @@ LOGGING = {
},
}
-
-# Media stuff
-# this is where user uploaded files will go.
-# TODO change this for prod
-# MEDIA_ROOT = "/home/plex/Documents/code/python/gawa/media"
MEDIA_ROOT = "/app/media"
MEDIA_URL = "/media/"
-# FILE_UPLOAD_TEMP_DIR = "/tmp/gawa/upload"
diff --git a/gawa/gawa/urls.py b/gawa/gawa/urls.py
index a6566cf..6ff229d 100644
--- a/gawa/gawa/urls.py
+++ b/gawa/gawa/urls.py
@@ -15,11 +15,13 @@ Including another URLconf
"""
from django.conf.urls.i18n import i18n_patterns
from django.contrib import admin
+from django.http import HttpResponsePermanentRedirect
from django.urls import include, re_path
from django.urls import include, path
from django.conf import settings
from django.conf.urls.static import static
+
urlpatterns = [
re_path('i18n/', include('django.conf.urls.i18n')),
] + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
@@ -28,4 +30,10 @@ urlpatterns += i18n_patterns(
path("", include("start.urls")),
path("blog/", include("blog.urls")),
path('admin/', admin.site.urls, name="admin"),
+ path("accounts/", include("django.contrib.auth.urls")),
)
+
+if 'rosetta' in settings.INSTALLED_APPS:
+ urlpatterns += i18n_patterns(
+ re_path(r'^translation/', include('rosetta.urls'))
+ )
diff --git a/gawa/locale/de/LC_MESSAGES/django.mo b/gawa/locale/de/LC_MESSAGES/django.mo
new file mode 100644
index 0000000..c9bfa4e
Binary files /dev/null and b/gawa/locale/de/LC_MESSAGES/django.mo differ
diff --git a/gawa/locale/de/LC_MESSAGES/django.po b/gawa/locale/de/LC_MESSAGES/django.po
new file mode 100644
index 0000000..0b92300
--- /dev/null
+++ b/gawa/locale/de/LC_MESSAGES/django.po
@@ -0,0 +1,440 @@
+# 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: 2023-10-08 19:07+0200\n"
+"PO-Revision-Date: 2023-10-08 18:38+0200\n"
+"Last-Translator: \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"
+"X-Translated-Using: django-rosetta 0.9.9\n"
+
+#: blog/admin.py:15 start/admin.py:8
+msgid "Regenerate traits"
+msgstr "Eigenschaften regenerieren"
+
+#: blog/models.py:44
+msgid "Category"
+msgstr "Kategorie"
+
+#: blog/models.py:45
+msgid "Categories"
+msgstr "Kategorien"
+
+#: blog/models.py:282
+msgid "blog post"
+msgstr "Blog Post"
+
+#: blog/models.py:283
+msgid "blog posts"
+msgstr "Blog Posts"
+
+#: blog/templates/blog/blogpost.html:9 blog/templates/blog/browse.html:9
+#: blog/templates/blog/index.html:8 start/templates/400.html:5
+#: start/templates/403.html:5 start/templates/404.html:5
+#: start/templates/500.html:5 start/templates/nav.html:9
+#: start/templates/start/index.html:8 start/templates/start/index.html:13
+#: start/templates/start/legalinfo.html:8 start/templates/start/links.html:5
+#: start/templates/start/search.html:5
+msgid "cscherr.de"
+msgstr "cscherr.de"
+
+#: blog/templates/blog/blogpost.html:9 blog/templates/blog/browse.html:9
+#: blog/templates/blog/index.html:8 blog/templates/blog/index.html:15
+#: start/templates/nav.html:51 start/templates/start/index.html:77
+msgid "Blog"
+msgstr "Blog"
+
+#: blog/templates/blog/blogpost.html:86 blog/templates/blog/browse.html:170
+#: blog/templates/blog/featured.html:52
+msgid "published"
+msgstr "veröffentlicht"
+
+#: blog/templates/blog/blogpost.html:90
+msgid "updated"
+msgstr "aktualisiert"
+
+#: blog/templates/blog/browse.html:47 start/forms.py:15
+#: start/templates/main_search_form.html:3
+msgid "Search"
+msgstr "Suche"
+
+#: blog/templates/blog/browse.html:57
+msgid "select category"
+msgstr "ausgewählte Kategorie"
+
+#: blog/templates/blog/browse.html:68
+msgid "Keywords"
+msgstr "Schlüsselwörter"
+
+#: blog/templates/blog/browse.html:87
+msgid "Filter"
+msgstr "Filter"
+
+#: blog/templates/blog/browse.html:119
+msgid "No posts found for your filters."
+msgstr "Keine Posts für diese Filter gefunden."
+
+#: blog/templates/blog/browse.html:154 blog/templates/blog/featured.html:36
+msgid "category"
+msgstr "Kategorie"
+
+#: blog/templates/blog/featured.html:5
+msgid "Featured"
+msgstr "vorgestellt"
+
+#: blog/templates/blog/index.html:14
+msgid "What can be found here?"
+msgstr "Was gibt es hier?"
+
+#: blog/templates/blog/index.html:19
+msgid "Writeups"
+msgstr "Writeups"
+
+#: blog/templates/blog/index.html:21
+msgid ""
+"\n"
+" Whenever I discover some interesting security thing, I will post "
+"a writeup here.\n"
+" "
+msgstr ""
+"\n"
+"Falls ich etwas Interessantes zum Thema Sicherheit entdecke, wird es hier "
+"einen Writeup dazu geben."
+
+#: blog/templates/blog/index.html:27
+msgid "Open Source"
+msgstr "OpenSource"
+
+#: blog/templates/blog/index.html:28
+msgid ""
+"\n"
+" If something comes up, I may post Linux guides or my thoughts on "
+"current processes here.\n"
+" "
+msgstr ""
+"\n"
+"Falls etwas aufkommt, poste ich hier womöglich Linux Guides oder meine "
+"Gedanken über allesmögliche."
+
+#: blog/templates/blog/index.html:33 start/templates/start/index.html:69
+msgid "Selfhosting"
+msgstr "Selfhosting"
+
+#: blog/templates/blog/index.html:34
+msgid ""
+"\n"
+" Selfhosting is something that I'm really fond of. There will be "
+"guides and thoughts about that too\n"
+" "
+msgstr ""
+"\n"
+"Selfhosting liegt mir sehr am Herzen, auch dazu wird es Anleitungen und "
+"Gedanken geben."
+
+#: blog/templates/blog/index.html:39
+msgid "Anything Really"
+msgstr "Irgendwas"
+
+#: blog/templates/blog/index.html:40
+msgid ""
+"\n"
+" This is my personal Blog after all, I will put here whatever I "
+"want and you can't stop me.\n"
+" "
+msgstr ""
+"\n"
+"Das ist mein persönlicher Blog. Ich lade hier hoch was auch immer ich möchte."
+
+#: blog/templates/blog/index.html:46
+msgid "Looking for anything specific?"
+msgstr "Suchst du nach etwas speziellem?"
+
+#: blog/templates/blog/index.html:51
+#, fuzzy
+#| msgid "blog posts"
+msgid "Browse posts"
+msgstr "Blog Posts"
+
+#: gawa/settings.py:128
+msgid "German"
+msgstr "Deutsch"
+
+#: gawa/settings.py:129
+msgid "English"
+msgstr "Englisch"
+
+#: start/models.py:27
+msgid "Keyword"
+msgstr "Schlüsselwort"
+
+#: start/models.py:28
+msgid "keywords"
+msgstr "Schlüsselwörter"
+
+#: start/models.py:72
+msgid "Searchable"
+msgstr "suchbares Objekt"
+
+#: start/models.py:73
+msgid "Searchables"
+msgstr "suchbare Objekte"
+
+#: start/models.py:95
+msgid "static site"
+msgstr "statische Seite"
+
+#: start/models.py:96
+msgid "static sites"
+msgstr "statische Seiten"
+
+#: start/models.py:165
+msgid "Link"
+msgstr "Link"
+
+#: start/models.py:166 start/templates/nav.html:36
+#: start/templates/start/legalinfo.html:8 start/templates/start/links.html:5
+msgid "Links"
+msgstr "Links"
+
+#: start/templates/400.html:5 start/templates/403.html:5
+#: start/templates/404.html:5 start/templates/500.html:5
+#: start/templates/start/index.html:8 start/templates/start/search.html:5
+msgid "startpage"
+msgstr "Startseite"
+
+#: start/templates/400.html:8
+msgid "Bad request"
+msgstr "Fehlerhafte Anfrage"
+
+#: start/templates/400.html:9
+msgid "You sent bad data to the server."
+msgstr "Du hast eine fehlerhafte Anfrage an den Server gesendet."
+
+#: start/templates/403.html:8
+msgid "Permission denied"
+msgstr "Zugriff verweigert"
+
+#: start/templates/403.html:9
+msgid "You are not allowed to access this page."
+msgstr "Du hast nicht die Berechtigung auf diese Seite zuzugreifen."
+
+#: start/templates/404.html:8
+msgid "Not found"
+msgstr "Nicht gefunden"
+
+#: start/templates/404.html:9
+msgid "The resource you are looking for does not exist."
+msgstr "Die Ressource die du suchst existiert nicht."
+
+#: start/templates/500.html:8
+msgid "Internal Server Error"
+msgstr "Interner Server Fehler"
+
+#: start/templates/500.html:9
+msgid "Something went wrong."
+msgstr "Etwas ist schief gelaufen."
+
+#: start/templates/base.html:73
+msgid ""
+"\n"
+" This website is developed by myself and is\n"
+" OpenSource.\n"
+"
\n"
+" I encourage you to search for and report "
+"usuability and security issues\n"
+" on this site, aswell as server. For more "
+"information, see Reporting.\n"
+" "
+msgstr ""
+"\n"
+"Diese Website wird von mir selbst entwickelt und ist\n"
+"OpenSource.\n"
+"
\n"
+"Ich ermutige meine Besucher nach Sicherheits- und Nutzbarkeitsproblemen auf "
+"dieser Seite und diesem Server zu suchen und melden. Für weitere "
+"Informationen, siehe Reporting. "
+
+#: start/templates/base.html:87 start/templates/nav.html:42
+#: start/templates/start/legalinfo.html:12
+msgid "Legal Info"
+msgstr "rechtliche Informationen"
+
+#: start/templates/base.html:96
+msgid "Quellcode dieser Website"
+msgstr "Quellcode dieser Website"
+
+#: start/templates/base.html:100
+msgid "Contact"
+msgstr "Kontakt"
+
+#: start/templates/base.html:108
+msgid "Deutschland"
+msgstr "Deutschland"
+
+#: start/templates/main_search_form.html:4
+msgid "Go"
+msgstr "Los"
+
+#: start/templates/nav.html:27 start/templates/nav.html:30
+#: start/templates/nav.html:54
+msgid "Start"
+msgstr "Start"
+
+#: start/templates/nav.html:33 start/templates/start/index.html:20
+#, fuzzy
+#| msgid "Personal"
+msgid "Professional"
+msgstr "Persönlich"
+
+#: start/templates/nav.html:57
+msgid "Browse"
+msgstr "Durchsuchen"
+
+#: start/templates/nav.html:99
+msgid "Anonym"
+msgstr "Anonymous"
+
+#: start/templates/nav.html:113
+msgid "Logout"
+msgstr "Abmelden"
+
+#: start/templates/nav.html:117
+msgid "Login"
+msgstr "Anmelden"
+
+#: start/templates/start/index.html:14
+#, fuzzy
+#| msgid "Personal"
+msgid "Personal Website"
+msgstr "Persönlich"
+
+#: start/templates/start/index.html:19 start/templates/start/index.html:53
+msgid "Who am I?"
+msgstr "Wer bin Ich?"
+
+#: start/templates/start/index.html:23
+msgid ""
+"\n"
+" I am Christoph J. Scherr, studying "
+"Cybersecurity at \n"
+" DHBW"
+"abbr>.\n"
+"
\n"
+" Work
\n"
+" My form of study means that I often change between "
+"studying and working with my partner\n"
+" company NewTec, which "
+"is a medium sized company with headquaters\n"
+" in Pfaffenhofen, Bavaria, Germany. I work mainly on "
+"programming on a \n"
+" SOC in Rust "
+"for industrial contexts.\n"
+"
\n"
+" Selfhosting
\n"
+" I have a fascination for Computers. As a hobby, I run my "
+"own computer networks (like the one this website\n"
+" is served from!)\n"
+"
\n"
+" "
+msgstr ""
+
+#: start/templates/start/index.html:42
+msgid "further information"
+msgstr "zusätzliche Informationen"
+
+#: start/templates/start/index.html:54
+msgid "Private"
+msgstr "Privat"
+
+#: start/templates/start/index.html:58
+msgid ""
+"\n"
+" I don't know what to put in this general paragraph.\n"
+" "
+msgstr ""
+
+#: start/templates/start/index.html:63
+msgid "Lanugages"
+msgstr ""
+
+#: start/templates/start/index.html:64
+msgid ""
+"\n"
+" Somehow, I find myself fascinated by the japanese "
+"lanugage. 日本語が好きだ。\n"
+" "
+msgstr ""
+
+#: start/templates/start/index.html:70
+msgid ""
+"\n"
+" I have a fascination for Computers. As a hobby, I "
+"run my own computer networks (like the one this website\n"
+" is served from!)\n"
+" "
+msgstr ""
+
+#: start/templates/start/legalinfo.html:16
+msgid "Information according to §5 TMG"
+msgstr "Angaben gemäß §5 TMG"
+
+#: start/templates/start/legalinfo.html:23
+msgid "Germany"
+msgstr "Deutschland"
+
+#: start/templates/start/legalinfo.html:25
+msgid "Email "
+msgstr "E-Mail"
+
+#: start/templates/start/links.html:8
+msgid "Personal"
+msgstr "Persönlich"
+
+#: start/templates/start/links.html:42 start/templates/start/links.html:86
+msgid "visit"
+msgstr "öffnen"
+
+#: start/templates/start/links.html:52
+msgid "Others"
+msgstr "Andere"
+
+#: start/templates/start/search.html:9
+#, fuzzy
+#| msgid "Search"
+msgid "Search for"
+msgstr "Suche"
+
+#, fuzzy
+#~ msgid ""
+#~ "\n"
+#~ " Ich habe diese Website selbst programmiert "
+#~ "und gehostet.\n"
+#~ " Falls Sie einen Fehler belibiger Art finden, "
+#~ "würde ich mich freuen,\n"
+#~ " wenn Sie mich darüber benachrichtigen.\n"
+#~ "
\n"
+#~ " Die Suche nach Schwachstellen und Fehlern auf "
+#~ "dieser Website ist für\n"
+#~ " diesen Zweck ausdrücklich erlaubt.\n"
+#~ " "
+#~ msgstr ""
+#~ "\n"
+#~ "Ich habe diese Website selbst programmiert und gehostet.\n"
+#~ "Falls Sie einen Fehler belibiger Art finden\n"
+#~ "würde ich mich freuen, wenn Sie mich darüber benachrichtigen.\n"
+#~ "
\n"
+#~ "Die Suche nach Schwachstellen und Fehlern auf\n"
+#~ "dieser Website ist für diesen Zweck ausdrücklich erlaubt.\n"
+#~ " "
diff --git a/gawa/locale/en/LC_MESSAGES/django.mo b/gawa/locale/en/LC_MESSAGES/django.mo
new file mode 100644
index 0000000..b21bd09
Binary files /dev/null and b/gawa/locale/en/LC_MESSAGES/django.mo differ
diff --git a/gawa/locale/en/LC_MESSAGES/django.po b/gawa/locale/en/LC_MESSAGES/django.po
new file mode 100644
index 0000000..f089040
--- /dev/null
+++ b/gawa/locale/en/LC_MESSAGES/django.po
@@ -0,0 +1,425 @@
+# 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.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: \n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2023-10-08 19:07+0200\n"
+"PO-Revision-Date: 2023-10-08 15:18+0200\n"
+"Last-Translator: \n"
+"Language-Team: \n"
+"Language: en\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"
+"X-Generator: Poedit 3.3.2\n"
+
+#: blog/admin.py:15 start/admin.py:8
+msgid "Regenerate traits"
+msgstr ""
+
+#: blog/models.py:44
+msgid "Category"
+msgstr ""
+
+#: blog/models.py:45
+msgid "Categories"
+msgstr ""
+
+#: blog/models.py:282
+msgid "blog post"
+msgstr ""
+
+#: blog/models.py:283
+msgid "blog posts"
+msgstr ""
+
+#: blog/templates/blog/blogpost.html:9 blog/templates/blog/browse.html:9
+#: blog/templates/blog/index.html:8 start/templates/400.html:5
+#: start/templates/403.html:5 start/templates/404.html:5
+#: start/templates/500.html:5 start/templates/nav.html:9
+#: start/templates/start/index.html:8 start/templates/start/index.html:13
+#: start/templates/start/legalinfo.html:8 start/templates/start/links.html:5
+#: start/templates/start/search.html:5
+msgid "cscherr.de"
+msgstr "cscherr.de"
+
+#: blog/templates/blog/blogpost.html:9 blog/templates/blog/browse.html:9
+#: blog/templates/blog/index.html:8 blog/templates/blog/index.html:15
+#: start/templates/nav.html:51 start/templates/start/index.html:77
+msgid "Blog"
+msgstr "Blog"
+
+#: blog/templates/blog/blogpost.html:86 blog/templates/blog/browse.html:170
+#: blog/templates/blog/featured.html:52
+msgid "published"
+msgstr ""
+
+#: blog/templates/blog/blogpost.html:90
+msgid "updated"
+msgstr ""
+
+#: blog/templates/blog/browse.html:47 start/forms.py:15
+#: start/templates/main_search_form.html:3
+msgid "Search"
+msgstr ""
+
+#: blog/templates/blog/browse.html:57
+msgid "select category"
+msgstr ""
+
+#: blog/templates/blog/browse.html:68
+msgid "Keywords"
+msgstr ""
+
+#: blog/templates/blog/browse.html:87
+msgid "Filter"
+msgstr ""
+
+#: blog/templates/blog/browse.html:119
+msgid "No posts found for your filters."
+msgstr ""
+
+#: blog/templates/blog/browse.html:154 blog/templates/blog/featured.html:36
+msgid "category"
+msgstr ""
+
+#: blog/templates/blog/featured.html:5
+msgid "Featured"
+msgstr ""
+
+#: blog/templates/blog/index.html:14
+msgid "What can be found here?"
+msgstr ""
+
+#: blog/templates/blog/index.html:19
+msgid "Writeups"
+msgstr ""
+
+#: blog/templates/blog/index.html:21
+msgid ""
+"\n"
+" Whenever I discover some interesting security thing, I will post "
+"a writeup here.\n"
+" "
+msgstr ""
+
+#: blog/templates/blog/index.html:27
+msgid "Open Source"
+msgstr ""
+
+#: blog/templates/blog/index.html:28
+msgid ""
+"\n"
+" If something comes up, I may post Linux guides or my thoughts on "
+"current processes here.\n"
+" "
+msgstr ""
+
+#: blog/templates/blog/index.html:33 start/templates/start/index.html:69
+msgid "Selfhosting"
+msgstr ""
+
+#: blog/templates/blog/index.html:34
+msgid ""
+"\n"
+" Selfhosting is something that I'm really fond of. There will be "
+"guides and thoughts about that too\n"
+" "
+msgstr ""
+
+#: blog/templates/blog/index.html:39
+msgid "Anything Really"
+msgstr ""
+
+#: blog/templates/blog/index.html:40
+msgid ""
+"\n"
+" This is my personal Blog after all, I will put here whatever I "
+"want and you can't stop me.\n"
+" "
+msgstr ""
+
+#: blog/templates/blog/index.html:46
+msgid "Looking for anything specific?"
+msgstr ""
+
+#: blog/templates/blog/index.html:51
+msgid "Browse posts"
+msgstr ""
+
+#: gawa/settings.py:128
+msgid "German"
+msgstr ""
+
+#: gawa/settings.py:129
+msgid "English"
+msgstr ""
+
+#: start/models.py:27
+msgid "Keyword"
+msgstr ""
+
+#: start/models.py:28
+msgid "keywords"
+msgstr ""
+
+#: start/models.py:72
+msgid "Searchable"
+msgstr ""
+
+#: start/models.py:73
+msgid "Searchables"
+msgstr ""
+
+#: start/models.py:95
+msgid "static site"
+msgstr ""
+
+#: start/models.py:96
+msgid "static sites"
+msgstr ""
+
+#: start/models.py:165
+msgid "Link"
+msgstr ""
+
+#: start/models.py:166 start/templates/nav.html:36
+#: start/templates/start/legalinfo.html:8 start/templates/start/links.html:5
+msgid "Links"
+msgstr ""
+
+#: start/templates/400.html:5 start/templates/403.html:5
+#: start/templates/404.html:5 start/templates/500.html:5
+#: start/templates/start/index.html:8 start/templates/start/search.html:5
+msgid "startpage"
+msgstr "startpage"
+
+#: start/templates/400.html:8
+msgid "Bad request"
+msgstr ""
+
+#: start/templates/400.html:9
+msgid "You sent bad data to the server."
+msgstr ""
+
+#: start/templates/403.html:8
+msgid "Permission denied"
+msgstr ""
+
+#: start/templates/403.html:9
+msgid "You are not allowed to access this page."
+msgstr ""
+
+#: start/templates/404.html:8
+msgid "Not found"
+msgstr ""
+
+#: start/templates/404.html:9
+msgid "The resource you are looking for does not exist."
+msgstr ""
+
+#: start/templates/500.html:8
+msgid "Internal Server Error"
+msgstr ""
+
+#: start/templates/500.html:9
+msgid "Something went wrong."
+msgstr ""
+
+#: start/templates/base.html:73
+msgid ""
+"\n"
+" This website is developed by myself and is\n"
+" OpenSource.\n"
+"
\n"
+" I encourage you to search for and report "
+"usuability and security issues\n"
+" on this site, aswell as server. For more "
+"information, see Reporting.\n"
+" "
+msgstr ""
+
+#: start/templates/base.html:87 start/templates/nav.html:42
+#: start/templates/start/legalinfo.html:12
+msgid "Legal Info"
+msgstr ""
+
+#: start/templates/base.html:96
+msgid "Quellcode dieser Website"
+msgstr "Source code of this website"
+
+#: start/templates/base.html:100
+msgid "Contact"
+msgstr "Contact"
+
+#: start/templates/base.html:108
+msgid "Deutschland"
+msgstr "Germany"
+
+#: start/templates/main_search_form.html:4
+msgid "Go"
+msgstr ""
+
+#: start/templates/nav.html:27 start/templates/nav.html:30
+#: start/templates/nav.html:54
+msgid "Start"
+msgstr "Start"
+
+#: start/templates/nav.html:33 start/templates/start/index.html:20
+msgid "Professional"
+msgstr ""
+
+#: start/templates/nav.html:57
+msgid "Browse"
+msgstr ""
+
+#: start/templates/nav.html:99
+msgid "Anonym"
+msgstr ""
+
+#: start/templates/nav.html:113
+msgid "Logout"
+msgstr ""
+
+#: start/templates/nav.html:117
+msgid "Login"
+msgstr ""
+
+#: start/templates/start/index.html:14
+msgid "Personal Website"
+msgstr ""
+
+#: start/templates/start/index.html:19 start/templates/start/index.html:53
+msgid "Who am I?"
+msgstr ""
+
+#: start/templates/start/index.html:23
+msgid ""
+"\n"
+" I am Christoph J. Scherr, studying "
+"Cybersecurity at \n"
+" DHBW"
+"abbr>.\n"
+"
\n"
+" Work
\n"
+" My form of study means that I often change between "
+"studying and working with my partner\n"
+" company NewTec, which "
+"is a medium sized company with headquaters\n"
+" in Pfaffenhofen, Bavaria, Germany. I work mainly on "
+"programming on a \n"
+" SOC in Rust "
+"for industrial contexts.\n"
+"
\n"
+" Selfhosting
\n"
+" I have a fascination for Computers. As a hobby, I run my "
+"own computer networks (like the one this website\n"
+" is served from!)\n"
+"
\n"
+" "
+msgstr ""
+
+#: start/templates/start/index.html:42
+msgid "further information"
+msgstr ""
+
+#: start/templates/start/index.html:54
+msgid "Private"
+msgstr ""
+
+#: start/templates/start/index.html:58
+msgid ""
+"\n"
+" I don't know what to put in this general paragraph.\n"
+" "
+msgstr ""
+
+#: start/templates/start/index.html:63
+msgid "Lanugages"
+msgstr ""
+
+#: start/templates/start/index.html:64
+msgid ""
+"\n"
+" Somehow, I find myself fascinated by the japanese "
+"lanugage. 日本語が好きだ。\n"
+" "
+msgstr ""
+
+#: start/templates/start/index.html:70
+msgid ""
+"\n"
+" I have a fascination for Computers. As a hobby, I "
+"run my own computer networks (like the one this website\n"
+" is served from!)\n"
+" "
+msgstr ""
+
+#: start/templates/start/legalinfo.html:16
+msgid "Information according to §5 TMG"
+msgstr ""
+
+#: start/templates/start/legalinfo.html:23
+msgid "Germany"
+msgstr ""
+
+#: start/templates/start/legalinfo.html:25
+msgid "Email "
+msgstr ""
+
+#: start/templates/start/links.html:8
+msgid "Personal"
+msgstr ""
+
+#: start/templates/start/links.html:42 start/templates/start/links.html:86
+msgid "visit"
+msgstr ""
+
+#: start/templates/start/links.html:52
+msgid "Others"
+msgstr ""
+
+#: start/templates/start/search.html:9
+msgid "Search for"
+msgstr ""
+
+#, fuzzy
+#~| msgid ""
+#~| "\n"
+#~| " Ich habe diese Website selbst programmiert "
+#~| "und gehostet. \n"
+#~| " Falls Sie einen Fehler belibiger Art finden, "
+#~| "würde ich mich freuen, \n"
+#~| " wenn Sie mich darüber benachrichtigen.\n"
+#~| "
\n"
+#~| " Die Suche nach Schwachstellen und Fehlern "
+#~| "auf dieser Website ist für \n"
+#~| " diesen Zweck ausdrücklich erlaubt.\n"
+#~| " "
+#~ msgid ""
+#~ "\n"
+#~ " Ich habe diese Website selbst programmiert "
+#~ "und gehostet.\n"
+#~ " Falls Sie einen Fehler belibiger Art finden, "
+#~ "würde ich mich freuen,\n"
+#~ " wenn Sie mich darüber benachrichtigen.\n"
+#~ "
\n"
+#~ " Die Suche nach Schwachstellen und Fehlern auf "
+#~ "dieser Website ist für\n"
+#~ " diesen Zweck ausdrücklich erlaubt.\n"
+#~ " "
+#~ msgstr ""
+#~ "\n"
+#~ "I have programmed and hosted this Website by myself. If you find any "
+#~ "issues or bugs,\n"
+#~ "please contact me about it.\n"
+#~ "\n"
+#~ "\n"
+#~ "\n"
+#~ "I specifically allow the search for any issues this website might have. "
diff --git a/gawa/start/locale/de/LC_MESSAGES/django.mo b/gawa/start/locale/de/LC_MESSAGES/django.mo
deleted file mode 100644
index b640b31..0000000
Binary files a/gawa/start/locale/de/LC_MESSAGES/django.mo and /dev/null differ
diff --git a/gawa/start/locale/de/LC_MESSAGES/django.po b/gawa/start/locale/de/LC_MESSAGES/django.po
deleted file mode 100644
index 383c38f..0000000
--- a/gawa/start/locale/de/LC_MESSAGES/django.po
+++ /dev/null
@@ -1,70 +0,0 @@
-# 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: 2023-05-29 23:20+0200\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"
-
-#: start/templates/start/base.html:16 start/templates/start/index.html:5
-msgid "cscherr.de"
-msgstr "cscherr.de"
-
-#: start/templates/start/base.html:24
-msgid "Start"
-msgstr "Start"
-
-#: start/templates/start/base.html:27
-msgid "Blog"
-msgstr "Blog"
-
-#: start/templates/start/base.html:80
-msgid ""
-"\n"
-" Ich habe diese Website selbst programmiert und "
-"gehostet. \n"
-" Falls Sie einen Fehler belibiger Art finden, "
-"würde ich mich freuen, \n"
-" wenn Sie mich darüber benachrichtigen.\n"
-"
\n"
-" Die Suche nach Schwachstellen und Fehlern auf "
-"dieser Website ist für \n"
-" diesen Zweck ausdrücklich erlaubt.\n"
-" "
-msgstr ""
-"\n"
-"Ich habe diese Website selbst programmiert und gehostet.\n"
-"Falls Sie einen Fehler belibiger Art finden\n"
-"würde ich mich freuen, wenn Sie mich darüber benachrichtigen.\n"
-"
\n"
-"Die Suche nach Schwachstellen und Fehlern auf\n"
-"dieser Website ist für diesen Zweck ausdrücklich erlaubt.\n"
-" "
-
-#: start/templates/start/base.html:101
-msgid "Quellcode dieser Website"
-msgstr "Quellcode dieser Website"
-
-#: start/templates/start/base.html:110
-msgid "Contact"
-msgstr "Kontakt"
-
-#: start/templates/start/base.html:115
-msgid "Deutschland"
-msgstr "Deutschland"
-
-#: start/templates/start/index.html:5
-msgid "startpage"
-msgstr "Startseite"
diff --git a/gawa/start/locale/en/LC_MESSAGES/django.mo b/gawa/start/locale/en/LC_MESSAGES/django.mo
deleted file mode 100644
index a364405..0000000
Binary files a/gawa/start/locale/en/LC_MESSAGES/django.mo and /dev/null differ
diff --git a/gawa/start/locale/en/LC_MESSAGES/django.po b/gawa/start/locale/en/LC_MESSAGES/django.po
deleted file mode 100644
index 9c9d273..0000000
--- a/gawa/start/locale/en/LC_MESSAGES/django.po
+++ /dev/null
@@ -1,66 +0,0 @@
-# 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: 2023-05-29 23:20+0200\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"
-
-#: start/templates/start/base.html:16 start/templates/start/index.html:5
-msgid "cscherr.de"
-msgstr "cscherr.de"
-
-#: start/templates/start/base.html:24
-msgid "Start"
-msgstr "Start"
-
-#: start/templates/start/base.html:27
-msgid "Blog"
-msgstr "Blog"
-
-#: start/templates/start/base.html:80
-msgid ""
-"\n"
-" Ich habe diese Website selbst programmiert und "
-"gehostet. \n"
-" Falls Sie einen Fehler belibiger Art finden, "
-"würde ich mich freuen, \n"
-" wenn Sie mich darüber benachrichtigen.\n"
-"
\n"
-" Die Suche nach Schwachstellen und Fehlern auf "
-"dieser Website ist für \n"
-" diesen Zweck ausdrücklich erlaubt.\n"
-" "
-msgstr ""
-"I have programmed and hosted this Website by myself. If you find any issues or bugs,\n"
-"please contact me about it.\n"
-"
\n"
-"I specifically allow the search for any issues this website might have.\n"
-
-#: start/templates/start/base.html:101
-msgid "Quellcode dieser Website"
-msgstr "Source code of this website"
-
-#: start/templates/start/base.html:110
-msgid "Contact"
-msgstr "Contakt"
-
-#: start/templates/start/base.html:115
-msgid "Deutschland"
-msgstr "Germany"
-
-#: start/templates/start/index.html:5
-msgid "startpage"
-msgstr "startpage"
diff --git a/gawa/start/templates/base.html b/gawa/start/templates/base.html
index 85abd3e..71129b5 100644
--- a/gawa/start/templates/base.html
+++ b/gawa/start/templates/base.html
@@ -69,14 +69,14 @@
Information
+ {# NOTE: If you are not me, then you should probably adjust this. #}
{% blocktranslate %}
- Ich habe diese Website selbst programmiert und gehostet.
- Falls Sie einen Fehler belibiger Art finden, würde ich mich freuen,
- wenn Sie mich darüber benachrichtigen.
-
- Die Suche nach Schwachstellen und Fehlern auf dieser Website ist für
- diesen Zweck ausdrücklich erlaubt.
- {% endblocktranslate %}
+ This website is developed by myself and is
+ OpenSource.
+
+ I encourage you to search for and report usuability and security issues
+ on this site, aswell as server. For more information, see Reporting.
+ {% endblocktranslate %}
admin@cscherr.de
diff --git a/gawa/start/templates/main_search_form.html b/gawa/start/templates/main_search_form.html
index 329df40..e24787b 100644
--- a/gawa/start/templates/main_search_form.html
+++ b/gawa/start/templates/main_search_form.html
@@ -1,6 +1,5 @@
{% load i18n %}
diff --git a/gawa/start/templates/nav.html b/gawa/start/templates/nav.html
index 60535e4..3724299 100644
--- a/gawa/start/templates/nav.html
+++ b/gawa/start/templates/nav.html
@@ -30,7 +30,7 @@
{% translate "Start" %}
- {% translate "Professionell" %}
+ {% translate "Professional" %}
{% translate "Links" %}
@@ -58,32 +58,11 @@
-
- Debug
-
-
{% get_current_language as LANGUAGE_CODE %}
+ {% get_language_info for LANGUAGE_CODE as lang %}
diff --git a/gawa/start/templates/start/index.html b/gawa/start/templates/start/index.html
index 357a840..c75b0db 100644
--- a/gawa/start/templates/start/index.html
+++ b/gawa/start/templates/start/index.html
@@ -1,49 +1,91 @@
{% extends 'base.html' %}
{% load i18n %}
{% get_current_language as LANGUAGE_CODE %}
-{% block languagecode %}{{ LANGUAGE_CODE }}{% endblock languagecode %}
-{% block title %}{% translate "cscherr.de" %} - {% translate "startpage" %}{% endblock title %}
+{% block languagecode %}
+ {{ LANGUAGE_CODE }}
+{% endblock languagecode %}
+{% block title %}
+ {% translate "cscherr.de" %} - {% translate "startpage" %}
+{% endblock title %}
{% block main %}
-