Compare commits

...

16 Commits

29 changed files with 381 additions and 362 deletions

104
bot.py
View File

@ -1,104 +0,0 @@
import os
import discord
import discord.utils
import urllib.request, json
import asyncio
import json
import logging
TOKEN = os.getenv('DISCORD_TOKEN')
GUILD = '42ctf'
intents = discord.Intents.all()
client = discord.Client(intents=intents)
db_file = open('members.json', 'r')
users = json.load(db_file)
db_file.close()
logging.basicConfig(filename='bot.log', format='%(asctime)s %(message)s', level=logging.INFO)
guild = ''
roles = {}
def get_rank(token):
url = urllib.request.urlopen("https://www.42ctf.org/accounts/rank/" + token)
data = json.loads(url.read().decode())
rank = data['rank']
return rank
async def watch_roles():
global users
await client.wait_until_ready() # ensures cache is loaded
while not client.is_closed():
for member_id, token in users.items():
if (token == "0000"):
continue
member = discord.utils.get(guild.members, id=int(member_id))
rank = get_rank(token)
if rank == 1 and roles['top1'] not in member.roles:
await member.add_roles(roles['top1'])
await member.remove_roles(roles['top10'])
await member.remove_roles(roles['top50'])
elif rank > 1 and rank <= 10 and roles['top10'] not in member.roles:
await member.add_roles(roles['top10'])
await member.remove_roles(roles['top1'])
await member.remove_roles(roles['top50'])
elif rank > 10 and rank <= 50 and roles['top50'] not in member.roles:
await member.add_roles(roles['top50'])
await member.remove_roles(roles['top10'])
await member.remove_roles(roles['top1'])
elif rank > 50:
await member.remove_roles(roles['top1'])
await member.remove_roles(roles['top10'])
await member.remove_roles(roles['top50'])
await asyncio.sleep(60)
@client.event
async def on_ready():
global guild, roles
guild = discord.utils.get(client.guilds, name=GUILD)
roles['top10'] = discord.utils.get(guild.roles, id=801787467064672286)
roles['top1'] = discord.utils.get(guild.roles, id=798638767359524875)
roles['top50'] = discord.utils.get(guild.roles, id=803729539145924649)
logging.info('%s is connected to the following guild: %s(id: %d)', client.user, guild.name, guild.id)
client.loop.create_task(watch_roles())
@client.event
async def on_message(message):
global guild, roles
if message.author == client.user:
return
if '!connect' in message.content:
try:
user_token = message.content.split(' ')[1]
member = discord.utils.get(guild.members, name=message.author.name)
rank = get_rank(user_token)
users[str(member.id)] = user_token
logging.info("MESSAGE: from %s with token %s", message.author.name, user_token)
with open('members.json', 'w') as json_file:
json.dump(users, json_file)
if rank == 1:
await member.add_roles(roles['top1'])
response = "Congratulations, you're now Top 1. But for how long ?"
elif (rank <= 10):
await member.add_roles(roles['top10'])
response = "You've been granted the Top 10 role. Now, go away and flag !"
elif rank <= 50:
await member.add_roles(roles['top50'])
response = "You've been granted the Top 50 role. Now, go away and flag !"
else:
response = "No role for you now, but I'll keep watching you."
except IndexError:
response = 'usage: !connect 42ctf_token'
await message.author.create_dm()
await message.author.dm_channel.send(response)
client.run(TOKEN)

View File

@ -2,67 +2,89 @@
{% block content %} {% block content %}
{% load i18n %} {% load i18n %}
<div class="row"> <div class="row">
<div class="col-sm-12 col-md-9"> <div class="col-sm-12 col-md-9">
<div class="ctf-block"> <div class="ctf-block">
<div class="ctf-head"> <div class="ctf-head">
<h3>Edit info</h3> <h3>Edit info</h3>
</div> </div>
<div class="bloc-body"> <div class="bloc-body">
<div class="col-sm-12 col-md-12 mx-auto"> <div class="col-sm-12 col-md-12 mx-auto">
{{ u_form.non_field_errors }} {{ u_form.non_field_errors }}
{% if error is not None %} {% if error is not None %}
<span class="message error-msg">{{ error }}</span> <span class="message error-msg">{{ error }}</span>
{% elif success is not None %} {% elif success is not None %}
<span class="message success-msg">{{ success }}</span> <span class="message success-msg">{{ success }}</span>
{% endif %} {% endif %}
<form method='POST'> <form method='POST'>
<div class="edit-infos-grp"> <div class="edit-infos-grp">
{%csrf_token%}
<label for="{{ u_form.username.id_for_label }}">{% trans "Username" %} *</label>
{{ u_form.username.errors}}
{{u_form.username}}
</br>
<label for="{{ u_form.email.id_for_label }}">{% trans "Email" %} *</label>
{{ u_form.email.errors}}
{{u_form.email}}
</br>
</br>
<label for="{{ p_form.portfolio_site.id_for_label }}">{% trans "Website" %}</label>
{{p_form.portfolio_site}}
</br>
</br>Token
<input type='text' readonly value='{{token}}'>
</br>
<input class="form-control" type="submit" value="{% trans " Apply" %}">
</div>
</form>
</div>
</div>
</div>
<div class="ctf-block">
<div class="ctf-head">
<h3>{% trans "Connected accounts" %}</h3>
</div>
<div class="bloc-body">
<div class="d-flex">
{% if user.userprofileinfo.discord_id|length > 0 %}
<form action="{% url 'accounts:connections-disconnect-discord' %}" method='POST'
class="form-inline p-2">
{%csrf_token%} {%csrf_token%}
<label for="{{ u_form.username.id_for_label }}">{% trans "Username" %} *</label> <button class="btn btn-dark" type="submit">{% trans "Disconnect Discord" %}</button>
{{ u_form.username.errors}} </form>
{{u_form.username}} {% else %}
</br> <form action="{% url 'accounts:connections-connect-discord' %}" method='POST'
<label for="{{ u_form.email.id_for_label }}">{% trans "Email" %} *</label> class="form-inline p-2">
{{ u_form.email.errors}} {%csrf_token%}
{{u_form.email}} <button class="btn btn-dark" type="submit">{% trans "Connect Discord" %}</button>
</br> </form>
</br> {% endif %}
<label for="{{ p_form.portfolio_site.id_for_label }}">{% trans "Website" %}</label> </div>
{{p_form.portfolio_site}}
</br>
</br>Token
<input type='text' readonly value='{{token}}'>
</br>
<input class="form-control" type="submit" value="{% trans "Apply" %}">
</div>
</form>
</div> </div>
</div> </div>
</div> </div>
</div> <div class="d-none d-md-block col-10 col-md-3 right-sidebar">
<div class="d-none d-md-block col-10 col-md-3 right-sidebar"> <ul class="list-group">
<ul class="list-group">
<li class="list-group-item">{{ user.username }}</li> <li class="list-group-item">{{ user.username }}</li>
<li class="list-group-item">{% trans "Score" %} : {{ user.userprofileinfo.score }}</li> <li class="list-group-item">{% trans "Score" %} : {{ user.userprofileinfo.score }}</li>
{% if user.userprofileinfo.portfolio_site %} {% if user.userprofileinfo.portfolio_site %}
<li class="list-group-item"> <li class="list-group-item">
<a href="{{ user.userprofileinfo.portfolio_site }}" target="_blank"> <a href="{{ user.userprofileinfo.portfolio_site }}" target="_blank">
{{ user.userprofileinfo.portfolio_site }} {{ user.userprofileinfo.portfolio_site }}
</a> </a>
</li> </li>
{% endif %} {% endif %}
<li class="list-group-item">{% trans "Registered since" %} {{ user.date_joined|date:"Y-m-d" }}</li> <li class="list-group-item">{% trans "Registered since" %} {{ user.date_joined|date:"Y-m-d" }}</li>
</ul> </ul>
<ul class="list-group"> <ul class="list-group">
<form method='GET' action="{% url 'accounts:delete_account' %}"> <form method='GET' action="{% url 'accounts:delete_account' %}">
{%csrf_token%} {%csrf_token%}
<li class="list-group-item"> <li class="list-group-item">
<input class="form-control" type="submit" value="{% trans "Delete my account" %}"> <input class="form-control" type="submit" value="{% trans " Delete my account" %}">
</li> </li>
</form> </form>
</ul> </ul>
</div>
</div> </div>
{% endblock %} </div>
{% endblock %}

View File

@ -4,6 +4,7 @@ from django.views.decorators.http import require_POST
from django.views.defaults import bad_request from django.views.defaults import bad_request
from django.urls import reverse from django.urls import reverse
from django.shortcuts import redirect from django.shortcuts import redirect
from django.contrib.sites.models import Site
import os import os
oauth = OAuth() oauth = OAuth()
@ -23,8 +24,9 @@ oauth.register(
def connect(request): def connect(request):
if request.user.userprofileinfo.discord_id: if request.user.userprofileinfo.discord_id:
return bad_request(request, "Already connected") return bad_request(request, "Already connected")
site = Site.objects.get_current()
redirect_uri = reverse('accounts:connections-connect-discord-authorize') redirect_uri = reverse('accounts:connections-connect-discord-authorize')
redirect_uri = request.build_absolute_uri(redirect_uri) redirect_uri = "https://" + site.domain + redirect_uri[3:] # remove language code
print(redirect_uri) print(redirect_uri)
return oauth.discord.authorize_redirect(request, redirect_uri) return oauth.discord.authorize_redirect(request, redirect_uri)

View File

@ -154,17 +154,7 @@ def profile(request, user_name):
return render(request,'accounts/profile.html', {'user':user_obj, 'solves':solves,'solved':solved,'catsDatas': catsDatas, 'pointDatas': pointDatas, return render(request,'accounts/profile.html', {'user':user_obj, 'solves':solves,'solved':solved,'catsDatas': catsDatas, 'pointDatas': pointDatas,
'rank': rank, 'score' : somme, 'member' : member, 'cats':cats}) 'rank': rank, 'score' : somme, 'member' : member, 'cats':cats})
<<<<<<< HEAD
def rank(request, token):
all_users = UserProfileInfo.objects.filter(score__gt=0).select_related().order_by('-score', 'last_submission_date', 'user__username')
rank = 1
for elem in all_users:
if elem.token == token:
break
rank += 1
data = {"rank": rank}
return JsonResponse(data)
@login_required @login_required
def delete_account(request): def delete_account(request):
@ -181,4 +171,15 @@ def delete_account(request):
return render(request, 'accounts/delete.html', {'deleted': False, 'bad_password': True}) return render(request, 'accounts/delete.html', {'deleted': False, 'bad_password': True})
else: else:
return render(request, 'accounts/delete.html', {'deleted': False, 'bad_password': False} ) return render(request, 'accounts/delete.html', {'deleted': False, 'bad_password': False} )
def rank(request, token):
all_users = UserProfileInfo.objects.filter(score__gt=0).select_related().order_by('-score', 'last_submission_date', 'user__username')
rank = 1
for elem in all_users:
if elem.token == token:
break
rank += 1
data = {"rank": rank}
return JsonResponse(data)

0
src/api/__init__.py Normal file
View File

3
src/api/admin.py Normal file
View File

@ -0,0 +1,3 @@
from django.contrib import admin
# Register your models here.

6
src/api/apps.py Normal file
View File

@ -0,0 +1,6 @@
from django.apps import AppConfig
class ApiConfig(AppConfig):
default_auto_field = 'django.db.models.BigAutoField'
name = 'api'

View File

3
src/api/models.py Normal file
View File

@ -0,0 +1,3 @@
from django.db import models
# Create your models here.

3
src/api/tests.py Normal file
View File

@ -0,0 +1,3 @@
from django.test import TestCase
# Create your tests here.

6
src/api/urls.py Normal file
View File

@ -0,0 +1,6 @@
from django.urls import path
from . import views
urlpatterns = [
path('bot/discord', views.discord_bot, name='discord_bot'),
]

27
src/api/views.py Normal file
View File

@ -0,0 +1,27 @@
from django.shortcuts import render
from accounts.models import UserProfileInfo
from django.http import JsonResponse
import os
# Create your views here.
def discord_bot(request):
if request.method != 'GET':
return JsonResponse({'error':'bad request'})
token = request.GET.get('token')
auth_token = os.getenv('BOT_TOKEN')
if (token != auth_token or not auth_token):
return JsonResponse({'error':'not authorized'})
all_users = UserProfileInfo.objects.select_related().order_by('-score', 'last_submission_date', 'user__username')
data = {}
rank = 1
for user in all_users:
if user.discord_id:
data[user.discord_id] = rank
rank += 1
return JsonResponse(data)

View File

@ -7,7 +7,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: \n" "Project-Id-Version: \n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2022-02-14 19:36+0100\n" "POT-Creation-Date: 2022-02-16 20:02+0100\n"
"PO-Revision-Date: 2022-02-10 19:50+0100\n" "PO-Revision-Date: 2022-02-10 19:50+0100\n"
"Last-Translator: Clément Hamada <clementhamada@pm.me>\n" "Last-Translator: Clément Hamada <clementhamada@pm.me>\n"
"Language-Team: \n" "Language-Team: \n"
@ -48,7 +48,7 @@ msgstr "Passwort"
#: accounts/templates/accounts/edit.html:21 #: accounts/templates/accounts/edit.html:21
#: accounts/templates/accounts/login.html:18 #: accounts/templates/accounts/login.html:18
#: accounts/templates/accounts/register.html:22 #: accounts/templates/accounts/register.html:22
#: ctfs/templates/ctfs/ctf_info.html:61 ctfs/templates/ctfs/ctfs_list.html:12 #: ctfs/templates/ctfs/ctf_info.html:63 ctfs/templates/ctfs/ctfs_list.html:12
#: events/templates/events/ctf_info.html:65 #: events/templates/events/ctf_info.html:65
#: events/templates/events/event_info.html:64 #: events/templates/events/event_info.html:64
#: scoreboard/templates/scoreboard/scoreboard.html:13 #: scoreboard/templates/scoreboard/scoreboard.html:13
@ -60,7 +60,7 @@ msgid "Email"
msgstr "Email" msgstr "Email"
#: accounts/templates/accounts/edit.html:30 #: accounts/templates/accounts/edit.html:30
#: ctfs/templates/ctfs/ctf_info.html:62 #: ctfs/templates/ctfs/ctf_info.html:64
#: events/templates/events/ctf_info.html:66 #: events/templates/events/ctf_info.html:66
#: events/templates/events/event_info.html:65 #: events/templates/events/event_info.html:65
#: scoreboard/templates/scoreboard/scoreboard.html:14 #: scoreboard/templates/scoreboard/scoreboard.html:14
@ -74,7 +74,7 @@ msgstr "Anwenden"
#: accounts/templates/accounts/edit.html:47 #: accounts/templates/accounts/edit.html:47
#: accounts/templates/accounts/profile.html:46 #: accounts/templates/accounts/profile.html:46
#: ctfs/templates/ctfs/ctf_info.html:63 ctfs/templates/ctfs/ctfs_list.html:13 #: ctfs/templates/ctfs/ctf_info.html:65 ctfs/templates/ctfs/ctfs_list.html:13
#: events/templates/events/event_info.html:66 #: events/templates/events/event_info.html:66
#: events/templates/events/event_info.html:89 #: events/templates/events/event_info.html:89
#: events/templates/events/manage_team.html:40 #: events/templates/events/manage_team.html:40
@ -138,7 +138,7 @@ msgid "Points"
msgstr "Punkte" msgstr "Punkte"
#: accounts/templates/accounts/profile.html:24 #: accounts/templates/accounts/profile.html:24
#: ctfs/templates/ctfs/ctf_info.html:64 #: ctfs/templates/ctfs/ctf_info.html:66
#: events/templates/events/ctf_info.html:67 #: events/templates/events/ctf_info.html:67
#: events/templates/events/team.html:23 #: events/templates/events/team.html:23
msgid "Date" msgid "Date"
@ -219,66 +219,58 @@ msgstr "Nutzername bereits vergeben."
msgid "Updated." msgid "Updated."
msgstr "Aktualisiert." msgstr "Aktualisiert."
#: ctfs/templates/ctfs/ctf_info.html:10 #: ctfs/templates/ctfs/ctf_info.html:12
#: events/templates/events/ctf_info.html:12 #: events/templates/events/ctf_info.html:12
msgid "Published date" msgid "Published date"
msgstr "Veröffentlichungsdatum" msgstr "Veröffentlichungsdatum"
#: ctfs/templates/ctfs/ctf_info.html:14 #: ctfs/templates/ctfs/ctf_info.html:16
msgid "Challenge is not yet available." msgid "Challenge is not yet available."
msgstr "Herausforderung ist noch nicht verfügbar." msgstr "Herausforderung ist noch nicht verfügbar."
#: ctfs/templates/ctfs/ctf_info.html:21 #: ctfs/templates/ctfs/ctf_info.html:29
#: events/templates/events/ctf_info.html:18
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:27
#: events/templates/events/ctf_info.html:24 #: events/templates/events/ctf_info.html:24
msgid "Congratulation !" msgid "Congratulation !"
msgstr "Herzlichen Glückwunsch!" msgstr "Herzlichen Glückwunsch!"
#: ctfs/templates/ctfs/ctf_info.html:29 #: ctfs/templates/ctfs/ctf_info.html:31
#: events/templates/events/ctf_info.html:26 #: events/templates/events/ctf_info.html:26
msgid "Already flagged" msgid "Already flagged"
msgstr "Schon gelöst" msgstr "Schon gelöst"
#: ctfs/templates/ctfs/ctf_info.html:31 ctfs/templates/ctfs/ctf_info.html:40 #: ctfs/templates/ctfs/ctf_info.html:33 ctfs/templates/ctfs/ctf_info.html:42
#: events/templates/events/ctf_info.html:36 #: events/templates/events/ctf_info.html:36
#: events/templates/events/ctf_info.html:45 #: events/templates/events/ctf_info.html:45
msgid "Start the challenge" msgid "Start the challenge"
msgstr "Herausforderung beginnen" msgstr "Herausforderung beginnen"
#: ctfs/templates/ctfs/ctf_info.html:33 ctfs/templates/ctfs/ctf_info.html:42 #: ctfs/templates/ctfs/ctf_info.html:35 ctfs/templates/ctfs/ctf_info.html:44
#: events/templates/events/ctf_info.html:38 #: events/templates/events/ctf_info.html:38
#: events/templates/events/ctf_info.html:47 #: events/templates/events/ctf_info.html:47
msgid "Download" msgid "Download"
msgstr "Herunterladen" msgstr "Herunterladen"
#: ctfs/templates/ctfs/ctf_info.html:37 #: ctfs/templates/ctfs/ctf_info.html:39
#: events/templates/events/ctf_info.html:42 #: events/templates/events/ctf_info.html:42
msgid "Wrong flag ! You can do it !" msgid "Wrong flag ! You can do it !"
msgstr "Falsche flagge! Sie können es schaffen!" msgstr "Falsche flagge! Sie können es schaffen!"
#: ctfs/templates/ctfs/ctf_info.html:56 #: ctfs/templates/ctfs/ctf_info.html:58
#: events/templates/events/ctf_info.html:60 #: events/templates/events/ctf_info.html:60
msgid "Solved by" msgid "Solved by"
msgstr "Gelöst von" msgstr "Gelöst von"
#: ctfs/templates/ctfs/ctf_info.html:80 #: ctfs/templates/ctfs/ctf_info.html:82
#: events/templates/events/ctf_info.html:90 #: events/templates/events/ctf_info.html:90
msgid "Nobody has solved this challenge yet." msgid "Nobody has solved this challenge yet."
msgstr "Bisher hat noch niemand diese Herausforderung gelöst." msgstr "Bisher hat noch niemand diese Herausforderung gelöst."
#: ctfs/templates/ctfs/ctf_info.html:87 #: ctfs/templates/ctfs/ctf_info.html:89
#: events/templates/events/ctf_info.html:97 #: events/templates/events/ctf_info.html:97
msgid "Author" msgid "Author"
msgstr "Autor/-in" msgstr "Autor/-in"
#: ctfs/templates/ctfs/ctf_info.html:88 #: ctfs/templates/ctfs/ctf_info.html:90
#: events/templates/events/ctf_info.html:98 #: events/templates/events/ctf_info.html:98
msgid "Point reward" msgid "Point reward"
msgstr "Belohnungspunkte" msgstr "Belohnungspunkte"
@ -371,6 +363,13 @@ msgstr "Finde mir einen Team!"
msgid "Event" msgid "Event"
msgstr "Ereignis" msgstr "Ereignis"
#: events/templates/events/ctf_info.html:18
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)."
#: events/templates/events/ctf_info.html:28 #: events/templates/events/ctf_info.html:28
#: events/templates/events/event_info.html:18 #: events/templates/events/event_info.html:18
msgid "This event is over." msgid "This event is over."

View File

@ -8,7 +8,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: PACKAGE VERSION\n" "Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2022-02-14 19:36+0100\n" "POT-Creation-Date: 2022-02-16 20:02+0100\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n" "Language-Team: LANGUAGE <LL@li.org>\n"
@ -49,7 +49,7 @@ msgstr ""
#: accounts/templates/accounts/edit.html:21 #: accounts/templates/accounts/edit.html:21
#: accounts/templates/accounts/login.html:18 #: accounts/templates/accounts/login.html:18
#: accounts/templates/accounts/register.html:22 #: accounts/templates/accounts/register.html:22
#: ctfs/templates/ctfs/ctf_info.html:61 ctfs/templates/ctfs/ctfs_list.html:12 #: ctfs/templates/ctfs/ctf_info.html:63 ctfs/templates/ctfs/ctfs_list.html:12
#: events/templates/events/ctf_info.html:65 #: events/templates/events/ctf_info.html:65
#: events/templates/events/event_info.html:64 #: events/templates/events/event_info.html:64
#: scoreboard/templates/scoreboard/scoreboard.html:13 #: scoreboard/templates/scoreboard/scoreboard.html:13
@ -61,7 +61,7 @@ msgid "Email"
msgstr "" msgstr ""
#: accounts/templates/accounts/edit.html:30 #: accounts/templates/accounts/edit.html:30
#: ctfs/templates/ctfs/ctf_info.html:62 #: ctfs/templates/ctfs/ctf_info.html:64
#: events/templates/events/ctf_info.html:66 #: events/templates/events/ctf_info.html:66
#: events/templates/events/event_info.html:65 #: events/templates/events/event_info.html:65
#: scoreboard/templates/scoreboard/scoreboard.html:14 #: scoreboard/templates/scoreboard/scoreboard.html:14
@ -75,7 +75,7 @@ msgstr ""
#: accounts/templates/accounts/edit.html:47 #: accounts/templates/accounts/edit.html:47
#: accounts/templates/accounts/profile.html:46 #: accounts/templates/accounts/profile.html:46
#: ctfs/templates/ctfs/ctf_info.html:63 ctfs/templates/ctfs/ctfs_list.html:13 #: ctfs/templates/ctfs/ctf_info.html:65 ctfs/templates/ctfs/ctfs_list.html:13
#: events/templates/events/event_info.html:66 #: events/templates/events/event_info.html:66
#: events/templates/events/event_info.html:89 #: events/templates/events/event_info.html:89
#: events/templates/events/manage_team.html:40 #: events/templates/events/manage_team.html:40
@ -139,7 +139,7 @@ msgid "Points"
msgstr "" msgstr ""
#: accounts/templates/accounts/profile.html:24 #: accounts/templates/accounts/profile.html:24
#: ctfs/templates/ctfs/ctf_info.html:64 #: ctfs/templates/ctfs/ctf_info.html:66
#: events/templates/events/ctf_info.html:67 #: events/templates/events/ctf_info.html:67
#: events/templates/events/team.html:23 #: events/templates/events/team.html:23
msgid "Date" msgid "Date"
@ -218,64 +218,58 @@ msgstr ""
msgid "Updated." msgid "Updated."
msgstr "" msgstr ""
#: ctfs/templates/ctfs/ctf_info.html:10 #: ctfs/templates/ctfs/ctf_info.html:12
#: events/templates/events/ctf_info.html:12 #: events/templates/events/ctf_info.html:12
msgid "Published date" msgid "Published date"
msgstr "" msgstr ""
#: ctfs/templates/ctfs/ctf_info.html:14 #: ctfs/templates/ctfs/ctf_info.html:16
msgid "Challenge is not yet available." msgid "Challenge is not yet available."
msgstr "" msgstr ""
#: ctfs/templates/ctfs/ctf_info.html:21 #: ctfs/templates/ctfs/ctf_info.html:29
#: events/templates/events/ctf_info.html:18
msgid ""
"No translation available. Please try another language (English or French)."
msgstr ""
#: ctfs/templates/ctfs/ctf_info.html:27
#: events/templates/events/ctf_info.html:24 #: events/templates/events/ctf_info.html:24
msgid "Congratulation !" msgid "Congratulation !"
msgstr "" msgstr ""
#: ctfs/templates/ctfs/ctf_info.html:29 #: ctfs/templates/ctfs/ctf_info.html:31
#: events/templates/events/ctf_info.html:26 #: events/templates/events/ctf_info.html:26
msgid "Already flagged" msgid "Already flagged"
msgstr "" msgstr ""
#: ctfs/templates/ctfs/ctf_info.html:31 ctfs/templates/ctfs/ctf_info.html:40 #: ctfs/templates/ctfs/ctf_info.html:33 ctfs/templates/ctfs/ctf_info.html:42
#: events/templates/events/ctf_info.html:36 #: events/templates/events/ctf_info.html:36
#: events/templates/events/ctf_info.html:45 #: events/templates/events/ctf_info.html:45
msgid "Start the challenge" msgid "Start the challenge"
msgstr "" msgstr ""
#: ctfs/templates/ctfs/ctf_info.html:33 ctfs/templates/ctfs/ctf_info.html:42 #: ctfs/templates/ctfs/ctf_info.html:35 ctfs/templates/ctfs/ctf_info.html:44
#: events/templates/events/ctf_info.html:38 #: events/templates/events/ctf_info.html:38
#: events/templates/events/ctf_info.html:47 #: events/templates/events/ctf_info.html:47
msgid "Download" msgid "Download"
msgstr "" msgstr ""
#: ctfs/templates/ctfs/ctf_info.html:37 #: ctfs/templates/ctfs/ctf_info.html:39
#: events/templates/events/ctf_info.html:42 #: events/templates/events/ctf_info.html:42
msgid "Wrong flag ! You can do it !" msgid "Wrong flag ! You can do it !"
msgstr "" msgstr ""
#: ctfs/templates/ctfs/ctf_info.html:56 #: ctfs/templates/ctfs/ctf_info.html:58
#: events/templates/events/ctf_info.html:60 #: events/templates/events/ctf_info.html:60
msgid "Solved by" msgid "Solved by"
msgstr "" msgstr ""
#: ctfs/templates/ctfs/ctf_info.html:80 #: ctfs/templates/ctfs/ctf_info.html:82
#: events/templates/events/ctf_info.html:90 #: events/templates/events/ctf_info.html:90
msgid "Nobody has solved this challenge yet." msgid "Nobody has solved this challenge yet."
msgstr "" msgstr ""
#: ctfs/templates/ctfs/ctf_info.html:87 #: ctfs/templates/ctfs/ctf_info.html:89
#: events/templates/events/ctf_info.html:97 #: events/templates/events/ctf_info.html:97
msgid "Author" msgid "Author"
msgstr "" msgstr ""
#: ctfs/templates/ctfs/ctf_info.html:88 #: ctfs/templates/ctfs/ctf_info.html:90
#: events/templates/events/ctf_info.html:98 #: events/templates/events/ctf_info.html:98
msgid "Point reward" msgid "Point reward"
msgstr "" msgstr ""
@ -368,6 +362,11 @@ msgstr ""
msgid "Event" msgid "Event"
msgstr "" msgstr ""
#: events/templates/events/ctf_info.html:18
msgid ""
"No translation available. Please try another language (English or French)."
msgstr ""
#: events/templates/events/ctf_info.html:28 #: events/templates/events/ctf_info.html:28
#: events/templates/events/event_info.html:18 #: events/templates/events/event_info.html:18
msgid "This event is over." msgid "This event is over."

View File

@ -8,7 +8,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: PACKAGE VERSION\n" "Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2022-02-14 19:36+0100\n" "POT-Creation-Date: 2022-02-16 20:02+0100\n"
"PO-Revision-Date: 2022-02-09 10:55+0100\n" "PO-Revision-Date: 2022-02-09 10:55+0100\n"
"Last-Translator: Javier Uhagón (uhagontorralvojavier@gmail.com)\n" "Last-Translator: Javier Uhagón (uhagontorralvojavier@gmail.com)\n"
"Language-Team: \n" "Language-Team: \n"
@ -49,7 +49,7 @@ msgstr "Contraseña"
#: accounts/templates/accounts/edit.html:21 #: accounts/templates/accounts/edit.html:21
#: accounts/templates/accounts/login.html:18 #: accounts/templates/accounts/login.html:18
#: accounts/templates/accounts/register.html:22 #: accounts/templates/accounts/register.html:22
#: ctfs/templates/ctfs/ctf_info.html:61 ctfs/templates/ctfs/ctfs_list.html:12 #: ctfs/templates/ctfs/ctf_info.html:63 ctfs/templates/ctfs/ctfs_list.html:12
#: events/templates/events/ctf_info.html:65 #: events/templates/events/ctf_info.html:65
#: events/templates/events/event_info.html:64 #: events/templates/events/event_info.html:64
#: scoreboard/templates/scoreboard/scoreboard.html:13 #: scoreboard/templates/scoreboard/scoreboard.html:13
@ -61,7 +61,7 @@ msgid "Email"
msgstr "Email" msgstr "Email"
#: accounts/templates/accounts/edit.html:30 #: accounts/templates/accounts/edit.html:30
#: ctfs/templates/ctfs/ctf_info.html:62 #: ctfs/templates/ctfs/ctf_info.html:64
#: events/templates/events/ctf_info.html:66 #: events/templates/events/ctf_info.html:66
#: events/templates/events/event_info.html:65 #: events/templates/events/event_info.html:65
#: scoreboard/templates/scoreboard/scoreboard.html:14 #: scoreboard/templates/scoreboard/scoreboard.html:14
@ -75,7 +75,7 @@ msgstr "Aplicar"
#: accounts/templates/accounts/edit.html:47 #: accounts/templates/accounts/edit.html:47
#: accounts/templates/accounts/profile.html:46 #: accounts/templates/accounts/profile.html:46
#: ctfs/templates/ctfs/ctf_info.html:63 ctfs/templates/ctfs/ctfs_list.html:13 #: ctfs/templates/ctfs/ctf_info.html:65 ctfs/templates/ctfs/ctfs_list.html:13
#: events/templates/events/event_info.html:66 #: events/templates/events/event_info.html:66
#: events/templates/events/event_info.html:89 #: events/templates/events/event_info.html:89
#: events/templates/events/manage_team.html:40 #: events/templates/events/manage_team.html:40
@ -139,7 +139,7 @@ msgid "Points"
msgstr "Puntos" msgstr "Puntos"
#: accounts/templates/accounts/profile.html:24 #: accounts/templates/accounts/profile.html:24
#: ctfs/templates/ctfs/ctf_info.html:64 #: ctfs/templates/ctfs/ctf_info.html:66
#: events/templates/events/ctf_info.html:67 #: events/templates/events/ctf_info.html:67
#: events/templates/events/team.html:23 #: events/templates/events/team.html:23
msgid "Date" msgid "Date"
@ -220,65 +220,58 @@ msgstr "Nombre de usuario ya usado."
msgid "Updated." msgid "Updated."
msgstr "Actualizado." msgstr "Actualizado."
#: ctfs/templates/ctfs/ctf_info.html:10 #: ctfs/templates/ctfs/ctf_info.html:12
#: events/templates/events/ctf_info.html:12 #: events/templates/events/ctf_info.html:12
msgid "Published date" msgid "Published date"
msgstr "Fecha de publicación" msgstr "Fecha de publicación"
#: ctfs/templates/ctfs/ctf_info.html:14 #: ctfs/templates/ctfs/ctf_info.html:16
msgid "Challenge is not yet available." msgid "Challenge is not yet available."
msgstr "El reto aún no está disponible." msgstr "El reto aún no está disponible."
#: ctfs/templates/ctfs/ctf_info.html:21 #: ctfs/templates/ctfs/ctf_info.html:29
#: events/templates/events/ctf_info.html:18
msgid ""
"No translation available. Please try another language (English or French)."
msgstr ""
"Traducción no disponible. Por favor pruebe otro idioma (inglés o francés)."
#: ctfs/templates/ctfs/ctf_info.html:27
#: events/templates/events/ctf_info.html:24 #: events/templates/events/ctf_info.html:24
msgid "Congratulation !" msgid "Congratulation !"
msgstr "¡ Felicidades !" msgstr "¡ Felicidades !"
#: ctfs/templates/ctfs/ctf_info.html:29 #: ctfs/templates/ctfs/ctf_info.html:31
#: events/templates/events/ctf_info.html:26 #: events/templates/events/ctf_info.html:26
msgid "Already flagged" msgid "Already flagged"
msgstr "Flag ya conseguida" msgstr "Flag ya conseguida"
#: ctfs/templates/ctfs/ctf_info.html:31 ctfs/templates/ctfs/ctf_info.html:40 #: ctfs/templates/ctfs/ctf_info.html:33 ctfs/templates/ctfs/ctf_info.html:42
#: events/templates/events/ctf_info.html:36 #: events/templates/events/ctf_info.html:36
#: events/templates/events/ctf_info.html:45 #: events/templates/events/ctf_info.html:45
msgid "Start the challenge" msgid "Start the challenge"
msgstr "Comenzar el reto" msgstr "Comenzar el reto"
#: ctfs/templates/ctfs/ctf_info.html:33 ctfs/templates/ctfs/ctf_info.html:42 #: ctfs/templates/ctfs/ctf_info.html:35 ctfs/templates/ctfs/ctf_info.html:44
#: events/templates/events/ctf_info.html:38 #: events/templates/events/ctf_info.html:38
#: events/templates/events/ctf_info.html:47 #: events/templates/events/ctf_info.html:47
msgid "Download" msgid "Download"
msgstr "Descargar" msgstr "Descargar"
#: ctfs/templates/ctfs/ctf_info.html:37 #: ctfs/templates/ctfs/ctf_info.html:39
#: events/templates/events/ctf_info.html:42 #: events/templates/events/ctf_info.html:42
msgid "Wrong flag ! You can do it !" msgid "Wrong flag ! You can do it !"
msgstr "¡ Flag incorrecta ! ¡ Puedes hacerlo !" msgstr "¡ Flag incorrecta ! ¡ Puedes hacerlo !"
#: ctfs/templates/ctfs/ctf_info.html:56 #: ctfs/templates/ctfs/ctf_info.html:58
#: events/templates/events/ctf_info.html:60 #: events/templates/events/ctf_info.html:60
msgid "Solved by" msgid "Solved by"
msgstr "Resuelto por" msgstr "Resuelto por"
#: ctfs/templates/ctfs/ctf_info.html:80 #: ctfs/templates/ctfs/ctf_info.html:82
#: events/templates/events/ctf_info.html:90 #: events/templates/events/ctf_info.html:90
msgid "Nobody has solved this challenge yet." msgid "Nobody has solved this challenge yet."
msgstr "Nadie ha resuelto este reto aún." msgstr "Nadie ha resuelto este reto aún."
#: ctfs/templates/ctfs/ctf_info.html:87 #: ctfs/templates/ctfs/ctf_info.html:89
#: events/templates/events/ctf_info.html:97 #: events/templates/events/ctf_info.html:97
msgid "Author" msgid "Author"
msgstr "Autor" msgstr "Autor"
#: ctfs/templates/ctfs/ctf_info.html:88 #: ctfs/templates/ctfs/ctf_info.html:90
#: events/templates/events/ctf_info.html:98 #: events/templates/events/ctf_info.html:98
msgid "Point reward" msgid "Point reward"
msgstr "Recompensa de puntos" msgstr "Recompensa de puntos"
@ -371,6 +364,12 @@ msgstr "¡ Encuentrame un equipo !"
msgid "Event" msgid "Event"
msgstr "Evento" msgstr "Evento"
#: events/templates/events/ctf_info.html:18
msgid ""
"No translation available. Please try another language (English or French)."
msgstr ""
"Traducción no disponible. Por favor pruebe otro idioma (inglés o francés)."
#: events/templates/events/ctf_info.html:28 #: events/templates/events/ctf_info.html:28
#: events/templates/events/event_info.html:18 #: events/templates/events/event_info.html:18
msgid "This event is over." msgid "This event is over."

View File

@ -8,7 +8,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: PACKAGE VERSION\n" "Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2022-02-14 19:36+0100\n" "POT-Creation-Date: 2022-02-16 20:02+0100\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n" "Language-Team: LANGUAGE <LL@li.org>\n"
@ -53,7 +53,7 @@ msgstr "Mot de passe"
#: accounts/templates/accounts/edit.html:21 #: accounts/templates/accounts/edit.html:21
#: accounts/templates/accounts/login.html:18 #: accounts/templates/accounts/login.html:18
#: accounts/templates/accounts/register.html:22 #: accounts/templates/accounts/register.html:22
#: ctfs/templates/ctfs/ctf_info.html:61 ctfs/templates/ctfs/ctfs_list.html:12 #: ctfs/templates/ctfs/ctf_info.html:63 ctfs/templates/ctfs/ctfs_list.html:12
#: events/templates/events/ctf_info.html:65 #: events/templates/events/ctf_info.html:65
#: events/templates/events/event_info.html:64 #: events/templates/events/event_info.html:64
#: scoreboard/templates/scoreboard/scoreboard.html:13 #: scoreboard/templates/scoreboard/scoreboard.html:13
@ -65,7 +65,7 @@ msgid "Email"
msgstr "Email" msgstr "Email"
#: accounts/templates/accounts/edit.html:30 #: accounts/templates/accounts/edit.html:30
#: ctfs/templates/ctfs/ctf_info.html:62 #: ctfs/templates/ctfs/ctf_info.html:64
#: events/templates/events/ctf_info.html:66 #: events/templates/events/ctf_info.html:66
#: events/templates/events/event_info.html:65 #: events/templates/events/event_info.html:65
#: scoreboard/templates/scoreboard/scoreboard.html:14 #: scoreboard/templates/scoreboard/scoreboard.html:14
@ -79,7 +79,7 @@ msgstr "Appliquer"
#: accounts/templates/accounts/edit.html:47 #: accounts/templates/accounts/edit.html:47
#: accounts/templates/accounts/profile.html:46 #: accounts/templates/accounts/profile.html:46
#: ctfs/templates/ctfs/ctf_info.html:63 ctfs/templates/ctfs/ctfs_list.html:13 #: ctfs/templates/ctfs/ctf_info.html:65 ctfs/templates/ctfs/ctfs_list.html:13
#: events/templates/events/event_info.html:66 #: events/templates/events/event_info.html:66
#: events/templates/events/event_info.html:89 #: events/templates/events/event_info.html:89
#: events/templates/events/manage_team.html:40 #: events/templates/events/manage_team.html:40
@ -145,7 +145,7 @@ msgid "Points"
msgstr "Points" msgstr "Points"
#: accounts/templates/accounts/profile.html:24 #: accounts/templates/accounts/profile.html:24
#: ctfs/templates/ctfs/ctf_info.html:64 #: ctfs/templates/ctfs/ctf_info.html:66
#: events/templates/events/ctf_info.html:67 #: events/templates/events/ctf_info.html:67
#: events/templates/events/team.html:23 #: events/templates/events/team.html:23
msgid "Date" msgid "Date"
@ -228,66 +228,60 @@ msgstr "Le pseudo est déjà utilisé."
msgid "Updated." msgid "Updated."
msgstr "Mis à jour." msgstr "Mis à jour."
#: ctfs/templates/ctfs/ctf_info.html:10 #: ctfs/templates/ctfs/ctf_info.html:12
#: events/templates/events/ctf_info.html:12 #: events/templates/events/ctf_info.html:12
msgid "Published date" msgid "Published date"
msgstr "Date de publication" msgstr "Date de publication"
#: ctfs/templates/ctfs/ctf_info.html:14 #: ctfs/templates/ctfs/ctf_info.html:16
#, fuzzy #, fuzzy
#| msgid "No category available." #| msgid "No category available."
msgid "Challenge is not yet available." msgid "Challenge is not yet available."
msgstr "Il n'y a pas de catégorie disponible." msgstr "Il n'y a pas de catégorie disponible."
#: ctfs/templates/ctfs/ctf_info.html:21 #: ctfs/templates/ctfs/ctf_info.html:29
#: events/templates/events/ctf_info.html:18
msgid ""
"No translation available. Please try another language (English or French)."
msgstr ""
#: ctfs/templates/ctfs/ctf_info.html:27
#: events/templates/events/ctf_info.html:24 #: events/templates/events/ctf_info.html:24
msgid "Congratulation !" msgid "Congratulation !"
msgstr "Félicitations !" msgstr "Félicitations !"
#: ctfs/templates/ctfs/ctf_info.html:29 #: ctfs/templates/ctfs/ctf_info.html:31
#: events/templates/events/ctf_info.html:26 #: events/templates/events/ctf_info.html:26
msgid "Already flagged" msgid "Already flagged"
msgstr "Déjà résolu" msgstr "Déjà résolu"
#: ctfs/templates/ctfs/ctf_info.html:31 ctfs/templates/ctfs/ctf_info.html:40 #: ctfs/templates/ctfs/ctf_info.html:33 ctfs/templates/ctfs/ctf_info.html:42
#: events/templates/events/ctf_info.html:36 #: events/templates/events/ctf_info.html:36
#: events/templates/events/ctf_info.html:45 #: events/templates/events/ctf_info.html:45
msgid "Start the challenge" msgid "Start the challenge"
msgstr "Démarrer le challenge" msgstr "Démarrer le challenge"
#: ctfs/templates/ctfs/ctf_info.html:33 ctfs/templates/ctfs/ctf_info.html:42 #: ctfs/templates/ctfs/ctf_info.html:35 ctfs/templates/ctfs/ctf_info.html:44
#: events/templates/events/ctf_info.html:38 #: events/templates/events/ctf_info.html:38
#: events/templates/events/ctf_info.html:47 #: events/templates/events/ctf_info.html:47
msgid "Download" msgid "Download"
msgstr "Télécharger" msgstr "Télécharger"
#: ctfs/templates/ctfs/ctf_info.html:37 #: ctfs/templates/ctfs/ctf_info.html:39
#: events/templates/events/ctf_info.html:42 #: events/templates/events/ctf_info.html:42
msgid "Wrong flag ! You can do it !" msgid "Wrong flag ! You can do it !"
msgstr "Mauvais flag ! Vous pouvez le faire !" msgstr "Mauvais flag ! Vous pouvez le faire !"
#: ctfs/templates/ctfs/ctf_info.html:56 #: ctfs/templates/ctfs/ctf_info.html:58
#: events/templates/events/ctf_info.html:60 #: events/templates/events/ctf_info.html:60
msgid "Solved by" msgid "Solved by"
msgstr "Résolu par" msgstr "Résolu par"
#: ctfs/templates/ctfs/ctf_info.html:80 #: ctfs/templates/ctfs/ctf_info.html:82
#: events/templates/events/ctf_info.html:90 #: events/templates/events/ctf_info.html:90
msgid "Nobody has solved this challenge yet." msgid "Nobody has solved this challenge yet."
msgstr "Personne n'a résolu ce CTF." msgstr "Personne n'a résolu ce CTF."
#: ctfs/templates/ctfs/ctf_info.html:87 #: ctfs/templates/ctfs/ctf_info.html:89
#: events/templates/events/ctf_info.html:97 #: events/templates/events/ctf_info.html:97
msgid "Author" msgid "Author"
msgstr "Auteur" msgstr "Auteur"
#: ctfs/templates/ctfs/ctf_info.html:88 #: ctfs/templates/ctfs/ctf_info.html:90
#: events/templates/events/ctf_info.html:98 #: events/templates/events/ctf_info.html:98
msgid "Point reward" msgid "Point reward"
msgstr "Points" msgstr "Points"
@ -386,6 +380,11 @@ msgstr ""
msgid "Event" msgid "Event"
msgstr "Événement" msgstr "Événement"
#: events/templates/events/ctf_info.html:18
msgid ""
"No translation available. Please try another language (English or French)."
msgstr ""
#: events/templates/events/ctf_info.html:28 #: events/templates/events/ctf_info.html:28
#: events/templates/events/event_info.html:18 #: events/templates/events/event_info.html:18
msgid "This event is over." msgid "This event is over."

View File

@ -8,7 +8,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: PACKAGE VERSION\n" "Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2022-02-14 19:36+0100\n" "POT-Creation-Date: 2022-02-16 20:02+0100\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n" "Language-Team: LANGUAGE <LL@li.org>\n"
@ -49,7 +49,7 @@ msgstr ""
#: accounts/templates/accounts/edit.html:21 #: accounts/templates/accounts/edit.html:21
#: accounts/templates/accounts/login.html:18 #: accounts/templates/accounts/login.html:18
#: accounts/templates/accounts/register.html:22 #: accounts/templates/accounts/register.html:22
#: ctfs/templates/ctfs/ctf_info.html:61 ctfs/templates/ctfs/ctfs_list.html:12 #: ctfs/templates/ctfs/ctf_info.html:63 ctfs/templates/ctfs/ctfs_list.html:12
#: events/templates/events/ctf_info.html:65 #: events/templates/events/ctf_info.html:65
#: events/templates/events/event_info.html:64 #: events/templates/events/event_info.html:64
#: scoreboard/templates/scoreboard/scoreboard.html:13 #: scoreboard/templates/scoreboard/scoreboard.html:13
@ -61,7 +61,7 @@ msgid "Email"
msgstr "" msgstr ""
#: accounts/templates/accounts/edit.html:30 #: accounts/templates/accounts/edit.html:30
#: ctfs/templates/ctfs/ctf_info.html:62 #: ctfs/templates/ctfs/ctf_info.html:64
#: events/templates/events/ctf_info.html:66 #: events/templates/events/ctf_info.html:66
#: events/templates/events/event_info.html:65 #: events/templates/events/event_info.html:65
#: scoreboard/templates/scoreboard/scoreboard.html:14 #: scoreboard/templates/scoreboard/scoreboard.html:14
@ -75,7 +75,7 @@ msgstr ""
#: accounts/templates/accounts/edit.html:47 #: accounts/templates/accounts/edit.html:47
#: accounts/templates/accounts/profile.html:46 #: accounts/templates/accounts/profile.html:46
#: ctfs/templates/ctfs/ctf_info.html:63 ctfs/templates/ctfs/ctfs_list.html:13 #: ctfs/templates/ctfs/ctf_info.html:65 ctfs/templates/ctfs/ctfs_list.html:13
#: events/templates/events/event_info.html:66 #: events/templates/events/event_info.html:66
#: events/templates/events/event_info.html:89 #: events/templates/events/event_info.html:89
#: events/templates/events/manage_team.html:40 #: events/templates/events/manage_team.html:40
@ -139,7 +139,7 @@ msgid "Points"
msgstr "" msgstr ""
#: accounts/templates/accounts/profile.html:24 #: accounts/templates/accounts/profile.html:24
#: ctfs/templates/ctfs/ctf_info.html:64 #: ctfs/templates/ctfs/ctf_info.html:66
#: events/templates/events/ctf_info.html:67 #: events/templates/events/ctf_info.html:67
#: events/templates/events/team.html:23 #: events/templates/events/team.html:23
msgid "Date" msgid "Date"
@ -218,64 +218,58 @@ msgstr ""
msgid "Updated." msgid "Updated."
msgstr "" msgstr ""
#: ctfs/templates/ctfs/ctf_info.html:10 #: ctfs/templates/ctfs/ctf_info.html:12
#: events/templates/events/ctf_info.html:12 #: events/templates/events/ctf_info.html:12
msgid "Published date" msgid "Published date"
msgstr "" msgstr ""
#: ctfs/templates/ctfs/ctf_info.html:14 #: ctfs/templates/ctfs/ctf_info.html:16
msgid "Challenge is not yet available." msgid "Challenge is not yet available."
msgstr "" msgstr ""
#: ctfs/templates/ctfs/ctf_info.html:21 #: ctfs/templates/ctfs/ctf_info.html:29
#: events/templates/events/ctf_info.html:18
msgid ""
"No translation available. Please try another language (English or French)."
msgstr ""
#: ctfs/templates/ctfs/ctf_info.html:27
#: events/templates/events/ctf_info.html:24 #: events/templates/events/ctf_info.html:24
msgid "Congratulation !" msgid "Congratulation !"
msgstr "" msgstr ""
#: ctfs/templates/ctfs/ctf_info.html:29 #: ctfs/templates/ctfs/ctf_info.html:31
#: events/templates/events/ctf_info.html:26 #: events/templates/events/ctf_info.html:26
msgid "Already flagged" msgid "Already flagged"
msgstr "" msgstr ""
#: ctfs/templates/ctfs/ctf_info.html:31 ctfs/templates/ctfs/ctf_info.html:40 #: ctfs/templates/ctfs/ctf_info.html:33 ctfs/templates/ctfs/ctf_info.html:42
#: events/templates/events/ctf_info.html:36 #: events/templates/events/ctf_info.html:36
#: events/templates/events/ctf_info.html:45 #: events/templates/events/ctf_info.html:45
msgid "Start the challenge" msgid "Start the challenge"
msgstr "" msgstr ""
#: ctfs/templates/ctfs/ctf_info.html:33 ctfs/templates/ctfs/ctf_info.html:42 #: ctfs/templates/ctfs/ctf_info.html:35 ctfs/templates/ctfs/ctf_info.html:44
#: events/templates/events/ctf_info.html:38 #: events/templates/events/ctf_info.html:38
#: events/templates/events/ctf_info.html:47 #: events/templates/events/ctf_info.html:47
msgid "Download" msgid "Download"
msgstr "" msgstr ""
#: ctfs/templates/ctfs/ctf_info.html:37 #: ctfs/templates/ctfs/ctf_info.html:39
#: events/templates/events/ctf_info.html:42 #: events/templates/events/ctf_info.html:42
msgid "Wrong flag ! You can do it !" msgid "Wrong flag ! You can do it !"
msgstr "" msgstr ""
#: ctfs/templates/ctfs/ctf_info.html:56 #: ctfs/templates/ctfs/ctf_info.html:58
#: events/templates/events/ctf_info.html:60 #: events/templates/events/ctf_info.html:60
msgid "Solved by" msgid "Solved by"
msgstr "" msgstr ""
#: ctfs/templates/ctfs/ctf_info.html:80 #: ctfs/templates/ctfs/ctf_info.html:82
#: events/templates/events/ctf_info.html:90 #: events/templates/events/ctf_info.html:90
msgid "Nobody has solved this challenge yet." msgid "Nobody has solved this challenge yet."
msgstr "" msgstr ""
#: ctfs/templates/ctfs/ctf_info.html:87 #: ctfs/templates/ctfs/ctf_info.html:89
#: events/templates/events/ctf_info.html:97 #: events/templates/events/ctf_info.html:97
msgid "Author" msgid "Author"
msgstr "" msgstr ""
#: ctfs/templates/ctfs/ctf_info.html:88 #: ctfs/templates/ctfs/ctf_info.html:90
#: events/templates/events/ctf_info.html:98 #: events/templates/events/ctf_info.html:98
msgid "Point reward" msgid "Point reward"
msgstr "" msgstr ""
@ -368,6 +362,11 @@ msgstr ""
msgid "Event" msgid "Event"
msgstr "" msgstr ""
#: events/templates/events/ctf_info.html:18
msgid ""
"No translation available. Please try another language (English or French)."
msgstr ""
#: events/templates/events/ctf_info.html:28 #: events/templates/events/ctf_info.html:28
#: events/templates/events/event_info.html:18 #: events/templates/events/event_info.html:18
msgid "This event is over." msgid "This event is over."

View File

@ -8,7 +8,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: PACKAGE VERSION\n" "Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2022-02-14 19:36+0100\n" "POT-Creation-Date: 2022-02-16 20:02+0100\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n" "Language-Team: LANGUAGE <LL@li.org>\n"
@ -49,7 +49,7 @@ msgstr ""
#: accounts/templates/accounts/edit.html:21 #: accounts/templates/accounts/edit.html:21
#: accounts/templates/accounts/login.html:18 #: accounts/templates/accounts/login.html:18
#: accounts/templates/accounts/register.html:22 #: accounts/templates/accounts/register.html:22
#: ctfs/templates/ctfs/ctf_info.html:61 ctfs/templates/ctfs/ctfs_list.html:12 #: ctfs/templates/ctfs/ctf_info.html:63 ctfs/templates/ctfs/ctfs_list.html:12
#: events/templates/events/ctf_info.html:65 #: events/templates/events/ctf_info.html:65
#: events/templates/events/event_info.html:64 #: events/templates/events/event_info.html:64
#: scoreboard/templates/scoreboard/scoreboard.html:13 #: scoreboard/templates/scoreboard/scoreboard.html:13
@ -61,7 +61,7 @@ msgid "Email"
msgstr "" msgstr ""
#: accounts/templates/accounts/edit.html:30 #: accounts/templates/accounts/edit.html:30
#: ctfs/templates/ctfs/ctf_info.html:62 #: ctfs/templates/ctfs/ctf_info.html:64
#: events/templates/events/ctf_info.html:66 #: events/templates/events/ctf_info.html:66
#: events/templates/events/event_info.html:65 #: events/templates/events/event_info.html:65
#: scoreboard/templates/scoreboard/scoreboard.html:14 #: scoreboard/templates/scoreboard/scoreboard.html:14
@ -75,7 +75,7 @@ msgstr ""
#: accounts/templates/accounts/edit.html:47 #: accounts/templates/accounts/edit.html:47
#: accounts/templates/accounts/profile.html:46 #: accounts/templates/accounts/profile.html:46
#: ctfs/templates/ctfs/ctf_info.html:63 ctfs/templates/ctfs/ctfs_list.html:13 #: ctfs/templates/ctfs/ctf_info.html:65 ctfs/templates/ctfs/ctfs_list.html:13
#: events/templates/events/event_info.html:66 #: events/templates/events/event_info.html:66
#: events/templates/events/event_info.html:89 #: events/templates/events/event_info.html:89
#: events/templates/events/manage_team.html:40 #: events/templates/events/manage_team.html:40
@ -139,7 +139,7 @@ msgid "Points"
msgstr "" msgstr ""
#: accounts/templates/accounts/profile.html:24 #: accounts/templates/accounts/profile.html:24
#: ctfs/templates/ctfs/ctf_info.html:64 #: ctfs/templates/ctfs/ctf_info.html:66
#: events/templates/events/ctf_info.html:67 #: events/templates/events/ctf_info.html:67
#: events/templates/events/team.html:23 #: events/templates/events/team.html:23
msgid "Date" msgid "Date"
@ -218,64 +218,58 @@ msgstr ""
msgid "Updated." msgid "Updated."
msgstr "" msgstr ""
#: ctfs/templates/ctfs/ctf_info.html:10 #: ctfs/templates/ctfs/ctf_info.html:12
#: events/templates/events/ctf_info.html:12 #: events/templates/events/ctf_info.html:12
msgid "Published date" msgid "Published date"
msgstr "" msgstr ""
#: ctfs/templates/ctfs/ctf_info.html:14 #: ctfs/templates/ctfs/ctf_info.html:16
msgid "Challenge is not yet available." msgid "Challenge is not yet available."
msgstr "" msgstr ""
#: ctfs/templates/ctfs/ctf_info.html:21 #: ctfs/templates/ctfs/ctf_info.html:29
#: events/templates/events/ctf_info.html:18
msgid ""
"No translation available. Please try another language (English or French)."
msgstr ""
#: ctfs/templates/ctfs/ctf_info.html:27
#: events/templates/events/ctf_info.html:24 #: events/templates/events/ctf_info.html:24
msgid "Congratulation !" msgid "Congratulation !"
msgstr "" msgstr ""
#: ctfs/templates/ctfs/ctf_info.html:29 #: ctfs/templates/ctfs/ctf_info.html:31
#: events/templates/events/ctf_info.html:26 #: events/templates/events/ctf_info.html:26
msgid "Already flagged" msgid "Already flagged"
msgstr "" msgstr ""
#: ctfs/templates/ctfs/ctf_info.html:31 ctfs/templates/ctfs/ctf_info.html:40 #: ctfs/templates/ctfs/ctf_info.html:33 ctfs/templates/ctfs/ctf_info.html:42
#: events/templates/events/ctf_info.html:36 #: events/templates/events/ctf_info.html:36
#: events/templates/events/ctf_info.html:45 #: events/templates/events/ctf_info.html:45
msgid "Start the challenge" msgid "Start the challenge"
msgstr "" msgstr ""
#: ctfs/templates/ctfs/ctf_info.html:33 ctfs/templates/ctfs/ctf_info.html:42 #: ctfs/templates/ctfs/ctf_info.html:35 ctfs/templates/ctfs/ctf_info.html:44
#: events/templates/events/ctf_info.html:38 #: events/templates/events/ctf_info.html:38
#: events/templates/events/ctf_info.html:47 #: events/templates/events/ctf_info.html:47
msgid "Download" msgid "Download"
msgstr "" msgstr ""
#: ctfs/templates/ctfs/ctf_info.html:37 #: ctfs/templates/ctfs/ctf_info.html:39
#: events/templates/events/ctf_info.html:42 #: events/templates/events/ctf_info.html:42
msgid "Wrong flag ! You can do it !" msgid "Wrong flag ! You can do it !"
msgstr "" msgstr ""
#: ctfs/templates/ctfs/ctf_info.html:56 #: ctfs/templates/ctfs/ctf_info.html:58
#: events/templates/events/ctf_info.html:60 #: events/templates/events/ctf_info.html:60
msgid "Solved by" msgid "Solved by"
msgstr "" msgstr ""
#: ctfs/templates/ctfs/ctf_info.html:80 #: ctfs/templates/ctfs/ctf_info.html:82
#: events/templates/events/ctf_info.html:90 #: events/templates/events/ctf_info.html:90
msgid "Nobody has solved this challenge yet." msgid "Nobody has solved this challenge yet."
msgstr "" msgstr ""
#: ctfs/templates/ctfs/ctf_info.html:87 #: ctfs/templates/ctfs/ctf_info.html:89
#: events/templates/events/ctf_info.html:97 #: events/templates/events/ctf_info.html:97
msgid "Author" msgid "Author"
msgstr "" msgstr ""
#: ctfs/templates/ctfs/ctf_info.html:88 #: ctfs/templates/ctfs/ctf_info.html:90
#: events/templates/events/ctf_info.html:98 #: events/templates/events/ctf_info.html:98
msgid "Point reward" msgid "Point reward"
msgstr "" msgstr ""
@ -368,6 +362,11 @@ msgstr ""
msgid "Event" msgid "Event"
msgstr "" msgstr ""
#: events/templates/events/ctf_info.html:18
msgid ""
"No translation available. Please try another language (English or French)."
msgstr ""
#: events/templates/events/ctf_info.html:28 #: events/templates/events/ctf_info.html:28
#: events/templates/events/event_info.html:18 #: events/templates/events/event_info.html:18
msgid "This event is over." msgid "This event is over."

View File

@ -8,7 +8,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: PACKAGE VERSION\n" "Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2022-02-14 19:36+0100\n" "POT-Creation-Date: 2022-02-16 20:02+0100\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n" "Language-Team: LANGUAGE <LL@li.org>\n"
@ -51,7 +51,7 @@ msgstr ""
#: accounts/templates/accounts/edit.html:21 #: accounts/templates/accounts/edit.html:21
#: accounts/templates/accounts/login.html:18 #: accounts/templates/accounts/login.html:18
#: accounts/templates/accounts/register.html:22 #: accounts/templates/accounts/register.html:22
#: ctfs/templates/ctfs/ctf_info.html:61 ctfs/templates/ctfs/ctfs_list.html:12 #: ctfs/templates/ctfs/ctf_info.html:63 ctfs/templates/ctfs/ctfs_list.html:12
#: events/templates/events/ctf_info.html:65 #: events/templates/events/ctf_info.html:65
#: events/templates/events/event_info.html:64 #: events/templates/events/event_info.html:64
#: scoreboard/templates/scoreboard/scoreboard.html:13 #: scoreboard/templates/scoreboard/scoreboard.html:13
@ -63,7 +63,7 @@ msgid "Email"
msgstr "" msgstr ""
#: accounts/templates/accounts/edit.html:30 #: accounts/templates/accounts/edit.html:30
#: ctfs/templates/ctfs/ctf_info.html:62 #: ctfs/templates/ctfs/ctf_info.html:64
#: events/templates/events/ctf_info.html:66 #: events/templates/events/ctf_info.html:66
#: events/templates/events/event_info.html:65 #: events/templates/events/event_info.html:65
#: scoreboard/templates/scoreboard/scoreboard.html:14 #: scoreboard/templates/scoreboard/scoreboard.html:14
@ -77,7 +77,7 @@ msgstr ""
#: accounts/templates/accounts/edit.html:47 #: accounts/templates/accounts/edit.html:47
#: accounts/templates/accounts/profile.html:46 #: accounts/templates/accounts/profile.html:46
#: ctfs/templates/ctfs/ctf_info.html:63 ctfs/templates/ctfs/ctfs_list.html:13 #: ctfs/templates/ctfs/ctf_info.html:65 ctfs/templates/ctfs/ctfs_list.html:13
#: events/templates/events/event_info.html:66 #: events/templates/events/event_info.html:66
#: events/templates/events/event_info.html:89 #: events/templates/events/event_info.html:89
#: events/templates/events/manage_team.html:40 #: events/templates/events/manage_team.html:40
@ -141,7 +141,7 @@ msgid "Points"
msgstr "" msgstr ""
#: accounts/templates/accounts/profile.html:24 #: accounts/templates/accounts/profile.html:24
#: ctfs/templates/ctfs/ctf_info.html:64 #: ctfs/templates/ctfs/ctf_info.html:66
#: events/templates/events/ctf_info.html:67 #: events/templates/events/ctf_info.html:67
#: events/templates/events/team.html:23 #: events/templates/events/team.html:23
msgid "Date" msgid "Date"
@ -220,66 +220,60 @@ msgstr ""
msgid "Updated." msgid "Updated."
msgstr "" msgstr ""
#: ctfs/templates/ctfs/ctf_info.html:10 #: ctfs/templates/ctfs/ctf_info.html:12
#: events/templates/events/ctf_info.html:12 #: events/templates/events/ctf_info.html:12
msgid "Published date" msgid "Published date"
msgstr "" msgstr ""
#: ctfs/templates/ctfs/ctf_info.html:14 #: ctfs/templates/ctfs/ctf_info.html:16
#, fuzzy #, fuzzy
#| msgid "No article available." #| msgid "No article available."
msgid "Challenge is not yet available." msgid "Challenge is not yet available."
msgstr "Нет доступных статей." msgstr "Нет доступных статей."
#: ctfs/templates/ctfs/ctf_info.html:21 #: ctfs/templates/ctfs/ctf_info.html:29
#: events/templates/events/ctf_info.html:18
msgid ""
"No translation available. Please try another language (English or French)."
msgstr ""
#: ctfs/templates/ctfs/ctf_info.html:27
#: events/templates/events/ctf_info.html:24 #: events/templates/events/ctf_info.html:24
msgid "Congratulation !" msgid "Congratulation !"
msgstr "" msgstr ""
#: ctfs/templates/ctfs/ctf_info.html:29 #: ctfs/templates/ctfs/ctf_info.html:31
#: events/templates/events/ctf_info.html:26 #: events/templates/events/ctf_info.html:26
msgid "Already flagged" msgid "Already flagged"
msgstr "" msgstr ""
#: ctfs/templates/ctfs/ctf_info.html:31 ctfs/templates/ctfs/ctf_info.html:40 #: ctfs/templates/ctfs/ctf_info.html:33 ctfs/templates/ctfs/ctf_info.html:42
#: events/templates/events/ctf_info.html:36 #: events/templates/events/ctf_info.html:36
#: events/templates/events/ctf_info.html:45 #: events/templates/events/ctf_info.html:45
msgid "Start the challenge" msgid "Start the challenge"
msgstr "" msgstr ""
#: ctfs/templates/ctfs/ctf_info.html:33 ctfs/templates/ctfs/ctf_info.html:42 #: ctfs/templates/ctfs/ctf_info.html:35 ctfs/templates/ctfs/ctf_info.html:44
#: events/templates/events/ctf_info.html:38 #: events/templates/events/ctf_info.html:38
#: events/templates/events/ctf_info.html:47 #: events/templates/events/ctf_info.html:47
msgid "Download" msgid "Download"
msgstr "" msgstr ""
#: ctfs/templates/ctfs/ctf_info.html:37 #: ctfs/templates/ctfs/ctf_info.html:39
#: events/templates/events/ctf_info.html:42 #: events/templates/events/ctf_info.html:42
msgid "Wrong flag ! You can do it !" msgid "Wrong flag ! You can do it !"
msgstr "" msgstr ""
#: ctfs/templates/ctfs/ctf_info.html:56 #: ctfs/templates/ctfs/ctf_info.html:58
#: events/templates/events/ctf_info.html:60 #: events/templates/events/ctf_info.html:60
msgid "Solved by" msgid "Solved by"
msgstr "" msgstr ""
#: ctfs/templates/ctfs/ctf_info.html:80 #: ctfs/templates/ctfs/ctf_info.html:82
#: events/templates/events/ctf_info.html:90 #: events/templates/events/ctf_info.html:90
msgid "Nobody has solved this challenge yet." msgid "Nobody has solved this challenge yet."
msgstr "" msgstr ""
#: ctfs/templates/ctfs/ctf_info.html:87 #: ctfs/templates/ctfs/ctf_info.html:89
#: events/templates/events/ctf_info.html:97 #: events/templates/events/ctf_info.html:97
msgid "Author" msgid "Author"
msgstr "" msgstr ""
#: ctfs/templates/ctfs/ctf_info.html:88 #: ctfs/templates/ctfs/ctf_info.html:90
#: events/templates/events/ctf_info.html:98 #: events/templates/events/ctf_info.html:98
msgid "Point reward" msgid "Point reward"
msgstr "" msgstr ""
@ -372,6 +366,11 @@ msgstr ""
msgid "Event" msgid "Event"
msgstr "" msgstr ""
#: events/templates/events/ctf_info.html:18
msgid ""
"No translation available. Please try another language (English or French)."
msgstr ""
#: events/templates/events/ctf_info.html:28 #: events/templates/events/ctf_info.html:28
#: events/templates/events/event_info.html:18 #: events/templates/events/event_info.html:18
msgid "This event is over." msgid "This event is over."

View File

@ -38,6 +38,7 @@ INSTALLED_APPS = [
'scoreboard.apps.ScoreboardConfig', 'scoreboard.apps.ScoreboardConfig',
'resources.apps.ResourcesConfig', 'resources.apps.ResourcesConfig',
'django.contrib.sites', 'django.contrib.sites',
'api.apps.ApiConfig',
] ]
MIDDLEWARE = [ MIDDLEWARE = [

View File

@ -24,6 +24,7 @@ urlpatterns = [
path('', include('home.urls')), path('', include('home.urls')),
path('set_lang/<str:lang_code>', home.views.set_language, name="set_language"), path('set_lang/<str:lang_code>', home.views.set_language, name="set_language"),
path('dashboard/secret/admin', admin.site.urls), path('dashboard/secret/admin', admin.site.urls),
path('api/', include('api.urls'))
] ]
urlpatterns += i18n_patterns( urlpatterns += i18n_patterns(

View File

@ -7,7 +7,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: \n" "Project-Id-Version: \n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2022-02-14 19:36+0100\n" "POT-Creation-Date: 2022-02-16 20:02+0100\n"
"PO-Revision-Date: 2022-02-10 19:27+0100\n" "PO-Revision-Date: 2022-02-10 19:27+0100\n"
"Last-Translator: Clément Hamada <clementhamada@pm.me>\n" "Last-Translator: Clément Hamada <clementhamada@pm.me>\n"
"Language-Team: \n" "Language-Team: \n"
@ -36,7 +36,9 @@ msgstr ""
"die meisten Punkte zu verdienen." "die meisten Punkte zu verdienen."
#: resources/templates/resources/42ctf.html:12 #: resources/templates/resources/42ctf.html:12
msgid "The challenges require participants to find sort of passwords called \\" msgid ""
"The challenges require participants to find sort of passwords called \"flags"
"\" and to submit them on the platform."
msgstr "" msgstr ""
"Die Herausforderungen bestehen darin eine Art Passwort zu finden: sogenannte " "Die Herausforderungen bestehen darin eine Art Passwort zu finden: sogenannte "
"\\" "\\"

View File

@ -8,7 +8,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: PACKAGE VERSION\n" "Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2022-02-14 19:36+0100\n" "POT-Creation-Date: 2022-02-16 20:02+0100\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n" "Language-Team: LANGUAGE <LL@li.org>\n"
@ -34,7 +34,9 @@ msgid ""
msgstr "" msgstr ""
#: resources/templates/resources/42ctf.html:12 #: resources/templates/resources/42ctf.html:12
msgid "The challenges require participants to find sort of passwords called \\" msgid ""
"The challenges require participants to find sort of passwords called \"flags"
"\" and to submit them on the platform."
msgstr "" msgstr ""
#: resources/templates/resources/42ctf.html:15 #: resources/templates/resources/42ctf.html:15

View File

@ -8,7 +8,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: PACKAGE VERSION\n" "Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2022-02-14 19:36+0100\n" "POT-Creation-Date: 2022-02-16 20:02+0100\n"
"PO-Revision-Date: 2022-02-09 10:55+0100\n" "PO-Revision-Date: 2022-02-09 10:55+0100\n"
"Last-Translator: Javier Uhagón (uhagontorralvojavier@gmail.com)\n" "Last-Translator: Javier Uhagón (uhagontorralvojavier@gmail.com)\n"
"Language-Team: \n" "Language-Team: \n"
@ -37,7 +37,9 @@ msgstr ""
"para ganar puntos y progresar en la Tabla de puntos." "para ganar puntos y progresar en la Tabla de puntos."
#: resources/templates/resources/42ctf.html:12 #: resources/templates/resources/42ctf.html:12
msgid "The challenges require participants to find sort of passwords called \\" msgid ""
"The challenges require participants to find sort of passwords called \"flags"
"\" and to submit them on the platform."
msgstr "" msgstr ""
"Los retos requieren que los participantes encuentren unas contraseñas " "Los retos requieren que los participantes encuentren unas contraseñas "
"llamadas \\" "llamadas \\"

View File

@ -8,7 +8,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: PACKAGE VERSION\n" "Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2022-02-14 19:36+0100\n" "POT-Creation-Date: 2022-02-16 20:02+0100\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n" "Language-Team: LANGUAGE <LL@li.org>\n"
@ -20,7 +20,7 @@ msgstr ""
#: resources/templates/resources/42ctf.html:7 #: resources/templates/resources/42ctf.html:7
msgid "What is 42CTF ?" msgid "What is 42CTF ?"
msgstr "Qu'est ce que 42CTF ?" msgstr "Qu'est-ce que 42CTF ?"
#: resources/templates/resources/42ctf.html:10 #: resources/templates/resources/42ctf.html:10
msgid "A short introduction to CTF" msgid "A short introduction to CTF"
@ -32,90 +32,114 @@ msgid ""
"participants have to solve challenges of various categories to gain points " "participants have to solve challenges of various categories to gain points "
"and progress on the scoreboard." "and progress on the scoreboard."
msgstr "" msgstr ""
"CTF veut dire Capture The Flag. C'est une compétition de cybersécurité où "
"les participants doivent résoudre des challenges dans différentes catégories "
"pour gagner des points et progresser dans le classement."
#: resources/templates/resources/42ctf.html:12 #: resources/templates/resources/42ctf.html:122
msgid "The challenges require participants to find sort of passwords called \\" msgid ""
"The challenges require participants to find sort of passwords called \"flags"
"\" and to submit them on the platform."
msgstr "" msgstr ""
"Les challenges demandent aux participants de trouver des sortes de mots de "
"passe appelés \"flags\" et de les soumettre sur la plateforme."
#: resources/templates/resources/42ctf.html:15 #: resources/templates/resources/42ctf.html:15
msgid "Functionment of 42CTF" msgid "Functionment of 42CTF"
msgstr "" msgstr "Fonctionnement de 42CTF"
#: resources/templates/resources/42ctf.html:16 #: resources/templates/resources/42ctf.html:16
msgid "42CTF is what we call a permanent CTF." msgid "42CTF is what we call a permanent CTF."
msgstr "" msgstr "42CTF est ce qu'on appelle un CTF permanent."
#: resources/templates/resources/42ctf.html:17 #: resources/templates/resources/42ctf.html:17
msgid "Except from the" msgid "Except from the"
msgstr "" msgstr "Sauf pour les"
#: resources/templates/resources/42ctf.html:17 #: resources/templates/resources/42ctf.html:17
msgid "events" msgid "events"
msgstr "" msgstr "évènements"
#: resources/templates/resources/42ctf.html:17 #: resources/templates/resources/42ctf.html:17
msgid "challenges are available on the platform without time limitations." msgid "challenges are available on the platform without time limitations."
msgstr "" msgstr ""
"les challenges sont disponnibles sur la plateforme sans limites de temps."
#: resources/templates/resources/42ctf.html:18 #: resources/templates/resources/42ctf.html:18
msgid "The registration on 42CTF is open to everyone, 42 students or not." msgid "The registration on 42CTF is open to everyone, 42 students or not."
msgstr "" msgstr "L'inscription à 42CTF est ouverte à tous, étudiant de 42 ou"
#: resources/templates/resources/42ctf.html:19 #: resources/templates/resources/42ctf.html:19
msgid "" msgid ""
"Events may or may not be open. If you would like to organize an event on " "Events may or may not be open. If you would like to organize an event on "
"42CTF, feel free to contact us." "42CTF, feel free to contact us."
msgstr "" msgstr ""
"Les évènements peuvent être publics ou non. Si vous souhaitez organiser un "
"évènement sur 42CTF, n'hésitez pas à nous contacter."
#: resources/templates/resources/42ctf.html:22 #: resources/templates/resources/42ctf.html:22
msgid "42CTF Team" msgid "42CTF Team"
msgstr "" msgstr "Équipe de 42CTF"
#: resources/templates/resources/42ctf.html:23 #: resources/templates/resources/42ctf.html:23
msgid "42CTF is managed by 42 students." msgid "42CTF is managed by 42 students."
msgstr "" msgstr "42CTF est géré par des étudiants de 42"
#: resources/templates/resources/42ctf.html:24 #: resources/templates/resources/42ctf.html:24
msgid "You can meet the team on" msgid "You can meet the team on"
msgstr "" msgstr "Vous pouvez rencontrer l'équipe sur"
#: resources/templates/resources/42ctf.html:25 #: resources/templates/resources/42ctf.html:25
msgid "" msgid ""
"Challenges are created by various contributors, not necessarily 42 students." "Challenges are created by various contributors, not necessarily 42 students."
msgstr "" msgstr ""
"Les challenges sont créés par divers contributeurs, pas nécessairement des "
"étudiants de 42."
#: resources/templates/resources/42ctf.html:26 #: resources/templates/resources/42ctf.html:26
msgid "" msgid ""
"Anyone is welcome to submit their own challenges, either on the permanent " "Anyone is welcome to submit their own challenges, either on the permanent "
"CTF or for a specific event." "CTF or for a specific event."
msgstr "" msgstr ""
"Tout le monde est invité à soumettre ses propres défis, que ce soit sur le "
"CTF permanent ou pour un évènement spécifique."
#: resources/templates/resources/create_challenge.html:7 #: resources/templates/resources/create_challenge.html:7
msgid "Create new challenges" msgid "Create new challenges"
msgstr "" msgstr "Créer de nouveaux challenges"
#: resources/templates/resources/create_challenge.html:10 #: resources/templates/resources/create_challenge.html:10
msgid "If you want to create new challenges for 42CTF, send us a message on " msgid "If you want to create new challenges for 42CTF, send us a message on "
msgstr "" msgstr ""
"Si vous souhaitez créer de nouveaux challenges pour 42CTF, envoyez-nous un "
"message sur "
#: resources/templates/resources/create_challenge.html:11 #: resources/templates/resources/create_challenge.html:11
msgid "If your challenge is offline, then you don't have to ask us in advance." msgid "If your challenge is offline, then you don't have to ask us in advance."
msgstr "" msgstr ""
"Si votre défi est hors ligne, vous n'avez pas besoin de nous demander à "
"l'avance."
#: resources/templates/resources/create_challenge.html:12 #: resources/templates/resources/create_challenge.html:12
msgid "" msgid ""
"If your challenge is online (for example web or pwn), then you should give " "If your challenge is online (for example web or pwn), then you should give "
"us a short description of what you want to do." "us a short description of what you want to do."
msgstr "" msgstr ""
"Si votre challenge est en ligne (par exemple web or pwn), alors vous devrez "
"nous donner une courte description de ce que vous voulez faire."
#: resources/templates/resources/create_challenge.html:13 #: resources/templates/resources/create_challenge.html:13
msgid "" msgid ""
"We may be able to help you or to give you resources such as dockerfiles." "We may be able to help you or to give you resources such as dockerfiles."
msgstr "" msgstr ""
"Nous pouvons être en mesure de vous aider ou de vous fournir des ressources "
"comme des dockerfiles."
#: resources/templates/resources/create_challenge.html:14 #: resources/templates/resources/create_challenge.html:14
msgid "We plan to make those resources publicly available in a near future." msgid "We plan to make those resources publicly available in a near future."
msgstr "" msgstr ""
"Nous prévoyons de rendre ces ressources accessibles au public dans un avenir "
"proche."
#: resources/templates/resources/donate.html:7 #: resources/templates/resources/donate.html:7
msgid "Donate" msgid "Donate"
@ -159,7 +183,7 @@ msgid ""
"in the form of private events with the people of your choice." "in the form of private events with the people of your choice."
msgstr "" msgstr ""
"La possibilité de jouer de nouveau aux CTF passés, avec des challenges qui " "La possibilité de jouer de nouveau aux CTF passés, avec des challenges qui "
"ne sont plus disponibles, sous la forme d'un événement privé avec les " "ne sont plus disponibles, sous la forme d'un évènement privé avec les "
"personnes de votre choix." "personnes de votre choix."
#: resources/templates/resources/donate.html:18 #: resources/templates/resources/donate.html:18
@ -187,7 +211,7 @@ msgid ""
"for all." "for all."
msgstr "" msgstr ""
"Cependant, nous n'organiserons pas de CTF en temps limité réservé aux " "Cependant, nous n'organiserons pas de CTF en temps limité réservé aux "
"membres, car cela serait équivalent à organiser des événements payants, and " "membres, car cela serait équivalent à organiser des évènements payants, et "
"nous voulons que 42CTF reste GRATUIT pour tous." "nous voulons que 42CTF reste GRATUIT pour tous."
#: resources/templates/resources/donate.html:26 #: resources/templates/resources/donate.html:26
@ -206,14 +230,14 @@ msgid ""
"cash, send us a message !" "cash, send us a message !"
msgstr "" msgstr ""
"Si vous aimeriez qu'on ajoute un autre moyen de paiement, ou si vous voulez " "Si vous aimeriez qu'on ajoute un autre moyen de paiement, ou si vous voulez "
"payer en liquide, envoyez nous un message !" "payer en liquide, envoyez-nous un message !"
#: resources/templates/resources/donate.html:48 #: resources/templates/resources/donate.html:48
msgid "" msgid ""
"If you're paying for your membership, don't forget to send us your first and " "If you're paying for your membership, don't forget to send us your first and "
"last name, as well as your 42CTF pseudo." "last name, as well as your 42CTF pseudo."
msgstr "" msgstr ""
"Si vous payez pour l'adhesion, n'oubliez pas de nous envoyer vos noms et " "Si vous payez pour l'adhésion, n'oubliez pas de nous envoyer vos noms et "
"prénoms, ainsi que votre pseudo 42CTF." "prénoms, ainsi que votre pseudo 42CTF."
#: resources/templates/resources/donate.html:49 #: resources/templates/resources/donate.html:49
@ -227,61 +251,69 @@ msgstr ""
#: resources/templates/resources/edit.html:7 #: resources/templates/resources/edit.html:7
msgid "Edit this page" msgid "Edit this page"
msgstr "" msgstr "Modifier cette page"
#: resources/templates/resources/edit.html:12 #: resources/templates/resources/edit.html:12
msgid "" msgid ""
"More information coming soon, but as you can guess it involves making a pull " "More information coming soon, but as you can guess it involves making a pull "
"request to your favorite" "request to your favorite"
msgstr "" msgstr ""
"De plus amples informations seront bientôt disponibles, mais comme vous "
"pouvez le deviner, vous pouvez faire une pull request sur votre bien aimé"
#: resources/templates/resources/tools.html:7 #: resources/templates/resources/tools.html:7
msgid "Recommended Tools" msgid "Recommended Tools"
msgstr "" msgstr "Outils recommandés"
#: resources/templates/resources/tools.html:10 #: resources/templates/resources/tools.html:10
msgid "To get you started, we built a VM that you can simply import in" msgid "To get you started, we built a VM that you can simply import in"
msgstr "" msgstr ""
"Pour commencer, nous avons construit une VM que vous pouvez simplement "
"importer dans"
#: resources/templates/resources/tools.html:10 #: resources/templates/resources/tools.html:10
msgid "with a bunch of useful tools." msgid "with a bunch of useful tools."
msgstr "" msgstr "avec quelques outils utiles"
#: resources/templates/resources/tools.html:11 #: resources/templates/resources/tools.html:11
msgid "You can dowload this OVA" msgid "You can dowload this OVA"
msgstr "" msgstr "Vous pouvez télécharger l'OVA"
#: resources/templates/resources/tools.html:11 #: resources/templates/resources/tools.html:11
msgid "here" msgid "here"
msgstr "" msgstr "ici"
#: resources/templates/resources/tools.html:13 #: resources/templates/resources/tools.html:13
msgid "Here are the tools installed on the VM:" msgid "Here are the tools installed on the VM:"
msgstr "" msgstr "Voici la liste des outils installés sur la VM:"
#: resources/templates/resources/tools.html:22 #: resources/templates/resources/tools.html:22
msgid "" msgid ""
"If you want to solve the challenges on your own machine, we recommend you to " "If you want to solve the challenges on your own machine, we recommend you to "
"use a Linux operating system." "use a Linux operating system."
msgstr "" msgstr ""
"Si vous voulez résoudre les challenges sur votre propre machine, nous "
"recommandons l'utilisation de Linux."
#: resources/templates/resources/tools.html:23 #: resources/templates/resources/tools.html:23
msgid "" msgid ""
"Most of the reverse challenges are ELF binaries and won't run on Mac OS or " "Most of the reverse challenges are ELF binaries and won't run on Mac OS or "
"Windows." "Windows."
msgstr "" msgstr ""
"La plupart des challenges de reverse sont des binaies ELF et ne "
"fonctionneront pas sur MacOS ou Windows."
#: resources/templates/resources/tools.html:25 #: resources/templates/resources/tools.html:25
msgid "Additionnaly, you will need the following languages interpreters:" msgid "Additionnaly, you will need the following languages interpreters:"
msgstr "" msgstr "De plus, vous aurez besoin des interpréteurs de langage suivants :"
#: resources/templates/resources/translate.html:7 #: resources/templates/resources/translate.html:7
msgid "Translate 42CTF" msgid "Translate 42CTF"
msgstr "" msgstr "Traduire 42CTF"
#: resources/templates/resources/translate.html:10 #: resources/templates/resources/translate.html:10
msgid "42CTF source code is publicly available on this" msgid "42CTF source code is publicly available on this"
msgstr "" msgstr "Le code source de 42CTF est publiquement disponible sur ce"
#: resources/templates/resources/translate.html:11 #: resources/templates/resources/translate.html:11
msgid "" msgid ""
@ -289,21 +321,29 @@ msgid ""
"contribute if you want to help us, by making the platform always more " "contribute if you want to help us, by making the platform always more "
"accessible." "accessible."
msgstr "" msgstr ""
"La traduction ne nécessite aucune compétence en programmation et constitue "
"un bon moyen de contribuer si vous souhaitez nous aider, en rendant la "
"plateforme toujours plus accessible."
#: resources/templates/resources/translate.html:12 #: resources/templates/resources/translate.html:12
msgid "We have a" msgid "We have a"
msgstr "" msgstr "Nous avons un"
#: resources/templates/resources/translate.html:12 #: resources/templates/resources/translate.html:12
msgid "" msgid ""
"describing how to translate pages with the Django internalization module." "describing how to translate pages with the Django internalization module."
msgstr "" msgstr ""
"qui décrit comment traduire des pages avec le module d'internalisation de "
"Django."
#: resources/templates/resources/translate.html:13 #: resources/templates/resources/translate.html:13
msgid "" msgid ""
"We invite you to read it to know all the details, but it merely requires you " "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 ;)" "to edit text files, so you see, no programming skills required ;)"
msgstr "" msgstr ""
"Nous vous invitons à le lire pour connaitre tous les détails, mais il suffit "
"simplement de modifier des fichiers texte, donc vous voyez, aucune "
"compétence en programmation n'est requise ;)"
#: resources/templates/resources/translate.html:14 #: resources/templates/resources/translate.html:14
msgid "" msgid ""
@ -311,7 +351,10 @@ msgid ""
"then open a pull request so that we can merge your contributions into our " "then open a pull request so that we can merge your contributions into our "
"repository." "repository."
msgstr "" msgstr ""
"Vous devrez forker le dépôt git, effectuer vos modifications, les push, puis "
"ouvrir une pull request afin que nous puissions merge vos contributions dans "
"notre repo."
#: resources/templates/resources/translate.html:15 #: resources/templates/resources/translate.html:15
msgid "Don't hesitate to reach for help on" msgid "Don't hesitate to reach for help on"
msgstr "" msgstr "N'hésitez pas à demander de l'aide sur"

View File

@ -8,7 +8,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: PACKAGE VERSION\n" "Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2022-02-14 19:36+0100\n" "POT-Creation-Date: 2022-02-16 20:02+0100\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n" "Language-Team: LANGUAGE <LL@li.org>\n"
@ -34,7 +34,9 @@ msgid ""
msgstr "" msgstr ""
#: resources/templates/resources/42ctf.html:12 #: resources/templates/resources/42ctf.html:12
msgid "The challenges require participants to find sort of passwords called \\" msgid ""
"The challenges require participants to find sort of passwords called \"flags"
"\" and to submit them on the platform."
msgstr "" msgstr ""
#: resources/templates/resources/42ctf.html:15 #: resources/templates/resources/42ctf.html:15

View File

@ -8,7 +8,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: PACKAGE VERSION\n" "Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2022-02-14 19:36+0100\n" "POT-Creation-Date: 2022-02-16 20:02+0100\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n" "Language-Team: LANGUAGE <LL@li.org>\n"
@ -34,7 +34,9 @@ msgid ""
msgstr "" msgstr ""
#: resources/templates/resources/42ctf.html:12 #: resources/templates/resources/42ctf.html:12
msgid "The challenges require participants to find sort of passwords called \\" msgid ""
"The challenges require participants to find sort of passwords called \"flags"
"\" and to submit them on the platform."
msgstr "" msgstr ""
#: resources/templates/resources/42ctf.html:15 #: resources/templates/resources/42ctf.html:15

View File

@ -8,7 +8,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: PACKAGE VERSION\n" "Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2022-02-14 19:36+0100\n" "POT-Creation-Date: 2022-02-16 20:02+0100\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n" "Language-Team: LANGUAGE <LL@li.org>\n"
@ -36,7 +36,9 @@ msgid ""
msgstr "" msgstr ""
#: resources/templates/resources/42ctf.html:12 #: resources/templates/resources/42ctf.html:12
msgid "The challenges require participants to find sort of passwords called \\" msgid ""
"The challenges require participants to find sort of passwords called \"flags"
"\" and to submit them on the platform."
msgstr "" msgstr ""
#: resources/templates/resources/42ctf.html:15 #: resources/templates/resources/42ctf.html:15

View File

@ -9,7 +9,7 @@
<div class="ctf-body"> <div class="ctf-body">
<h4>{% trans "A short introduction to CTF" %}</h4> <h4>{% trans "A short introduction to CTF" %}</h4>
{% trans "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." %} {% trans "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." %}
{% trans "The challenges require participants to find sort of passwords called \"flags\" and to submit them on the platform."%} {% blocktranslate %}The challenges require participants to find sort of passwords called "flags" and to submit them on the platform.{% endblocktranslate %}
<br><br> <br><br>
<h4>{% trans "Functionment of 42CTF" %}</h4> <h4>{% trans "Functionment of 42CTF" %}</h4>