volunteers: link to user
This commit is contained in:
parent
41f745384f
commit
da785bd510
|
@ -5,7 +5,7 @@ from django.shortcuts import get_object_or_404
|
||||||
from functools import wraps
|
from functools import wraps
|
||||||
|
|
||||||
from cfp.utils import is_staff
|
from cfp.utils import is_staff
|
||||||
from cfp.models import Participant
|
from cfp.models import Participant, Volunteer
|
||||||
|
|
||||||
|
|
||||||
def speaker_required(view_func):
|
def speaker_required(view_func):
|
||||||
|
@ -22,6 +22,20 @@ def speaker_required(view_func):
|
||||||
return wraps(view_func)(wrapped_view)
|
return wraps(view_func)(wrapped_view)
|
||||||
|
|
||||||
|
|
||||||
|
def volunteer_required(view_func):
|
||||||
|
def wrapped_view(request, **kwargs):
|
||||||
|
volunteer_token = kwargs.pop('volunteer_token')
|
||||||
|
if volunteer_token:
|
||||||
|
volunteer = get_object_or_404(Volunteer, site=request.conference.site, token=volunteer_token)
|
||||||
|
elif request.user.is_authenticated():
|
||||||
|
volunteer = get_object_or_404(Volunteer, site=request.conference.site, email=request.user.email)
|
||||||
|
else:
|
||||||
|
raise PermissionDenied
|
||||||
|
kwargs['volunteer'] = volunteer
|
||||||
|
return view_func(request, **kwargs)
|
||||||
|
return wraps(view_func)(wrapped_view)
|
||||||
|
|
||||||
|
|
||||||
def staff_required(view_func):
|
def staff_required(view_func):
|
||||||
def _is_staff(request, *args, **kwargs):
|
def _is_staff(request, *args, **kwargs):
|
||||||
if not request.user.is_authenticated():
|
if not request.user.is_authenticated():
|
||||||
|
|
|
@ -115,7 +115,6 @@ class Participant(PonyConfModel):
|
||||||
|
|
||||||
objects = ParticipantManager()
|
objects = ParticipantManager()
|
||||||
|
|
||||||
|
|
||||||
def get_absolute_url(self):
|
def get_absolute_url(self):
|
||||||
return reverse('participant-details', kwargs=dict(participant_id=self.token))
|
return reverse('participant-details', kwargs=dict(participant_id=self.token))
|
||||||
|
|
||||||
|
@ -434,10 +433,10 @@ class Volunteer(PonyConfModel):
|
||||||
conversation = models.OneToOneField(MessageThread)
|
conversation = models.OneToOneField(MessageThread)
|
||||||
|
|
||||||
def get_absolute_url(self):
|
def get_absolute_url(self):
|
||||||
return reverse('volunteer-home', kwargs={'volunteer_id': self.token})
|
return reverse('volunteer-details', kwargs=dict(volunteer_id=self.pk))
|
||||||
|
|
||||||
def get_secret_url(self, full=False):
|
def get_secret_url(self, full=False):
|
||||||
url = reverse('volunteer-home', kwargs={'volunteer_id': self.token})
|
url = reverse('volunteer-home', kwargs=dict(volunteer_token=self.token))
|
||||||
if full:
|
if full:
|
||||||
url = ('https' if self.site.conference.secure_domain else 'http') + '://' + self.site.domain + url
|
url = ('https' if self.site.conference.secure_domain else 'http') + '://' + self.site.domain + url
|
||||||
return url
|
return url
|
||||||
|
|
|
@ -8,12 +8,14 @@
|
||||||
<h1>{% trans "Volunteer" %} <b>{{ volunteer.name }}</b></h1>
|
<h1>{% trans "Volunteer" %} <b>{{ volunteer.name }}</b></h1>
|
||||||
|
|
||||||
<dl class="dl-horizontal">
|
<dl class="dl-horizontal">
|
||||||
<dt>{% trans "Email" %}</dt>
|
<dt>{% trans "Email:" %}</dt>
|
||||||
<dd><a href="mailto:{{ volunteer.email }}">{{ volunteer.email }}</a></dd>
|
<dd><a href="mailto:{{ volunteer.email }}">{{ volunteer.email }}</a></dd>
|
||||||
{% if volunteer.phone_number %}
|
{% if volunteer.phone_number %}
|
||||||
<dt>{% trans "Phone number" %}</dt>
|
<dt>{% trans "Phone number:" %}</dt>
|
||||||
<dd><a href="tel:{{ volunteer.phone_number }}">{{ volunteer.phone_number }}</a>{% if volunteer.sms_prefered %} (SMS){% endif %}</dd>
|
<dd><a href="tel:{{ volunteer.phone_number }}">{{ volunteer.phone_number }}</a>{% if volunteer.sms_prefered %} (SMS){% endif %}</dd>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
<dt>{% trans "Secret link:" %}</dt>
|
||||||
|
<dd><a href="{{ volunteer.get_secret_url }}">{{ volunteer.token }}</a></dd>
|
||||||
</dl>
|
</dl>
|
||||||
|
|
||||||
{% if volunteer.notes %}
|
{% if volunteer.notes %}
|
||||||
|
|
|
@ -16,9 +16,9 @@
|
||||||
<p>{{ activity.description }}</p>
|
<p>{{ activity.description }}</p>
|
||||||
<p>
|
<p>
|
||||||
{% if volunteer not in activity.volunteers.all %}
|
{% if volunteer not in activity.volunteers.all %}
|
||||||
<a class="btn btn-primary" href="{% url 'volunteer-join' volunteer_id=volunteer.token activity=activity.slug %}">{% trans "I will be happy to help on that!" %}</a>
|
<a class="btn btn-primary" href="{% url 'volunteer-join' volunteer_token=volunteer.token activity=activity.slug %}">{% trans "I will be happy to help on that!" %}</a>
|
||||||
{% else %}
|
{% else %}
|
||||||
<a class="btn btn-danger" href="{% url 'volunteer-quit' volunteer_id=volunteer.token activity=activity.slug %}">{% trans "Sorry, I have a setback" %}</a>
|
<a class="btn btn-danger" href="{% url 'volunteer-quit' volunteer_token=volunteer.token activity=activity.slug %}">{% trans "Sorry, I have a setback" %}</a>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
</p>
|
</p>
|
||||||
</p>
|
</p>
|
||||||
|
|
|
@ -28,9 +28,9 @@ urlpatterns = [
|
||||||
url(r'^cfp/(?P<talk_id>[\w\-]+)/(?P<participant_id>[\w\-]+)/desist/$', views.talk_acknowledgment, {'confirm': False}, name='talk-desist'),
|
url(r'^cfp/(?P<talk_id>[\w\-]+)/(?P<participant_id>[\w\-]+)/desist/$', views.talk_acknowledgment, {'confirm': False}, name='talk-desist'),
|
||||||
# End backward compatibility
|
# End backward compatibility
|
||||||
url(r'^volunteer/$', views.volunteer_enrole, name='volunteer-enrole'),
|
url(r'^volunteer/$', views.volunteer_enrole, name='volunteer-enrole'),
|
||||||
url(r'^volunteer/(?P<volunteer_id>[\w\-]+)/$', views.volunteer_home, name='volunteer-home'),
|
url(r'^volunteer/(?P<volunteer_token>[\w\-]+)/$', views.volunteer_home, name='volunteer-home'),
|
||||||
url(r'^volunteer/(?P<volunteer_id>[\w\-]+)/join/(?P<activity>[\w\-]+)/$', views.volunteer_update_activity, {'join': True}, name='volunteer-join'),
|
url(r'^volunteer/(?P<volunteer_token>[\w\-]+)/join/(?P<activity>[\w\-]+)/$', views.volunteer_update_activity, {'join': True}, name='volunteer-join'),
|
||||||
url(r'^volunteer/(?P<volunteer_id>[\w\-]+)/quit/(?P<activity>[\w\-]+)/$', views.volunteer_update_activity, {'join': False}, name='volunteer-quit'),
|
url(r'^volunteer/(?P<volunteer_token>[\w\-]+)/quit/(?P<activity>[\w\-]+)/$', views.volunteer_update_activity, {'join': False}, name='volunteer-quit'),
|
||||||
#url(r'^talk/(?P<talk_id>[\w\-]+)/$', views.talk_show, name='show-talk'),
|
#url(r'^talk/(?P<talk_id>[\w\-]+)/$', views.talk_show, name='show-talk'),
|
||||||
#url(r'^speaker/(?P<participant_id>[\w\-]+)/$', views.speaker_show, name='show-speaker'),
|
#url(r'^speaker/(?P<participant_id>[\w\-]+)/$', views.speaker_show, name='show-speaker'),
|
||||||
url(r'^staff/$', views.staff, name='staff'),
|
url(r'^staff/$', views.staff, name='staff'),
|
||||||
|
|
16
cfp/views.py
16
cfp/views.py
|
@ -21,7 +21,7 @@ from functools import reduce
|
||||||
from mailing.models import Message
|
from mailing.models import Message
|
||||||
from mailing.forms import MessageForm
|
from mailing.forms import MessageForm
|
||||||
from .planning import Program
|
from .planning import Program
|
||||||
from .decorators import speaker_required, staff_required
|
from .decorators import speaker_required, volunteer_required, staff_required
|
||||||
from .mixins import StaffRequiredMixin, OnSiteMixin, OnSiteFormMixin
|
from .mixins import StaffRequiredMixin, OnSiteMixin, OnSiteFormMixin
|
||||||
from .utils import is_staff
|
from .utils import is_staff
|
||||||
from .models import Participant, Talk, TalkCategory, Vote, Track, Tag, Room, Volunteer, Activity
|
from .models import Participant, Talk, TalkCategory, Vote, Track, Tag, Room, Volunteer, Activity
|
||||||
|
@ -73,25 +73,23 @@ Thanks!
|
||||||
recipient_list=['%s <%s>' % (volunteer.name, volunteer.email)],
|
recipient_list=['%s <%s>' % (volunteer.name, volunteer.email)],
|
||||||
)
|
)
|
||||||
messages.success(request, _('Thank you for your participation! You can now subscribe to some activities.'))
|
messages.success(request, _('Thank you for your participation! You can now subscribe to some activities.'))
|
||||||
return redirect(reverse('volunteer-home', kwargs=dict(volunteer_id=volunteer.token)))
|
return redirect(reverse('volunteer-home', kwargs=dict(volunteer_token=volunteer.token)))
|
||||||
return render(request, 'cfp/volunteer_enrole.html', {
|
return render(request, 'cfp/volunteer_enrole.html', {
|
||||||
'activities': Activity.objects.filter(site=request.conference.site),
|
'activities': Activity.objects.filter(site=request.conference.site),
|
||||||
'form': form,
|
'form': form,
|
||||||
})
|
})
|
||||||
|
|
||||||
|
|
||||||
def volunteer_home(request, volunteer_id):
|
@volunteer_required
|
||||||
volunteer = get_object_or_404(Volunteer, token=volunteer_id, site=request.conference.site)
|
def volunteer_home(request, volunteer):
|
||||||
return render(request, 'cfp/volunteer.html', {
|
return render(request, 'cfp/volunteer.html', {
|
||||||
'activities': Activity.objects.filter(site=request.conference.site),
|
'activities': Activity.objects.filter(site=request.conference.site),
|
||||||
'volunteer': volunteer,
|
'volunteer': volunteer,
|
||||||
})
|
})
|
||||||
|
|
||||||
|
|
||||||
def volunteer_update_activity(request, volunteer_id, activity, join):
|
@volunteer_required
|
||||||
if not request.conference.volunteers_enrollment_is_open():
|
def volunteer_update_activity(request, volunteer, activity, join):
|
||||||
raise PermissionDenied
|
|
||||||
volunteer = get_object_or_404(Volunteer, token=volunteer_id, site=request.conference.site)
|
|
||||||
activity = get_object_or_404(Activity, slug=activity, site=request.conference.site)
|
activity = get_object_or_404(Activity, slug=activity, site=request.conference.site)
|
||||||
if join:
|
if join:
|
||||||
activity.volunteers.add(volunteer)
|
activity.volunteers.add(volunteer)
|
||||||
|
@ -101,7 +99,7 @@ def volunteer_update_activity(request, volunteer_id, activity, join):
|
||||||
activity.volunteers.remove(volunteer)
|
activity.volunteers.remove(volunteer)
|
||||||
activity.save()
|
activity.save()
|
||||||
messages.success(request, _('Okay, no problem!'))
|
messages.success(request, _('Okay, no problem!'))
|
||||||
return redirect(reverse('volunteer-home', kwargs=dict(volunteer_id=volunteer.token)))
|
return redirect(reverse('volunteer-home', kwargs=dict(volunteer_token=volunteer.token)))
|
||||||
|
|
||||||
|
|
||||||
@staff_required
|
@staff_required
|
||||||
|
|
Binary file not shown.
|
@ -7,8 +7,8 @@ msgid ""
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: \n"
|
"Project-Id-Version: \n"
|
||||||
"Report-Msgid-Bugs-To: \n"
|
"Report-Msgid-Bugs-To: \n"
|
||||||
"POT-Creation-Date: 2017-11-04 20:04+0000\n"
|
"POT-Creation-Date: 2017-11-06 20:28+0000\n"
|
||||||
"PO-Revision-Date: 2017-11-04 21:12+0100\n"
|
"PO-Revision-Date: 2017-11-06 21:30+0100\n"
|
||||||
"Last-Translator: \n"
|
"Last-Translator: \n"
|
||||||
"Language-Team: \n"
|
"Language-Team: \n"
|
||||||
"Language: fr\n"
|
"Language: fr\n"
|
||||||
|
@ -22,7 +22,7 @@ msgstr ""
|
||||||
msgid "Pending decision"
|
msgid "Pending decision"
|
||||||
msgstr "Décision en attente"
|
msgstr "Décision en attente"
|
||||||
|
|
||||||
#: cfp/forms.py:18 cfp/forms.py:124 cfp/forms.py:236
|
#: cfp/forms.py:18 cfp/forms.py:124 cfp/forms.py:221
|
||||||
msgid "Accepted"
|
msgid "Accepted"
|
||||||
msgstr "Accepté"
|
msgstr "Accepté"
|
||||||
|
|
||||||
|
@ -34,15 +34,15 @@ msgstr "Décliné"
|
||||||
msgid "Waiting"
|
msgid "Waiting"
|
||||||
msgstr "En attente"
|
msgstr "En attente"
|
||||||
|
|
||||||
#: cfp/forms.py:29 cfp/forms.py:130 cfp/forms.py:242 cfp/models.py:357
|
#: cfp/forms.py:29 cfp/forms.py:130 cfp/forms.py:227 cfp/models.py:360
|
||||||
msgid "Confirmed"
|
msgid "Confirmed"
|
||||||
msgstr "Confirmé"
|
msgstr "Confirmé"
|
||||||
|
|
||||||
#: cfp/forms.py:30 cfp/models.py:359
|
#: cfp/forms.py:30 cfp/models.py:362
|
||||||
msgid "Cancelled"
|
msgid "Cancelled"
|
||||||
msgstr "Annulé"
|
msgstr "Annulé"
|
||||||
|
|
||||||
#: cfp/forms.py:62 cfp/models.py:452
|
#: cfp/forms.py:62 cfp/models.py:461
|
||||||
msgid "Activity"
|
msgid "Activity"
|
||||||
msgstr "Activité"
|
msgstr "Activité"
|
||||||
|
|
||||||
|
@ -56,7 +56,7 @@ msgstr "Aucune"
|
||||||
msgid "Default duration: %(duration)d min"
|
msgid "Default duration: %(duration)d min"
|
||||||
msgstr "Durée par défaut : %(duration)d min"
|
msgstr "Durée par défaut : %(duration)d min"
|
||||||
|
|
||||||
#: cfp/forms.py:106 cfp/forms.py:118 cfp/forms.py:230
|
#: cfp/forms.py:106 cfp/forms.py:118 cfp/forms.py:215
|
||||||
#: cfp/templates/cfp/staff/talk_details.html:15
|
#: cfp/templates/cfp/staff/talk_details.html:15
|
||||||
msgid "Category"
|
msgid "Category"
|
||||||
msgstr "Catégorie"
|
msgstr "Catégorie"
|
||||||
|
@ -65,16 +65,16 @@ msgstr "Catégorie"
|
||||||
msgid "Title"
|
msgid "Title"
|
||||||
msgstr "Titre"
|
msgstr "Titre"
|
||||||
|
|
||||||
#: cfp/forms.py:108 cfp/models.py:151 cfp/models.py:447
|
#: cfp/forms.py:108 cfp/models.py:154 cfp/models.py:456
|
||||||
#: cfp/templates/cfp/proposal_talk_details.html:73
|
#: cfp/templates/cfp/proposal_talk_details.html:75
|
||||||
#: cfp/templates/cfp/staff/talk_details.html:64
|
#: cfp/templates/cfp/staff/talk_details.html:64
|
||||||
msgid "Description"
|
msgid "Description"
|
||||||
msgstr "Description"
|
msgstr "Description"
|
||||||
|
|
||||||
#: cfp/forms.py:109 cfp/models.py:111 cfp/models.py:428
|
#: cfp/forms.py:109 cfp/models.py:111 cfp/models.py:431
|
||||||
#: cfp/templates/cfp/staff/participant_details.html:19
|
#: cfp/templates/cfp/staff/participant_details.html:19
|
||||||
#: cfp/templates/cfp/staff/talk_details.html:78
|
#: cfp/templates/cfp/staff/talk_details.html:78
|
||||||
#: cfp/templates/cfp/staff/volunteer_details.html:20
|
#: cfp/templates/cfp/staff/volunteer_details.html:22
|
||||||
msgid "Notes"
|
msgid "Notes"
|
||||||
msgstr "Notes"
|
msgstr "Notes"
|
||||||
|
|
||||||
|
@ -82,7 +82,7 @@ msgstr "Notes"
|
||||||
msgid "Visible by speakers"
|
msgid "Visible by speakers"
|
||||||
msgstr "Visible par les orateurs"
|
msgstr "Visible par les orateurs"
|
||||||
|
|
||||||
#: cfp/forms.py:136 cfp/forms.py:248 cfp/models.py:314
|
#: cfp/forms.py:136 cfp/forms.py:233 cfp/models.py:317
|
||||||
#: cfp/templates/cfp/staff/talk_details.html:21
|
#: cfp/templates/cfp/staff/talk_details.html:21
|
||||||
#: cfp/templates/cfp/staff/talk_list.html:46
|
#: cfp/templates/cfp/staff/talk_list.html:46
|
||||||
#: cfp/templates/cfp/staff/track_form.html:14
|
#: cfp/templates/cfp/staff/track_form.html:14
|
||||||
|
@ -120,7 +120,7 @@ msgstr "Programmé"
|
||||||
msgid "Filter talks already / not yet scheduled"
|
msgid "Filter talks already / not yet scheduled"
|
||||||
msgstr "Filtrer les exposés déjà / pas encore planifiées"
|
msgstr "Filtrer les exposés déjà / pas encore planifiées"
|
||||||
|
|
||||||
#: cfp/forms.py:160 cfp/models.py:331
|
#: cfp/forms.py:160 cfp/models.py:334
|
||||||
#: cfp/templates/cfp/staff/talk_details.html:54
|
#: cfp/templates/cfp/staff/talk_details.html:54
|
||||||
msgid "Materials"
|
msgid "Materials"
|
||||||
msgstr "Supports"
|
msgstr "Supports"
|
||||||
|
@ -137,7 +137,7 @@ msgstr "Vidéo"
|
||||||
msgid "Filter talks with / without video"
|
msgid "Filter talks with / without video"
|
||||||
msgstr "Filtrer les exposés avec / sans vidéo"
|
msgstr "Filtrer les exposés avec / sans vidéo"
|
||||||
|
|
||||||
#: cfp/forms.py:174 cfp/forms.py:260
|
#: cfp/forms.py:174 cfp/forms.py:245
|
||||||
msgid "Not assigned"
|
msgid "Not assigned"
|
||||||
msgstr "Pas encore assignée"
|
msgstr "Pas encore assignée"
|
||||||
|
|
||||||
|
@ -161,23 +161,22 @@ msgstr "Assigner à une salle"
|
||||||
msgid "Notify by mail?"
|
msgid "Notify by mail?"
|
||||||
msgstr "Notifier par e-mail ?"
|
msgstr "Notifier par e-mail ?"
|
||||||
|
|
||||||
#: cfp/forms.py:264 cfp/models.py:423
|
#: cfp/forms.py:249 cfp/models.py:426
|
||||||
#: cfp/templates/cfp/staff/volunteer_details.html:11
|
|
||||||
#: cfp/templates/cfp/staff/volunteer_list.html:30
|
#: cfp/templates/cfp/staff/volunteer_list.html:30
|
||||||
msgid "Email"
|
msgid "Email"
|
||||||
msgstr "E-mail"
|
msgstr "E-mail"
|
||||||
|
|
||||||
#: cfp/forms.py:283
|
#: cfp/forms.py:268
|
||||||
msgid "New staff members will be informed of their new position by e-mail."
|
msgid "New staff members will be informed of their new position by e-mail."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Les nouveaux membres du staff seront informés de leur nouveau rôle par "
|
"Les nouveaux membres du staff seront informés de leur nouveau rôle par "
|
||||||
"courrier électronique."
|
"courrier électronique."
|
||||||
|
|
||||||
#: cfp/forms.py:303
|
#: cfp/forms.py:288
|
||||||
msgid "An user with that firstname and that lastname already exists."
|
msgid "An user with that firstname and that lastname already exists."
|
||||||
msgstr "Un utilisateur avec ce prénom et ce nom existe déjà."
|
msgstr "Un utilisateur avec ce prénom et ce nom existe déjà."
|
||||||
|
|
||||||
#: cfp/forms.py:308
|
#: cfp/forms.py:293
|
||||||
msgid "A user with that email already exists."
|
msgid "A user with that email already exists."
|
||||||
msgstr "Un utilisateur avec cet email existe déjà."
|
msgstr "Un utilisateur avec cet email existe déjà."
|
||||||
|
|
||||||
|
@ -246,7 +245,7 @@ msgstr ""
|
||||||
"L’adresse de réponse doit être une chaine de texte formatable avec un "
|
"L’adresse de réponse doit être une chaine de texte formatable avec un "
|
||||||
"argument « token » (e.g. ponyconf+{token}@exemple.com)."
|
"argument « token » (e.g. ponyconf+{token}@exemple.com)."
|
||||||
|
|
||||||
#: cfp/models.py:99 cfp/models.py:149 cfp/models.py:201 cfp/models.py:445
|
#: cfp/models.py:99 cfp/models.py:152 cfp/models.py:204 cfp/models.py:454
|
||||||
#: cfp/templates/cfp/staff/participant_list.html:35
|
#: cfp/templates/cfp/staff/participant_list.html:35
|
||||||
#: cfp/templates/cfp/staff/volunteer_list.html:29
|
#: cfp/templates/cfp/staff/volunteer_list.html:29
|
||||||
msgid "Name"
|
msgid "Name"
|
||||||
|
@ -281,12 +280,11 @@ msgstr "Facebook"
|
||||||
msgid "Mastodon"
|
msgid "Mastodon"
|
||||||
msgstr "Mastodon"
|
msgstr "Mastodon"
|
||||||
|
|
||||||
#: cfp/models.py:109 cfp/models.py:425
|
#: cfp/models.py:109 cfp/models.py:428
|
||||||
#: cfp/templates/cfp/staff/volunteer_details.html:14
|
|
||||||
msgid "Phone number"
|
msgid "Phone number"
|
||||||
msgstr "Numéro de téléphone"
|
msgstr "Numéro de téléphone"
|
||||||
|
|
||||||
#: cfp/models.py:112 cfp/models.py:313
|
#: cfp/models.py:112 cfp/models.py:316
|
||||||
msgid "This field is only visible by organizers."
|
msgid "This field is only visible by organizers."
|
||||||
msgstr "Ce champs est uniquement visible par les organisateurs."
|
msgstr "Ce champs est uniquement visible par les organisateurs."
|
||||||
|
|
||||||
|
@ -294,23 +292,23 @@ msgstr "Ce champs est uniquement visible par les organisateurs."
|
||||||
msgid "Invited speaker"
|
msgid "Invited speaker"
|
||||||
msgstr "Orateur invité"
|
msgstr "Orateur invité"
|
||||||
|
|
||||||
#: cfp/models.py:203
|
#: cfp/models.py:206
|
||||||
msgid "Color"
|
msgid "Color"
|
||||||
msgstr "Couleur"
|
msgstr "Couleur"
|
||||||
|
|
||||||
#: cfp/models.py:235
|
#: cfp/models.py:238
|
||||||
msgid "Default duration (min)"
|
msgid "Default duration (min)"
|
||||||
msgstr "Durée par défaut (min)"
|
msgstr "Durée par défaut (min)"
|
||||||
|
|
||||||
#: cfp/models.py:236
|
#: cfp/models.py:239
|
||||||
msgid "Color on program"
|
msgid "Color on program"
|
||||||
msgstr "Couleur sur le programme"
|
msgstr "Couleur sur le programme"
|
||||||
|
|
||||||
#: cfp/models.py:237
|
#: cfp/models.py:240
|
||||||
msgid "Label on program"
|
msgid "Label on program"
|
||||||
msgstr "Label dans le xml du programme"
|
msgstr "Label dans le xml du programme"
|
||||||
|
|
||||||
#: cfp/models.py:308 cfp/templates/cfp/proposal_talk_details.html:51
|
#: cfp/models.py:311 cfp/templates/cfp/proposal_talk_details.html:53
|
||||||
#: cfp/templates/cfp/staff/base.html:11
|
#: cfp/templates/cfp/staff/base.html:11
|
||||||
#: cfp/templates/cfp/staff/participant_list.html:8
|
#: cfp/templates/cfp/staff/participant_list.html:8
|
||||||
#: cfp/templates/cfp/staff/talk_details.html:68
|
#: cfp/templates/cfp/staff/talk_details.html:68
|
||||||
|
@ -318,19 +316,19 @@ msgstr "Label dans le xml du programme"
|
||||||
msgid "Speakers"
|
msgid "Speakers"
|
||||||
msgstr "Orateurs"
|
msgstr "Orateurs"
|
||||||
|
|
||||||
#: cfp/models.py:309
|
#: cfp/models.py:312
|
||||||
msgid "Talk Title"
|
msgid "Talk Title"
|
||||||
msgstr "Titre de la proposition"
|
msgstr "Titre de la proposition"
|
||||||
|
|
||||||
#: cfp/models.py:312
|
#: cfp/models.py:315
|
||||||
msgid "Description of your talk"
|
msgid "Description of your talk"
|
||||||
msgstr "Description de votre proposition"
|
msgstr "Description de votre proposition"
|
||||||
|
|
||||||
#: cfp/models.py:316 cfp/templates/cfp/proposal_talk_details.html:83
|
#: cfp/models.py:319 cfp/templates/cfp/proposal_talk_details.html:85
|
||||||
msgid "Message to organizers"
|
msgid "Message to organizers"
|
||||||
msgstr "Message aux organisateurs"
|
msgstr "Message aux organisateurs"
|
||||||
|
|
||||||
#: cfp/models.py:317
|
#: cfp/models.py:320
|
||||||
msgid ""
|
msgid ""
|
||||||
"If you have any constraint or if you have anything that may help you to "
|
"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 "
|
"select your talk, like a video or slides of your talk, please write it down "
|
||||||
|
@ -340,67 +338,67 @@ msgstr ""
|
||||||
"votre proposition, comme une vidéo, des slides, n'hésitez pas à les ajouter "
|
"votre proposition, comme une vidéo, des slides, n'hésitez pas à les ajouter "
|
||||||
"ici."
|
"ici."
|
||||||
|
|
||||||
#: cfp/models.py:320
|
#: cfp/models.py:323
|
||||||
msgid "Talk Category"
|
msgid "Talk Category"
|
||||||
msgstr "Catégorie de proposition"
|
msgstr "Catégorie de proposition"
|
||||||
|
|
||||||
#: cfp/models.py:321
|
#: cfp/models.py:324
|
||||||
msgid "I'm ok to be recorded on video"
|
msgid "I'm ok to be recorded on video"
|
||||||
msgstr "J’accepte d’être enregistré en vidéo"
|
msgstr "J’accepte d’être enregistré en vidéo"
|
||||||
|
|
||||||
#: cfp/models.py:323
|
#: cfp/models.py:326
|
||||||
msgid "Video licence"
|
msgid "Video licence"
|
||||||
msgstr "Licence vidéo"
|
msgstr "Licence vidéo"
|
||||||
|
|
||||||
#: cfp/models.py:324
|
#: cfp/models.py:327
|
||||||
msgid "I need sound"
|
msgid "I need sound"
|
||||||
msgstr "J’ai besoin de son"
|
msgstr "J’ai besoin de son"
|
||||||
|
|
||||||
#: cfp/models.py:327
|
#: cfp/models.py:330
|
||||||
msgid "Beginning date and time"
|
msgid "Beginning date and time"
|
||||||
msgstr "Date et heure de début"
|
msgstr "Date et heure de début"
|
||||||
|
|
||||||
#: cfp/models.py:328
|
#: cfp/models.py:331
|
||||||
msgid "Duration (min)"
|
msgid "Duration (min)"
|
||||||
msgstr "Durée (min)"
|
msgstr "Durée (min)"
|
||||||
|
|
||||||
#: cfp/models.py:332
|
#: cfp/models.py:335
|
||||||
msgid ""
|
msgid ""
|
||||||
"You can use this field to share some materials related to your intervention."
|
"You can use this field to share some materials related to your intervention."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Vous pouvez utiliser ce champs pour partager les supports de votre "
|
"Vous pouvez utiliser ce champs pour partager les supports de votre "
|
||||||
"intervention."
|
"intervention."
|
||||||
|
|
||||||
#: cfp/models.py:361
|
#: cfp/models.py:364
|
||||||
msgid "Waiting confirmation"
|
msgid "Waiting confirmation"
|
||||||
msgstr "En attente de confirmation"
|
msgstr "En attente de confirmation"
|
||||||
|
|
||||||
#: cfp/models.py:363
|
#: cfp/models.py:366
|
||||||
msgid "Refused"
|
msgid "Refused"
|
||||||
msgstr "Refusé"
|
msgstr "Refusé"
|
||||||
|
|
||||||
#: cfp/models.py:365
|
#: cfp/models.py:368
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "Pending decision, score: %(score).1f"
|
msgid "Pending decision, score: %(score).1f"
|
||||||
msgstr "En cours, score : %(score).1f"
|
msgstr "En cours, score : %(score).1f"
|
||||||
|
|
||||||
#: cfp/models.py:422
|
#: cfp/models.py:425
|
||||||
msgid "Your Name"
|
msgid "Your Name"
|
||||||
msgstr "Votre Nom"
|
msgstr "Votre Nom"
|
||||||
|
|
||||||
#: cfp/models.py:426
|
#: cfp/models.py:429
|
||||||
msgid "SMS prefered"
|
msgid "SMS prefered"
|
||||||
msgstr "SMS préférés"
|
msgstr "SMS préférés"
|
||||||
|
|
||||||
#: cfp/models.py:429
|
#: cfp/models.py:432
|
||||||
msgid "If you have some constraints, you can indicate them here."
|
msgid "If you have some constraints, you can indicate them here."
|
||||||
msgstr "Si vous avez des contraintes, vous pouvez les indiquer ici."
|
msgstr "Si vous avez des contraintes, vous pouvez les indiquer ici."
|
||||||
|
|
||||||
#: cfp/models.py:448 cfp/templates/cfp/staff/volunteer_details.html:8
|
#: cfp/models.py:457 cfp/templates/cfp/staff/volunteer_details.html:8
|
||||||
msgid "Volunteer"
|
msgid "Volunteer"
|
||||||
msgstr "Bénévole"
|
msgstr "Bénévole"
|
||||||
|
|
||||||
#: cfp/models.py:453 cfp/templates/cfp/staff/volunteer_details.html:25
|
#: cfp/models.py:462 cfp/templates/cfp/staff/volunteer_details.html:27
|
||||||
#: cfp/templates/cfp/staff/volunteer_list.html:32
|
#: cfp/templates/cfp/staff/volunteer_list.html:32
|
||||||
msgid "Activities"
|
msgid "Activities"
|
||||||
msgstr "Activités"
|
msgstr "Activités"
|
||||||
|
@ -430,19 +428,41 @@ msgid "Please select a category."
|
||||||
msgstr "Veuillez sélectionner une catégorie."
|
msgstr "Veuillez sélectionner une catégorie."
|
||||||
|
|
||||||
#: cfp/templates/cfp/admin/conference.html:13
|
#: cfp/templates/cfp/admin/conference.html:13
|
||||||
#: cfp/templates/cfp/staff/create_user.html:8
|
#: cfp/templates/cfp/admin/create_user.html:8
|
||||||
msgid "Add a new user"
|
msgid "Add a new user"
|
||||||
msgstr "Ajouter un nouvel utilisateur"
|
msgstr "Ajouter un nouvel utilisateur"
|
||||||
|
|
||||||
#: cfp/templates/cfp/admin/conference.html:14
|
#: cfp/templates/cfp/admin/conference.html:14
|
||||||
#: cfp/templates/cfp/proposal_home.html:28
|
#: cfp/templates/cfp/admin/create_user.html:13
|
||||||
|
#: cfp/templates/cfp/proposal_home.html:30
|
||||||
#: cfp/templates/cfp/proposal_mail_token.html:25
|
#: cfp/templates/cfp/proposal_mail_token.html:25
|
||||||
#: cfp/templates/cfp/proposal_speaker_form.html:48
|
#: cfp/templates/cfp/proposal_speaker_form.html:49
|
||||||
#: cfp/templates/cfp/proposal_talk_form.html:28
|
#: cfp/templates/cfp/proposal_talk_form.html:28
|
||||||
#: cfp/templates/cfp/staff/create_user.html:13
|
|
||||||
msgid "Save"
|
msgid "Save"
|
||||||
msgstr "Envoyer"
|
msgstr "Envoyer"
|
||||||
|
|
||||||
|
#: cfp/templates/cfp/admin/create_user.html:14
|
||||||
|
#: cfp/templates/cfp/staff/talk_decide.html:22 ponyconf/templates/_form.html:16
|
||||||
|
msgid "Cancel"
|
||||||
|
msgstr "Annuler"
|
||||||
|
|
||||||
|
#: cfp/templates/cfp/closed.html:9 cfp/templates/cfp/proposal_home.html:12
|
||||||
|
msgid "Participate"
|
||||||
|
msgstr "Participer"
|
||||||
|
|
||||||
|
#: cfp/templates/cfp/closed.html:13
|
||||||
|
msgid "Sorry, the Call for Participation is closed!"
|
||||||
|
msgstr "Désolé, l’appel à participation est fermé !"
|
||||||
|
|
||||||
|
#: cfp/templates/cfp/closed.html:16
|
||||||
|
#, python-format
|
||||||
|
msgid ""
|
||||||
|
"If you already have submitted a talk and you want to edit it, please click "
|
||||||
|
"<a href=\"%(mail_token_url)s\">here</a>."
|
||||||
|
msgstr ""
|
||||||
|
"Si vous avez déjà soumis une proposition et que vous souhaitez l’éditer, "
|
||||||
|
"cliquez <a href=\"%(mail_token_url)s\">ici</a>."
|
||||||
|
|
||||||
#: cfp/templates/cfp/proposal_dashboard.html:11
|
#: cfp/templates/cfp/proposal_dashboard.html:11
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "Welcome <b>%(name)s</b>!"
|
msgid "Welcome <b>%(name)s</b>!"
|
||||||
|
@ -494,6 +514,7 @@ msgstr "Mastodon :"
|
||||||
|
|
||||||
#: cfp/templates/cfp/proposal_dashboard.html:29
|
#: cfp/templates/cfp/proposal_dashboard.html:29
|
||||||
#: cfp/templates/cfp/staff/participant_details.html:33
|
#: cfp/templates/cfp/staff/participant_details.html:33
|
||||||
|
#: cfp/templates/cfp/staff/volunteer_details.html:14
|
||||||
msgid "Phone number:"
|
msgid "Phone number:"
|
||||||
msgstr "Numéro de téléphone :"
|
msgstr "Numéro de téléphone :"
|
||||||
|
|
||||||
|
@ -533,16 +554,12 @@ msgstr "annulé"
|
||||||
msgid "No proposals."
|
msgid "No proposals."
|
||||||
msgstr "Aucune proposition."
|
msgstr "Aucune proposition."
|
||||||
|
|
||||||
#: cfp/templates/cfp/proposal_dashboard.html:75
|
#: cfp/templates/cfp/proposal_dashboard.html:76
|
||||||
#: cfp/templates/cfp/proposal_talk_details.html:17
|
#: cfp/templates/cfp/proposal_talk_details.html:18
|
||||||
msgid "New proposal"
|
msgid "New proposal"
|
||||||
msgstr "Nouvelle proposition"
|
msgstr "Nouvelle proposition"
|
||||||
|
|
||||||
#: cfp/templates/cfp/proposal_home.html:12
|
#: cfp/templates/cfp/proposal_home.html:22
|
||||||
msgid "Participate"
|
|
||||||
msgstr "Participer"
|
|
||||||
|
|
||||||
#: cfp/templates/cfp/proposal_home.html:21
|
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid ""
|
msgid ""
|
||||||
"If you already have submitted a talk and you want to edit it or submit "
|
"If you already have submitted a talk and you want to edit it or submit "
|
||||||
|
@ -569,7 +586,7 @@ msgid "Edit a speaker"
|
||||||
msgstr "Éditer un orateur"
|
msgstr "Éditer un orateur"
|
||||||
|
|
||||||
#: cfp/templates/cfp/proposal_speaker_form.html:15
|
#: cfp/templates/cfp/proposal_speaker_form.html:15
|
||||||
#: cfp/templates/cfp/proposal_talk_details.html:69
|
#: cfp/templates/cfp/proposal_talk_details.html:71
|
||||||
msgid "Add a co-speaker"
|
msgid "Add a co-speaker"
|
||||||
msgstr "Ajouter un co-intervenant"
|
msgstr "Ajouter un co-intervenant"
|
||||||
|
|
||||||
|
@ -585,58 +602,58 @@ msgstr "Vous souhaitez peut-être ajouter un des intervenants suivants :"
|
||||||
msgid "My profile"
|
msgid "My profile"
|
||||||
msgstr "Mon profil"
|
msgstr "Mon profil"
|
||||||
|
|
||||||
#: cfp/templates/cfp/proposal_talk_details.html:20
|
#: cfp/templates/cfp/proposal_talk_details.html:22
|
||||||
msgid "Edit this proposal"
|
msgid "Edit this proposal"
|
||||||
msgstr "Éditer cette proposition"
|
msgstr "Éditer cette proposition"
|
||||||
|
|
||||||
#: cfp/templates/cfp/proposal_talk_details.html:26
|
#: cfp/templates/cfp/proposal_talk_details.html:28
|
||||||
#: cfp/templates/cfp/staff/talk_details.html:18
|
#: cfp/templates/cfp/staff/talk_details.html:18
|
||||||
#: cfp/templates/cfp/staff/talk_list.html:48
|
#: cfp/templates/cfp/staff/talk_list.html:48
|
||||||
msgid "Status"
|
msgid "Status"
|
||||||
msgstr "Statut"
|
msgstr "Statut"
|
||||||
|
|
||||||
#: cfp/templates/cfp/proposal_talk_details.html:29
|
#: cfp/templates/cfp/proposal_talk_details.html:31
|
||||||
msgid "Reviewing in progress, we will keep you informed by mail."
|
msgid "Reviewing in progress, we will keep you informed by mail."
|
||||||
msgstr "Relecture en cours, nous vous tenons informé par e-mail."
|
msgstr "Relecture en cours, nous vous tenons informé par e-mail."
|
||||||
|
|
||||||
#: cfp/templates/cfp/proposal_talk_details.html:31
|
#: cfp/templates/cfp/proposal_talk_details.html:33
|
||||||
msgid "Accepted!"
|
msgid "Accepted!"
|
||||||
msgstr "Accepté !"
|
msgstr "Accepté !"
|
||||||
|
|
||||||
#: cfp/templates/cfp/proposal_talk_details.html:34
|
#: cfp/templates/cfp/proposal_talk_details.html:36
|
||||||
msgid "Please confirm your participation:"
|
msgid "Please confirm your participation:"
|
||||||
msgstr "Merci de confirmer votre participation :"
|
msgstr "Merci de confirmer votre participation :"
|
||||||
|
|
||||||
#: cfp/templates/cfp/proposal_talk_details.html:35
|
#: cfp/templates/cfp/proposal_talk_details.html:37
|
||||||
msgid "I will be there!"
|
msgid "I will be there!"
|
||||||
msgstr "Je serai là !"
|
msgstr "Je serai là !"
|
||||||
|
|
||||||
#: cfp/templates/cfp/proposal_talk_details.html:36
|
#: cfp/templates/cfp/proposal_talk_details.html:38
|
||||||
msgid "Sorry, couldn't make it :-("
|
msgid "Sorry, couldn't make it :-("
|
||||||
msgstr "Désolé, j’ai un contre temps :-("
|
msgstr "Désolé, j’ai un contre temps :-("
|
||||||
|
|
||||||
#: cfp/templates/cfp/proposal_talk_details.html:40
|
#: cfp/templates/cfp/proposal_talk_details.html:42
|
||||||
msgid "Sorry, I have to cancel."
|
msgid "Sorry, I have to cancel."
|
||||||
msgstr "Désolé, je dois annuler."
|
msgstr "Désolé, je dois annuler."
|
||||||
|
|
||||||
#: cfp/templates/cfp/proposal_talk_details.html:44
|
#: cfp/templates/cfp/proposal_talk_details.html:46
|
||||||
msgid "Good news, I finally could be there!"
|
msgid "Good news, I finally could be there!"
|
||||||
msgstr "Bonne nouvelle, je peux finalement être présent !"
|
msgstr "Bonne nouvelle, je peux finalement être présent !"
|
||||||
|
|
||||||
#: cfp/templates/cfp/proposal_talk_details.html:48
|
#: cfp/templates/cfp/proposal_talk_details.html:50
|
||||||
msgid "Sorry, refused :-("
|
msgid "Sorry, refused :-("
|
||||||
msgstr "Désolé, refusé :-("
|
msgstr "Désolé, refusé :-("
|
||||||
|
|
||||||
#: cfp/templates/cfp/proposal_talk_details.html:59
|
#: cfp/templates/cfp/proposal_talk_details.html:61
|
||||||
msgid "you!"
|
msgid "you!"
|
||||||
msgstr "vous !"
|
msgstr "vous !"
|
||||||
|
|
||||||
#: cfp/templates/cfp/proposal_talk_details.html:62
|
#: cfp/templates/cfp/proposal_talk_details.html:64
|
||||||
msgid "remove"
|
msgid "remove"
|
||||||
msgstr "supprimer"
|
msgstr "supprimer"
|
||||||
|
|
||||||
#: cfp/templates/cfp/proposal_talk_details.html:79
|
#: cfp/templates/cfp/proposal_talk_details.html:81
|
||||||
#: cfp/templates/cfp/proposal_talk_details.html:89
|
#: cfp/templates/cfp/proposal_talk_details.html:91
|
||||||
#: cfp/templates/cfp/staff/talk_details.html:66
|
#: cfp/templates/cfp/staff/talk_details.html:66
|
||||||
msgid "No description provided."
|
msgid "No description provided."
|
||||||
msgstr "Aucune description fournie."
|
msgstr "Aucune description fournie."
|
||||||
|
@ -676,11 +693,6 @@ msgstr "Sessions"
|
||||||
msgid "Rooms"
|
msgid "Rooms"
|
||||||
msgstr "Salles"
|
msgstr "Salles"
|
||||||
|
|
||||||
#: cfp/templates/cfp/staff/create_user.html:14
|
|
||||||
#: cfp/templates/cfp/staff/talk_decide.html:22 ponyconf/templates/_form.html:16
|
|
||||||
msgid "Cancel"
|
|
||||||
msgstr "Annuler"
|
|
||||||
|
|
||||||
#: cfp/templates/cfp/staff/participant_details.html:10
|
#: cfp/templates/cfp/staff/participant_details.html:10
|
||||||
msgid "VIP"
|
msgid "VIP"
|
||||||
msgstr "VIP"
|
msgstr "VIP"
|
||||||
|
@ -699,6 +711,7 @@ msgid "Language:"
|
||||||
msgstr "Langue :"
|
msgstr "Langue :"
|
||||||
|
|
||||||
#: cfp/templates/cfp/staff/participant_details.html:35
|
#: cfp/templates/cfp/staff/participant_details.html:35
|
||||||
|
#: cfp/templates/cfp/staff/volunteer_details.html:17
|
||||||
msgid "Secret link:"
|
msgid "Secret link:"
|
||||||
msgstr "Lien secret :"
|
msgstr "Lien secret :"
|
||||||
|
|
||||||
|
@ -964,11 +977,15 @@ msgstr "responsable"
|
||||||
msgid "No tracks."
|
msgid "No tracks."
|
||||||
msgstr "Aucune session."
|
msgstr "Aucune session."
|
||||||
|
|
||||||
#: cfp/templates/cfp/staff/volunteer_details.html:29
|
#: cfp/templates/cfp/staff/volunteer_details.html:11
|
||||||
|
msgid "Email:"
|
||||||
|
msgstr "E-mail :"
|
||||||
|
|
||||||
|
#: cfp/templates/cfp/staff/volunteer_details.html:31
|
||||||
msgid "The volunteer applied for following activities:"
|
msgid "The volunteer applied for following activities:"
|
||||||
msgstr "Le bénévole s'est proposé pour les activités suivantes :"
|
msgstr "Le bénévole s'est proposé pour les activités suivantes :"
|
||||||
|
|
||||||
#: cfp/templates/cfp/staff/volunteer_details.html:39
|
#: cfp/templates/cfp/staff/volunteer_details.html:41
|
||||||
msgid "The volunteer does not applied for any activities."
|
msgid "The volunteer does not applied for any activities."
|
||||||
msgstr "Le bénévole ne s’est proposé pour aucune activité."
|
msgstr "Le bénévole ne s’est proposé pour aucune activité."
|
||||||
|
|
||||||
|
@ -1006,7 +1023,7 @@ msgstr ""
|
||||||
msgid "We are looking for help with the following activities:"
|
msgid "We are looking for help with the following activities:"
|
||||||
msgstr "Nous cherchons de l’aide pour les activités suivantes :"
|
msgstr "Nous cherchons de l’aide pour les activités suivantes :"
|
||||||
|
|
||||||
#: cfp/views.py:49
|
#: cfp/views.py:50
|
||||||
msgid ""
|
msgid ""
|
||||||
"Hi {},\n"
|
"Hi {},\n"
|
||||||
"\n"
|
"\n"
|
||||||
|
@ -1034,26 +1051,26 @@ msgstr ""
|
||||||
"{}\n"
|
"{}\n"
|
||||||
"\n"
|
"\n"
|
||||||
|
|
||||||
#: cfp/views.py:69
|
#: cfp/views.py:70
|
||||||
msgid "Thank you for your help!"
|
msgid "Thank you for your help!"
|
||||||
msgstr "Merci pour votre aide !"
|
msgstr "Merci pour votre aide !"
|
||||||
|
|
||||||
#: cfp/views.py:74
|
#: cfp/views.py:75
|
||||||
msgid ""
|
msgid ""
|
||||||
"Thank you for your participation! You can now subscribe to some activities."
|
"Thank you for your participation! You can now subscribe to some activities."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Merci pour votre participation ! Vous pouvez maintenant vous inscrire à une "
|
"Merci pour votre participation ! Vous pouvez maintenant vous inscrire à une "
|
||||||
"ou plusieurs activités."
|
"ou plusieurs activités."
|
||||||
|
|
||||||
#: cfp/views.py:98
|
#: cfp/views.py:97
|
||||||
msgid "Thank you for your participation!"
|
msgid "Thank you for your participation!"
|
||||||
msgstr "Merci pour votre participation !"
|
msgstr "Merci pour votre participation !"
|
||||||
|
|
||||||
#: cfp/views.py:102
|
#: cfp/views.py:101
|
||||||
msgid "Okay, no problem!"
|
msgid "Okay, no problem!"
|
||||||
msgstr "Ok, pas de soucis !"
|
msgstr "Ok, pas de soucis !"
|
||||||
|
|
||||||
#: cfp/views.py:160
|
#: cfp/views.py:173
|
||||||
msgid ""
|
msgid ""
|
||||||
"Hi {},\n"
|
"Hi {},\n"
|
||||||
"\n"
|
"\n"
|
||||||
|
@ -1093,15 +1110,15 @@ msgstr ""
|
||||||
"{}\n"
|
"{}\n"
|
||||||
"\n"
|
"\n"
|
||||||
|
|
||||||
#: cfp/views.py:190 cfp/views.py:274
|
#: cfp/views.py:203 cfp/views.py:287
|
||||||
msgid "You proposition have been successfully submitted!"
|
msgid "You proposition have been successfully submitted!"
|
||||||
msgstr "Votre proposition a été transmise avec succès !"
|
msgstr "Votre proposition a été transmise avec succès !"
|
||||||
|
|
||||||
#: cfp/views.py:204
|
#: cfp/views.py:217
|
||||||
msgid "Sorry, we do not know this email."
|
msgid "Sorry, we do not know this email."
|
||||||
msgstr "Désolé, nous ne connaissons pas cette e-mail."
|
msgstr "Désolé, nous ne connaissons pas cette e-mail."
|
||||||
|
|
||||||
#: cfp/views.py:209
|
#: cfp/views.py:222
|
||||||
msgid ""
|
msgid ""
|
||||||
"Hi {},\n"
|
"Hi {},\n"
|
||||||
"\n"
|
"\n"
|
||||||
|
@ -1132,41 +1149,41 @@ msgstr ""
|
||||||
"{}\n"
|
"{}\n"
|
||||||
"\n"
|
"\n"
|
||||||
|
|
||||||
#: cfp/views.py:229
|
#: cfp/views.py:242
|
||||||
msgid "A email have been sent with a link to access to your profil."
|
msgid "A email have been sent with a link to access to your profil."
|
||||||
msgstr "Un e-mail vous a été envoyé avec un lien pour accéder à votre profil."
|
msgstr "Un e-mail vous a été envoyé avec un lien pour accéder à votre profil."
|
||||||
|
|
||||||
#: cfp/views.py:270 cfp/views.py:336
|
#: cfp/views.py:283 cfp/views.py:356
|
||||||
msgid "Changes saved."
|
msgid "Changes saved."
|
||||||
msgstr "Modifications sauvegardées."
|
msgstr "Modifications sauvegardées."
|
||||||
|
|
||||||
#: cfp/views.py:291
|
#: cfp/views.py:304
|
||||||
msgid "You already confirmed your participation to this talk."
|
msgid "You already confirmed your participation to this talk."
|
||||||
msgstr "Vous avez déjà confirmé votre participation à cet exposé."
|
msgstr "Vous avez déjà confirmé votre participation à cet exposé."
|
||||||
|
|
||||||
#: cfp/views.py:293
|
#: cfp/views.py:306
|
||||||
msgid "You already cancelled your participation to this talk."
|
msgid "You already cancelled your participation to this talk."
|
||||||
msgstr "Vous avez déjà annulé votre participation à cet exposé."
|
msgstr "Vous avez déjà annulé votre participation à cet exposé."
|
||||||
|
|
||||||
#: cfp/views.py:298
|
#: cfp/views.py:311
|
||||||
msgid "Your participation has been taken into account, thank you!"
|
msgid "Your participation has been taken into account, thank you!"
|
||||||
msgstr "Votre participation a été prise en compte, merci !"
|
msgstr "Votre participation a été prise en compte, merci !"
|
||||||
|
|
||||||
#: cfp/views.py:299
|
#: cfp/views.py:312
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "Speaker %(speaker)s confirmed his/her participation."
|
msgid "Speaker %(speaker)s confirmed his/her participation."
|
||||||
msgstr "L’intervenant %(speaker)s a confirmé sa participation."
|
msgstr "L’intervenant %(speaker)s a confirmé sa participation."
|
||||||
|
|
||||||
#: cfp/views.py:301
|
#: cfp/views.py:314
|
||||||
msgid "We have noted your unavailability."
|
msgid "We have noted your unavailability."
|
||||||
msgstr "Nous avons enregistré votre indisponibilité."
|
msgstr "Nous avons enregistré votre indisponibilité."
|
||||||
|
|
||||||
#: cfp/views.py:302
|
#: cfp/views.py:315
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "Speaker %(speaker)s CANCELLED his/her participation."
|
msgid "Speaker %(speaker)s CANCELLED his/her participation."
|
||||||
msgstr "L’intervenant %(speaker)s a ANNULÉ sa participation."
|
msgstr "L’intervenant %(speaker)s a ANNULÉ sa participation."
|
||||||
|
|
||||||
#: cfp/views.py:343
|
#: cfp/views.py:363
|
||||||
msgid ""
|
msgid ""
|
||||||
"Hi {},\n"
|
"Hi {},\n"
|
||||||
"\n"
|
"\n"
|
||||||
|
@ -1206,59 +1223,59 @@ msgstr ""
|
||||||
"{}\n"
|
"{}\n"
|
||||||
"\n"
|
"\n"
|
||||||
|
|
||||||
#: cfp/views.py:374 cfp/views.py:393
|
#: cfp/views.py:394 cfp/views.py:414
|
||||||
msgid "Co-speaker successfully added to the talk."
|
msgid "Co-speaker successfully added to the talk."
|
||||||
msgstr "Co-intervenant ajouté à l’exposé avec succès."
|
msgstr "Co-intervenant ajouté à l’exposé avec succès."
|
||||||
|
|
||||||
#: cfp/views.py:406
|
#: cfp/views.py:427
|
||||||
msgid "Co-speaker successfully removed from the talk."
|
msgid "Co-speaker successfully removed from the talk."
|
||||||
msgstr "Co-intervenant supprimé de l’exposé avec succès."
|
msgstr "Co-intervenant supprimé de l’exposé avec succès."
|
||||||
|
|
||||||
#: cfp/views.py:448
|
#: cfp/views.py:469
|
||||||
msgid "The speaker confirmation have been noted."
|
msgid "The speaker confirmation have been noted."
|
||||||
msgstr "La confirmation de l’orateur a été notée."
|
msgstr "La confirmation de l’orateur a été notée."
|
||||||
|
|
||||||
#: cfp/views.py:449
|
#: cfp/views.py:470
|
||||||
msgid "The talk have been confirmed."
|
msgid "The talk have been confirmed."
|
||||||
msgstr "L’exposé a été confirmé."
|
msgstr "L’exposé a été confirmé."
|
||||||
|
|
||||||
#: cfp/views.py:451
|
#: cfp/views.py:472
|
||||||
msgid "The speaker unavailability have been noted."
|
msgid "The speaker unavailability have been noted."
|
||||||
msgstr "L’indisponibilité de l’intervenant a été notée."
|
msgstr "L’indisponibilité de l’intervenant a été notée."
|
||||||
|
|
||||||
#: cfp/views.py:452
|
#: cfp/views.py:473
|
||||||
msgid "The talk have been cancelled."
|
msgid "The talk have been cancelled."
|
||||||
msgstr "L’exposé a été annulé."
|
msgstr "L’exposé a été annulé."
|
||||||
|
|
||||||
#: cfp/views.py:527 cfp/views.py:629
|
#: cfp/views.py:548 cfp/views.py:650
|
||||||
msgid "The talk has been accepted."
|
msgid "The talk has been accepted."
|
||||||
msgstr "L’exposé a été accepté."
|
msgstr "L’exposé a été accepté."
|
||||||
|
|
||||||
#: cfp/views.py:529 cfp/views.py:631
|
#: cfp/views.py:550 cfp/views.py:652
|
||||||
msgid "The talk has been declined."
|
msgid "The talk has been declined."
|
||||||
msgstr "L’exposé a été décliné."
|
msgstr "L’exposé a été décliné."
|
||||||
|
|
||||||
#: cfp/views.py:598 cfp/views.py:691
|
#: cfp/views.py:619 cfp/views.py:712
|
||||||
msgid "Message sent!"
|
msgid "Message sent!"
|
||||||
msgstr "Message envoyé !"
|
msgstr "Message envoyé !"
|
||||||
|
|
||||||
#: cfp/views.py:612
|
#: cfp/views.py:633
|
||||||
msgid "Vote successfully created"
|
msgid "Vote successfully created"
|
||||||
msgstr "A voté !"
|
msgstr "A voté !"
|
||||||
|
|
||||||
#: cfp/views.py:612
|
#: cfp/views.py:633
|
||||||
msgid "Vote successfully updated"
|
msgid "Vote successfully updated"
|
||||||
msgstr "Vote mis à jour"
|
msgstr "Vote mis à jour"
|
||||||
|
|
||||||
#: cfp/views.py:633
|
#: cfp/views.py:654
|
||||||
msgid "Decision taken in account"
|
msgid "Decision taken in account"
|
||||||
msgstr "Décision enregistrée"
|
msgstr "Décision enregistrée"
|
||||||
|
|
||||||
#: cfp/views.py:719
|
#: cfp/views.py:747
|
||||||
msgid "[{}] You have been added to the staff team"
|
msgid "[{}] You have been added to the staff team"
|
||||||
msgstr "[{}] Vous avez été ajouté aux membres du staff"
|
msgstr "[{}] Vous avez été ajouté aux membres du staff"
|
||||||
|
|
||||||
#: cfp/views.py:720
|
#: cfp/views.py:748
|
||||||
msgid ""
|
msgid ""
|
||||||
"Hi {},\n"
|
"Hi {},\n"
|
||||||
"\n"
|
"\n"
|
||||||
|
@ -1282,15 +1299,15 @@ msgstr ""
|
||||||
"{}\n"
|
"{}\n"
|
||||||
"\n"
|
"\n"
|
||||||
|
|
||||||
#: cfp/views.py:741
|
#: cfp/views.py:769
|
||||||
msgid "Modifications successfully saved."
|
msgid "Modifications successfully saved."
|
||||||
msgstr "Modification enregistrée avec succès."
|
msgstr "Modification enregistrée avec succès."
|
||||||
|
|
||||||
#: cfp/views.py:818
|
#: cfp/views.py:846
|
||||||
msgid "User created successfully."
|
msgid "User created successfully."
|
||||||
msgstr "Utilisateur créé avec succès."
|
msgstr "Utilisateur créé avec succès."
|
||||||
|
|
||||||
#: cfp/views.py:839
|
#: cfp/views.py:867
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "Format '%s' not available"
|
msgid "Format '%s' not available"
|
||||||
msgstr "Format '%s' non disponible"
|
msgstr "Format '%s' non disponible"
|
||||||
|
@ -1372,9 +1389,6 @@ msgstr "Changement de mot de passe"
|
||||||
msgid "Email address"
|
msgid "Email address"
|
||||||
msgstr "Adresse e-mail"
|
msgstr "Adresse e-mail"
|
||||||
|
|
||||||
#~ msgid "Sorry, the Call for Participation is closed!"
|
|
||||||
#~ msgstr "Désolé, l’appel à participation est fermé !"
|
|
||||||
|
|
||||||
#~ msgid "Your proposition have been successfully submitted!"
|
#~ msgid "Your proposition have been successfully submitted!"
|
||||||
#~ msgstr "Votre proposition a été transmise avec succès !"
|
#~ msgstr "Votre proposition a été transmise avec succès !"
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue