Update translations
- Author
- Maarten Vangeneugden
- Date
- April 9, 2022, 7:27 a.m.
- Hash
- 0eb87046c5b1112d66eae80ea97bfb8cd527ff73
- Parent
- 226361afe87e17f982d6457e1e83d315faf0fd18
- Modified files
- locale/af/LC_MESSAGES/django.po
- locale/de/LC_MESSAGES/django.po
- locale/eo/LC_MESSAGES/django.po
- locale/es/LC_MESSAGES/django.po
- locale/fr/LC_MESSAGES/django.po
- locale/nl/LC_MESSAGES/django.po
- models.py
- templates/blog/locale/af/LC_MESSAGES/django.po
- templates/blog/locale/de/LC_MESSAGES/django.po
- templates/blog/locale/eo/LC_MESSAGES/django.po
- templates/blog/locale/es/LC_MESSAGES/django.po
- templates/blog/locale/fr/LC_MESSAGES/django.po
- templates/blog/locale/nl/LC_MESSAGES/django.po
- templates/blog/post.djhtml
- views.py
locale/af/LC_MESSAGES/django.po ¶
12 additions and 3 deletions.
View changes Hide changes
1 |
1 |
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER |
2 |
2 |
# This file is distributed under the same license as the PACKAGE package. |
3 |
3 |
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR. |
4 |
4 |
# |
5 |
5 |
#, fuzzy |
6 |
6 |
msgid "" |
7 |
7 |
msgstr "" |
8 |
8 |
"Project-Id-Version: PACKAGE VERSION\n" |
9 |
9 |
"Report-Msgid-Bugs-To: \n" |
10 |
10 |
"POT-Creation-Date: 2022-03-06 07:38+0000\n" |
11 |
- | "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" |
+ |
11 |
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" |
12 |
12 |
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" |
13 |
13 |
"Language-Team: LANGUAGE <LL@li.org>\n" |
14 |
14 |
"Language: \n" |
15 |
15 |
"MIME-Version: 1.0\n" |
16 |
16 |
"Content-Type: text/plain; charset=UTF-8\n" |
17 |
17 |
"Content-Transfer-Encoding: 8bit\n" |
18 |
18 |
"Plural-Forms: nplurals=2; plural=(n != 1);\n" |
19 |
19 |
|
20 |
20 |
#: blog/views.py:46 |
21 |
- | msgid "Notepad from a student" |
+ |
21 |
msgid "Notepad from a student" |
22 |
22 |
msgstr "" |
23 |
23 |
|
24 |
24 |
#: blog/views.py:144 |
25 |
- | msgid "Weekly-archief" |
+ |
25 |
msgid "Comment succesfully submitted!" |
+ |
26 |
msgstr "" |
+ |
27 |
|
+ |
28 |
#: blog/views.py:49 |
+ |
29 |
msgid "" |
+ |
30 |
"An error occured while trying to submit your comment. Please try again later." |
+ |
31 |
msgstr "" |
+ |
32 |
|
+ |
33 |
#: blog/views.py:88 |
+ |
34 |
msgid "Weekly-archief" |
26 |
35 |
msgstr "" |
27 |
36 |
locale/de/LC_MESSAGES/django.po ¶
12 additions and 3 deletions.
View changes Hide changes
1 |
1 |
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER |
2 |
2 |
# This file is distributed under the same license as the PACKAGE package. |
3 |
3 |
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR. |
4 |
4 |
# |
5 |
5 |
#, fuzzy |
6 |
6 |
msgid "" |
7 |
7 |
msgstr "" |
8 |
8 |
"Project-Id-Version: PACKAGE VERSION\n" |
9 |
9 |
"Report-Msgid-Bugs-To: \n" |
10 |
10 |
"POT-Creation-Date: 2022-03-06 07:38+0000\n" |
11 |
- | "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" |
+ |
11 |
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" |
12 |
12 |
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" |
13 |
13 |
"Language-Team: LANGUAGE <LL@li.org>\n" |
14 |
14 |
"Language: \n" |
15 |
15 |
"MIME-Version: 1.0\n" |
16 |
16 |
"Content-Type: text/plain; charset=UTF-8\n" |
17 |
17 |
"Content-Transfer-Encoding: 8bit\n" |
18 |
18 |
"Plural-Forms: nplurals=2; plural=(n != 1);\n" |
19 |
19 |
|
20 |
20 |
#: blog/views.py:46 |
21 |
- | msgid "Notepad from a student" |
+ |
21 |
msgid "Notepad from a student" |
22 |
22 |
msgstr "" |
23 |
23 |
|
24 |
24 |
#: blog/views.py:144 |
25 |
- | msgid "Weekly-archief" |
+ |
25 |
msgid "Comment succesfully submitted!" |
+ |
26 |
msgstr "" |
+ |
27 |
|
+ |
28 |
#: blog/views.py:49 |
+ |
29 |
msgid "" |
+ |
30 |
"An error occured while trying to submit your comment. Please try again later." |
+ |
31 |
msgstr "" |
+ |
32 |
|
+ |
33 |
#: blog/views.py:88 |
+ |
34 |
msgid "Weekly-archief" |
26 |
35 |
msgstr "" |
27 |
36 |
locale/eo/LC_MESSAGES/django.po ¶
12 additions and 3 deletions.
View changes Hide changes
1 |
1 |
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER |
2 |
2 |
# This file is distributed under the same license as the PACKAGE package. |
3 |
3 |
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR. |
4 |
4 |
# |
5 |
5 |
#, fuzzy |
6 |
6 |
msgid "" |
7 |
7 |
msgstr "" |
8 |
8 |
"Project-Id-Version: PACKAGE VERSION\n" |
9 |
9 |
"Report-Msgid-Bugs-To: \n" |
10 |
10 |
"POT-Creation-Date: 2022-03-06 07:38+0000\n" |
11 |
- | "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" |
+ |
11 |
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" |
12 |
12 |
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" |
13 |
13 |
"Language-Team: LANGUAGE <LL@li.org>\n" |
14 |
14 |
"Language: \n" |
15 |
15 |
"MIME-Version: 1.0\n" |
16 |
16 |
"Content-Type: text/plain; charset=UTF-8\n" |
17 |
17 |
"Content-Transfer-Encoding: 8bit\n" |
18 |
18 |
"Plural-Forms: nplurals=2; plural=(n != 1);\n" |
19 |
19 |
|
20 |
20 |
#: blog/views.py:46 |
21 |
- | msgid "Notepad from a student" |
+ |
21 |
msgid "Notepad from a student" |
22 |
22 |
msgstr "" |
23 |
23 |
|
24 |
24 |
#: blog/views.py:144 |
25 |
- | msgid "Weekly-archief" |
+ |
25 |
msgid "Comment succesfully submitted!" |
+ |
26 |
msgstr "" |
+ |
27 |
|
+ |
28 |
#: blog/views.py:49 |
+ |
29 |
msgid "" |
+ |
30 |
"An error occured while trying to submit your comment. Please try again later." |
+ |
31 |
msgstr "" |
+ |
32 |
|
+ |
33 |
#: blog/views.py:88 |
+ |
34 |
msgid "Weekly-archief" |
26 |
35 |
msgstr "" |
27 |
36 |
locale/es/LC_MESSAGES/django.po ¶
12 additions and 3 deletions.
View changes Hide changes
1 |
1 |
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER |
2 |
2 |
# This file is distributed under the same license as the PACKAGE package. |
3 |
3 |
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR. |
4 |
4 |
# |
5 |
5 |
#, fuzzy |
6 |
6 |
msgid "" |
7 |
7 |
msgstr "" |
8 |
8 |
"Project-Id-Version: PACKAGE VERSION\n" |
9 |
9 |
"Report-Msgid-Bugs-To: \n" |
10 |
10 |
"POT-Creation-Date: 2022-03-06 07:38+0000\n" |
11 |
- | "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" |
+ |
11 |
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" |
12 |
12 |
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" |
13 |
13 |
"Language-Team: LANGUAGE <LL@li.org>\n" |
14 |
14 |
"Language: \n" |
15 |
15 |
"MIME-Version: 1.0\n" |
16 |
16 |
"Content-Type: text/plain; charset=UTF-8\n" |
17 |
17 |
"Content-Transfer-Encoding: 8bit\n" |
18 |
18 |
"Plural-Forms: nplurals=2; plural=(n != 1);\n" |
19 |
19 |
|
20 |
20 |
#: blog/views.py:46 |
21 |
- | msgid "Notepad from a student" |
+ |
21 |
msgid "Notepad from a student" |
22 |
22 |
msgstr "" |
23 |
23 |
|
24 |
24 |
#: blog/views.py:144 |
25 |
- | msgid "Weekly-archief" |
+ |
25 |
msgid "Comment succesfully submitted!" |
+ |
26 |
msgstr "" |
+ |
27 |
|
+ |
28 |
#: blog/views.py:49 |
+ |
29 |
msgid "" |
+ |
30 |
"An error occured while trying to submit your comment. Please try again later." |
+ |
31 |
msgstr "" |
+ |
32 |
|
+ |
33 |
#: blog/views.py:88 |
+ |
34 |
msgid "Weekly-archief" |
26 |
35 |
msgstr "" |
27 |
36 |
locale/fr/LC_MESSAGES/django.po ¶
12 additions and 3 deletions.
View changes Hide changes
1 |
1 |
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER |
2 |
2 |
# This file is distributed under the same license as the PACKAGE package. |
3 |
3 |
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR. |
4 |
4 |
# |
5 |
5 |
#, fuzzy |
6 |
6 |
msgid "" |
7 |
7 |
msgstr "" |
8 |
8 |
"Project-Id-Version: PACKAGE VERSION\n" |
9 |
9 |
"Report-Msgid-Bugs-To: \n" |
10 |
10 |
"POT-Creation-Date: 2022-03-06 07:38+0000\n" |
11 |
- | "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" |
+ |
11 |
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" |
12 |
12 |
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" |
13 |
13 |
"Language-Team: LANGUAGE <LL@li.org>\n" |
14 |
14 |
"Language: \n" |
15 |
15 |
"MIME-Version: 1.0\n" |
16 |
16 |
"Content-Type: text/plain; charset=UTF-8\n" |
17 |
17 |
"Content-Transfer-Encoding: 8bit\n" |
18 |
18 |
"Plural-Forms: nplurals=2; plural=(n > 1);\n" |
19 |
19 |
|
20 |
20 |
#: blog/views.py:46 |
21 |
- | msgid "Notepad from a student" |
+ |
21 |
msgid "Notepad from a student" |
22 |
22 |
msgstr "Bloc-notes d'un étudiant" |
23 |
23 |
|
24 |
24 |
#: blog/views.py:144 |
25 |
- | msgid "Weekly-archief" |
+ |
25 |
msgid "Comment succesfully submitted!" |
+ |
26 |
msgstr "" |
+ |
27 |
|
+ |
28 |
#: blog/views.py:49 |
+ |
29 |
msgid "" |
+ |
30 |
"An error occured while trying to submit your comment. Please try again later." |
+ |
31 |
msgstr "" |
+ |
32 |
|
+ |
33 |
#: blog/views.py:88 |
+ |
34 |
msgid "Weekly-archief" |
26 |
35 |
msgstr "" |
27 |
36 |
|
28 |
37 |
#, fuzzy |
29 |
38 |
#~| msgid "Blog main page" |
30 |
39 |
#~ msgid "Back to main page" |
31 |
40 |
#~ msgstr "Blog // Page principal" |
32 |
41 |
|
33 |
42 |
#~ msgid "Contact" |
34 |
43 |
#~ msgstr "Contact" |
35 |
44 |
|
36 |
45 |
#~ msgid "" |
37 |
46 |
#~ "Maarten's personal blog, with sprinkles and a dollop of healthy bugs." |
38 |
47 |
#~ msgstr "" |
39 |
48 |
#~ "Blog personnel de Maarten, avec des sprinkles et un cuillerée des bogues " |
40 |
49 |
#~ "sains." |
41 |
50 |
locale/nl/LC_MESSAGES/django.po ¶
12 additions and 3 deletions.
View changes Hide changes
1 |
1 |
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER |
2 |
2 |
# This file is distributed under the same license as the PACKAGE package. |
3 |
3 |
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR. |
4 |
4 |
# |
5 |
5 |
msgid "" |
6 |
6 |
msgstr "" |
7 |
7 |
"Project-Id-Version: \n" |
8 |
8 |
"Report-Msgid-Bugs-To: \n" |
9 |
9 |
"POT-Creation-Date: 2022-03-06 07:38+0000\n" |
10 |
- | "PO-Revision-Date: 2021-10-30 16:10+0200\n" |
+ |
10 |
"PO-Revision-Date: 2021-10-30 16:10+0200\n" |
11 |
11 |
"Last-Translator: \n" |
12 |
12 |
"Language-Team: \n" |
13 |
13 |
"Language: nl\n" |
14 |
14 |
"MIME-Version: 1.0\n" |
15 |
15 |
"Content-Type: text/plain; charset=UTF-8\n" |
16 |
16 |
"Content-Transfer-Encoding: 8bit\n" |
17 |
17 |
"Plural-Forms: nplurals=2; plural=(n != 1);\n" |
18 |
18 |
"X-Generator: Poedit 3.0\n" |
19 |
19 |
|
20 |
20 |
#: blog/views.py:46 |
21 |
- | msgid "Notepad from a student" |
+ |
21 |
msgid "Notepad from a student" |
22 |
22 |
msgstr "Studentikoos kladblok" |
23 |
23 |
|
24 |
24 |
#: blog/views.py:144 |
25 |
- | msgid "Weekly-archief" |
+ |
25 |
msgid "Comment succesfully submitted!" |
+ |
26 |
msgstr "" |
+ |
27 |
|
+ |
28 |
#: blog/views.py:49 |
+ |
29 |
msgid "" |
+ |
30 |
"An error occured while trying to submit your comment. Please try again later." |
+ |
31 |
msgstr "" |
+ |
32 |
|
+ |
33 |
#: blog/views.py:88 |
+ |
34 |
msgid "Weekly-archief" |
26 |
35 |
msgstr "Weekly-archief" |
27 |
36 |
|
28 |
37 |
#, fuzzy |
29 |
38 |
#~| msgid "Blog main page" |
30 |
39 |
#~ msgid "Back to main page" |
31 |
40 |
#~ msgstr "Blog // Hoofdpagina" |
32 |
41 |
|
33 |
42 |
#~ msgid "Contact" |
34 |
43 |
#~ msgstr "Contact" |
35 |
44 |
|
36 |
45 |
#~ msgid "" |
37 |
46 |
#~ "Maarten's personal blog, with sprinkles and a dollop of healthy bugs." |
38 |
47 |
#~ msgstr "" |
39 |
48 |
#~ "Maartens persoonlijke blog, met sprinkeltjes en een doperwtje aan gezonde " |
40 |
49 |
#~ "bugs." |
41 |
50 |
models.py ¶
22 additions and 1 deletion.
View changes Hide changes
1 |
1 |
from django.utils import translation |
2 |
2 |
from django.template.defaultfilters import slugify |
3 |
3 |
from django.db import models |
4 |
4 |
from django.conf import settings # Necessary to get the link to the media root folder |
5 |
5 |
import pytz |
6 |
6 |
import datetime |
7 |
7 |
import os |
8 |
8 |
import subprocess |
9 |
9 |
|
10 |
10 |
from django.shortcuts import render as render_shortcut |
11 |
11 |
|
12 |
12 |
""" New version: |
13 |
13 |
- For each post, there's no longer a mandatory Dutch and English |
14 |
14 |
version. Instead, only the title needs to be in multiple languages. |
15 |
15 |
- There's a new table for the links to the articles themselves. These include a |
16 |
16 |
language code and a foreign key to the post they belong to. |
17 |
17 |
- If an article is available in the active language, but not tagged for the same |
18 |
18 |
dialect, then it should just show up without any warnings. |
19 |
19 |
- If an article is not available in the active language, only the title should |
20 |
20 |
show up, but where the short intro text would normally be, there should be an |
21 |
21 |
explanation that it's only available in other languages, and provide links to |
22 |
22 |
those versions. |
23 |
23 |
""" |
24 |
24 |
|
25 |
25 |
# Look, you think this function is worthless, it's not. It's required to make |
26 |
26 |
# migrations with manage.py, so here it stays, being empty and hollow like the |
27 |
27 |
# piece of shit it is. |
28 |
28 |
def post_title_directory(): |
29 |
29 |
pass |
30 |
30 |
|
31 |
31 |
|
32 |
32 |
class Post(models.Model): |
33 |
33 |
""" Represents a blog post.""" |
34 |
34 |
published = models.DateTimeField(auto_now_add=True) |
35 |
35 |
visible = models.BooleanField(default=True, |
36 |
36 |
help_text="Whether this post is shown in the index. If False, it's \ |
37 |
37 |
only accessible by direct link.") |
38 |
38 |
# TODO: The titles should all be changed to 'unique=True' to avoid slug |
39 |
39 |
# collisions. But at this moment, there are still some posts that don't have |
40 |
40 |
# a title in all these languages (and "" collides with ""), so until that's |
41 |
41 |
# fixed, they're set to False. |
42 |
42 |
title_en = models.CharField(max_length=64, unique=False, blank=False) |
43 |
43 |
title_nl = models.CharField(max_length=64, unique=False, blank=False) |
44 |
44 |
title_fr = models.CharField(max_length=64, unique=False, blank=True) |
45 |
45 |
title_de = models.CharField(max_length=64, unique=False, blank=True) |
46 |
46 |
title_es = models.CharField(max_length=64, unique=False, blank=True) |
47 |
47 |
title_eo = models.CharField(max_length=64, unique=False, blank=True) |
48 |
48 |
title_af = models.CharField(max_length=64, unique=False, blank=True) |
49 |
49 |
title_nl_be=models.CharField(max_length=64, unique=False, blank=True) |
50 |
50 |
title_fr_be=models.CharField(max_length=64, unique=False, blank=True) |
51 |
51 |
|
52 |
52 |
|
53 |
53 |
def __str__(self): |
54 |
54 |
return self.title() |
55 |
55 |
|
56 |
56 |
|
57 |
57 |
def articles(self): |
58 |
58 |
#print(len(Article.objects.filter(post=self))) |
59 |
59 |
return Article.objects.filter(post=self) |
60 |
60 |
|
61 |
61 |
def article(self): |
62 |
62 |
language_code = translation.get_language() |
63 |
63 |
print(language_code) |
64 |
64 |
# Retrieves all articles that have this post as their foreign key |
65 |
65 |
articles = Article.objects.filter(post=self) |
66 |
66 |
for a in articles: |
67 |
67 |
if a.language_code == language_code: |
68 |
68 |
return a |
69 |
69 |
# If no exact match was found, try again, but now accept other dialects |
70 |
70 |
# as well: |
71 |
71 |
for a in articles: |
72 |
72 |
if a.language_code.startswith(language_code): |
73 |
73 |
return a |
74 |
74 |
|
75 |
75 |
# If still no article was found, return None |
76 |
76 |
return None |
77 |
77 |
|
78 |
78 |
def title(self): |
79 |
79 |
language_code = translation.get_language() |
80 |
80 |
options = {'af': self.title_af, |
81 |
81 |
'de': self.title_de, |
82 |
82 |
'es': self.title_es, |
83 |
83 |
'en': self.title_en, |
84 |
84 |
'eo': self.title_eo, |
85 |
85 |
'fr': self.title_fr, |
86 |
86 |
'nl-be': self.title_nl_be, |
87 |
87 |
'fr-be': self.title_fr_be, |
88 |
88 |
'nl': self.title_nl} |
89 |
89 |
for code, translated_title in options.items(): |
90 |
90 |
if language_code.startswith(code): |
91 |
91 |
return translated_title |
92 |
92 |
# If no return has happened, default to English |
93 |
93 |
return self.title_en |
94 |
94 |
|
95 |
95 |
def org_to_html(file_path, return_djhtml_path=False): |
96 |
96 |
""" Converts the given org formatted file to HTML. |
97 |
97 |
This function directly returns the resulting HTML code. This function uses |
98 |
98 |
the amazing Haskell library Pandoc to convert the file (and takes care |
99 |
99 |
of header id's and all that stuff). |
100 |
100 |
""" |
101 |
101 |
# FIXME: Remove hardcoded link to media. Replace with media tag! |
102 |
102 |
# XXX: The reason I'm first converting all occurences of .jpg][ and .png][ |
103 |
103 |
# to .jpgPANDOCBUG][ and .pngPANDOCBUG][, is because of a Pandoc bug that |
104 |
104 |
# removes the text links for images. It is afterwards converted back, no |
105 |
105 |
# worries. |
106 |
106 |
file = open(file_path, "r", encoding="utf-8") |
107 |
107 |
text = file.read() |
108 |
108 |
file.close() |
109 |
109 |
text = text.replace(".jpg][", ".jpgPANDOCBUG][") |
110 |
110 |
text = text.replace(".png][", ".pngPANDOCBUG][") |
111 |
111 |
file = open("/tmp/blog-file.org", "w", encoding="utf-8") |
112 |
112 |
file.write(text) |
113 |
113 |
file.close() |
114 |
114 |
html_text = subprocess.check_output(["pandoc", "--from=org", "--to=html","/tmp/blog-file.org"]) |
115 |
- | html_text = html_text.decode("utf-8").replace(".jpgPANDOCBUG", ".jpg") |
+ |
115 |
# properly, otherwise the heuristic fails on a regular basis |
+ |
116 |
html_text = subprocess.check_output(["pandoc", "--from=org", "--to=html", "--wrap=none", "/tmp/blog-file.org"]) |
+ |
117 |
html_text = html_text.decode("utf-8").replace(".jpgPANDOCBUG", ".jpg") |
116 |
118 |
html_text = html_text.replace(".pngPANDOCBUG", ".png") |
117 |
119 |
#rendered_file_path = "file_path.rpartition('.')[0] + ".djhtml" |
+ |
120 |
html_text = html_text.replace('<section class="footnotes footnotes-end-of-document" role="doc-endnotes">', "") |
+ |
121 |
#rendered_file_path = "file_path.rpartition('.')[0] + ".djhtml" |
118 |
122 |
rendered_file_path = "/tmp/blog-file.djhtml" |
119 |
123 |
rendered_file = open(rendered_file_path, "w", encoding="utf-8") |
120 |
124 |
rendered_file.write(html_text) |
121 |
125 |
rendered_file.close() |
122 |
126 |
if return_djhtml_path: |
123 |
127 |
return rendered_file_path |
124 |
128 |
else: |
125 |
129 |
return html_text |
126 |
130 |
|
127 |
131 |
class Article(models.Model): |
128 |
132 |
AFRIKAANS = 'af' |
129 |
133 |
BELGIAN_FRENCH = 'fr-be' |
130 |
134 |
DUTCH = 'nl' |
131 |
135 |
ESPERANTO = 'eo' |
132 |
136 |
ENGLISH = 'en' |
133 |
137 |
FLEMISH = 'nl-be' |
134 |
138 |
FRENCH = 'fr' |
135 |
139 |
GERMAN = 'de' |
136 |
140 |
SPANISH = 'es' |
137 |
141 |
|
138 |
142 |
LANGUAGE_CODES = [ |
139 |
143 |
(AFRIKAANS, 'Afrikaans'), |
140 |
144 |
(BELGIAN_FRENCH, 'Français (Belgique)'), |
141 |
145 |
(DUTCH, 'Nederlands'), |
142 |
146 |
(ESPERANTO, 'Esperanto'), |
143 |
147 |
(ENGLISH, 'English'), |
144 |
148 |
(FLEMISH, 'Vlaams'), |
145 |
149 |
(FRENCH, 'Français'), |
146 |
150 |
(GERMAN, 'Deutsch'), |
147 |
151 |
(SPANISH, 'Español')] |
148 |
152 |
|
149 |
153 |
visible = models.BooleanField(default=True) |
150 |
154 |
post = models.ForeignKey(Post, on_delete=models.CASCADE) |
151 |
155 |
language_code = models.CharField(max_length=16, |
152 |
156 |
choices = LANGUAGE_CODES, |
153 |
157 |
blank=False) |
154 |
158 |
# file_path shouldn't be unique, because the same article file could be used |
155 |
159 |
# for multiple dialects of the same language. |
156 |
160 |
file_path = models.FilePathField(path=settings.MEDIA_ROOT + "blog/articles/", |
157 |
161 |
blank=False) |
158 |
162 |
# Same reason, slug shouldn't be unique |
159 |
163 |
slug = models.SlugField(unique=False, blank=False, allow_unicode=True) |
160 |
164 |
title = models.CharField(max_length=64, unique=False, blank=True) |
161 |
165 |
|
162 |
166 |
def text(self): |
163 |
167 |
return org_to_html(self.file_path) |
164 |
168 |
def djhtml_file(self): |
165 |
169 |
return org_to_html(self.file_path, return_djhtml_path=True) |
166 |
170 |
|
+ |
171 |
""" Returns the headings and their slugs present in this article. Useful |
+ |
172 |
for building the navigation drawer. """ |
+ |
173 |
text = self.text() |
+ |
174 |
headers = list() |
+ |
175 |
lines = text.splitlines() |
+ |
176 |
|
+ |
177 |
for line in lines: |
+ |
178 |
# Heuristic approach to collecting headers |
+ |
179 |
if "<h" in line and "id=" in line and "</h" in line: |
+ |
180 |
first_part, second_part = line.split(">", maxsplit=1) |
+ |
181 |
slug = first_part.split('"')[-2] |
+ |
182 |
header = second_part.split("<", maxsplit=1)[0] |
+ |
183 |
headers.append((header, slug)) |
+ |
184 |
return headers |
+ |
185 |
|
+ |
186 |
|
+ |
187 |
|
167 |
188 |
|
168 |
189 |
class Comment(models.Model): |
169 |
190 |
""" Represents a comment on a blog post. |
170 |
191 |
Comments are not filtered by language; a |
171 |
192 |
comment made by someone reading the article in Dutch, that's written in |
172 |
193 |
Dutch, will show up (unedited) for somebody whom's reading the Spanish |
173 |
194 |
version. |
174 |
195 |
""" |
175 |
196 |
# Allows me to manually hide certain messages if need be |
176 |
197 |
visible = models.BooleanField(default=True) |
177 |
198 |
date = models.DateTimeField(auto_now_add=True) |
178 |
199 |
name = models.CharField(max_length=64, blank=True) |
179 |
200 |
text = models.TextField(max_length=10000, blank=False) # Should be more than enough |
180 |
201 |
# reaction_to is null if it's not a reaction to an existing comment |
181 |
202 |
reaction_to = models.ForeignKey('Comment', on_delete=models.CASCADE, null=True) |
182 |
203 |
from_myself = models.BooleanField(default=False) |
183 |
204 |
post = models.ForeignKey( |
184 |
205 |
Post, |
185 |
206 |
on_delete=models.CASCADE, |
186 |
207 |
null=False, |
187 |
208 |
) |
188 |
209 |
class meta: |
189 |
210 |
ordering = ['date'] # When printed, prints the oldest comment first. |
190 |
211 |
|
191 |
212 |
def reactions(self): |
192 |
213 |
# Should return the comments that are a reaction to this comment |
193 |
214 |
return Comment.objects.filter(reaction_to=self).order_by('-date') |
194 |
215 |
def __str__(self): |
195 |
216 |
return str(self.id) +" | "+ self.name |
196 |
217 |
def is_new(self): |
197 |
218 |
# True if this comment was created less than one minute ago. |
198 |
219 |
now = datetime.datetime.utcnow().replace(tzinfo=pytz.UTC) |
199 |
220 |
delta = now-self.date |
200 |
221 |
return delta.seconds < 60 |
201 |
222 |
|
202 |
223 |
|
203 |
224 |
class FeedItem(models.Model): |
204 |
225 |
""" An item that shows up in the RSS feed.""" |
205 |
226 |
title = models.CharField(max_length=64) |
206 |
227 |
added = models.DateTimeField(auto_now_add=True) |
207 |
228 |
description = models.CharField(max_length=400) |
208 |
229 |
link = models.URLField() |
209 |
230 |
templates/blog/locale/af/LC_MESSAGES/django.po ¶
31 additions and 3 deletions.
View changes Hide changes
1 |
1 |
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER |
2 |
2 |
# This file is distributed under the same license as the PACKAGE package. |
3 |
3 |
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR. |
4 |
4 |
# |
5 |
5 |
#, fuzzy |
6 |
6 |
msgid "" |
7 |
7 |
msgstr "" |
8 |
8 |
"Project-Id-Version: PACKAGE VERSION\n" |
9 |
9 |
"Report-Msgid-Bugs-To: \n" |
10 |
10 |
"POT-Creation-Date: 2022-03-06 07:38+0000\n" |
11 |
- | "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" |
+ |
11 |
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" |
12 |
12 |
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" |
13 |
13 |
"Language-Team: LANGUAGE <LL@li.org>\n" |
14 |
14 |
"Language: \n" |
15 |
15 |
"MIME-Version: 1.0\n" |
16 |
16 |
"Content-Type: text/plain; charset=UTF-8\n" |
17 |
17 |
"Content-Transfer-Encoding: 8bit\n" |
18 |
18 |
"Plural-Forms: nplurals=2; plural=(n != 1);\n" |
19 |
19 |
|
20 |
20 |
#: blog/templates/blog/index.djhtml:20 |
+ |
21 |
msgid "Respond" |
+ |
22 |
msgstr "" |
+ |
23 |
|
+ |
24 |
#: blog/templates/blog/comment.djhtml:31 blog/templates/blog/post.djhtml:118 |
+ |
25 |
msgid "Your name" |
+ |
26 |
msgstr "" |
+ |
27 |
|
+ |
28 |
#: blog/templates/blog/comment.djhtml:32 |
+ |
29 |
msgid "Your response" |
+ |
30 |
msgstr "" |
+ |
31 |
|
+ |
32 |
#: blog/templates/blog/comment.djhtml:33 blog/templates/blog/post.djhtml:120 |
+ |
33 |
msgid "Submit" |
+ |
34 |
msgstr "" |
+ |
35 |
|
+ |
36 |
#: blog/templates/blog/index.djhtml:20 |
21 |
37 |
msgid "Maarten's blog" |
22 |
38 |
msgstr "" |
23 |
39 |
|
24 |
40 |
#: blog/templates/blog/index.djhtml:22 |
25 |
41 |
msgid "" |
26 |
42 |
"The always coherently put together, yet\n" |
27 |
43 |
"fuzzy blog of whatever sprouts in my mind." |
28 |
44 |
msgstr "" |
29 |
45 |
|
30 |
46 |
#: blog/templates/blog/index.djhtml:28 |
31 |
47 |
msgid "Notepad of a student" |
32 |
48 |
msgstr "" |
33 |
49 |
|
34 |
50 |
#: blog/templates/blog/index.djhtml:37 |
35 |
51 |
msgid "Navigation" |
36 |
52 |
msgstr "" |
37 |
53 |
|
38 |
54 |
#: blog/templates/blog/index.djhtml:45 |
39 |
55 |
msgid "Front page" |
40 |
56 |
msgstr "" |
41 |
57 |
|
42 |
58 |
#: blog/templates/blog/index.djhtml:52 |
43 |
59 |
msgid "Blog" |
44 |
60 |
msgstr "" |
45 |
61 |
|
46 |
62 |
#: blog/templates/blog/index.djhtml:54 |
47 |
63 |
msgid "" |
48 |
64 |
"Welcome to my blog. Here, I write\n" |
49 |
65 |
" about things that interest me. Politics, coding,\n" |
50 |
66 |
" studying, life, or anything else I fancy rambling\n" |
51 |
67 |
" about. If you're in luck, I may've written it in a\n" |
52 |
68 |
" language that you understand better than English.\n" |
53 |
69 |
" " |
54 |
70 |
msgstr "" |
55 |
71 |
|
56 |
72 |
#: blog/templates/blog/index.djhtml:71 |
57 |
73 |
msgid "Open archive" |
58 |
74 |
msgstr "" |
59 |
75 |
|
60 |
76 |
#: blog/templates/blog/index.djhtml:85 |
61 |
77 |
msgid "Read on" |
62 |
78 |
msgstr "" |
63 |
79 |
|
64 |
80 |
#: blog/templates/blog/index.djhtml:90 |
65 |
81 |
#, python-format |
66 |
82 |
msgid "" |
67 |
83 |
"This blog\n" |
68 |
84 |
" post is not available in %(cur_lang)s." |
69 |
85 |
msgstr "" |
70 |
86 |
|
71 |
87 |
#: blog/templates/blog/index.djhtml:92 |
72 |
88 |
msgid "" |
73 |
89 |
"\n" |
74 |
90 |
" However, it is available in \n" |
75 |
91 |
" " |
76 |
92 |
msgid_plural "" |
77 |
93 |
"\n" |
78 |
94 |
" If you want, you can choose to read it in one of these\n" |
79 |
95 |
" languages: <br>\n" |
80 |
96 |
" " |
81 |
97 |
msgstr[0] "" |
82 |
98 |
msgstr[1] "" |
83 |
99 |
|
84 |
100 |
#: blog/templates/blog/index.djhtml:100 |
85 |
101 |
msgid "Flemish" |
86 |
102 |
msgstr "" |
87 |
103 |
|
88 |
104 |
#: blog/templates/blog/index.djhtml:102 |
89 |
105 |
msgid "Belgian French" |
90 |
106 |
msgstr "" |
91 |
107 |
|
92 |
108 |
#: blog/templates/blog/monthly_archive.djhtml:16 |
93 |
109 |
msgid "Weekly | Archief" |
94 |
110 |
msgstr "" |
95 |
111 |
|
96 |
112 |
#: blog/templates/blog/monthly_archive.djhtml:19 |
97 |
113 |
msgid "Voor een duik terug in de geschiedenis van mijn publieke dagboek." |
98 |
114 |
msgstr "" |
99 |
115 |
|
100 |
116 |
#: blog/templates/blog/post.djhtml:104 |
101 |
- | msgid "Comments" |
+ |
117 |
msgid "Table of contents" |
+ |
118 |
msgstr "" |
+ |
119 |
|
+ |
120 |
#: blog/templates/blog/post.djhtml:91 |
+ |
121 |
msgid "Blog index" |
+ |
122 |
msgstr "" |
+ |
123 |
|
+ |
124 |
#: blog/templates/blog/post.djhtml:92 |
+ |
125 |
msgid "Main page" |
+ |
126 |
msgstr "" |
+ |
127 |
|
+ |
128 |
#: blog/templates/blog/post.djhtml:112 |
+ |
129 |
msgid "Comments" |
102 |
130 |
msgstr "" |
103 |
131 |
|
104 |
132 |
#: blog/templates/blog/post.djhtml:119 |
105 |
133 |
msgid "Submit" |
106 |
- | msgstr "" |
+ |
134 |
msgstr "" |
107 |
135 |
templates/blog/locale/de/LC_MESSAGES/django.po ¶
31 additions and 3 deletions.
View changes Hide changes
1 |
1 |
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER |
2 |
2 |
# This file is distributed under the same license as the PACKAGE package. |
3 |
3 |
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR. |
4 |
4 |
# |
5 |
5 |
#, fuzzy |
6 |
6 |
msgid "" |
7 |
7 |
msgstr "" |
8 |
8 |
"Project-Id-Version: PACKAGE VERSION\n" |
9 |
9 |
"Report-Msgid-Bugs-To: \n" |
10 |
10 |
"POT-Creation-Date: 2022-03-06 07:38+0000\n" |
11 |
- | "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" |
+ |
11 |
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" |
12 |
12 |
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" |
13 |
13 |
"Language-Team: LANGUAGE <LL@li.org>\n" |
14 |
14 |
"Language: \n" |
15 |
15 |
"MIME-Version: 1.0\n" |
16 |
16 |
"Content-Type: text/plain; charset=UTF-8\n" |
17 |
17 |
"Content-Transfer-Encoding: 8bit\n" |
18 |
18 |
"Plural-Forms: nplurals=2; plural=(n != 1);\n" |
19 |
19 |
|
20 |
20 |
#: blog/templates/blog/index.djhtml:20 |
+ |
21 |
msgid "Respond" |
+ |
22 |
msgstr "" |
+ |
23 |
|
+ |
24 |
#: blog/templates/blog/comment.djhtml:31 blog/templates/blog/post.djhtml:118 |
+ |
25 |
msgid "Your name" |
+ |
26 |
msgstr "" |
+ |
27 |
|
+ |
28 |
#: blog/templates/blog/comment.djhtml:32 |
+ |
29 |
msgid "Your response" |
+ |
30 |
msgstr "" |
+ |
31 |
|
+ |
32 |
#: blog/templates/blog/comment.djhtml:33 blog/templates/blog/post.djhtml:120 |
+ |
33 |
msgid "Submit" |
+ |
34 |
msgstr "" |
+ |
35 |
|
+ |
36 |
#: blog/templates/blog/index.djhtml:20 |
21 |
37 |
msgid "Maarten's blog" |
22 |
38 |
msgstr "" |
23 |
39 |
|
24 |
40 |
#: blog/templates/blog/index.djhtml:22 |
25 |
41 |
msgid "" |
26 |
42 |
"The always coherently put together, yet\n" |
27 |
43 |
"fuzzy blog of whatever sprouts in my mind." |
28 |
44 |
msgstr "" |
29 |
45 |
|
30 |
46 |
#: blog/templates/blog/index.djhtml:28 |
31 |
47 |
msgid "Notepad of a student" |
32 |
48 |
msgstr "" |
33 |
49 |
|
34 |
50 |
#: blog/templates/blog/index.djhtml:37 |
35 |
51 |
msgid "Navigation" |
36 |
52 |
msgstr "" |
37 |
53 |
|
38 |
54 |
#: blog/templates/blog/index.djhtml:45 |
39 |
55 |
msgid "Front page" |
40 |
56 |
msgstr "" |
41 |
57 |
|
42 |
58 |
#: blog/templates/blog/index.djhtml:52 |
43 |
59 |
msgid "Blog" |
44 |
60 |
msgstr "" |
45 |
61 |
|
46 |
62 |
#: blog/templates/blog/index.djhtml:54 |
47 |
63 |
msgid "" |
48 |
64 |
"Welcome to my blog. Here, I write\n" |
49 |
65 |
" about things that interest me. Politics, coding,\n" |
50 |
66 |
" studying, life, or anything else I fancy rambling\n" |
51 |
67 |
" about. If you're in luck, I may've written it in a\n" |
52 |
68 |
" language that you understand better than English.\n" |
53 |
69 |
" " |
54 |
70 |
msgstr "" |
55 |
71 |
|
56 |
72 |
#: blog/templates/blog/index.djhtml:71 |
57 |
73 |
msgid "Open archive" |
58 |
74 |
msgstr "" |
59 |
75 |
|
60 |
76 |
#: blog/templates/blog/index.djhtml:85 |
61 |
77 |
msgid "Read on" |
62 |
78 |
msgstr "" |
63 |
79 |
|
64 |
80 |
#: blog/templates/blog/index.djhtml:90 |
65 |
81 |
#, python-format |
66 |
82 |
msgid "" |
67 |
83 |
"This blog\n" |
68 |
84 |
" post is not available in %(cur_lang)s." |
69 |
85 |
msgstr "" |
70 |
86 |
|
71 |
87 |
#: blog/templates/blog/index.djhtml:92 |
72 |
88 |
msgid "" |
73 |
89 |
"\n" |
74 |
90 |
" However, it is available in \n" |
75 |
91 |
" " |
76 |
92 |
msgid_plural "" |
77 |
93 |
"\n" |
78 |
94 |
" If you want, you can choose to read it in one of these\n" |
79 |
95 |
" languages: <br>\n" |
80 |
96 |
" " |
81 |
97 |
msgstr[0] "" |
82 |
98 |
msgstr[1] "" |
83 |
99 |
|
84 |
100 |
#: blog/templates/blog/index.djhtml:100 |
85 |
101 |
msgid "Flemish" |
86 |
102 |
msgstr "" |
87 |
103 |
|
88 |
104 |
#: blog/templates/blog/index.djhtml:102 |
89 |
105 |
msgid "Belgian French" |
90 |
106 |
msgstr "" |
91 |
107 |
|
92 |
108 |
#: blog/templates/blog/monthly_archive.djhtml:16 |
93 |
109 |
msgid "Weekly | Archief" |
94 |
110 |
msgstr "" |
95 |
111 |
|
96 |
112 |
#: blog/templates/blog/monthly_archive.djhtml:19 |
97 |
113 |
msgid "Voor een duik terug in de geschiedenis van mijn publieke dagboek." |
98 |
114 |
msgstr "" |
99 |
115 |
|
100 |
116 |
#: blog/templates/blog/post.djhtml:104 |
101 |
- | msgid "Comments" |
+ |
117 |
msgid "Table of contents" |
+ |
118 |
msgstr "" |
+ |
119 |
|
+ |
120 |
#: blog/templates/blog/post.djhtml:91 |
+ |
121 |
msgid "Blog index" |
+ |
122 |
msgstr "" |
+ |
123 |
|
+ |
124 |
#: blog/templates/blog/post.djhtml:92 |
+ |
125 |
msgid "Main page" |
+ |
126 |
msgstr "" |
+ |
127 |
|
+ |
128 |
#: blog/templates/blog/post.djhtml:112 |
+ |
129 |
msgid "Comments" |
102 |
130 |
msgstr "" |
103 |
131 |
|
104 |
132 |
#: blog/templates/blog/post.djhtml:119 |
105 |
133 |
msgid "Submit" |
106 |
- | msgstr "" |
+ |
134 |
msgstr "" |
107 |
135 |
|
108 |
136 |
#~ msgid "This article in other languages" |
109 |
137 |
#~ msgstr "Dieser Artikel in anderen Sprachen" |
110 |
138 |
templates/blog/locale/eo/LC_MESSAGES/django.po ¶
31 additions and 3 deletions.
View changes Hide changes
1 |
1 |
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER |
2 |
2 |
# This file is distributed under the same license as the PACKAGE package. |
3 |
3 |
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR. |
4 |
4 |
# |
5 |
5 |
#, fuzzy |
6 |
6 |
msgid "" |
7 |
7 |
msgstr "" |
8 |
8 |
"Project-Id-Version: PACKAGE VERSION\n" |
9 |
9 |
"Report-Msgid-Bugs-To: \n" |
10 |
10 |
"POT-Creation-Date: 2022-03-06 07:38+0000\n" |
11 |
- | "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" |
+ |
11 |
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" |
12 |
12 |
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" |
13 |
13 |
"Language-Team: LANGUAGE <LL@li.org>\n" |
14 |
14 |
"Language: \n" |
15 |
15 |
"MIME-Version: 1.0\n" |
16 |
16 |
"Content-Type: text/plain; charset=UTF-8\n" |
17 |
17 |
"Content-Transfer-Encoding: 8bit\n" |
18 |
18 |
"Plural-Forms: nplurals=2; plural=(n != 1);\n" |
19 |
19 |
|
20 |
20 |
#: blog/templates/blog/index.djhtml:20 |
+ |
21 |
msgid "Respond" |
+ |
22 |
msgstr "" |
+ |
23 |
|
+ |
24 |
#: blog/templates/blog/comment.djhtml:31 blog/templates/blog/post.djhtml:118 |
+ |
25 |
msgid "Your name" |
+ |
26 |
msgstr "" |
+ |
27 |
|
+ |
28 |
#: blog/templates/blog/comment.djhtml:32 |
+ |
29 |
msgid "Your response" |
+ |
30 |
msgstr "" |
+ |
31 |
|
+ |
32 |
#: blog/templates/blog/comment.djhtml:33 blog/templates/blog/post.djhtml:120 |
+ |
33 |
msgid "Submit" |
+ |
34 |
msgstr "" |
+ |
35 |
|
+ |
36 |
#: blog/templates/blog/index.djhtml:20 |
21 |
37 |
msgid "Maarten's blog" |
22 |
38 |
msgstr "" |
23 |
39 |
|
24 |
40 |
#: blog/templates/blog/index.djhtml:22 |
25 |
41 |
msgid "" |
26 |
42 |
"The always coherently put together, yet\n" |
27 |
43 |
"fuzzy blog of whatever sprouts in my mind." |
28 |
44 |
msgstr "" |
29 |
45 |
|
30 |
46 |
#: blog/templates/blog/index.djhtml:28 |
31 |
47 |
msgid "Notepad of a student" |
32 |
48 |
msgstr "" |
33 |
49 |
|
34 |
50 |
#: blog/templates/blog/index.djhtml:37 |
35 |
51 |
msgid "Navigation" |
36 |
52 |
msgstr "" |
37 |
53 |
|
38 |
54 |
#: blog/templates/blog/index.djhtml:45 |
39 |
55 |
msgid "Front page" |
40 |
56 |
msgstr "" |
41 |
57 |
|
42 |
58 |
#: blog/templates/blog/index.djhtml:52 |
43 |
59 |
msgid "Blog" |
44 |
60 |
msgstr "" |
45 |
61 |
|
46 |
62 |
#: blog/templates/blog/index.djhtml:54 |
47 |
63 |
msgid "" |
48 |
64 |
"Welcome to my blog. Here, I write\n" |
49 |
65 |
" about things that interest me. Politics, coding,\n" |
50 |
66 |
" studying, life, or anything else I fancy rambling\n" |
51 |
67 |
" about. If you're in luck, I may've written it in a\n" |
52 |
68 |
" language that you understand better than English.\n" |
53 |
69 |
" " |
54 |
70 |
msgstr "" |
55 |
71 |
|
56 |
72 |
#: blog/templates/blog/index.djhtml:71 |
57 |
73 |
msgid "Open archive" |
58 |
74 |
msgstr "" |
59 |
75 |
|
60 |
76 |
#: blog/templates/blog/index.djhtml:85 |
61 |
77 |
msgid "Read on" |
62 |
78 |
msgstr "" |
63 |
79 |
|
64 |
80 |
#: blog/templates/blog/index.djhtml:90 |
65 |
81 |
#, python-format |
66 |
82 |
msgid "" |
67 |
83 |
"This blog\n" |
68 |
84 |
" post is not available in %(cur_lang)s." |
69 |
85 |
msgstr "" |
70 |
86 |
|
71 |
87 |
#: blog/templates/blog/index.djhtml:92 |
72 |
88 |
msgid "" |
73 |
89 |
"\n" |
74 |
90 |
" However, it is available in \n" |
75 |
91 |
" " |
76 |
92 |
msgid_plural "" |
77 |
93 |
"\n" |
78 |
94 |
" If you want, you can choose to read it in one of these\n" |
79 |
95 |
" languages: <br>\n" |
80 |
96 |
" " |
81 |
97 |
msgstr[0] "" |
82 |
98 |
msgstr[1] "" |
83 |
99 |
|
84 |
100 |
#: blog/templates/blog/index.djhtml:100 |
85 |
101 |
msgid "Flemish" |
86 |
102 |
msgstr "" |
87 |
103 |
|
88 |
104 |
#: blog/templates/blog/index.djhtml:102 |
89 |
105 |
msgid "Belgian French" |
90 |
106 |
msgstr "" |
91 |
107 |
|
92 |
108 |
#: blog/templates/blog/monthly_archive.djhtml:16 |
93 |
109 |
msgid "Weekly | Archief" |
94 |
110 |
msgstr "" |
95 |
111 |
|
96 |
112 |
#: blog/templates/blog/monthly_archive.djhtml:19 |
97 |
113 |
msgid "Voor een duik terug in de geschiedenis van mijn publieke dagboek." |
98 |
114 |
msgstr "" |
99 |
115 |
|
100 |
116 |
#: blog/templates/blog/post.djhtml:104 |
101 |
- | msgid "Comments" |
+ |
117 |
msgid "Table of contents" |
+ |
118 |
msgstr "" |
+ |
119 |
|
+ |
120 |
#: blog/templates/blog/post.djhtml:91 |
+ |
121 |
msgid "Blog index" |
+ |
122 |
msgstr "" |
+ |
123 |
|
+ |
124 |
#: blog/templates/blog/post.djhtml:92 |
+ |
125 |
msgid "Main page" |
+ |
126 |
msgstr "" |
+ |
127 |
|
+ |
128 |
#: blog/templates/blog/post.djhtml:112 |
+ |
129 |
msgid "Comments" |
102 |
130 |
msgstr "" |
103 |
131 |
|
104 |
132 |
#: blog/templates/blog/post.djhtml:119 |
105 |
133 |
msgid "Submit" |
106 |
- | msgstr "" |
+ |
134 |
msgstr "" |
107 |
135 |
templates/blog/locale/es/LC_MESSAGES/django.po ¶
31 additions and 3 deletions.
View changes Hide changes
1 |
1 |
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER |
2 |
2 |
# This file is distributed under the same license as the PACKAGE package. |
3 |
3 |
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR. |
4 |
4 |
# |
5 |
5 |
#, fuzzy |
6 |
6 |
msgid "" |
7 |
7 |
msgstr "" |
8 |
8 |
"Project-Id-Version: PACKAGE VERSION\n" |
9 |
9 |
"Report-Msgid-Bugs-To: \n" |
10 |
10 |
"POT-Creation-Date: 2022-03-06 07:38+0000\n" |
11 |
- | "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" |
+ |
11 |
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" |
12 |
12 |
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" |
13 |
13 |
"Language-Team: LANGUAGE <LL@li.org>\n" |
14 |
14 |
"Language: \n" |
15 |
15 |
"MIME-Version: 1.0\n" |
16 |
16 |
"Content-Type: text/plain; charset=UTF-8\n" |
17 |
17 |
"Content-Transfer-Encoding: 8bit\n" |
18 |
18 |
"Plural-Forms: nplurals=2; plural=(n != 1);\n" |
19 |
19 |
|
20 |
20 |
#: blog/templates/blog/index.djhtml:20 |
+ |
21 |
msgid "Respond" |
+ |
22 |
msgstr "" |
+ |
23 |
|
+ |
24 |
#: blog/templates/blog/comment.djhtml:31 blog/templates/blog/post.djhtml:118 |
+ |
25 |
msgid "Your name" |
+ |
26 |
msgstr "" |
+ |
27 |
|
+ |
28 |
#: blog/templates/blog/comment.djhtml:32 |
+ |
29 |
msgid "Your response" |
+ |
30 |
msgstr "" |
+ |
31 |
|
+ |
32 |
#: blog/templates/blog/comment.djhtml:33 blog/templates/blog/post.djhtml:120 |
+ |
33 |
msgid "Submit" |
+ |
34 |
msgstr "" |
+ |
35 |
|
+ |
36 |
#: blog/templates/blog/index.djhtml:20 |
21 |
37 |
msgid "Maarten's blog" |
22 |
38 |
msgstr "" |
23 |
39 |
|
24 |
40 |
#: blog/templates/blog/index.djhtml:22 |
25 |
41 |
msgid "" |
26 |
42 |
"The always coherently put together, yet\n" |
27 |
43 |
"fuzzy blog of whatever sprouts in my mind." |
28 |
44 |
msgstr "" |
29 |
45 |
|
30 |
46 |
#: blog/templates/blog/index.djhtml:28 |
31 |
47 |
msgid "Notepad of a student" |
32 |
48 |
msgstr "" |
33 |
49 |
|
34 |
50 |
#: blog/templates/blog/index.djhtml:37 |
35 |
51 |
msgid "Navigation" |
36 |
52 |
msgstr "" |
37 |
53 |
|
38 |
54 |
#: blog/templates/blog/index.djhtml:45 |
39 |
55 |
msgid "Front page" |
40 |
56 |
msgstr "" |
41 |
57 |
|
42 |
58 |
#: blog/templates/blog/index.djhtml:52 |
43 |
59 |
msgid "Blog" |
44 |
60 |
msgstr "" |
45 |
61 |
|
46 |
62 |
#: blog/templates/blog/index.djhtml:54 |
47 |
63 |
msgid "" |
48 |
64 |
"Welcome to my blog. Here, I write\n" |
49 |
65 |
" about things that interest me. Politics, coding,\n" |
50 |
66 |
" studying, life, or anything else I fancy rambling\n" |
51 |
67 |
" about. If you're in luck, I may've written it in a\n" |
52 |
68 |
" language that you understand better than English.\n" |
53 |
69 |
" " |
54 |
70 |
msgstr "" |
55 |
71 |
|
56 |
72 |
#: blog/templates/blog/index.djhtml:71 |
57 |
73 |
msgid "Open archive" |
58 |
74 |
msgstr "" |
59 |
75 |
|
60 |
76 |
#: blog/templates/blog/index.djhtml:85 |
61 |
77 |
msgid "Read on" |
62 |
78 |
msgstr "" |
63 |
79 |
|
64 |
80 |
#: blog/templates/blog/index.djhtml:90 |
65 |
81 |
#, python-format |
66 |
82 |
msgid "" |
67 |
83 |
"This blog\n" |
68 |
84 |
" post is not available in %(cur_lang)s." |
69 |
85 |
msgstr "" |
70 |
86 |
|
71 |
87 |
#: blog/templates/blog/index.djhtml:92 |
72 |
88 |
msgid "" |
73 |
89 |
"\n" |
74 |
90 |
" However, it is available in \n" |
75 |
91 |
" " |
76 |
92 |
msgid_plural "" |
77 |
93 |
"\n" |
78 |
94 |
" If you want, you can choose to read it in one of these\n" |
79 |
95 |
" languages: <br>\n" |
80 |
96 |
" " |
81 |
97 |
msgstr[0] "" |
82 |
98 |
msgstr[1] "" |
83 |
99 |
|
84 |
100 |
#: blog/templates/blog/index.djhtml:100 |
85 |
101 |
msgid "Flemish" |
86 |
102 |
msgstr "" |
87 |
103 |
|
88 |
104 |
#: blog/templates/blog/index.djhtml:102 |
89 |
105 |
msgid "Belgian French" |
90 |
106 |
msgstr "" |
91 |
107 |
|
92 |
108 |
#: blog/templates/blog/monthly_archive.djhtml:16 |
93 |
109 |
msgid "Weekly | Archief" |
94 |
110 |
msgstr "" |
95 |
111 |
|
96 |
112 |
#: blog/templates/blog/monthly_archive.djhtml:19 |
97 |
113 |
msgid "Voor een duik terug in de geschiedenis van mijn publieke dagboek." |
98 |
114 |
msgstr "" |
99 |
115 |
|
100 |
116 |
#: blog/templates/blog/post.djhtml:104 |
101 |
- | msgid "Comments" |
+ |
117 |
msgid "Table of contents" |
+ |
118 |
msgstr "" |
+ |
119 |
|
+ |
120 |
#: blog/templates/blog/post.djhtml:91 |
+ |
121 |
msgid "Blog index" |
+ |
122 |
msgstr "" |
+ |
123 |
|
+ |
124 |
#: blog/templates/blog/post.djhtml:92 |
+ |
125 |
msgid "Main page" |
+ |
126 |
msgstr "" |
+ |
127 |
|
+ |
128 |
#: blog/templates/blog/post.djhtml:112 |
+ |
129 |
msgid "Comments" |
102 |
130 |
msgstr "" |
103 |
131 |
|
104 |
132 |
#: blog/templates/blog/post.djhtml:119 |
105 |
133 |
msgid "Submit" |
106 |
- | msgstr "" |
+ |
134 |
msgstr "" |
107 |
135 |
templates/blog/locale/fr/LC_MESSAGES/django.po ¶
34 additions and 4 deletions.
View changes Hide changes
1 |
1 |
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER |
2 |
2 |
# This file is distributed under the same license as the PACKAGE package. |
3 |
3 |
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR. |
4 |
4 |
# |
5 |
5 |
msgid "" |
6 |
6 |
msgstr "" |
7 |
7 |
"Project-Id-Version: \n" |
8 |
8 |
"Report-Msgid-Bugs-To: \n" |
9 |
9 |
"POT-Creation-Date: 2022-03-06 07:38+0000\n" |
10 |
- | "PO-Revision-Date: 2021-10-30 16:01+0200\n" |
+ |
10 |
"PO-Revision-Date: 2021-10-30 16:01+0200\n" |
11 |
11 |
"Last-Translator: \n" |
12 |
12 |
"Language-Team: \n" |
13 |
13 |
"Language: fr\n" |
14 |
14 |
"MIME-Version: 1.0\n" |
15 |
15 |
"Content-Type: text/plain; charset=UTF-8\n" |
16 |
16 |
"Content-Transfer-Encoding: 8bit\n" |
17 |
17 |
"Plural-Forms: nplurals=2; plural=(n > 1);\n" |
18 |
18 |
"X-Generator: Poedit 3.0\n" |
19 |
19 |
|
20 |
20 |
#: blog/templates/blog/index.djhtml:20 |
+ |
21 |
msgid "Respond" |
+ |
22 |
msgstr "" |
+ |
23 |
|
+ |
24 |
#: blog/templates/blog/comment.djhtml:31 blog/templates/blog/post.djhtml:118 |
+ |
25 |
msgid "Your name" |
+ |
26 |
msgstr "" |
+ |
27 |
|
+ |
28 |
#: blog/templates/blog/comment.djhtml:32 |
+ |
29 |
msgid "Your response" |
+ |
30 |
msgstr "" |
+ |
31 |
|
+ |
32 |
#: blog/templates/blog/comment.djhtml:33 blog/templates/blog/post.djhtml:120 |
+ |
33 |
msgid "Submit" |
+ |
34 |
msgstr "Envoyer" |
+ |
35 |
|
+ |
36 |
#: blog/templates/blog/index.djhtml:20 |
21 |
37 |
msgid "Maarten's blog" |
22 |
38 |
msgstr "Blog de Maarten" |
23 |
39 |
|
24 |
40 |
#: blog/templates/blog/index.djhtml:22 |
25 |
41 |
msgid "" |
26 |
42 |
"The always coherently put together, yet\n" |
27 |
43 |
"fuzzy blog of whatever sprouts in my mind." |
28 |
44 |
msgstr "" |
29 |
45 |
"Le toujours mis de façon cohérente ensemble, mais floue de ce que les germes " |
30 |
46 |
"dans mon esprit." |
31 |
47 |
|
32 |
48 |
#: blog/templates/blog/index.djhtml:28 |
33 |
49 |
msgid "Notepad of a student" |
34 |
50 |
msgstr "" |
35 |
51 |
|
36 |
52 |
#: blog/templates/blog/index.djhtml:37 |
37 |
53 |
msgid "Navigation" |
38 |
54 |
msgstr "" |
39 |
55 |
|
40 |
56 |
#: blog/templates/blog/index.djhtml:45 |
41 |
57 |
msgid "Front page" |
42 |
58 |
msgstr "" |
43 |
59 |
|
44 |
60 |
#: blog/templates/blog/index.djhtml:52 |
45 |
61 |
msgid "Blog" |
46 |
62 |
msgstr "Blog" |
47 |
63 |
|
48 |
64 |
#: blog/templates/blog/index.djhtml:54 |
49 |
65 |
#, fuzzy |
50 |
66 |
#| msgid "" |
51 |
67 |
#| "Welcome to my blog. Here, I write\n" |
52 |
68 |
#| " about things that interest me. Politics, coding,\n" |
53 |
69 |
#| " studying, life, or anything else I fancy rambling\n" |
54 |
70 |
#| " about. If you're in luck, I may've written it in a\n" |
55 |
71 |
#| " language that you understand better than English.\n" |
56 |
72 |
#| " " |
57 |
73 |
msgid "" |
58 |
74 |
"Welcome to my blog. Here, I write\n" |
59 |
75 |
" about things that interest me. Politics, coding,\n" |
60 |
76 |
" studying, life, or anything else I fancy rambling\n" |
61 |
77 |
" about. If you're in luck, I may've written it in a\n" |
62 |
78 |
" language that you understand better than English.\n" |
63 |
79 |
" " |
64 |
80 |
msgstr "" |
65 |
81 |
"Bienvenue dans mon blog. Ici j'écris des choses qui m'intéressent. La " |
66 |
82 |
"politique, le codage, l'étude, la vie, ou autre chose dont j'ai envie de me " |
67 |
83 |
"venger." |
68 |
84 |
|
69 |
85 |
#: blog/templates/blog/index.djhtml:71 |
70 |
86 |
msgid "Open archive" |
71 |
87 |
msgstr "" |
72 |
88 |
|
73 |
89 |
#: blog/templates/blog/index.djhtml:85 |
74 |
90 |
msgid "Read on" |
75 |
91 |
msgstr "Lire plus" |
76 |
92 |
|
77 |
93 |
#: blog/templates/blog/index.djhtml:90 |
78 |
94 |
#, python-format |
79 |
95 |
msgid "" |
80 |
96 |
"This blog\n" |
81 |
97 |
" post is not available in %(cur_lang)s." |
82 |
98 |
msgstr "" |
83 |
99 |
|
84 |
100 |
#: blog/templates/blog/index.djhtml:92 |
85 |
101 |
msgid "" |
86 |
102 |
"\n" |
87 |
103 |
" However, it is available in \n" |
88 |
104 |
" " |
89 |
105 |
msgid_plural "" |
90 |
106 |
"\n" |
91 |
107 |
" If you want, you can choose to read it in one of these\n" |
92 |
108 |
" languages: <br>\n" |
93 |
109 |
" " |
94 |
110 |
msgstr[0] "" |
95 |
111 |
msgstr[1] "" |
96 |
112 |
|
97 |
113 |
#: blog/templates/blog/index.djhtml:100 |
98 |
114 |
msgid "Flemish" |
99 |
115 |
msgstr "" |
100 |
116 |
|
101 |
117 |
#: blog/templates/blog/index.djhtml:102 |
102 |
118 |
msgid "Belgian French" |
103 |
119 |
msgstr "" |
104 |
120 |
|
105 |
121 |
#: blog/templates/blog/monthly_archive.djhtml:16 |
106 |
122 |
msgid "Weekly | Archief" |
107 |
123 |
msgstr "" |
108 |
124 |
|
109 |
125 |
#: blog/templates/blog/monthly_archive.djhtml:19 |
110 |
126 |
msgid "Voor een duik terug in de geschiedenis van mijn publieke dagboek." |
111 |
127 |
msgstr "" |
112 |
128 |
|
113 |
129 |
#: blog/templates/blog/post.djhtml:104 |
114 |
- | msgid "Comments" |
+ |
130 |
msgid "Table of contents" |
+ |
131 |
msgstr "" |
+ |
132 |
|
+ |
133 |
#: blog/templates/blog/post.djhtml:91 |
+ |
134 |
msgid "Blog index" |
+ |
135 |
msgstr "" |
+ |
136 |
|
+ |
137 |
#: blog/templates/blog/post.djhtml:92 |
+ |
138 |
msgid "Main page" |
+ |
139 |
msgstr "" |
+ |
140 |
|
+ |
141 |
#: blog/templates/blog/post.djhtml:112 |
+ |
142 |
msgid "Comments" |
115 |
143 |
msgstr "Commentaires" |
116 |
144 |
|
117 |
145 |
#: blog/templates/blog/post.djhtml:119 |
118 |
146 |
msgid "Submit" |
119 |
- | msgstr "Envoyer" |
120 |
- | |
+ |
147 |
#| msgid "Comments" |
+ |
148 |
msgid "Your comment" |
+ |
149 |
msgstr "Commentaires" |
+ |
150 |
|
121 |
151 |
#~ msgid "This article in other languages" |
122 |
152 |
#~ msgstr "Cet article en autres langues" |
123 |
153 |
|
124 |
154 |
#~ msgid "Never miss an update again." |
125 |
155 |
#~ msgstr "Ne manquez plus jamais une mise à jour." |
126 |
156 |
|
127 |
157 |
#~ msgid "" |
128 |
158 |
#~ "Getting info on updates to blog posts, major website changes, and other " |
129 |
159 |
#~ "important\n" |
130 |
160 |
#~ " news items is now easy and convenient with RSS.\n" |
131 |
161 |
#~ " " |
132 |
162 |
#~ msgstr "" |
133 |
163 |
#~ "Recevoir des mise à jours du blog, des grands changements du site web et " |
134 |
164 |
#~ "d'autre information, c'est maitenant facile et pratique avec RSS." |
135 |
165 |
templates/blog/locale/nl/LC_MESSAGES/django.po ¶
34 additions and 4 deletions.
View changes Hide changes
1 |
1 |
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER |
2 |
2 |
# This file is distributed under the same license as the PACKAGE package. |
3 |
3 |
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR. |
4 |
4 |
# |
5 |
5 |
msgid "" |
6 |
6 |
msgstr "" |
7 |
7 |
"Project-Id-Version: \n" |
8 |
8 |
"Report-Msgid-Bugs-To: \n" |
9 |
9 |
"POT-Creation-Date: 2022-03-06 07:38+0000\n" |
10 |
- | "PO-Revision-Date: 2021-10-30 16:11+0200\n" |
+ |
10 |
"PO-Revision-Date: 2021-10-30 16:11+0200\n" |
11 |
11 |
"Last-Translator: \n" |
12 |
12 |
"Language-Team: \n" |
13 |
13 |
"Language: nl\n" |
14 |
14 |
"MIME-Version: 1.0\n" |
15 |
15 |
"Content-Type: text/plain; charset=UTF-8\n" |
16 |
16 |
"Content-Transfer-Encoding: 8bit\n" |
17 |
17 |
"Plural-Forms: nplurals=2; plural=(n != 1);\n" |
18 |
18 |
"X-Generator: Poedit 3.0\n" |
19 |
19 |
|
20 |
20 |
#: blog/templates/blog/index.djhtml:20 |
+ |
21 |
msgid "Respond" |
+ |
22 |
msgstr "" |
+ |
23 |
|
+ |
24 |
#: blog/templates/blog/comment.djhtml:31 blog/templates/blog/post.djhtml:118 |
+ |
25 |
msgid "Your name" |
+ |
26 |
msgstr "" |
+ |
27 |
|
+ |
28 |
#: blog/templates/blog/comment.djhtml:32 |
+ |
29 |
msgid "Your response" |
+ |
30 |
msgstr "" |
+ |
31 |
|
+ |
32 |
#: blog/templates/blog/comment.djhtml:33 blog/templates/blog/post.djhtml:120 |
+ |
33 |
msgid "Submit" |
+ |
34 |
msgstr "Reageren" |
+ |
35 |
|
+ |
36 |
#: blog/templates/blog/index.djhtml:20 |
21 |
37 |
msgid "Maarten's blog" |
22 |
38 |
msgstr "Maartens blog" |
23 |
39 |
|
24 |
40 |
#: blog/templates/blog/index.djhtml:22 |
25 |
41 |
msgid "" |
26 |
42 |
"The always coherently put together, yet\n" |
27 |
43 |
"fuzzy blog of whatever sprouts in my mind." |
28 |
44 |
msgstr "" |
29 |
45 |
"Een zeer weloverwogen geschreven, en toch warrige blog over vanalles wat in " |
30 |
46 |
"mij opkomt." |
31 |
47 |
|
32 |
48 |
#: blog/templates/blog/index.djhtml:28 |
33 |
49 |
msgid "Notepad of a student" |
34 |
50 |
msgstr "" |
35 |
51 |
|
36 |
52 |
#: blog/templates/blog/index.djhtml:37 |
37 |
53 |
msgid "Navigation" |
38 |
54 |
msgstr "" |
39 |
55 |
|
40 |
56 |
#: blog/templates/blog/index.djhtml:45 |
41 |
57 |
msgid "Front page" |
42 |
58 |
msgstr "" |
43 |
59 |
|
44 |
60 |
#: blog/templates/blog/index.djhtml:52 |
45 |
61 |
msgid "Blog" |
46 |
62 |
msgstr "Blog" |
47 |
63 |
|
48 |
64 |
#: blog/templates/blog/index.djhtml:54 |
49 |
65 |
#, fuzzy |
50 |
66 |
#| msgid "" |
51 |
67 |
#| "Welcome to my blog. Here, I write\n" |
52 |
68 |
#| " about things that interest me. Politics, coding,\n" |
53 |
69 |
#| " studying, life, or anything else I fancy rambling\n" |
54 |
70 |
#| " about. If you're in luck, I may've written it in a\n" |
55 |
71 |
#| " language that you understand better than English.\n" |
56 |
72 |
#| " " |
57 |
73 |
msgid "" |
58 |
74 |
"Welcome to my blog. Here, I write\n" |
59 |
75 |
" about things that interest me. Politics, coding,\n" |
60 |
76 |
" studying, life, or anything else I fancy rambling\n" |
61 |
77 |
" about. If you're in luck, I may've written it in a\n" |
62 |
78 |
" language that you understand better than English.\n" |
63 |
79 |
" " |
64 |
80 |
msgstr "" |
65 |
81 |
"Welkom op mijn blog. Hier schrijf ik over onderwerpen die mij interesseren. " |
66 |
82 |
"Politiek, programmeren, studeren en het leven, plus alles waar ik goesting " |
67 |
83 |
"in heb om over te schrijven." |
68 |
84 |
|
69 |
85 |
#: blog/templates/blog/index.djhtml:71 |
70 |
86 |
msgid "Open archive" |
71 |
87 |
msgstr "" |
72 |
88 |
|
73 |
89 |
#: blog/templates/blog/index.djhtml:85 |
74 |
90 |
msgid "Read on" |
75 |
91 |
msgstr "Verder lezen" |
76 |
92 |
|
77 |
93 |
#: blog/templates/blog/index.djhtml:90 |
78 |
94 |
#, python-format |
79 |
95 |
msgid "" |
80 |
96 |
"This blog\n" |
81 |
97 |
" post is not available in %(cur_lang)s." |
82 |
98 |
msgstr "" |
83 |
99 |
|
84 |
100 |
#: blog/templates/blog/index.djhtml:92 |
85 |
101 |
msgid "" |
86 |
102 |
"\n" |
87 |
103 |
" However, it is available in \n" |
88 |
104 |
" " |
89 |
105 |
msgid_plural "" |
90 |
106 |
"\n" |
91 |
107 |
" If you want, you can choose to read it in one of these\n" |
92 |
108 |
" languages: <br>\n" |
93 |
109 |
" " |
94 |
110 |
msgstr[0] "" |
95 |
111 |
msgstr[1] "" |
96 |
112 |
|
97 |
113 |
#: blog/templates/blog/index.djhtml:100 |
98 |
114 |
msgid "Flemish" |
99 |
115 |
msgstr "" |
100 |
116 |
|
101 |
117 |
#: blog/templates/blog/index.djhtml:102 |
102 |
118 |
msgid "Belgian French" |
103 |
119 |
msgstr "" |
104 |
120 |
|
105 |
121 |
#: blog/templates/blog/monthly_archive.djhtml:16 |
106 |
122 |
msgid "Weekly | Archief" |
107 |
123 |
msgstr "" |
108 |
124 |
|
109 |
125 |
#: blog/templates/blog/monthly_archive.djhtml:19 |
110 |
126 |
msgid "Voor een duik terug in de geschiedenis van mijn publieke dagboek." |
111 |
127 |
msgstr "" |
112 |
128 |
|
113 |
129 |
#: blog/templates/blog/post.djhtml:104 |
114 |
- | msgid "Comments" |
+ |
130 |
msgid "Table of contents" |
+ |
131 |
msgstr "" |
+ |
132 |
|
+ |
133 |
#: blog/templates/blog/post.djhtml:91 |
+ |
134 |
msgid "Blog index" |
+ |
135 |
msgstr "" |
+ |
136 |
|
+ |
137 |
#: blog/templates/blog/post.djhtml:92 |
+ |
138 |
msgid "Main page" |
+ |
139 |
msgstr "" |
+ |
140 |
|
+ |
141 |
#: blog/templates/blog/post.djhtml:112 |
+ |
142 |
msgid "Comments" |
115 |
143 |
msgstr "Reacties" |
116 |
144 |
|
117 |
145 |
#: blog/templates/blog/post.djhtml:119 |
118 |
146 |
msgid "Submit" |
119 |
- | msgstr "Reageren" |
120 |
- | |
+ |
147 |
#| msgid "Comments" |
+ |
148 |
msgid "Your comment" |
+ |
149 |
msgstr "Reacties" |
+ |
150 |
|
121 |
151 |
#~ msgid "This article in other languages" |
122 |
152 |
#~ msgstr "Dit artikel in andere talen" |
123 |
153 |
|
124 |
154 |
#~ msgid "Never miss an update again." |
125 |
155 |
#~ msgstr "Mis nooit meer een update." |
126 |
156 |
|
127 |
157 |
#~ msgid "" |
128 |
158 |
#~ "Getting info on updates to blog posts, major website changes, and other " |
129 |
159 |
#~ "important\n" |
130 |
160 |
#~ " news items is now easy and convenient with RSS.\n" |
131 |
161 |
#~ " " |
132 |
162 |
#~ msgstr "" |
133 |
163 |
#~ "Updates van blogartikelen, grote veranderingen op de website en andere " |
134 |
164 |
#~ "belangrijke nieuwtjes zijn nu makkelijk te verkrijgen met RSS." |
135 |
165 |
templates/blog/post.djhtml ¶
23 additions and 1 deletion.
View changes Hide changes
1 |
1 |
{% load humanize %} |
2 |
2 |
{% load i18n %} |
3 |
3 |
{% load static %} |
4 |
4 |
|
5 |
5 |
|
6 |
6 |
{% block stylesheets %} |
7 |
7 |
{{ block.super }} |
8 |
8 |
<style> |
9 |
9 |
@font-face { |
10 |
10 |
font-family: 'Merriweather'; |
11 |
11 |
font-style: italic; |
12 |
12 |
font-weight: 400; |
13 |
13 |
src: url({% get_static_prefix %}fonts/merriweather-400-italic.woff2) format('woff2'); |
14 |
14 |
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; |
15 |
15 |
} |
16 |
16 |
@font-face { |
17 |
17 |
font-family: 'Merriweather'; |
18 |
18 |
font-style: normal; |
19 |
19 |
font-weight: 400; |
20 |
20 |
src: url({% get_static_prefix %}fonts/merriweather-400-regular.woff2) format('woff2'); |
21 |
21 |
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; |
22 |
22 |
} |
23 |
23 |
@font-face { |
24 |
24 |
font-family: 'Merriweather'; |
25 |
25 |
font-style: normal; |
26 |
26 |
font-weight: 700; |
27 |
27 |
src: url({% get_static_prefix %}fonts/merriweather-700-regular.woff2) format('woff2'); |
28 |
28 |
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; |
29 |
29 |
} |
30 |
30 |
|
31 |
31 |
body { |
32 |
32 |
background-color: #0d1521; /*#0d47a1; /* Material blue P900 */ |
33 |
33 |
} |
34 |
34 |
body video { |
35 |
35 |
width: 80%; |
36 |
36 |
} |
37 |
37 |
header { |
38 |
38 |
background-color: #3e2723; |
39 |
39 |
} |
40 |
40 |
section.article { |
41 |
41 |
background-color: #efebe9;/*rgb(210, 188, 157);*/ |
42 |
42 |
font-family: Merriweather, serif; |
43 |
43 |
} |
+ |
44 |
|
+ |
45 |
} |
44 |
46 |
|
45 |
47 |
.comment { |
+ |
48 |
background-color: var(--P100); |
+ |
49 |
background-color: red; |
+ |
50 |
} |
+ |
51 |
.comment { |
46 |
52 |
margin-left: 0.2em; |
47 |
53 |
padding-left: 0.5em; |
48 |
54 |
padding-bottom: 0.5em; |
49 |
55 |
border-left-style: solid; |
50 |
56 |
border-color: var(--primary); |
51 |
57 |
} |
52 |
58 |
.recently-posted { |
53 |
59 |
background-color: var(--P100); |
54 |
60 |
} |
55 |
61 |
|
56 |
62 |
span.small-detail { |
57 |
63 |
font-size: smaller; |
58 |
64 |
color: grey; |
59 |
65 |
} |
60 |
66 |
</style> |
61 |
67 |
{% endblock stylesheets %} |
62 |
68 |
|
63 |
69 |
{% block description %} |
64 |
70 |
{{ article.text|safe|truncatewords_html:10 }} |
65 |
71 |
{% endblock description %} |
66 |
72 |
{% block title %}📚 {{ navbar_title }}{% endblock title %} |
67 |
73 |
|
68 |
74 |
|
69 |
75 |
{% block header %} |
70 |
76 |
<header> |
71 |
77 |
<h1>{{ navbar_title }}</h1> |
72 |
- | </header> |
+ |
78 |
<h1>{{ navbar_title }}</h1> |
+ |
79 |
</header> |
73 |
80 |
{% endblock header %} |
74 |
81 |
{% block main %} |
+ |
82 |
{% block nav %} |
+ |
83 |
<input id="nav-drawer-toggle" type="checkbox"> |
+ |
84 |
<nav> |
+ |
85 |
<label for="nav-drawer-toggle">🡠</label> |
+ |
86 |
<h2>{% translate "Table of contents" %}</h2> |
+ |
87 |
{% for header, slug in article.headings %} |
+ |
88 |
<a class="nav-link" href="#{{ slug }}">{{ header }}</a> |
+ |
89 |
{% endfor %} |
+ |
90 |
<hr class="half"> |
+ |
91 |
<a class="nav-link" href="{% url "blog-index" %}">{% translate "Blog index" %}</a> |
+ |
92 |
<a class="nav-link" href="{% url "about-index" %}">{% translate "Main page" %}</a> |
+ |
93 |
</nav> |
+ |
94 |
{% endblock nav %} |
+ |
95 |
|
+ |
96 |
{% block main %} |
75 |
97 |
<section class="article"> |
76 |
98 |
<!--<article style="font-family:serif;">--> |
77 |
99 |
{#{{ article.text|safe }}#} |
78 |
100 |
{% include "/tmp/blog-file.djhtml" %} |
79 |
101 |
|
80 |
102 |
<!--</article>--> |
81 |
103 |
</section> |
82 |
104 |
|
83 |
105 |
{% if comment_response %} |
84 |
106 |
<div class="snackbar"> |
85 |
107 |
{{ comment_response }} |
86 |
108 |
</div> |
87 |
109 |
{% endif %} |
88 |
110 |
|
89 |
111 |
<section class="reagoj"> |
90 |
112 |
<h2>{% translate "Comments" %}</h2> |
91 |
113 |
<form method="POST" action="#reagoj"> |
92 |
114 |
{% csrf_token %} |
93 |
115 |
<input type="hidden" name="reaction_to" value=""> |
94 |
116 |
<input type="hidden" name="post" value="{{ article.post.id }}"> |
95 |
117 |
<input type="text" id="name-root" name="name" maxlength="64" required> |
96 |
118 |
<label for="name-root">{% translate "Your name" %}</label><br> |
97 |
119 |
<textarea placeholder="{% translate "Your comment" %}" rows="2" cols="30" name="text" id="text-{{ comment.id }}" maxlength="10000" required></textarea><br> |
98 |
120 |
<input type="submit" value="{% translate "Submit" %}"> |
99 |
121 |
</form> |
100 |
122 |
<hr> |
101 |
123 |
{% for root_comment in root_comments %} |
102 |
124 |
{% include "blog/comment.djhtml" with comment=root_comment %} |
103 |
125 |
{% endfor %} |
104 |
126 |
</section> |
105 |
127 |
|
106 |
128 |
{% comment %} |
107 |
129 |
<h5 class="white-text">{% trans "This article in other languages" %}</h5> |
108 |
130 |
|
109 |
131 |
{% get_language_info for 'nl' as LANG %} |
110 |
132 |
<a {% if dutch_link %} href="{{dutch_link}}" {% endif %} |
111 |
133 |
class="btn fill |
112 |
134 |
{% if not dutch_link %}disabled{% endif %}"> |
113 |
135 |
🇧🇪 {{ LANG.name_translated}} 🇳🇱 |
114 |
136 |
</a> |
115 |
137 |
{% get_current_language as lang %} |
116 |
138 |
{% get_language_info for 'fr' as LANG %} |
117 |
139 |
<a {% if french_link %} href="{{french_link}}" {% endif %} |
118 |
140 |
class="btn fill |
119 |
141 |
{% if not french_link %}disabled{% endif %}"> |
120 |
142 |
🇧🇪 {{ LANG.name_translated}} 🇫🇷 |
121 |
143 |
</a> |
122 |
144 |
{% get_language_info for 'en' as LANG %} |
123 |
145 |
<a {% if english_link %} href="{{english_link}}" {% endif %} |
124 |
146 |
class="btn fill |
125 |
147 |
{% if not english_link %}disabled{% endif %}"> |
126 |
148 |
🇬🇧 {{ LANG.name_translated}} 🇺🇸 |
127 |
149 |
</a> |
128 |
150 |
{% get_language_info for 'de' as LANG %} |
129 |
151 |
<a {% if german_link %} href="{{german_link}}" {% endif %} |
130 |
152 |
class="btn fill |
131 |
153 |
{% if not german_link %}disabled{% endif %}"> |
132 |
154 |
🇧🇪 {{ LANG.name_translated}} 🇩🇪 |
133 |
155 |
</a> |
134 |
156 |
{% get_language_info for 'es' as LANG %} |
135 |
157 |
<a {% if spanish_link %} href="{{spanish_link}}" {% endif %} |
136 |
158 |
class="btn |
137 |
159 |
{% if not spanish_link %}disabled{% endif %}"> |
138 |
160 |
🇪🇸 {{ LANG.name_translated}} 🇲🇽 |
139 |
161 |
</a> |
140 |
162 |
{% endcomment %} |
141 |
163 |
|
142 |
164 |
{% comment %} |
143 |
165 |
<a href="{% url 'blog-post' post_slug %}" class="btn {{accent_color}} accent-4 black-text tooltipped" data-position="bottom" data-delay="50" data-tooltip="{% trans "Multilingual link. Links to the version in the viewer's preferred language." %}">🏳️🌈 {% trans "All available languages" %}</a> |
144 |
166 |
{# TODO: Change to rainbow flag when possible #} |
145 |
167 |
{% endcomment %} |
146 |
168 |
</div> |
147 |
169 |
|
148 |
170 |
</div> |
149 |
171 |
{% endblock main %} |
150 |
172 |
views.py ¶
1 addition and 1 deletion.
View changes Hide changes
1 |
1 |
import requests |
2 |
2 |
|
3 |
3 |
|
4 |
4 |
from django.utils.translation import ugettext as _ |
5 |
5 |
from django.shortcuts import get_object_or_404, render # This allows to render the template with the view here. It's pretty cool and important. |
6 |
6 |
from django.http import HttpResponseRedirect, HttpResponse |
7 |
7 |
from django.urls import reverse |
8 |
8 |
from django.template import loader # This allows to actually load the template. |
9 |
9 |
from .models import * |
10 |
10 |
from .forms import CommentForm |
11 |
11 |
from django.core.exceptions import ObjectDoesNotExist |
12 |
12 |
from django.utils import translation |
13 |
13 |
|
14 |
14 |
GERMAN = "de" |
15 |
15 |
SPANISH = "es" |
16 |
16 |
FRENCH = "fr" |
17 |
17 |
DUTCH = "nl" |
18 |
18 |
ENGLISH = "en" |
19 |
19 |
|
20 |
20 |
def index(request): |
21 |
21 |
template = "blog/index.djhtml" |
22 |
22 |
posts = Post.objects.exclude(visible=False) |
23 |
23 |
|
24 |
24 |
|
25 |
25 |
context = { |
26 |
26 |
'posts': posts, |
27 |
27 |
'navbar_title': _("Notepad from a student"), |
28 |
28 |
'navbar_backArrow': True, |
29 |
29 |
'stylesheet_name': "blog", |
30 |
30 |
} |
31 |
31 |
return render(request, template, context) |
32 |
32 |
|
33 |
33 |
def post(request, language_code, post_slug): |
34 |
34 |
context = dict() |
35 |
35 |
if request.method == "POST": # Handling a reply if one is sent |
36 |
36 |
form = CommentForm(request.POST) |
37 |
37 |
|
38 |
38 |
form.post = Post.objects.get(id=request.POST['post']) |
39 |
39 |
if form.is_valid(): |
40 |
40 |
new_comment = form.save(commit=False) |
41 |
41 |
if request.POST['reaction_to'] != "": |
42 |
42 |
new_comment.reaction_to = Comment.objects.get(id=request.POST['reaction_to']) |
43 |
43 |
new_comment.save() |
44 |
44 |
context["comment_response"] = _("Comment succesfully submitted!") |
45 |
45 |
else: |
46 |
46 |
print("ERROR") |
47 |
47 |
print(form.errors) |
48 |
48 |
context["contact_response"] = _("An error occured while trying to submit your comment. Please try again later.") |
49 |
49 |
|
50 |
50 |
template = "blog/post.djhtml" |
51 |
51 |
article = Article.objects.get(slug=post_slug, language_code=language_code) |
52 |
52 |
root_comments = Comment.objects.filter(post=article.post, reaction_to=None).order_by('-date') |
53 |
53 |
context = context | { |
54 |
54 |
'article': article, |
55 |
55 |
'root_comments': root_comments, |
56 |
56 |
'title': article.post.title(), |
57 |
57 |
'navbar_title': article.post.title(), |
58 |
58 |
'navbar_backArrow': True, |
59 |
- | 'stylesheet_name': "blog"} |
+ |
59 |
'stylesheet_name': "blog"} |
60 |
60 |
|
61 |
61 |
return render(request, template, context) |
62 |
62 |
|
63 |
63 |
def rss(request): |
64 |
64 |
template = "blog/feed.rss" |
65 |
65 |
context = { |
66 |
66 |
'items': FeedItem.objects.all(), |
67 |
67 |
} |
68 |
68 |
return render(request, template, context, content_type="application/rss+xml") |
69 |
69 |
|
70 |
70 |
|
71 |
71 |
def archive(request): |
72 |
72 |
template = "blog/monthly_archive.djhtml" |
73 |
73 |
language = translation.get_language() |
74 |
74 |
|
75 |
75 |
file_2017 = org_to_html("blog/weekly/2017.org") |
76 |
76 |
file_2018 = org_to_html("blog/weekly/2018.org") |
77 |
77 |
file_2019 = org_to_html("blog/weekly/2019.org") |
78 |
78 |
|
79 |
79 |
|
80 |
80 |
|
81 |
81 |
context = { |
82 |
82 |
't2017': file_2017, |
83 |
83 |
't2018': file_2018, |
84 |
84 |
't2019': file_2019, |
85 |
85 |
'materialDesign_color': "brown", |
86 |
86 |
'materialDesign_accentColor': "blue", |
87 |
87 |
'navbar_title': _("Weekly-archief"), |
88 |
88 |
'navbar_backArrow': True, |
89 |
89 |
'footer_links': footer_links, |
90 |
90 |
'footer_description': footer_description, |
91 |
91 |
'stylesheet_name': "blog", |
92 |
92 |
} |
93 |
93 |
return render(request, template, context) |
94 |
94 |