diff --git a/src/accounts/templates/accounts/delete.html b/src/accounts/templates/accounts/delete.html new file mode 100644 index 0000000..1aae774 --- /dev/null +++ b/src/accounts/templates/accounts/delete.html @@ -0,0 +1,33 @@ +{% extends 'base.html' %} +{% block content %} +{% load i18n %} +
+
+
+
+

{% trans "Delete account" %}

+
+
+ {% trans "Please confirm your password to delete your account." %}
+ {% trans "Deleted accounts cannot be recovered." %}

+
+ {% if bad_password %} + {% trans "Password inccorect." %} + {% elif deleted %} + {% trans "Your account has been deleted." %} + {% endif %} +
+ {% csrf_token %} +
+
+ +
+
+
+
+
+ +
+
+{% endblock %} + diff --git a/src/accounts/templates/accounts/edit.html b/src/accounts/templates/accounts/edit.html index 0df35aa..07eaba6 100644 --- a/src/accounts/templates/accounts/edit.html +++ b/src/accounts/templates/accounts/edit.html @@ -54,6 +54,14 @@ {% endif %}
  • {% trans "Registered since" %} {{ user.date_joined|date:"Y-m-d" }}
  • + {% endblock %} diff --git a/src/accounts/urls.py b/src/accounts/urls.py index 38b9e53..abf5ec9 100644 --- a/src/accounts/urls.py +++ b/src/accounts/urls.py @@ -12,5 +12,6 @@ urlpatterns = [ path('rank/', views.rank, name='rank'), path('connections/connect/discord', views.connection.connect, name='connections-connect-discord'), path('connections/connect/discord/authorize', views.connection.authorize, name='connections-connect-discord-authorize'), - path('connections/disconnect/discord', views.connection.disconnect, name='connections-disconnect-discord') + path('connections/disconnect/discord', views.connection.disconnect, name='connections-disconnect-discord'), + path('delete_account/', views.delete_account, name='delete_account'), ] diff --git a/src/accounts/views/views.py b/src/accounts/views/views.py index b4367a6..806ad75 100644 --- a/src/accounts/views/views.py +++ b/src/accounts/views/views.py @@ -124,16 +124,18 @@ def profile(request, user_name): member = True else: member = False - cats = Category.objects.all() + all_cats = Category.objects.all() + cats = [cat for cat in all_cats if CTF.objects.filter(category__name=cat.name, event=None, disabled=False)] pointDatas = {} for cat in cats: # prepare categories - solved_count = CTF_flags.objects.filter(user=user_obj, ctf__event=None , ctf__category__name=cat.name).count() - max_count = CTF.objects.filter(category__name=cat.name, event=None).count() + solved = CTF_flags.objects.filter(user=user_obj, ctf__category__name=cat.name, ctf__event=None, ctf__disabled=False).order_by('flag_date') + max_count = CTF.objects.filter(category__name=cat.name, event=None, disabled=False).count() # get datas somme = 0 - solved = CTF_flags.objects.filter(user=user_obj, ctf__category__name=cat.name, ctf__event=None).order_by('flag_date') + solved_count = len(solved) + pointDatas[cat.name] = [] pointDatas[cat.name].append([user_obj.date_joined.timestamp() * 1000, 0]) percent = (solved_count / max_count) * 100 @@ -142,7 +144,7 @@ def profile(request, user_name): somme += flag.ctf.points pointDatas[cat.name].append([flag.flag_date.timestamp() * 1000, somme]) - solves = CTF_flags.objects.filter(user=user_obj, ctf__event=None).order_by('-flag_date') + solves = CTF_flags.objects.filter(user=user_obj, ctf__event=None, ctf__disabled=False).order_by('-flag_date') solved = [] somme = 0 solved.append([user_obj.date_joined.timestamp() * 1000, 0]) @@ -151,7 +153,7 @@ def profile(request, user_name): solved.append([s.flag_date.timestamp() * 1000,somme]) return render(request,'accounts/profile.html', {'user':user_obj, 'solves':solves,'solved':solved,'catsDatas': catsDatas, 'pointDatas': pointDatas, - 'rank': rank, 'score' : somme, 'member' : member}) + 'rank': rank, 'score' : somme, 'member' : member, 'cats':cats}) def rank(request, token): all_users = UserProfileInfo.objects.filter(score__gt=0).select_related().order_by('-score', 'last_submission_date', 'user__username') @@ -163,3 +165,20 @@ def rank(request, token): rank += 1 data = {"rank": rank} return JsonResponse(data) + +@login_required +def delete_account(request): + if request.method == 'POST': + user = request.user + + password = request.POST.get('password') + if user.check_password(password): + logout(request) + user.delete() + return render(request, 'accounts/delete.html', {'deleted': True, 'bad_password': False}) + + else: + return render(request, 'accounts/delete.html', {'deleted': False, 'bad_password': True}) + + else: + return render(request, 'accounts/delete.html', {'deleted': False, 'bad_password': False} ) \ No newline at end of file diff --git a/src/ctfs/management/__init__.py b/src/ctfs/management/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/src/ctfs/management/commands/__init__.py b/src/ctfs/management/commands/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/src/ctfs/management/commands/actualize_points.py b/src/ctfs/management/commands/actualize_points.py new file mode 100644 index 0000000..516764f --- /dev/null +++ b/src/ctfs/management/commands/actualize_points.py @@ -0,0 +1,28 @@ +from collections import defaultdict +from django.core.management.base import BaseCommand, CommandError +from accounts.models import UserProfileInfo +from ctfs.models import CTF_flags, CTF +from math import log + +class Command(BaseCommand): + help = 'Actualize challenges points based on number of solves' + + def handle(self, *args, **options): + challenges = CTF.objects.filter(event=None, disabled=False).exclude(category__name="-Intro-") + + for ctf in challenges: + solves = CTF_flags.objects.filter(ctf=ctf) + nb_solves = len(solves) + + if nb_solves > 0: + new_points = max(200 - int(log(nb_solves)*8.5)*5, 5) + else: + new_points = 200 + + if new_points != ctf.points: + diff = ctf.points - new_points + ctf.points = new_points + ctf.save() + for s in solves: + s.user.userprofileinfo.score -= diff + s.user.userprofileinfo.save() \ No newline at end of file diff --git a/src/ctfs/migrations/0007_ctf_disabled.py b/src/ctfs/migrations/0007_ctf_disabled.py new file mode 100644 index 0000000..4d65a87 --- /dev/null +++ b/src/ctfs/migrations/0007_ctf_disabled.py @@ -0,0 +1,18 @@ +# Generated by Django 3.1.5 on 2022-02-03 17:19 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('ctfs', '0006_alter_ctf_event'), + ] + + operations = [ + migrations.AddField( + model_name='ctf', + name='disabled', + field=models.BooleanField(default=False), + ), + ] diff --git a/src/ctfs/models.py b/src/ctfs/models.py index 6f49ca7..afec01c 100644 --- a/src/ctfs/models.py +++ b/src/ctfs/models.py @@ -12,6 +12,7 @@ class Category(models.Model): class CTF(models.Model): name = models.CharField(max_length=200) flag = models.CharField(max_length=100) + disabled = models.BooleanField(default=False) description = models.TextField(blank=True) description_en = models.TextField(blank=True) description_ru = models.TextField(blank=True) diff --git a/src/ctfs/templates/ctfs/ctf_info.html b/src/ctfs/templates/ctfs/ctf_info.html index e027fe9..3eab7f2 100644 --- a/src/ctfs/templates/ctfs/ctf_info.html +++ b/src/ctfs/templates/ctfs/ctf_info.html @@ -1,6 +1,7 @@ {% extends 'base.html' %} {% block content %} {% load i18n %} +{% load is_member %}
    @@ -66,7 +67,8 @@ {% for s in solved_list %} - {{ s.user.username }} + {% ismember s.user.userprofileinfo as is_member %} + {{ s.user.username }} {{ s.user.userprofileinfo.portfolio_site }} {{ s.user.userprofileinfo.score }} {{ s.flag_date }} @@ -81,8 +83,9 @@
    diff --git a/src/ctfs/views.py b/src/ctfs/views.py index a5de830..354f131 100644 --- a/src/ctfs/views.py +++ b/src/ctfs/views.py @@ -5,6 +5,8 @@ from .models import Category, CTF, CTF_flags from .forms import submit_flag from accounts.models import UserProfileInfo from django.utils.translation import get_language +from math import log +from accounts.models import UserProfileInfo def get_description_by_lang(ctf): lang = get_language() @@ -19,16 +21,33 @@ def get_description_by_lang(ctf): ret = ctf.description_ru return ret +def actualize_points(ctf): + if ctf.category.name == "-Intro-": + return + solves = CTF_flags.objects.filter(ctf=ctf) + nb_solves = len(solves) + + new_points = max(200 - int(log(nb_solves)*8.5)*5, 5) + + if new_points != ctf.points: + diff = ctf.points - new_points + ctf.points = new_points + ctf.save() + for s in solves: + s.user.userprofileinfo.score -= diff + s.user.userprofileinfo.save() + + def category(request, cat_slug): cat = get_object_or_404(Category, slug=cat_slug) - ctfs = CTF.objects.filter(category=cat, event=None).order_by('points') + ctfs = CTF.objects.filter(category=cat, event=None, disabled=False).order_by('points') for ex in ctfs: ex.solved_num = CTF_flags.objects.filter(ctf=ex).count() ex.solved = ex.solved_by(request.user) return render(request, 'ctfs/ctfs_list.html', {'ctfs' : ctfs, 'cat' : cat}) def ctf(request, cat_slug, ctf_slug): - ctf_info = get_object_or_404(CTF, slug=ctf_slug) + ctf_info = get_object_or_404(CTF, slug=ctf_slug, event=None) flagged = False solved_list = CTF_flags.objects.filter(ctf=ctf_info).order_by('flag_date') description = get_description_by_lang(ctf_info) @@ -39,13 +58,14 @@ def ctf(request, cat_slug, ctf_slug): if request.user.is_authenticated: form = submit_flag(data=request.POST) if flagged == False and form.is_valid(): - if CTF.objects.filter(flag=request.POST.get('flag'), slug=ctf_slug): + if CTF.objects.filter(flag=request.POST.get('flag'), slug=ctf_slug, event=None): new = CTF_flags(user = request.user, ctf = ctf_info, flag_date = timezone.now()) new.save() profil = UserProfileInfo.objects.get(user=request.user) profil.last_submission_date = timezone.now() profil.score += ctf_info.points profil.save() + actualize_points(ctf_info) return render(request, 'ctfs/ctf_info.html', { 'ctf' : ctf_info, 'solved_list': solved_list, 'valitated': True, 'description': description, 'date': timezone.now()}) else: return render(request, 'ctfs/ctf_info.html', { 'ctf' : ctf_info, 'solved_list': solved_list, 'failed': True, 'description': description, 'date': timezone.now()}) diff --git a/src/events/templates/events/create_team.html b/src/events/templates/events/create_team.html index 6ca877d..7502624 100644 --- a/src/events/templates/events/create_team.html +++ b/src/events/templates/events/create_team.html @@ -11,26 +11,26 @@
    @@ -43,19 +43,21 @@ - {% if event.auto_match %} - - {% endif %} + + {% if event.auto_match %} + + {% endif %}
    {% endblock %} \ No newline at end of file diff --git a/src/events/templates/events/ctf_info.html b/src/events/templates/events/ctf_info.html index d3c7b39..3a95a52 100644 --- a/src/events/templates/events/ctf_info.html +++ b/src/events/templates/events/ctf_info.html @@ -1,6 +1,7 @@ {% extends 'base.html' %} {% block content %} {% load i18n %} +{% load is_member %}
    @@ -75,8 +76,9 @@ {% for s in solved_list %} {% if event.team_size == 1%} + {% ismember s.0.userprofileinfo as is_member %} - {{ s.0.username }} + {{ s.0.username }} {{ s.0.userprofileinfo.portfolio_site }} {{ s.1 }} @@ -96,9 +98,10 @@
    diff --git a/src/events/templates/events/event_info.html b/src/events/templates/events/event_info.html index f7b9cb6..81a1bf2 100644 --- a/src/events/templates/events/event_info.html +++ b/src/events/templates/events/event_info.html @@ -2,6 +2,7 @@ {% block content %} {% load i18n %} {% load is_flagged %} +{% load is_member %}
    {% if subisover == True %} @@ -68,9 +69,10 @@ {% for s in solved_list %} + {% ismember s.user.userprofileinfo as is_member %} # {{ forloop.counter0|add:1 }} - {{ s.user.username }} + {{ s.user.username }} {{ s.user.userprofileinfo.site }} {{ s.score }} @@ -108,8 +110,8 @@
    @@ -43,24 +43,26 @@
    {% endblock %} \ No newline at end of file diff --git a/src/home/templates/home/home.html b/src/home/templates/home/home.html index 3e83e8b..4d9f255 100644 --- a/src/home/templates/home/home.html +++ b/src/home/templates/home/home.html @@ -4,7 +4,30 @@ {% get_current_language as lang %} {% load is_member %}
    -
    + +
    {% if news %} {% for n in news %}
    @@ -33,30 +56,46 @@

    {% trans "No article available." %}

    {% endif %}
    - diff --git a/src/home/views.py b/src/home/views.py index 8960df3..34d93f7 100644 --- a/src/home/views.py +++ b/src/home/views.py @@ -8,6 +8,9 @@ from django.urls import translate_url from django.utils.translation import ( LANGUAGE_SESSION_KEY, check_for_language, get_language, ) +import datetime +from collections import defaultdict +import operator def get_content_by_lang(news): lang = get_language() @@ -22,6 +25,19 @@ def get_content_by_lang(news): ret = news.content_ru return ret +def get_weekly_top(): + week_ago = datetime.datetime.now() - datetime.timedelta(days=7) + weekly_flags = CTF_flags.objects.filter(flag_date__gt=week_ago, ctf__disabled=False, ctf__event=None) + scores = defaultdict(int) + + for sol in weekly_flags: + scores[sol.user] += sol.ctf.points + + users = sorted(scores.items(), key=operator.itemgetter(1), reverse=True) + users = [(u[0].userprofileinfo, u[1]) for u in users] + + return(users[:5]) + def home(request): lang_code = get_language() if hasattr(request, 'session') and LANGUAGE_SESSION_KEY in request.session: @@ -32,11 +48,15 @@ def home(request): response = HttpResponseRedirect(url_translated) return response news = new.objects.order_by('-pub_date')[:5] - latest_ctfs = CTF.objects.filter(event=None).order_by('-pub_date')[:5] + latest_ctfs = CTF.objects.filter(event=None, disabled=False).order_by('-pub_date')[:5] top10 = UserProfileInfo.objects.select_related().order_by('-score', 'last_submission_date', 'user__username')[:10] nb_flags = CTF_flags.objects.count() nb_users = UserProfileInfo.objects.count() - return render(request, 'home/home.html', {'news' : news, 'ctfs' : latest_ctfs, 'top' : top10, 'flags' : nb_flags}) + latest_flags = CTF_flags.objects.filter(ctf__event = None, ctf__disabled=False).order_by('-flag_date')[:5] + top_weekly = get_weekly_top() + + return render(request, 'home/home.html', {'news' : news, 'ctfs' : latest_ctfs, 'top' : top10, 'flags' : nb_flags, + 'latest_flags':latest_flags, 'top_weekly': top_weekly, 'nb_users': nb_users}) def cgu(request): return render(request, 'cgu.html') diff --git a/src/locale/de/LC_MESSAGES/django.po b/src/locale/de/LC_MESSAGES/django.po index 996564e..07ad827 100644 --- a/src/locale/de/LC_MESSAGES/django.po +++ b/src/locale/de/LC_MESSAGES/django.po @@ -3,87 +3,112 @@ # This file is distributed under the same license as the PACKAGE package. # FIRST AUTHOR , YEAR. # -#, fuzzy msgid "" msgstr "" -"Project-Id-Version: PACKAGE VERSION\n" +"Project-Id-Version: \n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-01-23 17:31+0000\n" -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" -"Last-Translator: FULL NAME \n" -"Language-Team: LANGUAGE \n" -"Language: \n" +"POT-Creation-Date: 2022-02-02 19:22+0100\n" +"PO-Revision-Date: 2022-02-04 05:56+0100\n" +"Last-Translator: Clément Hamada \n" +"Language-Team: \n" +"Language: de\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" +"X-Generator: Poedit 3.0\n" -#: accounts/templates/accounts/edit.html:21 -#: accounts/templates/accounts/login.html:18 -#: accounts/templates/accounts/register.html:22 -#: ctfs/templates/ctfs/ctf_info.html:60 ctfs/templates/ctfs/ctfs_list.html:12 -#: events/templates/events/ctf_info.html:70 -#: events/templates/events/event_info.html:63 -#: scoreboard/templates/scoreboard/scoreboard.html:13 -msgid "Username" -msgstr "" +#: accounts/templates/accounts/delete.html:8 +msgid "Delete account" +msgstr "Account löschen" -#: accounts/templates/accounts/edit.html:25 -msgid "Email" -msgstr "" +#: accounts/templates/accounts/delete.html:11 +msgid "Please confirm your password to delete your account." +msgstr "Bitte bestätigen sie ihr Passwort, um ihren Account zu löschen." -#: accounts/templates/accounts/edit.html:30 -#: ctfs/templates/ctfs/ctf_info.html:61 -#: events/templates/events/ctf_info.html:71 -#: events/templates/events/event_info.html:64 -#: scoreboard/templates/scoreboard/scoreboard.html:14 -msgid "Website" -msgstr "" +#: accounts/templates/accounts/delete.html:12 +msgid "Deleted accounts cannot be recovered." +msgstr "Gelöschte Accounts können nicht wiederhergestellt werden." -#: accounts/templates/accounts/edit.html:36 -#: events/templates/events/manage_team.html:29 -msgid "Apply" -msgstr "" +#: accounts/templates/accounts/delete.html:15 +msgid "Password inccorect." +msgstr "Falsches Passwort." -#: accounts/templates/accounts/edit.html:47 -#: accounts/templates/accounts/profile.html:46 -#: ctfs/templates/ctfs/ctf_info.html:62 ctfs/templates/ctfs/ctfs_list.html:13 -#: events/templates/events/event_info.html:65 -#: events/templates/events/event_info.html:87 -#: events/templates/events/manage_team.html:40 -#: events/templates/events/team.html:45 -#: scoreboard/templates/scoreboard/scoreboard.html:15 -msgid "Score" -msgstr "" - -#: accounts/templates/accounts/edit.html:55 -#: accounts/templates/accounts/profile.html:60 -msgid "Registered since" -msgstr "" - -#: accounts/templates/accounts/login.html:13 -msgid "Please, verify your infos." -msgstr "" +#: accounts/templates/accounts/delete.html:17 +msgid "Your account has been deleted." +msgstr "Ihr Account wurde gelöscht." +#: accounts/templates/accounts/delete.html:22 #: accounts/templates/accounts/login.html:19 #: accounts/templates/accounts/register.html:23 #: events/templates/events/create_team.html:26 #: events/templates/events/join_team.html:31 msgid "Password" -msgstr "" +msgstr "Passwort" + +#: accounts/templates/accounts/edit.html:21 +#: accounts/templates/accounts/login.html:18 +#: accounts/templates/accounts/register.html:22 +#: ctfs/templates/ctfs/ctf_info.html:61 ctfs/templates/ctfs/ctfs_list.html:12 +#: events/templates/events/ctf_info.html:71 +#: events/templates/events/event_info.html:64 +#: scoreboard/templates/scoreboard/scoreboard.html:13 +msgid "Username" +msgstr "Nutzername" + +#: accounts/templates/accounts/edit.html:25 +msgid "Email" +msgstr "Email" + +#: accounts/templates/accounts/edit.html:30 +#: ctfs/templates/ctfs/ctf_info.html:62 +#: events/templates/events/ctf_info.html:72 +#: events/templates/events/event_info.html:65 +#: scoreboard/templates/scoreboard/scoreboard.html:14 +msgid "Website" +msgstr "Webseite" + +#: accounts/templates/accounts/edit.html:36 +#: events/templates/events/manage_team.html:29 +msgid "Apply" +msgstr "Anwenden" + +#: accounts/templates/accounts/edit.html:47 +#: accounts/templates/accounts/profile.html:46 +#: ctfs/templates/ctfs/ctf_info.html:63 ctfs/templates/ctfs/ctfs_list.html:13 +#: events/templates/events/event_info.html:66 +#: events/templates/events/event_info.html:89 +#: events/templates/events/manage_team.html:40 +#: events/templates/events/team.html:45 +#: scoreboard/templates/scoreboard/scoreboard.html:15 +msgid "Score" +msgstr "Punktzahl" + +#: accounts/templates/accounts/edit.html:55 +#: accounts/templates/accounts/profile.html:60 +msgid "Registered since" +msgstr "Registriert seit" + +#: accounts/templates/accounts/edit.html:61 +msgid "Delete my account" +msgstr "Meinen Account löschen" + +#: accounts/templates/accounts/login.html:13 +msgid "Please, verify your infos." +msgstr "Überprüfen Sie bitte ihre Daten." #: accounts/templates/accounts/login.html:22 msgid "Reset password" -msgstr "" +msgstr "Passwort zurücksetzen" #: accounts/templates/accounts/login.html:31 -#: accounts/templates/accounts/register.html:38 templates/base.html:103 +#: accounts/templates/accounts/register.html:38 templates/base.html:101 #: templates/registration/password_reset_complete.html:18 #: templates/registration/password_reset_confirm.html:38 #: templates/registration/password_reset_done.html:18 #: templates/registration/password_reset_form.html:26 msgid "Login" -msgstr "" +msgstr "Anmelden" #: accounts/templates/accounts/login.html:32 #: accounts/templates/accounts/register.html:37 @@ -92,463 +117,485 @@ msgstr "" #: templates/registration/password_reset_done.html:19 #: templates/registration/password_reset_form.html:27 msgid "Sign up" -msgstr "" +msgstr "Registrieren" #: accounts/templates/accounts/profile.html:10 msgid "Challenges Solved by" -msgstr "" +msgstr "Herausforderung gelöst von" #: accounts/templates/accounts/profile.html:21 #: events/templates/events/team.html:20 msgid "Challenge Name" -msgstr "" +msgstr "Name der Herausforderung" #: accounts/templates/accounts/profile.html:22 #: events/templates/events/team.html:21 msgid "Category" -msgstr "" +msgstr "Kategorie" #: accounts/templates/accounts/profile.html:23 #: events/templates/events/team.html:22 msgid "Points" -msgstr "" +msgstr "Punkte" #: accounts/templates/accounts/profile.html:24 -#: ctfs/templates/ctfs/ctf_info.html:63 -#: events/templates/events/ctf_info.html:72 +#: ctfs/templates/ctfs/ctf_info.html:64 +#: events/templates/events/ctf_info.html:73 #: events/templates/events/team.html:23 msgid "Date" -msgstr "" +msgstr "Datum" #: accounts/templates/accounts/profile.html:39 msgid "It seems that this user has not solved any challenge yet..." -msgstr "" +msgstr "Es scheint bisher noch keiner diese Herausforderung gelöst zu haben..." #: accounts/templates/accounts/profile.html:47 -#: events/templates/events/event_info.html:62 -#: events/templates/events/event_info.html:85 +#: events/templates/events/event_info.html:63 +#: events/templates/events/event_info.html:87 #: events/templates/events/manage_team.html:41 #: events/templates/events/team.html:46 #: scoreboard/templates/scoreboard/scoreboard.html:12 msgid "Rank" -msgstr "" +msgstr "Rang" #: accounts/templates/accounts/profile.html:56 msgid "Status: Member" -msgstr "" +msgstr "Status: Mitglied" #: accounts/templates/accounts/profile.html:58 msgid "Status: Visitor" -msgstr "" +msgstr "Status: Gast" #: accounts/templates/accounts/profile.html:64 #: events/templates/events/team.html:57 msgid "Categories stats" -msgstr "" +msgstr "Kategorie Statistiken" #: accounts/templates/accounts/register.html:13 msgid "Welcome !" -msgstr "" +msgstr "Willkommen!" #: accounts/templates/accounts/register.html:14 msgid "Your account has been created." -msgstr "" +msgstr "Ihr Account wurde erstellt." #: accounts/templates/accounts/register.html:25 msgid "Personal website" -msgstr "" +msgstr "Persönliche Webseite" #: accounts/templates/accounts/register.html:26 +#: events/templates/events/event_info.html:119 msgid "Register" -msgstr "" +msgstr "Registrieren" #: accounts/views/views.py:33 msgid "Your account was inactive." -msgstr "" +msgstr "Ihr Account war inaktiv." #: accounts/views/views.py:52 msgid "" "The password must contain at least one letter and at least one digit or " "punctuation character." msgstr "" +"Das Passwort muss mindestens einen Buchstaben und eine Ziffer oder einen " +"Satzzeichen enthalten." #: accounts/views/views.py:54 msgid "A user with that email already exists." -msgstr "" +msgstr "Ein Nutzer mit dieser Email existiert bereits." #: accounts/views/views.py:67 msgid "A user with that username already exists." -msgstr "" +msgstr "Ein Nutzer mit diesem Nutzernamen existiert bereits." #: accounts/views/views.py:95 msgid "Email already taken." -msgstr "" +msgstr "Email bereits vergeben." #: accounts/views/views.py:101 msgid "Username already taken." -msgstr "" +msgstr "Nutzername bereits vergeben." #: accounts/views/views.py:105 events/views/teams.py:122 msgid "Updated." -msgstr "" +msgstr "Aktualisiert." -#: ctfs/templates/ctfs/ctf_info.html:9 events/templates/events/ctf_info.html:11 +#: ctfs/templates/ctfs/ctf_info.html:10 +#: events/templates/events/ctf_info.html:12 msgid "Published date" -msgstr "" +msgstr "Veröffentlichungsdatum" -#: ctfs/templates/ctfs/ctf_info.html:13 +#: ctfs/templates/ctfs/ctf_info.html:14 msgid "Challenge is not yet available." -msgstr "" +msgstr "Herausforderung ist noch nicht verfügbar." -#: ctfs/templates/ctfs/ctf_info.html:20 -#: events/templates/events/ctf_info.html:17 home/templates/home/home.html:22 +#: ctfs/templates/ctfs/ctf_info.html:21 +#: events/templates/events/ctf_info.html:18 home/templates/home/home.html:46 msgid "" "No translation available. Please try another language (English or French)." msgstr "" +"Keine Übersetzung verfügbar. Bitte versuchen Sie es auf einer anderen " +"Sprache noch einmal (Englisch oder Französisch)." -#: ctfs/templates/ctfs/ctf_info.html:26 -#: events/templates/events/ctf_info.html:31 +#: ctfs/templates/ctfs/ctf_info.html:27 +#: events/templates/events/ctf_info.html:32 msgid "Congratulation !" -msgstr "" +msgstr "Herzlichen Glückwunsch!" -#: ctfs/templates/ctfs/ctf_info.html:28 -#: events/templates/events/ctf_info.html:33 +#: ctfs/templates/ctfs/ctf_info.html:29 +#: events/templates/events/ctf_info.html:34 msgid "Already flagged" -msgstr "" +msgstr "Schon gelöst" -#: ctfs/templates/ctfs/ctf_info.html:30 ctfs/templates/ctfs/ctf_info.html:39 -#: events/templates/events/ctf_info.html:41 -#: events/templates/events/ctf_info.html:50 +#: ctfs/templates/ctfs/ctf_info.html:31 ctfs/templates/ctfs/ctf_info.html:40 +#: events/templates/events/ctf_info.html:42 +#: events/templates/events/ctf_info.html:51 msgid "Start the challenge" -msgstr "" +msgstr "Herausforderung beginnen" -#: ctfs/templates/ctfs/ctf_info.html:32 ctfs/templates/ctfs/ctf_info.html:41 -#: events/templates/events/ctf_info.html:43 -#: events/templates/events/ctf_info.html:52 +#: ctfs/templates/ctfs/ctf_info.html:33 ctfs/templates/ctfs/ctf_info.html:42 +#: events/templates/events/ctf_info.html:44 +#: events/templates/events/ctf_info.html:53 msgid "Download" -msgstr "" +msgstr "Herunterladen" -#: ctfs/templates/ctfs/ctf_info.html:36 -#: events/templates/events/ctf_info.html:47 +#: ctfs/templates/ctfs/ctf_info.html:37 +#: events/templates/events/ctf_info.html:48 msgid "Wrong flag ! You can do it !" -msgstr "" +msgstr "Falsche flagge! Sie können es schaffen!" -#: ctfs/templates/ctfs/ctf_info.html:55 -#: events/templates/events/ctf_info.html:65 +#: ctfs/templates/ctfs/ctf_info.html:56 +#: events/templates/events/ctf_info.html:66 msgid "Solved by" -msgstr "" +msgstr "Gelöst von" -#: ctfs/templates/ctfs/ctf_info.html:78 -#: events/templates/events/ctf_info.html:94 +#: ctfs/templates/ctfs/ctf_info.html:80 +#: events/templates/events/ctf_info.html:96 msgid "Nobody has solved this challenge yet." -msgstr "" +msgstr "Bisher hat noch niemand diese Herausforderung gelöst." -#: ctfs/templates/ctfs/ctf_info.html:84 -#: events/templates/events/ctf_info.html:100 +#: ctfs/templates/ctfs/ctf_info.html:87 +#: events/templates/events/ctf_info.html:103 msgid "Author" -msgstr "" +msgstr "Autor/-in" -#: ctfs/templates/ctfs/ctf_info.html:85 -#: events/templates/events/ctf_info.html:101 +#: ctfs/templates/ctfs/ctf_info.html:88 +#: events/templates/events/ctf_info.html:104 msgid "Point reward" -msgstr "" +msgstr "Belohnungspunkte" #: ctfs/templates/ctfs/ctfs_list.html:14 msgid "Solved" -msgstr "" +msgstr "Gelöst" #: ctfs/templates/ctfs/ctfs_list.html:37 msgid "No ctf available for this category." -msgstr "" +msgstr "Kein CTF in dieser Kategorie verfügbar." #: ctfs/templates/ctfs/ctfs_list.html:42 msgid "Categories" -msgstr "" +msgstr "Kategorien" #: ctfs/templates/ctfs/ctfs_list.html:48 templates/base.html:54 msgid "No category available." -msgstr "" +msgstr "Keine Kategorie verfügbar." #: events/templates/events/create_team.html:9 #: events/templates/events/join_team.html:9 msgid "This event starts at" -msgstr "" +msgstr "Dieses Ereignis beginnt am" #: events/templates/events/create_team.html:16 #: events/templates/events/join_team.html:16 msgid "You need to be registered to the event." -msgstr "" +msgstr "Sie müssen am Ereignis teilnehmen." #: events/templates/events/create_team.html:19 events/views/teams.py:118 msgid "Name already taken." -msgstr "" +msgstr "Name schon vergeben." #: events/templates/events/create_team.html:25 #: events/templates/events/join_team.html:30 #: events/templates/events/manage_team.html:22 msgid "Team name" -msgstr "" +msgstr "Teamname" #: events/templates/events/create_team.html:27 #: events/templates/events/create_team.html:46 #: events/templates/events/join_team.html:52 msgid "Create Team" -msgstr "" +msgstr "Team erstellen" #: events/templates/events/create_team.html:32 #: events/templates/events/event_pwd.html:28 #: events/templates/events/join_team.html:37 msgid "You need to be logged to access this event." -msgstr "" +msgstr "Sie müssen angemeldet sein um auf dieses Ereignis zuzugreifen." #: events/templates/events/create_team.html:41 -#: events/templates/events/event_info.html:111 +#: events/templates/events/event_info.html:113 #: events/templates/events/event_pwd.html:36 #: events/templates/events/join_team.html:46 msgid "Starts at" -msgstr "" +msgstr "Beginnt am" #: events/templates/events/create_team.html:42 -#: events/templates/events/event_info.html:112 +#: events/templates/events/event_info.html:114 #: events/templates/events/event_pwd.html:37 #: events/templates/events/join_team.html:47 msgid "Ends at" -msgstr "" +msgstr "Endet am" #: events/templates/events/create_team.html:47 #: events/templates/events/join_team.html:32 #: events/templates/events/join_team.html:51 msgid "Join Team" -msgstr "" +msgstr "Team beitreten" #: events/templates/events/create_team.html:54 #: events/templates/events/join_team.html:59 msgid "Find me a team !" -msgstr "" +msgstr "Finde mir einen Team!" -#: events/templates/events/ctf_info.html:9 +#: events/templates/events/ctf_info.html:10 msgid "Event" -msgstr "" +msgstr "Ereignis" -#: events/templates/events/ctf_info.html:24 -#: events/templates/events/event_info.html:8 +#: events/templates/events/ctf_info.html:25 +#: events/templates/events/event_info.html:9 msgid "Subscriptions is over." -msgstr "" +msgstr "Die Registrierung hat geendet." -#: events/templates/events/ctf_info.html:27 -#: events/templates/events/event_info.html:11 +#: events/templates/events/ctf_info.html:28 +#: events/templates/events/event_info.html:12 #: events/templates/events/event_pwd.html:18 msgid "You're already registered to this event." -msgstr "" +msgstr "Sie haben sich schon für dieses Ereignis registriert." -#: events/templates/events/ctf_info.html:35 -#: events/templates/events/event_info.html:17 +#: events/templates/events/ctf_info.html:36 +#: events/templates/events/event_info.html:18 msgid "This event is over." -msgstr "" +msgstr "Dieses Ereignis hat bereits geendet." -#: events/templates/events/ctf_info.html:37 +#: events/templates/events/ctf_info.html:38 msgid "Error while processing your request. (Invalid Form)" -msgstr "" +msgstr "Fehler während der Verarbeitung ihrer Anfrage. (Ungültiges Formular)" -#: events/templates/events/ctf_info.html:39 +#: events/templates/events/ctf_info.html:40 msgid "" "Error: you're not registered to this event, so you can't register scores, " "fucking logic." msgstr "" +"Fehler: Sie nehmen an diesem Ereignis nicht teil, und können deshalb keinen " +"Punktestand registrieren." -#: events/templates/events/event_info.html:19 +#: events/templates/events/event_info.html:20 #: events/templates/events/event_pwd.html:9 msgid "This event start at" -msgstr "" +msgstr "Dieses Ereignis startet am" -#: events/templates/events/event_info.html:29 +#: events/templates/events/event_info.html:30 msgid "Challenges" -msgstr "" +msgstr "Herausforderungen" -#: events/templates/events/event_info.html:46 +#: events/templates/events/event_info.html:47 msgid "No challenges available." -msgstr "" +msgstr "Keine Herausforderung verfügbar." -#: events/templates/events/event_info.html:50 +#: events/templates/events/event_info.html:51 msgid "The event has not started yet." -msgstr "" +msgstr "Das Ereignis hat noch nicht begonnen." -#: events/templates/events/event_info.html:56 +#: events/templates/events/event_info.html:57 msgid "ScoreBoard" -msgstr "" +msgstr "Punktestand" -#: events/templates/events/event_info.html:86 +#: events/templates/events/event_info.html:88 msgid "Team" -msgstr "" +msgstr "Team" -#: events/templates/events/event_info.html:104 +#: events/templates/events/event_info.html:106 msgid "No one have earn point yet, you gonna be the first ?" -msgstr "" +msgstr "Niemand hat bisher Punkte verdient, werden Sie der erste sein?" -#: events/templates/events/event_info.html:117 -msgid "Register" -msgstr "" - -#: events/templates/events/event_info.html:127 +#: events/templates/events/event_info.html:129 msgid "Manage my team" -msgstr "" +msgstr "Team verwalten" #: events/templates/events/event_pwd.html:15 #: events/templates/events/join_team.html:21 msgid "Wrong password submited." -msgstr "" +msgstr "Falsches Passwort eingetragen." #: events/templates/events/event_pwd.html:20 msgid "This event is password protected" -msgstr "" +msgstr "Dieses Ereignis ist passwortgeschützt" #: events/templates/events/event_pwd.html:21 msgid "You need to submit the event password to gain access to this event." -msgstr "" +msgstr "Sie müssen das Ereignispasswort eintragen um darauf zuzugreifen." -#: events/templates/events/events_list.html:6 templates/base.html:63 +#: events/templates/events/events_list.html:6 templates/base.html:61 msgid "Events" -msgstr "" +msgstr "Ereignisse" #: events/templates/events/events_list.html:38 msgid "See more" -msgstr "" +msgstr "Weiter" #: events/templates/events/events_list.html:44 msgid "No events available." -msgstr "" +msgstr "Keine Ereignisse verfügbar." #: events/templates/events/join_team.html:19 msgid "Team does not exist." -msgstr "" +msgstr "Team existiert nicht." #: events/templates/events/join_team.html:23 msgid "Maximum size reached." -msgstr "" +msgstr "Maximale Mitgliederanzahl erreicht." #: events/templates/events/manage_team.html:26 msgid "Team password" -msgstr "" +msgstr "Teampasswort" #: events/templates/events/manage_team.html:44 #: events/templates/events/team.html:49 msgid "Members" -msgstr "" +msgstr "Mitgliede" #: events/templates/events/manage_team.html:51 msgid "Leave Team" -msgstr "" +msgstr "Team verlassen" #: events/templates/events/team.html:38 msgid "It seems that this team has not solved any challenge yet..." -msgstr "" +msgstr "Dieses Team scheint noch keine Herausforderung gelöst zu haben..." -#: home/templates/home/home.html:32 +#: home/templates/home/home.html:20 +msgid "Weekly Top 5" +msgstr "Top 5 der Woche" + +#: home/templates/home/home.html:56 msgid "No article available." -msgstr "" +msgstr "Kein Artikel verfügbar." -#: home/templates/home/home.html:37 +#: home/templates/home/home.html:61 msgid "Latest challenges added" -msgstr "" +msgstr "Letzte Herausforderung hinzugefügt" -#: home/templates/home/home.html:43 +#: home/templates/home/home.html:66 +msgid "points" +msgstr "Punkte" + +#: home/templates/home/home.html:70 msgid "No ctf available." -msgstr "" +msgstr "Kein CTF verfügbar." -#: home/templates/home/home.html:53 -msgid "Flags counter" -msgstr "" +#: home/templates/home/home.html:74 +msgid "Latest Flags" +msgstr "Letzte Flaggen" + +#: home/templates/home/home.html:88 +msgid "Flags" +msgstr "Flaggen" + +#: home/templates/home/home.html:94 +msgid "Users" +msgstr "Nutzer" #: project/settings.py:115 msgid "English" -msgstr "" +msgstr "Englisch" #: project/settings.py:116 msgid "German" -msgstr "" +msgstr "Deutsch" #: project/settings.py:117 msgid "French" -msgstr "" +msgstr "Französisch" #: project/settings.py:118 msgid "Russian" -msgstr "" +msgstr "Russisch" #: scoreboard/templates/scoreboard/scoreboard.html:38 msgid "First" -msgstr "" +msgstr "Erste" #: scoreboard/templates/scoreboard/scoreboard.html:39 msgid "Previous" -msgstr "" +msgstr "Vorherige" #: scoreboard/templates/scoreboard/scoreboard.html:43 msgid "Page " -msgstr "" +msgstr "Seite " #: scoreboard/templates/scoreboard/scoreboard.html:47 msgid "Next" -msgstr "" +msgstr "Nächste" #: scoreboard/templates/scoreboard/scoreboard.html:48 msgid "Last" -msgstr "" +msgstr "Letzte" #: templates/base.html:59 msgid "Scoreboard" -msgstr "" +msgstr "Punktestand" -#: templates/base.html:66 +#: templates/base.html:64 msgid "Resources" -msgstr "" +msgstr "Ressourcen" -#: templates/base.html:99 +#: templates/base.html:97 msgid "Logout" -msgstr "" +msgstr "Abmelden" -#: templates/base.html:106 +#: templates/base.html:104 msgid "Sign Up" -msgstr "" +msgstr "Registrieren" -#: templates/base.html:134 +#: templates/base.html:139 msgid "Become a Patron!" -msgstr "" +msgstr "Unterstützen Sie uns!" #: templates/registration/password_reset_complete.html:11 msgid "Your new password has been set." -msgstr "" +msgstr "Ihr neues Passwort wurde festgelegt." #: templates/registration/password_reset_confirm.html:20 msgid "Your password can’t be too similar to your other personal information." -msgstr "" +msgstr "Ihr Passwort kann nicht zu ähnlich zu ihren persönlichen Daten sein." #: templates/registration/password_reset_confirm.html:21 msgid "Your password must contain at least 8 characters." -msgstr "" +msgstr "Ihr Passwort muss mindestens 8 Zeichen enthalten." #: templates/registration/password_reset_confirm.html:22 msgid "Your password can’t be a commonly used password." -msgstr "" +msgstr "Ihr Passwort kann nicht ein häufig benutztes Passwort sein." #: templates/registration/password_reset_confirm.html:23 msgid "Your password can’t be entirely numeric." -msgstr "" +msgstr "Ihr Passwort kann nicht nur Ziffern enthalten." #: templates/registration/password_reset_confirm.html:26 msgid "Confirm" -msgstr "" +msgstr "Bestätigen" #: templates/registration/password_reset_confirm.html:28 msgid "Submit" -msgstr "" +msgstr "Einreichen" #: templates/registration/password_reset_done.html:11 msgid "" "We've emailed you instructions for setting your password. You should receive " "the email shortly!" msgstr "" +"Wir haben Ihnen eine Anleitung um Ihren Passwort zurückzusetzen per Email " +"geschickt. Sie sollten sie in Kürze empfangen!" #: templates/registration/password_reset_form.html:16 msgid "Reset" -msgstr "" +msgstr "Zurücksetzen" diff --git a/src/locale/en/LC_MESSAGES/django.po b/src/locale/en/LC_MESSAGES/django.po index 996564e..b77f7d3 100644 --- a/src/locale/en/LC_MESSAGES/django.po +++ b/src/locale/en/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-01-23 17:31+0000\n" +"POT-Creation-Date: 2022-02-02 19:22+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -18,12 +18,40 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" +#: accounts/templates/accounts/delete.html:8 +msgid "Delete account" +msgstr "" + +#: accounts/templates/accounts/delete.html:11 +msgid "Please confirm your password to delete your account." +msgstr "" + +#: accounts/templates/accounts/delete.html:12 +msgid "Deleted accounts cannot be recovered." +msgstr "" + +#: accounts/templates/accounts/delete.html:15 +msgid "Password inccorect." +msgstr "" + +#: accounts/templates/accounts/delete.html:17 +msgid "Your account has been deleted." +msgstr "" + +#: accounts/templates/accounts/delete.html:22 +#: accounts/templates/accounts/login.html:19 +#: accounts/templates/accounts/register.html:23 +#: events/templates/events/create_team.html:26 +#: events/templates/events/join_team.html:31 +msgid "Password" +msgstr "" + #: accounts/templates/accounts/edit.html:21 #: accounts/templates/accounts/login.html:18 #: accounts/templates/accounts/register.html:22 -#: ctfs/templates/ctfs/ctf_info.html:60 ctfs/templates/ctfs/ctfs_list.html:12 -#: events/templates/events/ctf_info.html:70 -#: events/templates/events/event_info.html:63 +#: ctfs/templates/ctfs/ctf_info.html:61 ctfs/templates/ctfs/ctfs_list.html:12 +#: events/templates/events/ctf_info.html:71 +#: events/templates/events/event_info.html:64 #: scoreboard/templates/scoreboard/scoreboard.html:13 msgid "Username" msgstr "" @@ -33,9 +61,9 @@ msgid "Email" msgstr "" #: accounts/templates/accounts/edit.html:30 -#: ctfs/templates/ctfs/ctf_info.html:61 -#: events/templates/events/ctf_info.html:71 -#: events/templates/events/event_info.html:64 +#: ctfs/templates/ctfs/ctf_info.html:62 +#: events/templates/events/ctf_info.html:72 +#: events/templates/events/event_info.html:65 #: scoreboard/templates/scoreboard/scoreboard.html:14 msgid "Website" msgstr "" @@ -47,9 +75,9 @@ msgstr "" #: accounts/templates/accounts/edit.html:47 #: accounts/templates/accounts/profile.html:46 -#: ctfs/templates/ctfs/ctf_info.html:62 ctfs/templates/ctfs/ctfs_list.html:13 -#: events/templates/events/event_info.html:65 -#: events/templates/events/event_info.html:87 +#: ctfs/templates/ctfs/ctf_info.html:63 ctfs/templates/ctfs/ctfs_list.html:13 +#: events/templates/events/event_info.html:66 +#: events/templates/events/event_info.html:89 #: events/templates/events/manage_team.html:40 #: events/templates/events/team.html:45 #: scoreboard/templates/scoreboard/scoreboard.html:15 @@ -61,15 +89,12 @@ msgstr "" msgid "Registered since" msgstr "" -#: accounts/templates/accounts/login.html:13 -msgid "Please, verify your infos." +#: accounts/templates/accounts/edit.html:61 +msgid "Delete my account" msgstr "" -#: accounts/templates/accounts/login.html:19 -#: accounts/templates/accounts/register.html:23 -#: events/templates/events/create_team.html:26 -#: events/templates/events/join_team.html:31 -msgid "Password" +#: accounts/templates/accounts/login.html:13 +msgid "Please, verify your infos." msgstr "" #: accounts/templates/accounts/login.html:22 @@ -114,8 +139,8 @@ msgid "Points" msgstr "" #: accounts/templates/accounts/profile.html:24 -#: ctfs/templates/ctfs/ctf_info.html:63 -#: events/templates/events/ctf_info.html:72 +#: ctfs/templates/ctfs/ctf_info.html:64 +#: events/templates/events/ctf_info.html:73 #: events/templates/events/team.html:23 msgid "Date" msgstr "" @@ -125,8 +150,8 @@ msgid "It seems that this user has not solved any challenge yet..." msgstr "" #: accounts/templates/accounts/profile.html:47 -#: events/templates/events/event_info.html:62 -#: events/templates/events/event_info.html:85 +#: events/templates/events/event_info.html:63 +#: events/templates/events/event_info.html:87 #: events/templates/events/manage_team.html:41 #: events/templates/events/team.html:46 #: scoreboard/templates/scoreboard/scoreboard.html:12 @@ -159,6 +184,7 @@ msgid "Personal website" msgstr "" #: accounts/templates/accounts/register.html:26 +#: events/templates/events/event_info.html:119 msgid "Register" msgstr "" @@ -192,64 +218,65 @@ msgstr "" msgid "Updated." msgstr "" -#: ctfs/templates/ctfs/ctf_info.html:9 events/templates/events/ctf_info.html:11 +#: ctfs/templates/ctfs/ctf_info.html:10 +#: events/templates/events/ctf_info.html:12 msgid "Published date" msgstr "" -#: ctfs/templates/ctfs/ctf_info.html:13 +#: ctfs/templates/ctfs/ctf_info.html:14 msgid "Challenge is not yet available." msgstr "" -#: ctfs/templates/ctfs/ctf_info.html:20 -#: events/templates/events/ctf_info.html:17 home/templates/home/home.html:22 +#: ctfs/templates/ctfs/ctf_info.html:21 +#: events/templates/events/ctf_info.html:18 home/templates/home/home.html:46 msgid "" "No translation available. Please try another language (English or French)." msgstr "" -#: ctfs/templates/ctfs/ctf_info.html:26 -#: events/templates/events/ctf_info.html:31 +#: ctfs/templates/ctfs/ctf_info.html:27 +#: events/templates/events/ctf_info.html:32 msgid "Congratulation !" msgstr "" -#: ctfs/templates/ctfs/ctf_info.html:28 -#: events/templates/events/ctf_info.html:33 +#: ctfs/templates/ctfs/ctf_info.html:29 +#: events/templates/events/ctf_info.html:34 msgid "Already flagged" msgstr "" -#: ctfs/templates/ctfs/ctf_info.html:30 ctfs/templates/ctfs/ctf_info.html:39 -#: events/templates/events/ctf_info.html:41 -#: events/templates/events/ctf_info.html:50 +#: ctfs/templates/ctfs/ctf_info.html:31 ctfs/templates/ctfs/ctf_info.html:40 +#: events/templates/events/ctf_info.html:42 +#: events/templates/events/ctf_info.html:51 msgid "Start the challenge" msgstr "" -#: ctfs/templates/ctfs/ctf_info.html:32 ctfs/templates/ctfs/ctf_info.html:41 -#: events/templates/events/ctf_info.html:43 -#: events/templates/events/ctf_info.html:52 +#: ctfs/templates/ctfs/ctf_info.html:33 ctfs/templates/ctfs/ctf_info.html:42 +#: events/templates/events/ctf_info.html:44 +#: events/templates/events/ctf_info.html:53 msgid "Download" msgstr "" -#: ctfs/templates/ctfs/ctf_info.html:36 -#: events/templates/events/ctf_info.html:47 +#: ctfs/templates/ctfs/ctf_info.html:37 +#: events/templates/events/ctf_info.html:48 msgid "Wrong flag ! You can do it !" msgstr "" -#: ctfs/templates/ctfs/ctf_info.html:55 -#: events/templates/events/ctf_info.html:65 +#: ctfs/templates/ctfs/ctf_info.html:56 +#: events/templates/events/ctf_info.html:66 msgid "Solved by" msgstr "" -#: ctfs/templates/ctfs/ctf_info.html:78 -#: events/templates/events/ctf_info.html:94 +#: ctfs/templates/ctfs/ctf_info.html:80 +#: events/templates/events/ctf_info.html:96 msgid "Nobody has solved this challenge yet." msgstr "" -#: ctfs/templates/ctfs/ctf_info.html:84 -#: events/templates/events/ctf_info.html:100 +#: ctfs/templates/ctfs/ctf_info.html:87 +#: events/templates/events/ctf_info.html:103 msgid "Author" msgstr "" -#: ctfs/templates/ctfs/ctf_info.html:85 -#: events/templates/events/ctf_info.html:101 +#: ctfs/templates/ctfs/ctf_info.html:88 +#: events/templates/events/ctf_info.html:104 msgid "Point reward" msgstr "" @@ -302,14 +329,14 @@ msgid "You need to be logged to access this event." msgstr "" #: events/templates/events/create_team.html:41 -#: events/templates/events/event_info.html:111 +#: events/templates/events/event_info.html:113 #: events/templates/events/event_pwd.html:36 #: events/templates/events/join_team.html:46 msgid "Starts at" msgstr "" #: events/templates/events/create_team.html:42 -#: events/templates/events/event_info.html:112 +#: events/templates/events/event_info.html:114 #: events/templates/events/event_pwd.html:37 #: events/templates/events/join_team.html:47 msgid "Ends at" @@ -326,70 +353,66 @@ msgstr "" msgid "Find me a team !" msgstr "" -#: events/templates/events/ctf_info.html:9 +#: events/templates/events/ctf_info.html:10 msgid "Event" msgstr "" -#: events/templates/events/ctf_info.html:24 -#: events/templates/events/event_info.html:8 +#: events/templates/events/ctf_info.html:25 +#: events/templates/events/event_info.html:9 msgid "Subscriptions is over." msgstr "" -#: events/templates/events/ctf_info.html:27 -#: events/templates/events/event_info.html:11 +#: events/templates/events/ctf_info.html:28 +#: events/templates/events/event_info.html:12 #: events/templates/events/event_pwd.html:18 msgid "You're already registered to this event." msgstr "" -#: events/templates/events/ctf_info.html:35 -#: events/templates/events/event_info.html:17 +#: events/templates/events/ctf_info.html:36 +#: events/templates/events/event_info.html:18 msgid "This event is over." msgstr "" -#: events/templates/events/ctf_info.html:37 +#: events/templates/events/ctf_info.html:38 msgid "Error while processing your request. (Invalid Form)" msgstr "" -#: events/templates/events/ctf_info.html:39 +#: events/templates/events/ctf_info.html:40 msgid "" "Error: you're not registered to this event, so you can't register scores, " "fucking logic." msgstr "" -#: events/templates/events/event_info.html:19 +#: events/templates/events/event_info.html:20 #: events/templates/events/event_pwd.html:9 msgid "This event start at" msgstr "" -#: events/templates/events/event_info.html:29 +#: events/templates/events/event_info.html:30 msgid "Challenges" msgstr "" -#: events/templates/events/event_info.html:46 +#: events/templates/events/event_info.html:47 msgid "No challenges available." msgstr "" -#: events/templates/events/event_info.html:50 +#: events/templates/events/event_info.html:51 msgid "The event has not started yet." msgstr "" -#: events/templates/events/event_info.html:56 +#: events/templates/events/event_info.html:57 msgid "ScoreBoard" msgstr "" -#: events/templates/events/event_info.html:86 +#: events/templates/events/event_info.html:88 msgid "Team" msgstr "" -#: events/templates/events/event_info.html:104 +#: events/templates/events/event_info.html:106 msgid "No one have earn point yet, you gonna be the first ?" msgstr "" -#: events/templates/events/event_info.html:117 -msgid "Register" -msgstr "" - -#: events/templates/events/event_info.html:127 +#: events/templates/events/event_info.html:129 msgid "Manage my team" msgstr "" @@ -443,20 +466,36 @@ msgstr "" msgid "It seems that this team has not solved any challenge yet..." msgstr "" -#: home/templates/home/home.html:32 +#: home/templates/home/home.html:20 +msgid "Weekly Top 5" +msgstr "" + +#: home/templates/home/home.html:56 msgid "No article available." msgstr "" -#: home/templates/home/home.html:37 +#: home/templates/home/home.html:61 msgid "Latest challenges added" msgstr "" -#: home/templates/home/home.html:43 +#: home/templates/home/home.html:66 +msgid "points" +msgstr "" + +#: home/templates/home/home.html:70 msgid "No ctf available." msgstr "" -#: home/templates/home/home.html:53 -msgid "Flags counter" +#: home/templates/home/home.html:74 +msgid "Latest Flags" +msgstr "" + +#: home/templates/home/home.html:88 +msgid "Flags" +msgstr "" + +#: home/templates/home/home.html:94 +msgid "Users" msgstr "" #: project/settings.py:115 @@ -511,7 +550,7 @@ msgstr "" msgid "Sign Up" msgstr "" -#: templates/base.html:134 +#: templates/base.html:144 msgid "Become a Patron!" msgstr "" diff --git a/src/locale/es/LC_MESSAGES/django.po b/src/locale/es/LC_MESSAGES/django.po index 996564e..b77f7d3 100644 --- a/src/locale/es/LC_MESSAGES/django.po +++ b/src/locale/es/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-01-23 17:31+0000\n" +"POT-Creation-Date: 2022-02-02 19:22+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -18,12 +18,40 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" +#: accounts/templates/accounts/delete.html:8 +msgid "Delete account" +msgstr "" + +#: accounts/templates/accounts/delete.html:11 +msgid "Please confirm your password to delete your account." +msgstr "" + +#: accounts/templates/accounts/delete.html:12 +msgid "Deleted accounts cannot be recovered." +msgstr "" + +#: accounts/templates/accounts/delete.html:15 +msgid "Password inccorect." +msgstr "" + +#: accounts/templates/accounts/delete.html:17 +msgid "Your account has been deleted." +msgstr "" + +#: accounts/templates/accounts/delete.html:22 +#: accounts/templates/accounts/login.html:19 +#: accounts/templates/accounts/register.html:23 +#: events/templates/events/create_team.html:26 +#: events/templates/events/join_team.html:31 +msgid "Password" +msgstr "" + #: accounts/templates/accounts/edit.html:21 #: accounts/templates/accounts/login.html:18 #: accounts/templates/accounts/register.html:22 -#: ctfs/templates/ctfs/ctf_info.html:60 ctfs/templates/ctfs/ctfs_list.html:12 -#: events/templates/events/ctf_info.html:70 -#: events/templates/events/event_info.html:63 +#: ctfs/templates/ctfs/ctf_info.html:61 ctfs/templates/ctfs/ctfs_list.html:12 +#: events/templates/events/ctf_info.html:71 +#: events/templates/events/event_info.html:64 #: scoreboard/templates/scoreboard/scoreboard.html:13 msgid "Username" msgstr "" @@ -33,9 +61,9 @@ msgid "Email" msgstr "" #: accounts/templates/accounts/edit.html:30 -#: ctfs/templates/ctfs/ctf_info.html:61 -#: events/templates/events/ctf_info.html:71 -#: events/templates/events/event_info.html:64 +#: ctfs/templates/ctfs/ctf_info.html:62 +#: events/templates/events/ctf_info.html:72 +#: events/templates/events/event_info.html:65 #: scoreboard/templates/scoreboard/scoreboard.html:14 msgid "Website" msgstr "" @@ -47,9 +75,9 @@ msgstr "" #: accounts/templates/accounts/edit.html:47 #: accounts/templates/accounts/profile.html:46 -#: ctfs/templates/ctfs/ctf_info.html:62 ctfs/templates/ctfs/ctfs_list.html:13 -#: events/templates/events/event_info.html:65 -#: events/templates/events/event_info.html:87 +#: ctfs/templates/ctfs/ctf_info.html:63 ctfs/templates/ctfs/ctfs_list.html:13 +#: events/templates/events/event_info.html:66 +#: events/templates/events/event_info.html:89 #: events/templates/events/manage_team.html:40 #: events/templates/events/team.html:45 #: scoreboard/templates/scoreboard/scoreboard.html:15 @@ -61,15 +89,12 @@ msgstr "" msgid "Registered since" msgstr "" -#: accounts/templates/accounts/login.html:13 -msgid "Please, verify your infos." +#: accounts/templates/accounts/edit.html:61 +msgid "Delete my account" msgstr "" -#: accounts/templates/accounts/login.html:19 -#: accounts/templates/accounts/register.html:23 -#: events/templates/events/create_team.html:26 -#: events/templates/events/join_team.html:31 -msgid "Password" +#: accounts/templates/accounts/login.html:13 +msgid "Please, verify your infos." msgstr "" #: accounts/templates/accounts/login.html:22 @@ -114,8 +139,8 @@ msgid "Points" msgstr "" #: accounts/templates/accounts/profile.html:24 -#: ctfs/templates/ctfs/ctf_info.html:63 -#: events/templates/events/ctf_info.html:72 +#: ctfs/templates/ctfs/ctf_info.html:64 +#: events/templates/events/ctf_info.html:73 #: events/templates/events/team.html:23 msgid "Date" msgstr "" @@ -125,8 +150,8 @@ msgid "It seems that this user has not solved any challenge yet..." msgstr "" #: accounts/templates/accounts/profile.html:47 -#: events/templates/events/event_info.html:62 -#: events/templates/events/event_info.html:85 +#: events/templates/events/event_info.html:63 +#: events/templates/events/event_info.html:87 #: events/templates/events/manage_team.html:41 #: events/templates/events/team.html:46 #: scoreboard/templates/scoreboard/scoreboard.html:12 @@ -159,6 +184,7 @@ msgid "Personal website" msgstr "" #: accounts/templates/accounts/register.html:26 +#: events/templates/events/event_info.html:119 msgid "Register" msgstr "" @@ -192,64 +218,65 @@ msgstr "" msgid "Updated." msgstr "" -#: ctfs/templates/ctfs/ctf_info.html:9 events/templates/events/ctf_info.html:11 +#: ctfs/templates/ctfs/ctf_info.html:10 +#: events/templates/events/ctf_info.html:12 msgid "Published date" msgstr "" -#: ctfs/templates/ctfs/ctf_info.html:13 +#: ctfs/templates/ctfs/ctf_info.html:14 msgid "Challenge is not yet available." msgstr "" -#: ctfs/templates/ctfs/ctf_info.html:20 -#: events/templates/events/ctf_info.html:17 home/templates/home/home.html:22 +#: ctfs/templates/ctfs/ctf_info.html:21 +#: events/templates/events/ctf_info.html:18 home/templates/home/home.html:46 msgid "" "No translation available. Please try another language (English or French)." msgstr "" -#: ctfs/templates/ctfs/ctf_info.html:26 -#: events/templates/events/ctf_info.html:31 +#: ctfs/templates/ctfs/ctf_info.html:27 +#: events/templates/events/ctf_info.html:32 msgid "Congratulation !" msgstr "" -#: ctfs/templates/ctfs/ctf_info.html:28 -#: events/templates/events/ctf_info.html:33 +#: ctfs/templates/ctfs/ctf_info.html:29 +#: events/templates/events/ctf_info.html:34 msgid "Already flagged" msgstr "" -#: ctfs/templates/ctfs/ctf_info.html:30 ctfs/templates/ctfs/ctf_info.html:39 -#: events/templates/events/ctf_info.html:41 -#: events/templates/events/ctf_info.html:50 +#: ctfs/templates/ctfs/ctf_info.html:31 ctfs/templates/ctfs/ctf_info.html:40 +#: events/templates/events/ctf_info.html:42 +#: events/templates/events/ctf_info.html:51 msgid "Start the challenge" msgstr "" -#: ctfs/templates/ctfs/ctf_info.html:32 ctfs/templates/ctfs/ctf_info.html:41 -#: events/templates/events/ctf_info.html:43 -#: events/templates/events/ctf_info.html:52 +#: ctfs/templates/ctfs/ctf_info.html:33 ctfs/templates/ctfs/ctf_info.html:42 +#: events/templates/events/ctf_info.html:44 +#: events/templates/events/ctf_info.html:53 msgid "Download" msgstr "" -#: ctfs/templates/ctfs/ctf_info.html:36 -#: events/templates/events/ctf_info.html:47 +#: ctfs/templates/ctfs/ctf_info.html:37 +#: events/templates/events/ctf_info.html:48 msgid "Wrong flag ! You can do it !" msgstr "" -#: ctfs/templates/ctfs/ctf_info.html:55 -#: events/templates/events/ctf_info.html:65 +#: ctfs/templates/ctfs/ctf_info.html:56 +#: events/templates/events/ctf_info.html:66 msgid "Solved by" msgstr "" -#: ctfs/templates/ctfs/ctf_info.html:78 -#: events/templates/events/ctf_info.html:94 +#: ctfs/templates/ctfs/ctf_info.html:80 +#: events/templates/events/ctf_info.html:96 msgid "Nobody has solved this challenge yet." msgstr "" -#: ctfs/templates/ctfs/ctf_info.html:84 -#: events/templates/events/ctf_info.html:100 +#: ctfs/templates/ctfs/ctf_info.html:87 +#: events/templates/events/ctf_info.html:103 msgid "Author" msgstr "" -#: ctfs/templates/ctfs/ctf_info.html:85 -#: events/templates/events/ctf_info.html:101 +#: ctfs/templates/ctfs/ctf_info.html:88 +#: events/templates/events/ctf_info.html:104 msgid "Point reward" msgstr "" @@ -302,14 +329,14 @@ msgid "You need to be logged to access this event." msgstr "" #: events/templates/events/create_team.html:41 -#: events/templates/events/event_info.html:111 +#: events/templates/events/event_info.html:113 #: events/templates/events/event_pwd.html:36 #: events/templates/events/join_team.html:46 msgid "Starts at" msgstr "" #: events/templates/events/create_team.html:42 -#: events/templates/events/event_info.html:112 +#: events/templates/events/event_info.html:114 #: events/templates/events/event_pwd.html:37 #: events/templates/events/join_team.html:47 msgid "Ends at" @@ -326,70 +353,66 @@ msgstr "" msgid "Find me a team !" msgstr "" -#: events/templates/events/ctf_info.html:9 +#: events/templates/events/ctf_info.html:10 msgid "Event" msgstr "" -#: events/templates/events/ctf_info.html:24 -#: events/templates/events/event_info.html:8 +#: events/templates/events/ctf_info.html:25 +#: events/templates/events/event_info.html:9 msgid "Subscriptions is over." msgstr "" -#: events/templates/events/ctf_info.html:27 -#: events/templates/events/event_info.html:11 +#: events/templates/events/ctf_info.html:28 +#: events/templates/events/event_info.html:12 #: events/templates/events/event_pwd.html:18 msgid "You're already registered to this event." msgstr "" -#: events/templates/events/ctf_info.html:35 -#: events/templates/events/event_info.html:17 +#: events/templates/events/ctf_info.html:36 +#: events/templates/events/event_info.html:18 msgid "This event is over." msgstr "" -#: events/templates/events/ctf_info.html:37 +#: events/templates/events/ctf_info.html:38 msgid "Error while processing your request. (Invalid Form)" msgstr "" -#: events/templates/events/ctf_info.html:39 +#: events/templates/events/ctf_info.html:40 msgid "" "Error: you're not registered to this event, so you can't register scores, " "fucking logic." msgstr "" -#: events/templates/events/event_info.html:19 +#: events/templates/events/event_info.html:20 #: events/templates/events/event_pwd.html:9 msgid "This event start at" msgstr "" -#: events/templates/events/event_info.html:29 +#: events/templates/events/event_info.html:30 msgid "Challenges" msgstr "" -#: events/templates/events/event_info.html:46 +#: events/templates/events/event_info.html:47 msgid "No challenges available." msgstr "" -#: events/templates/events/event_info.html:50 +#: events/templates/events/event_info.html:51 msgid "The event has not started yet." msgstr "" -#: events/templates/events/event_info.html:56 +#: events/templates/events/event_info.html:57 msgid "ScoreBoard" msgstr "" -#: events/templates/events/event_info.html:86 +#: events/templates/events/event_info.html:88 msgid "Team" msgstr "" -#: events/templates/events/event_info.html:104 +#: events/templates/events/event_info.html:106 msgid "No one have earn point yet, you gonna be the first ?" msgstr "" -#: events/templates/events/event_info.html:117 -msgid "Register" -msgstr "" - -#: events/templates/events/event_info.html:127 +#: events/templates/events/event_info.html:129 msgid "Manage my team" msgstr "" @@ -443,20 +466,36 @@ msgstr "" msgid "It seems that this team has not solved any challenge yet..." msgstr "" -#: home/templates/home/home.html:32 +#: home/templates/home/home.html:20 +msgid "Weekly Top 5" +msgstr "" + +#: home/templates/home/home.html:56 msgid "No article available." msgstr "" -#: home/templates/home/home.html:37 +#: home/templates/home/home.html:61 msgid "Latest challenges added" msgstr "" -#: home/templates/home/home.html:43 +#: home/templates/home/home.html:66 +msgid "points" +msgstr "" + +#: home/templates/home/home.html:70 msgid "No ctf available." msgstr "" -#: home/templates/home/home.html:53 -msgid "Flags counter" +#: home/templates/home/home.html:74 +msgid "Latest Flags" +msgstr "" + +#: home/templates/home/home.html:88 +msgid "Flags" +msgstr "" + +#: home/templates/home/home.html:94 +msgid "Users" msgstr "" #: project/settings.py:115 @@ -511,7 +550,7 @@ msgstr "" msgid "Sign Up" msgstr "" -#: templates/base.html:134 +#: templates/base.html:144 msgid "Become a Patron!" msgstr "" diff --git a/src/locale/fr/LC_MESSAGES/django.po b/src/locale/fr/LC_MESSAGES/django.po index 4481aa1..e170cf0 100644 --- a/src/locale/fr/LC_MESSAGES/django.po +++ b/src/locale/fr/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-01-23 17:31+0000\n" +"POT-Creation-Date: 2022-02-02 19:22+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -18,12 +18,44 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" +#: accounts/templates/accounts/delete.html:8 +#, fuzzy +#| msgid "Connected accounts" +msgid "Delete account" +msgstr "Comptes connectés" + +#: accounts/templates/accounts/delete.html:11 +msgid "Please confirm your password to delete your account." +msgstr "" + +#: accounts/templates/accounts/delete.html:12 +msgid "Deleted accounts cannot be recovered." +msgstr "" + +#: accounts/templates/accounts/delete.html:15 +msgid "Password inccorect." +msgstr "" + +#: accounts/templates/accounts/delete.html:17 +#, fuzzy +#| msgid "Your account has been created." +msgid "Your account has been deleted." +msgstr "Votre compte a été créé." + +#: accounts/templates/accounts/delete.html:22 +#: accounts/templates/accounts/login.html:19 +#: accounts/templates/accounts/register.html:23 +#: events/templates/events/create_team.html:26 +#: events/templates/events/join_team.html:31 +msgid "Password" +msgstr "Mot de passe" + #: accounts/templates/accounts/edit.html:21 #: accounts/templates/accounts/login.html:18 #: accounts/templates/accounts/register.html:22 -#: ctfs/templates/ctfs/ctf_info.html:60 ctfs/templates/ctfs/ctfs_list.html:12 -#: events/templates/events/ctf_info.html:70 -#: events/templates/events/event_info.html:63 +#: ctfs/templates/ctfs/ctf_info.html:61 ctfs/templates/ctfs/ctfs_list.html:12 +#: events/templates/events/ctf_info.html:71 +#: events/templates/events/event_info.html:64 #: scoreboard/templates/scoreboard/scoreboard.html:13 msgid "Username" msgstr "Pseudo" @@ -33,9 +65,9 @@ msgid "Email" msgstr "Email" #: accounts/templates/accounts/edit.html:30 -#: ctfs/templates/ctfs/ctf_info.html:61 -#: events/templates/events/ctf_info.html:71 -#: events/templates/events/event_info.html:64 +#: ctfs/templates/ctfs/ctf_info.html:62 +#: events/templates/events/ctf_info.html:72 +#: events/templates/events/event_info.html:65 #: scoreboard/templates/scoreboard/scoreboard.html:14 msgid "Website" msgstr "Site internet" @@ -47,9 +79,9 @@ msgstr "Appliquer" #: accounts/templates/accounts/edit.html:47 #: accounts/templates/accounts/profile.html:46 -#: ctfs/templates/ctfs/ctf_info.html:62 ctfs/templates/ctfs/ctfs_list.html:13 -#: events/templates/events/event_info.html:65 -#: events/templates/events/event_info.html:87 +#: ctfs/templates/ctfs/ctf_info.html:63 ctfs/templates/ctfs/ctfs_list.html:13 +#: events/templates/events/event_info.html:66 +#: events/templates/events/event_info.html:89 #: events/templates/events/manage_team.html:40 #: events/templates/events/team.html:45 #: scoreboard/templates/scoreboard/scoreboard.html:15 @@ -61,17 +93,16 @@ msgstr "Score" msgid "Registered since" msgstr "Inscrit depuis" +#: accounts/templates/accounts/edit.html:61 +#, fuzzy +#| msgid "Connected accounts" +msgid "Delete my account" +msgstr "Comptes connectés" + #: accounts/templates/accounts/login.html:13 msgid "Please, verify your infos." msgstr "Merci de vérifier vos informations." -#: accounts/templates/accounts/login.html:19 -#: accounts/templates/accounts/register.html:23 -#: events/templates/events/create_team.html:26 -#: events/templates/events/join_team.html:31 -msgid "Password" -msgstr "Mot de passe" - #: accounts/templates/accounts/login.html:22 msgid "Reset password" msgstr "Réinitialiser le mot de passe" @@ -114,8 +145,8 @@ msgid "Points" msgstr "Points" #: accounts/templates/accounts/profile.html:24 -#: ctfs/templates/ctfs/ctf_info.html:63 -#: events/templates/events/ctf_info.html:72 +#: ctfs/templates/ctfs/ctf_info.html:64 +#: events/templates/events/ctf_info.html:73 #: events/templates/events/team.html:23 msgid "Date" msgstr "Date" @@ -125,8 +156,8 @@ msgid "It seems that this user has not solved any challenge yet..." msgstr "Il semble que cet utilisateur n'a pas encore résolu de CTF..." #: accounts/templates/accounts/profile.html:47 -#: events/templates/events/event_info.html:62 -#: events/templates/events/event_info.html:85 +#: events/templates/events/event_info.html:63 +#: events/templates/events/event_info.html:87 #: events/templates/events/manage_team.html:41 #: events/templates/events/team.html:46 #: scoreboard/templates/scoreboard/scoreboard.html:12 @@ -161,6 +192,7 @@ msgid "Personal website" msgstr "Site personnel" #: accounts/templates/accounts/register.html:26 +#: events/templates/events/event_info.html:119 msgid "Register" msgstr "Inscription" @@ -196,66 +228,67 @@ msgstr "Le pseudo est déjà utilisé." msgid "Updated." msgstr "Mis à jour." -#: ctfs/templates/ctfs/ctf_info.html:9 events/templates/events/ctf_info.html:11 +#: ctfs/templates/ctfs/ctf_info.html:10 +#: events/templates/events/ctf_info.html:12 msgid "Published date" msgstr "Date de publication" -#: ctfs/templates/ctfs/ctf_info.html:13 +#: ctfs/templates/ctfs/ctf_info.html:14 #, fuzzy #| msgid "No category available." msgid "Challenge is not yet available." msgstr "Il n'y a pas de catégorie disponible." -#: ctfs/templates/ctfs/ctf_info.html:20 -#: events/templates/events/ctf_info.html:17 home/templates/home/home.html:22 +#: ctfs/templates/ctfs/ctf_info.html:21 +#: events/templates/events/ctf_info.html:18 home/templates/home/home.html:46 msgid "" "No translation available. Please try another language (English or French)." msgstr "" -#: ctfs/templates/ctfs/ctf_info.html:26 -#: events/templates/events/ctf_info.html:31 +#: ctfs/templates/ctfs/ctf_info.html:27 +#: events/templates/events/ctf_info.html:32 msgid "Congratulation !" msgstr "Félicitations !" -#: ctfs/templates/ctfs/ctf_info.html:28 -#: events/templates/events/ctf_info.html:33 +#: ctfs/templates/ctfs/ctf_info.html:29 +#: events/templates/events/ctf_info.html:34 msgid "Already flagged" msgstr "Déjà résolu" -#: ctfs/templates/ctfs/ctf_info.html:30 ctfs/templates/ctfs/ctf_info.html:39 -#: events/templates/events/ctf_info.html:41 -#: events/templates/events/ctf_info.html:50 +#: ctfs/templates/ctfs/ctf_info.html:31 ctfs/templates/ctfs/ctf_info.html:40 +#: events/templates/events/ctf_info.html:42 +#: events/templates/events/ctf_info.html:51 msgid "Start the challenge" msgstr "Démarrer le challenge" -#: ctfs/templates/ctfs/ctf_info.html:32 ctfs/templates/ctfs/ctf_info.html:41 -#: events/templates/events/ctf_info.html:43 -#: events/templates/events/ctf_info.html:52 +#: ctfs/templates/ctfs/ctf_info.html:33 ctfs/templates/ctfs/ctf_info.html:42 +#: events/templates/events/ctf_info.html:44 +#: events/templates/events/ctf_info.html:53 msgid "Download" msgstr "Télécharger" -#: ctfs/templates/ctfs/ctf_info.html:36 -#: events/templates/events/ctf_info.html:47 +#: ctfs/templates/ctfs/ctf_info.html:37 +#: events/templates/events/ctf_info.html:48 msgid "Wrong flag ! You can do it !" msgstr "Mauvais flag ! Vous pouvez le faire !" -#: ctfs/templates/ctfs/ctf_info.html:55 -#: events/templates/events/ctf_info.html:65 +#: ctfs/templates/ctfs/ctf_info.html:56 +#: events/templates/events/ctf_info.html:66 msgid "Solved by" msgstr "Résolu par" -#: ctfs/templates/ctfs/ctf_info.html:78 -#: events/templates/events/ctf_info.html:94 +#: ctfs/templates/ctfs/ctf_info.html:80 +#: events/templates/events/ctf_info.html:96 msgid "Nobody has solved this challenge yet." msgstr "Personne n'a résolu ce CTF." -#: ctfs/templates/ctfs/ctf_info.html:84 -#: events/templates/events/ctf_info.html:100 +#: ctfs/templates/ctfs/ctf_info.html:87 +#: events/templates/events/ctf_info.html:103 msgid "Author" msgstr "Auteur" -#: ctfs/templates/ctfs/ctf_info.html:85 -#: events/templates/events/ctf_info.html:101 +#: ctfs/templates/ctfs/ctf_info.html:88 +#: events/templates/events/ctf_info.html:104 msgid "Point reward" msgstr "Points" @@ -314,14 +347,14 @@ msgid "You need to be logged to access this event." msgstr "Vous devez être connecté pour accéder à cet événement." #: events/templates/events/create_team.html:41 -#: events/templates/events/event_info.html:111 +#: events/templates/events/event_info.html:113 #: events/templates/events/event_pwd.html:36 #: events/templates/events/join_team.html:46 msgid "Starts at" msgstr "Début" #: events/templates/events/create_team.html:42 -#: events/templates/events/event_info.html:112 +#: events/templates/events/event_info.html:114 #: events/templates/events/event_pwd.html:37 #: events/templates/events/join_team.html:47 msgid "Ends at" @@ -338,31 +371,31 @@ msgstr "Rejoindre une équipe" msgid "Find me a team !" msgstr "" -#: events/templates/events/ctf_info.html:9 +#: events/templates/events/ctf_info.html:10 msgid "Event" msgstr "Événement" -#: events/templates/events/ctf_info.html:24 -#: events/templates/events/event_info.html:8 +#: events/templates/events/ctf_info.html:25 +#: events/templates/events/event_info.html:9 msgid "Subscriptions is over." msgstr "Les inscriptions sont terminées." -#: events/templates/events/ctf_info.html:27 -#: events/templates/events/event_info.html:11 +#: events/templates/events/ctf_info.html:28 +#: events/templates/events/event_info.html:12 #: events/templates/events/event_pwd.html:18 msgid "You're already registered to this event." msgstr "Vous êtes déjà inscrit à cet événement." -#: events/templates/events/ctf_info.html:35 -#: events/templates/events/event_info.html:17 +#: events/templates/events/ctf_info.html:36 +#: events/templates/events/event_info.html:18 msgid "This event is over." msgstr "Cet événement est terminé." -#: events/templates/events/ctf_info.html:37 +#: events/templates/events/ctf_info.html:38 msgid "Error while processing your request. (Invalid Form)" msgstr "Erreur lors du traitement de votre requête. (Formulaire non valide)" -#: events/templates/events/ctf_info.html:39 +#: events/templates/events/ctf_info.html:40 msgid "" "Error: you're not registered to this event, so you can't register scores, " "fucking logic." @@ -370,46 +403,42 @@ msgstr "" "Erreur : vous n'êtes pas inscrit à cet événement, vous ne pouvez donc pas " "enregistrer de scores,C'est putain de logique." -#: events/templates/events/event_info.html:19 +#: events/templates/events/event_info.html:20 #: events/templates/events/event_pwd.html:9 msgid "This event start at" msgstr "Cet événement débute à" -#: events/templates/events/event_info.html:29 +#: events/templates/events/event_info.html:30 #, fuzzy #| msgid "Challenge Name" msgid "Challenges" msgstr "Nom du challenge" -#: events/templates/events/event_info.html:46 +#: events/templates/events/event_info.html:47 #, fuzzy #| msgid "No category available." msgid "No challenges available." msgstr "Il n'y a pas de catégorie disponible." -#: events/templates/events/event_info.html:50 +#: events/templates/events/event_info.html:51 msgid "The event has not started yet." msgstr "L'événement n'a pas encore commencé." -#: events/templates/events/event_info.html:56 +#: events/templates/events/event_info.html:57 #, fuzzy #| msgid "Scoreboard" msgid "ScoreBoard" msgstr "Classement" -#: events/templates/events/event_info.html:86 +#: events/templates/events/event_info.html:88 msgid "Team" msgstr "Équipe" -#: events/templates/events/event_info.html:104 +#: events/templates/events/event_info.html:106 msgid "No one have earn point yet, you gonna be the first ?" msgstr "Personne n'a encore gagné de point, allez-vous être le premier ?" -#: events/templates/events/event_info.html:117 -msgid "Register" -msgstr "" - -#: events/templates/events/event_info.html:127 +#: events/templates/events/event_info.html:129 msgid "Manage my team" msgstr "Gérer mon équipe" @@ -463,21 +492,41 @@ msgstr "Quitte l'équipe" msgid "It seems that this team has not solved any challenge yet..." msgstr "Il semble que cette équipe n'a pas encore résolu de challenge..." -#: home/templates/home/home.html:32 +#: home/templates/home/home.html:20 +msgid "Weekly Top 5" +msgstr "" + +#: home/templates/home/home.html:56 msgid "No article available." msgstr "Il n'y a pas d'article disponible." -#: home/templates/home/home.html:37 +#: home/templates/home/home.html:61 msgid "Latest challenges added" msgstr "Derniers challenges ajoutés" -#: home/templates/home/home.html:43 +#: home/templates/home/home.html:66 +#, fuzzy +#| msgid "Points" +msgid "points" +msgstr "Points" + +#: home/templates/home/home.html:70 msgid "No ctf available." msgstr "Pas de challenge disponible" -#: home/templates/home/home.html:53 -msgid "Flags counter" -msgstr "Compteur de flags" +#: home/templates/home/home.html:74 +msgid "Latest Flags" +msgstr "" + +#: home/templates/home/home.html:88 +msgid "Flags" +msgstr "" + +#: home/templates/home/home.html:94 +#, fuzzy +#| msgid "Username" +msgid "Users" +msgstr "Pseudo" #: project/settings.py:115 msgid "English" @@ -531,7 +580,7 @@ msgstr "Déconnexion" msgid "Sign Up" msgstr "Inscription" -#: templates/base.html:134 +#: templates/base.html:144 msgid "Become a Patron!" msgstr "Soutenez nous via Patreon !" @@ -581,9 +630,6 @@ msgstr "Réinitialiser" #~ msgid "End at" #~ msgstr "Fin" -#~ msgid "Connected accounts" -#~ msgstr "Comptes connectés" - #~ msgid "Disconnect Discord" #~ msgstr "Déconnecter Discord" diff --git a/src/locale/it/LC_MESSAGES/django.po b/src/locale/it/LC_MESSAGES/django.po index 996564e..b77f7d3 100644 --- a/src/locale/it/LC_MESSAGES/django.po +++ b/src/locale/it/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-01-23 17:31+0000\n" +"POT-Creation-Date: 2022-02-02 19:22+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -18,12 +18,40 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" +#: accounts/templates/accounts/delete.html:8 +msgid "Delete account" +msgstr "" + +#: accounts/templates/accounts/delete.html:11 +msgid "Please confirm your password to delete your account." +msgstr "" + +#: accounts/templates/accounts/delete.html:12 +msgid "Deleted accounts cannot be recovered." +msgstr "" + +#: accounts/templates/accounts/delete.html:15 +msgid "Password inccorect." +msgstr "" + +#: accounts/templates/accounts/delete.html:17 +msgid "Your account has been deleted." +msgstr "" + +#: accounts/templates/accounts/delete.html:22 +#: accounts/templates/accounts/login.html:19 +#: accounts/templates/accounts/register.html:23 +#: events/templates/events/create_team.html:26 +#: events/templates/events/join_team.html:31 +msgid "Password" +msgstr "" + #: accounts/templates/accounts/edit.html:21 #: accounts/templates/accounts/login.html:18 #: accounts/templates/accounts/register.html:22 -#: ctfs/templates/ctfs/ctf_info.html:60 ctfs/templates/ctfs/ctfs_list.html:12 -#: events/templates/events/ctf_info.html:70 -#: events/templates/events/event_info.html:63 +#: ctfs/templates/ctfs/ctf_info.html:61 ctfs/templates/ctfs/ctfs_list.html:12 +#: events/templates/events/ctf_info.html:71 +#: events/templates/events/event_info.html:64 #: scoreboard/templates/scoreboard/scoreboard.html:13 msgid "Username" msgstr "" @@ -33,9 +61,9 @@ msgid "Email" msgstr "" #: accounts/templates/accounts/edit.html:30 -#: ctfs/templates/ctfs/ctf_info.html:61 -#: events/templates/events/ctf_info.html:71 -#: events/templates/events/event_info.html:64 +#: ctfs/templates/ctfs/ctf_info.html:62 +#: events/templates/events/ctf_info.html:72 +#: events/templates/events/event_info.html:65 #: scoreboard/templates/scoreboard/scoreboard.html:14 msgid "Website" msgstr "" @@ -47,9 +75,9 @@ msgstr "" #: accounts/templates/accounts/edit.html:47 #: accounts/templates/accounts/profile.html:46 -#: ctfs/templates/ctfs/ctf_info.html:62 ctfs/templates/ctfs/ctfs_list.html:13 -#: events/templates/events/event_info.html:65 -#: events/templates/events/event_info.html:87 +#: ctfs/templates/ctfs/ctf_info.html:63 ctfs/templates/ctfs/ctfs_list.html:13 +#: events/templates/events/event_info.html:66 +#: events/templates/events/event_info.html:89 #: events/templates/events/manage_team.html:40 #: events/templates/events/team.html:45 #: scoreboard/templates/scoreboard/scoreboard.html:15 @@ -61,15 +89,12 @@ msgstr "" msgid "Registered since" msgstr "" -#: accounts/templates/accounts/login.html:13 -msgid "Please, verify your infos." +#: accounts/templates/accounts/edit.html:61 +msgid "Delete my account" msgstr "" -#: accounts/templates/accounts/login.html:19 -#: accounts/templates/accounts/register.html:23 -#: events/templates/events/create_team.html:26 -#: events/templates/events/join_team.html:31 -msgid "Password" +#: accounts/templates/accounts/login.html:13 +msgid "Please, verify your infos." msgstr "" #: accounts/templates/accounts/login.html:22 @@ -114,8 +139,8 @@ msgid "Points" msgstr "" #: accounts/templates/accounts/profile.html:24 -#: ctfs/templates/ctfs/ctf_info.html:63 -#: events/templates/events/ctf_info.html:72 +#: ctfs/templates/ctfs/ctf_info.html:64 +#: events/templates/events/ctf_info.html:73 #: events/templates/events/team.html:23 msgid "Date" msgstr "" @@ -125,8 +150,8 @@ msgid "It seems that this user has not solved any challenge yet..." msgstr "" #: accounts/templates/accounts/profile.html:47 -#: events/templates/events/event_info.html:62 -#: events/templates/events/event_info.html:85 +#: events/templates/events/event_info.html:63 +#: events/templates/events/event_info.html:87 #: events/templates/events/manage_team.html:41 #: events/templates/events/team.html:46 #: scoreboard/templates/scoreboard/scoreboard.html:12 @@ -159,6 +184,7 @@ msgid "Personal website" msgstr "" #: accounts/templates/accounts/register.html:26 +#: events/templates/events/event_info.html:119 msgid "Register" msgstr "" @@ -192,64 +218,65 @@ msgstr "" msgid "Updated." msgstr "" -#: ctfs/templates/ctfs/ctf_info.html:9 events/templates/events/ctf_info.html:11 +#: ctfs/templates/ctfs/ctf_info.html:10 +#: events/templates/events/ctf_info.html:12 msgid "Published date" msgstr "" -#: ctfs/templates/ctfs/ctf_info.html:13 +#: ctfs/templates/ctfs/ctf_info.html:14 msgid "Challenge is not yet available." msgstr "" -#: ctfs/templates/ctfs/ctf_info.html:20 -#: events/templates/events/ctf_info.html:17 home/templates/home/home.html:22 +#: ctfs/templates/ctfs/ctf_info.html:21 +#: events/templates/events/ctf_info.html:18 home/templates/home/home.html:46 msgid "" "No translation available. Please try another language (English or French)." msgstr "" -#: ctfs/templates/ctfs/ctf_info.html:26 -#: events/templates/events/ctf_info.html:31 +#: ctfs/templates/ctfs/ctf_info.html:27 +#: events/templates/events/ctf_info.html:32 msgid "Congratulation !" msgstr "" -#: ctfs/templates/ctfs/ctf_info.html:28 -#: events/templates/events/ctf_info.html:33 +#: ctfs/templates/ctfs/ctf_info.html:29 +#: events/templates/events/ctf_info.html:34 msgid "Already flagged" msgstr "" -#: ctfs/templates/ctfs/ctf_info.html:30 ctfs/templates/ctfs/ctf_info.html:39 -#: events/templates/events/ctf_info.html:41 -#: events/templates/events/ctf_info.html:50 +#: ctfs/templates/ctfs/ctf_info.html:31 ctfs/templates/ctfs/ctf_info.html:40 +#: events/templates/events/ctf_info.html:42 +#: events/templates/events/ctf_info.html:51 msgid "Start the challenge" msgstr "" -#: ctfs/templates/ctfs/ctf_info.html:32 ctfs/templates/ctfs/ctf_info.html:41 -#: events/templates/events/ctf_info.html:43 -#: events/templates/events/ctf_info.html:52 +#: ctfs/templates/ctfs/ctf_info.html:33 ctfs/templates/ctfs/ctf_info.html:42 +#: events/templates/events/ctf_info.html:44 +#: events/templates/events/ctf_info.html:53 msgid "Download" msgstr "" -#: ctfs/templates/ctfs/ctf_info.html:36 -#: events/templates/events/ctf_info.html:47 +#: ctfs/templates/ctfs/ctf_info.html:37 +#: events/templates/events/ctf_info.html:48 msgid "Wrong flag ! You can do it !" msgstr "" -#: ctfs/templates/ctfs/ctf_info.html:55 -#: events/templates/events/ctf_info.html:65 +#: ctfs/templates/ctfs/ctf_info.html:56 +#: events/templates/events/ctf_info.html:66 msgid "Solved by" msgstr "" -#: ctfs/templates/ctfs/ctf_info.html:78 -#: events/templates/events/ctf_info.html:94 +#: ctfs/templates/ctfs/ctf_info.html:80 +#: events/templates/events/ctf_info.html:96 msgid "Nobody has solved this challenge yet." msgstr "" -#: ctfs/templates/ctfs/ctf_info.html:84 -#: events/templates/events/ctf_info.html:100 +#: ctfs/templates/ctfs/ctf_info.html:87 +#: events/templates/events/ctf_info.html:103 msgid "Author" msgstr "" -#: ctfs/templates/ctfs/ctf_info.html:85 -#: events/templates/events/ctf_info.html:101 +#: ctfs/templates/ctfs/ctf_info.html:88 +#: events/templates/events/ctf_info.html:104 msgid "Point reward" msgstr "" @@ -302,14 +329,14 @@ msgid "You need to be logged to access this event." msgstr "" #: events/templates/events/create_team.html:41 -#: events/templates/events/event_info.html:111 +#: events/templates/events/event_info.html:113 #: events/templates/events/event_pwd.html:36 #: events/templates/events/join_team.html:46 msgid "Starts at" msgstr "" #: events/templates/events/create_team.html:42 -#: events/templates/events/event_info.html:112 +#: events/templates/events/event_info.html:114 #: events/templates/events/event_pwd.html:37 #: events/templates/events/join_team.html:47 msgid "Ends at" @@ -326,70 +353,66 @@ msgstr "" msgid "Find me a team !" msgstr "" -#: events/templates/events/ctf_info.html:9 +#: events/templates/events/ctf_info.html:10 msgid "Event" msgstr "" -#: events/templates/events/ctf_info.html:24 -#: events/templates/events/event_info.html:8 +#: events/templates/events/ctf_info.html:25 +#: events/templates/events/event_info.html:9 msgid "Subscriptions is over." msgstr "" -#: events/templates/events/ctf_info.html:27 -#: events/templates/events/event_info.html:11 +#: events/templates/events/ctf_info.html:28 +#: events/templates/events/event_info.html:12 #: events/templates/events/event_pwd.html:18 msgid "You're already registered to this event." msgstr "" -#: events/templates/events/ctf_info.html:35 -#: events/templates/events/event_info.html:17 +#: events/templates/events/ctf_info.html:36 +#: events/templates/events/event_info.html:18 msgid "This event is over." msgstr "" -#: events/templates/events/ctf_info.html:37 +#: events/templates/events/ctf_info.html:38 msgid "Error while processing your request. (Invalid Form)" msgstr "" -#: events/templates/events/ctf_info.html:39 +#: events/templates/events/ctf_info.html:40 msgid "" "Error: you're not registered to this event, so you can't register scores, " "fucking logic." msgstr "" -#: events/templates/events/event_info.html:19 +#: events/templates/events/event_info.html:20 #: events/templates/events/event_pwd.html:9 msgid "This event start at" msgstr "" -#: events/templates/events/event_info.html:29 +#: events/templates/events/event_info.html:30 msgid "Challenges" msgstr "" -#: events/templates/events/event_info.html:46 +#: events/templates/events/event_info.html:47 msgid "No challenges available." msgstr "" -#: events/templates/events/event_info.html:50 +#: events/templates/events/event_info.html:51 msgid "The event has not started yet." msgstr "" -#: events/templates/events/event_info.html:56 +#: events/templates/events/event_info.html:57 msgid "ScoreBoard" msgstr "" -#: events/templates/events/event_info.html:86 +#: events/templates/events/event_info.html:88 msgid "Team" msgstr "" -#: events/templates/events/event_info.html:104 +#: events/templates/events/event_info.html:106 msgid "No one have earn point yet, you gonna be the first ?" msgstr "" -#: events/templates/events/event_info.html:117 -msgid "Register" -msgstr "" - -#: events/templates/events/event_info.html:127 +#: events/templates/events/event_info.html:129 msgid "Manage my team" msgstr "" @@ -443,20 +466,36 @@ msgstr "" msgid "It seems that this team has not solved any challenge yet..." msgstr "" -#: home/templates/home/home.html:32 +#: home/templates/home/home.html:20 +msgid "Weekly Top 5" +msgstr "" + +#: home/templates/home/home.html:56 msgid "No article available." msgstr "" -#: home/templates/home/home.html:37 +#: home/templates/home/home.html:61 msgid "Latest challenges added" msgstr "" -#: home/templates/home/home.html:43 +#: home/templates/home/home.html:66 +msgid "points" +msgstr "" + +#: home/templates/home/home.html:70 msgid "No ctf available." msgstr "" -#: home/templates/home/home.html:53 -msgid "Flags counter" +#: home/templates/home/home.html:74 +msgid "Latest Flags" +msgstr "" + +#: home/templates/home/home.html:88 +msgid "Flags" +msgstr "" + +#: home/templates/home/home.html:94 +msgid "Users" msgstr "" #: project/settings.py:115 @@ -511,7 +550,7 @@ msgstr "" msgid "Sign Up" msgstr "" -#: templates/base.html:134 +#: templates/base.html:144 msgid "Become a Patron!" msgstr "" diff --git a/src/locale/ru/LC_MESSAGES/django.po b/src/locale/ru/LC_MESSAGES/django.po index f065dab..e750a8f 100644 --- a/src/locale/ru/LC_MESSAGES/django.po +++ b/src/locale/ru/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-01-23 17:31+0000\n" +"POT-Creation-Date: 2022-02-02 19:22+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -20,12 +20,40 @@ msgstr "" "%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || (n" "%100>=11 && n%100<=14)? 2 : 3);\n" +#: accounts/templates/accounts/delete.html:8 +msgid "Delete account" +msgstr "" + +#: accounts/templates/accounts/delete.html:11 +msgid "Please confirm your password to delete your account." +msgstr "" + +#: accounts/templates/accounts/delete.html:12 +msgid "Deleted accounts cannot be recovered." +msgstr "" + +#: accounts/templates/accounts/delete.html:15 +msgid "Password inccorect." +msgstr "" + +#: accounts/templates/accounts/delete.html:17 +msgid "Your account has been deleted." +msgstr "" + +#: accounts/templates/accounts/delete.html:22 +#: accounts/templates/accounts/login.html:19 +#: accounts/templates/accounts/register.html:23 +#: events/templates/events/create_team.html:26 +#: events/templates/events/join_team.html:31 +msgid "Password" +msgstr "" + #: accounts/templates/accounts/edit.html:21 #: accounts/templates/accounts/login.html:18 #: accounts/templates/accounts/register.html:22 -#: ctfs/templates/ctfs/ctf_info.html:60 ctfs/templates/ctfs/ctfs_list.html:12 -#: events/templates/events/ctf_info.html:70 -#: events/templates/events/event_info.html:63 +#: ctfs/templates/ctfs/ctf_info.html:61 ctfs/templates/ctfs/ctfs_list.html:12 +#: events/templates/events/ctf_info.html:71 +#: events/templates/events/event_info.html:64 #: scoreboard/templates/scoreboard/scoreboard.html:13 msgid "Username" msgstr "" @@ -35,9 +63,9 @@ msgid "Email" msgstr "" #: accounts/templates/accounts/edit.html:30 -#: ctfs/templates/ctfs/ctf_info.html:61 -#: events/templates/events/ctf_info.html:71 -#: events/templates/events/event_info.html:64 +#: ctfs/templates/ctfs/ctf_info.html:62 +#: events/templates/events/ctf_info.html:72 +#: events/templates/events/event_info.html:65 #: scoreboard/templates/scoreboard/scoreboard.html:14 msgid "Website" msgstr "" @@ -49,9 +77,9 @@ msgstr "" #: accounts/templates/accounts/edit.html:47 #: accounts/templates/accounts/profile.html:46 -#: ctfs/templates/ctfs/ctf_info.html:62 ctfs/templates/ctfs/ctfs_list.html:13 -#: events/templates/events/event_info.html:65 -#: events/templates/events/event_info.html:87 +#: ctfs/templates/ctfs/ctf_info.html:63 ctfs/templates/ctfs/ctfs_list.html:13 +#: events/templates/events/event_info.html:66 +#: events/templates/events/event_info.html:89 #: events/templates/events/manage_team.html:40 #: events/templates/events/team.html:45 #: scoreboard/templates/scoreboard/scoreboard.html:15 @@ -63,15 +91,12 @@ msgstr "счет" msgid "Registered since" msgstr "" -#: accounts/templates/accounts/login.html:13 -msgid "Please, verify your infos." +#: accounts/templates/accounts/edit.html:61 +msgid "Delete my account" msgstr "" -#: accounts/templates/accounts/login.html:19 -#: accounts/templates/accounts/register.html:23 -#: events/templates/events/create_team.html:26 -#: events/templates/events/join_team.html:31 -msgid "Password" +#: accounts/templates/accounts/login.html:13 +msgid "Please, verify your infos." msgstr "" #: accounts/templates/accounts/login.html:22 @@ -116,8 +141,8 @@ msgid "Points" msgstr "" #: accounts/templates/accounts/profile.html:24 -#: ctfs/templates/ctfs/ctf_info.html:63 -#: events/templates/events/ctf_info.html:72 +#: ctfs/templates/ctfs/ctf_info.html:64 +#: events/templates/events/ctf_info.html:73 #: events/templates/events/team.html:23 msgid "Date" msgstr "" @@ -127,8 +152,8 @@ msgid "It seems that this user has not solved any challenge yet..." msgstr "" #: accounts/templates/accounts/profile.html:47 -#: events/templates/events/event_info.html:62 -#: events/templates/events/event_info.html:85 +#: events/templates/events/event_info.html:63 +#: events/templates/events/event_info.html:87 #: events/templates/events/manage_team.html:41 #: events/templates/events/team.html:46 #: scoreboard/templates/scoreboard/scoreboard.html:12 @@ -161,6 +186,7 @@ msgid "Personal website" msgstr "" #: accounts/templates/accounts/register.html:26 +#: events/templates/events/event_info.html:119 msgid "Register" msgstr "" @@ -194,66 +220,67 @@ msgstr "" msgid "Updated." msgstr "" -#: ctfs/templates/ctfs/ctf_info.html:9 events/templates/events/ctf_info.html:11 +#: ctfs/templates/ctfs/ctf_info.html:10 +#: events/templates/events/ctf_info.html:12 msgid "Published date" msgstr "" -#: ctfs/templates/ctfs/ctf_info.html:13 +#: ctfs/templates/ctfs/ctf_info.html:14 #, fuzzy #| msgid "No article available." msgid "Challenge is not yet available." msgstr "Нет доступных статей." -#: ctfs/templates/ctfs/ctf_info.html:20 -#: events/templates/events/ctf_info.html:17 home/templates/home/home.html:22 +#: ctfs/templates/ctfs/ctf_info.html:21 +#: events/templates/events/ctf_info.html:18 home/templates/home/home.html:46 msgid "" "No translation available. Please try another language (English or French)." msgstr "" -#: ctfs/templates/ctfs/ctf_info.html:26 -#: events/templates/events/ctf_info.html:31 +#: ctfs/templates/ctfs/ctf_info.html:27 +#: events/templates/events/ctf_info.html:32 msgid "Congratulation !" msgstr "" -#: ctfs/templates/ctfs/ctf_info.html:28 -#: events/templates/events/ctf_info.html:33 +#: ctfs/templates/ctfs/ctf_info.html:29 +#: events/templates/events/ctf_info.html:34 msgid "Already flagged" msgstr "" -#: ctfs/templates/ctfs/ctf_info.html:30 ctfs/templates/ctfs/ctf_info.html:39 -#: events/templates/events/ctf_info.html:41 -#: events/templates/events/ctf_info.html:50 +#: ctfs/templates/ctfs/ctf_info.html:31 ctfs/templates/ctfs/ctf_info.html:40 +#: events/templates/events/ctf_info.html:42 +#: events/templates/events/ctf_info.html:51 msgid "Start the challenge" msgstr "" -#: ctfs/templates/ctfs/ctf_info.html:32 ctfs/templates/ctfs/ctf_info.html:41 -#: events/templates/events/ctf_info.html:43 -#: events/templates/events/ctf_info.html:52 +#: ctfs/templates/ctfs/ctf_info.html:33 ctfs/templates/ctfs/ctf_info.html:42 +#: events/templates/events/ctf_info.html:44 +#: events/templates/events/ctf_info.html:53 msgid "Download" msgstr "" -#: ctfs/templates/ctfs/ctf_info.html:36 -#: events/templates/events/ctf_info.html:47 +#: ctfs/templates/ctfs/ctf_info.html:37 +#: events/templates/events/ctf_info.html:48 msgid "Wrong flag ! You can do it !" msgstr "" -#: ctfs/templates/ctfs/ctf_info.html:55 -#: events/templates/events/ctf_info.html:65 +#: ctfs/templates/ctfs/ctf_info.html:56 +#: events/templates/events/ctf_info.html:66 msgid "Solved by" msgstr "" -#: ctfs/templates/ctfs/ctf_info.html:78 -#: events/templates/events/ctf_info.html:94 +#: ctfs/templates/ctfs/ctf_info.html:80 +#: events/templates/events/ctf_info.html:96 msgid "Nobody has solved this challenge yet." msgstr "" -#: ctfs/templates/ctfs/ctf_info.html:84 -#: events/templates/events/ctf_info.html:100 +#: ctfs/templates/ctfs/ctf_info.html:87 +#: events/templates/events/ctf_info.html:103 msgid "Author" msgstr "" -#: ctfs/templates/ctfs/ctf_info.html:85 -#: events/templates/events/ctf_info.html:101 +#: ctfs/templates/ctfs/ctf_info.html:88 +#: events/templates/events/ctf_info.html:104 msgid "Point reward" msgstr "" @@ -306,14 +333,14 @@ msgid "You need to be logged to access this event." msgstr "" #: events/templates/events/create_team.html:41 -#: events/templates/events/event_info.html:111 +#: events/templates/events/event_info.html:113 #: events/templates/events/event_pwd.html:36 #: events/templates/events/join_team.html:46 msgid "Starts at" msgstr "" #: events/templates/events/create_team.html:42 -#: events/templates/events/event_info.html:112 +#: events/templates/events/event_info.html:114 #: events/templates/events/event_pwd.html:37 #: events/templates/events/join_team.html:47 msgid "Ends at" @@ -330,74 +357,70 @@ msgstr "" msgid "Find me a team !" msgstr "" -#: events/templates/events/ctf_info.html:9 +#: events/templates/events/ctf_info.html:10 msgid "Event" msgstr "" -#: events/templates/events/ctf_info.html:24 -#: events/templates/events/event_info.html:8 +#: events/templates/events/ctf_info.html:25 +#: events/templates/events/event_info.html:9 msgid "Subscriptions is over." msgstr "" -#: events/templates/events/ctf_info.html:27 -#: events/templates/events/event_info.html:11 +#: events/templates/events/ctf_info.html:28 +#: events/templates/events/event_info.html:12 #: events/templates/events/event_pwd.html:18 msgid "You're already registered to this event." msgstr "" -#: events/templates/events/ctf_info.html:35 -#: events/templates/events/event_info.html:17 +#: events/templates/events/ctf_info.html:36 +#: events/templates/events/event_info.html:18 msgid "This event is over." msgstr "" -#: events/templates/events/ctf_info.html:37 +#: events/templates/events/ctf_info.html:38 msgid "Error while processing your request. (Invalid Form)" msgstr "" -#: events/templates/events/ctf_info.html:39 +#: events/templates/events/ctf_info.html:40 msgid "" "Error: you're not registered to this event, so you can't register scores, " "fucking logic." msgstr "" -#: events/templates/events/event_info.html:19 +#: events/templates/events/event_info.html:20 #: events/templates/events/event_pwd.html:9 msgid "This event start at" msgstr "" -#: events/templates/events/event_info.html:29 +#: events/templates/events/event_info.html:30 msgid "Challenges" msgstr "" -#: events/templates/events/event_info.html:46 +#: events/templates/events/event_info.html:47 #, fuzzy #| msgid "No article available." msgid "No challenges available." msgstr "Нет доступных статей." -#: events/templates/events/event_info.html:50 +#: events/templates/events/event_info.html:51 msgid "The event has not started yet." msgstr "" -#: events/templates/events/event_info.html:56 +#: events/templates/events/event_info.html:57 #, fuzzy #| msgid "Score" msgid "ScoreBoard" msgstr "счет" -#: events/templates/events/event_info.html:86 +#: events/templates/events/event_info.html:88 msgid "Team" msgstr "" -#: events/templates/events/event_info.html:104 +#: events/templates/events/event_info.html:106 msgid "No one have earn point yet, you gonna be the first ?" msgstr "" -#: events/templates/events/event_info.html:117 -msgid "Register" -msgstr "" - -#: events/templates/events/event_info.html:127 +#: events/templates/events/event_info.html:129 msgid "Manage my team" msgstr "" @@ -453,20 +476,36 @@ msgstr "" msgid "It seems that this team has not solved any challenge yet..." msgstr "" -#: home/templates/home/home.html:32 +#: home/templates/home/home.html:20 +msgid "Weekly Top 5" +msgstr "" + +#: home/templates/home/home.html:56 msgid "No article available." msgstr "Нет доступных статей." -#: home/templates/home/home.html:37 +#: home/templates/home/home.html:61 msgid "Latest challenges added" msgstr "" -#: home/templates/home/home.html:43 +#: home/templates/home/home.html:66 +msgid "points" +msgstr "" + +#: home/templates/home/home.html:70 msgid "No ctf available." msgstr "" -#: home/templates/home/home.html:53 -msgid "Flags counter" +#: home/templates/home/home.html:74 +msgid "Latest Flags" +msgstr "" + +#: home/templates/home/home.html:88 +msgid "Flags" +msgstr "" + +#: home/templates/home/home.html:94 +msgid "Users" msgstr "" #: project/settings.py:115 @@ -521,7 +560,7 @@ msgstr "Выйти" msgid "Sign Up" msgstr "" -#: templates/base.html:134 +#: templates/base.html:144 msgid "Become a Patron!" msgstr "" diff --git a/src/project/settings.py b/src/project/settings.py index 300fa18..f69d126 100644 --- a/src/project/settings.py +++ b/src/project/settings.py @@ -122,7 +122,7 @@ LOCALE_PATHS = ( os.path.join(BASE_DIR, 'locale'), ) -TIME_ZONE = 'UTC' +TIME_ZONE = 'Europe/Paris' USE_I18N = True diff --git a/src/resources/locale/de/LC_MESSAGES/django.po b/src/resources/locale/de/LC_MESSAGES/django.po index 7f14a31..aef4b10 100644 --- a/src/resources/locale/de/LC_MESSAGES/django.po +++ b/src/resources/locale/de/LC_MESSAGES/django.po @@ -3,315 +3,344 @@ # This file is distributed under the same license as the PACKAGE package. # FIRST AUTHOR , YEAR. # -#, fuzzy msgid "" msgstr "" -"Project-Id-Version: PACKAGE VERSION\n" +"Project-Id-Version: \n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-01-23 17:31+0000\n" -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" -"Last-Translator: FULL NAME \n" -"Language-Team: LANGUAGE \n" -"Language: \n" +"POT-Creation-Date: 2022-02-02 19:22+0100\n" +"PO-Revision-Date: 2022-02-04 05:53+0100\n" +"Language: de\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" +"Last-Translator: Clément Hamada \n" +"Language-Team: \n" -#: resources/templates/resources/42ctf.html:9 -#: resources/templates/resources/resources.html:12 +#: resources/templates/resources/42ctf.html:7 msgid "What is 42CTF ?" -msgstr "" +msgstr "Was ist 42CTF?" -#: resources/templates/resources/42ctf.html:12 +#: resources/templates/resources/42ctf.html:10 msgid "A short introduction to CTF" -msgstr "" +msgstr "Eine kurze Einführung zu CTF" -#: resources/templates/resources/42ctf.html:13 +#: resources/templates/resources/42ctf.html:11 msgid "" "CTF stands for Capture The Flag. It is a cybersecurity competition, where " -"participants have to solve challenges of various categories to gain points " -"and progress on the scoreboard." +"participants have to solve challenges of various categories to gain points and " +"progress on the scoreboard." msgstr "" +"CTF steht für Capture The Flag. Es ist ein Computersicherheitswettbewerb, indem " +"Teilnehmer Herausforderungen verschiedener Kategorien lösen müssen um die " +"meisten Punkte zu verdienen." -#: resources/templates/resources/42ctf.html:14 +#: resources/templates/resources/42ctf.html:12 msgid "The challenges require participants to find sort of passwords called \\" msgstr "" +"Die Herausforderungen bestehen darin eine Art Passwort zu finden: sogenannte \\" + +#: resources/templates/resources/42ctf.html:15 +msgid "Functionment of 42CTF" +msgstr "Funktionsweise von 42CTF" + +#: resources/templates/resources/42ctf.html:16 +msgid "42CTF is what we call a permanent CTF." +msgstr "42CTF ist ein sogenanntes Dauer-CTF." #: resources/templates/resources/42ctf.html:17 -msgid "Functionment of 42CTF" -msgstr "" +msgid "Except from the" +msgstr "Außer bei" + +#: resources/templates/resources/42ctf.html:17 +msgid "events" +msgstr "Ereignissen" + +#: resources/templates/resources/42ctf.html:17 +msgid "challenges are available on the platform without time limitations." +msgstr "sind Herausforderungen auf der Plattform unbegrenzt zugänglich." #: resources/templates/resources/42ctf.html:18 -msgid "42CTF is what we call a permanent CTF." -msgstr "" - -#: resources/templates/resources/42ctf.html:19 -msgid "Except from the" -msgstr "" - -#: resources/templates/resources/42ctf.html:19 -msgid "events" -msgstr "" - -#: resources/templates/resources/42ctf.html:19 -msgid "challenges are available on the platform without time limitations." -msgstr "" - -#: resources/templates/resources/42ctf.html:20 msgid "The registration on 42CTF is open to everyone, 42 students or not." -msgstr "" +msgstr "Die Registrierung bei 42CTF ist für jeden offen, ob 42-Student oder nicht." -#: resources/templates/resources/42ctf.html:21 +#: resources/templates/resources/42ctf.html:19 msgid "" -"Events may or may not be open. If you would like to organize an event on " -"42CTF, feel free to contact us." +"Events may or may not be open. If you would like to organize an event on 42CTF, " +"feel free to contact us." msgstr "" +"Ereignisse können öffentlich oder privat sein. Wenn Sie ein Ereignisse bei 42CTF " +"organisieren möchten, kontaktieren Sie uns." + +#: resources/templates/resources/42ctf.html:22 +msgid "42CTF Team" +msgstr "das 42CTF Team" + +#: resources/templates/resources/42ctf.html:23 +msgid "42CTF is managed by 42 students." +msgstr "42CTF wird von 42-Studenten verwaltet." #: resources/templates/resources/42ctf.html:24 -msgid "42CTF Team" -msgstr "" +msgid "You can meet the team on" +msgstr "Treffen können Sie das Team auf" #: resources/templates/resources/42ctf.html:25 -msgid "42CTF is managed by 42 students." -msgstr "" - -#: resources/templates/resources/42ctf.html:26 -msgid "You can meet the team on" -msgstr "" - -#: resources/templates/resources/42ctf.html:27 msgid "" "Challenges are created by various contributors, not necessarily 42 students." msgstr "" +"Herausforderungen werden von verschiedenen Mitwirkende beigetragen, nicht " +"zwingend 42-Studenten." -#: resources/templates/resources/42ctf.html:28 +#: resources/templates/resources/42ctf.html:26 msgid "" -"Anyone is welcome to submit their own challenges, either on the permanent " -"CTF or for a specific event." +"Anyone is welcome to submit their own challenges, either on the permanent CTF or " +"for a specific event." msgstr "" +"Beiträge sind von jedem willkommen, entweder auf dem Dauer-CTF, oder für ein " +"bestimmtes Ereignis." -#: resources/templates/resources/create_challenge.html:9 -#: resources/templates/resources/resources.html:28 +#: resources/templates/resources/create_challenge.html:7 msgid "Create new challenges" -msgstr "" +msgstr "Erstelle neue Herausforderungen" -#: resources/templates/resources/create_challenge.html:12 +#: resources/templates/resources/create_challenge.html:10 msgid "If you want to create new challenges for 42CTF, send us a message on " msgstr "" +"Falls Sie Herausforderungen für 42CTF erstellen möchten, schicken Sie uns eine " +"Nachricht auf " -#: resources/templates/resources/create_challenge.html:13 +#: resources/templates/resources/create_challenge.html:11 msgid "If your challenge is offline, then you don't have to ask us in advance." msgstr "" +"Falls Ihre Herausforderung offline ist, müssen Sie uns nicht im voraus fragen." + +#: resources/templates/resources/create_challenge.html:12 +msgid "" +"If your challenge is online (for example web or pwn), then you should give us a " +"short description of what you want to do." +msgstr "" +"Falls Ihre Herausforderung online ist (z.B. web oder pwn), dann sollten sie uns " +"eine kurze Beschreibung von dessen was sie vorhaben geben." + +#: resources/templates/resources/create_challenge.html:13 +msgid "We may be able to help you or to give you resources such as dockerfiles." +msgstr "" +"Wir können Ihnen helfen oder Ressourcen sowie Dockerfiles zur Verfügung stellen." #: resources/templates/resources/create_challenge.html:14 -msgid "" -"If your challenge is online (for example web or pwn), then you should give " -"us a short description of what you want to do." -msgstr "" - -#: resources/templates/resources/create_challenge.html:15 -msgid "" -"We may be able to help you or to give you resources such as dockerfiles." -msgstr "" - -#: resources/templates/resources/create_challenge.html:16 msgid "We plan to make those resources publicly available in a near future." -msgstr "" +msgstr "Wir haben vor diese Ressourcen in naher Zukunft zu veröffentlichen." -#: resources/templates/resources/donate.html:9 -#: resources/templates/resources/resources.html:31 +#: resources/templates/resources/donate.html:7 msgid "Donate" -msgstr "" +msgstr "Spenden" -#: resources/templates/resources/donate.html:12 +#: resources/templates/resources/donate.html:10 msgid "Become a 42CTF member" -msgstr "" +msgstr "42CTF-Mitglied werden" -#: resources/templates/resources/donate.html:13 +#: resources/templates/resources/donate.html:11 msgid "" "42CTF is a non-profit organization with a legal status under the french law " "(Association loi 1901)." msgstr "" +"42CTF ist eine gemeinnützige Organisation mit einem Rechtsstatus nach " +"französischem Recht (Association loi 1901)." -#: resources/templates/resources/donate.html:14 +#: resources/templates/resources/donate.html:12 msgid "You can support us by becoming a member and paying a fee of 15 euros." -msgstr "" +msgstr "Sie können uns unterstützen indem Sie Mitglied werden und 15 Euro zahlen." + +#: resources/templates/resources/donate.html:13 +msgid "Membership is then granted for 1 year." +msgstr "Die Mitgliedschaft wird dann für ein Jahr gewährt." #: resources/templates/resources/donate.html:15 -msgid "Membership is then granted for 1 year." +msgid "When you become a member, you gain the following advantages:" +msgstr "Wenn sie Mitglied werden, bekommen sie folgende Vorteile:" + +#: resources/templates/resources/donate.html:16 +msgid "" +"A different color for your pseudo in the scoreboard, to let everyone know you're " +"a member." msgstr "" +"Eine verschiedene Farbe für Ihren Nutzernamen im Punktestand, sodass jeder weiß " +"dass Sie ein Mitglied sind." #: resources/templates/resources/donate.html:17 -msgid "When you become a member, you gain the following advantages:" +msgid "" +"The possibility to play again past CTF, with challenges no longer available, in " +"the form of private events with the people of your choice." msgstr "" +"Die Möglichkeit einen vergangenen CTF zu wiederholen, mit Herausforderungen die " +"nicht mehr verfügbar sind, in Form von privaten Ereignissen mit Menschen Ihrer " +"Wahl." #: resources/templates/resources/donate.html:18 msgid "" -"A different color for your pseudo in the scoreboard, to let everyone know " -"you're a member." -msgstr "" - -#: resources/templates/resources/donate.html:19 -msgid "" -"The possibility to play again past CTF, with challenges no longer available, " -"in the form of private events with the people of your choice." -msgstr "" - -#: resources/templates/resources/donate.html:20 -msgid "" "Ex: you played Welcome CTF 2021, and want to play it again with your friends " "during one weekend." msgstr "" +"Z.B.: Sie haben am Welcome CTF 2021 teilgenommen, und wollen es mit Ihren " +"Freunden an einem Wochenende wiederholen." -#: resources/templates/resources/donate.html:21 +#: resources/templates/resources/donate.html:19 msgid "Or you didn't play Welcome CTF 2021 because you were not eligible." msgstr "" +"Oder sie haben nicht am Welcome CTF 2021 teilgenommen weil sie nicht berechtigt " +"waren." -#: resources/templates/resources/donate.html:24 +#: resources/templates/resources/donate.html:22 msgid "More advantages may come later, and you can submit us your ideas." msgstr "" +"Weitere Vorteile können später folgen, und Sie können uns Ihre Ideen mitteilen." -#: resources/templates/resources/donate.html:25 +#: resources/templates/resources/donate.html:23 msgid "" -"However, we will not organize limited time CTF for members only, as this " -"will be equivalent to organize paid events, and we want 42CTF to remain FREE " -"for all." +"However, we will not organize limited time CTF for members only, as this will be " +"equivalent to organize paid events, and we want 42CTF to remain FREE for all." msgstr "" +"Trotzdem werden wir keine zeitlich begrenzte CTFs nur für Mitglieder " +"organisieren, da diese Zahlungspflichtige Ereignissen gleichen, und wir 42CTF " +"KOSTENLOS für alle zugänglich behalten wollen." -#: resources/templates/resources/donate.html:28 +#: resources/templates/resources/donate.html:26 msgid "Donate to 42CTF" -msgstr "" +msgstr "An 42CTF spenden" -#: resources/templates/resources/donate.html:29 -msgid "" -"You can donate to 42CTF or pay your membership with the following means:" +#: resources/templates/resources/donate.html:27 +msgid "You can donate to 42CTF or pay your membership with the following means:" msgstr "" +"Folgende Zahlungsmethoden sind für eine Spende an 42CTF den Kauf einer " +"Mitgliedshaft verfügbar:" -#: resources/templates/resources/donate.html:43 +#: resources/templates/resources/donate.html:46 msgid "" "If you would like us to add another payment method or if you want to pay in " "cash, send us a message !" msgstr "" +"Falls Sie möchten, dass wir eine andere Zahlungsmethode hinzufügen oder lieber " +"Bar zahlen möchten, schicken sie uns eine Nachricht!" -#: resources/templates/resources/donate.html:45 +#: resources/templates/resources/donate.html:48 msgid "" "If you're paying for your membership, don't forget to send us your first and " "last name, as well as your 42CTF pseudo." msgstr "" +"Falls sie für eine Mitgliedschaft zahlen, vergessen sie nicht uns Ihren vor und " +"Nachnamen, sowie Ihren 42CTF Nutzernamen mitzuteilen." -#: resources/templates/resources/donate.html:46 +#: resources/templates/resources/donate.html:49 msgid "" "We will only use thoe data to keep track of our members and grant you " "advantages, and we will never communicate them to any third party." msgstr "" +"Wir verwenden diese Daten nur um den Überblick über unsere Mitglieder zu " +"Behalten und ihnen Vorteile zu bieten, und werden sie niemals an einem Dritten " +"übermitteln." -#: resources/templates/resources/edit.html:9 -#: resources/templates/resources/resources.html:30 +#: resources/templates/resources/edit.html:7 msgid "Edit this page" -msgstr "" +msgstr "Diese Seite bearbeiten" #: resources/templates/resources/edit.html:12 msgid "" "More information coming soon, but as you can guess it involves making a pull " "request to your favorite" msgstr "" +"Weitere Information wird folgen, doch sowie Sie es erraten können benötigt es " +"eine Pull Request auf ihrer lieblings" -#: resources/templates/resources/resources.html:10 -msgid "Getting started" -msgstr "" - -#: resources/templates/resources/resources.html:13 -#: resources/templates/resources/tools.html:9 +#: resources/templates/resources/tools.html:7 msgid "Recommended Tools" -msgstr "" +msgstr "Empfohlene Werkzeuge" -#: resources/templates/resources/resources.html:20 -msgid "Technical documentation" -msgstr "" - -#: resources/templates/resources/resources.html:21 -msgid "No docs available, contact us if you want to write some :)" -msgstr "" - -#: resources/templates/resources/resources.html:26 -msgid "Contribute" -msgstr "" - -#: resources/templates/resources/resources.html:29 -#: resources/templates/resources/translate.html:9 -msgid "Translate 42CTF" -msgstr "" - -#: resources/templates/resources/tools.html:12 +#: resources/templates/resources/tools.html:10 msgid "To get you started, we built a VM that you can simply import in" -msgstr "" +msgstr "Zum beginnen haben wir eine VM erstellt die Sie einfach importieren können" -#: resources/templates/resources/tools.html:12 +#: resources/templates/resources/tools.html:10 msgid "with a bunch of useful tools." -msgstr "" +msgstr "mit vielen nützlichen Werkzeugen." -#: resources/templates/resources/tools.html:13 +#: resources/templates/resources/tools.html:11 msgid "You can dowload this OVA" -msgstr "" +msgstr "Herunterladen können Sie die OVA" + +#: resources/templates/resources/tools.html:11 +msgid "here" +msgstr "Hier" #: resources/templates/resources/tools.html:13 -msgid "here" -msgstr "" - -#: resources/templates/resources/tools.html:15 msgid "Here are the tools installed on the VM:" -msgstr "" +msgstr "Folgende Werkzeuge sind auf der VM vorinstalliert:" -#: resources/templates/resources/tools.html:24 +#: resources/templates/resources/tools.html:22 msgid "" -"If you want to solve the challenges on your own machine, we recommend you to " -"use a Linux operating system." +"If you want to solve the challenges on your own machine, we recommend you to use " +"a Linux operating system." msgstr "" +"Falls sie die Herausforderung auf Ihrer eigenen Maschine lösen möchten, " +"empfehlen wir Ihnen einen Linux Betriebssystem zu verwenden." -#: resources/templates/resources/tools.html:25 +#: resources/templates/resources/tools.html:23 msgid "" "Most of the reverse challenges are ELF binaries and won't run on Mac OS or " "Windows." msgstr "" +"Die meisten Reverse-Engineering Herausforderungen sind ELF-Binärdateien und " +"können auf macOS oder Windows nicht ausgeführt werden." -#: resources/templates/resources/tools.html:27 +#: resources/templates/resources/tools.html:25 msgid "Additionnaly, you will need the following languages interpreters:" +msgstr "Zusätzlich, werden sie folgende Skript-Interpreter benötigen:" + +#: resources/templates/resources/translate.html:7 +msgid "Translate 42CTF" +msgstr "42CTF Übersetzen" + +#: resources/templates/resources/translate.html:10 +msgid "42CTF source code is publicly available on this" +msgstr "42CTF's Quellcode ist öffentlich zugänglich auf dieser" + +#: resources/templates/resources/translate.html:11 +msgid "" +"Translation does not require any programming skill and is a good way to " +"contribute if you want to help us, by making the platform always more accessible." msgstr "" +"Übersetzung benötigt keine Programmierkenntnisse und ist ein gute Möglichkeit " +"beizutragen wenn sie uns helfen möchten, indem Sie diese Plattform immer " +"zugänglicher machen." #: resources/templates/resources/translate.html:12 -msgid "42CTF source code is publicly available on this" +msgid "We have a" +msgstr "Wir haben einen" + +# FIXME: internalization -> internationalization +#: resources/templates/resources/translate.html:12 +msgid "describing how to translate pages with the Django internalization module." msgstr "" +"indem beschrieben wird wie man mit dem Django Internationalisierungsmodul Seiten " +"übersetzt." #: resources/templates/resources/translate.html:13 msgid "" -"Translation does not require any programming skill and is a good way to " -"contribute if you want to help us, by making the platform always more " -"accessible." -msgstr "" - -#: resources/templates/resources/translate.html:14 -msgid "We have a" +"We invite you to read it to know all the details, but it merely requires you to " +"edit text files, so you see, no programming skills required ;)" msgstr "" +"Wir laden Sie dazu ein es zu lesen um alle Einzelheiten zur Kenntnis zu nehmen, " +"doch schrecken Sie sich nicht ab, es ist nichts mehr als Textverarbeitung, keine " +"Programmierkenntnisse sind benötigt ;)" #: resources/templates/resources/translate.html:14 msgid "" -"describing how to translate pages with the Django internalization module." +"You will need to fork the git repository, make your changes, push them, and then " +"open a pull request so that we can merge your contributions into our repository." msgstr "" +"Sie müssen das git Repository forken, Ihre Änderungen tätigen, pushen, und eine " +"Pull Request eröffnen, sodass wir Ihre Beiträge in unsere Repository mergen " +"können." #: resources/templates/resources/translate.html:15 -msgid "" -"We invite you to read it to know all the details, but it merely requires you " -"to edit text files, so you see, no programming skills required ;)" -msgstr "" - -#: resources/templates/resources/translate.html:16 -msgid "" -"You will need to fork the git repository, make your changes, push them, and " -"then open a pull request so that we can merge your contributions into our " -"repository." -msgstr "" - -#: resources/templates/resources/translate.html:17 msgid "Don't hesitate to reach for help on" -msgstr "" +msgstr "Zögern Sie nicht, nach Hilfe zu bitten auf" diff --git a/src/resources/locale/en/LC_MESSAGES/django.po b/src/resources/locale/en/LC_MESSAGES/django.po index 7f14a31..c8b56f4 100644 --- a/src/resources/locale/en/LC_MESSAGES/django.po +++ b/src/resources/locale/en/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-01-23 17:31+0000\n" +"POT-Creation-Date: 2022-02-02 19:22+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/src/resources/locale/es/LC_MESSAGES/django.po b/src/resources/locale/es/LC_MESSAGES/django.po index 7f14a31..c8b56f4 100644 --- a/src/resources/locale/es/LC_MESSAGES/django.po +++ b/src/resources/locale/es/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-01-23 17:31+0000\n" +"POT-Creation-Date: 2022-02-02 19:22+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/src/resources/locale/fr/LC_MESSAGES/django.po b/src/resources/locale/fr/LC_MESSAGES/django.po index ee0d281..6e710b1 100644 --- a/src/resources/locale/fr/LC_MESSAGES/django.po +++ b/src/resources/locale/fr/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-01-23 17:31+0000\n" +"POT-Creation-Date: 2022-02-02 19:22+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/src/resources/locale/it/LC_MESSAGES/django.po b/src/resources/locale/it/LC_MESSAGES/django.po index 7f14a31..c8b56f4 100644 --- a/src/resources/locale/it/LC_MESSAGES/django.po +++ b/src/resources/locale/it/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-01-23 17:31+0000\n" +"POT-Creation-Date: 2022-02-02 19:22+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/src/resources/locale/ru/LC_MESSAGES/django.po b/src/resources/locale/ru/LC_MESSAGES/django.po index a7c8e1c..6cf3e12 100644 --- a/src/resources/locale/ru/LC_MESSAGES/django.po +++ b/src/resources/locale/ru/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-01-23 17:31+0000\n" +"POT-Creation-Date: 2022-02-02 19:22+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/src/resources/templates/resources/42ctf.html b/src/resources/templates/resources/42ctf.html index 6959f65..c6fb1ec 100644 --- a/src/resources/templates/resources/42ctf.html +++ b/src/resources/templates/resources/42ctf.html @@ -1,12 +1,10 @@ -{% extends 'base.html' %} {% block content %} {% load i18n %} {% get_current_language as lang %} -
    -
    +
    -

    {% trans "What is 42CTF ?" %}

    +

    {% trans "What is 42CTF ?" %}

    {% trans "A short introduction to CTF" %}

    @@ -30,5 +28,4 @@
    -
    {% endblock %} \ No newline at end of file diff --git a/src/resources/templates/resources/create_challenge.html b/src/resources/templates/resources/create_challenge.html index 4ffd16a..a9da07c 100644 --- a/src/resources/templates/resources/create_challenge.html +++ b/src/resources/templates/resources/create_challenge.html @@ -1,12 +1,10 @@ -{% extends 'base.html' %} {% block content %} {% load i18n %} {% get_current_language as lang %} -
    -
    +
    -

    {% trans "Create new challenges" %}

    +

    {% trans "Create new challenges" %}

    {% trans "If you want to create new challenges for 42CTF, send us a message on " %} !

    @@ -18,5 +16,4 @@
    -
    {% endblock %} \ No newline at end of file diff --git a/src/resources/templates/resources/donate.html b/src/resources/templates/resources/donate.html index 0b3cb83..dbd80df 100644 --- a/src/resources/templates/resources/donate.html +++ b/src/resources/templates/resources/donate.html @@ -1,12 +1,10 @@ -{% extends 'base.html' %} {% block content %} {% load i18n %} {% get_current_language as lang %} -
    -
    +
    -

    {% trans "Donate" %}

    +

    {% trans "Donate" %}

    {% trans "Become a 42CTF member" %}

    @@ -25,7 +23,7 @@ {% trans "However, we will not organize limited time CTF for members only, as this will be equivalent to organize paid events, and we want 42CTF to remain FREE for all." %}


    -

    {% trans "Donate to 42CTF" %}

    +

    {% trans "Donate to 42CTF" %}

    {% trans "You can donate to 42CTF or pay your membership with the following means:" %}
    @@ -38,8 +36,13 @@ - -
    + + + + + +
    +
    {% trans "If you would like us to add another payment method or if you want to pay in cash, send us a message !" %}

    {% trans "If you're paying for your membership, don't forget to send us your first and last name, as well as your 42CTF pseudo." %} @@ -48,6 +51,4 @@
    - -
    {% endblock %} \ No newline at end of file diff --git a/src/resources/templates/resources/edit.html b/src/resources/templates/resources/edit.html index c2c0a08..2835308 100644 --- a/src/resources/templates/resources/edit.html +++ b/src/resources/templates/resources/edit.html @@ -1,18 +1,19 @@ -{% extends 'base.html' %} {% block content %} {% load i18n %} {% get_current_language as lang %} -
    -
    +
    -

    {% trans "Edit this page" %}

    +

    {% trans "Edit this page" %}

    +
    +
    {% trans "More information coming soon, but as you can guess it involves making a pull request to your favorite" %} repository ;) +
    +
    +
    - -
    {% endblock %} \ No newline at end of file diff --git a/src/resources/templates/resources/resources.html b/src/resources/templates/resources/resources.html index 6e7b096..2d863be 100644 --- a/src/resources/templates/resources/resources.html +++ b/src/resources/templates/resources/resources.html @@ -3,38 +3,23 @@ {% load i18n %} {% get_current_language as lang %}
    -
    - -
    - -
    - -
    -
      -
    • {% trans "Technical documentation" %}
    • -
    • {% trans "No docs available, contact us if you want to write some :)" %}
    • -
    -
    - - -
    - + {% block 42ctf %} + {% include "./42ctf.html" %} + {% endblock %} + {% block tools %} + {% include "./tools.html" %} + {% endblock %} + {% block translate %} + {% include "./translate.html" %} + {% endblock %} + {% block create_challenge %} + {% include "./create_challenge.html" %} + {% endblock %} + {% block edit %} + {% include "./edit.html" %} + {% endblock %} + {% block donate %} + {% include "./donate.html" %} + {% endblock %}
    -{% endblock %} - +{% endblock %} \ No newline at end of file diff --git a/src/resources/templates/resources/tools.html b/src/resources/templates/resources/tools.html index ba07b1d..8595255 100644 --- a/src/resources/templates/resources/tools.html +++ b/src/resources/templates/resources/tools.html @@ -1,12 +1,10 @@ -{% extends 'base.html' %} {% block content %} {% load i18n %} {% get_current_language as lang %} -
    -
    +
    -

    {% trans "Recommended Tools" %}

    +

    {% trans "Recommended Tools" %}

    {% trans "To get you started, we built a VM that you can simply import in" %} Virtual Box {% trans "with a bunch of useful tools." %}
    @@ -27,9 +25,10 @@ {% trans "Additionnaly, you will need the following languages interpreters:" %}
    - python3
    - lua
    +
    +
    -
    {% endblock %} \ No newline at end of file diff --git a/src/resources/templates/resources/translate.html b/src/resources/templates/resources/translate.html index 9d992ee..6f5f495 100644 --- a/src/resources/templates/resources/translate.html +++ b/src/resources/templates/resources/translate.html @@ -1,12 +1,10 @@ -{% extends 'base.html' %} {% block content %} {% load i18n %} {% get_current_language as lang %} -
    -
    +
    -

    {% trans "Translate 42CTF" %}

    +

    {% trans "Translate 42CTF" %}

    {% trans "42CTF source code is publicly available on this"%} github.
    @@ -19,5 +17,4 @@
    -
    {% endblock %} \ No newline at end of file diff --git a/src/scoreboard/management/commands/recompute_scoreboard.py b/src/scoreboard/management/commands/recompute_scoreboard.py index 29fee3d..1c24de4 100644 --- a/src/scoreboard/management/commands/recompute_scoreboard.py +++ b/src/scoreboard/management/commands/recompute_scoreboard.py @@ -1,38 +1,24 @@ from collections import defaultdict from django.core.management.base import BaseCommand, CommandError -from accounts import models as acc_models +from accounts.models import UserProfileInfo from ctfs import models as ex_models class Command(BaseCommand): - help = 'Recomputes the score and ranking caches from the solutions' + help = 'Recomputes the score cache from the solutions' def handle(self, *args, **options): - all_sols = ex_models.CTF_flags.objects.select_related().all() + all_sols = ex_models.CTF_flags.objects.select_related().filter(ctf__event=None, ctf__disabled=False) + all_users = UserProfileInfo.objects.all() + scores = defaultdict(int) for sol in all_sols: scores[sol.user] += sol.ctf.points - li = [(s, u) for (u, s) in scores.items()] - # #li.sort(reverse=True) - li2 = [] - old_rank = None - old_score = None - rank = 0 - for (s, u) in li: - rank += 1 - if s == old_score: - li2.append((u, s, old_rank)) - else: - old_score = s - old_rank = rank - li2.append((u, s, rank)) + for u in all_users: + if u.user not in scores.keys(): + u.score = 0 + u.save() - for (u, s, r) in li2: - u.userprofileinfo.score = s - # u.userprofileinfo.rank = r + for u in scores: + u.userprofileinfo.score = scores[u] u.userprofileinfo.save() - - # not_handled = acc_models.UserProfileInfo.objects.exclude( - # id__in=[u.id for u, s, r in li2] - # ) - # not_handled.update(score=0, rank=rank+1) diff --git a/src/statics/css/style.css b/src/statics/css/style.css index f8df0ab..402c2e4 100644 --- a/src/statics/css/style.css +++ b/src/statics/css/style.css @@ -50,10 +50,12 @@ pre { padding-left: 15px; font-weight: bolder; } + .dropdown-menu { background-color: #1d1d1d; border: none; border-radius: 0; + min-width:inherit; } .dropdown-item { color: #d9d9d9; @@ -62,8 +64,9 @@ pre { background-color: #1d1d1d; color: #fff; } -.flag_link { - margin-right: 6px; +.nav-item{ + padding-right: 15px; + padding-left: 15px; } .flag_img { margin-top: 10px; @@ -77,14 +80,7 @@ pre { .table-dark thead th { border: none; } -.list-group a { - text-decoration: none; - /* color: #4375aa; */ -} -.list-group a:hover { - text-decoration: none; - color: #fff; -} + .ctf-block { background-color: #1d1d1d; min-height: 235px; @@ -361,4 +357,30 @@ footer { } .is-member { color: #2b908f; -} \ No newline at end of file +} + +@media only screen and (min-width : 1200px) { + .container { max-width: 1400px; } +} + +@media screen and (max-width: 991px) { + .container { display: flex; flex-flow: column; } + .top-sm { order: 1; } + .middle-sm { order: 2; } + .bottom-sm { order: 3 } +} + +@media screen and (min-width: 992px) { + .container { display: flex; flex-flow: column; } + .top-md { order: 1; } + .middle-md { order: 2; } + .bottom-md { order: 3 } +} + +.ctf-link { + color: #fff; +} +.ctf-link:hover { + color: #a9a9a9; + text-decoration: none; +} diff --git a/src/statics/img/hello_asso.png b/src/statics/img/hello_asso.png new file mode 100644 index 0000000..bf90511 Binary files /dev/null and b/src/statics/img/hello_asso.png differ diff --git a/src/templates/base.html b/src/templates/base.html index 7cdc413..8e97e6d 100644 --- a/src/templates/base.html +++ b/src/templates/base.html @@ -57,8 +57,6 @@ @@ -67,27 +65,23 @@