From 52b3a71cafdb4e78e10042a5d81900d11d3fd801 Mon Sep 17 00:00:00 2001 From: Danhia Date: Sun, 23 Jan 2022 17:08:07 +0100 Subject: [PATCH] finished first version of resources, let's deploy ! --- src/locale/de/LC_MESSAGES/django.po | 106 +++--- src/locale/en/LC_MESSAGES/django.po | 106 +++--- src/locale/es/LC_MESSAGES/django.po | 106 +++--- src/locale/fr/LC_MESSAGES/django.po | 92 ++--- src/locale/it/LC_MESSAGES/django.po | 106 +++--- src/locale/ru/LC_MESSAGES/django.po | 106 +++--- src/resources/locale/de/LC_MESSAGES/django.po | 316 +++++++++++++++++ src/resources/locale/en/LC_MESSAGES/django.po | 316 +++++++++++++++++ src/resources/locale/es/LC_MESSAGES/django.po | 316 +++++++++++++++++ src/resources/locale/fr/LC_MESSAGES/django.po | 314 ++++++++++++++++- src/resources/locale/it/LC_MESSAGES/django.po | 316 +++++++++++++++++ src/resources/locale/ru/LC_MESSAGES/django.po | 318 ++++++++++++++++++ .../templates/resources/create_challenge.html | 6 +- src/resources/templates/resources/donate.html | 53 +++ src/resources/templates/resources/edit.html | 18 + .../templates/resources/resources.html | 6 +- .../templates/resources/translate.html | 23 ++ src/resources/urls.py | 3 + src/resources/views.py | 11 +- src/statics/img/paypal.png | Bin 0 -> 65344 bytes src/templates/base.html | 4 +- 21 files changed, 2358 insertions(+), 284 deletions(-) create mode 100644 src/resources/locale/de/LC_MESSAGES/django.po create mode 100644 src/resources/locale/en/LC_MESSAGES/django.po create mode 100644 src/resources/locale/es/LC_MESSAGES/django.po create mode 100644 src/resources/locale/it/LC_MESSAGES/django.po create mode 100644 src/resources/locale/ru/LC_MESSAGES/django.po create mode 100644 src/resources/templates/resources/donate.html create mode 100644 src/resources/templates/resources/edit.html create mode 100644 src/resources/templates/resources/translate.html create mode 100644 src/statics/img/paypal.png diff --git a/src/locale/de/LC_MESSAGES/django.po b/src/locale/de/LC_MESSAGES/django.po index 1c74a23..ebfa070 100644 --- a/src/locale/de/LC_MESSAGES/django.po +++ b/src/locale/de/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-08 10:22+0000\n" +"POT-Creation-Date: 2022-01-23 15:54+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -67,8 +67,8 @@ msgstr "" #: accounts/templates/accounts/login.html:19 #: accounts/templates/accounts/register.html:23 -#: events/templates/events/create_team.html:31 -#: events/templates/events/create_team.html:40 +#: events/templates/events/create_team.html:26 +#: events/templates/events/join_team.html:31 msgid "Password" msgstr "" @@ -77,7 +77,7 @@ msgid "Reset password" msgstr "" #: accounts/templates/accounts/login.html:31 -#: accounts/templates/accounts/register.html:38 templates/base.html:100 +#: accounts/templates/accounts/register.html:38 templates/base.html:103 #: templates/registration/password_reset_complete.html:18 #: templates/registration/password_reset_confirm.html:38 #: templates/registration/password_reset_done.html:18 @@ -180,7 +180,7 @@ msgstr "" msgid "Username already taken." msgstr "" -#: accounts/views/views.py:103 events/views.py:370 +#: accounts/views/views.py:103 events/views/teams.py:122 msgid "Updated." msgstr "" @@ -262,57 +262,60 @@ msgid "No category available." msgstr "" #: events/templates/events/create_team.html:9 +#: events/templates/events/join_team.html:9 msgid "This event starts at" msgstr "" -#: events/templates/events/create_team.html:15 +#: events/templates/events/create_team.html:16 +#: events/templates/events/join_team.html:16 msgid "You need to be registered to the event." msgstr "" -#: events/templates/events/create_team.html:18 -msgid "Team does not exist." -msgstr "" - -#: events/templates/events/create_team.html:20 -#: events/templates/events/event_pwd.html:15 -msgid "Wrong password submited." -msgstr "" - -#: events/templates/events/create_team.html:22 -msgid "Maximum size reached." -msgstr "" - -#: events/templates/events/create_team.html:24 events/views.py:366 +#: events/templates/events/create_team.html:19 events/views/teams.py:118 msgid "Name already taken." msgstr "" -#: events/templates/events/create_team.html:30 -#: events/templates/events/create_team.html:39 +#: 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 "" -#: events/templates/events/create_team.html:32 +#: 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 "" -#: events/templates/events/create_team.html:41 -msgid "Join Team" -msgstr "" - -#: events/templates/events/create_team.html:46 +#: 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 "" -#: events/templates/events/create_team.html:54 +#: events/templates/events/create_team.html:41 +#: events/templates/events/event_info.html:111 #: events/templates/events/event_pwd.html:36 -msgid "Start at" +#: events/templates/events/join_team.html:46 +msgid "Starts at" msgstr "" -#: events/templates/events/create_team.html:55 +#: events/templates/events/create_team.html:42 +#: events/templates/events/event_info.html:112 #: events/templates/events/event_pwd.html:37 -msgid "End at" +#: events/templates/events/join_team.html:47 +msgid "Ends at" +msgstr "" + +#: 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 "" + +#: events/templates/events/create_team.html:54 +#: events/templates/events/join_team.html:59 +msgid "Find me a team !" msgstr "" #: events/templates/events/ctf_info.html:9 @@ -374,14 +377,6 @@ msgstr "" msgid "No one have earn point yet, you gonna be the first ?" msgstr "" -#: events/templates/events/event_info.html:111 -msgid "Starts at" -msgstr "" - -#: events/templates/events/event_info.html:112 -msgid "Ends at" -msgstr "" - #: events/templates/events/event_info.html:117 msgid "Subscribe" msgstr "" @@ -390,6 +385,11 @@ msgstr "" msgid "Manage my team" msgstr "" +#: events/templates/events/event_pwd.html:15 +#: events/templates/events/join_team.html:21 +msgid "Wrong password submited." +msgstr "" + #: events/templates/events/event_pwd.html:20 msgid "This event is password protected" msgstr "" @@ -410,6 +410,14 @@ msgstr "" msgid "No events available." msgstr "" +#: events/templates/events/join_team.html:19 +msgid "Team does not exist." +msgstr "" + +#: events/templates/events/join_team.html:23 +msgid "Maximum size reached." +msgstr "" + #: events/templates/events/manage_team.html:26 msgid "Team password" msgstr "" @@ -443,19 +451,19 @@ msgstr "" msgid "Flags counter" msgstr "" -#: project/settings.py:114 +#: project/settings.py:115 msgid "English" msgstr "" -#: project/settings.py:115 +#: project/settings.py:116 msgid "German" msgstr "" -#: project/settings.py:116 +#: project/settings.py:117 msgid "French" msgstr "" -#: project/settings.py:117 +#: project/settings.py:118 msgid "Russian" msgstr "" @@ -483,15 +491,19 @@ msgstr "" msgid "Scoreboard" msgstr "" -#: templates/base.html:96 +#: templates/base.html:66 +msgid "Resources" +msgstr "" + +#: templates/base.html:99 msgid "Logout" msgstr "" -#: templates/base.html:103 +#: templates/base.html:106 msgid "Sign Up" msgstr "" -#: templates/base.html:131 +#: templates/base.html:134 msgid "Become a Patron!" msgstr "" diff --git a/src/locale/en/LC_MESSAGES/django.po b/src/locale/en/LC_MESSAGES/django.po index 1c74a23..ebfa070 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-08 10:22+0000\n" +"POT-Creation-Date: 2022-01-23 15:54+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -67,8 +67,8 @@ msgstr "" #: accounts/templates/accounts/login.html:19 #: accounts/templates/accounts/register.html:23 -#: events/templates/events/create_team.html:31 -#: events/templates/events/create_team.html:40 +#: events/templates/events/create_team.html:26 +#: events/templates/events/join_team.html:31 msgid "Password" msgstr "" @@ -77,7 +77,7 @@ msgid "Reset password" msgstr "" #: accounts/templates/accounts/login.html:31 -#: accounts/templates/accounts/register.html:38 templates/base.html:100 +#: accounts/templates/accounts/register.html:38 templates/base.html:103 #: templates/registration/password_reset_complete.html:18 #: templates/registration/password_reset_confirm.html:38 #: templates/registration/password_reset_done.html:18 @@ -180,7 +180,7 @@ msgstr "" msgid "Username already taken." msgstr "" -#: accounts/views/views.py:103 events/views.py:370 +#: accounts/views/views.py:103 events/views/teams.py:122 msgid "Updated." msgstr "" @@ -262,57 +262,60 @@ msgid "No category available." msgstr "" #: events/templates/events/create_team.html:9 +#: events/templates/events/join_team.html:9 msgid "This event starts at" msgstr "" -#: events/templates/events/create_team.html:15 +#: events/templates/events/create_team.html:16 +#: events/templates/events/join_team.html:16 msgid "You need to be registered to the event." msgstr "" -#: events/templates/events/create_team.html:18 -msgid "Team does not exist." -msgstr "" - -#: events/templates/events/create_team.html:20 -#: events/templates/events/event_pwd.html:15 -msgid "Wrong password submited." -msgstr "" - -#: events/templates/events/create_team.html:22 -msgid "Maximum size reached." -msgstr "" - -#: events/templates/events/create_team.html:24 events/views.py:366 +#: events/templates/events/create_team.html:19 events/views/teams.py:118 msgid "Name already taken." msgstr "" -#: events/templates/events/create_team.html:30 -#: events/templates/events/create_team.html:39 +#: 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 "" -#: events/templates/events/create_team.html:32 +#: 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 "" -#: events/templates/events/create_team.html:41 -msgid "Join Team" -msgstr "" - -#: events/templates/events/create_team.html:46 +#: 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 "" -#: events/templates/events/create_team.html:54 +#: events/templates/events/create_team.html:41 +#: events/templates/events/event_info.html:111 #: events/templates/events/event_pwd.html:36 -msgid "Start at" +#: events/templates/events/join_team.html:46 +msgid "Starts at" msgstr "" -#: events/templates/events/create_team.html:55 +#: events/templates/events/create_team.html:42 +#: events/templates/events/event_info.html:112 #: events/templates/events/event_pwd.html:37 -msgid "End at" +#: events/templates/events/join_team.html:47 +msgid "Ends at" +msgstr "" + +#: 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 "" + +#: events/templates/events/create_team.html:54 +#: events/templates/events/join_team.html:59 +msgid "Find me a team !" msgstr "" #: events/templates/events/ctf_info.html:9 @@ -374,14 +377,6 @@ msgstr "" msgid "No one have earn point yet, you gonna be the first ?" msgstr "" -#: events/templates/events/event_info.html:111 -msgid "Starts at" -msgstr "" - -#: events/templates/events/event_info.html:112 -msgid "Ends at" -msgstr "" - #: events/templates/events/event_info.html:117 msgid "Subscribe" msgstr "" @@ -390,6 +385,11 @@ msgstr "" msgid "Manage my team" msgstr "" +#: events/templates/events/event_pwd.html:15 +#: events/templates/events/join_team.html:21 +msgid "Wrong password submited." +msgstr "" + #: events/templates/events/event_pwd.html:20 msgid "This event is password protected" msgstr "" @@ -410,6 +410,14 @@ msgstr "" msgid "No events available." msgstr "" +#: events/templates/events/join_team.html:19 +msgid "Team does not exist." +msgstr "" + +#: events/templates/events/join_team.html:23 +msgid "Maximum size reached." +msgstr "" + #: events/templates/events/manage_team.html:26 msgid "Team password" msgstr "" @@ -443,19 +451,19 @@ msgstr "" msgid "Flags counter" msgstr "" -#: project/settings.py:114 +#: project/settings.py:115 msgid "English" msgstr "" -#: project/settings.py:115 +#: project/settings.py:116 msgid "German" msgstr "" -#: project/settings.py:116 +#: project/settings.py:117 msgid "French" msgstr "" -#: project/settings.py:117 +#: project/settings.py:118 msgid "Russian" msgstr "" @@ -483,15 +491,19 @@ msgstr "" msgid "Scoreboard" msgstr "" -#: templates/base.html:96 +#: templates/base.html:66 +msgid "Resources" +msgstr "" + +#: templates/base.html:99 msgid "Logout" msgstr "" -#: templates/base.html:103 +#: templates/base.html:106 msgid "Sign Up" msgstr "" -#: templates/base.html:131 +#: templates/base.html:134 msgid "Become a Patron!" msgstr "" diff --git a/src/locale/es/LC_MESSAGES/django.po b/src/locale/es/LC_MESSAGES/django.po index 1c74a23..ebfa070 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-08 10:22+0000\n" +"POT-Creation-Date: 2022-01-23 15:54+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -67,8 +67,8 @@ msgstr "" #: accounts/templates/accounts/login.html:19 #: accounts/templates/accounts/register.html:23 -#: events/templates/events/create_team.html:31 -#: events/templates/events/create_team.html:40 +#: events/templates/events/create_team.html:26 +#: events/templates/events/join_team.html:31 msgid "Password" msgstr "" @@ -77,7 +77,7 @@ msgid "Reset password" msgstr "" #: accounts/templates/accounts/login.html:31 -#: accounts/templates/accounts/register.html:38 templates/base.html:100 +#: accounts/templates/accounts/register.html:38 templates/base.html:103 #: templates/registration/password_reset_complete.html:18 #: templates/registration/password_reset_confirm.html:38 #: templates/registration/password_reset_done.html:18 @@ -180,7 +180,7 @@ msgstr "" msgid "Username already taken." msgstr "" -#: accounts/views/views.py:103 events/views.py:370 +#: accounts/views/views.py:103 events/views/teams.py:122 msgid "Updated." msgstr "" @@ -262,57 +262,60 @@ msgid "No category available." msgstr "" #: events/templates/events/create_team.html:9 +#: events/templates/events/join_team.html:9 msgid "This event starts at" msgstr "" -#: events/templates/events/create_team.html:15 +#: events/templates/events/create_team.html:16 +#: events/templates/events/join_team.html:16 msgid "You need to be registered to the event." msgstr "" -#: events/templates/events/create_team.html:18 -msgid "Team does not exist." -msgstr "" - -#: events/templates/events/create_team.html:20 -#: events/templates/events/event_pwd.html:15 -msgid "Wrong password submited." -msgstr "" - -#: events/templates/events/create_team.html:22 -msgid "Maximum size reached." -msgstr "" - -#: events/templates/events/create_team.html:24 events/views.py:366 +#: events/templates/events/create_team.html:19 events/views/teams.py:118 msgid "Name already taken." msgstr "" -#: events/templates/events/create_team.html:30 -#: events/templates/events/create_team.html:39 +#: 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 "" -#: events/templates/events/create_team.html:32 +#: 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 "" -#: events/templates/events/create_team.html:41 -msgid "Join Team" -msgstr "" - -#: events/templates/events/create_team.html:46 +#: 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 "" -#: events/templates/events/create_team.html:54 +#: events/templates/events/create_team.html:41 +#: events/templates/events/event_info.html:111 #: events/templates/events/event_pwd.html:36 -msgid "Start at" +#: events/templates/events/join_team.html:46 +msgid "Starts at" msgstr "" -#: events/templates/events/create_team.html:55 +#: events/templates/events/create_team.html:42 +#: events/templates/events/event_info.html:112 #: events/templates/events/event_pwd.html:37 -msgid "End at" +#: events/templates/events/join_team.html:47 +msgid "Ends at" +msgstr "" + +#: 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 "" + +#: events/templates/events/create_team.html:54 +#: events/templates/events/join_team.html:59 +msgid "Find me a team !" msgstr "" #: events/templates/events/ctf_info.html:9 @@ -374,14 +377,6 @@ msgstr "" msgid "No one have earn point yet, you gonna be the first ?" msgstr "" -#: events/templates/events/event_info.html:111 -msgid "Starts at" -msgstr "" - -#: events/templates/events/event_info.html:112 -msgid "Ends at" -msgstr "" - #: events/templates/events/event_info.html:117 msgid "Subscribe" msgstr "" @@ -390,6 +385,11 @@ msgstr "" msgid "Manage my team" msgstr "" +#: events/templates/events/event_pwd.html:15 +#: events/templates/events/join_team.html:21 +msgid "Wrong password submited." +msgstr "" + #: events/templates/events/event_pwd.html:20 msgid "This event is password protected" msgstr "" @@ -410,6 +410,14 @@ msgstr "" msgid "No events available." msgstr "" +#: events/templates/events/join_team.html:19 +msgid "Team does not exist." +msgstr "" + +#: events/templates/events/join_team.html:23 +msgid "Maximum size reached." +msgstr "" + #: events/templates/events/manage_team.html:26 msgid "Team password" msgstr "" @@ -443,19 +451,19 @@ msgstr "" msgid "Flags counter" msgstr "" -#: project/settings.py:114 +#: project/settings.py:115 msgid "English" msgstr "" -#: project/settings.py:115 +#: project/settings.py:116 msgid "German" msgstr "" -#: project/settings.py:116 +#: project/settings.py:117 msgid "French" msgstr "" -#: project/settings.py:117 +#: project/settings.py:118 msgid "Russian" msgstr "" @@ -483,15 +491,19 @@ msgstr "" msgid "Scoreboard" msgstr "" -#: templates/base.html:96 +#: templates/base.html:66 +msgid "Resources" +msgstr "" + +#: templates/base.html:99 msgid "Logout" msgstr "" -#: templates/base.html:103 +#: templates/base.html:106 msgid "Sign Up" msgstr "" -#: templates/base.html:131 +#: templates/base.html:134 msgid "Become a Patron!" msgstr "" diff --git a/src/locale/fr/LC_MESSAGES/django.po b/src/locale/fr/LC_MESSAGES/django.po index 518c5de..d821bb6 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-08 12:12+0100\n" +"POT-Creation-Date: 2022-01-23 15:54+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -67,8 +67,8 @@ 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:31 -#: events/templates/events/create_team.html:40 +#: events/templates/events/create_team.html:26 +#: events/templates/events/join_team.html:31 msgid "Password" msgstr "Mot de passe" @@ -184,7 +184,7 @@ msgstr "L'adresse mail est déjà utilisée." msgid "Username already taken." msgstr "Le pseudo est déjà utilisé." -#: accounts/views/views.py:103 events/views.py:370 +#: accounts/views/views.py:103 events/views/teams.py:122 msgid "Updated." msgstr "Mis à jour." @@ -268,65 +268,68 @@ msgid "No category available." msgstr "Il n'y a pas de catégorie disponible." #: events/templates/events/create_team.html:9 +#: events/templates/events/join_team.html:9 #, fuzzy #| msgid "This event start at" msgid "This event starts at" msgstr "Cet événement débute à" -#: events/templates/events/create_team.html:15 +#: events/templates/events/create_team.html:16 +#: events/templates/events/join_team.html:16 #, fuzzy #| msgid "You're already registered to this event." msgid "You need to be registered to the event." msgstr "Vous êtes déjà inscrit à cet événement." -#: events/templates/events/create_team.html:18 -msgid "Team does not exist." -msgstr "Cette équipe n'existe pas." - -#: events/templates/events/create_team.html:20 -#: events/templates/events/event_pwd.html:15 -msgid "Wrong password submited." -msgstr "Mauvais mot de passe saisi." - -#: events/templates/events/create_team.html:22 -msgid "Maximum size reached." -msgstr "Taille maximale atteinte." - -#: events/templates/events/create_team.html:24 events/views.py:366 +#: events/templates/events/create_team.html:19 events/views/teams.py:118 #, fuzzy #| msgid "Username already taken." msgid "Name already taken." msgstr "Ce nom est déjà utilisé." -#: events/templates/events/create_team.html:30 -#: events/templates/events/create_team.html:39 +#: 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 "Nom de l'équipe" -#: events/templates/events/create_team.html:32 +#: 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 "Créer une équipe" -#: events/templates/events/create_team.html:41 -msgid "Join Team" -msgstr "Rejoindre une équipe" - -#: events/templates/events/create_team.html:46 +#: 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 "Vous devez être connecté pour accéder à cet événement." -#: events/templates/events/create_team.html:54 +#: events/templates/events/create_team.html:41 +#: events/templates/events/event_info.html:111 #: events/templates/events/event_pwd.html:36 -msgid "Start at" +#: events/templates/events/join_team.html:46 +msgid "Starts at" msgstr "Début" -#: events/templates/events/create_team.html:55 +#: events/templates/events/create_team.html:42 +#: events/templates/events/event_info.html:112 #: events/templates/events/event_pwd.html:37 -msgid "End at" +#: events/templates/events/join_team.html:47 +msgid "Ends at" msgstr "Fin" +#: 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 "Rejoindre une équipe" + +#: events/templates/events/create_team.html:54 +#: events/templates/events/join_team.html:59 +msgid "Find me a team !" +msgstr "" + #: events/templates/events/ctf_info.html:9 msgid "Event" msgstr "Événement" @@ -394,14 +397,6 @@ msgstr "Équipe" 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:111 -msgid "Starts at" -msgstr "Début" - -#: events/templates/events/event_info.html:112 -msgid "Ends at" -msgstr "Fin" - #: events/templates/events/event_info.html:117 msgid "Subscribe" msgstr "" @@ -410,6 +405,11 @@ msgstr "" msgid "Manage my team" msgstr "Gérer mon équipe" +#: events/templates/events/event_pwd.html:15 +#: events/templates/events/join_team.html:21 +msgid "Wrong password submited." +msgstr "Mauvais mot de passe saisi." + #: events/templates/events/event_pwd.html:20 msgid "This event is password protected" msgstr "Cet événement est protégé par un mot de passe" @@ -430,6 +430,14 @@ msgstr "Voir plus" msgid "No events available." msgstr "Pas d'évènement disponible." +#: events/templates/events/join_team.html:19 +msgid "Team does not exist." +msgstr "Cette équipe n'existe pas." + +#: events/templates/events/join_team.html:23 +msgid "Maximum size reached." +msgstr "Taille maximale atteinte." + #: events/templates/events/manage_team.html:26 msgid "Team password" msgstr "Mot de passe de l'équipe" @@ -559,6 +567,12 @@ msgstr "" msgid "Reset" msgstr "Réinitialiser" +#~ msgid "Start at" +#~ msgstr "Début" + +#~ msgid "End at" +#~ msgstr "Fin" + #~ msgid "Connected accounts" #~ msgstr "Comptes connectés" diff --git a/src/locale/it/LC_MESSAGES/django.po b/src/locale/it/LC_MESSAGES/django.po index 1c74a23..ebfa070 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-08 10:22+0000\n" +"POT-Creation-Date: 2022-01-23 15:54+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -67,8 +67,8 @@ msgstr "" #: accounts/templates/accounts/login.html:19 #: accounts/templates/accounts/register.html:23 -#: events/templates/events/create_team.html:31 -#: events/templates/events/create_team.html:40 +#: events/templates/events/create_team.html:26 +#: events/templates/events/join_team.html:31 msgid "Password" msgstr "" @@ -77,7 +77,7 @@ msgid "Reset password" msgstr "" #: accounts/templates/accounts/login.html:31 -#: accounts/templates/accounts/register.html:38 templates/base.html:100 +#: accounts/templates/accounts/register.html:38 templates/base.html:103 #: templates/registration/password_reset_complete.html:18 #: templates/registration/password_reset_confirm.html:38 #: templates/registration/password_reset_done.html:18 @@ -180,7 +180,7 @@ msgstr "" msgid "Username already taken." msgstr "" -#: accounts/views/views.py:103 events/views.py:370 +#: accounts/views/views.py:103 events/views/teams.py:122 msgid "Updated." msgstr "" @@ -262,57 +262,60 @@ msgid "No category available." msgstr "" #: events/templates/events/create_team.html:9 +#: events/templates/events/join_team.html:9 msgid "This event starts at" msgstr "" -#: events/templates/events/create_team.html:15 +#: events/templates/events/create_team.html:16 +#: events/templates/events/join_team.html:16 msgid "You need to be registered to the event." msgstr "" -#: events/templates/events/create_team.html:18 -msgid "Team does not exist." -msgstr "" - -#: events/templates/events/create_team.html:20 -#: events/templates/events/event_pwd.html:15 -msgid "Wrong password submited." -msgstr "" - -#: events/templates/events/create_team.html:22 -msgid "Maximum size reached." -msgstr "" - -#: events/templates/events/create_team.html:24 events/views.py:366 +#: events/templates/events/create_team.html:19 events/views/teams.py:118 msgid "Name already taken." msgstr "" -#: events/templates/events/create_team.html:30 -#: events/templates/events/create_team.html:39 +#: 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 "" -#: events/templates/events/create_team.html:32 +#: 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 "" -#: events/templates/events/create_team.html:41 -msgid "Join Team" -msgstr "" - -#: events/templates/events/create_team.html:46 +#: 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 "" -#: events/templates/events/create_team.html:54 +#: events/templates/events/create_team.html:41 +#: events/templates/events/event_info.html:111 #: events/templates/events/event_pwd.html:36 -msgid "Start at" +#: events/templates/events/join_team.html:46 +msgid "Starts at" msgstr "" -#: events/templates/events/create_team.html:55 +#: events/templates/events/create_team.html:42 +#: events/templates/events/event_info.html:112 #: events/templates/events/event_pwd.html:37 -msgid "End at" +#: events/templates/events/join_team.html:47 +msgid "Ends at" +msgstr "" + +#: 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 "" + +#: events/templates/events/create_team.html:54 +#: events/templates/events/join_team.html:59 +msgid "Find me a team !" msgstr "" #: events/templates/events/ctf_info.html:9 @@ -374,14 +377,6 @@ msgstr "" msgid "No one have earn point yet, you gonna be the first ?" msgstr "" -#: events/templates/events/event_info.html:111 -msgid "Starts at" -msgstr "" - -#: events/templates/events/event_info.html:112 -msgid "Ends at" -msgstr "" - #: events/templates/events/event_info.html:117 msgid "Subscribe" msgstr "" @@ -390,6 +385,11 @@ msgstr "" msgid "Manage my team" msgstr "" +#: events/templates/events/event_pwd.html:15 +#: events/templates/events/join_team.html:21 +msgid "Wrong password submited." +msgstr "" + #: events/templates/events/event_pwd.html:20 msgid "This event is password protected" msgstr "" @@ -410,6 +410,14 @@ msgstr "" msgid "No events available." msgstr "" +#: events/templates/events/join_team.html:19 +msgid "Team does not exist." +msgstr "" + +#: events/templates/events/join_team.html:23 +msgid "Maximum size reached." +msgstr "" + #: events/templates/events/manage_team.html:26 msgid "Team password" msgstr "" @@ -443,19 +451,19 @@ msgstr "" msgid "Flags counter" msgstr "" -#: project/settings.py:114 +#: project/settings.py:115 msgid "English" msgstr "" -#: project/settings.py:115 +#: project/settings.py:116 msgid "German" msgstr "" -#: project/settings.py:116 +#: project/settings.py:117 msgid "French" msgstr "" -#: project/settings.py:117 +#: project/settings.py:118 msgid "Russian" msgstr "" @@ -483,15 +491,19 @@ msgstr "" msgid "Scoreboard" msgstr "" -#: templates/base.html:96 +#: templates/base.html:66 +msgid "Resources" +msgstr "" + +#: templates/base.html:99 msgid "Logout" msgstr "" -#: templates/base.html:103 +#: templates/base.html:106 msgid "Sign Up" msgstr "" -#: templates/base.html:131 +#: templates/base.html:134 msgid "Become a Patron!" msgstr "" diff --git a/src/locale/ru/LC_MESSAGES/django.po b/src/locale/ru/LC_MESSAGES/django.po index 3f35a76..c783abf 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-08 10:22+0000\n" +"POT-Creation-Date: 2022-01-23 15:54+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -69,8 +69,8 @@ msgstr "" #: accounts/templates/accounts/login.html:19 #: accounts/templates/accounts/register.html:23 -#: events/templates/events/create_team.html:31 -#: events/templates/events/create_team.html:40 +#: events/templates/events/create_team.html:26 +#: events/templates/events/join_team.html:31 msgid "Password" msgstr "" @@ -79,7 +79,7 @@ msgid "Reset password" msgstr "" #: accounts/templates/accounts/login.html:31 -#: accounts/templates/accounts/register.html:38 templates/base.html:100 +#: accounts/templates/accounts/register.html:38 templates/base.html:103 #: templates/registration/password_reset_complete.html:18 #: templates/registration/password_reset_confirm.html:38 #: templates/registration/password_reset_done.html:18 @@ -182,7 +182,7 @@ msgstr "" msgid "Username already taken." msgstr "" -#: accounts/views/views.py:103 events/views.py:370 +#: accounts/views/views.py:103 events/views/teams.py:122 msgid "Updated." msgstr "" @@ -266,57 +266,60 @@ msgid "No category available." msgstr "" #: events/templates/events/create_team.html:9 +#: events/templates/events/join_team.html:9 msgid "This event starts at" msgstr "" -#: events/templates/events/create_team.html:15 +#: events/templates/events/create_team.html:16 +#: events/templates/events/join_team.html:16 msgid "You need to be registered to the event." msgstr "" -#: events/templates/events/create_team.html:18 -msgid "Team does not exist." -msgstr "" - -#: events/templates/events/create_team.html:20 -#: events/templates/events/event_pwd.html:15 -msgid "Wrong password submited." -msgstr "" - -#: events/templates/events/create_team.html:22 -msgid "Maximum size reached." -msgstr "" - -#: events/templates/events/create_team.html:24 events/views.py:366 +#: events/templates/events/create_team.html:19 events/views/teams.py:118 msgid "Name already taken." msgstr "" -#: events/templates/events/create_team.html:30 -#: events/templates/events/create_team.html:39 +#: 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 "" -#: events/templates/events/create_team.html:32 +#: 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 "" -#: events/templates/events/create_team.html:41 -msgid "Join Team" -msgstr "" - -#: events/templates/events/create_team.html:46 +#: 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 "" -#: events/templates/events/create_team.html:54 +#: events/templates/events/create_team.html:41 +#: events/templates/events/event_info.html:111 #: events/templates/events/event_pwd.html:36 -msgid "Start at" +#: events/templates/events/join_team.html:46 +msgid "Starts at" msgstr "" -#: events/templates/events/create_team.html:55 +#: events/templates/events/create_team.html:42 +#: events/templates/events/event_info.html:112 #: events/templates/events/event_pwd.html:37 -msgid "End at" +#: events/templates/events/join_team.html:47 +msgid "Ends at" +msgstr "" + +#: 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 "" + +#: events/templates/events/create_team.html:54 +#: events/templates/events/join_team.html:59 +msgid "Find me a team !" msgstr "" #: events/templates/events/ctf_info.html:9 @@ -382,14 +385,6 @@ msgstr "" msgid "No one have earn point yet, you gonna be the first ?" msgstr "" -#: events/templates/events/event_info.html:111 -msgid "Starts at" -msgstr "" - -#: events/templates/events/event_info.html:112 -msgid "Ends at" -msgstr "" - #: events/templates/events/event_info.html:117 msgid "Subscribe" msgstr "" @@ -398,6 +393,11 @@ msgstr "" msgid "Manage my team" msgstr "" +#: events/templates/events/event_pwd.html:15 +#: events/templates/events/join_team.html:21 +msgid "Wrong password submited." +msgstr "" + #: events/templates/events/event_pwd.html:20 msgid "This event is password protected" msgstr "" @@ -420,6 +420,14 @@ msgstr "" msgid "No events available." msgstr "Нет доступных статей." +#: events/templates/events/join_team.html:19 +msgid "Team does not exist." +msgstr "" + +#: events/templates/events/join_team.html:23 +msgid "Maximum size reached." +msgstr "" + #: events/templates/events/manage_team.html:26 msgid "Team password" msgstr "" @@ -453,19 +461,19 @@ msgstr "" msgid "Flags counter" msgstr "" -#: project/settings.py:114 +#: project/settings.py:115 msgid "English" msgstr "" -#: project/settings.py:115 +#: project/settings.py:116 msgid "German" msgstr "" -#: project/settings.py:116 +#: project/settings.py:117 msgid "French" msgstr "" -#: project/settings.py:117 +#: project/settings.py:118 msgid "Russian" msgstr "" @@ -493,15 +501,19 @@ msgstr "" msgid "Scoreboard" msgstr "" -#: templates/base.html:96 +#: templates/base.html:66 +msgid "Resources" +msgstr "" + +#: templates/base.html:99 msgid "Logout" msgstr "Выйти" -#: templates/base.html:103 +#: templates/base.html:106 msgid "Sign Up" msgstr "" -#: templates/base.html:131 +#: templates/base.html:134 msgid "Become a Patron!" msgstr "" diff --git a/src/resources/locale/de/LC_MESSAGES/django.po b/src/resources/locale/de/LC_MESSAGES/django.po new file mode 100644 index 0000000..57e2c4c --- /dev/null +++ b/src/resources/locale/de/LC_MESSAGES/django.po @@ -0,0 +1,316 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR , YEAR. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-01-23 15:54+0000\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"Language: \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" +#: resources/templates/resources/42ctf.html:9 +#: resources/templates/resources/resources.html:12 +msgid "What is 42CTF ?" +msgstr "" + +#: resources/templates/resources/42ctf.html:12 +msgid "A short introduction to CTF" +msgstr "" + +#: resources/templates/resources/42ctf.html:13 +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." +msgstr "" + +#: resources/templates/resources/42ctf.html:14 +msgid "The challenges require participants to find sort of passwords called \\" +msgstr "" + +#: resources/templates/resources/42ctf.html:17 +msgid "Functionment of 42CTF" +msgstr "" + +#: 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 "" + +#: resources/templates/resources/42ctf.html:21 +msgid "" +"Events may or may not be open. If you would like to organize an event on " +"42CTF, feel free to contact us." +msgstr "" + +#: resources/templates/resources/42ctf.html:24 +msgid "42CTF Team" +msgstr "" + +#: 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 "" + +#: resources/templates/resources/42ctf.html:28 +msgid "" +"Anyone is welcome to submit their own challenges, either on the permanent " +"CTF or for a specific event." +msgstr "" + +#: resources/templates/resources/create_challenge.html:9 +#: resources/templates/resources/resources.html:28 +msgid "Create new challenges" +msgstr "" + +#: resources/templates/resources/create_challenge.html:12 +msgid "If you want to create new challenges for 42CTF, send us a message on " +msgstr "" + +#: resources/templates/resources/create_challenge.html:13 +msgid "If your challenge is offline, then you don't have to ask us in advance." +msgstr "" + +#: 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 "" + +#: resources/templates/resources/donate.html:9 +#: resources/templates/resources/resources.html:31 +msgid "Donate" +msgstr "" + +#: resources/templates/resources/donate.html:12 +msgid "Become a 42CTF member" +msgstr "" + +#: resources/templates/resources/donate.html:13 +msgid "" +"42CTF is a non-profit organization with a legal status under the french law " +"(Association loi 1901)." +msgstr "" + +#: resources/templates/resources/donate.html:14 +msgid "You can support us by becoming a member and paying a fee of 15 euros." +msgstr "" + +#: resources/templates/resources/donate.html:15 +msgid "Membership is then granted for 1 year." +msgstr "" + +#: resources/templates/resources/donate.html:17 +msgid "When you become a member, you gain the following advantages:" +msgstr "" + +#: resources/templates/resources/donate.html:18 +msgid "" +"A different color for your pseudo in the scoreboard, to let everyone know " +"you're a member. (not yet implemented but coming soon)" +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 "" + +#: resources/templates/resources/donate.html:21 +msgid "Or you didn't play Welcome CTF 2021 because you were not eligible." +msgstr "" + +#: resources/templates/resources/donate.html:24 +msgid "More advantages may come later, and you can submit us your ideas." +msgstr "" + +#: resources/templates/resources/donate.html:25 +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." +msgstr "" + +#: resources/templates/resources/donate.html:28 +msgid "Donate to 42CTF" +msgstr "" + +#: resources/templates/resources/donate.html:29 +msgid "" +"You can donate to 42CTF or pay your membership with the following means:" +msgstr "" + +#: resources/templates/resources/donate.html:43 +msgid "" +"If you would like us to add another payment method or if you want to pay in " +"cash, send us a message !" +msgstr "" + +#: resources/templates/resources/donate.html:45 +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 "" + +#: resources/templates/resources/donate.html:46 +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 "" + +#: resources/templates/resources/edit.html:9 +#: resources/templates/resources/resources.html:30 +msgid "Edit this page" +msgstr "" + +#: 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 "" + +#: resources/templates/resources/resources.html:10 +msgid "Getting started" +msgstr "" + +#: resources/templates/resources/resources.html:13 +#: resources/templates/resources/tools.html:9 +msgid "Recommended Tools" +msgstr "" + +#: 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 +msgid "To get you started, we built a VM that you can simply import in" +msgstr "" + +#: resources/templates/resources/tools.html:12 +msgid "with a bunch of useful tools." +msgstr "" + +#: resources/templates/resources/tools.html:13 +msgid "You can dowload this OVA" +msgstr "" + +#: 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 "" + +#: resources/templates/resources/tools.html:24 +msgid "" +"If you want to solve the challenges on your own machine, we recommend you to " +"use a Linux operating system." +msgstr "" + +#: resources/templates/resources/tools.html:25 +msgid "" +"Most of the reverse challenges are ELF binaries and won't run on Mac OS or " +"Windows." +msgstr "" + +#: resources/templates/resources/tools.html:27 +msgid "Additionnaly, you will need the following languages interpreters:" +msgstr "" + +#: resources/templates/resources/translate.html:12 +msgid "42CTF source code is publicly available on this" +msgstr "" + +#: 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" +msgstr "" + +#: resources/templates/resources/translate.html:14 +msgid "" +"describing how to translate pages with the Django internalization module." +msgstr "" + +#: 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 "" diff --git a/src/resources/locale/en/LC_MESSAGES/django.po b/src/resources/locale/en/LC_MESSAGES/django.po new file mode 100644 index 0000000..57e2c4c --- /dev/null +++ b/src/resources/locale/en/LC_MESSAGES/django.po @@ -0,0 +1,316 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR , YEAR. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-01-23 15:54+0000\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"Language: \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" +#: resources/templates/resources/42ctf.html:9 +#: resources/templates/resources/resources.html:12 +msgid "What is 42CTF ?" +msgstr "" + +#: resources/templates/resources/42ctf.html:12 +msgid "A short introduction to CTF" +msgstr "" + +#: resources/templates/resources/42ctf.html:13 +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." +msgstr "" + +#: resources/templates/resources/42ctf.html:14 +msgid "The challenges require participants to find sort of passwords called \\" +msgstr "" + +#: resources/templates/resources/42ctf.html:17 +msgid "Functionment of 42CTF" +msgstr "" + +#: 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 "" + +#: resources/templates/resources/42ctf.html:21 +msgid "" +"Events may or may not be open. If you would like to organize an event on " +"42CTF, feel free to contact us." +msgstr "" + +#: resources/templates/resources/42ctf.html:24 +msgid "42CTF Team" +msgstr "" + +#: 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 "" + +#: resources/templates/resources/42ctf.html:28 +msgid "" +"Anyone is welcome to submit their own challenges, either on the permanent " +"CTF or for a specific event." +msgstr "" + +#: resources/templates/resources/create_challenge.html:9 +#: resources/templates/resources/resources.html:28 +msgid "Create new challenges" +msgstr "" + +#: resources/templates/resources/create_challenge.html:12 +msgid "If you want to create new challenges for 42CTF, send us a message on " +msgstr "" + +#: resources/templates/resources/create_challenge.html:13 +msgid "If your challenge is offline, then you don't have to ask us in advance." +msgstr "" + +#: 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 "" + +#: resources/templates/resources/donate.html:9 +#: resources/templates/resources/resources.html:31 +msgid "Donate" +msgstr "" + +#: resources/templates/resources/donate.html:12 +msgid "Become a 42CTF member" +msgstr "" + +#: resources/templates/resources/donate.html:13 +msgid "" +"42CTF is a non-profit organization with a legal status under the french law " +"(Association loi 1901)." +msgstr "" + +#: resources/templates/resources/donate.html:14 +msgid "You can support us by becoming a member and paying a fee of 15 euros." +msgstr "" + +#: resources/templates/resources/donate.html:15 +msgid "Membership is then granted for 1 year." +msgstr "" + +#: resources/templates/resources/donate.html:17 +msgid "When you become a member, you gain the following advantages:" +msgstr "" + +#: resources/templates/resources/donate.html:18 +msgid "" +"A different color for your pseudo in the scoreboard, to let everyone know " +"you're a member. (not yet implemented but coming soon)" +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 "" + +#: resources/templates/resources/donate.html:21 +msgid "Or you didn't play Welcome CTF 2021 because you were not eligible." +msgstr "" + +#: resources/templates/resources/donate.html:24 +msgid "More advantages may come later, and you can submit us your ideas." +msgstr "" + +#: resources/templates/resources/donate.html:25 +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." +msgstr "" + +#: resources/templates/resources/donate.html:28 +msgid "Donate to 42CTF" +msgstr "" + +#: resources/templates/resources/donate.html:29 +msgid "" +"You can donate to 42CTF or pay your membership with the following means:" +msgstr "" + +#: resources/templates/resources/donate.html:43 +msgid "" +"If you would like us to add another payment method or if you want to pay in " +"cash, send us a message !" +msgstr "" + +#: resources/templates/resources/donate.html:45 +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 "" + +#: resources/templates/resources/donate.html:46 +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 "" + +#: resources/templates/resources/edit.html:9 +#: resources/templates/resources/resources.html:30 +msgid "Edit this page" +msgstr "" + +#: 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 "" + +#: resources/templates/resources/resources.html:10 +msgid "Getting started" +msgstr "" + +#: resources/templates/resources/resources.html:13 +#: resources/templates/resources/tools.html:9 +msgid "Recommended Tools" +msgstr "" + +#: 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 +msgid "To get you started, we built a VM that you can simply import in" +msgstr "" + +#: resources/templates/resources/tools.html:12 +msgid "with a bunch of useful tools." +msgstr "" + +#: resources/templates/resources/tools.html:13 +msgid "You can dowload this OVA" +msgstr "" + +#: 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 "" + +#: resources/templates/resources/tools.html:24 +msgid "" +"If you want to solve the challenges on your own machine, we recommend you to " +"use a Linux operating system." +msgstr "" + +#: resources/templates/resources/tools.html:25 +msgid "" +"Most of the reverse challenges are ELF binaries and won't run on Mac OS or " +"Windows." +msgstr "" + +#: resources/templates/resources/tools.html:27 +msgid "Additionnaly, you will need the following languages interpreters:" +msgstr "" + +#: resources/templates/resources/translate.html:12 +msgid "42CTF source code is publicly available on this" +msgstr "" + +#: 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" +msgstr "" + +#: resources/templates/resources/translate.html:14 +msgid "" +"describing how to translate pages with the Django internalization module." +msgstr "" + +#: 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 "" diff --git a/src/resources/locale/es/LC_MESSAGES/django.po b/src/resources/locale/es/LC_MESSAGES/django.po new file mode 100644 index 0000000..57e2c4c --- /dev/null +++ b/src/resources/locale/es/LC_MESSAGES/django.po @@ -0,0 +1,316 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR , YEAR. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-01-23 15:54+0000\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"Language: \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" +#: resources/templates/resources/42ctf.html:9 +#: resources/templates/resources/resources.html:12 +msgid "What is 42CTF ?" +msgstr "" + +#: resources/templates/resources/42ctf.html:12 +msgid "A short introduction to CTF" +msgstr "" + +#: resources/templates/resources/42ctf.html:13 +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." +msgstr "" + +#: resources/templates/resources/42ctf.html:14 +msgid "The challenges require participants to find sort of passwords called \\" +msgstr "" + +#: resources/templates/resources/42ctf.html:17 +msgid "Functionment of 42CTF" +msgstr "" + +#: 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 "" + +#: resources/templates/resources/42ctf.html:21 +msgid "" +"Events may or may not be open. If you would like to organize an event on " +"42CTF, feel free to contact us." +msgstr "" + +#: resources/templates/resources/42ctf.html:24 +msgid "42CTF Team" +msgstr "" + +#: 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 "" + +#: resources/templates/resources/42ctf.html:28 +msgid "" +"Anyone is welcome to submit their own challenges, either on the permanent " +"CTF or for a specific event." +msgstr "" + +#: resources/templates/resources/create_challenge.html:9 +#: resources/templates/resources/resources.html:28 +msgid "Create new challenges" +msgstr "" + +#: resources/templates/resources/create_challenge.html:12 +msgid "If you want to create new challenges for 42CTF, send us a message on " +msgstr "" + +#: resources/templates/resources/create_challenge.html:13 +msgid "If your challenge is offline, then you don't have to ask us in advance." +msgstr "" + +#: 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 "" + +#: resources/templates/resources/donate.html:9 +#: resources/templates/resources/resources.html:31 +msgid "Donate" +msgstr "" + +#: resources/templates/resources/donate.html:12 +msgid "Become a 42CTF member" +msgstr "" + +#: resources/templates/resources/donate.html:13 +msgid "" +"42CTF is a non-profit organization with a legal status under the french law " +"(Association loi 1901)." +msgstr "" + +#: resources/templates/resources/donate.html:14 +msgid "You can support us by becoming a member and paying a fee of 15 euros." +msgstr "" + +#: resources/templates/resources/donate.html:15 +msgid "Membership is then granted for 1 year." +msgstr "" + +#: resources/templates/resources/donate.html:17 +msgid "When you become a member, you gain the following advantages:" +msgstr "" + +#: resources/templates/resources/donate.html:18 +msgid "" +"A different color for your pseudo in the scoreboard, to let everyone know " +"you're a member. (not yet implemented but coming soon)" +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 "" + +#: resources/templates/resources/donate.html:21 +msgid "Or you didn't play Welcome CTF 2021 because you were not eligible." +msgstr "" + +#: resources/templates/resources/donate.html:24 +msgid "More advantages may come later, and you can submit us your ideas." +msgstr "" + +#: resources/templates/resources/donate.html:25 +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." +msgstr "" + +#: resources/templates/resources/donate.html:28 +msgid "Donate to 42CTF" +msgstr "" + +#: resources/templates/resources/donate.html:29 +msgid "" +"You can donate to 42CTF or pay your membership with the following means:" +msgstr "" + +#: resources/templates/resources/donate.html:43 +msgid "" +"If you would like us to add another payment method or if you want to pay in " +"cash, send us a message !" +msgstr "" + +#: resources/templates/resources/donate.html:45 +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 "" + +#: resources/templates/resources/donate.html:46 +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 "" + +#: resources/templates/resources/edit.html:9 +#: resources/templates/resources/resources.html:30 +msgid "Edit this page" +msgstr "" + +#: 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 "" + +#: resources/templates/resources/resources.html:10 +msgid "Getting started" +msgstr "" + +#: resources/templates/resources/resources.html:13 +#: resources/templates/resources/tools.html:9 +msgid "Recommended Tools" +msgstr "" + +#: 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 +msgid "To get you started, we built a VM that you can simply import in" +msgstr "" + +#: resources/templates/resources/tools.html:12 +msgid "with a bunch of useful tools." +msgstr "" + +#: resources/templates/resources/tools.html:13 +msgid "You can dowload this OVA" +msgstr "" + +#: 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 "" + +#: resources/templates/resources/tools.html:24 +msgid "" +"If you want to solve the challenges on your own machine, we recommend you to " +"use a Linux operating system." +msgstr "" + +#: resources/templates/resources/tools.html:25 +msgid "" +"Most of the reverse challenges are ELF binaries and won't run on Mac OS or " +"Windows." +msgstr "" + +#: resources/templates/resources/tools.html:27 +msgid "Additionnaly, you will need the following languages interpreters:" +msgstr "" + +#: resources/templates/resources/translate.html:12 +msgid "42CTF source code is publicly available on this" +msgstr "" + +#: 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" +msgstr "" + +#: resources/templates/resources/translate.html:14 +msgid "" +"describing how to translate pages with the Django internalization module." +msgstr "" + +#: 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 "" diff --git a/src/resources/locale/fr/LC_MESSAGES/django.po b/src/resources/locale/fr/LC_MESSAGES/django.po index 416fa24..7da52b2 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-08 12:12+0100\n" +"POT-Creation-Date: 2022-01-23 15:54+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -17,6 +17,314 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" -#: resources/templates/resources/resources.html:7 -msgid "This is a message inside app resources" + +#: resources/templates/resources/42ctf.html:9 +#: resources/templates/resources/resources.html:12 +msgid "What is 42CTF ?" +msgstr "Qu'est ce que 42CTF ?" + +#: resources/templates/resources/42ctf.html:12 +msgid "A short introduction to CTF" +msgstr "Une brève introduction aux CTF" + +#: resources/templates/resources/42ctf.html:13 +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." +msgstr "" + +#: resources/templates/resources/42ctf.html:14 +msgid "The challenges require participants to find sort of passwords called \\" +msgstr "" + +#: resources/templates/resources/42ctf.html:17 +msgid "Functionment of 42CTF" +msgstr "" + +#: 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 "" + +#: resources/templates/resources/42ctf.html:21 +msgid "" +"Events may or may not be open. If you would like to organize an event on " +"42CTF, feel free to contact us." +msgstr "" + +#: resources/templates/resources/42ctf.html:24 +msgid "42CTF Team" +msgstr "" + +#: 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 "" + +#: resources/templates/resources/42ctf.html:28 +msgid "" +"Anyone is welcome to submit their own challenges, either on the permanent " +"CTF or for a specific event." +msgstr "" + +#: resources/templates/resources/create_challenge.html:9 +#: resources/templates/resources/resources.html:28 +msgid "Create new challenges" +msgstr "" + +#: resources/templates/resources/create_challenge.html:12 +msgid "If you want to create new challenges for 42CTF, send us a message on " +msgstr "" + +#: resources/templates/resources/create_challenge.html:13 +msgid "If your challenge is offline, then you don't have to ask us in advance." +msgstr "" + +#: 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 "" + +#: resources/templates/resources/donate.html:9 +#: resources/templates/resources/resources.html:31 +msgid "Donate" +msgstr "Donner" + +#: resources/templates/resources/donate.html:12 +msgid "Become a 42CTF member" +msgstr "Devenez membre de 42CTF" + +#: resources/templates/resources/donate.html:13 +msgid "" +"42CTF is a non-profit organization with a legal status under the french law " +"(Association loi 1901)." +msgstr "42CTF est une association loi 1901 (loi française)." + +#: resources/templates/resources/donate.html:14 +msgid "You can support us by becoming a member and paying a fee of 15 euros." +msgstr "Vous pouvez nous aider financièrement en devenant membre, au cout de 15 euros." + +#: resources/templates/resources/donate.html:15 +msgid "Membership is then granted for 1 year." +msgstr "Le status de membre est valable 1 an au paiement de la cotisation." + +#: resources/templates/resources/donate.html:17 +msgid "When you become a member, you gain the following advantages:" +msgstr "Lorsque vous adherez à 42CTF, vous obtenez les avantages suivants :" + +#: resources/templates/resources/donate.html:18 +msgid "" +"A different color for your pseudo in the scoreboard, to let everyone know " +"you're a member. (not yet implemented but coming soon)" +msgstr "" +"Une couleur différente pour votre pseudo sur le scoreboard, pour que tout le monde sache que vous êtes membre (en cours de développement)." + +#: 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 "" +"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 personnes de votre choix." + +#: 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 "Ex: vous avez joué au Welcome CTF 2021, et vous voulez renouveler l'expérience avec vos amis le temps d'un weekend." + +#: resources/templates/resources/donate.html:21 +msgid "Or you didn't play Welcome CTF 2021 because you were not eligible." +msgstr "Ou au contraire vous n'avez pas joué car vous n'étiez pas éligible." + +#: resources/templates/resources/donate.html:24 +msgid "More advantages may come later, and you can submit us your ideas." +msgstr "Plus d'avantages pourraient être disponibles plus tard, et vous pouvez nous soumettre vos idées." + +#: resources/templates/resources/donate.html:25 +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." +msgstr "" +"Cependant, nous n'organiserons pas de CTF en temps limité réservé aux membres, " +"car cela serait équivalent à organiser des événements payants, and nous voulons que 42CTF reste GRATUIT pour tous." + +#: resources/templates/resources/donate.html:28 +msgid "Donate to 42CTF" +msgstr "Donnez à 42CTF" + +#: resources/templates/resources/donate.html:29 +msgid "" +"You can donate to 42CTF or pay your membership with the following means:" +msgstr "" +"Vous pouvez donner à 42CTF ou payer votre adhésion avec les moyens suivants :" + +#: resources/templates/resources/donate.html:43 +msgid "" +"If you would like us to add another payment method or if you want to pay in " +"cash, send us a message !" +msgstr "" +"Si vous aimeriez qu'on ajoute un autre moyen de paiement, ou si vous voulez " +"payer en liquide, envoyez nous un message !" + +#: resources/templates/resources/donate.html:45 +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 "" +"Si vous payez pour l'adhesion, n'oubliez pas de nous envoyer vos noms et prénoms, " +"ainsi que votre pseudo 42CTF." + + +#: resources/templates/resources/donate.html:46 +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 "" +"Nous utiliserons ces données exclusivement pour tenir compte de nos membres et vous accorder " +"des avantages, nous ne transmettrons jamais ces données à des tierces parties." + +#: resources/templates/resources/edit.html:9 +#: resources/templates/resources/resources.html:30 +msgid "Edit this page" +msgstr "" + +#: 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 "" + +#: resources/templates/resources/resources.html:10 +msgid "Getting started" +msgstr "" + +#: resources/templates/resources/resources.html:13 +#: resources/templates/resources/tools.html:9 +msgid "Recommended Tools" +msgstr "" + +#: 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 +msgid "To get you started, we built a VM that you can simply import in" +msgstr "" + +#: resources/templates/resources/tools.html:12 +msgid "with a bunch of useful tools." +msgstr "" + +#: resources/templates/resources/tools.html:13 +msgid "You can dowload this OVA" +msgstr "" + +#: 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 "" + +#: resources/templates/resources/tools.html:24 +msgid "" +"If you want to solve the challenges on your own machine, we recommend you to " +"use a Linux operating system." +msgstr "" + +#: resources/templates/resources/tools.html:25 +msgid "" +"Most of the reverse challenges are ELF binaries and won't run on Mac OS or " +"Windows." +msgstr "" + +#: resources/templates/resources/tools.html:27 +msgid "Additionnaly, you will need the following languages interpreters:" +msgstr "" + +#: resources/templates/resources/translate.html:12 +msgid "42CTF source code is publicly available on this" +msgstr "" + +#: 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" +msgstr "" + +#: resources/templates/resources/translate.html:14 +msgid "" +"describing how to translate pages with the Django internalization module." +msgstr "" + +#: 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 "" diff --git a/src/resources/locale/it/LC_MESSAGES/django.po b/src/resources/locale/it/LC_MESSAGES/django.po new file mode 100644 index 0000000..57e2c4c --- /dev/null +++ b/src/resources/locale/it/LC_MESSAGES/django.po @@ -0,0 +1,316 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR , YEAR. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-01-23 15:54+0000\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"Language: \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" +#: resources/templates/resources/42ctf.html:9 +#: resources/templates/resources/resources.html:12 +msgid "What is 42CTF ?" +msgstr "" + +#: resources/templates/resources/42ctf.html:12 +msgid "A short introduction to CTF" +msgstr "" + +#: resources/templates/resources/42ctf.html:13 +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." +msgstr "" + +#: resources/templates/resources/42ctf.html:14 +msgid "The challenges require participants to find sort of passwords called \\" +msgstr "" + +#: resources/templates/resources/42ctf.html:17 +msgid "Functionment of 42CTF" +msgstr "" + +#: 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 "" + +#: resources/templates/resources/42ctf.html:21 +msgid "" +"Events may or may not be open. If you would like to organize an event on " +"42CTF, feel free to contact us." +msgstr "" + +#: resources/templates/resources/42ctf.html:24 +msgid "42CTF Team" +msgstr "" + +#: 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 "" + +#: resources/templates/resources/42ctf.html:28 +msgid "" +"Anyone is welcome to submit their own challenges, either on the permanent " +"CTF or for a specific event." +msgstr "" + +#: resources/templates/resources/create_challenge.html:9 +#: resources/templates/resources/resources.html:28 +msgid "Create new challenges" +msgstr "" + +#: resources/templates/resources/create_challenge.html:12 +msgid "If you want to create new challenges for 42CTF, send us a message on " +msgstr "" + +#: resources/templates/resources/create_challenge.html:13 +msgid "If your challenge is offline, then you don't have to ask us in advance." +msgstr "" + +#: 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 "" + +#: resources/templates/resources/donate.html:9 +#: resources/templates/resources/resources.html:31 +msgid "Donate" +msgstr "" + +#: resources/templates/resources/donate.html:12 +msgid "Become a 42CTF member" +msgstr "" + +#: resources/templates/resources/donate.html:13 +msgid "" +"42CTF is a non-profit organization with a legal status under the french law " +"(Association loi 1901)." +msgstr "" + +#: resources/templates/resources/donate.html:14 +msgid "You can support us by becoming a member and paying a fee of 15 euros." +msgstr "" + +#: resources/templates/resources/donate.html:15 +msgid "Membership is then granted for 1 year." +msgstr "" + +#: resources/templates/resources/donate.html:17 +msgid "When you become a member, you gain the following advantages:" +msgstr "" + +#: resources/templates/resources/donate.html:18 +msgid "" +"A different color for your pseudo in the scoreboard, to let everyone know " +"you're a member. (not yet implemented but coming soon)" +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 "" + +#: resources/templates/resources/donate.html:21 +msgid "Or you didn't play Welcome CTF 2021 because you were not eligible." +msgstr "" + +#: resources/templates/resources/donate.html:24 +msgid "More advantages may come later, and you can submit us your ideas." +msgstr "" + +#: resources/templates/resources/donate.html:25 +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." +msgstr "" + +#: resources/templates/resources/donate.html:28 +msgid "Donate to 42CTF" +msgstr "" + +#: resources/templates/resources/donate.html:29 +msgid "" +"You can donate to 42CTF or pay your membership with the following means:" +msgstr "" + +#: resources/templates/resources/donate.html:43 +msgid "" +"If you would like us to add another payment method or if you want to pay in " +"cash, send us a message !" +msgstr "" + +#: resources/templates/resources/donate.html:45 +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 "" + +#: resources/templates/resources/donate.html:46 +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 "" + +#: resources/templates/resources/edit.html:9 +#: resources/templates/resources/resources.html:30 +msgid "Edit this page" +msgstr "" + +#: 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 "" + +#: resources/templates/resources/resources.html:10 +msgid "Getting started" +msgstr "" + +#: resources/templates/resources/resources.html:13 +#: resources/templates/resources/tools.html:9 +msgid "Recommended Tools" +msgstr "" + +#: 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 +msgid "To get you started, we built a VM that you can simply import in" +msgstr "" + +#: resources/templates/resources/tools.html:12 +msgid "with a bunch of useful tools." +msgstr "" + +#: resources/templates/resources/tools.html:13 +msgid "You can dowload this OVA" +msgstr "" + +#: 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 "" + +#: resources/templates/resources/tools.html:24 +msgid "" +"If you want to solve the challenges on your own machine, we recommend you to " +"use a Linux operating system." +msgstr "" + +#: resources/templates/resources/tools.html:25 +msgid "" +"Most of the reverse challenges are ELF binaries and won't run on Mac OS or " +"Windows." +msgstr "" + +#: resources/templates/resources/tools.html:27 +msgid "Additionnaly, you will need the following languages interpreters:" +msgstr "" + +#: resources/templates/resources/translate.html:12 +msgid "42CTF source code is publicly available on this" +msgstr "" + +#: 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" +msgstr "" + +#: resources/templates/resources/translate.html:14 +msgid "" +"describing how to translate pages with the Django internalization module." +msgstr "" + +#: 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 "" diff --git a/src/resources/locale/ru/LC_MESSAGES/django.po b/src/resources/locale/ru/LC_MESSAGES/django.po new file mode 100644 index 0000000..157a4b2 --- /dev/null +++ b/src/resources/locale/ru/LC_MESSAGES/django.po @@ -0,0 +1,318 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR , YEAR. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-01-23 15:54+0000\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"Language: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" +"%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" +#: resources/templates/resources/42ctf.html:9 +#: resources/templates/resources/resources.html:12 +msgid "What is 42CTF ?" +msgstr "" + +#: resources/templates/resources/42ctf.html:12 +msgid "A short introduction to CTF" +msgstr "" + +#: resources/templates/resources/42ctf.html:13 +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." +msgstr "" + +#: resources/templates/resources/42ctf.html:14 +msgid "The challenges require participants to find sort of passwords called \\" +msgstr "" + +#: resources/templates/resources/42ctf.html:17 +msgid "Functionment of 42CTF" +msgstr "" + +#: 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 "" + +#: resources/templates/resources/42ctf.html:21 +msgid "" +"Events may or may not be open. If you would like to organize an event on " +"42CTF, feel free to contact us." +msgstr "" + +#: resources/templates/resources/42ctf.html:24 +msgid "42CTF Team" +msgstr "" + +#: 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 "" + +#: resources/templates/resources/42ctf.html:28 +msgid "" +"Anyone is welcome to submit their own challenges, either on the permanent " +"CTF or for a specific event." +msgstr "" + +#: resources/templates/resources/create_challenge.html:9 +#: resources/templates/resources/resources.html:28 +msgid "Create new challenges" +msgstr "" + +#: resources/templates/resources/create_challenge.html:12 +msgid "If you want to create new challenges for 42CTF, send us a message on " +msgstr "" + +#: resources/templates/resources/create_challenge.html:13 +msgid "If your challenge is offline, then you don't have to ask us in advance." +msgstr "" + +#: 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 "" + +#: resources/templates/resources/donate.html:9 +#: resources/templates/resources/resources.html:31 +msgid "Donate" +msgstr "" + +#: resources/templates/resources/donate.html:12 +msgid "Become a 42CTF member" +msgstr "" + +#: resources/templates/resources/donate.html:13 +msgid "" +"42CTF is a non-profit organization with a legal status under the french law " +"(Association loi 1901)." +msgstr "" + +#: resources/templates/resources/donate.html:14 +msgid "You can support us by becoming a member and paying a fee of 15 euros." +msgstr "" + +#: resources/templates/resources/donate.html:15 +msgid "Membership is then granted for 1 year." +msgstr "" + +#: resources/templates/resources/donate.html:17 +msgid "When you become a member, you gain the following advantages:" +msgstr "" + +#: resources/templates/resources/donate.html:18 +msgid "" +"A different color for your pseudo in the scoreboard, to let everyone know " +"you're a member. (not yet implemented but coming soon)" +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 "" + +#: resources/templates/resources/donate.html:21 +msgid "Or you didn't play Welcome CTF 2021 because you were not eligible." +msgstr "" + +#: resources/templates/resources/donate.html:24 +msgid "More advantages may come later, and you can submit us your ideas." +msgstr "" + +#: resources/templates/resources/donate.html:25 +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." +msgstr "" + +#: resources/templates/resources/donate.html:28 +msgid "Donate to 42CTF" +msgstr "" + +#: resources/templates/resources/donate.html:29 +msgid "" +"You can donate to 42CTF or pay your membership with the following means:" +msgstr "" + +#: resources/templates/resources/donate.html:43 +msgid "" +"If you would like us to add another payment method or if you want to pay in " +"cash, send us a message !" +msgstr "" + +#: resources/templates/resources/donate.html:45 +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 "" + +#: resources/templates/resources/donate.html:46 +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 "" + +#: resources/templates/resources/edit.html:9 +#: resources/templates/resources/resources.html:30 +msgid "Edit this page" +msgstr "" + +#: 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 "" + +#: resources/templates/resources/resources.html:10 +msgid "Getting started" +msgstr "" + +#: resources/templates/resources/resources.html:13 +#: resources/templates/resources/tools.html:9 +msgid "Recommended Tools" +msgstr "" + +#: 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 +msgid "To get you started, we built a VM that you can simply import in" +msgstr "" + +#: resources/templates/resources/tools.html:12 +msgid "with a bunch of useful tools." +msgstr "" + +#: resources/templates/resources/tools.html:13 +msgid "You can dowload this OVA" +msgstr "" + +#: 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 "" + +#: resources/templates/resources/tools.html:24 +msgid "" +"If you want to solve the challenges on your own machine, we recommend you to " +"use a Linux operating system." +msgstr "" + +#: resources/templates/resources/tools.html:25 +msgid "" +"Most of the reverse challenges are ELF binaries and won't run on Mac OS or " +"Windows." +msgstr "" + +#: resources/templates/resources/tools.html:27 +msgid "Additionnaly, you will need the following languages interpreters:" +msgstr "" + +#: resources/templates/resources/translate.html:12 +msgid "42CTF source code is publicly available on this" +msgstr "" + +#: 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" +msgstr "" + +#: resources/templates/resources/translate.html:14 +msgid "" +"describing how to translate pages with the Django internalization module." +msgstr "" + +#: 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 "" diff --git a/src/resources/templates/resources/create_challenge.html b/src/resources/templates/resources/create_challenge.html index 6ff774a..4ffd16a 100644 --- a/src/resources/templates/resources/create_challenge.html +++ b/src/resources/templates/resources/create_challenge.html @@ -9,7 +9,11 @@

{% trans "Create new challenges" %}

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

+ {% trans "If your challenge is offline, then you don't have to ask us in advance." %}
+ {% trans "If your challenge is online (for example web or pwn), then you should give us a short description of what you want to do." %} + {% trans "We may be able to help you or to give you resources such as dockerfiles." %} + {% trans "We plan to make those resources publicly available in a near future." %}
diff --git a/src/resources/templates/resources/donate.html b/src/resources/templates/resources/donate.html new file mode 100644 index 0000000..fa0c2a6 --- /dev/null +++ b/src/resources/templates/resources/donate.html @@ -0,0 +1,53 @@ +{% extends 'base.html' %} +{% block content %} +{% load i18n %} +{% get_current_language as lang %} +
+
+
+
+

{% trans "Donate" %}

+
+
+

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

+ {% trans "42CTF is a non-profit organization with a legal status under the french law (Association loi 1901)." %}
+ {% trans "You can support us by becoming a member and paying a fee of 15 euros." %}
+ {% trans "Membership is then granted for 1 year." %}

+ + {% trans "When you become a member, you gain the following advantages:" %}
+ - {% trans "A different color for your pseudo in the scoreboard, to let everyone know you're a member. (not yet implemented but coming soon)" %}
+ - {% trans "The possibility to play again past CTF, with challenges no longer available, in the form of private events with the people of your choice." %}
+ {% trans "Ex: you played Welcome CTF 2021, and want to play it again with your friends during one weekend." %} + {% trans "Or you didn't play Welcome CTF 2021 because you were not eligible." %} +

+ + {% trans "More advantages may come later, and you can submit us your ideas." %}
+ {% 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 "You can donate to 42CTF or pay your membership with the following means:" %}
+ + + + + + + Patreon + + + + + +
+ {% 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." %} + {% trans "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." %} + +
+
+
+ +
+{% endblock %} \ No newline at end of file diff --git a/src/resources/templates/resources/edit.html b/src/resources/templates/resources/edit.html new file mode 100644 index 0000000..c2c0a08 --- /dev/null +++ b/src/resources/templates/resources/edit.html @@ -0,0 +1,18 @@ +{% extends 'base.html' %} +{% block content %} +{% load i18n %} +{% get_current_language as lang %} +
+
+
+
+

{% 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 4cdd0d7..6e7b096 100644 --- a/src/resources/templates/resources/resources.html +++ b/src/resources/templates/resources/resources.html @@ -26,9 +26,9 @@
  • {% trans "Contribute" %}
  • {% trans "Create new challenges" %}
    - {% trans "Translate 42CTF" %}
    - {% trans "Edit this page" %}
    - {% trans "Donate" %} + {% trans "Translate 42CTF" %}
    + {% trans "Edit this page" %}
    + {% trans "Donate" %}
  • diff --git a/src/resources/templates/resources/translate.html b/src/resources/templates/resources/translate.html new file mode 100644 index 0000000..9d992ee --- /dev/null +++ b/src/resources/templates/resources/translate.html @@ -0,0 +1,23 @@ +{% extends 'base.html' %} +{% block content %} +{% load i18n %} +{% get_current_language as lang %} +
    +
    +
    +
    +

    {% trans "Translate 42CTF" %}

    +
    +
    + {% trans "42CTF source code is publicly available on this"%} github.
    + {% trans "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." %}

    + {% trans "We have a" %} wiki {% trans "describing how to translate pages with the Django internalization module." %}
    + {% trans "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 ;)" %} + {% trans "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." %}

    + {% trans "Don't hesitate to reach for help on" %} +
    +
    +
    + +
    +{% endblock %} \ No newline at end of file diff --git a/src/resources/urls.py b/src/resources/urls.py index c0f974d..9b57e19 100644 --- a/src/resources/urls.py +++ b/src/resources/urls.py @@ -8,4 +8,7 @@ urlpatterns = [ path('42ctf', views.ctf42, name='42ctf'), path('tools', views.tools, name='tools'), path('create_challenge', views.create_challenge, name='create_challenge'), + path('translate', views.translate, name='translate'), + path('edit', views.edit, name='edit'), + path('donate', views.donate, name='donate'), ] diff --git a/src/resources/views.py b/src/resources/views.py index 0603387..3bfbbc3 100644 --- a/src/resources/views.py +++ b/src/resources/views.py @@ -14,4 +14,13 @@ def tools(request): return render(request, 'resources/tools.html') def create_challenge(request): - return render(request, 'resources/create_challenge.html') \ No newline at end of file + return render(request, 'resources/create_challenge.html') + +def translate(request): + return render(request, 'resources/translate.html') + +def edit(request): + return render(request, 'resources/edit.html') + +def donate(request): + return render(request, 'resources/donate.html') \ No newline at end of file diff --git a/src/statics/img/paypal.png b/src/statics/img/paypal.png new file mode 100644 index 0000000000000000000000000000000000000000..2153c047fa3fcd89cf16bb96e828bd696c59c009 GIT binary patch literal 65344 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