Blog update: New models and translations
I've added a couple of new models to futureproof my blog for the coming years. It takes the different languages into account, and now also understands that not every language will be available.
Furthermore, the style is updated to be more reader-friendly, and the articles themselves can now use the DTL, which really increases the flexibility I have with writing blog articles.
And of course, the new message files are added to the tracker as well, to be updated so all the different languages of my website are supported.
- Author
- Maarten Vangeneugden
- Date
- March 6, 2022, 9:54 a.m.
- Hash
- 28dde4db291df9bc300c380917277ebcff437c08
- Parent
- 210bc6f31148748ba94e33e6cd484a89b00a5021
- Modified files
- .gitignore
- 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
- migrations/0007_auto_20220220_1754.py
- migrations/0008_alter_article_file_path.py
- migrations/0009_alter_article_file_path.py
- migrations/0010_auto_20220220_1900.py
- migrations/0011_auto_20220220_1906.py
- 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
.gitignore ¶
1 addition and 0 deletions.
locale/af/LC_MESSAGES/django.po ¶
27 additions and 0 deletions.
View changes Hide changes
+ |
1 |
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER |
+ |
2 |
# This file is distributed under the same license as the PACKAGE package. |
+ |
3 |
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR. |
+ |
4 |
# |
+ |
5 |
#, fuzzy |
+ |
6 |
msgid "" |
+ |
7 |
msgstr "" |
+ |
8 |
"Project-Id-Version: PACKAGE VERSION\n" |
+ |
9 |
"Report-Msgid-Bugs-To: \n" |
+ |
10 |
"POT-Creation-Date: 2022-03-06 07:38+0000\n" |
+ |
11 |
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" |
+ |
12 |
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" |
+ |
13 |
"Language-Team: LANGUAGE <LL@li.org>\n" |
+ |
14 |
"Language: \n" |
+ |
15 |
"MIME-Version: 1.0\n" |
+ |
16 |
"Content-Type: text/plain; charset=UTF-8\n" |
+ |
17 |
"Content-Transfer-Encoding: 8bit\n" |
+ |
18 |
"Plural-Forms: nplurals=2; plural=(n != 1);\n" |
+ |
19 |
|
+ |
20 |
#: blog/views.py:46 |
+ |
21 |
msgid "Notepad from a student" |
+ |
22 |
msgstr "" |
+ |
23 |
|
+ |
24 |
#: blog/views.py:144 |
+ |
25 |
msgid "Weekly-archief" |
+ |
26 |
msgstr "" |
+ |
27 |
locale/de/LC_MESSAGES/django.po ¶
3 additions and 15 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: 2021-11-24 14:00+0100\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:23 |
21 |
- | msgid "Back to main page" |
22 |
- | msgstr "" |
23 |
- | |
24 |
- | #: blog/views.py:24 |
25 |
- | msgid "Contact" |
26 |
- | msgstr "" |
27 |
- | |
28 |
- | #: blog/views.py:26 |
29 |
- | msgid "Maarten's personal blog, with sprinkles and a dollop of healthy bugs." |
30 |
- | msgstr "" |
31 |
- | |
32 |
- | #: blog/views.py:87 |
33 |
- | msgid "Notepad from a student" |
+ |
21 |
msgid "Notepad from a student" |
34 |
22 |
msgstr "" |
35 |
23 |
|
36 |
24 |
#: blog/views.py:186 |
37 |
- | msgid "Weekly-archief" |
+ |
25 |
msgid "Weekly-archief" |
38 |
26 |
msgstr "" |
39 |
27 |
locale/eo/LC_MESSAGES/django.po ¶
27 additions and 0 deletions.
View changes Hide changes
+ |
1 |
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER |
+ |
2 |
# This file is distributed under the same license as the PACKAGE package. |
+ |
3 |
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR. |
+ |
4 |
# |
+ |
5 |
#, fuzzy |
+ |
6 |
msgid "" |
+ |
7 |
msgstr "" |
+ |
8 |
"Project-Id-Version: PACKAGE VERSION\n" |
+ |
9 |
"Report-Msgid-Bugs-To: \n" |
+ |
10 |
"POT-Creation-Date: 2022-03-06 07:38+0000\n" |
+ |
11 |
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" |
+ |
12 |
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" |
+ |
13 |
"Language-Team: LANGUAGE <LL@li.org>\n" |
+ |
14 |
"Language: \n" |
+ |
15 |
"MIME-Version: 1.0\n" |
+ |
16 |
"Content-Type: text/plain; charset=UTF-8\n" |
+ |
17 |
"Content-Transfer-Encoding: 8bit\n" |
+ |
18 |
"Plural-Forms: nplurals=2; plural=(n != 1);\n" |
+ |
19 |
|
+ |
20 |
#: blog/views.py:46 |
+ |
21 |
msgid "Notepad from a student" |
+ |
22 |
msgstr "" |
+ |
23 |
|
+ |
24 |
#: blog/views.py:144 |
+ |
25 |
msgid "Weekly-archief" |
+ |
26 |
msgstr "" |
+ |
27 |
locale/es/LC_MESSAGES/django.po ¶
3 additions and 15 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: 2021-11-24 14:00+0100\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:23 |
21 |
- | msgid "Back to main page" |
22 |
- | msgstr "" |
23 |
- | |
24 |
- | #: blog/views.py:24 |
25 |
- | msgid "Contact" |
26 |
- | msgstr "" |
27 |
- | |
28 |
- | #: blog/views.py:26 |
29 |
- | msgid "Maarten's personal blog, with sprinkles and a dollop of healthy bugs." |
30 |
- | msgstr "" |
31 |
- | |
32 |
- | #: blog/views.py:87 |
33 |
- | msgid "Notepad from a student" |
+ |
21 |
msgid "Notepad from a student" |
34 |
22 |
msgstr "" |
35 |
23 |
|
36 |
24 |
#: blog/views.py:186 |
37 |
- | msgid "Weekly-archief" |
+ |
25 |
msgid "Weekly-archief" |
38 |
26 |
msgstr "" |
39 |
27 |
locale/fr/LC_MESSAGES/django.po ¶
17 additions and 19 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: 2021-11-24 14:00+0100\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:23 |
21 |
- | #, fuzzy |
22 |
- | #| msgid "Blog main page" |
23 |
- | msgid "Back to main page" |
24 |
- | msgstr "Blog // Page principal" |
25 |
- | |
26 |
- | #: blog/views.py:24 |
27 |
- | msgid "Contact" |
28 |
- | msgstr "Contact" |
29 |
- | |
30 |
- | #: blog/views.py:26 |
31 |
- | msgid "Maarten's personal blog, with sprinkles and a dollop of healthy bugs." |
32 |
- | msgstr "" |
33 |
- | "Blog personnel de Maarten, avec des sprinkles et un cuillerée des bogues " |
34 |
- | "sains." |
35 |
- | |
36 |
- | #: blog/views.py:87 |
37 |
- | msgid "Notepad from a student" |
+ |
21 |
msgid "Notepad from a student" |
38 |
22 |
msgstr "Bloc-notes d'un étudiant" |
39 |
23 |
|
40 |
24 |
#: blog/views.py:186 |
41 |
- | msgid "Weekly-archief" |
+ |
25 |
msgid "Weekly-archief" |
42 |
26 |
msgstr "" |
43 |
27 |
|
+ |
28 |
#, fuzzy |
+ |
29 |
#~| msgid "Blog main page" |
+ |
30 |
#~ msgid "Back to main page" |
+ |
31 |
#~ msgstr "Blog // Page principal" |
+ |
32 |
|
+ |
33 |
#~ msgid "Contact" |
+ |
34 |
#~ msgstr "Contact" |
+ |
35 |
|
+ |
36 |
#~ msgid "" |
+ |
37 |
#~ "Maarten's personal blog, with sprinkles and a dollop of healthy bugs." |
+ |
38 |
#~ msgstr "" |
+ |
39 |
#~ "Blog personnel de Maarten, avec des sprinkles et un cuillerée des bogues " |
+ |
40 |
#~ "sains." |
+ |
41 |
locale/nl/LC_MESSAGES/django.po ¶
17 additions and 19 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: 2021-11-24 14:00+0100\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:23 |
21 |
- | #, fuzzy |
22 |
- | #| msgid "Blog main page" |
23 |
- | msgid "Back to main page" |
24 |
- | msgstr "Blog // Hoofdpagina" |
25 |
- | |
26 |
- | #: blog/views.py:24 |
27 |
- | msgid "Contact" |
28 |
- | msgstr "Contact" |
29 |
- | |
30 |
- | #: blog/views.py:26 |
31 |
- | msgid "Maarten's personal blog, with sprinkles and a dollop of healthy bugs." |
32 |
- | msgstr "" |
33 |
- | "Maartens persoonlijke blog, met sprinkeltjes en een doperwtje aan gezonde " |
34 |
- | "bugs." |
35 |
- | |
36 |
- | #: blog/views.py:87 |
37 |
- | msgid "Notepad from a student" |
+ |
21 |
msgid "Notepad from a student" |
38 |
22 |
msgstr "Studentikoos kladblok" |
39 |
23 |
|
40 |
24 |
#: blog/views.py:186 |
41 |
- | msgid "Weekly-archief" |
+ |
25 |
msgid "Weekly-archief" |
42 |
26 |
msgstr "Weekly-archief" |
43 |
27 |
|
+ |
28 |
#, fuzzy |
+ |
29 |
#~| msgid "Blog main page" |
+ |
30 |
#~ msgid "Back to main page" |
+ |
31 |
#~ msgstr "Blog // Hoofdpagina" |
+ |
32 |
|
+ |
33 |
#~ msgid "Contact" |
+ |
34 |
#~ msgstr "Contact" |
+ |
35 |
|
+ |
36 |
#~ msgid "" |
+ |
37 |
#~ "Maarten's personal blog, with sprinkles and a dollop of healthy bugs." |
+ |
38 |
#~ msgstr "" |
+ |
39 |
#~ "Maartens persoonlijke blog, met sprinkeltjes en een doperwtje aan gezonde " |
+ |
40 |
#~ "bugs." |
+ |
41 |
migrations/0007_auto_20220220_1754.py ¶
115 additions and 0 deletions.
View changes Hide changes
+ |
1 |
|
+ |
2 |
from django.db import migrations, models |
+ |
3 |
import django.db.models.deletion |
+ |
4 |
|
+ |
5 |
|
+ |
6 |
class Migration(migrations.Migration): |
+ |
7 |
|
+ |
8 |
dependencies = [ |
+ |
9 |
('blog', '0006_auto_20180409_2128'), |
+ |
10 |
] |
+ |
11 |
|
+ |
12 |
operations = [ |
+ |
13 |
migrations.RemoveField( |
+ |
14 |
model_name='post', |
+ |
15 |
name='dutch_file', |
+ |
16 |
), |
+ |
17 |
migrations.RemoveField( |
+ |
18 |
model_name='post', |
+ |
19 |
name='english_file', |
+ |
20 |
), |
+ |
21 |
migrations.RemoveField( |
+ |
22 |
model_name='post', |
+ |
23 |
name='french_file', |
+ |
24 |
), |
+ |
25 |
migrations.RemoveField( |
+ |
26 |
model_name='post', |
+ |
27 |
name='german_file', |
+ |
28 |
), |
+ |
29 |
migrations.RemoveField( |
+ |
30 |
model_name='post', |
+ |
31 |
name='slug_de', |
+ |
32 |
), |
+ |
33 |
migrations.RemoveField( |
+ |
34 |
model_name='post', |
+ |
35 |
name='slug_en', |
+ |
36 |
), |
+ |
37 |
migrations.RemoveField( |
+ |
38 |
model_name='post', |
+ |
39 |
name='slug_es', |
+ |
40 |
), |
+ |
41 |
migrations.RemoveField( |
+ |
42 |
model_name='post', |
+ |
43 |
name='slug_fr', |
+ |
44 |
), |
+ |
45 |
migrations.RemoveField( |
+ |
46 |
model_name='post', |
+ |
47 |
name='slug_nl', |
+ |
48 |
), |
+ |
49 |
migrations.RemoveField( |
+ |
50 |
model_name='post', |
+ |
51 |
name='spanish_file', |
+ |
52 |
), |
+ |
53 |
migrations.AddField( |
+ |
54 |
model_name='comment', |
+ |
55 |
name='reaction_to', |
+ |
56 |
field=models.ForeignKey(null=True, on_delete=django.db.models.deletion.CASCADE, to='blog.comment'), |
+ |
57 |
), |
+ |
58 |
migrations.AddField( |
+ |
59 |
model_name='comment', |
+ |
60 |
name='visible', |
+ |
61 |
field=models.BooleanField(default=True), |
+ |
62 |
), |
+ |
63 |
migrations.AddField( |
+ |
64 |
model_name='post', |
+ |
65 |
name='title_af', |
+ |
66 |
field=models.CharField(blank=True, max_length=64), |
+ |
67 |
), |
+ |
68 |
migrations.AddField( |
+ |
69 |
model_name='post', |
+ |
70 |
name='title_eo', |
+ |
71 |
field=models.CharField(blank=True, max_length=64), |
+ |
72 |
), |
+ |
73 |
migrations.AlterField( |
+ |
74 |
model_name='comment', |
+ |
75 |
name='date', |
+ |
76 |
field=models.DateTimeField(), |
+ |
77 |
), |
+ |
78 |
migrations.AlterField( |
+ |
79 |
model_name='comment', |
+ |
80 |
name='name', |
+ |
81 |
field=models.CharField(blank=True, max_length=64), |
+ |
82 |
), |
+ |
83 |
migrations.AlterField( |
+ |
84 |
model_name='comment', |
+ |
85 |
name='text', |
+ |
86 |
field=models.TextField(max_length=10000), |
+ |
87 |
), |
+ |
88 |
migrations.AlterField( |
+ |
89 |
model_name='post', |
+ |
90 |
name='published', |
+ |
91 |
field=models.DateTimeField(), |
+ |
92 |
), |
+ |
93 |
migrations.AlterField( |
+ |
94 |
model_name='post', |
+ |
95 |
name='title_en', |
+ |
96 |
field=models.CharField(max_length=64), |
+ |
97 |
), |
+ |
98 |
migrations.AlterField( |
+ |
99 |
model_name='post', |
+ |
100 |
name='title_nl', |
+ |
101 |
field=models.CharField(max_length=64), |
+ |
102 |
), |
+ |
103 |
migrations.CreateModel( |
+ |
104 |
name='Article', |
+ |
105 |
fields=[ |
+ |
106 |
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), |
+ |
107 |
('visible', models.BooleanField(default=True)), |
+ |
108 |
('language_code', models.CharField(choices=[('af', 'Afrikaans'), ('fr-be', 'Français (Belgique)'), ('nl', 'Nederlands'), ('eo', 'Esperanto'), ('nl-be', 'Vlaams'), ('fr', 'Français'), ('de', 'Deutsch'), ('es', 'Español')], max_length=16)), |
+ |
109 |
('file_path', models.FilePathField(path='/srv/django/website/media/blog/articles/')), |
+ |
110 |
('slug', models.SlugField(allow_unicode=True)), |
+ |
111 |
('post', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='blog.post')), |
+ |
112 |
], |
+ |
113 |
), |
+ |
114 |
] |
+ |
115 |
migrations/0008_alter_article_file_path.py ¶
18 additions and 0 deletions.
View changes Hide changes
+ |
1 |
|
+ |
2 |
from django.db import migrations, models |
+ |
3 |
|
+ |
4 |
|
+ |
5 |
class Migration(migrations.Migration): |
+ |
6 |
|
+ |
7 |
dependencies = [ |
+ |
8 |
('blog', '0007_auto_20220220_1754'), |
+ |
9 |
] |
+ |
10 |
|
+ |
11 |
operations = [ |
+ |
12 |
migrations.AlterField( |
+ |
13 |
model_name='article', |
+ |
14 |
name='file_path', |
+ |
15 |
field=models.FilePathField(allow_folders=True, path='/srv/django/website/media/blog/articles/'), |
+ |
16 |
), |
+ |
17 |
] |
+ |
18 |
migrations/0009_alter_article_file_path.py ¶
18 additions and 0 deletions.
View changes Hide changes
+ |
1 |
|
+ |
2 |
from django.db import migrations, models |
+ |
3 |
|
+ |
4 |
|
+ |
5 |
class Migration(migrations.Migration): |
+ |
6 |
|
+ |
7 |
dependencies = [ |
+ |
8 |
('blog', '0008_alter_article_file_path'), |
+ |
9 |
] |
+ |
10 |
|
+ |
11 |
operations = [ |
+ |
12 |
migrations.AlterField( |
+ |
13 |
model_name='article', |
+ |
14 |
name='file_path', |
+ |
15 |
field=models.FilePathField(path='/srv/django/website/media/blog/articles/'), |
+ |
16 |
), |
+ |
17 |
] |
+ |
18 |
migrations/0010_auto_20220220_1900.py ¶
23 additions and 0 deletions.
View changes Hide changes
+ |
1 |
|
+ |
2 |
from django.db import migrations, models |
+ |
3 |
|
+ |
4 |
|
+ |
5 |
class Migration(migrations.Migration): |
+ |
6 |
|
+ |
7 |
dependencies = [ |
+ |
8 |
('blog', '0009_alter_article_file_path'), |
+ |
9 |
] |
+ |
10 |
|
+ |
11 |
operations = [ |
+ |
12 |
migrations.AddField( |
+ |
13 |
model_name='article', |
+ |
14 |
name='title', |
+ |
15 |
field=models.CharField(blank=True, max_length=64), |
+ |
16 |
), |
+ |
17 |
migrations.AlterField( |
+ |
18 |
model_name='article', |
+ |
19 |
name='language_code', |
+ |
20 |
field=models.CharField(choices=[('af', 'Afrikaans'), ('fr-be', 'Français (Belgique)'), ('nl', 'Nederlands'), ('eo', 'Esperanto'), ('en', 'English'), ('nl-be', 'Vlaams'), ('fr', 'Français'), ('de', 'Deutsch'), ('es', 'Español')], max_length=16), |
+ |
21 |
), |
+ |
22 |
] |
+ |
23 |
migrations/0011_auto_20220220_1906.py ¶
23 additions and 0 deletions.
View changes Hide changes
+ |
1 |
|
+ |
2 |
from django.db import migrations, models |
+ |
3 |
|
+ |
4 |
|
+ |
5 |
class Migration(migrations.Migration): |
+ |
6 |
|
+ |
7 |
dependencies = [ |
+ |
8 |
('blog', '0010_auto_20220220_1900'), |
+ |
9 |
] |
+ |
10 |
|
+ |
11 |
operations = [ |
+ |
12 |
migrations.AlterField( |
+ |
13 |
model_name='comment', |
+ |
14 |
name='date', |
+ |
15 |
field=models.DateTimeField(auto_now_add=True), |
+ |
16 |
), |
+ |
17 |
migrations.AlterField( |
+ |
18 |
model_name='post', |
+ |
19 |
name='published', |
+ |
20 |
field=models.DateTimeField(auto_now_add=True), |
+ |
21 |
), |
+ |
22 |
] |
+ |
23 |
models.py ¶
15 additions and 3 deletions.
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 datetime |
6 |
6 |
import os |
7 |
7 |
import subprocess |
8 |
8 |
|
9 |
9 |
""" New version: |
+ |
10 |
|
+ |
11 |
""" New version: |
10 |
12 |
- For each post, there's no longer a mandatory Dutch and English |
11 |
13 |
version. Instead, only the title needs to be in multiple languages. |
12 |
14 |
- There's a new table for the links to the articles themselves. These include a |
13 |
15 |
language code and a foreign key to the post they belong to. |
14 |
16 |
- If an article is available in the active language, but not tagged for the same |
15 |
17 |
dialect, then it should just show up without any warnings. |
16 |
18 |
- If an article is not available in the active language, only the title should |
17 |
19 |
show up, but where the short intro text would normally be, there should be an |
18 |
20 |
explanation that it's only available in other languages, and provide links to |
19 |
21 |
those versions. |
20 |
22 |
""" |
21 |
23 |
|
22 |
24 |
# Look, you think this function is worthless, it's not. It's required to make |
23 |
25 |
# migrations with manage.py, so here it stays, being empty and hollow like the |
24 |
26 |
# piece of shit it is. |
25 |
27 |
def post_title_directory(): |
26 |
28 |
pass |
27 |
29 |
|
28 |
30 |
|
29 |
31 |
class Post(models.Model): |
30 |
32 |
""" Represents a blog post.""" |
31 |
33 |
published = models.DateTimeField(auto_now_add=True) |
32 |
34 |
|
33 |
- | title_en = models.CharField(max_length=64, unique=False, blank=False) |
34 |
35 |
title_nl = models.CharField(max_length=64, unique=False, blank=False) |
35 |
36 |
title_fr = models.CharField(max_length=64, unique=False, blank=True) |
36 |
37 |
title_de = models.CharField(max_length=64, unique=False, blank=True) |
37 |
38 |
title_es = models.CharField(max_length=64, unique=False, blank=True) |
38 |
39 |
title_eo = models.CharField(max_length=64, unique=False, blank=True) |
39 |
40 |
title_af = models.CharField(max_length=64, unique=False, blank=True) |
40 |
41 |
|
41 |
42 |
|
42 |
43 |
def __str__(self): |
43 |
44 |
return self.title() |
44 |
45 |
|
45 |
46 |
|
46 |
47 |
def articles(self): |
47 |
48 |
#print(len(Article.objects.filter(post=self))) |
48 |
49 |
return Article.objects.filter(post=self) |
49 |
50 |
|
50 |
51 |
def article(self): |
51 |
52 |
language_code = translation.get_language() |
52 |
53 |
print(language_code) |
53 |
54 |
# Retrieves all articles that have this post as their foreign key |
54 |
55 |
articles = Article.objects.filter(post=self) |
55 |
56 |
for a in articles: |
56 |
57 |
if a.language_code == language_code: |
57 |
58 |
return a |
58 |
59 |
# If no exact match was found, try again, but now accept other dialects |
59 |
60 |
# as well: |
60 |
61 |
for a in articles: |
61 |
62 |
if a.language_code.startswith(language_code): |
62 |
63 |
return a |
63 |
64 |
|
64 |
65 |
# If still no article was found, return None |
65 |
66 |
return None |
66 |
67 |
|
67 |
68 |
def title(self): |
68 |
69 |
language_code = translation.get_language() |
69 |
70 |
options = {'af': self.title_af, |
70 |
71 |
'de': self.title_de, |
71 |
72 |
'es': self.title_es, |
72 |
73 |
'en': self.title_en, |
73 |
74 |
'eo': self.title_eo, |
74 |
75 |
'fr': self.title_fr, |
75 |
76 |
'nl': self.title_nl} |
76 |
77 |
for code, translated_title in options.items(): |
77 |
78 |
if language_code.startswith(code): |
78 |
79 |
return translated_title |
79 |
80 |
# If no return has happened, default to English |
80 |
81 |
return self.title_en |
81 |
82 |
|
82 |
83 |
def org_to_html(file_path): |
83 |
- | """ Converts the given org formatted file to HTML. |
+ |
84 |
""" Converts the given org formatted file to HTML. |
84 |
85 |
This function directly returns the resulting HTML code. This function uses |
85 |
86 |
the amazing Haskell library Pandoc to convert the file (and takes care |
86 |
87 |
of header id's and all that stuff). |
87 |
88 |
""" |
88 |
89 |
# FIXME: Remove hardcoded link to media. Replace with media tag! |
89 |
90 |
# XXX: The reason I'm first converting all occurences of .jpg][ and .png][ |
90 |
91 |
# to .jpgPANDOCBUG][ and .pngPANDOCBUG][, is because of a Pandoc bug that |
91 |
92 |
# removes the text links for images. It is afterwards converted back, no |
92 |
93 |
# worries. |
93 |
94 |
file = open(file_path, "r", encoding="utf-8") |
94 |
95 |
text = file.read() |
95 |
96 |
file.close() |
96 |
97 |
text = text.replace(".jpg][", ".jpgPANDOCBUG][") |
97 |
98 |
text = text.replace(".png][", ".pngPANDOCBUG][") |
98 |
99 |
file = open("/tmp/blog-file.org", "w", encoding="utf-8") |
99 |
100 |
file.write(text) |
100 |
101 |
file.close() |
101 |
102 |
html_text = subprocess.check_output(["pandoc", "--from=org", "--to=html","/tmp/blog-file.org"]) |
102 |
103 |
html_text = html_text.decode("utf-8").replace(".jpgPANDOCBUG", ".jpg") |
103 |
104 |
html_text = html_text.replace(".pngPANDOCBUG", ".png") |
104 |
105 |
return html_text |
105 |
- | |
+ |
106 |
rendered_file_path = "/tmp/django-templates/blog-file.djhtml" |
+ |
107 |
rendered_file = open(rendered_file_path, "w", encoding="utf-8") |
+ |
108 |
rendered_file.write(html_text) |
+ |
109 |
rendered_file.close() |
+ |
110 |
if return_djhtml_path: |
+ |
111 |
return rendered_file_path |
+ |
112 |
else: |
+ |
113 |
return html_text |
+ |
114 |
|
106 |
115 |
class Article(models.Model): |
107 |
116 |
AFRIKAANS = 'af' |
108 |
117 |
BELGIAN_FRENCH = 'fr-be' |
109 |
118 |
DUTCH = 'nl' |
110 |
119 |
ESPERANTO = 'eo' |
111 |
120 |
ENGLISH = 'en' |
112 |
121 |
FLEMISH = 'nl-be' |
113 |
122 |
FRENCH = 'fr' |
114 |
123 |
GERMAN = 'de' |
115 |
124 |
SPANISH = 'es' |
116 |
125 |
|
117 |
126 |
LANGUAGE_CODES = [ |
118 |
127 |
(AFRIKAANS, 'Afrikaans'), |
119 |
128 |
(BELGIAN_FRENCH, 'Français (Belgique)'), |
120 |
129 |
(DUTCH, 'Nederlands'), |
121 |
130 |
(ESPERANTO, 'Esperanto'), |
122 |
131 |
(ENGLISH, 'English'), |
123 |
132 |
(FLEMISH, 'Vlaams'), |
124 |
133 |
(FRENCH, 'Français'), |
125 |
134 |
(GERMAN, 'Deutsch'), |
126 |
135 |
(SPANISH, 'Español')] |
127 |
136 |
|
128 |
137 |
visible = models.BooleanField(default=True) |
129 |
138 |
post = models.ForeignKey(Post, on_delete=models.CASCADE) |
130 |
139 |
language_code = models.CharField(max_length=16, |
131 |
140 |
choices = LANGUAGE_CODES, |
132 |
141 |
blank=False) |
133 |
142 |
# file_path shouldn't be unique, because the same article file could be used |
134 |
143 |
# for multiple dialects of the same language. |
135 |
144 |
file_path = models.FilePathField(path=settings.MEDIA_ROOT + "blog/articles/", |
136 |
145 |
blank=False) |
137 |
146 |
# Same reason, slug shouldn't be unique |
138 |
147 |
slug = models.SlugField(unique=False, blank=False, allow_unicode=True) |
139 |
148 |
title = models.CharField(max_length=64, unique=False, blank=True) |
140 |
149 |
|
141 |
150 |
def text(self): |
142 |
151 |
return org_to_html(self.file_path) |
143 |
152 |
|
+ |
153 |
return org_to_html(self.file_path, return_djhtml_path=True) |
+ |
154 |
|
+ |
155 |
|
144 |
156 |
class Comment(models.Model): |
145 |
157 |
""" Represents a comment on a blog post. |
146 |
158 |
Comments are not filtered by language; a |
147 |
159 |
comment made by someone reading the article in Dutch, that's written in |
148 |
160 |
Dutch, will show up (unedited) for somebody whom's reading the Spanish |
149 |
161 |
version. |
150 |
162 |
""" |
151 |
163 |
# Allows me to manually hide certain messages if need be |
152 |
164 |
visible = models.BooleanField(default=True) |
153 |
165 |
date = models.DateTimeField(auto_now_add=True) |
154 |
166 |
name = models.CharField(max_length=64, blank=True) |
155 |
167 |
text = models.TextField(max_length=10000, blank=False) # Should be more than enough |
156 |
168 |
# reaction_to is null if it's not a reaction to an existing comment |
157 |
169 |
reaction_to = models.ForeignKey('Comment', on_delete=models.CASCADE, null=True) |
158 |
170 |
post = models.ForeignKey( |
159 |
171 |
Post, |
160 |
172 |
on_delete=models.CASCADE, |
161 |
173 |
null=False, |
162 |
174 |
) |
163 |
175 |
class meta: |
164 |
176 |
ordering = ['date'] # When printed, prints the oldest comment first. |
165 |
177 |
|
166 |
178 |
class FeedItem(models.Model): |
167 |
179 |
""" An item that shows up in the RSS feed.""" |
168 |
180 |
title = models.CharField(max_length=64) |
169 |
181 |
added = models.DateTimeField(auto_now_add=True) |
170 |
182 |
description = models.CharField(max_length=400) |
171 |
183 |
link = models.URLField() |
172 |
184 |
templates/blog/locale/af/LC_MESSAGES/django.po ¶
107 additions and 0 deletions.
View changes Hide changes
+ |
1 |
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER |
+ |
2 |
# This file is distributed under the same license as the PACKAGE package. |
+ |
3 |
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR. |
+ |
4 |
# |
+ |
5 |
#, fuzzy |
+ |
6 |
msgid "" |
+ |
7 |
msgstr "" |
+ |
8 |
"Project-Id-Version: PACKAGE VERSION\n" |
+ |
9 |
"Report-Msgid-Bugs-To: \n" |
+ |
10 |
"POT-Creation-Date: 2022-03-06 07:38+0000\n" |
+ |
11 |
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" |
+ |
12 |
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" |
+ |
13 |
"Language-Team: LANGUAGE <LL@li.org>\n" |
+ |
14 |
"Language: \n" |
+ |
15 |
"MIME-Version: 1.0\n" |
+ |
16 |
"Content-Type: text/plain; charset=UTF-8\n" |
+ |
17 |
"Content-Transfer-Encoding: 8bit\n" |
+ |
18 |
"Plural-Forms: nplurals=2; plural=(n != 1);\n" |
+ |
19 |
|
+ |
20 |
#: blog/templates/blog/index.djhtml:20 |
+ |
21 |
msgid "Maarten's blog" |
+ |
22 |
msgstr "" |
+ |
23 |
|
+ |
24 |
#: blog/templates/blog/index.djhtml:22 |
+ |
25 |
msgid "" |
+ |
26 |
"The always coherently put together, yet\n" |
+ |
27 |
"fuzzy blog of whatever sprouts in my mind." |
+ |
28 |
msgstr "" |
+ |
29 |
|
+ |
30 |
#: blog/templates/blog/index.djhtml:28 |
+ |
31 |
msgid "Notepad of a student" |
+ |
32 |
msgstr "" |
+ |
33 |
|
+ |
34 |
#: blog/templates/blog/index.djhtml:37 |
+ |
35 |
msgid "Navigation" |
+ |
36 |
msgstr "" |
+ |
37 |
|
+ |
38 |
#: blog/templates/blog/index.djhtml:45 |
+ |
39 |
msgid "Front page" |
+ |
40 |
msgstr "" |
+ |
41 |
|
+ |
42 |
#: blog/templates/blog/index.djhtml:52 |
+ |
43 |
msgid "Blog" |
+ |
44 |
msgstr "" |
+ |
45 |
|
+ |
46 |
#: blog/templates/blog/index.djhtml:54 |
+ |
47 |
msgid "" |
+ |
48 |
"Welcome to my blog. Here, I write\n" |
+ |
49 |
" about things that interest me. Politics, coding,\n" |
+ |
50 |
" studying, life, or anything else I fancy rambling\n" |
+ |
51 |
" about. If you're in luck, I may've written it in a\n" |
+ |
52 |
" language that you understand better than English.\n" |
+ |
53 |
" " |
+ |
54 |
msgstr "" |
+ |
55 |
|
+ |
56 |
#: blog/templates/blog/index.djhtml:71 |
+ |
57 |
msgid "Open archive" |
+ |
58 |
msgstr "" |
+ |
59 |
|
+ |
60 |
#: blog/templates/blog/index.djhtml:85 |
+ |
61 |
msgid "Read on" |
+ |
62 |
msgstr "" |
+ |
63 |
|
+ |
64 |
#: blog/templates/blog/index.djhtml:90 |
+ |
65 |
#, python-format |
+ |
66 |
msgid "" |
+ |
67 |
"This blog\n" |
+ |
68 |
" post is not available in %(cur_lang)s." |
+ |
69 |
msgstr "" |
+ |
70 |
|
+ |
71 |
#: blog/templates/blog/index.djhtml:92 |
+ |
72 |
msgid "" |
+ |
73 |
"\n" |
+ |
74 |
" However, it is available in \n" |
+ |
75 |
" " |
+ |
76 |
msgid_plural "" |
+ |
77 |
"\n" |
+ |
78 |
" If you want, you can choose to read it in one of these\n" |
+ |
79 |
" languages: <br>\n" |
+ |
80 |
" " |
+ |
81 |
msgstr[0] "" |
+ |
82 |
msgstr[1] "" |
+ |
83 |
|
+ |
84 |
#: blog/templates/blog/index.djhtml:100 |
+ |
85 |
msgid "Flemish" |
+ |
86 |
msgstr "" |
+ |
87 |
|
+ |
88 |
#: blog/templates/blog/index.djhtml:102 |
+ |
89 |
msgid "Belgian French" |
+ |
90 |
msgstr "" |
+ |
91 |
|
+ |
92 |
#: blog/templates/blog/monthly_archive.djhtml:16 |
+ |
93 |
msgid "Weekly | Archief" |
+ |
94 |
msgstr "" |
+ |
95 |
|
+ |
96 |
#: blog/templates/blog/monthly_archive.djhtml:19 |
+ |
97 |
msgid "Voor een duik terug in de geschiedenis van mijn publieke dagboek." |
+ |
98 |
msgstr "" |
+ |
99 |
|
+ |
100 |
#: blog/templates/blog/post.djhtml:104 |
+ |
101 |
msgid "Comments" |
+ |
102 |
msgstr "" |
+ |
103 |
|
+ |
104 |
#: blog/templates/blog/post.djhtml:119 |
+ |
105 |
msgid "Submit" |
+ |
106 |
msgstr "" |
+ |
107 |
templates/blog/locale/de/LC_MESSAGES/django.po ¶
44 additions and 9 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: 2021-11-24 14:00+0100\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 |
21 |
msgid "Maarten's blog" |
22 |
22 |
msgstr "" |
23 |
23 |
|
24 |
24 |
#: blog/templates/blog/index.djhtml:22 |
25 |
25 |
msgid "" |
26 |
26 |
"The always coherently put together, yet\n" |
27 |
27 |
"fuzzy blog of whatever sprouts in my mind." |
28 |
28 |
msgstr "" |
29 |
29 |
|
30 |
30 |
#: blog/templates/blog/index.djhtml:28 |
31 |
31 |
msgid "Notepad of a student" |
32 |
32 |
msgstr "" |
33 |
33 |
|
34 |
34 |
#: blog/templates/blog/index.djhtml:37 |
35 |
35 |
msgid "Navigation" |
36 |
36 |
msgstr "" |
37 |
37 |
|
38 |
38 |
#: blog/templates/blog/index.djhtml:42 |
39 |
- | msgid "Front page" |
+ |
39 |
msgid "Front page" |
40 |
40 |
msgstr "" |
41 |
41 |
|
42 |
42 |
#: blog/templates/blog/index.djhtml:49 |
43 |
- | msgid "Blog" |
+ |
43 |
msgid "Blog" |
44 |
44 |
msgstr "" |
45 |
45 |
|
46 |
46 |
#: blog/templates/blog/index.djhtml:51 |
47 |
- | msgid "" |
+ |
47 |
msgid "" |
48 |
48 |
"Welcome to my blog. Here, I write\n" |
49 |
49 |
" about things that interest me. Politics, coding,\n" |
50 |
50 |
" studying, life, or anything else I fancy rambling\n" |
51 |
51 |
" about. If you're in luck, I may've written it in a\n" |
52 |
52 |
" language that you understand better than English.\n" |
53 |
53 |
" " |
54 |
54 |
msgstr "" |
55 |
55 |
|
56 |
56 |
#: blog/templates/blog/index.djhtml:68 |
57 |
- | msgid "Open archive" |
+ |
57 |
msgid "Open archive" |
58 |
58 |
msgstr "" |
59 |
59 |
|
60 |
60 |
#: blog/templates/blog/index.djhtml:78 blog/templates/blog/post.djhtml:94 |
61 |
- | msgid "Read on" |
+ |
61 |
msgid "Read on" |
62 |
62 |
msgstr "" |
63 |
63 |
|
64 |
64 |
#: blog/templates/blog/monthly_archive.djhtml:16 |
+ |
65 |
#, python-format |
+ |
66 |
msgid "" |
+ |
67 |
"This blog\n" |
+ |
68 |
" post is not available in %(cur_lang)s." |
+ |
69 |
msgstr "" |
+ |
70 |
|
+ |
71 |
#: blog/templates/blog/index.djhtml:92 |
+ |
72 |
msgid "" |
+ |
73 |
"\n" |
+ |
74 |
" However, it is available in \n" |
+ |
75 |
" " |
+ |
76 |
msgid_plural "" |
+ |
77 |
"\n" |
+ |
78 |
" If you want, you can choose to read it in one of these\n" |
+ |
79 |
" languages: <br>\n" |
+ |
80 |
" " |
+ |
81 |
msgstr[0] "" |
+ |
82 |
msgstr[1] "" |
+ |
83 |
|
+ |
84 |
#: blog/templates/blog/index.djhtml:100 |
+ |
85 |
msgid "Flemish" |
+ |
86 |
msgstr "" |
+ |
87 |
|
+ |
88 |
#: blog/templates/blog/index.djhtml:102 |
+ |
89 |
msgid "Belgian French" |
+ |
90 |
msgstr "" |
+ |
91 |
|
+ |
92 |
#: blog/templates/blog/monthly_archive.djhtml:16 |
65 |
93 |
msgid "Weekly | Archief" |
66 |
94 |
msgstr "" |
67 |
95 |
|
68 |
96 |
#: blog/templates/blog/monthly_archive.djhtml:19 |
69 |
97 |
msgid "Voor een duik terug in de geschiedenis van mijn publieke dagboek." |
70 |
98 |
msgstr "" |
71 |
99 |
|
72 |
100 |
#: blog/templates/blog/post.djhtml:24 |
73 |
- | msgid "This article in other languages" |
74 |
- | msgstr "Dieser Artikel in anderen Sprachen" |
75 |
- | |
+ |
101 |
msgid "Comments" |
+ |
102 |
msgstr "" |
+ |
103 |
|
+ |
104 |
#: blog/templates/blog/post.djhtml:119 |
+ |
105 |
msgid "Submit" |
+ |
106 |
msgstr "" |
+ |
107 |
|
+ |
108 |
#~ msgid "This article in other languages" |
+ |
109 |
#~ msgstr "Dieser Artikel in anderen Sprachen" |
+ |
110 |
templates/blog/locale/eo/LC_MESSAGES/django.po ¶
107 additions and 0 deletions.
View changes Hide changes
+ |
1 |
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER |
+ |
2 |
# This file is distributed under the same license as the PACKAGE package. |
+ |
3 |
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR. |
+ |
4 |
# |
+ |
5 |
#, fuzzy |
+ |
6 |
msgid "" |
+ |
7 |
msgstr "" |
+ |
8 |
"Project-Id-Version: PACKAGE VERSION\n" |
+ |
9 |
"Report-Msgid-Bugs-To: \n" |
+ |
10 |
"POT-Creation-Date: 2022-03-06 07:38+0000\n" |
+ |
11 |
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" |
+ |
12 |
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" |
+ |
13 |
"Language-Team: LANGUAGE <LL@li.org>\n" |
+ |
14 |
"Language: \n" |
+ |
15 |
"MIME-Version: 1.0\n" |
+ |
16 |
"Content-Type: text/plain; charset=UTF-8\n" |
+ |
17 |
"Content-Transfer-Encoding: 8bit\n" |
+ |
18 |
"Plural-Forms: nplurals=2; plural=(n != 1);\n" |
+ |
19 |
|
+ |
20 |
#: blog/templates/blog/index.djhtml:20 |
+ |
21 |
msgid "Maarten's blog" |
+ |
22 |
msgstr "" |
+ |
23 |
|
+ |
24 |
#: blog/templates/blog/index.djhtml:22 |
+ |
25 |
msgid "" |
+ |
26 |
"The always coherently put together, yet\n" |
+ |
27 |
"fuzzy blog of whatever sprouts in my mind." |
+ |
28 |
msgstr "" |
+ |
29 |
|
+ |
30 |
#: blog/templates/blog/index.djhtml:28 |
+ |
31 |
msgid "Notepad of a student" |
+ |
32 |
msgstr "" |
+ |
33 |
|
+ |
34 |
#: blog/templates/blog/index.djhtml:37 |
+ |
35 |
msgid "Navigation" |
+ |
36 |
msgstr "" |
+ |
37 |
|
+ |
38 |
#: blog/templates/blog/index.djhtml:45 |
+ |
39 |
msgid "Front page" |
+ |
40 |
msgstr "" |
+ |
41 |
|
+ |
42 |
#: blog/templates/blog/index.djhtml:52 |
+ |
43 |
msgid "Blog" |
+ |
44 |
msgstr "" |
+ |
45 |
|
+ |
46 |
#: blog/templates/blog/index.djhtml:54 |
+ |
47 |
msgid "" |
+ |
48 |
"Welcome to my blog. Here, I write\n" |
+ |
49 |
" about things that interest me. Politics, coding,\n" |
+ |
50 |
" studying, life, or anything else I fancy rambling\n" |
+ |
51 |
" about. If you're in luck, I may've written it in a\n" |
+ |
52 |
" language that you understand better than English.\n" |
+ |
53 |
" " |
+ |
54 |
msgstr "" |
+ |
55 |
|
+ |
56 |
#: blog/templates/blog/index.djhtml:71 |
+ |
57 |
msgid "Open archive" |
+ |
58 |
msgstr "" |
+ |
59 |
|
+ |
60 |
#: blog/templates/blog/index.djhtml:85 |
+ |
61 |
msgid "Read on" |
+ |
62 |
msgstr "" |
+ |
63 |
|
+ |
64 |
#: blog/templates/blog/index.djhtml:90 |
+ |
65 |
#, python-format |
+ |
66 |
msgid "" |
+ |
67 |
"This blog\n" |
+ |
68 |
" post is not available in %(cur_lang)s." |
+ |
69 |
msgstr "" |
+ |
70 |
|
+ |
71 |
#: blog/templates/blog/index.djhtml:92 |
+ |
72 |
msgid "" |
+ |
73 |
"\n" |
+ |
74 |
" However, it is available in \n" |
+ |
75 |
" " |
+ |
76 |
msgid_plural "" |
+ |
77 |
"\n" |
+ |
78 |
" If you want, you can choose to read it in one of these\n" |
+ |
79 |
" languages: <br>\n" |
+ |
80 |
" " |
+ |
81 |
msgstr[0] "" |
+ |
82 |
msgstr[1] "" |
+ |
83 |
|
+ |
84 |
#: blog/templates/blog/index.djhtml:100 |
+ |
85 |
msgid "Flemish" |
+ |
86 |
msgstr "" |
+ |
87 |
|
+ |
88 |
#: blog/templates/blog/index.djhtml:102 |
+ |
89 |
msgid "Belgian French" |
+ |
90 |
msgstr "" |
+ |
91 |
|
+ |
92 |
#: blog/templates/blog/monthly_archive.djhtml:16 |
+ |
93 |
msgid "Weekly | Archief" |
+ |
94 |
msgstr "" |
+ |
95 |
|
+ |
96 |
#: blog/templates/blog/monthly_archive.djhtml:19 |
+ |
97 |
msgid "Voor een duik terug in de geschiedenis van mijn publieke dagboek." |
+ |
98 |
msgstr "" |
+ |
99 |
|
+ |
100 |
#: blog/templates/blog/post.djhtml:104 |
+ |
101 |
msgid "Comments" |
+ |
102 |
msgstr "" |
+ |
103 |
|
+ |
104 |
#: blog/templates/blog/post.djhtml:119 |
+ |
105 |
msgid "Submit" |
+ |
106 |
msgstr "" |
+ |
107 |
templates/blog/locale/es/LC_MESSAGES/django.po ¶
40 additions and 8 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: 2021-11-24 14:00+0100\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 |
21 |
msgid "Maarten's blog" |
22 |
22 |
msgstr "" |
23 |
23 |
|
24 |
24 |
#: blog/templates/blog/index.djhtml:22 |
25 |
25 |
msgid "" |
26 |
26 |
"The always coherently put together, yet\n" |
27 |
27 |
"fuzzy blog of whatever sprouts in my mind." |
28 |
28 |
msgstr "" |
29 |
29 |
|
30 |
30 |
#: blog/templates/blog/index.djhtml:28 |
31 |
31 |
msgid "Notepad of a student" |
32 |
32 |
msgstr "" |
33 |
33 |
|
34 |
34 |
#: blog/templates/blog/index.djhtml:37 |
35 |
35 |
msgid "Navigation" |
36 |
36 |
msgstr "" |
37 |
37 |
|
38 |
38 |
#: blog/templates/blog/index.djhtml:42 |
39 |
- | msgid "Front page" |
+ |
39 |
msgid "Front page" |
40 |
40 |
msgstr "" |
41 |
41 |
|
42 |
42 |
#: blog/templates/blog/index.djhtml:49 |
43 |
- | msgid "Blog" |
+ |
43 |
msgid "Blog" |
44 |
44 |
msgstr "" |
45 |
45 |
|
46 |
46 |
#: blog/templates/blog/index.djhtml:51 |
47 |
- | msgid "" |
+ |
47 |
msgid "" |
48 |
48 |
"Welcome to my blog. Here, I write\n" |
49 |
49 |
" about things that interest me. Politics, coding,\n" |
50 |
50 |
" studying, life, or anything else I fancy rambling\n" |
51 |
51 |
" about. If you're in luck, I may've written it in a\n" |
52 |
52 |
" language that you understand better than English.\n" |
53 |
53 |
" " |
54 |
54 |
msgstr "" |
55 |
55 |
|
56 |
56 |
#: blog/templates/blog/index.djhtml:68 |
57 |
- | msgid "Open archive" |
+ |
57 |
msgid "Open archive" |
58 |
58 |
msgstr "" |
59 |
59 |
|
60 |
60 |
#: blog/templates/blog/index.djhtml:78 blog/templates/blog/post.djhtml:94 |
61 |
- | msgid "Read on" |
+ |
61 |
msgid "Read on" |
62 |
62 |
msgstr "" |
63 |
63 |
|
64 |
64 |
#: blog/templates/blog/monthly_archive.djhtml:16 |
+ |
65 |
#, python-format |
+ |
66 |
msgid "" |
+ |
67 |
"This blog\n" |
+ |
68 |
" post is not available in %(cur_lang)s." |
+ |
69 |
msgstr "" |
+ |
70 |
|
+ |
71 |
#: blog/templates/blog/index.djhtml:92 |
+ |
72 |
msgid "" |
+ |
73 |
"\n" |
+ |
74 |
" However, it is available in \n" |
+ |
75 |
" " |
+ |
76 |
msgid_plural "" |
+ |
77 |
"\n" |
+ |
78 |
" If you want, you can choose to read it in one of these\n" |
+ |
79 |
" languages: <br>\n" |
+ |
80 |
" " |
+ |
81 |
msgstr[0] "" |
+ |
82 |
msgstr[1] "" |
+ |
83 |
|
+ |
84 |
#: blog/templates/blog/index.djhtml:100 |
+ |
85 |
msgid "Flemish" |
+ |
86 |
msgstr "" |
+ |
87 |
|
+ |
88 |
#: blog/templates/blog/index.djhtml:102 |
+ |
89 |
msgid "Belgian French" |
+ |
90 |
msgstr "" |
+ |
91 |
|
+ |
92 |
#: blog/templates/blog/monthly_archive.djhtml:16 |
65 |
93 |
msgid "Weekly | Archief" |
66 |
94 |
msgstr "" |
67 |
95 |
|
68 |
96 |
#: blog/templates/blog/monthly_archive.djhtml:19 |
69 |
97 |
msgid "Voor een duik terug in de geschiedenis van mijn publieke dagboek." |
70 |
98 |
msgstr "" |
71 |
99 |
|
72 |
100 |
#: blog/templates/blog/post.djhtml:24 |
73 |
- | msgid "This article in other languages" |
74 |
- | msgstr "" |
+ |
101 |
msgid "Comments" |
+ |
102 |
msgstr "" |
+ |
103 |
|
+ |
104 |
#: blog/templates/blog/post.djhtml:119 |
+ |
105 |
msgid "Submit" |
+ |
106 |
msgstr "" |
75 |
107 |
templates/blog/locale/fr/LC_MESSAGES/django.po ¶
44 additions and 15 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: 2021-11-24 14:00+0100\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 |
21 |
msgid "Maarten's blog" |
22 |
22 |
msgstr "Blog de Maarten" |
23 |
23 |
|
24 |
24 |
#: blog/templates/blog/index.djhtml:22 |
25 |
25 |
msgid "" |
26 |
26 |
"The always coherently put together, yet\n" |
27 |
27 |
"fuzzy blog of whatever sprouts in my mind." |
28 |
28 |
msgstr "" |
29 |
29 |
"Le toujours mis de façon cohérente ensemble, mais floue de ce que les germes " |
30 |
30 |
"dans mon esprit." |
31 |
31 |
|
32 |
32 |
#: blog/templates/blog/index.djhtml:28 |
33 |
33 |
msgid "Notepad of a student" |
34 |
34 |
msgstr "" |
35 |
35 |
|
36 |
36 |
#: blog/templates/blog/index.djhtml:37 |
37 |
37 |
msgid "Navigation" |
38 |
38 |
msgstr "" |
39 |
39 |
|
40 |
40 |
#: blog/templates/blog/index.djhtml:42 |
41 |
- | msgid "Front page" |
+ |
41 |
msgid "Front page" |
42 |
42 |
msgstr "" |
43 |
43 |
|
44 |
44 |
#: blog/templates/blog/index.djhtml:49 |
45 |
- | msgid "Blog" |
+ |
45 |
msgid "Blog" |
46 |
46 |
msgstr "Blog" |
47 |
47 |
|
48 |
48 |
#: blog/templates/blog/index.djhtml:51 |
49 |
- | #, fuzzy |
+ |
49 |
#, fuzzy |
50 |
50 |
#| msgid "" |
51 |
51 |
#| "Welcome to my blog. Here, I write\n" |
52 |
52 |
#| " about things that interest me. Politics, coding,\n" |
53 |
53 |
#| " studying, life, or anything else I fancy rambling\n" |
54 |
54 |
#| " about. If you're in luck, I may've written it in a\n" |
55 |
55 |
#| " language that you understand better than English.\n" |
56 |
56 |
#| " " |
57 |
57 |
msgid "" |
58 |
58 |
"Welcome to my blog. Here, I write\n" |
59 |
59 |
" about things that interest me. Politics, coding,\n" |
60 |
60 |
" studying, life, or anything else I fancy rambling\n" |
61 |
61 |
" about. If you're in luck, I may've written it in a\n" |
62 |
62 |
" language that you understand better than English.\n" |
63 |
63 |
" " |
64 |
64 |
msgstr "" |
65 |
65 |
"Bienvenue dans mon blog. Ici j'écris des choses qui m'intéressent. La " |
66 |
66 |
"politique, le codage, l'étude, la vie, ou autre chose dont j'ai envie de me " |
67 |
67 |
"venger." |
68 |
68 |
|
69 |
69 |
#: blog/templates/blog/index.djhtml:68 |
70 |
- | msgid "Open archive" |
+ |
70 |
msgid "Open archive" |
71 |
71 |
msgstr "" |
72 |
72 |
|
73 |
73 |
#: blog/templates/blog/index.djhtml:78 blog/templates/blog/post.djhtml:94 |
74 |
- | msgid "Read on" |
+ |
74 |
msgid "Read on" |
75 |
75 |
msgstr "Lire plus" |
76 |
76 |
|
77 |
77 |
#: blog/templates/blog/monthly_archive.djhtml:16 |
+ |
78 |
#, python-format |
+ |
79 |
msgid "" |
+ |
80 |
"This blog\n" |
+ |
81 |
" post is not available in %(cur_lang)s." |
+ |
82 |
msgstr "" |
+ |
83 |
|
+ |
84 |
#: blog/templates/blog/index.djhtml:92 |
+ |
85 |
msgid "" |
+ |
86 |
"\n" |
+ |
87 |
" However, it is available in \n" |
+ |
88 |
" " |
+ |
89 |
msgid_plural "" |
+ |
90 |
"\n" |
+ |
91 |
" If you want, you can choose to read it in one of these\n" |
+ |
92 |
" languages: <br>\n" |
+ |
93 |
" " |
+ |
94 |
msgstr[0] "" |
+ |
95 |
msgstr[1] "" |
+ |
96 |
|
+ |
97 |
#: blog/templates/blog/index.djhtml:100 |
+ |
98 |
msgid "Flemish" |
+ |
99 |
msgstr "" |
+ |
100 |
|
+ |
101 |
#: blog/templates/blog/index.djhtml:102 |
+ |
102 |
msgid "Belgian French" |
+ |
103 |
msgstr "" |
+ |
104 |
|
+ |
105 |
#: blog/templates/blog/monthly_archive.djhtml:16 |
78 |
106 |
msgid "Weekly | Archief" |
79 |
107 |
msgstr "" |
80 |
108 |
|
81 |
109 |
#: blog/templates/blog/monthly_archive.djhtml:19 |
82 |
110 |
msgid "Voor een duik terug in de geschiedenis van mijn publieke dagboek." |
83 |
111 |
msgstr "" |
84 |
112 |
|
85 |
113 |
#: blog/templates/blog/post.djhtml:24 |
86 |
- | msgid "This article in other languages" |
87 |
- | msgstr "Cet article en autres langues" |
88 |
- | |
+ |
114 |
msgid "Comments" |
+ |
115 |
msgstr "Commentaires" |
+ |
116 |
|
+ |
117 |
#: blog/templates/blog/post.djhtml:119 |
+ |
118 |
msgid "Submit" |
+ |
119 |
msgstr "Envoyer" |
+ |
120 |
|
+ |
121 |
#~ msgid "This article in other languages" |
+ |
122 |
#~ msgstr "Cet article en autres langues" |
+ |
123 |
|
89 |
124 |
#~ msgid "Never miss an update again." |
90 |
125 |
#~ msgstr "Ne manquez plus jamais une mise à jour." |
91 |
126 |
|
92 |
127 |
#~ msgid "" |
93 |
128 |
#~ "Getting info on updates to blog posts, major website changes, and other " |
94 |
129 |
#~ "important\n" |
95 |
130 |
#~ " news items is now easy and convenient with RSS.\n" |
96 |
131 |
#~ " " |
97 |
132 |
#~ msgstr "" |
98 |
133 |
#~ "Recevoir des mise à jours du blog, des grands changements du site web et " |
99 |
134 |
#~ "d'autre information, c'est maitenant facile et pratique avec RSS." |
100 |
135 |
|
101 |
- | #~ msgid "Comments" |
102 |
- | #~ msgstr "Commentaires" |
103 |
- | |
104 |
- | #~ msgid "Submit" |
105 |
- | #~ msgstr "Envoyer" |
106 |
- |
templates/blog/locale/nl/LC_MESSAGES/django.po ¶
44 additions and 15 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: 2021-11-24 14:00+0100\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 |
21 |
msgid "Maarten's blog" |
22 |
22 |
msgstr "Maartens blog" |
23 |
23 |
|
24 |
24 |
#: blog/templates/blog/index.djhtml:22 |
25 |
25 |
msgid "" |
26 |
26 |
"The always coherently put together, yet\n" |
27 |
27 |
"fuzzy blog of whatever sprouts in my mind." |
28 |
28 |
msgstr "" |
29 |
29 |
"Een zeer weloverwogen geschreven, en toch warrige blog over vanalles wat in " |
30 |
30 |
"mij opkomt." |
31 |
31 |
|
32 |
32 |
#: blog/templates/blog/index.djhtml:28 |
33 |
33 |
msgid "Notepad of a student" |
34 |
34 |
msgstr "" |
35 |
35 |
|
36 |
36 |
#: blog/templates/blog/index.djhtml:37 |
37 |
37 |
msgid "Navigation" |
38 |
38 |
msgstr "" |
39 |
39 |
|
40 |
40 |
#: blog/templates/blog/index.djhtml:42 |
41 |
- | msgid "Front page" |
+ |
41 |
msgid "Front page" |
42 |
42 |
msgstr "" |
43 |
43 |
|
44 |
44 |
#: blog/templates/blog/index.djhtml:49 |
45 |
- | msgid "Blog" |
+ |
45 |
msgid "Blog" |
46 |
46 |
msgstr "Blog" |
47 |
47 |
|
48 |
48 |
#: blog/templates/blog/index.djhtml:51 |
49 |
- | #, fuzzy |
+ |
49 |
#, fuzzy |
50 |
50 |
#| msgid "" |
51 |
51 |
#| "Welcome to my blog. Here, I write\n" |
52 |
52 |
#| " about things that interest me. Politics, coding,\n" |
53 |
53 |
#| " studying, life, or anything else I fancy rambling\n" |
54 |
54 |
#| " about. If you're in luck, I may've written it in a\n" |
55 |
55 |
#| " language that you understand better than English.\n" |
56 |
56 |
#| " " |
57 |
57 |
msgid "" |
58 |
58 |
"Welcome to my blog. Here, I write\n" |
59 |
59 |
" about things that interest me. Politics, coding,\n" |
60 |
60 |
" studying, life, or anything else I fancy rambling\n" |
61 |
61 |
" about. If you're in luck, I may've written it in a\n" |
62 |
62 |
" language that you understand better than English.\n" |
63 |
63 |
" " |
64 |
64 |
msgstr "" |
65 |
65 |
"Welkom op mijn blog. Hier schrijf ik over onderwerpen die mij interesseren. " |
66 |
66 |
"Politiek, programmeren, studeren en het leven, plus alles waar ik goesting " |
67 |
67 |
"in heb om over te schrijven." |
68 |
68 |
|
69 |
69 |
#: blog/templates/blog/index.djhtml:68 |
70 |
- | msgid "Open archive" |
+ |
70 |
msgid "Open archive" |
71 |
71 |
msgstr "" |
72 |
72 |
|
73 |
73 |
#: blog/templates/blog/index.djhtml:78 blog/templates/blog/post.djhtml:94 |
74 |
- | msgid "Read on" |
+ |
74 |
msgid "Read on" |
75 |
75 |
msgstr "Verder lezen" |
76 |
76 |
|
77 |
77 |
#: blog/templates/blog/monthly_archive.djhtml:16 |
+ |
78 |
#, python-format |
+ |
79 |
msgid "" |
+ |
80 |
"This blog\n" |
+ |
81 |
" post is not available in %(cur_lang)s." |
+ |
82 |
msgstr "" |
+ |
83 |
|
+ |
84 |
#: blog/templates/blog/index.djhtml:92 |
+ |
85 |
msgid "" |
+ |
86 |
"\n" |
+ |
87 |
" However, it is available in \n" |
+ |
88 |
" " |
+ |
89 |
msgid_plural "" |
+ |
90 |
"\n" |
+ |
91 |
" If you want, you can choose to read it in one of these\n" |
+ |
92 |
" languages: <br>\n" |
+ |
93 |
" " |
+ |
94 |
msgstr[0] "" |
+ |
95 |
msgstr[1] "" |
+ |
96 |
|
+ |
97 |
#: blog/templates/blog/index.djhtml:100 |
+ |
98 |
msgid "Flemish" |
+ |
99 |
msgstr "" |
+ |
100 |
|
+ |
101 |
#: blog/templates/blog/index.djhtml:102 |
+ |
102 |
msgid "Belgian French" |
+ |
103 |
msgstr "" |
+ |
104 |
|
+ |
105 |
#: blog/templates/blog/monthly_archive.djhtml:16 |
78 |
106 |
msgid "Weekly | Archief" |
79 |
107 |
msgstr "" |
80 |
108 |
|
81 |
109 |
#: blog/templates/blog/monthly_archive.djhtml:19 |
82 |
110 |
msgid "Voor een duik terug in de geschiedenis van mijn publieke dagboek." |
83 |
111 |
msgstr "" |
84 |
112 |
|
85 |
113 |
#: blog/templates/blog/post.djhtml:24 |
86 |
- | msgid "This article in other languages" |
87 |
- | msgstr "Dit artikel in andere talen" |
88 |
- | |
+ |
114 |
msgid "Comments" |
+ |
115 |
msgstr "Reacties" |
+ |
116 |
|
+ |
117 |
#: blog/templates/blog/post.djhtml:119 |
+ |
118 |
msgid "Submit" |
+ |
119 |
msgstr "Reageren" |
+ |
120 |
|
+ |
121 |
#~ msgid "This article in other languages" |
+ |
122 |
#~ msgstr "Dit artikel in andere talen" |
+ |
123 |
|
89 |
124 |
#~ msgid "Never miss an update again." |
90 |
125 |
#~ msgstr "Mis nooit meer een update." |
91 |
126 |
|
92 |
127 |
#~ msgid "" |
93 |
128 |
#~ "Getting info on updates to blog posts, major website changes, and other " |
94 |
129 |
#~ "important\n" |
95 |
130 |
#~ " news items is now easy and convenient with RSS.\n" |
96 |
131 |
#~ " " |
97 |
132 |
#~ msgstr "" |
98 |
133 |
#~ "Updates van blogartikelen, grote veranderingen op de website en andere " |
99 |
134 |
#~ "belangrijke nieuwtjes zijn nu makkelijk te verkrijgen met RSS." |
100 |
135 |
|
101 |
- | #~ msgid "Comments" |
102 |
- | #~ msgstr "Reacties" |
103 |
- | |
104 |
- | #~ msgid "Submit" |
105 |
- | #~ msgstr "Reageren" |
106 |
- |
templates/blog/post.djhtml ¶
46 additions and 2 deletions.
View changes Hide changes
1 |
1 |
{% load humanize %} |
2 |
2 |
{% load i18n %} |
3 |
3 |
{% load static %} |
4 |
4 |
|
5 |
5 |
{% block description %} |
+ |
6 |
{% block stylesheets %} |
+ |
7 |
{{ block.super }} |
+ |
8 |
<style> |
+ |
9 |
@font-face { |
+ |
10 |
font-family: 'Merriweather'; |
+ |
11 |
font-style: italic; |
+ |
12 |
font-weight: 400; |
+ |
13 |
src: url({% get_static_prefix %}fonts/merriweather-400-italic.woff2) format('woff2'); |
+ |
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 |
} |
+ |
16 |
@font-face { |
+ |
17 |
font-family: 'Merriweather'; |
+ |
18 |
font-style: normal; |
+ |
19 |
font-weight: 400; |
+ |
20 |
src: url({% get_static_prefix %}fonts/merriweather-400-regular.woff2) format('woff2'); |
+ |
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 |
} |
+ |
23 |
@font-face { |
+ |
24 |
font-family: 'Merriweather'; |
+ |
25 |
font-style: normal; |
+ |
26 |
font-weight: 700; |
+ |
27 |
src: url({% get_static_prefix %}fonts/merriweather-700-regular.woff2) format('woff2'); |
+ |
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 |
} |
+ |
30 |
|
+ |
31 |
body { |
+ |
32 |
background-color: #0d1521; /*#0d47a1; /* Material blue P900 */ |
+ |
33 |
} |
+ |
34 |
body video { |
+ |
35 |
width: 80%; |
+ |
36 |
} |
+ |
37 |
header { |
+ |
38 |
background-color: #3e2723; |
+ |
39 |
} |
+ |
40 |
section.article { |
+ |
41 |
background-color: #efebe9;/*rgb(210, 188, 157);*/ |
+ |
42 |
font-family: Merriweather, serif; |
+ |
43 |
} |
+ |
44 |
</style> |
+ |
45 |
{% endblock stylesheets %} |
+ |
46 |
|
+ |
47 |
{% block description %} |
6 |
48 |
{{ article.text|safe|truncatewords_html:10 }} |
7 |
49 |
{% endblock description %} |
8 |
50 |
{% block title %}📚 {{ navbar_title }}{% endblock title %} |
9 |
51 |
|
10 |
52 |
|
11 |
53 |
{% block header %} |
12 |
54 |
<header> |
13 |
55 |
<h1>{{ navbar_title }}</h1> |
14 |
56 |
</header> |
15 |
57 |
{% endblock header %} |
16 |
58 |
{% block main %} |
17 |
59 |
<section style="font-family: serif;"> |
18 |
- | <!--<article style="font-family:serif;">--> |
+ |
60 |
<!--<article style="font-family:serif;">--> |
19 |
61 |
{{ article.text|safe }} |
20 |
- | <!--</article>--> |
+ |
62 |
{% include "/tmp/django-templates/blog-file.djhtml" %} |
+ |
63 |
|
+ |
64 |
<!--</article>--> |
21 |
65 |
</section> |
22 |
66 |
|
23 |
67 |
{% comment %} |
24 |
68 |
<h5 class="white-text">{% trans "This article in other languages" %}</h5> |
25 |
69 |
|
26 |
70 |
{% get_language_info for 'nl' as LANG %} |
27 |
71 |
<a {% if dutch_link %} href="{{dutch_link}}" {% endif %} |
28 |
72 |
class="btn fill |
29 |
73 |
{% if not dutch_link %}disabled{% endif %}"> |
30 |
74 |
🇧🇪 {{ LANG.name_translated}} 🇳🇱 |
31 |
75 |
</a> |
32 |
76 |
{% get_current_language as lang %} |
33 |
77 |
{% get_language_info for 'fr' as LANG %} |
34 |
78 |
<a {% if french_link %} href="{{french_link}}" {% endif %} |
35 |
79 |
class="btn fill |
36 |
80 |
{% if not french_link %}disabled{% endif %}"> |
37 |
81 |
🇧🇪 {{ LANG.name_translated}} 🇫🇷 |
38 |
82 |
</a> |
39 |
83 |
{% get_language_info for 'en' as LANG %} |
40 |
84 |
<a {% if english_link %} href="{{english_link}}" {% endif %} |
41 |
85 |
class="btn fill |
42 |
86 |
{% if not english_link %}disabled{% endif %}"> |
43 |
87 |
🇬🇧 {{ LANG.name_translated}} 🇺🇸 |
44 |
88 |
</a> |
45 |
89 |
{% get_language_info for 'de' as LANG %} |
46 |
90 |
<a {% if german_link %} href="{{german_link}}" {% endif %} |
47 |
91 |
class="btn fill |
48 |
92 |
{% if not german_link %}disabled{% endif %}"> |
49 |
93 |
🇧🇪 {{ LANG.name_translated}} 🇩🇪 |
50 |
94 |
</a> |
51 |
95 |
{% get_language_info for 'es' as LANG %} |
52 |
96 |
<a {% if spanish_link %} href="{{spanish_link}}" {% endif %} |
53 |
97 |
class="btn |
54 |
98 |
{% if not spanish_link %}disabled{% endif %}"> |
55 |
99 |
🇪🇸 {{ LANG.name_translated}} 🇲🇽 |
56 |
100 |
</a> |
57 |
101 |
{% endcomment %} |
58 |
102 |
|
59 |
103 |
<h5 class="white-text">{% trans "Comments" %}</h5> |
60 |
104 |
{% for comment in comments %} {# Whoops =P #} |
61 |
105 |
<span class="white-text">{{ comment.name|title }} | </span> |
62 |
106 |
<time class="grey-text" datetime="{{ comment.date|date:'c' }}">{{ comment.date|naturaltime }}</time> |
63 |
107 |
<br /> |
64 |
108 |
<p class="white-text">{{ comment.text|urlize }}</p> |
65 |
109 |
<hr /> |
66 |
110 |
{% endfor %} |
67 |
111 |
{# Form for new comment #} |
68 |
112 |
<form action="" method="POST"> |
69 |
113 |
{% csrf_token %} |
70 |
114 |
{{ form.name.label_tag }} |
71 |
115 |
<input class="white-text browser-default" type="text" id="id_name" name="name" maxlength="64" required /> |
72 |
116 |
{{ form.text.label_tag }} |
73 |
117 |
<textarea id="id_text" class="white-text" name="text" maxlength="1000" required></textarea> |
74 |
118 |
<input type="submit" value="{% trans "Submit" %}" /> |
75 |
119 |
</form> |
76 |
120 |
|
77 |
121 |
|
78 |
122 |
{% comment %} |
79 |
123 |
<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> |
80 |
124 |
{# TODO: Change to rainbow flag when possible #} |
81 |
125 |
{% endcomment %} |
82 |
126 |
</div> |
83 |
127 |
|
84 |
128 |
</div> |
85 |
129 |
{% endblock main %} |
86 |
130 |