participant edits by staff
This commit is contained in:
parent
af143a4fe3
commit
a7d7129f6f
|
@ -93,6 +93,13 @@ class TalkFilterForm(forms.Form):
|
|||
ParticipantForm = modelform_factory(Participant, fields=('name', 'email', 'biography'))
|
||||
|
||||
|
||||
class ParticipantStaffForm(ParticipantForm):
|
||||
class Meta(ParticipantForm.Meta):
|
||||
labels = {
|
||||
'name': _('Name'),
|
||||
}
|
||||
|
||||
|
||||
class UsersWidget(ModelSelect2MultipleWidget):
|
||||
model = User
|
||||
search_fields = [ '%s__icontains' % field for field in UserAdmin.search_fields ]
|
||||
|
|
|
@ -6,3 +6,8 @@ from .utils import is_staff
|
|||
class StaffRequiredMixin(UserPassesTestMixin):
|
||||
def test_func(self):
|
||||
return is_staff(self.request, self.request.user)
|
||||
|
||||
|
||||
class OnSiteMixin:
|
||||
def get_queryset(self):
|
||||
return super().get_queryset().filter(site=self.kwargs['conference'].site)
|
||||
|
|
|
@ -105,6 +105,9 @@ class Participant(PonyConfModel):
|
|||
|
||||
objects = ParticipantManager()
|
||||
|
||||
def get_absolute_url(self):
|
||||
return reverse('participant-details', kwargs={'participant_id': self.token})
|
||||
|
||||
class Meta:
|
||||
# A User can participe only once to a Conference (= Site)
|
||||
unique_together = ('site', 'email')
|
||||
|
|
|
@ -7,6 +7,8 @@
|
|||
|
||||
<h1>{{ participant }}</h1>
|
||||
|
||||
<p><a class="btn btn-success" href="{% url 'participant-edit' participant.token %}">{% trans "Edit" %}</a></p>
|
||||
|
||||
<h2>{% trans "Biography" %}</h2>
|
||||
<p>{{ participant.biography|linebreaksbr }}</p>
|
||||
|
||||
|
|
13
cfp/templates/cfp/staff/participant_form.html
Normal file
13
cfp/templates/cfp/staff/participant_form.html
Normal file
|
@ -0,0 +1,13 @@
|
|||
{% extends 'cfp/staff/base.html' %}
|
||||
{% load i18n crispy_forms_tags %}
|
||||
|
||||
{% block speakerstab %} class="active"{% endblock %}
|
||||
|
||||
{% block content %}
|
||||
|
||||
<h1>{% trans "Edit a speaker" %}</h1>
|
||||
|
||||
{% url 'participant-details' participant.token as cancel_url %}
|
||||
{% include '_form.html' %}
|
||||
|
||||
{% endblock %}
|
|
@ -15,9 +15,10 @@ urlpatterns = [
|
|||
url(r'^staff/talks/(?P<talk_id>[\w\-]+)/vote/(?P<score>[-+0-2]+)/$', views.talk_vote, name='talk-vote'),
|
||||
url(r'^staff/talks/(?P<talk_id>[\w\-]+)/accept/$', views.talk_decide, {'accept': True}, name='talk-accept'),
|
||||
url(r'^staff/talks/(?P<talk_id>[\w\-]+)/decline/$', views.talk_decide, {'accept': False}, name='talk-decline'),
|
||||
url(r'^staff/talks/(?P<talk_id>[\w\-]+)/edit/$', views.TalkEdit.as_view(), name='talk-edit'),
|
||||
url(r'^staff/talks/(?P<talk_id>[\w\-]+)/edit/$', views.TalkUpdate.as_view(), name='talk-edit'),
|
||||
url(r'^staff/speakers/$', views.participant_list, name='participant-list'),
|
||||
url(r'^staff/speakers/(?P<participant_id>[\w\-]+)/$', views.participant_details, name='participant-details'),
|
||||
url(r'^staff/speakers/(?P<participant_id>[\w\-]+)/edit/$', views.ParticipantUpdate.as_view(), name='participant-edit'),
|
||||
url(r'^staff/tracks/$', views.TrackList.as_view(), name='track-list'),
|
||||
url(r'^staff/tracks/add/$', views.TrackCreate.as_view(), name='track-add'),
|
||||
url(r'^staff/tracks/(?P<slug>[-\w]+)/edit/$', views.TrackUpdate.as_view(), name='track-edit'),
|
||||
|
|
19
cfp/views.py
19
cfp/views.py
|
@ -15,10 +15,10 @@ from functools import reduce
|
|||
from mailing.models import Message
|
||||
from mailing.forms import MessageForm
|
||||
from .decorators import staff_required
|
||||
from .mixins import StaffRequiredMixin
|
||||
from .mixins import StaffRequiredMixin, OnSiteMixin
|
||||
from .utils import is_staff
|
||||
from .models import Participant, Talk, TalkCategory, Vote, Track
|
||||
from .forms import TalkForm, TalkStaffForm, TalkFilterForm, ParticipantForm, ConferenceForm, CreateUserForm, STATUS_VALUES, TrackForm
|
||||
from .forms import TalkForm, TalkStaffForm, TalkFilterForm, ParticipantForm, ParticipantStaffForm, ConferenceForm, CreateUserForm, STATUS_VALUES, TrackForm
|
||||
|
||||
|
||||
def home(request, conference):
|
||||
|
@ -282,6 +282,14 @@ def participant_details(request, conference, participant_id):
|
|||
})
|
||||
|
||||
|
||||
class ParticipantUpdate(StaffRequiredMixin, OnSiteMixin, UpdateView):
|
||||
model = Participant
|
||||
slug_field = 'token'
|
||||
slug_url_kwarg = 'participant_id'
|
||||
form_class = ParticipantStaffForm
|
||||
template_name = 'cfp/staff/participant_form.html'
|
||||
|
||||
|
||||
@staff_required
|
||||
def conference(request, conference):
|
||||
form = ConferenceForm(request.POST or None, instance=conference)
|
||||
|
@ -325,12 +333,7 @@ You can now:
|
|||
})
|
||||
|
||||
|
||||
class OnSiteMixin:
|
||||
def get_queryset(self):
|
||||
return super().get_queryset().filter(site=self.kwargs['conference'].site)
|
||||
|
||||
|
||||
class TalkEdit(StaffRequiredMixin, OnSiteMixin, UpdateView):
|
||||
class TalkUpdate(StaffRequiredMixin, OnSiteMixin, UpdateView):
|
||||
model = Talk
|
||||
slug_field = 'token'
|
||||
slug_url_kwarg = 'talk_id'
|
||||
|
|
Binary file not shown.
|
@ -7,7 +7,7 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2017-08-11 21:21+0000\n"
|
||||
"POT-Creation-Date: 2017-08-11 22:51+0000\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
|
@ -95,19 +95,20 @@ msgid "Contact"
|
|||
msgstr "Contacter"
|
||||
|
||||
#: accounts/templates/accounts/participant_details.html:15
|
||||
#: cfp/templates/cfp/staff/participant_details.html:10
|
||||
#: cfp/templates/cfp/staff/talk_details.html:10
|
||||
#: proposals/templates/proposals/talk_detail.html:16
|
||||
msgid "Edit"
|
||||
msgstr "Éditer"
|
||||
|
||||
#: accounts/templates/accounts/participant_details.html:20 cfp/models.py:86
|
||||
#: cfp/templates/cfp/staff/participant_details.html:10
|
||||
#: cfp/templates/cfp/staff/participant_details.html:12
|
||||
msgid "Biography"
|
||||
msgstr "Biographie"
|
||||
|
||||
#: accounts/templates/accounts/participant_details.html:27
|
||||
#: cfp/templates/cfp/staff/base.html:18
|
||||
#: cfp/templates/cfp/staff/participant_details.html:31
|
||||
#: cfp/templates/cfp/staff/participant_details.html:33
|
||||
#: cfp/templates/cfp/staff/talk_list.html:8
|
||||
#: proposals/templates/proposals/talk_list.html:9
|
||||
msgid "Talks"
|
||||
|
@ -174,7 +175,7 @@ msgid "Constraints"
|
|||
msgstr "Contraintes"
|
||||
|
||||
#: accounts/templates/accounts/participant_details.html:71 cfp/forms.py:53
|
||||
#: cfp/models.py:100 cfp/templates/cfp/staff/participant_details.html:14
|
||||
#: cfp/models.py:100 cfp/templates/cfp/staff/participant_details.html:16
|
||||
#: cfp/templates/cfp/staff/talk_details.html:92 proposals/models.py:161
|
||||
#: proposals/templates/proposals/talk_detail.html:102
|
||||
msgid "Notes"
|
||||
|
@ -194,12 +195,10 @@ msgid "View conversation"
|
|||
msgstr "Afficher la discussion"
|
||||
|
||||
#: accounts/templates/accounts/participant_list.html:31
|
||||
#: conversations/templates/conversations/correspondent_list.html:27
|
||||
msgid "Unsubscribe from the conversation"
|
||||
msgstr "Se désabonner de la discussion"
|
||||
|
||||
#: accounts/templates/accounts/participant_list.html:35
|
||||
#: conversations/templates/conversations/correspondent_list.html:29
|
||||
msgid "Subscribe to the conversation"
|
||||
msgstr "S’abonner à la discussion"
|
||||
|
||||
|
@ -312,7 +311,7 @@ msgstr "Catégorie"
|
|||
msgid "Title"
|
||||
msgstr "Titre"
|
||||
|
||||
#: cfp/forms.py:52 cfp/models.py:156
|
||||
#: cfp/forms.py:52 cfp/models.py:159
|
||||
#: cfp/templates/cfp/staff/talk_details.html:71 proposals/models.py:54
|
||||
#: proposals/models.py:77 proposals/models.py:158
|
||||
#: proposals/templates/proposals/talk_detail.html:72 volunteers/models.py:14
|
||||
|
@ -330,7 +329,7 @@ msgstr "Visible par les orateurs"
|
|||
msgid "Status"
|
||||
msgstr "Statut"
|
||||
|
||||
#: cfp/forms.py:74 cfp/models.py:258
|
||||
#: cfp/forms.py:74 cfp/models.py:261
|
||||
#: cfp/templates/cfp/staff/talk_details.html:85
|
||||
#: cfp/templates/cfp/staff/talk_list.html:41
|
||||
#: cfp/templates/cfp/staff/track_form.html:14 proposals/models.py:160
|
||||
|
@ -356,17 +355,23 @@ msgstr ""
|
|||
msgid "Not assigned"
|
||||
msgstr "Pas encore assignée."
|
||||
|
||||
#: cfp/forms.py:109
|
||||
#: cfp/forms.py:99 cfp/models.py:157
|
||||
#: cfp/templates/cfp/staff/participant_list.html:49 proposals/models.py:52
|
||||
#: proposals/models.py:75 proposals/models.py:132 volunteers/models.py:12
|
||||
msgid "Name"
|
||||
msgstr "Nom"
|
||||
|
||||
#: cfp/forms.py:116
|
||||
msgid "New staff members will be informed of their new position by e-mail."
|
||||
msgstr ""
|
||||
"Les nouveaux membres du staff seront informés de leur nouveau rôle par "
|
||||
"courrier électronique."
|
||||
|
||||
#: cfp/forms.py:129
|
||||
#: cfp/forms.py:136
|
||||
msgid "An user with that firstname and that lastname already exists."
|
||||
msgstr "Un utilisateur avec ce prénom et ce nom existe déjà."
|
||||
|
||||
#: cfp/forms.py:134
|
||||
#: cfp/forms.py:141
|
||||
msgid "A user with that email already exists."
|
||||
msgstr "Un utilisateur avec cet email existe déjà."
|
||||
|
||||
|
@ -419,25 +424,19 @@ msgstr "Votre Nom"
|
|||
msgid "This field is only visible by organizers."
|
||||
msgstr "Ce champs est uniquement visible par les organisateurs."
|
||||
|
||||
#: cfp/models.py:154 cfp/templates/cfp/staff/participant_list.html:49
|
||||
#: proposals/models.py:52 proposals/models.py:75 proposals/models.py:132
|
||||
#: volunteers/models.py:12
|
||||
msgid "Name"
|
||||
msgstr "Nom"
|
||||
|
||||
#: cfp/models.py:177 proposals/models.py:96
|
||||
#: cfp/models.py:180 proposals/models.py:96
|
||||
msgid "Default duration (min)"
|
||||
msgstr "Durée par défaut (min)"
|
||||
|
||||
#: cfp/models.py:178 proposals/models.py:97
|
||||
#: cfp/models.py:181 proposals/models.py:97
|
||||
msgid "Color on program"
|
||||
msgstr "Couleur sur le programme"
|
||||
|
||||
#: cfp/models.py:179 proposals/models.py:98
|
||||
#: cfp/models.py:182 proposals/models.py:98
|
||||
msgid "Label on program"
|
||||
msgstr "Label dans le xml du programme"
|
||||
|
||||
#: cfp/models.py:253 cfp/templates/cfp/staff/base.html:19
|
||||
#: cfp/models.py:256 cfp/templates/cfp/staff/base.html:19
|
||||
#: cfp/templates/cfp/staff/participant_list.html:8
|
||||
#: cfp/templates/cfp/staff/talk_details.html:75
|
||||
#: cfp/templates/cfp/staff/talk_list.html:40 proposals/models.py:154
|
||||
|
@ -447,19 +446,19 @@ msgstr "Label dans le xml du programme"
|
|||
msgid "Speakers"
|
||||
msgstr "Orateurs"
|
||||
|
||||
#: cfp/models.py:254
|
||||
#: cfp/models.py:257
|
||||
msgid "Talk Title"
|
||||
msgstr "Titre de votre proposition:"
|
||||
|
||||
#: cfp/models.py:257
|
||||
#: cfp/models.py:260
|
||||
msgid "Description of your talk"
|
||||
msgstr "Description de votre proposition"
|
||||
|
||||
#: cfp/models.py:259
|
||||
#: cfp/models.py:262
|
||||
msgid "Message to organizers"
|
||||
msgstr "Message aux organisateurs"
|
||||
|
||||
#: cfp/models.py:259
|
||||
#: cfp/models.py:262
|
||||
msgid ""
|
||||
"If you have any constraint or if you have anything that may help you to "
|
||||
"select your talk, like a video or slides of your talk, please write it down "
|
||||
|
@ -469,23 +468,23 @@ msgstr ""
|
|||
"votre proposition, comme une vidéo, des slides, n'hésitez pas à les ajouter "
|
||||
"ici."
|
||||
|
||||
#: cfp/models.py:260
|
||||
#: cfp/models.py:263
|
||||
msgid "Talk Category"
|
||||
msgstr "Catégorie de proposition"
|
||||
|
||||
#: cfp/models.py:261
|
||||
#: cfp/models.py:264
|
||||
msgid "I'm ok to be recorded on video"
|
||||
msgstr "J’accepte d’être enregistré en vidéo"
|
||||
|
||||
#: cfp/models.py:262
|
||||
#: cfp/models.py:265
|
||||
msgid "Video licence"
|
||||
msgstr "Licence vidéo"
|
||||
|
||||
#: cfp/models.py:263
|
||||
#: cfp/models.py:266
|
||||
msgid "I need sound"
|
||||
msgstr "J’ai besoin de son"
|
||||
|
||||
#: cfp/models.py:266 proposals/models.py:165
|
||||
#: cfp/models.py:269 proposals/models.py:165
|
||||
msgid "Duration (min)"
|
||||
msgstr "Durée (min)"
|
||||
|
||||
|
@ -568,52 +567,52 @@ msgstr "Veuillez sélectionner une catégorie."
|
|||
msgid "Add a new user"
|
||||
msgstr "Ajouter un nouvel utilisateur"
|
||||
|
||||
#: cfp/templates/cfp/staff/participant_details.html:18
|
||||
#: cfp/templates/cfp/staff/participant_details.html:20
|
||||
msgid "Informations"
|
||||
msgstr "Informations"
|
||||
|
||||
#: cfp/templates/cfp/staff/participant_details.html:20
|
||||
#: cfp/templates/cfp/staff/participant_details.html:22
|
||||
msgid "E-mail:"
|
||||
msgstr "E-mail :"
|
||||
|
||||
#: cfp/templates/cfp/staff/participant_details.html:21
|
||||
#: cfp/templates/cfp/staff/participant_details.html:23
|
||||
msgid "Twitter:"
|
||||
msgstr "Twitter :"
|
||||
|
||||
#: cfp/templates/cfp/staff/participant_details.html:22
|
||||
#: cfp/templates/cfp/staff/participant_details.html:24
|
||||
msgid "LinkedIn:"
|
||||
msgstr "LinkedIn :"
|
||||
|
||||
#: cfp/templates/cfp/staff/participant_details.html:23
|
||||
#: cfp/templates/cfp/staff/participant_details.html:25
|
||||
msgid "Github:"
|
||||
msgstr "Github :"
|
||||
|
||||
#: cfp/templates/cfp/staff/participant_details.html:24
|
||||
#: cfp/templates/cfp/staff/participant_details.html:26
|
||||
msgid "Website:"
|
||||
msgstr "Website :"
|
||||
|
||||
#: cfp/templates/cfp/staff/participant_details.html:25
|
||||
#: cfp/templates/cfp/staff/participant_details.html:27
|
||||
msgid "Facebook:"
|
||||
msgstr "Facebook :"
|
||||
|
||||
#: cfp/templates/cfp/staff/participant_details.html:26
|
||||
#: cfp/templates/cfp/staff/participant_details.html:28
|
||||
msgid "Mastodon:"
|
||||
msgstr "Mastodon :"
|
||||
|
||||
#: cfp/templates/cfp/staff/participant_details.html:27
|
||||
#: cfp/templates/cfp/staff/participant_details.html:29
|
||||
msgid "Phone number:"
|
||||
msgstr "Numéro de téléphone :"
|
||||
|
||||
#: cfp/templates/cfp/staff/participant_details.html:28
|
||||
#: cfp/templates/cfp/staff/participant_details.html:30
|
||||
msgid "Language:"
|
||||
msgstr "Langue :"
|
||||
|
||||
#: cfp/templates/cfp/staff/participant_details.html:38
|
||||
#: cfp/templates/cfp/staff/participant_details.html:40
|
||||
#: proposals/templates/proposals/_talk_list.html:8
|
||||
msgid "by"
|
||||
msgstr "par"
|
||||
|
||||
#: cfp/templates/cfp/staff/participant_details.html:41
|
||||
#: cfp/templates/cfp/staff/participant_details.html:43
|
||||
#: cfp/templates/cfp/staff/talk_list.html:57
|
||||
#: proposals/templates/proposals/_talk_list.html:11
|
||||
#: proposals/templates/proposals/_talk_list.html:17
|
||||
|
@ -621,23 +620,22 @@ msgstr "par"
|
|||
msgid "and"
|
||||
msgstr "et"
|
||||
|
||||
#: cfp/templates/cfp/staff/participant_details.html:44
|
||||
#: cfp/templates/cfp/staff/participant_details.html:46
|
||||
#: proposals/templates/proposals/_talk_list.html:14
|
||||
msgid "in"
|
||||
msgstr "dans la session"
|
||||
|
||||
#: cfp/templates/cfp/staff/participant_details.html:50
|
||||
#: cfp/templates/cfp/staff/participant_details.html:52
|
||||
#: proposals/templates/proposals/_talk_list.html:23
|
||||
msgid "No talks"
|
||||
msgstr "Aucun exposé"
|
||||
|
||||
#: cfp/templates/cfp/staff/participant_details.html:53
|
||||
#: cfp/templates/cfp/staff/participant_details.html:55
|
||||
#: cfp/templates/cfp/staff/talk_details.html:133
|
||||
#: conversations/templates/conversations/inbox.html:9
|
||||
msgid "Messaging"
|
||||
msgstr "Messagerie"
|
||||
|
||||
#: cfp/templates/cfp/staff/participant_details.html:57
|
||||
#: cfp/templates/cfp/staff/participant_details.html:59
|
||||
msgid ""
|
||||
"Send a message – <em>this message will be received by this participant and "
|
||||
"all the staff team</em>"
|
||||
|
@ -645,6 +643,10 @@ msgstr ""
|
|||
"Envoyer un message – <em>ce message sera reçu par le participant et l’équipe "
|
||||
"d’organisation</em>"
|
||||
|
||||
#: cfp/templates/cfp/staff/participant_form.html:8
|
||||
msgid "Edit a speaker"
|
||||
msgstr "Éditer un orateur"
|
||||
|
||||
#: cfp/templates/cfp/staff/participant_list.html:45
|
||||
#: cfp/templates/cfp/staff/talk_list.html:33
|
||||
#: proposals/templates/proposals/speaker_list.html:44
|
||||
|
@ -876,7 +878,7 @@ msgstr ""
|
|||
"{}\n"
|
||||
"\n"
|
||||
|
||||
#: cfp/views.py:218 cfp/views.py:278 conversations/views.py:40
|
||||
#: cfp/views.py:218 cfp/views.py:278
|
||||
msgid "Message sent!"
|
||||
msgstr "Message envoyé !"
|
||||
|
||||
|
@ -900,11 +902,11 @@ msgstr "L’exposé a été décliné."
|
|||
msgid "Decision taken in account"
|
||||
msgstr "Décision enregistrée"
|
||||
|
||||
#: cfp/views.py:298
|
||||
#: cfp/views.py:306
|
||||
msgid "[{}] You have been added to the staff team"
|
||||
msgstr "[{}] Vous avez été ajouté aux membres du staff"
|
||||
|
||||
#: cfp/views.py:299
|
||||
#: cfp/views.py:307
|
||||
msgid ""
|
||||
"Hi {},\n"
|
||||
"\n"
|
||||
|
@ -928,46 +930,23 @@ msgstr ""
|
|||
"{}\n"
|
||||
"\n"
|
||||
|
||||
#: cfp/views.py:320
|
||||
#: cfp/views.py:328
|
||||
msgid "Modifications successfully saved."
|
||||
msgstr "Modification enregistrée avec succès."
|
||||
|
||||
#: cfp/views.py:384
|
||||
#: cfp/views.py:387
|
||||
msgid "User created successfully."
|
||||
msgstr "Utilisateur créé avec succès."
|
||||
|
||||
#: conversations/templates/conversations/_message_form.html:4
|
||||
msgid "Send a message"
|
||||
msgstr "Envoyer un message"
|
||||
|
||||
#: conversations/templates/conversations/_message_form.html:12
|
||||
#: mailing/templates/mailing/_message_form.html:13
|
||||
msgid "Send"
|
||||
msgstr "Envoyer"
|
||||
|
||||
#: conversations/templates/conversations/conversation.html:9
|
||||
#, python-format
|
||||
msgid "Conversation with %(correspondent)s"
|
||||
msgstr "Conversation avec %(correspondent)s"
|
||||
|
||||
#: conversations/templates/conversations/correspondent_list.html:9
|
||||
msgid "Correspondents"
|
||||
msgstr "Correspondants"
|
||||
|
||||
#: conversations/templates/conversations/correspondent_list.html:10
|
||||
msgid "This is the list of participants that you follow."
|
||||
msgstr "Ceci est la liste des participants que vous suivez."
|
||||
|
||||
#: conversations/templates/conversations/inbox.html:10
|
||||
msgid "You can use this page to communicate with the staff."
|
||||
msgstr ""
|
||||
"Vous pouvez utiliser cette page pour communiquer avec l’équipe organisatrice."
|
||||
|
||||
#: mailing/models.py:93
|
||||
#, python-format
|
||||
msgid "Message from %(author)s"
|
||||
msgstr "Message de %(author)s"
|
||||
|
||||
#: mailing/templates/mailing/_message_form.html:13
|
||||
msgid "Send"
|
||||
msgstr "Envoyer"
|
||||
|
||||
#: mailing/templates/mailing/_message_list.html:13
|
||||
msgid "No messages."
|
||||
msgstr "Aucun message."
|
||||
|
@ -1429,5 +1408,22 @@ msgstr "Bénévoles"
|
|||
msgid "volunteer"
|
||||
msgstr "bénévole"
|
||||
|
||||
#~ msgid "Send a message"
|
||||
#~ msgstr "Envoyer un message"
|
||||
|
||||
#~ msgid "Conversation with %(correspondent)s"
|
||||
#~ msgstr "Conversation avec %(correspondent)s"
|
||||
|
||||
#~ msgid "Correspondents"
|
||||
#~ msgstr "Correspondants"
|
||||
|
||||
#~ msgid "This is the list of participants that you follow."
|
||||
#~ msgstr "Ceci est la liste des participants que vous suivez."
|
||||
|
||||
#~ msgid "You can use this page to communicate with the staff."
|
||||
#~ msgstr ""
|
||||
#~ "Vous pouvez utiliser cette page pour communiquer avec l’équipe "
|
||||
#~ "organisatrice."
|
||||
|
||||
#~ msgid "Your talk \"{}\" has been submitted for {}"
|
||||
#~ msgstr "Votre proposition \"{}\" a été transmise à {}"
|
||||
|
|
Loading…
Reference in New Issue
Block a user