From dbdd6b06f8948fa7c14bf0e9bbca1254bbdfd929 Mon Sep 17 00:00:00 2001 From: ix <0x00fi@protonmail.com> Date: Tue, 7 Sep 2021 19:52:40 +0200 Subject: [PATCH] internationalization fixed, templates url fixed, messages recompiled --- src/accounts/templates/accounts/profile.html | 2 +- src/change_lang.py | 26 +++++ .../migrations/0004_auto_20210907_1407.py | 28 ++++++ src/ctfs/models.py | 3 + src/ctfs/templates/ctfs/.ctfs_list.html.swp | Bin 12288 -> 0 bytes src/ctfs/templates/ctfs/ctf_info.html | 8 +- src/ctfs/templates/ctfs/ctfs_list.html | 4 +- .../templates/templates/ctfs/ctf_info.html | 81 ---------------- .../templates/templates/ctfs/ctfs_list.html | 53 ---------- src/ctfs/views.py | 25 ++++- src/home/templates/home/home.html | 4 +- src/home/views.py | 7 +- src/locale/de/LC_MESSAGES/django.po | 58 ++++++----- src/locale/en/LC_MESSAGES/django.po | 58 ++++++----- src/locale/es/LC_MESSAGES/django.po | 58 ++++++----- src/locale/fr/LC_MESSAGES/django.po | 91 ++++++------------ src/locale/it/LC_MESSAGES/django.po | 58 ++++++----- src/locale/ru/LC_MESSAGES/django.po | 58 ++++++----- src/project/settings.py | 9 +- .../templates/scoreboard/scoreboard.html | 2 +- src/templates/base.html | 4 +- src/templates/ctfs/ctf_info.html | 81 ---------------- src/templates/ctfs/ctfs_list.html | 53 ---------- 23 files changed, 269 insertions(+), 502 deletions(-) create mode 100644 src/change_lang.py create mode 100644 src/ctfs/migrations/0004_auto_20210907_1407.py delete mode 100644 src/ctfs/templates/ctfs/.ctfs_list.html.swp mode change 100644 => 100755 src/ctfs/templates/ctfs/ctfs_list.html delete mode 100755 src/ctfs/templates/templates/ctfs/ctf_info.html delete mode 100755 src/ctfs/templates/templates/ctfs/ctfs_list.html delete mode 100755 src/templates/ctfs/ctf_info.html delete mode 100755 src/templates/ctfs/ctfs_list.html diff --git a/src/accounts/templates/accounts/profile.html b/src/accounts/templates/accounts/profile.html index 969b29e..c80fe1f 100644 --- a/src/accounts/templates/accounts/profile.html +++ b/src/accounts/templates/accounts/profile.html @@ -18,7 +18,7 @@ {% for s in solves %} - {{ s.ctf.name }} + {{ s.ctf.name }} {{ s.ctf.category.name}} {{ s.ctf.points }} {{ s.flag_date|date:"Y-m-d H:i:s" }} diff --git a/src/change_lang.py b/src/change_lang.py new file mode 100644 index 0000000..78f17ee --- /dev/null +++ b/src/change_lang.py @@ -0,0 +1,26 @@ +from django.template import Library +from django.core.urlresolvers import resolve, reverse +from django.utils.translation import activate, get_language + +register = Library() + +@register.simple_tag(takes_context=True) +def change_lang(context, lang=None, *args, **kwargs): + """ + Get active page's url by a specified language + Usage: {% change_lang 'en' %} + """ + + path = context['request'].path + url_parts = resolve( path ) + + url = path + cur_language = get_language() + try: + activate(lang) + url = reverse( url_parts.view_name, kwargs=url_parts.kwargs ) + finally: + activate(cur_language) + + + return "%s" % url diff --git a/src/ctfs/migrations/0004_auto_20210907_1407.py b/src/ctfs/migrations/0004_auto_20210907_1407.py new file mode 100644 index 0000000..ed6825d --- /dev/null +++ b/src/ctfs/migrations/0004_auto_20210907_1407.py @@ -0,0 +1,28 @@ +# Generated by Django 3.2.7 on 2021-09-07 14:07 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('ctfs', '0003_auto_20191003_1947'), + ] + + operations = [ + migrations.AddField( + model_name='ctf', + name='description_de', + field=models.TextField(blank=True), + ), + migrations.AddField( + model_name='ctf', + name='description_en', + field=models.TextField(blank=True), + ), + migrations.AddField( + model_name='ctf', + name='description_ru', + field=models.TextField(blank=True), + ), + ] diff --git a/src/ctfs/models.py b/src/ctfs/models.py index a9a41ce..4958f77 100644 --- a/src/ctfs/models.py +++ b/src/ctfs/models.py @@ -12,6 +12,9 @@ class CTF(models.Model): name = models.CharField(max_length=200) flag = models.CharField(max_length=100) description = models.TextField(blank=True) + description_en = models.TextField(blank=True) + description_ru = models.TextField(blank=True) + description_de = models.TextField(blank=True) file = models.FileField(blank=True, upload_to='challenges') ctf_url = models.URLField(blank=True) points = models.PositiveSmallIntegerField() diff --git a/src/ctfs/templates/ctfs/.ctfs_list.html.swp b/src/ctfs/templates/ctfs/.ctfs_list.html.swp deleted file mode 100644 index de319841c709fc7b65160961366a32629afaed84..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12288 zcmeI2&u`pB6vroA5I@==kPxVs!BrD+@OqO?QPVn$5DgVVv=O0598l!7XV;^6Z8I}Y z2vL9=7vR#rfdh9WPDs7bKLBy#&Xo&S5Z@WcUT@H@%CXY3^v(LsyqP!id2d!)Wk&sv z-hH3n==B+%7a05J(N~|WK75)TuP|1oQC2A1vHZEcyZ_#Y_xAk#!CQN8T)(r>`HOnO zU~4lrl47lOquz0z`la5CI}U1c(3;AOcT50aLE9FR_iM&bP94{)wOe?rA>HP5K}L zM1Tko0U|&IhyW2F0z`la5CI}U1fDq0gZl`T)8Ey#oDpiLoD`@1R}ib?9a2&*w27`W8BbcA;%( z4SE&246Q)FJ;&H1=x68~sD!qmb!Zj(1#ABi`W}+d$Iw0K9q3KS?k#}mAp%5z2oM1x zKm>>Y5%}K(PEW6Kktd_9h!6R-GZqGkJQ_02+ZX#FE5 zt1p+Hp7OY-vueW6&b*{nmWkW`ZU08<(XqCQ69B zjWSpq#TIs(wWi>02&@2oN_<)gT*$7pP(7&+qRONqH`1QiWab{uiUH%?Awmh-V}vW+ zja%5MDZ6VCwY33ruA181fS5PjcO^9ss{% trans "Published date" %} : {{ ctf.pub_date }}
- {{ ctf.description|safe }} + {% if description %} + {{ description|safe }} + {% else %} + {% trans "No translation available for this challenge. Try another lang (French or English)." %} + {% endif %}