diff --git a/CHANGELOG b/CHANGELOG
index bdefe505d..185d0b210 100644
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -27,12 +27,18 @@ Core:
- New feature to tag motions, agenda and assignments.
- Fixed search index problem to index contents of many-to-many tables
(e. g. tags of a motion).
+- Fixed AttributeError in chatbox on_open method.
Motions:
- New Feature to create amendments, which are related to a parent motion.
- Added possibility to hide motions from non staff users in some states.
Other:
- Cleaned up utils.views to increase performance when fetching single objects
from the database for a view (#1378).
+- Fixed bug on projector which was not updated when an object was deleted.
+- Fixed bug and show special characters in PDF like ampersand (#1415).
+- Updated pdf.js to 1.0.907.
+- Improve the usage of bsmselect jquery plugin.
+- Updated translations.
Version 1.6.1 (2014-12-08)
diff --git a/LICENSE b/LICENSE
index 7a4da8bd6..4b3d5d863 100644
--- a/LICENSE
+++ b/LICENSE
@@ -1,6 +1,6 @@
The MIT License (MIT)
-Copyright (c) 2011-2014 OpenSlides Team
+Copyright (c) 2011-2015 OpenSlides Team
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
diff --git a/extras/openslides_gui/gui.py b/extras/openslides_gui/gui.py
index f7019e9c6..33ac3855d 100644
--- a/extras/openslides_gui/gui.py
+++ b/extras/openslides_gui/gui.py
@@ -634,7 +634,7 @@ class MainWindow(wx.Frame):
"assembly system.\n"
"OpenSlides is free software; licensed under the MIT license."
).replace(u" ", u"\u00a0"))
- info.SetCopyright(_(u"\u00a9 2011-2014 by OpenSlides team"))
+ info.SetCopyright(_(u"\u00a9 2011-2015 by OpenSlides team"))
info.SetWebSite(("http://www.openslides.org/", "www.openslides.org"))
# XXX: at least on wxgtk this has no effect
diff --git a/extras/win32-portable/licenses/openslides b/extras/win32-portable/licenses/openslides
index b4e337dc3..26a03f0ea 100644
--- a/extras/win32-portable/licenses/openslides
+++ b/extras/win32-portable/licenses/openslides
@@ -1,6 +1,6 @@
The MIT License (MIT)
-Copyright (c) 2011-2014 OpenSlides Team
+Copyright (c) 2011-2015 OpenSlides Team
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
diff --git a/extras/win32-portable/prepare_portable.py b/extras/win32-portable/prepare_portable.py
index 11f6b97c4..56c499a07 100755
--- a/extras/win32-portable/prepare_portable.py
+++ b/extras/win32-portable/prepare_portable.py
@@ -196,7 +196,7 @@ VS_VERSION_INFO VERSIONINFO
VALUE "FileDescription", "OpenSlides\\0"
VALUE "FileVersion", "{version_str}\\0"
VALUE "InternalName", "OpenSlides\\0"
- VALUE "LegalCopyright", "Copyright \\251 2011-2014\\0"
+ VALUE "LegalCopyright", "Copyright \\251 2011-2015\\0"
VALUE "OriginalFilename", "openslides.exe\\0"
VALUE "ProductName", "OpenSlides\\0"
VALUE "ProductVersion", "{version_str}\\0"
@@ -377,7 +377,7 @@ def openslides_launcher_update_version_resource():
"FileDescription": "OpenSlides",
"FileVersion": version_str,
"InternalName": "OpenSlides",
- "LegalCopyright": u"Copyright \xa9 2011-2014",
+ "LegalCopyright": u"Copyright \xa9 2011-2015",
"OriginalFilename": "openslides.exe",
"ProductName": "OpenSlides",
"ProductVersion": version_str,
diff --git a/openslides/agenda/views.py b/openslides/agenda/views.py
index 552d7aa48..36d570523 100644
--- a/openslides/agenda/views.py
+++ b/openslides/agenda/views.py
@@ -1,5 +1,6 @@
# TODO: Rename all views and template names
+from cgi import escape
from datetime import datetime, timedelta
from json import dumps
@@ -363,10 +364,10 @@ class AgendaPDF(PDFView):
if ancestors:
space = " " * 6 * ancestors.count()
story.append(Paragraph(
- "%s%s" % (space, item.get_title()),
+ "%s%s" % (space, escape(item.get_title())),
stylesheet['Subitem']))
else:
- story.append(Paragraph(item.get_title(), stylesheet['Item']))
+ story.append(Paragraph(escape(item.get_title()), stylesheet['Item']))
class SpeakerAppendView(SingleObjectMixin, RedirectView):
diff --git a/openslides/assignment/views.py b/openslides/assignment/views.py
index 69f063687..6b64cc224 100644
--- a/openslides/assignment/views.py
+++ b/openslides/assignment/views.py
@@ -1,3 +1,5 @@
+from cgi import escape
+
from django.contrib import messages
from django.core.urlresolvers import reverse
from django.shortcuts import redirect
@@ -338,9 +340,9 @@ class AssignmentPDF(PDFView):
except KeyError:
assignment_id = None
if assignment_id is None: # print all assignments
- title = config["assignment_pdf_title"]
+ title = escape(config["assignment_pdf_title"])
story.append(Paragraph(title, stylesheet['Heading1']))
- preamble = config["assignment_pdf_preamble"]
+ preamble = escape(config["assignment_pdf_preamble"])
if preamble:
story.append(Paragraph(
"%s" % preamble.replace('\r\n', '
'),
@@ -354,7 +356,7 @@ class AssignmentPDF(PDFView):
# List of assignments
for assignment in assignments:
story.append(Paragraph(
- assignment.name, stylesheet['Heading3']))
+ escape(assignment.name), stylesheet['Heading3']))
# Assignment details (each assignment on single page)
for assignment in assignments:
story.append(PageBreak())
@@ -368,7 +370,7 @@ class AssignmentPDF(PDFView):
def get_assignment(self, assignment, story):
# title
story.append(Paragraph(
- _("Election: %s") % assignment.name, stylesheet['Heading1']))
+ _("Election: %s") % escape(assignment.name), stylesheet['Heading1']))
story.append(Spacer(0, 0.5 * cm))
# Filling table rows...
@@ -503,7 +505,7 @@ class AssignmentPDF(PDFView):
# election description
story.append(
- Paragraph("%s" % assignment.description.replace('\r\n', '
'),
+ Paragraph("%s" % escape(assignment.description).replace('\r\n', '
'),
stylesheet['Paragraph']))
diff --git a/openslides/core/chatbox.py b/openslides/core/chatbox.py
index ac6fb7df6..2a9e89a5c 100644
--- a/openslides/core/chatbox.py
+++ b/openslides/core/chatbox.py
@@ -23,13 +23,13 @@ class ChatboxSocketHandler(SockJSConnection):
engine = import_module(settings.SESSION_ENGINE)
try:
session_key = info.get_cookie(settings.SESSION_COOKIE_NAME).value
- session = engine.SessionStore(session_key)
- pk = session.get_decoded().get('_auth_user_id')
+ session_store = engine.SessionStore(session_key)
+ pk = session_store.get('_auth_user_id')
except AttributeError:
return False
try:
- self.user = User.objects.get(pk)
+ self.user = User.objects.get(pk=pk)
except User.DoesNotExist:
return False
diff --git a/openslides/locale/cs/LC_MESSAGES/django.mo b/openslides/locale/cs/LC_MESSAGES/django.mo
index 5411c625b..9d49c444e 100644
Binary files a/openslides/locale/cs/LC_MESSAGES/django.mo and b/openslides/locale/cs/LC_MESSAGES/django.mo differ
diff --git a/openslides/locale/cs/LC_MESSAGES/django.po b/openslides/locale/cs/LC_MESSAGES/django.po
index f1ec309a0..bca067c5c 100644
--- a/openslides/locale/cs/LC_MESSAGES/django.po
+++ b/openslides/locale/cs/LC_MESSAGES/django.po
@@ -10,13 +10,13 @@
# Norman Jäckel , 2013
# Oskar Hahn , 2012
# fri, 2013
-# fri, 2013-2014
+# fri, 2013-2015
msgid ""
msgstr ""
"Project-Id-Version: OpenSlides\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2014-10-16 23:25+0200\n"
-"PO-Revision-Date: 2014-10-26 08:31+0000\n"
+"POT-Creation-Date: 2015-01-16 14:24+0100\n"
+"PO-Revision-Date: 2015-01-20 09:03+0000\n"
"Last-Translator: fri\n"
"Language-Team: Czech (http://www.transifex.com/projects/p/openslides/language/cs/)\n"
"MIME-Version: 1.0\n"
@@ -76,7 +76,7 @@ msgstr "Rodičovská položka"
msgid "Invalid format. Hours from 0 to 99 and minutes from 00 to 59"
msgstr "Neplatný formát. Hodiny od 0 do 99 a minuty od 00 do 59"
-#: agenda/forms.py:30 agenda/templates/agenda/overview.html:89
+#: agenda/forms.py:30 agenda/templates/agenda/overview.html:103
msgid "Duration"
msgstr "Doba trvání"
@@ -93,95 +93,95 @@ msgstr "Přidat nového účastníka/účastnici"
msgid "%s is already on the list of speakers."
msgstr "%s je již na seznamu řečníků."
-#: agenda/main_menu.py:12 agenda/signals.py:87 agenda/views.py:367
-#: agenda/views.py:368 agenda/widgets.py:16
+#: agenda/main_menu.py:12 agenda/signals.py:87 agenda/views.py:358
+#: agenda/views.py:359 agenda/widgets.py:16
#: agenda/templates/agenda/item_slide_summary.html:7
#: agenda/templates/agenda/overview.html:7
#: agenda/templates/agenda/overview.html:34
-#: agenda/templates/agenda/overview.html:97
+#: agenda/templates/agenda/overview.html:111
#: agenda/templates/agenda/widget_item.html:18
#: agenda/templates/search/agenda-results.html:7
#: agenda/templates/search/agenda-results.html:13
msgid "Agenda"
msgstr "Pořad jednání"
-#: agenda/models.py:38
+#: agenda/models.py:39
msgid "Agenda item"
msgstr "Položka pořadu jednání"
-#: agenda/models.py:39 agenda/templates/search/agenda-results.html:13
+#: agenda/models.py:40 agenda/templates/search/agenda-results.html:13
msgid "Organizational item"
msgstr "Organizační bod"
-#: agenda/models.py:41
+#: agenda/models.py:42
msgid "Number"
msgstr "Číslo"
-#: agenda/models.py:46 core/models.py:15 core/signals.py:111
+#: agenda/models.py:47 core/models.py:15 core/signals.py:111
#: mediafile/models.py:28 mediafile/templates/mediafile/mediafile_list.html:18
-#: motion/forms.py:28 motion/models.py:536 participant/models.py:34
+#: motion/forms.py:27 motion/models.py:573 participant/models.py:34
#: participant/pdf.py:21 participant/templates/participant/overview.html:49
msgid "Title"
msgstr "Název"
-#: agenda/models.py:51 core/models.py:16 motion/forms.py:33
-#: motion/models.py:539
+#: agenda/models.py:52 core/models.py:16 motion/forms.py:32
+#: motion/models.py:576
msgid "Text"
msgstr "Text"
-#: agenda/models.py:56 agenda/templates/agenda/overview.html:86
-#: agenda/templates/agenda/view.html:54 participant/models.py:46
+#: agenda/models.py:57 agenda/templates/agenda/overview.html:100
+#: agenda/templates/agenda/view.html:62 participant/models.py:46
#: participant/templates/participant/overview.html:55
#: participant/templates/participant/user_detail.html:71
msgid "Comment"
msgstr "Poznámka"
-#: agenda/models.py:61
+#: agenda/models.py:62
msgid "Closed"
msgstr "Zavřeno"
-#: agenda/models.py:67 mediafile/templates/mediafile/mediafile_list.html:19
+#: agenda/models.py:68 mediafile/templates/mediafile/mediafile_list.html:19
msgid "Type"
msgstr "Typ"
-#: agenda/models.py:85 core/models.py:17
+#: agenda/models.py:86 core/models.py:17
msgid "Weight"
msgstr "Váha"
-#: agenda/models.py:107
+#: agenda/models.py:108
msgid "List of speakers is closed"
msgstr "Seznam řečníků je uzavřen"
-#: agenda/models.py:114
+#: agenda/models.py:120
msgid "Can see agenda"
msgstr "Smí vidět pořad jednání"
-#: agenda/models.py:115
+#: agenda/models.py:121
msgid "Can manage agenda"
msgstr "Smí spravovat pořad jednání"
-#: agenda/models.py:116
+#: agenda/models.py:122
msgid "Can see orga items and time scheduling of agenda"
msgstr "Smí vidět organizační body a časový rozvrh pořadu dne"
-#: agenda/models.py:131 agenda/views.py:142
+#: agenda/models.py:137 agenda/views.py:142
msgid "Agenda items can not be child elements of an organizational item."
msgstr "Položky pořadu jednání nemohou být potomky organizačních položek."
-#: agenda/models.py:133
+#: agenda/models.py:139
msgid "Organizational items can not have agenda items as child elements."
msgstr "Organizační položky nemohou mít položky pořadu jednání jako potomky."
-#: agenda/models.py:348
+#: agenda/models.py:354
#, python-format
msgid "%(person)s is already on the list of speakers of item %(id)s."
msgstr "%(person)s je již na seznamu řečníků položky %(id)s."
-#: agenda/models.py:352
+#: agenda/models.py:358
msgid "An anonymous user can not be on lists of speakers."
msgstr "Anonymní uživatel nemůže být v seznamu řečníků."
-#: agenda/models.py:392
+#: agenda/models.py:398
msgid "Can put oneself on the list of speakers"
msgstr "Smí se sám umístit na seznamu řečníků"
@@ -237,43 +237,43 @@ msgstr "Nejste oprávněn ke správě pořadu jednání."
msgid "Errors when reordering of the agenda"
msgstr "Chyba při přeuspořádávání pořadu jednání."
-#: agenda/views.py:290
+#: agenda/views.py:288
msgid "Yes, with all child items."
msgstr "Ano, se všemi podřízenými prvky."
-#: agenda/views.py:315
+#: agenda/views.py:313
#, python-format
msgid "Item %s was successfully deleted."
msgstr "Položka %s byla úspěšně smazána."
-#: agenda/views.py:317
+#: agenda/views.py:315
#, python-format
msgid "Item %s and its children were successfully deleted."
msgstr "Položka %s a její podřízené prvky byly úspěšně smazány."
-#: agenda/views.py:350
+#: agenda/views.py:341
msgid ""
"Do you really want to generate agenda numbering? Manually added item numbers"
" will be overwritten!"
msgstr "Opravdu chcete vytvořit číslování pořadu jednání? Ručně přidaná čísla položek budou přepsána!"
-#: agenda/views.py:359
+#: agenda/views.py:350
msgid "The agenda has been numbered."
msgstr "Pořad jednání byl očíslován."
-#: agenda/views.py:393 agenda/views.py:624
+#: agenda/views.py:383 agenda/views.py:618
msgid "The list of speakers is closed."
msgstr "Seznam řečníků je uzavřen."
-#: agenda/views.py:400 agenda/views.py:633
+#: agenda/views.py:390 agenda/views.py:627
msgid "You were successfully added to the list of speakers."
msgstr "Byl jste úspěšně přidán do seznamu řečníků."
-#: agenda/views.py:424
+#: agenda/views.py:437
msgid "You are not on the list of speakers."
msgstr "Nejste na seznamu řečníků."
-#: agenda/views.py:447
+#: agenda/views.py:448
msgid "Do you really want to remove yourself from the list of speakers?"
msgstr "Opravdu se chcete odstranit ze seznamu řečníků?"
@@ -282,56 +282,56 @@ msgstr "Opravdu se chcete odstranit ze seznamu řečníků?"
msgid "%(person)s is not on the list of %(item)s."
msgstr "%(person)s není na seznamu řečníků %(item)s."
-#: agenda/views.py:494
+#: agenda/views.py:493
#, python-format
msgid "There is no one speaking at the moment according to %(item)s."
msgstr "Nyní nemluví žádný řečník podle %(item)s."
-#: agenda/views.py:559
+#: agenda/views.py:553
msgid "Could not change order. Invalid data."
msgstr "Nepodařilo se změnit pořadí. Neplatná data."
-#: agenda/views.py:618
+#: agenda/views.py:612
msgid ""
"There is no list of speakers for the current slide. Please choose the agenda"
" item manually from the agenda."
msgstr "Pro nynější snímek není žádný seznam řečníků. Zvolte, prosím, položku pořadu jednání ručně z pořadu jednání."
-#: agenda/views.py:637
+#: agenda/views.py:631
msgid "You can not put yourself on the list of speakers."
msgstr "Nemůžete se sám umístit na seznam řečníků."
-#: agenda/views.py:646
+#: agenda/views.py:640
#, python-format
msgid "%s is now speaking."
msgstr "%s nyní mluví."
-#: agenda/views.py:648
+#: agenda/views.py:642
#: agenda/templates/agenda/item_slide_list_of_speaker.html:26
#: agenda/templates/agenda/overlay_speaker_projector.html:20
msgid "The list of speakers is empty."
msgstr "Seznam řečníků je prázdný."
-#: agenda/views.py:656
+#: agenda/views.py:650
msgid "There is no one speaking at the moment."
msgstr "Nyní nemluví nikdo."
-#: agenda/views.py:659
+#: agenda/views.py:653
#, python-format
msgid "%s is now finished."
msgstr "%s je nyní hotový."
-#: agenda/views.py:716 agenda/widgets.py:44
+#: agenda/views.py:710 agenda/widgets.py:44
#: agenda/templates/agenda/current_list_of_speakers_projector.html:4
#: agenda/templates/agenda/item_slide_list_of_speaker.html:9
#: agenda/templates/agenda/overlay_speaker_projector.html:7
#: agenda/templates/agenda/overlay_speaker_widget.html:4
-#: agenda/templates/agenda/overview.html:43
-#: agenda/templates/agenda/view.html:60
+#: agenda/templates/agenda/overview.html:57
+#: agenda/templates/agenda/view.html:68
msgid "List of speakers"
msgstr "Seznam řečníků"
-#: agenda/views.py:716
+#: agenda/views.py:710
msgid "Not available."
msgstr "Nedostupné."
@@ -352,12 +352,13 @@ msgstr "Nová položka"
#: assignment/templates/assignment/assignment_form.html:26
#: core/templates/core/customslide_update.html:10
#: core/templates/core/select_widgets.html:10
+#: core/templates/core/tag_list.html:11
#: mediafile/templates/mediafile/mediafile_form.html:22
#: motion/templates/motion/category_list.html:15
-#: motion/templates/motion/motion_detail.html:35
-#: motion/templates/motion/motion_form.html:50
+#: motion/templates/motion/motion_detail.html:38
+#: motion/templates/motion/motion_form.html:33
#: motion/templates/motion/motion_form_csv_import.html:11
-#: participant/templates/participant/edit.html:42
+#: participant/templates/participant/edit.html:24
#: participant/templates/participant/group_detail.html:12
#: participant/templates/participant/group_edit.html:22
#: participant/templates/participant/user_detail.html:12
@@ -378,10 +379,10 @@ msgstr "Upravit %(type)s %(name)s"
#: config/templates/config/config_form.html:47
#: mediafile/templates/mediafile/mediafile_form.html:33
#: motion/templates/motion/category_form.html:27
-#: motion/templates/motion/motion_form.html:59
+#: motion/templates/motion/motion_form.html:42
#: motion/templates/motion/motion_form_csv_import.html:42
#: motion/templates/motion/motionpoll_form.html:84
-#: participant/templates/participant/edit.html:56
+#: participant/templates/participant/edit.html:38
#: participant/templates/participant/group_edit.html:31
#: participant/templates/participant/user_form_csv_import.html:44
#: participant/templates/participant/user_form_multiple.html:23
@@ -395,9 +396,9 @@ msgstr "Zrušit"
#: core/templates/core/customslide_update.html:18
#: mediafile/templates/mediafile/mediafile_form.html:35
#: motion/templates/motion/category_form.html:30
-#: motion/templates/motion/motion_form.html:62
+#: motion/templates/motion/motion_form.html:45
#: motion/templates/motion/motion_form_csv_import.html:45
-#: participant/templates/participant/edit.html:59
+#: participant/templates/participant/edit.html:41
#: participant/templates/participant/group_edit.html:34
#: participant/templates/participant/user_form_csv_import.html:47
#: participant/templates/participant/user_form_multiple.html:26
@@ -406,7 +407,7 @@ msgstr "požadováno"
#: agenda/templates/agenda/item_form_csv_import.html:5
#: agenda/templates/agenda/item_form_csv_import.html:9
-#: agenda/templates/agenda/overview.html:38
+#: agenda/templates/agenda/overview.html:49
msgid "Import agenda items"
msgstr "Zavést položky pořadu jednání"
@@ -453,9 +454,9 @@ msgid "Use the CSV example file from OpenSlides Wiki."
msgstr "Použijte ukázkový soubor CSV z OpenSlides Wiki."
#: agenda/templates/agenda/item_form_csv_import.html:39
-#: agenda/templates/agenda/overview.html:38
+#: agenda/templates/agenda/overview.html:51
#: motion/templates/motion/motion_form_csv_import.html:39
-#: motion/templates/motion/motion_list.html:41
+#: motion/templates/motion/motion_list.html:50
#: participant/templates/participant/overview.html:26
#: participant/templates/participant/user_form_csv_import.html:41
msgid "Import"
@@ -466,20 +467,21 @@ msgid "Show agenda item"
msgstr "Promítat položku pořadu jednání"
#: agenda/templates/agenda/item_row.html:16
-#: agenda/templates/agenda/view.html:72
+#: agenda/templates/agenda/view.html:80
#: agenda/templates/agenda/widget_item.html:42
msgid "Show list of speakers"
msgstr "Promítat seznam řečníků"
#: agenda/templates/agenda/item_row.html:22
#: agenda/templates/agenda/widget_item.html:32
-#: assignment/templates/assignment/assignment_detail.html:173
-#: assignment/templates/assignment/assignment_list.html:68
+#: assignment/templates/assignment/assignment_detail.html:178
+#: assignment/templates/assignment/assignment_list.html:78
#: assignment/templates/assignment/widget_assignment.html:16
+#: core/templates/core/tag_list.html:31 core/templates/core/tag_list.html:45
#: core/templates/core/widget_customslide.html:34
#: mediafile/templates/mediafile/mediafile_list.html:38
#: motion/templates/motion/category_list.html:30
-#: motion/templates/motion/motion_list.html:103
+#: motion/templates/motion/motion_list.html:123
#: motion/templates/motion/widget_motion.html:16
#: participant/templates/participant/group_overview.html:58
#: participant/templates/participant/overview.html:117
@@ -489,14 +491,15 @@ msgid "Edit"
msgstr "Upravit"
#: agenda/templates/agenda/item_row.html:25
-#: agenda/templates/agenda/view.html:128
-#: assignment/templates/assignment/assignment_detail.html:175
-#: assignment/templates/assignment/assignment_list.html:72
+#: agenda/templates/agenda/view.html:136
+#: assignment/templates/assignment/assignment_detail.html:180
+#: assignment/templates/assignment/assignment_list.html:82
+#: core/templates/core/tag_list.html:34 core/templates/core/tag_list.html:48
#: core/templates/core/widget_customslide.html:30
#: mediafile/templates/mediafile/mediafile_list.html:39
#: motion/templates/motion/category_list.html:33
-#: motion/templates/motion/motion_detail.html:146
-#: motion/templates/motion/motion_list.html:106
+#: motion/templates/motion/motion_detail.html:149
+#: motion/templates/motion/motion_list.html:126
#: participant/templates/participant/group_overview.html:62
#: participant/templates/participant/overview.html:122
msgid "Delete"
@@ -529,7 +532,7 @@ msgstr "Položka zavřena"
#: agenda/templates/agenda/item_slide_list_of_speaker.html:10
#: agenda/templates/agenda/overlay_speaker_projector.html:7
-#: agenda/templates/agenda/view.html:60
+#: agenda/templates/agenda/view.html:68
msgid "closed"
msgstr "zavřeno"
@@ -542,31 +545,31 @@ msgid "Do you want to save the changed order of agenda items?"
msgstr "Chcete uložit změněné pořadí položek?"
#: agenda/templates/agenda/overview.html:29
-#: agenda/templates/agenda/view.html:84 assignment/models.py:334
-#: assignment/views.py:588
-#: assignment/templates/assignment/assignment_detail.html:211
-#: assignment/templates/assignment/assignment_detail.html:215
+#: agenda/templates/agenda/view.html:92 assignment/models.py:336
+#: assignment/views.py:573
+#: assignment/templates/assignment/assignment_detail.html:216
+#: assignment/templates/assignment/assignment_detail.html:220
#: assignment/templates/assignment/assignmentpoll_slide.html:24
-#: motion/models.py:712 motion/pdf.py:129 motion/pdf.py:274
-#: motion/templates/motion/motion_detail.html:230
+#: motion/models.py:749 motion/pdf.py:128 motion/pdf.py:273
+#: motion/templates/motion/motion_detail.html:233
#: motion/templates/motion/motionpoll_slide.html:20
-#: motion/templates/motion/slide.html:23 utils/views.py:330
+#: motion/templates/motion/slide.html:23 utils/views.py:359
msgid "Yes"
msgstr "Ano"
#: agenda/templates/agenda/overview.html:30
-#: agenda/templates/agenda/view.html:85 assignment/models.py:334
-#: assignment/views.py:589
-#: assignment/templates/assignment/assignment_detail.html:212
+#: agenda/templates/agenda/view.html:93 assignment/models.py:336
+#: assignment/views.py:574
+#: assignment/templates/assignment/assignment_detail.html:217
#: assignment/templates/assignment/assignmentpoll_slide.html:26
-#: motion/models.py:712 motion/pdf.py:129 motion/pdf.py:276
-#: motion/templates/motion/motion_detail.html:231
+#: motion/models.py:749 motion/pdf.py:128 motion/pdf.py:275
+#: motion/templates/motion/motion_detail.html:234
#: motion/templates/motion/motionpoll_slide.html:24
-#: motion/templates/motion/slide.html:24 utils/views.py:330
+#: motion/templates/motion/slide.html:24 utils/views.py:359
msgid "No"
msgstr "Ne"
-#: agenda/templates/agenda/overview.html:37
+#: agenda/templates/agenda/overview.html:39
#: assignment/templates/assignment/assignment_list.html:22
#: core/templates/core/widget_customslide.html:47
#: mediafile/templates/mediafile/mediafile_list.html:12
@@ -577,61 +580,76 @@ msgstr "Ne"
msgid "New"
msgstr "Nový"
-#: agenda/templates/agenda/overview.html:40
+#: agenda/templates/agenda/overview.html:43
+#: assignment/templates/assignment/assignment_list.html:25
+#: motion/templates/motion/motion_list.html:40
+msgid "Manage tags"
+msgstr "Spravovat značky"
+
+#: agenda/templates/agenda/overview.html:45
+#: assignment/templates/assignment/assignment_list.html:27
+#: core/templates/core/tag_list.html:5 core/templates/core/tag_list.html:8
+#: motion/forms.py:54 motion/templates/motion/motion_detail.html:279
+#: motion/templates/motion/motion_list.html:42
+msgid "Tags"
+msgstr "Značky"
+
+#: agenda/templates/agenda/overview.html:54
msgid "Print agenda as PDF"
msgstr "Vytisknout pořad jednání jako PDF"
-#: agenda/templates/agenda/overview.html:42
+#: agenda/templates/agenda/overview.html:56
msgid "Current list of speakers"
msgstr "Nynější seznam řečníků"
-#: agenda/templates/agenda/overview.html:52
+#: agenda/templates/agenda/overview.html:66
msgid "Number agenda items"
msgstr "Očíslovat položky pořadu jednání"
-#: agenda/templates/agenda/overview.html:57
+#: agenda/templates/agenda/overview.html:71
msgid "Hide closed items"
msgstr "Skrýt zavřené události"
-#: agenda/templates/agenda/overview.html:60
+#: agenda/templates/agenda/overview.html:74
msgid "item"
msgid_plural "items"
msgstr[0] "položka"
msgstr[1] "položky"
msgstr[2] "položek"
-#: agenda/templates/agenda/overview.html:68
+#: agenda/templates/agenda/overview.html:82
msgid "Start of event"
msgstr "Začátek události"
-#: agenda/templates/agenda/overview.html:72
+#: agenda/templates/agenda/overview.html:86
msgid "Estimated end"
msgstr "Odhadovaný konec"
-#: agenda/templates/agenda/overview.html:77
+#: agenda/templates/agenda/overview.html:91
msgid "Set start time of event"
msgstr "Stanovit začátek události"
-#: agenda/templates/agenda/overview.html:84
+#: agenda/templates/agenda/overview.html:98
msgid "Item"
msgstr "Položka"
-#: agenda/templates/agenda/overview.html:92
-#: assignment/templates/assignment/assignment_list.html:37
+#: agenda/templates/agenda/overview.html:106
+#: assignment/templates/assignment/assignment_list.html:43
+#: core/templates/core/tag_list.html:25
#: mediafile/templates/mediafile/mediafile_list.html:24
#: motion/templates/motion/category_list.html:23
-#: motion/templates/motion/motion_detail.html:122
-#: motion/templates/motion/motion_list.html:60
+#: motion/templates/motion/motion_detail.html:125
+#: motion/templates/motion/motion_list.html:69
#: participant/templates/participant/group_overview.html:33
#: participant/templates/participant/overview.html:57
msgid "Actions"
msgstr "Činnosti"
-#: agenda/templates/agenda/overview.html:111
+#: agenda/templates/agenda/overview.html:125
msgid "Show agenda"
msgstr "Promítat pořad jednání"
-#: agenda/templates/agenda/overview.html:134
+#: agenda/templates/agenda/overview.html:148
#: agenda/templates/agenda/widget_item.html:59
#: core/templates/core/widget_customslide.html:43
msgid "No items available."
@@ -643,7 +661,7 @@ msgstr "Promítat položku"
#: agenda/templates/agenda/view.html:33
#: assignment/templates/assignment/assignment_detail.html:34
-#: motion/templates/motion/motion_detail.html:48
+#: motion/templates/motion/motion_detail.html:51
#: participant/templates/participant/group_detail.html:22
#: participant/templates/participant/user_detail.html:22
msgid "More actions"
@@ -653,57 +671,57 @@ msgstr "Další činnosti"
msgid "Delete item"
msgstr "Smazat položku"
-#: agenda/templates/agenda/view.html:64
+#: agenda/templates/agenda/view.html:72
msgid "Open list"
msgstr "Otevřít seznam"
-#: agenda/templates/agenda/view.html:66
+#: agenda/templates/agenda/view.html:74
msgid "Close list"
msgstr "Zavřít seznam"
-#: agenda/templates/agenda/view.html:74
+#: agenda/templates/agenda/view.html:82
msgid "Show list"
msgstr "Promítat seznam"
-#: agenda/templates/agenda/view.html:82
+#: agenda/templates/agenda/view.html:90
msgid "Do you want to save the changed order of speakers?"
msgstr "Chcete uložit změněné pořadí řečníků?"
-#: agenda/templates/agenda/view.html:93
+#: agenda/templates/agenda/view.html:101
msgid "Last speakers"
msgstr "Poslední řečník"
-#: agenda/templates/agenda/view.html:96
+#: agenda/templates/agenda/view.html:104
msgid "Show all speakers"
msgstr "Ukázat všechny řečníky"
-#: agenda/templates/agenda/view.html:100
+#: agenda/templates/agenda/view.html:108
msgid "Current speaker"
msgstr "Nynější řečník"
-#: agenda/templates/agenda/view.html:102
+#: agenda/templates/agenda/view.html:110
msgid "Next speakers"
msgstr "Další řečník"
-#: agenda/templates/agenda/view.html:122
+#: agenda/templates/agenda/view.html:130
#: agenda/templates/agenda/widget_list_of_speakers.html:12
msgid "End speach"
msgstr "Ukončit projev"
-#: agenda/templates/agenda/view.html:125
+#: agenda/templates/agenda/view.html:133
msgid "Begin speach"
msgstr "Začít projev"
-#: agenda/templates/agenda/view.html:140
+#: agenda/templates/agenda/view.html:148
msgid "Remove me from the list"
msgstr "Odstranit mě ze seznamu"
-#: agenda/templates/agenda/view.html:142
+#: agenda/templates/agenda/view.html:150
msgid "Put me on the list"
msgstr "Dát mě na seznam"
-#: agenda/templates/agenda/view.html:152
-#: assignment/templates/assignment/assignment_detail.html:112
+#: agenda/templates/agenda/view.html:160
+#: assignment/templates/assignment/assignment_detail.html:117
#: assignment/templates/assignment/assignmentpoll_form.html:105
#: core/templates/formbuttons_saveapply.html:7
#: mediafile/templates/mediafile/widget_pdfpresentation.html:32
@@ -712,8 +730,8 @@ msgstr "Dát mě na seznam"
msgid "Apply"
msgstr "Použít"
-#: agenda/templates/agenda/view.html:154
-#: assignment/templates/assignment/assignment_detail.html:115
+#: agenda/templates/agenda/view.html:162
+#: assignment/templates/assignment/assignment_detail.html:120
msgid "Add new participant"
msgstr "Přidat nového účastníka"
@@ -724,7 +742,7 @@ msgstr "Přidat nového účastníka"
#: core/templates/core/widget_customslide.html:25
#: mediafile/templates/mediafile/mediafile_list.html:41
#: mediafile/templates/mediafile/widget_pdfpresentation.html:41
-#: motion/templates/motion/motion_detail.html:142
+#: motion/templates/motion/motion_detail.html:145
#: motion/templates/motion/widget_motion.html:11
#: participant/templates/participant/widget_group.html:11
#: participant/templates/participant/widget_user.html:11
@@ -754,8 +772,8 @@ msgstr "Další řečník"
msgid "Go to current list of speakers"
msgstr "Jít na nynější seznam řečníků"
-#: assignment/forms.py:14 assignment/models.py:56 assignment/views.py:353
-#: assignment/templates/assignment/assignment_detail.html:296
+#: assignment/forms.py:14 assignment/models.py:57 assignment/views.py:350
+#: assignment/templates/assignment/assignment_detail.html:301
#: assignment/templates/assignment/slide.html:11
msgid "Number of available posts"
msgstr "Počet míst dostupných pro volbu"
@@ -765,61 +783,61 @@ msgid "Nominate a participant"
msgstr "Navrhnout účastníka"
#: assignment/main_menu.py:12 assignment/signals.py:75
-#: assignment/signals.py:93 assignment/views.py:308 assignment/widgets.py:15
+#: assignment/signals.py:93 assignment/views.py:302 assignment/widgets.py:15
#: assignment/templates/assignment/assignment_list.html:7
#: assignment/templates/assignment/assignment_list.html:19
msgid "Elections"
msgstr "Volby"
-#: assignment/models.py:49
-#: assignment/templates/assignment/assignment_detail.html:306
+#: assignment/models.py:50
+#: assignment/templates/assignment/assignment_detail.html:311
msgid "Searching for candidates"
msgstr "Hledání uchazečů"
-#: assignment/models.py:50
-#: assignment/templates/assignment/assignment_detail.html:309
+#: assignment/models.py:51
+#: assignment/templates/assignment/assignment_detail.html:314
msgid "Voting"
msgstr "Hlasování"
-#: assignment/models.py:51
-#: assignment/templates/assignment/assignment_detail.html:312
+#: assignment/models.py:52
+#: assignment/templates/assignment/assignment_detail.html:317
msgid "Finished"
msgstr "Dokončeno"
-#: assignment/models.py:54 participant/templates/participant/overview.html:50
+#: assignment/models.py:55 participant/templates/participant/overview.html:50
msgid "Name"
msgstr "Název"
-#: assignment/models.py:55
-#: assignment/templates/assignment/assignment_detail.html:56
+#: assignment/models.py:56
+#: assignment/templates/assignment/assignment_detail.html:61
#: participant/models.py:123
msgid "Description"
msgstr "Popis"
-#: assignment/models.py:59
+#: assignment/models.py:60
msgid "Default comment on the ballot paper"
msgstr "Výchozí poznámka na hlasovacím lístku"
-#: assignment/models.py:64
+#: assignment/models.py:66
msgid "Can see elections"
msgstr "Smí vidět volby"
-#: assignment/models.py:65
+#: assignment/models.py:67
msgid "Can nominate another person"
msgstr "Smí navrhovat jiné osoby pro volby"
-#: assignment/models.py:66
+#: assignment/models.py:68
msgid "Can nominate oneself"
msgstr "Smí se sám ucházet ve volbách"
-#: assignment/models.py:67
+#: assignment/models.py:69
msgid "Can manage elections"
msgstr "Smí spravovat volby"
-#: assignment/models.py:70 assignment/views.py:512 assignment/views.py:529
+#: assignment/models.py:72 assignment/views.py:497 assignment/views.py:514
#: assignment/templates/assignment/assignment_detail.html:8
#: assignment/templates/assignment/assignment_detail.html:19
-#: assignment/templates/assignment/assignment_list.html:33
+#: assignment/templates/assignment/assignment_list.html:39
#: assignment/templates/assignment/assignmentpoll_form.html:7
#: assignment/templates/assignment/assignmentpoll_slide.html:10
#: assignment/templates/assignment/slide.html:18
@@ -827,53 +845,53 @@ msgstr "Smí spravovat volby"
msgid "Election"
msgstr "Volba"
-#: assignment/models.py:95
+#: assignment/models.py:97
#, python-format
msgid "%s is not a valid status."
msgstr "%s není platný stav."
-#: assignment/models.py:98
+#: assignment/models.py:100
#, python-format
msgid "The election status is already %s."
msgstr "Stav voleb je již %s."
-#: assignment/models.py:111
+#: assignment/models.py:113
#, python-format
msgid "%s is already a candidate."
msgstr "%s je již uchazečem."
-#: assignment/models.py:113 assignment/views.py:152
+#: assignment/models.py:115 assignment/views.py:149
msgid "The candidate list is already closed."
msgstr "Seznam uchazečů je již uzavřen."
-#: assignment/models.py:120
+#: assignment/models.py:122
#, python-format
msgid "%s does not want to be a candidate."
msgstr "%s se nechce ucházet."
-#: assignment/models.py:134
+#: assignment/models.py:136
#, python-format
msgid "%s is no candidate"
msgstr "%s není uchazečem"
-#: assignment/models.py:280 assignment/views.py:305
+#: assignment/models.py:282 assignment/views.py:299
msgid "Assignment"
msgstr "Volba"
-#: assignment/models.py:307
+#: assignment/models.py:309
msgid "Comment on the ballot paper"
msgstr "Poznámka na hlasovacím lístku"
-#: assignment/models.py:310
+#: assignment/models.py:312
#, python-format
msgid "Ballot %d"
msgstr "Volba %d"
-#: assignment/models.py:334 motion/models.py:712
+#: assignment/models.py:336 motion/models.py:749
msgid "Abstain"
msgstr "Zdržení se"
-#: assignment/models.py:336 motion/templates/motion/motionpoll_form.html:45
+#: assignment/models.py:338 motion/templates/motion/motionpoll_form.html:45
msgid "Votes"
msgstr "Hlasy"
@@ -901,23 +919,23 @@ msgstr "Ano, Ne, Zdržení se pro uchazeče"
msgid "The 100 % base of an election result consists of"
msgstr "100 % základ volebních výsledků se skládá z"
-#: assignment/signals.py:44 motion/signals.py:104
+#: assignment/signals.py:44 motion/signals.py:123
msgid "Number of ballot papers (selection)"
msgstr "Počet hlasovacích lístků (předběžná volba)"
-#: assignment/signals.py:46 motion/signals.py:106
+#: assignment/signals.py:46 motion/signals.py:125
msgid "Number of all delegates"
msgstr "Počet všech zástupců"
-#: assignment/signals.py:47 motion/signals.py:107
+#: assignment/signals.py:47 motion/signals.py:126
msgid "Number of all participants"
msgstr "Počet všech účastníků"
-#: assignment/signals.py:48 motion/signals.py:108
+#: assignment/signals.py:48 motion/signals.py:127
msgid "Use the following custom number"
msgstr "Použít následující uživatelsky stanovený počet"
-#: assignment/signals.py:56 motion/signals.py:116
+#: assignment/signals.py:56 motion/signals.py:135
msgid "Custom number of ballot papers"
msgstr "Uživatelsky stanovený počet hlasovacích lístků"
@@ -937,110 +955,106 @@ msgstr "Název dokumentu PDF (všechny volby)"
msgid "Preamble text for PDF document (all elections)"
msgstr "Text úvodu dokumentu PDF (všechny volby)"
-#: assignment/signals.py:89 motion/signals.py:144 participant/signals.py:97
+#: assignment/signals.py:89 motion/signals.py:163 participant/signals.py:97
msgid "PDF"
msgstr "PDF"
-#: assignment/views.py:75
+#: assignment/views.py:74
#, python-format
msgid "Candidate %s was nominated successfully."
msgstr "Uchazeč %s byl úspěšně navržen."
-#: assignment/views.py:114
+#: assignment/views.py:112
#, python-format
msgid "Election status was set to: %s."
msgstr "Stav voleb byl nastaven na: %s."
-#: assignment/views.py:131
+#: assignment/views.py:129
msgid "You have set your candidature successfully."
msgstr "Předložil jste své uchazečství úspěšně."
-#: assignment/views.py:149
+#: assignment/views.py:146
msgid ""
"You have withdrawn your candidature successfully. You can not be nominated "
"by other participants anymore."
msgstr "Stáhl jste své uchazečství úspěšně. Nyní už jinými účastníky nemůžete být navržen."
-#: assignment/views.py:162
+#: assignment/views.py:159
#, python-format
msgid "Do you really want to withdraw %s from the election?"
msgstr "Má být %s skutečně z volby stažen?"
-#: assignment/views.py:164
+#: assignment/views.py:161
#, python-format
msgid "Do you really want to unblock %s for the election?"
msgstr "Má být %s skutečně pro volby uvolněn?"
-#: assignment/views.py:183
+#: assignment/views.py:180
#, python-format
msgid "Candidate %s was withdrawn successfully."
msgstr "Uchazeč %s byl úspěšně stažen."
-#: assignment/views.py:185
+#: assignment/views.py:182
#, python-format
msgid "%s was unblocked successfully."
msgstr "%s byl úspěšně uvolněn."
-#: assignment/views.py:202
+#: assignment/views.py:197
msgid "New ballot was successfully created."
msgstr "Nové hlasování bylo úspěšně vytvořeno."
-#: assignment/views.py:238
+#: assignment/views.py:233
#, python-format
msgid "Ballot ID %d does not exist."
msgstr "ID hlasování %d neexistuje."
-#: assignment/views.py:263
+#: assignment/views.py:257
msgid "not elected"
msgstr "nezvolen"
-#: assignment/views.py:267 assignment/views.py:476
-#: assignment/templates/assignment/assignment_detail.html:76
+#: assignment/views.py:261 assignment/views.py:461
+#: assignment/templates/assignment/assignment_detail.html:81
msgid "elected"
msgstr "zvolen"
-#: assignment/views.py:293
+#: assignment/views.py:287
msgid "Ballot was successfully deleted."
msgstr "Hlasování bylo úspěšně smazáno."
-#: assignment/views.py:328
+#: assignment/views.py:322
msgid "No assignments available."
msgstr "Nejsou dostupné žádné volby."
-#: assignment/views.py:347
+#: assignment/views.py:341
#, python-format
msgid "Election: %s"
msgstr "Volba: %s"
-#: assignment/views.py:360 assignment/views.py:396
-#: assignment/templates/assignment/assignment_detail.html:65
-#: assignment/templates/assignment/assignment_detail.html:149
-#: assignment/templates/assignment/assignment_list.html:34
-#: assignment/templates/assignment/assignment_list.html:50
+#: assignment/views.py:357 assignment/views.py:385
+#: assignment/templates/assignment/assignment_detail.html:70
+#: assignment/templates/assignment/assignment_detail.html:154
+#: assignment/templates/assignment/assignment_list.html:40
+#: assignment/templates/assignment/assignment_list.html:60
#: assignment/templates/assignment/assignmentpoll_form.html:44
#: assignment/templates/assignment/slide.html:29
msgid "Candidates"
msgstr "Uchazeči"
-#: assignment/views.py:385
-#: assignment/templates/assignment/assignment_detail.html:145
+#: assignment/views.py:381
+#: assignment/templates/assignment/assignment_detail.html:150
#: assignment/templates/assignment/assignmentpoll_form.html:26
msgid "Election result"
msgstr "Výsledek volby"
-#: assignment/views.py:389
-#: assignment/templates/assignment/assignment_detail.html:153
+#: assignment/views.py:387
+#: assignment/templates/assignment/assignment_detail.html:158
#: assignment/templates/assignment/assignmentpoll_form.html:7
#: assignment/templates/assignment/assignmentpoll_form.html:13
#: assignment/templates/assignment/assignmentpoll_slide.html:11
msgid "ballot"
msgstr "Hlasování"
-#: assignment/views.py:392
-msgid "ballots"
-msgstr "Hlasování"
-
-#: assignment/views.py:417
+#: assignment/views.py:406
#, python-format
msgid ""
"Y: %(YES)s\n"
@@ -1048,48 +1062,48 @@ msgid ""
"A: %(ABSTAIN)s"
msgstr "A: %(YES)s\nN: %(NO)s\nZ: %(ABSTAIN)s"
-#: assignment/views.py:428
-#: assignment/templates/assignment/assignment_detail.html:229
+#: assignment/views.py:417
#: assignment/templates/assignment/assignment_detail.html:234
+#: assignment/templates/assignment/assignment_detail.html:239
#: assignment/templates/assignment/assignmentpoll_form.html:61
#: assignment/templates/assignment/assignmentpoll_slide.html:39
-#: motion/pdf.py:119 motion/templates/motion/motion_detail.html:236
+#: motion/pdf.py:118 motion/templates/motion/motion_detail.html:239
#: motion/templates/motion/motionpoll_form.html:54
#: motion/templates/motion/motionpoll_slide.html:33
#: motion/templates/motion/slide.html:29 poll/models.py:84
msgid "Valid votes"
msgstr "Platné hlasy"
-#: assignment/views.py:439
-#: assignment/templates/assignment/assignment_detail.html:245
+#: assignment/views.py:428
#: assignment/templates/assignment/assignment_detail.html:250
+#: assignment/templates/assignment/assignment_detail.html:255
#: assignment/templates/assignment/assignmentpoll_form.html:71
#: assignment/templates/assignment/assignmentpoll_slide.html:45
-#: motion/pdf.py:121 motion/templates/motion/motion_detail.html:239
+#: motion/pdf.py:120 motion/templates/motion/motion_detail.html:242
#: motion/templates/motion/motionpoll_form.html:58
#: motion/templates/motion/motionpoll_slide.html:39
#: motion/templates/motion/slide.html:32 poll/models.py:86
msgid "Invalid votes"
msgstr "Neplatné hlasy"
-#: assignment/views.py:450
-#: assignment/templates/assignment/assignment_detail.html:261
+#: assignment/views.py:439
#: assignment/templates/assignment/assignment_detail.html:266
+#: assignment/templates/assignment/assignment_detail.html:271
#: assignment/templates/assignment/assignmentpoll_form.html:81
#: assignment/templates/assignment/assignmentpoll_slide.html:51
-#: motion/pdf.py:123 motion/templates/motion/motion_detail.html:244
+#: motion/pdf.py:122 motion/templates/motion/motion_detail.html:247
#: motion/templates/motion/motionpoll_form.html:62
#: motion/templates/motion/motionpoll_slide.html:45
#: motion/templates/motion/slide.html:37 poll/models.py:88
msgid "Votes cast"
msgstr "Odevzdané hlasy"
-#: assignment/views.py:536
+#: assignment/views.py:521
#, python-format
msgid "%d. ballot"
msgstr "%d. hlasování"
-#: assignment/views.py:538
+#: assignment/views.py:523
#, python-format
msgid "%d candidate"
msgid_plural "%d candidates"
@@ -1097,7 +1111,7 @@ msgstr[0] "%d uchazeč"
msgstr[1] "%d uchazeči"
msgstr[2] "%d uchazečů"
-#: assignment/views.py:540
+#: assignment/views.py:525
#, python-format
msgid "%d available post"
msgid_plural "%d available posts"
@@ -1105,11 +1119,11 @@ msgstr[0] "%d dostupné místo"
msgstr[1] "%d dostupná místa"
msgstr[2] "%d dostupných míst"
-#: assignment/views.py:590
-#: assignment/templates/assignment/assignment_detail.html:213
+#: assignment/views.py:575
+#: assignment/templates/assignment/assignment_detail.html:218
#: assignment/templates/assignment/assignmentpoll_slide.html:28
-#: motion/pdf.py:129 motion/pdf.py:278
-#: motion/templates/motion/motion_detail.html:232
+#: motion/pdf.py:128 motion/pdf.py:277
+#: motion/templates/motion/motion_detail.html:235
#: motion/templates/motion/motionpoll_slide.html:28
#: motion/templates/motion/slide.html:25
msgid "Abstention"
@@ -1120,7 +1134,7 @@ msgid "Print election as PDF"
msgstr "Vytisknout volbu jako PDF"
#: assignment/templates/assignment/assignment_detail.html:27
-#: assignment/templates/assignment/assignment_list.html:62
+#: assignment/templates/assignment/assignment_list.html:72
#: assignment/templates/assignment/assignmentpoll_form.html:21
msgid "Show election"
msgstr "Promítnout volbu"
@@ -1136,88 +1150,88 @@ msgid "Delete election"
msgstr "Smazat volbu"
#: assignment/templates/assignment/assignment_detail.html:45
-#: motion/templates/motion/motion_detail.html:63
+#: motion/templates/motion/motion_detail.html:66
msgid "New agenda item"
msgstr "Nová položka pořadu jednání"
-#: assignment/templates/assignment/assignment_detail.html:72
-#: assignment/templates/assignment/assignment_detail.html:132
+#: assignment/templates/assignment/assignment_detail.html:77
+#: assignment/templates/assignment/assignment_detail.html:137
msgid "Remove candidate"
msgstr "Odstranit uchazeče"
-#: assignment/templates/assignment/assignment_detail.html:79
+#: assignment/templates/assignment/assignment_detail.html:84
msgid "Mark candidate as not elected"
msgstr "Označit uchazeče jako nezvoleného"
-#: assignment/templates/assignment/assignment_detail.html:87
+#: assignment/templates/assignment/assignment_detail.html:92
#: assignment/templates/assignment/slide.html:35
msgid "No candidates available."
msgstr "Nejsou dostupní žádní uchazeči."
-#: assignment/templates/assignment/assignment_detail.html:97
+#: assignment/templates/assignment/assignment_detail.html:102
msgid "Withdraw self candidature"
msgstr "Stáhnout vlastní uchazečství"
-#: assignment/templates/assignment/assignment_detail.html:101
+#: assignment/templates/assignment/assignment_detail.html:106
msgid "Self candidature"
msgstr "Ucházet se sám"
-#: assignment/templates/assignment/assignment_detail.html:126
+#: assignment/templates/assignment/assignment_detail.html:131
msgid "Blocked Candidates"
msgstr "Blokovaní uchazeči"
-#: assignment/templates/assignment/assignment_detail.html:137
+#: assignment/templates/assignment/assignment_detail.html:142
msgid "No blocked candidates available."
msgstr "Nejsou dostupní žádní blokovaní uchazeči."
-#: assignment/templates/assignment/assignment_detail.html:157
+#: assignment/templates/assignment/assignment_detail.html:162
msgid "Publish result"
msgstr "Zveřejnit výsledek"
-#: assignment/templates/assignment/assignment_detail.html:168
+#: assignment/templates/assignment/assignment_detail.html:173
#: assignment/templates/assignment/assignmentpoll_form.html:25
msgid "Show election result"
msgstr "Ukázat výsledek volby"
-#: assignment/templates/assignment/assignment_detail.html:171
+#: assignment/templates/assignment/assignment_detail.html:176
#: assignment/templates/assignment/assignmentpoll_form.html:96
-#: motion/templates/motion/motion_detail.html:221
+#: motion/templates/motion/motion_detail.html:224
#: motion/templates/motion/motionpoll_form.html:72
msgid "Ballot paper as PDF"
msgstr "Hlasovací lístek jako PDF"
-#: assignment/templates/assignment/assignment_detail.html:183
-#: assignment/templates/assignment/assignment_detail.html:282
+#: assignment/templates/assignment/assignment_detail.html:188
+#: assignment/templates/assignment/assignment_detail.html:287
msgid "New ballot"
msgstr "Nové hlasování"
-#: assignment/templates/assignment/assignment_detail.html:194
-#: assignment/templates/assignment/assignment_detail.html:203
+#: assignment/templates/assignment/assignment_detail.html:199
+#: assignment/templates/assignment/assignment_detail.html:208
msgid "Mark candidate as elected"
msgstr "Označit uchazeče jako zvoleného"
-#: assignment/templates/assignment/assignment_detail.html:197
+#: assignment/templates/assignment/assignment_detail.html:202
msgid "Candidate is elected"
msgstr "Uchazeč je zvolen"
-#: assignment/templates/assignment/assignment_detail.html:217
+#: assignment/templates/assignment/assignment_detail.html:222
msgid "was not a
candidate"
msgstr "nebyl
uchazečem"
-#: assignment/templates/assignment/assignment_detail.html:278
+#: assignment/templates/assignment/assignment_detail.html:283
msgid "No ballots available."
msgstr "Nejsou dostupná žádná hlasování."
-#: assignment/templates/assignment/assignment_detail.html:293
-#: assignment/templates/assignment/assignment_list.html:35
+#: assignment/templates/assignment/assignment_detail.html:298
+#: assignment/templates/assignment/assignment_list.html:41
#: assignment/templates/assignment/slide.html:9
-#: motion/templates/motion/motion_detail.html:203
-#: motion/templates/motion/motion_list.html:53
+#: motion/templates/motion/motion_detail.html:206
+#: motion/templates/motion/motion_list.html:62
#: motion/templates/motion/slide.html:8
msgid "Status"
msgstr "Stav"
-#: assignment/templates/assignment/assignment_detail.html:302
+#: assignment/templates/assignment/assignment_detail.html:307
msgid "Change status"
msgstr "Změnit stav"
@@ -1232,16 +1246,16 @@ msgstr "Nová volba"
msgid "Back to election"
msgstr "Zpět k volbě"
-#: assignment/templates/assignment/assignment_list.html:25
+#: assignment/templates/assignment/assignment_list.html:31
msgid "Print all elections as PDF"
msgstr "Vytisknout všechny volby jako PDF"
-#: assignment/templates/assignment/assignment_list.html:46
+#: assignment/templates/assignment/assignment_list.html:56
msgctxt "Number of searched candidates for an election"
msgid "Posts"
msgstr "Místa"
-#: assignment/templates/assignment/assignment_list.html:53
+#: assignment/templates/assignment/assignment_list.html:63
msgid "Elected"
msgstr "Zvolen"
@@ -1273,6 +1287,7 @@ msgstr "Krátký popis (pro hlasovací lístek)"
#: core/templates/formbuttons_save.html:4
#: core/templates/formbuttons_saveapply.html:4
#: core/templates/core/select_widgets.html:28
+#: core/templates/core/tag_list.html:19
#: motion/templates/motion/motionpoll_form.html:78
msgid "Save"
msgstr "Uložit"
@@ -1330,6 +1345,14 @@ msgstr "Smí vidět nástěnku"
msgid "Can use the chat"
msgstr "Smí použít rozhovor"
+#: core/models.py:49 core/templates/core/tag_list.html:24
+msgid "Tag"
+msgstr "Značka"
+
+#: core/models.py:54
+msgid "Can manage tags"
+msgstr "Smí spravovat značky"
+
#: core/signals.py:26
msgid "Event name"
msgstr "Název události"
@@ -1424,31 +1447,31 @@ msgstr "Systém"
msgid "General"
msgstr "Obecné"
-#: core/views.py:81
+#: core/views.py:83
msgid "There are errors in the form."
msgstr "Ve formuláři jsou chyby."
-#: core/views.py:167
+#: core/views.py:169
msgid "Forbidden"
msgstr "Zakázáno"
-#: core/views.py:168
+#: core/views.py:170
msgid "Sorry, you have no permission to see this page."
msgstr "Promiňte, nemáte žádné oprávnění k tomu, abyste se mohl podívat na tuto stránku."
-#: core/views.py:170
+#: core/views.py:172
msgid "Not Found"
msgstr "Nenalezeno"
-#: core/views.py:171
+#: core/views.py:173
msgid "Sorry, the requested page could not be found."
msgstr "Promiňte, požadovanou stránku se nepodařilo najít."
-#: core/views.py:173
+#: core/views.py:175
msgid "Internal Server Error"
msgstr "Vnitřní chyba serveru"
-#: core/views.py:174
+#: core/views.py:176
msgid "Sorry, there was an unknown error. Please contact the event manager."
msgstr "Promiňte, vyskytla se neznámá chyba. Spojte se, prosím, se správcem událostí."
@@ -1456,38 +1479,38 @@ msgstr "Promiňte, vyskytla se neznámá chyba. Spojte se, prosím, se správcem
msgid "Custom Slides"
msgstr "Vlastní snímky"
-#: core/templates/base.html:29
+#: core/templates/base.html:30
msgid "Home"
msgstr "Domovská stránka"
-#: core/templates/base.html:29
+#: core/templates/base.html:30
msgid "Logo"
msgstr "Logo"
-#: core/templates/base.html:36 core/templates/core/search.html:5
+#: core/templates/base.html:37 core/templates/core/search.html:5
#: core/templates/core/search.html.py:13 core/templates/core/search.html:16
msgid "Search"
msgstr "Hledání"
-#: core/templates/base.html:45
+#: core/templates/base.html:46
msgid "Chat"
msgstr "Rozhovor"
-#: core/templates/base.html:59
+#: core/templates/base.html:60
#: participant/templates/participant/settings.html:5
#: participant/templates/participant/settings.html:8
msgid "Edit profile"
msgstr "Upravit profil"
-#: core/templates/base.html:60
+#: core/templates/base.html:61
msgid "Change password"
msgstr "Změnit heslo"
-#: core/templates/base.html:62
+#: core/templates/base.html:63
msgid "Logout"
msgstr "Odhlásit se"
-#: core/templates/base.html:65 participant/templates/participant/login.html:6
+#: core/templates/base.html:66 participant/templates/participant/login.html:6
#: participant/templates/participant/login.html:43
msgid "Login"
msgstr "Přihlášení"
@@ -1526,13 +1549,21 @@ msgstr "Vybrat doplňky"
msgid "No widgets available"
msgstr "Nejsou dostupné žádné doplňky"
+#: core/templates/core/tag_list.html:17
+msgid "Enter new tag name"
+msgstr "Zadejte nový název značky"
+
+#: core/templates/core/tag_list.html:56
+msgid "You can use these tags for agenda items, motions and elections."
+msgstr "Těchto značek můžete užít na položky pořadu jednání, návrhy a volby"
+
#: core/templates/core/version.html:5 core/templates/core/version.html.py:8
-#: core/templates/core/version.html:16 motion/pdf.py:95 motion/views.py:363
+#: core/templates/core/version.html:16 motion/pdf.py:94 motion/views.py:443
#: motion/templates/motion/motion_detail.html:22
#: motion/templates/motion/motion_diff.html:35
#: motion/templates/motion/motion_diff.html:39
#: motion/templates/motion/motionpoll_slide.html:10
-#: motion/templates/motion/slide.html:80
+#: motion/templates/motion/slide.html:83
msgid "Version"
msgstr "Verze"
@@ -1690,105 +1721,105 @@ msgstr "Shrnutí"
msgid "%(counts)d of %(total)d motions successfully imported."
msgstr "%(counts)d z %(total)d návrhů úspěšně zavedeno."
-#: motion/forms.py:39 motion/models.py:542 motion/pdf.py:152
-#: motion/templates/motion/motion_detail.html:94
+#: motion/forms.py:38 motion/models.py:579 motion/pdf.py:151
+#: motion/templates/motion/motion_detail.html:97
#: motion/templates/motion/motion_diff.html:54
-#: motion/templates/motion/slide.html:91
+#: motion/templates/motion/slide.html:94
msgid "Reason"
msgstr "Zdůvodnění"
-#: motion/forms.py:47 motion/templates/motion/motion_detail.html:101
+#: motion/forms.py:46 motion/templates/motion/motion_detail.html:104
msgid "Attachments"
msgstr "Přílohy"
-#: motion/forms.py:77 motion/pdf.py:49
-#: motion/templates/motion/motion_detail.html:183
-#: motion/templates/motion/motion_list.html:54
+#: motion/forms.py:80 motion/pdf.py:48
+#: motion/templates/motion/motion_detail.html:186
+#: motion/templates/motion/motion_list.html:63
#: motion/templates/motion/slide.html:51
msgid "Submitter"
msgstr "Navrhovatel"
-#: motion/forms.py:92 motion/pdf.py:74 motion/signals.py:86
-#: motion/templates/motion/motion_detail.html:190
-#: motion/templates/motion/motion_list.html:56
+#: motion/forms.py:95 motion/pdf.py:73 motion/signals.py:105
+#: motion/templates/motion/motion_detail.html:193
+#: motion/templates/motion/motion_list.html:65
#: motion/templates/motion/slide.html:61
msgid "Supporters"
msgstr "Podporovatel"
-#: motion/forms.py:107
+#: motion/forms.py:110
msgid "Don't create a new version"
msgstr "Nevytvářet novou verzi"
-#: motion/forms.py:108
+#: motion/forms.py:111
msgid "Don't create a new version. Useful e.g. for trivial changes."
msgstr "Nevytvářet novou verzi. Užitečné například pro nepodstatné změny."
-#: motion/forms.py:121 motion/templates/motion/motion_detail.html:266
-#: motion/templates/motion/motion_list.html:52
+#: motion/forms.py:124 motion/templates/motion/motion_detail.html:272
+#: motion/templates/motion/motion_list.html:61
#: motion/templates/motion/slide.html:70
msgid "Category"
msgstr "Skupina"
-#: motion/forms.py:141 motion/signals.py:36
+#: motion/forms.py:144 motion/signals.py:36
msgid "Identifier"
msgstr "Identifikátor"
-#: motion/forms.py:156
+#: motion/forms.py:159
msgid "Workflow"
msgstr "Průběh práce"
-#: motion/forms.py:157
+#: motion/forms.py:160
msgid ""
"Set a specific workflow to switch to it. If you do so, the state of the "
"motion will be reset."
msgstr "Nastaví návrh na určitý průběh práce. V tom případě je stav návrhu nastaven znovu."
-#: motion/forms.py:167
+#: motion/forms.py:170
msgid "Override existing motions with the same identifier"
msgstr "Přepsat stávající návrhy týmž identifikátorem"
-#: motion/forms.py:168
+#: motion/forms.py:171
msgid ""
"If this is active, every motion with the same identifier as in your csv file"
" will be overridden."
msgstr "Pokud je toto zapnuto, je každý návrh s týmž identifikátorem, jaký je ve vašem souboru CSV, přepsán."
-#: motion/forms.py:176
+#: motion/forms.py:179
msgid "Default submitter"
msgstr "Přednastavený navrhovatel"
-#: motion/forms.py:177
+#: motion/forms.py:180
msgid ""
"This person is used as submitter for any line of your csv file which does "
"not contain valid submitter data."
msgstr "Tato osoba se používá jako navrhovatel pro každý řádek ve vašem souboru CSV, který neobsahuje žádného platného navrhovatele."
-#: motion/main_menu.py:12 motion/signals.py:124 motion/views.py:715
+#: motion/main_menu.py:12 motion/signals.py:143 motion/views.py:776
#: motion/widgets.py:15 motion/templates/motion/category_list.html:6
#: motion/templates/motion/motion_list.html:7
#: motion/templates/motion/motion_list.html:32
msgid "Motions"
msgstr "Návrhy"
-#: motion/models.py:79
+#: motion/models.py:89
msgid "Can see motions"
msgstr "Smí vidět návrhy"
-#: motion/models.py:80
+#: motion/models.py:90
msgid "Can create motions"
msgstr "Smí vytvářet návrhy"
-#: motion/models.py:81
+#: motion/models.py:91
msgid "Can support motions"
msgstr "Smí podporovat návrhy"
-#: motion/models.py:82
+#: motion/models.py:92
msgid "Can manage motions"
msgstr "Smí spravovat návrhy"
-#: motion/models.py:85 motion/models.py:470 motion/pdf.py:42 motion/pdf.py:262
-#: motion/signals.py:148 motion/views.py:289 motion/views.py:612
-#: motion/views.py:722 motion/templates/motion/motion_detail.html:8
+#: motion/models.py:95 motion/models.py:492 motion/pdf.py:41 motion/pdf.py:261
+#: motion/signals.py:167 motion/views.py:370 motion/views.py:672
+#: motion/views.py:783 motion/templates/motion/motion_detail.html:8
#: motion/templates/motion/motion_detail.html:20
#: motion/templates/motion/motion_diff.html:6
#: motion/templates/motion/motion_diff.html:19
@@ -1800,60 +1831,60 @@ msgstr "Smí spravovat návrhy"
msgid "Motion"
msgstr "Návrh"
-#: motion/models.py:556
+#: motion/models.py:593
msgid "new"
msgstr "Nový"
-#: motion/models.py:613 motion/templates/motion/category_list.html:22
+#: motion/models.py:650 motion/templates/motion/category_list.html:22
msgid "Category name"
msgstr "Název skupiny"
-#: motion/models.py:616 motion/templates/motion/category_list.html:21
+#: motion/models.py:653 motion/templates/motion/category_list.html:21
msgid "Prefix"
msgstr "Předpona"
-#: motion/models.py:671
+#: motion/models.py:708
#, python-format
msgid "%(time_and_messages)s by %(person)s"
msgstr "%(time_and_messages)s od %(person)s"
-#: motion/models.py:726
+#: motion/models.py:763
#, python-format
msgid "Vote %d"
msgstr "Hlasování %d"
-#: motion/pdf.py:63
+#: motion/pdf.py:62
msgid "Signature"
msgstr "Podpis"
-#: motion/pdf.py:85
+#: motion/pdf.py:84
msgid "State"
msgstr "Stav"
-#: motion/pdf.py:111 motion/templates/motion/motion_detail.html:208
+#: motion/pdf.py:110 motion/templates/motion/motion_detail.html:211
#: motion/templates/motion/motionpoll_form.html:27
msgid "Vote result"
msgstr "Výsledek hlasování"
-#: motion/pdf.py:125 motion/templates/motion/slide.html:17
+#: motion/pdf.py:124 motion/templates/motion/slide.html:17
msgid "Vote"
msgstr "Hlasování"
-#: motion/pdf.py:249 motion/templates/motion/category_list.html:10
-#: motion/templates/motion/motion_list.html:40
+#: motion/pdf.py:248 motion/templates/motion/category_list.html:10
+#: motion/templates/motion/motion_list.html:48
msgid "Categories"
msgstr "Skupiny"
-#: motion/pdf.py:256 motion/templates/motion/widget_motion.html:29
+#: motion/pdf.py:255 motion/templates/motion/widget_motion.html:29
msgid "No motions available."
msgstr "Nejsou dostupné žádné návrhy."
-#: motion/pdf.py:269
+#: motion/pdf.py:268
#, python-format
msgid "Motion No. %s"
msgstr "Návrh č. %s"
-#: motion/pdf.py:271
+#: motion/pdf.py:270
#, python-format
msgid "%d. Vote"
msgstr "%d. hlasování"
@@ -1898,245 +1929,262 @@ msgstr "Podávání nových návrhů zastaveno pro uživatele bez práv správce
msgid "Allow to disable versioning"
msgstr "Povolit vypnutí tvorby nových verzí"
-#: motion/signals.py:76
+#: motion/signals.py:75
+msgid "Activate amendments"
+msgstr "Zapnout pozměňovací návrhy"
+
+#: motion/signals.py:80
+msgctxt "Prefix for the identifier for amendments"
+msgid "A"
+msgstr "PN"
+
+#: motion/signals.py:83
+msgid "Prefix for the identifier for amendments"
+msgstr "Předpona identifikátoru pro pozměňovací návrhy"
+
+#: motion/signals.py:86 motion/templates/motion/motion_detail.html:295
+msgid "Amendments"
+msgstr "Pozměňovací návrhy"
+
+#: motion/signals.py:95
msgid "Number of (minimum) required supporters for a motion"
msgstr "Nejnižší počet podporovatelů potřebných pro návrh"
-#: motion/signals.py:78
+#: motion/signals.py:97
msgid "Choose 0 to disable the supporting system."
msgstr "Zadejte 0 pro vypnutí podpůrného systému."
-#: motion/signals.py:83
+#: motion/signals.py:102
msgid ""
"Remove all supporters of a motion if a submitter edits his motion in early "
"state"
msgstr "Odstranit všechny podporovatele návrhu, pokud navrhovatel svůj návrh v počátečním stavu upravuje"
-#: motion/signals.py:96
+#: motion/signals.py:115
msgid "The 100 % base of a voting result consists of"
msgstr "100 % základ výsledků hlasování se skládá z"
-#: motion/signals.py:118
+#: motion/signals.py:137
msgid "Voting and ballot papers"
msgstr "Hlasování a hlasovací lístky"
-#: motion/signals.py:129
+#: motion/signals.py:148
msgid "Title for PDF document (all motions)"
msgstr "Název dokumentu PDF (všechny návrhy)"
-#: motion/signals.py:136
+#: motion/signals.py:155
msgid "Preamble text for PDF document (all motions)"
msgstr "Text úvodu dokumentu PDF (všechny návrhy)"
-#: motion/signals.py:141
+#: motion/signals.py:160
msgid "Show paragraph numbering (only in PDF)"
msgstr "Ukázat číslování odstavců (jen v PDF)"
-#: motion/signals.py:159
+#: motion/signals.py:179
msgid "Simple Workflow"
msgstr "Jednoduchý průběh práce"
-#: motion/signals.py:161
+#: motion/signals.py:181
msgid "submitted"
msgstr "podáno"
-#: motion/signals.py:166 motion/signals.py:193
+#: motion/signals.py:186 motion/signals.py:213
msgid "accepted"
msgstr "přijato"
-#: motion/signals.py:168 motion/signals.py:195
+#: motion/signals.py:188 motion/signals.py:215
msgid "Accept"
msgstr "Přijmout"
-#: motion/signals.py:169 motion/signals.py:197
+#: motion/signals.py:189 motion/signals.py:217
msgid "rejected"
msgstr "odmítnuto"
-#: motion/signals.py:171 motion/signals.py:199
+#: motion/signals.py:191 motion/signals.py:219
msgid "Reject"
msgstr "Odmítnout"
-#: motion/signals.py:172
+#: motion/signals.py:192
msgid "not decided"
msgstr "nerozhodnuto"
-#: motion/signals.py:174
+#: motion/signals.py:194
msgid "Do not decide"
msgstr "Nerozhodovat"
-#: motion/signals.py:179
+#: motion/signals.py:199
msgid "Complex Workflow"
msgstr "Složitý průběh práce"
-#: motion/signals.py:181
+#: motion/signals.py:201
msgid "published"
msgstr "zveřejněno"
-#: motion/signals.py:186 motion/views.py:365
+#: motion/signals.py:206 motion/views.py:445
msgid "permitted"
msgstr "schváleno"
-#: motion/signals.py:188
+#: motion/signals.py:208
msgid "Permit"
msgstr "Schválit"
-#: motion/signals.py:201
+#: motion/signals.py:221
msgid "withdrawed"
msgstr "staženo"
-#: motion/signals.py:203
+#: motion/signals.py:223
msgid "Withdraw"
msgstr "Stáhnout"
-#: motion/signals.py:205
+#: motion/signals.py:225
msgid "adjourned"
msgstr "odloženo"
-#: motion/signals.py:207
+#: motion/signals.py:227
msgid "Adjourn"
msgstr "Odložit"
-#: motion/signals.py:209
+#: motion/signals.py:229
msgid "not concerned"
msgstr "neprobíráno"
-#: motion/signals.py:211
+#: motion/signals.py:231
msgid "Do not concern"
msgstr "Nezaobírat se"
-#: motion/signals.py:213
+#: motion/signals.py:233
msgid "commited a bill"
msgstr "předáno výboru"
-#: motion/signals.py:215
+#: motion/signals.py:235
msgid "Commit a bill"
msgstr "Předat výboru"
-#: motion/signals.py:217
+#: motion/signals.py:237
msgid "needs review"
msgstr "potřeba posouzení"
-#: motion/signals.py:219
+#: motion/signals.py:239
msgid "Needs review"
msgstr "Potřebuje posoudit"
-#: motion/signals.py:221
+#: motion/signals.py:241
msgid "rejected (not authorized)"
msgstr "odmítnuto (není schváleno)"
-#: motion/signals.py:223
+#: motion/signals.py:243
msgid "Reject (not authorized)"
msgstr "Odmítnout (není schváleno)"
-#: motion/views.py:183
+#: motion/views.py:214
msgid "Motion created"
msgstr "Návrh vytvořen"
-#: motion/views.py:228
+#: motion/views.py:311
msgid "All supporters removed"
msgstr "Všichni podporovatelé odstraněni"
-#: motion/views.py:242
+#: motion/views.py:325
msgid "Motion version"
msgstr "Verze návrhu"
-#: motion/views.py:244
+#: motion/views.py:327
msgid "created"
msgstr "vytvořeno"
-#: motion/views.py:244
+#: motion/views.py:327
msgid "updated"
msgstr "aktualizováno"
-#: motion/views.py:289 utils/views.py:525
+#: motion/views.py:370 utils/views.py:554
#, python-format
msgid "%s was successfully deleted."
msgstr "%s byl úspěšně smazán."
-#: motion/views.py:328
+#: motion/views.py:409
msgid "Version successfully permitted."
msgstr "Verze úspěšně schválena."
-#: motion/views.py:354
+#: motion/views.py:434
#, python-format
msgid "Are you sure you want permit version %s?"
msgstr "Opravdu má být povolena verze %s?"
-#: motion/views.py:391
+#: motion/views.py:474
msgid "At least one version number is not valid."
msgstr "Alespoň jedno číslo verze není platné."
-#: motion/views.py:434
+#: motion/views.py:508
msgid "You can not support this motion."
msgstr "Nesmíte podporovat tento návrh."
-#: motion/views.py:437
+#: motion/views.py:511
msgid "You can not unsupport this motion."
msgstr "Nesmíte odepřít svou podporu pro tento návrh."
-#: motion/views.py:447
+#: motion/views.py:521
msgid "Do you really want to support this motion?"
msgstr "Skutečně chcete podporovat tento návrh?"
-#: motion/views.py:449
+#: motion/views.py:523
msgid "Do you really want to unsupport this motion?"
msgstr "Skutečně chcete odepřít svou podporu pro tento návrh?"
-#: motion/views.py:462
+#: motion/views.py:536
msgid "Motion supported"
msgstr "Návrh podporován"
-#: motion/views.py:465
+#: motion/views.py:539
msgid "Motion unsupported"
msgstr "Podpora pro návrh stažena"
-#: motion/views.py:472
+#: motion/views.py:546
msgid "You have supported this motion successfully."
msgstr "Podporoval jste úspěšně tento návrh."
-#: motion/views.py:474
+#: motion/views.py:548
msgid "You have unsupported this motion successfully."
msgstr "Svou podporu pro návrh jste úspěšně stáhl."
-#: motion/views.py:500
+#: motion/views.py:564
msgid "Poll created"
msgstr "Hlasování vytvořeno"
-#: motion/views.py:501
+#: motion/views.py:565
msgid "New vote was successfully created."
msgstr "Nové hlasování bylo úspěšně vytvořeno."
-#: motion/views.py:567
+#: motion/views.py:635
msgid "Poll updated"
msgstr "Hlasování aktualizováno"
-#: motion/views.py:585
+#: motion/views.py:651
msgid "Poll deleted"
msgstr "Hlasování smazáno"
-#: motion/views.py:612
+#: motion/views.py:672
msgid "Poll"
msgstr "Hlasování"
-#: motion/views.py:653
+#: motion/views.py:710
msgid "You can not set the state of the motion. It is already done."
msgstr "Nelze nastavit stav návrhu. Je již hotov."
-#: motion/views.py:655
+#: motion/views.py:712
#, python-format
msgid "You can not set the state of the motion to %s."
msgstr "Nelze nastavit stav návrhu na %s."
-#: motion/views.py:662
+#: motion/views.py:719
msgid "State changed to"
msgstr "Stav změněn na"
-#: motion/views.py:665
+#: motion/views.py:722
#, python-format
msgid "The state of the motion was set to %s."
msgstr "Stav návrhu byl nastaven na %s."
-#: motion/views.py:683
+#: motion/views.py:737
msgid "Agenda item created"
msgstr "Položka pořadu jednání vytvořena"
@@ -2156,7 +2204,7 @@ msgid "No categories available."
msgstr "Nejsou dostupné žádné skupiny."
#: motion/templates/motion/motion_detail.html:24
-#: motion/templates/motion/motion_detail.html:128
+#: motion/templates/motion/motion_detail.html:131
msgid "This version is authorized"
msgstr "Tato verze byla schválena"
@@ -2164,117 +2212,126 @@ msgstr "Tato verze byla schválena"
msgid "This version is not authorized."
msgstr "Tato verze není schválena."
-#: motion/templates/motion/motion_detail.html:37
+#: motion/templates/motion/motion_detail.html:33
+#: motion/templates/motion/slide.html:81
+msgid "Amendment of"
+msgstr "Pozměňovací návrh"
+
+#: motion/templates/motion/motion_detail.html:40
msgid "Print motion as PDF"
msgstr "Vytisknout návrh jako PDF"
-#: motion/templates/motion/motion_detail.html:41
-#: motion/templates/motion/motion_list.html:98
+#: motion/templates/motion/motion_detail.html:44
+#: motion/templates/motion/motion_list.html:118
#: motion/templates/motion/motionpoll_form.html:22
msgid "Show motion"
msgstr "Promítnout návrh"
-#: motion/templates/motion/motion_detail.html:53
-#: motion/templates/motion/motion_form.html:32
-#: motion/templates/motion/motion_form.html:42
+#: motion/templates/motion/motion_detail.html:56
+#: motion/templates/motion/motion_form.html:15
+#: motion/templates/motion/motion_form.html:25
msgid "Edit motion"
msgstr "Upravit návrh"
-#: motion/templates/motion/motion_detail.html:58
+#: motion/templates/motion/motion_detail.html:61
msgid "Delete motion"
msgstr "Smazat návrh"
-#: motion/templates/motion/motion_detail.html:77
+#: motion/templates/motion/motion_detail.html:80
msgid "Go to the authorized version"
msgstr "Jít na schválenou verzi"
-#: motion/templates/motion/motion_detail.html:82
+#: motion/templates/motion/motion_detail.html:85
msgid "Go to the newest version"
msgstr "Jít na nejnovější verzi"
-#: motion/templates/motion/motion_detail.html:89
+#: motion/templates/motion/motion_detail.html:92
msgid "Motion text"
msgstr "Text návrhu"
-#: motion/templates/motion/motion_detail.html:114
+#: motion/templates/motion/motion_detail.html:117
msgid "Version history"
msgstr "Historie verzí"
-#: motion/templates/motion/motion_detail.html:120
+#: motion/templates/motion/motion_detail.html:123
msgid "Time"
msgstr "Čas"
-#: motion/templates/motion/motion_detail.html:121
+#: motion/templates/motion/motion_detail.html:124
msgid "Difference"
msgstr "Rozdíl"
-#: motion/templates/motion/motion_detail.html:131
+#: motion/templates/motion/motion_detail.html:134
msgid "Permit this version"
msgstr "Schválit tuto verzi"
-#: motion/templates/motion/motion_detail.html:165
+#: motion/templates/motion/motion_detail.html:168
msgid "Show log"
msgstr "Ukázat zápis"
-#: motion/templates/motion/motion_detail.html:213
+#: motion/templates/motion/motion_detail.html:216
#: motion/templates/motion/motionpoll_slide.html:11
msgid "vote"
msgstr "Hlasování"
-#: motion/templates/motion/motion_detail.html:218
+#: motion/templates/motion/motion_detail.html:221
#: motion/templates/motion/motionpoll_form.html:26
msgid "Show vote result"
msgstr "Ukázat výsledek hlasování"
-#: motion/templates/motion/motion_detail.html:223
+#: motion/templates/motion/motion_detail.html:226
msgid "Edit Vote"
msgstr "Upravit hlasování"
-#: motion/templates/motion/motion_detail.html:225
+#: motion/templates/motion/motion_detail.html:228
#: motion/templates/motion/motionpoll_form.html:31
msgid "Delete Vote"
msgstr "Smazat hlasování"
-#: motion/templates/motion/motion_detail.html:249
+#: motion/templates/motion/motion_detail.html:252
msgid "No result"
msgstr "Žádný výsledek"
-#: motion/templates/motion/motion_detail.html:259
+#: motion/templates/motion/motion_detail.html:264
msgid "New vote"
msgstr "Nové hlasování"
-#: motion/templates/motion/motion_detail.html:276
+#: motion/templates/motion/motion_detail.html:287
msgid "Last changes (of this version)"
msgstr "Poslední změny (této verze)"
-#: motion/templates/motion/motion_detail.html:278
+#: motion/templates/motion/motion_detail.html:289
#: motion/templates/motion/motion_diff.html:36
#: motion/templates/motion/motion_diff.html:40
-#: motion/templates/motion/motion_list.html:58
+#: motion/templates/motion/motion_list.html:67
msgid "Last changes"
msgstr "Poslední změny"
-#: motion/templates/motion/motion_detail.html:288
+#: motion/templates/motion/motion_detail.html:307
+msgid "New amendment"
+msgstr "Nový pozměňovací návrh"
+
+#: motion/templates/motion/motion_detail.html:316
msgid "Unsupport"
msgstr "Nepodporovat"
-#: motion/templates/motion/motion_detail.html:294
+#: motion/templates/motion/motion_detail.html:322
msgid "Support"
msgstr "Podporovat"
-#: motion/templates/motion/motion_detail.html:302
+#: motion/templates/motion/motion_detail.html:330
msgid "minimum required supporters"
msgstr "Nejnižší počet požadovaných podporovatelů"
-#: motion/templates/motion/motion_detail.html:309
+#: motion/templates/motion/motion_detail.html:337
msgid "Manage motion"
msgstr "Spravovat návrh"
-#: motion/templates/motion/motion_detail.html:319
+#: motion/templates/motion/motion_detail.html:347
msgid "For administration only:"
msgstr "Pouze pro správu:"
-#: motion/templates/motion/motion_detail.html:321
+#: motion/templates/motion/motion_detail.html:349
msgid "Reset state"
msgstr "Nastavit stav znovu"
@@ -2287,20 +2344,20 @@ msgid "Diff view"
msgstr "Zobrazení změn"
#: motion/templates/motion/motion_diff.html:27
-#: motion/templates/motion/motion_form.html:48
+#: motion/templates/motion/motion_form.html:31
#: motion/templates/motion/motionpoll_form.html:18
msgid "Back to motion"
msgstr "Zpět na návrh"
-#: motion/templates/motion/motion_form.html:34
-#: motion/templates/motion/motion_form.html:44
+#: motion/templates/motion/motion_form.html:17
+#: motion/templates/motion/motion_form.html:27
#: motion/templates/motion/motion_list.html:36
msgid "New motion"
msgstr "Nový návrh"
#: motion/templates/motion/motion_form_csv_import.html:5
#: motion/templates/motion/motion_form_csv_import.html:9
-#: motion/templates/motion/motion_list.html:41
+#: motion/templates/motion/motion_list.html:50
msgid "Import motions"
msgstr "Zavést návrhy"
@@ -2317,31 +2374,35 @@ msgid ""
"Identifier, reason, submitter and category are optional and may be empty"
msgstr "Identifikátor, zdůvodnění, navrhovatel a skupina jsou nepovinné a mohou zůstat prázdné"
-#: motion/templates/motion/motion_list.html:40
+#: motion/templates/motion/motion_list.html:46
msgid "Manage categories"
msgstr "Spravovat skupiny"
-#: motion/templates/motion/motion_list.html:43
+#: motion/templates/motion/motion_list.html:52
msgid "Print all motions as PDF"
msgstr "Vytisknout všechny návrhy jako PDF"
-#: motion/templates/motion/motion_list.html:50
+#: motion/templates/motion/motion_list.html:59
msgid "#"
msgstr "#"
-#: motion/templates/motion/motion_list.html:51
+#: motion/templates/motion/motion_list.html:60
msgid "Motion title"
msgstr "Název návrhu"
-#: motion/templates/motion/motion_list.html:79
+#: motion/templates/motion/motion_list.html:77
+msgid "Amendment"
+msgstr "Pozměňovací návrh"
+
+#: motion/templates/motion/motion_list.html:99
msgid "Enough supporters"
msgstr "Dostačující počet podporovatelů"
-#: motion/templates/motion/motion_list.html:82
+#: motion/templates/motion/motion_list.html:102
msgid "Needs supporters"
msgstr "Potřebuje podporovatele"
-#: motion/templates/motion/motion_list.html:89
+#: motion/templates/motion/motion_list.html:109
msgid "There is a newer (unauthorized) version."
msgstr "Je novější (neschválená verze."
@@ -2399,7 +2460,7 @@ msgstr "Účastníci"
msgid "Use one line per participant for its name (first name and last name)."
msgstr "Použijte jeden řádek na účastníka pro zapsání jeho jména (křestní jméno a příjmení)."
-#: participant/forms.py:52 participant/forms.py:155 participant/pdf.py:109
+#: participant/forms.py:52 participant/forms.py:156 participant/pdf.py:109
#: participant/templates/participant/login.html:34
#: participant/templates/participant/user_detail.html:69
msgid "Username"
@@ -2415,19 +2476,19 @@ msgstr "Nesmíte smazat poslední skupinu, která obsahuje oprávnění ke sprá
msgid "Permissions"
msgstr "Oprávnění"
-#: participant/forms.py:141
+#: participant/forms.py:142
msgid ""
"You can not remove yourself from the last group containing the permission to"
" manage participants."
msgstr "Nesmíte smazat sami sebe z poslední skupiny, která obsahuje oprávnění ke správě účastníků."
-#: participant/forms.py:149
+#: participant/forms.py:150
msgid ""
"You can not remove the permission to manage participants from the last group"
" you are in."
msgstr "Nesmíte odstranit oprávnění ke správě účastníků z poslední skupiny, ve které jste členem."
-#: participant/forms.py:164
+#: participant/forms.py:165
msgid "Language"
msgstr "Jazyk"
@@ -2609,7 +2670,7 @@ msgstr "Přihlášený účastník"
msgid "Delegates"
msgstr "Zástupci"
-#: participant/signals.py:176
+#: participant/signals.py:179
#: participant/templates/participant/user_form_csv_import.html:25
msgid "Staff"
msgstr "Zaměstnanci"
@@ -2623,42 +2684,42 @@ msgstr "%(number)d účastníků bylo úspěšně vytvořeno."
msgid "You can not delete yourself."
msgstr "Nesmíte smazat sami sebe."
-#: participant/views.py:194
+#: participant/views.py:193
msgid "You can not deactivate yourself."
msgstr "Nesmíte vypnout sami sebe."
-#: participant/views.py:213
+#: participant/views.py:212
msgid "Participant-list"
msgstr "Seznam účastníků"
-#: participant/views.py:214
+#: participant/views.py:213
msgid "List of Participants"
msgstr "Seznam účastníků"
-#: participant/views.py:228
+#: participant/views.py:227
msgid "Participant-access-data"
msgstr "Přístupová data účastníka"
-#: participant/views.py:258
+#: participant/views.py:257
msgid "Do you really want to reset the password?"
msgstr "Má se heslo skutečně nastavit znovu?"
-#: participant/views.py:271
+#: participant/views.py:266
#, python-format
msgid "The Password for %s was successfully reset."
msgstr "Heslo pro %s bylo úspěšně nastaveno znovu."
-#: participant/views.py:365
+#: participant/views.py:360
msgid "You can not delete this group."
msgstr "Nesmíte smazat tuto skupinu."
-#: participant/views.py:374
+#: participant/views.py:369
msgid ""
"You can not delete the last group containing the permission to manage "
"participants you are in."
msgstr "Nesmíte smazat poslední skupinu, ve které jste členem a která obsahuje oprávnění ke správě účastníků."
-#: participant/views.py:390
+#: participant/views.py:385
#, python-format
msgid ""
"Installation was successfully! Use %(user)s (password: %(password)s) for "
@@ -2667,31 +2728,31 @@ msgid ""
"be a security risk."
msgstr "Instalace byla úspěšná! Použijte %(user)s (Heslo: %(password)s) pro první přihlášení.
Důležité: Po prvním přihlášení změňte heslo! V opačném/ případě se tato zpráva bude i nadále ukazovat všem a bude bezpečnostním rizikem."
-#: participant/views.py:417
+#: participant/views.py:412
msgid "User settings successfully saved."
msgstr "Uživatelské nastavení úspěšně uloženo"
-#: participant/views.py:419 participant/views.py:443 utils/views.py:180
+#: participant/views.py:414 participant/views.py:438 utils/views.py:205
msgid "Please check the form for errors."
msgstr "Zkontrolujte, prosím, formulář kvůli chybám."
-#: participant/views.py:440
+#: participant/views.py:435
msgid "Password successfully changed."
msgstr "Heslo bylo úspěšně změněno."
-#: participant/templates/participant/edit.html:27
-#: participant/templates/participant/edit.html:37
+#: participant/templates/participant/edit.html:9
+#: participant/templates/participant/edit.html:19
#: participant/templates/participant/user_detail.html:26
msgid "Edit participant"
msgstr "Upravit účastníka"
-#: participant/templates/participant/edit.html:29
-#: participant/templates/participant/edit.html:39
+#: participant/templates/participant/edit.html:11
+#: participant/templates/participant/edit.html:21
#: participant/templates/participant/overview.html:23
msgid "New participant"
msgstr "Nový účastník"
-#: participant/templates/participant/edit.html:50
+#: participant/templates/participant/edit.html:32
msgid "Reset to First Password"
msgstr "Nastavit znovu na první heslo"
@@ -2986,33 +3047,33 @@ msgstr "Místní adresa IP tohoto počítače"
msgid "Starting OpenSlides' tornado webserver listening to %(url_string)s"
msgstr "OpenSlides' Tornado Webserver se spouští na %(url_string)s"
-#: utils/views.py:328
+#: utils/views.py:357
msgid "Are you sure?"
msgstr "Jste si jistý?"
-#: utils/views.py:329
+#: utils/views.py:358
msgid "Thank you for your answer."
msgstr "Děkujeme za vaši odpověď."
-#: utils/views.py:418
+#: utils/views.py:447
msgid "You did not send a valid answer."
msgstr "Neposlal jste platnou odpověď,"
-#: utils/views.py:452
+#: utils/views.py:481
#, python-format
msgid "%s was successfully modified."
msgstr "%s byl úspěšně změněn."
-#: utils/views.py:466
+#: utils/views.py:499
#, python-format
msgid "%s was successfully created."
msgstr "%s byl úspěšně vytvořen."
-#: utils/views.py:513
+#: utils/views.py:542
#, python-format
msgid "Do you really want to delete %s?"
msgstr "Opravdu chcete smazat %s?"
-#: utils/views.py:540
+#: utils/views.py:569
msgid "undefined-filename"
msgstr "Nestanovený-Název souboru"
diff --git a/openslides/locale/de/LC_MESSAGES/django.mo b/openslides/locale/de/LC_MESSAGES/django.mo
index 0640ee1e4..3e49474c4 100644
Binary files a/openslides/locale/de/LC_MESSAGES/django.mo and b/openslides/locale/de/LC_MESSAGES/django.mo differ
diff --git a/openslides/locale/de/LC_MESSAGES/django.po b/openslides/locale/de/LC_MESSAGES/django.po
index 9ebc41bfd..e8a16999b 100644
--- a/openslides/locale/de/LC_MESSAGES/django.po
+++ b/openslides/locale/de/LC_MESSAGES/django.po
@@ -8,7 +8,7 @@
# Emanuel Schütze , 2013
# emanuel , 2013
# Emanuel Schütze , 2013
-# Emanuel Schütze , 2013-2014
+# Emanuel Schütze , 2013-2015
# Oskar Hahn , 2012
# Norman Jäckel , 2013-2014
# Norman Jäckel , 2013
@@ -18,9 +18,9 @@ msgid ""
msgstr ""
"Project-Id-Version: OpenSlides\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2014-10-16 23:25+0200\n"
-"PO-Revision-Date: 2014-10-26 14:59+0000\n"
-"Last-Translator: Norman Jäckel \n"
+"POT-Creation-Date: 2015-01-16 14:24+0100\n"
+"PO-Revision-Date: 2015-01-20 08:09+0000\n"
+"Last-Translator: Emanuel Schütze \n"
"Language-Team: German (http://www.transifex.com/projects/p/openslides/language/de/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -79,7 +79,7 @@ msgstr "Elternelement"
msgid "Invalid format. Hours from 0 to 99 and minutes from 00 to 59"
msgstr "Ungültiges Format. Stunden von 0 bis 99 und Minuten von 00 bis 59"
-#: agenda/forms.py:30 agenda/templates/agenda/overview.html:89
+#: agenda/forms.py:30 agenda/templates/agenda/overview.html:103
msgid "Duration"
msgstr "Dauer"
@@ -96,95 +96,95 @@ msgstr "Neue/n Teilnehmer/in hinzufügen"
msgid "%s is already on the list of speakers."
msgstr "%s ist bereits auf der Rednerliste"
-#: agenda/main_menu.py:12 agenda/signals.py:87 agenda/views.py:367
-#: agenda/views.py:368 agenda/widgets.py:16
+#: agenda/main_menu.py:12 agenda/signals.py:87 agenda/views.py:358
+#: agenda/views.py:359 agenda/widgets.py:16
#: agenda/templates/agenda/item_slide_summary.html:7
#: agenda/templates/agenda/overview.html:7
#: agenda/templates/agenda/overview.html:34
-#: agenda/templates/agenda/overview.html:97
+#: agenda/templates/agenda/overview.html:111
#: agenda/templates/agenda/widget_item.html:18
#: agenda/templates/search/agenda-results.html:7
#: agenda/templates/search/agenda-results.html:13
msgid "Agenda"
msgstr "Tagesordnung"
-#: agenda/models.py:38
+#: agenda/models.py:39
msgid "Agenda item"
msgstr "Tagesordnungseintrag"
-#: agenda/models.py:39 agenda/templates/search/agenda-results.html:13
+#: agenda/models.py:40 agenda/templates/search/agenda-results.html:13
msgid "Organizational item"
msgstr "Organisatorischer Eintrag"
-#: agenda/models.py:41
+#: agenda/models.py:42
msgid "Number"
msgstr "Nummer"
-#: agenda/models.py:46 core/models.py:15 core/signals.py:111
+#: agenda/models.py:47 core/models.py:15 core/signals.py:111
#: mediafile/models.py:28 mediafile/templates/mediafile/mediafile_list.html:18
-#: motion/forms.py:28 motion/models.py:536 participant/models.py:34
+#: motion/forms.py:27 motion/models.py:573 participant/models.py:34
#: participant/pdf.py:21 participant/templates/participant/overview.html:49
msgid "Title"
msgstr "Titel"
-#: agenda/models.py:51 core/models.py:16 motion/forms.py:33
-#: motion/models.py:539
+#: agenda/models.py:52 core/models.py:16 motion/forms.py:32
+#: motion/models.py:576
msgid "Text"
msgstr "Text"
-#: agenda/models.py:56 agenda/templates/agenda/overview.html:86
-#: agenda/templates/agenda/view.html:54 participant/models.py:46
+#: agenda/models.py:57 agenda/templates/agenda/overview.html:100
+#: agenda/templates/agenda/view.html:62 participant/models.py:46
#: participant/templates/participant/overview.html:55
#: participant/templates/participant/user_detail.html:71
msgid "Comment"
msgstr "Kommentar"
-#: agenda/models.py:61
+#: agenda/models.py:62
msgid "Closed"
msgstr "Abgeschlossen"
-#: agenda/models.py:67 mediafile/templates/mediafile/mediafile_list.html:19
+#: agenda/models.py:68 mediafile/templates/mediafile/mediafile_list.html:19
msgid "Type"
msgstr "Typ"
-#: agenda/models.py:85 core/models.py:17
+#: agenda/models.py:86 core/models.py:17
msgid "Weight"
msgstr "Gewichtung"
-#: agenda/models.py:107
+#: agenda/models.py:108
msgid "List of speakers is closed"
msgstr "Rednerliste ist geschlossen"
-#: agenda/models.py:114
+#: agenda/models.py:120
msgid "Can see agenda"
msgstr "Darf die Tagesordnung sehen"
-#: agenda/models.py:115
+#: agenda/models.py:121
msgid "Can manage agenda"
msgstr "Darf die Tagesordung verwalten"
-#: agenda/models.py:116
+#: agenda/models.py:122
msgid "Can see orga items and time scheduling of agenda"
msgstr "Darf Organisationspunkte und Tagesordnung-Zeitplan sehen"
-#: agenda/models.py:131 agenda/views.py:142
+#: agenda/models.py:137 agenda/views.py:142
msgid "Agenda items can not be child elements of an organizational item."
msgstr "Tagesordnungseinträge können keine Kindelemente eines Organisationseintrags sein."
-#: agenda/models.py:133
+#: agenda/models.py:139
msgid "Organizational items can not have agenda items as child elements."
msgstr "Organisationseinträge können keine Tagesordnungseinträge als Kindelemente haben."
-#: agenda/models.py:348
+#: agenda/models.py:354
#, python-format
msgid "%(person)s is already on the list of speakers of item %(id)s."
msgstr "%(person)s ist bereits auf der Rednerliste von Eintrag %(id)s."
-#: agenda/models.py:352
+#: agenda/models.py:358
msgid "An anonymous user can not be on lists of speakers."
msgstr "Anonyme Gast-Benutzer können nicht auf Rednerlisten stehen."
-#: agenda/models.py:392
+#: agenda/models.py:398
msgid "Can put oneself on the list of speakers"
msgstr "Darf sich selbst auf die Rednerliste setzen"
@@ -240,43 +240,43 @@ msgstr "Sie sind nicht berechtigt die Tagesordnung zu ändern."
msgid "Errors when reordering of the agenda"
msgstr "Fehler beim Neusortieren der Tagesordnung"
-#: agenda/views.py:290
+#: agenda/views.py:288
msgid "Yes, with all child items."
msgstr "Ja, mit allen Kindelementen."
-#: agenda/views.py:315
+#: agenda/views.py:313
#, python-format
msgid "Item %s was successfully deleted."
msgstr "Eintrag %s wurde erfolgreich gelöscht."
-#: agenda/views.py:317
+#: agenda/views.py:315
#, python-format
msgid "Item %s and its children were successfully deleted."
msgstr "Eintrag %s und seine Kindelemente wurden erfolgreich gelöscht."
-#: agenda/views.py:350
+#: agenda/views.py:341
msgid ""
"Do you really want to generate agenda numbering? Manually added item numbers"
" will be overwritten!"
msgstr "Wollen Sie wirklich die Tagesordnung neu nummerieren? Manuelle Nummerierungen werden überschrieben."
-#: agenda/views.py:359
+#: agenda/views.py:350
msgid "The agenda has been numbered."
msgstr "Die Tagesordnung wurde nummeriert."
-#: agenda/views.py:393 agenda/views.py:624
+#: agenda/views.py:383 agenda/views.py:618
msgid "The list of speakers is closed."
msgstr "Die Rednerliste ist geschlossen."
-#: agenda/views.py:400 agenda/views.py:633
+#: agenda/views.py:390 agenda/views.py:627
msgid "You were successfully added to the list of speakers."
msgstr "Sie wurden erfolgreich zur Rednerliste hinzugefügt."
-#: agenda/views.py:424
+#: agenda/views.py:437
msgid "You are not on the list of speakers."
msgstr "Sie stehen nicht auf der Rednerliste."
-#: agenda/views.py:447
+#: agenda/views.py:448
msgid "Do you really want to remove yourself from the list of speakers?"
msgstr "Wollen Sie sich wirklich von der Rednerliste entfernen?"
@@ -285,56 +285,56 @@ msgstr "Wollen Sie sich wirklich von der Rednerliste entfernen?"
msgid "%(person)s is not on the list of %(item)s."
msgstr "%(person)s ist nicht auf der Rednerliste von %(item)s."
-#: agenda/views.py:494
+#: agenda/views.py:493
#, python-format
msgid "There is no one speaking at the moment according to %(item)s."
msgstr "Es spricht derzeit kein Redner zu %(item)s."
-#: agenda/views.py:559
+#: agenda/views.py:553
msgid "Could not change order. Invalid data."
msgstr "Die Reihenfolge kann nicht verändert werden. Ungültige Daten."
-#: agenda/views.py:618
+#: agenda/views.py:612
msgid ""
"There is no list of speakers for the current slide. Please choose the agenda"
" item manually from the agenda."
msgstr "Es existiert keine Rednerliste für die aktuelle Folie. Bitte wählen Sie den Tagesordnungseintrag manuell von der Tagesordnung."
-#: agenda/views.py:637
+#: agenda/views.py:631
msgid "You can not put yourself on the list of speakers."
msgstr "Sie können sich nicht selbst auf die Rednerliste setzen."
-#: agenda/views.py:646
+#: agenda/views.py:640
#, python-format
msgid "%s is now speaking."
msgstr "%s redet jetzt."
-#: agenda/views.py:648
+#: agenda/views.py:642
#: agenda/templates/agenda/item_slide_list_of_speaker.html:26
#: agenda/templates/agenda/overlay_speaker_projector.html:20
msgid "The list of speakers is empty."
msgstr "Die Rednerliste ist leer."
-#: agenda/views.py:656
+#: agenda/views.py:650
msgid "There is no one speaking at the moment."
msgstr "Es redet derzeit niemand."
-#: agenda/views.py:659
+#: agenda/views.py:653
#, python-format
msgid "%s is now finished."
msgstr "%s ist jetzt fertig."
-#: agenda/views.py:716 agenda/widgets.py:44
+#: agenda/views.py:710 agenda/widgets.py:44
#: agenda/templates/agenda/current_list_of_speakers_projector.html:4
#: agenda/templates/agenda/item_slide_list_of_speaker.html:9
#: agenda/templates/agenda/overlay_speaker_projector.html:7
#: agenda/templates/agenda/overlay_speaker_widget.html:4
-#: agenda/templates/agenda/overview.html:43
-#: agenda/templates/agenda/view.html:60
+#: agenda/templates/agenda/overview.html:57
+#: agenda/templates/agenda/view.html:68
msgid "List of speakers"
msgstr "Rednerliste"
-#: agenda/views.py:716
+#: agenda/views.py:710
msgid "Not available."
msgstr "Nicht vorhanden."
@@ -355,12 +355,13 @@ msgstr "Neuer Eintrag"
#: assignment/templates/assignment/assignment_form.html:26
#: core/templates/core/customslide_update.html:10
#: core/templates/core/select_widgets.html:10
+#: core/templates/core/tag_list.html:11
#: mediafile/templates/mediafile/mediafile_form.html:22
#: motion/templates/motion/category_list.html:15
-#: motion/templates/motion/motion_detail.html:35
-#: motion/templates/motion/motion_form.html:50
+#: motion/templates/motion/motion_detail.html:38
+#: motion/templates/motion/motion_form.html:33
#: motion/templates/motion/motion_form_csv_import.html:11
-#: participant/templates/participant/edit.html:42
+#: participant/templates/participant/edit.html:24
#: participant/templates/participant/group_detail.html:12
#: participant/templates/participant/group_edit.html:22
#: participant/templates/participant/user_detail.html:12
@@ -381,10 +382,10 @@ msgstr "%(type)s %(name)s bearbeiten"
#: config/templates/config/config_form.html:47
#: mediafile/templates/mediafile/mediafile_form.html:33
#: motion/templates/motion/category_form.html:27
-#: motion/templates/motion/motion_form.html:59
+#: motion/templates/motion/motion_form.html:42
#: motion/templates/motion/motion_form_csv_import.html:42
#: motion/templates/motion/motionpoll_form.html:84
-#: participant/templates/participant/edit.html:56
+#: participant/templates/participant/edit.html:38
#: participant/templates/participant/group_edit.html:31
#: participant/templates/participant/user_form_csv_import.html:44
#: participant/templates/participant/user_form_multiple.html:23
@@ -398,9 +399,9 @@ msgstr "Abbrechen"
#: core/templates/core/customslide_update.html:18
#: mediafile/templates/mediafile/mediafile_form.html:35
#: motion/templates/motion/category_form.html:30
-#: motion/templates/motion/motion_form.html:62
+#: motion/templates/motion/motion_form.html:45
#: motion/templates/motion/motion_form_csv_import.html:45
-#: participant/templates/participant/edit.html:59
+#: participant/templates/participant/edit.html:41
#: participant/templates/participant/group_edit.html:34
#: participant/templates/participant/user_form_csv_import.html:47
#: participant/templates/participant/user_form_multiple.html:26
@@ -409,7 +410,7 @@ msgstr "erforderlich"
#: agenda/templates/agenda/item_form_csv_import.html:5
#: agenda/templates/agenda/item_form_csv_import.html:9
-#: agenda/templates/agenda/overview.html:38
+#: agenda/templates/agenda/overview.html:49
msgid "Import agenda items"
msgstr "Tagesordnungseinträge importieren"
@@ -456,9 +457,9 @@ msgid "Use the CSV example file from OpenSlides Wiki."
msgstr "Verwenden Sie die CSV-Beispiel-Datei vom OpenSlides Wiki."
#: agenda/templates/agenda/item_form_csv_import.html:39
-#: agenda/templates/agenda/overview.html:38
+#: agenda/templates/agenda/overview.html:51
#: motion/templates/motion/motion_form_csv_import.html:39
-#: motion/templates/motion/motion_list.html:41
+#: motion/templates/motion/motion_list.html:50
#: participant/templates/participant/overview.html:26
#: participant/templates/participant/user_form_csv_import.html:41
msgid "Import"
@@ -469,20 +470,21 @@ msgid "Show agenda item"
msgstr "Tagesordnungseintrag projizieren"
#: agenda/templates/agenda/item_row.html:16
-#: agenda/templates/agenda/view.html:72
+#: agenda/templates/agenda/view.html:80
#: agenda/templates/agenda/widget_item.html:42
msgid "Show list of speakers"
msgstr "Rednerliste projizieren"
#: agenda/templates/agenda/item_row.html:22
#: agenda/templates/agenda/widget_item.html:32
-#: assignment/templates/assignment/assignment_detail.html:173
-#: assignment/templates/assignment/assignment_list.html:68
+#: assignment/templates/assignment/assignment_detail.html:178
+#: assignment/templates/assignment/assignment_list.html:78
#: assignment/templates/assignment/widget_assignment.html:16
+#: core/templates/core/tag_list.html:31 core/templates/core/tag_list.html:45
#: core/templates/core/widget_customslide.html:34
#: mediafile/templates/mediafile/mediafile_list.html:38
#: motion/templates/motion/category_list.html:30
-#: motion/templates/motion/motion_list.html:103
+#: motion/templates/motion/motion_list.html:123
#: motion/templates/motion/widget_motion.html:16
#: participant/templates/participant/group_overview.html:58
#: participant/templates/participant/overview.html:117
@@ -492,14 +494,15 @@ msgid "Edit"
msgstr "Bearbeiten"
#: agenda/templates/agenda/item_row.html:25
-#: agenda/templates/agenda/view.html:128
-#: assignment/templates/assignment/assignment_detail.html:175
-#: assignment/templates/assignment/assignment_list.html:72
+#: agenda/templates/agenda/view.html:136
+#: assignment/templates/assignment/assignment_detail.html:180
+#: assignment/templates/assignment/assignment_list.html:82
+#: core/templates/core/tag_list.html:34 core/templates/core/tag_list.html:48
#: core/templates/core/widget_customslide.html:30
#: mediafile/templates/mediafile/mediafile_list.html:39
#: motion/templates/motion/category_list.html:33
-#: motion/templates/motion/motion_detail.html:146
-#: motion/templates/motion/motion_list.html:106
+#: motion/templates/motion/motion_detail.html:149
+#: motion/templates/motion/motion_list.html:126
#: participant/templates/participant/group_overview.html:62
#: participant/templates/participant/overview.html:122
msgid "Delete"
@@ -532,7 +535,7 @@ msgstr "Eintrag geschlossen"
#: agenda/templates/agenda/item_slide_list_of_speaker.html:10
#: agenda/templates/agenda/overlay_speaker_projector.html:7
-#: agenda/templates/agenda/view.html:60
+#: agenda/templates/agenda/view.html:68
msgid "closed"
msgstr "geschlossen"
@@ -545,31 +548,31 @@ msgid "Do you want to save the changed order of agenda items?"
msgstr "Möchten Sie die geänderte Reihenfolge der Einträge speichern?"
#: agenda/templates/agenda/overview.html:29
-#: agenda/templates/agenda/view.html:84 assignment/models.py:334
-#: assignment/views.py:588
-#: assignment/templates/assignment/assignment_detail.html:211
-#: assignment/templates/assignment/assignment_detail.html:215
+#: agenda/templates/agenda/view.html:92 assignment/models.py:336
+#: assignment/views.py:573
+#: assignment/templates/assignment/assignment_detail.html:216
+#: assignment/templates/assignment/assignment_detail.html:220
#: assignment/templates/assignment/assignmentpoll_slide.html:24
-#: motion/models.py:712 motion/pdf.py:129 motion/pdf.py:274
-#: motion/templates/motion/motion_detail.html:230
+#: motion/models.py:749 motion/pdf.py:128 motion/pdf.py:273
+#: motion/templates/motion/motion_detail.html:233
#: motion/templates/motion/motionpoll_slide.html:20
-#: motion/templates/motion/slide.html:23 utils/views.py:330
+#: motion/templates/motion/slide.html:23 utils/views.py:359
msgid "Yes"
msgstr "Ja"
#: agenda/templates/agenda/overview.html:30
-#: agenda/templates/agenda/view.html:85 assignment/models.py:334
-#: assignment/views.py:589
-#: assignment/templates/assignment/assignment_detail.html:212
+#: agenda/templates/agenda/view.html:93 assignment/models.py:336
+#: assignment/views.py:574
+#: assignment/templates/assignment/assignment_detail.html:217
#: assignment/templates/assignment/assignmentpoll_slide.html:26
-#: motion/models.py:712 motion/pdf.py:129 motion/pdf.py:276
-#: motion/templates/motion/motion_detail.html:231
+#: motion/models.py:749 motion/pdf.py:128 motion/pdf.py:275
+#: motion/templates/motion/motion_detail.html:234
#: motion/templates/motion/motionpoll_slide.html:24
-#: motion/templates/motion/slide.html:24 utils/views.py:330
+#: motion/templates/motion/slide.html:24 utils/views.py:359
msgid "No"
msgstr "Nein"
-#: agenda/templates/agenda/overview.html:37
+#: agenda/templates/agenda/overview.html:39
#: assignment/templates/assignment/assignment_list.html:22
#: core/templates/core/widget_customslide.html:47
#: mediafile/templates/mediafile/mediafile_list.html:12
@@ -580,60 +583,75 @@ msgstr "Nein"
msgid "New"
msgstr "Neu"
-#: agenda/templates/agenda/overview.html:40
+#: agenda/templates/agenda/overview.html:43
+#: assignment/templates/assignment/assignment_list.html:25
+#: motion/templates/motion/motion_list.html:40
+msgid "Manage tags"
+msgstr "Schlagwörter verwalten"
+
+#: agenda/templates/agenda/overview.html:45
+#: assignment/templates/assignment/assignment_list.html:27
+#: core/templates/core/tag_list.html:5 core/templates/core/tag_list.html:8
+#: motion/forms.py:54 motion/templates/motion/motion_detail.html:279
+#: motion/templates/motion/motion_list.html:42
+msgid "Tags"
+msgstr "Schlagwörter"
+
+#: agenda/templates/agenda/overview.html:54
msgid "Print agenda as PDF"
msgstr "Tagesordnung als PDF drucken"
-#: agenda/templates/agenda/overview.html:42
+#: agenda/templates/agenda/overview.html:56
msgid "Current list of speakers"
msgstr "Aktuelle Rednerliste"
-#: agenda/templates/agenda/overview.html:52
+#: agenda/templates/agenda/overview.html:66
msgid "Number agenda items"
msgstr "Tagesordnungseinträge nummerieren"
-#: agenda/templates/agenda/overview.html:57
+#: agenda/templates/agenda/overview.html:71
msgid "Hide closed items"
msgstr "Verstecke abgeschlossene Einträge"
-#: agenda/templates/agenda/overview.html:60
+#: agenda/templates/agenda/overview.html:74
msgid "item"
msgid_plural "items"
msgstr[0] "Eintrag"
msgstr[1] "Einträge"
-#: agenda/templates/agenda/overview.html:68
+#: agenda/templates/agenda/overview.html:82
msgid "Start of event"
msgstr "Beginn der Veranstaltung"
-#: agenda/templates/agenda/overview.html:72
+#: agenda/templates/agenda/overview.html:86
msgid "Estimated end"
msgstr "Voraussichtliches Ende"
-#: agenda/templates/agenda/overview.html:77
+#: agenda/templates/agenda/overview.html:91
msgid "Set start time of event"
msgstr "Beginn der Veranstaltung festlegen"
-#: agenda/templates/agenda/overview.html:84
+#: agenda/templates/agenda/overview.html:98
msgid "Item"
msgstr "Eintrag"
-#: agenda/templates/agenda/overview.html:92
-#: assignment/templates/assignment/assignment_list.html:37
+#: agenda/templates/agenda/overview.html:106
+#: assignment/templates/assignment/assignment_list.html:43
+#: core/templates/core/tag_list.html:25
#: mediafile/templates/mediafile/mediafile_list.html:24
#: motion/templates/motion/category_list.html:23
-#: motion/templates/motion/motion_detail.html:122
-#: motion/templates/motion/motion_list.html:60
+#: motion/templates/motion/motion_detail.html:125
+#: motion/templates/motion/motion_list.html:69
#: participant/templates/participant/group_overview.html:33
#: participant/templates/participant/overview.html:57
msgid "Actions"
msgstr "Aktionen"
-#: agenda/templates/agenda/overview.html:111
+#: agenda/templates/agenda/overview.html:125
msgid "Show agenda"
msgstr "Tagesordnung projizieren"
-#: agenda/templates/agenda/overview.html:134
+#: agenda/templates/agenda/overview.html:148
#: agenda/templates/agenda/widget_item.html:59
#: core/templates/core/widget_customslide.html:43
msgid "No items available."
@@ -645,7 +663,7 @@ msgstr "Eintrag projizieren"
#: agenda/templates/agenda/view.html:33
#: assignment/templates/assignment/assignment_detail.html:34
-#: motion/templates/motion/motion_detail.html:48
+#: motion/templates/motion/motion_detail.html:51
#: participant/templates/participant/group_detail.html:22
#: participant/templates/participant/user_detail.html:22
msgid "More actions"
@@ -655,57 +673,57 @@ msgstr "Mehr Aktionen"
msgid "Delete item"
msgstr "Eintrag löschen"
-#: agenda/templates/agenda/view.html:64
+#: agenda/templates/agenda/view.html:72
msgid "Open list"
msgstr "Liste öffnen"
-#: agenda/templates/agenda/view.html:66
+#: agenda/templates/agenda/view.html:74
msgid "Close list"
msgstr "Liste schließen"
-#: agenda/templates/agenda/view.html:74
+#: agenda/templates/agenda/view.html:82
msgid "Show list"
msgstr "Liste projizieren"
-#: agenda/templates/agenda/view.html:82
+#: agenda/templates/agenda/view.html:90
msgid "Do you want to save the changed order of speakers?"
msgstr "Möchten Sie die geänderte Reihenfolge der Einträge speichern?"
-#: agenda/templates/agenda/view.html:93
+#: agenda/templates/agenda/view.html:101
msgid "Last speakers"
msgstr "Letzte Redner"
-#: agenda/templates/agenda/view.html:96
+#: agenda/templates/agenda/view.html:104
msgid "Show all speakers"
msgstr "Alle Redner anzeigen"
-#: agenda/templates/agenda/view.html:100
+#: agenda/templates/agenda/view.html:108
msgid "Current speaker"
msgstr "Aktueller Redner"
-#: agenda/templates/agenda/view.html:102
+#: agenda/templates/agenda/view.html:110
msgid "Next speakers"
msgstr "Nächster Redner"
-#: agenda/templates/agenda/view.html:122
+#: agenda/templates/agenda/view.html:130
#: agenda/templates/agenda/widget_list_of_speakers.html:12
msgid "End speach"
msgstr "Rede beenden"
-#: agenda/templates/agenda/view.html:125
+#: agenda/templates/agenda/view.html:133
msgid "Begin speach"
msgstr "Rede beginnen"
-#: agenda/templates/agenda/view.html:140
+#: agenda/templates/agenda/view.html:148
msgid "Remove me from the list"
msgstr "Entferne mich von der Liste"
-#: agenda/templates/agenda/view.html:142
+#: agenda/templates/agenda/view.html:150
msgid "Put me on the list"
msgstr "Setze mich auf die Liste"
-#: agenda/templates/agenda/view.html:152
-#: assignment/templates/assignment/assignment_detail.html:112
+#: agenda/templates/agenda/view.html:160
+#: assignment/templates/assignment/assignment_detail.html:117
#: assignment/templates/assignment/assignmentpoll_form.html:105
#: core/templates/formbuttons_saveapply.html:7
#: mediafile/templates/mediafile/widget_pdfpresentation.html:32
@@ -714,8 +732,8 @@ msgstr "Setze mich auf die Liste"
msgid "Apply"
msgstr "Übernehmen"
-#: agenda/templates/agenda/view.html:154
-#: assignment/templates/assignment/assignment_detail.html:115
+#: agenda/templates/agenda/view.html:162
+#: assignment/templates/assignment/assignment_detail.html:120
msgid "Add new participant"
msgstr "Neue/n Teilnehmer/in hinzufügen"
@@ -726,7 +744,7 @@ msgstr "Neue/n Teilnehmer/in hinzufügen"
#: core/templates/core/widget_customslide.html:25
#: mediafile/templates/mediafile/mediafile_list.html:41
#: mediafile/templates/mediafile/widget_pdfpresentation.html:41
-#: motion/templates/motion/motion_detail.html:142
+#: motion/templates/motion/motion_detail.html:145
#: motion/templates/motion/widget_motion.html:11
#: participant/templates/participant/widget_group.html:11
#: participant/templates/participant/widget_user.html:11
@@ -756,8 +774,8 @@ msgstr "Nächster Redner"
msgid "Go to current list of speakers"
msgstr "Zur aktuellen Rednerliste"
-#: assignment/forms.py:14 assignment/models.py:56 assignment/views.py:353
-#: assignment/templates/assignment/assignment_detail.html:296
+#: assignment/forms.py:14 assignment/models.py:57 assignment/views.py:350
+#: assignment/templates/assignment/assignment_detail.html:301
#: assignment/templates/assignment/slide.html:11
msgid "Number of available posts"
msgstr "Anzahl der zur Wahl stehenden Posten"
@@ -767,61 +785,61 @@ msgid "Nominate a participant"
msgstr "Teilnehmer/in vorschlagen"
#: assignment/main_menu.py:12 assignment/signals.py:75
-#: assignment/signals.py:93 assignment/views.py:308 assignment/widgets.py:15
+#: assignment/signals.py:93 assignment/views.py:302 assignment/widgets.py:15
#: assignment/templates/assignment/assignment_list.html:7
#: assignment/templates/assignment/assignment_list.html:19
msgid "Elections"
msgstr "Wahlen"
-#: assignment/models.py:49
-#: assignment/templates/assignment/assignment_detail.html:306
+#: assignment/models.py:50
+#: assignment/templates/assignment/assignment_detail.html:311
msgid "Searching for candidates"
msgstr "Auf Kandidatensuche"
-#: assignment/models.py:50
-#: assignment/templates/assignment/assignment_detail.html:309
+#: assignment/models.py:51
+#: assignment/templates/assignment/assignment_detail.html:314
msgid "Voting"
msgstr "Im Wahlvorgang"
-#: assignment/models.py:51
-#: assignment/templates/assignment/assignment_detail.html:312
+#: assignment/models.py:52
+#: assignment/templates/assignment/assignment_detail.html:317
msgid "Finished"
msgstr "Abgeschlossen"
-#: assignment/models.py:54 participant/templates/participant/overview.html:50
+#: assignment/models.py:55 participant/templates/participant/overview.html:50
msgid "Name"
msgstr "Name"
-#: assignment/models.py:55
-#: assignment/templates/assignment/assignment_detail.html:56
+#: assignment/models.py:56
+#: assignment/templates/assignment/assignment_detail.html:61
#: participant/models.py:123
msgid "Description"
msgstr "Beschreibung"
-#: assignment/models.py:59
+#: assignment/models.py:60
msgid "Default comment on the ballot paper"
msgstr "Voreingestellter Hinweis auf Stimmzettel"
-#: assignment/models.py:64
+#: assignment/models.py:66
msgid "Can see elections"
msgstr "Darf Wahlen sehen"
-#: assignment/models.py:65
+#: assignment/models.py:67
msgid "Can nominate another person"
msgstr "Darf andere Personen für Wahlen vorschlagen"
-#: assignment/models.py:66
+#: assignment/models.py:68
msgid "Can nominate oneself"
msgstr "Darf selbst für Wahlen kandidieren"
-#: assignment/models.py:67
+#: assignment/models.py:69
msgid "Can manage elections"
msgstr "Darf Wahlen verwalten"
-#: assignment/models.py:70 assignment/views.py:512 assignment/views.py:529
+#: assignment/models.py:72 assignment/views.py:497 assignment/views.py:514
#: assignment/templates/assignment/assignment_detail.html:8
#: assignment/templates/assignment/assignment_detail.html:19
-#: assignment/templates/assignment/assignment_list.html:33
+#: assignment/templates/assignment/assignment_list.html:39
#: assignment/templates/assignment/assignmentpoll_form.html:7
#: assignment/templates/assignment/assignmentpoll_slide.html:10
#: assignment/templates/assignment/slide.html:18
@@ -829,53 +847,53 @@ msgstr "Darf Wahlen verwalten"
msgid "Election"
msgstr "Wahl"
-#: assignment/models.py:95
+#: assignment/models.py:97
#, python-format
msgid "%s is not a valid status."
msgstr "%s ist kein gültiger Status."
-#: assignment/models.py:98
+#: assignment/models.py:100
#, python-format
msgid "The election status is already %s."
msgstr "Wahlstatus wurde gesetzt auf: %s."
-#: assignment/models.py:111
+#: assignment/models.py:113
#, python-format
msgid "%s is already a candidate."
msgstr "%s ist bereits ein/e Kandidat/in."
-#: assignment/models.py:113 assignment/views.py:152
+#: assignment/models.py:115 assignment/views.py:149
msgid "The candidate list is already closed."
msgstr "Die Kandidatenliste ist bereits geschlossen."
-#: assignment/models.py:120
+#: assignment/models.py:122
#, python-format
msgid "%s does not want to be a candidate."
msgstr "%s möchte nicht kandidieren."
-#: assignment/models.py:134
+#: assignment/models.py:136
#, python-format
msgid "%s is no candidate"
msgstr "%s ist kein/e Kandidat/in"
-#: assignment/models.py:280 assignment/views.py:305
+#: assignment/models.py:282 assignment/views.py:299
msgid "Assignment"
msgstr "Wahl"
-#: assignment/models.py:307
+#: assignment/models.py:309
msgid "Comment on the ballot paper"
msgstr "Kommentar für den Stimmzettel"
-#: assignment/models.py:310
+#: assignment/models.py:312
#, python-format
msgid "Ballot %d"
msgstr "Wahlgang %d"
-#: assignment/models.py:334 motion/models.py:712
+#: assignment/models.py:336 motion/models.py:749
msgid "Abstain"
msgstr "Enthaltung"
-#: assignment/models.py:336 motion/templates/motion/motionpoll_form.html:45
+#: assignment/models.py:338 motion/templates/motion/motionpoll_form.html:45
msgid "Votes"
msgstr "Stimmen"
@@ -903,23 +921,23 @@ msgstr "Ja, Nein, Enthaltung pro Kandidat/in"
msgid "The 100 % base of an election result consists of"
msgstr "Die 100%-Basis eines Wahlergebnisses besteht aus"
-#: assignment/signals.py:44 motion/signals.py:104
+#: assignment/signals.py:44 motion/signals.py:123
msgid "Number of ballot papers (selection)"
msgstr "Anzahl der Stimmzettel (Vorauswahl)"
-#: assignment/signals.py:46 motion/signals.py:106
+#: assignment/signals.py:46 motion/signals.py:125
msgid "Number of all delegates"
msgstr "Anzahl aller Delegierten"
-#: assignment/signals.py:47 motion/signals.py:107
+#: assignment/signals.py:47 motion/signals.py:126
msgid "Number of all participants"
msgstr "Anzahl aller Teilnehmer/innen"
-#: assignment/signals.py:48 motion/signals.py:108
+#: assignment/signals.py:48 motion/signals.py:127
msgid "Use the following custom number"
msgstr "Verwende die folgende benutzerdefinierte Anzahl"
-#: assignment/signals.py:56 motion/signals.py:116
+#: assignment/signals.py:56 motion/signals.py:135
msgid "Custom number of ballot papers"
msgstr "Benutzerdefinierte Anzahl von Stimmzetteln"
@@ -939,110 +957,106 @@ msgstr "Titel für PDF-Dokument (alle Wahlen)"
msgid "Preamble text for PDF document (all elections)"
msgstr "Einleitungstext für PDF-Dokument (alle Wahlen) "
-#: assignment/signals.py:89 motion/signals.py:144 participant/signals.py:97
+#: assignment/signals.py:89 motion/signals.py:163 participant/signals.py:97
msgid "PDF"
msgstr "PDF"
-#: assignment/views.py:75
+#: assignment/views.py:74
#, python-format
msgid "Candidate %s was nominated successfully."
msgstr "Kandidat/in %s wurde erfolgreich vorgeschlagen."
-#: assignment/views.py:114
+#: assignment/views.py:112
#, python-format
msgid "Election status was set to: %s."
msgstr "Wahlstatus wurde gesetzt auf: %s."
-#: assignment/views.py:131
+#: assignment/views.py:129
msgid "You have set your candidature successfully."
msgstr "Sie haben Ihre Kandidatur erfolgreich gesetzt."
-#: assignment/views.py:149
+#: assignment/views.py:146
msgid ""
"You have withdrawn your candidature successfully. You can not be nominated "
"by other participants anymore."
msgstr "Sie haben Ihre Kandidatur erfolgreich zurückgezogen. Sie können nun von anderen Teilnehmer/innen nicht mehr vorgeschlagen werden."
-#: assignment/views.py:162
+#: assignment/views.py:159
#, python-format
msgid "Do you really want to withdraw %s from the election?"
msgstr "Soll %s wirklich von der Wahl zurückgezogen werden?"
-#: assignment/views.py:164
+#: assignment/views.py:161
#, python-format
msgid "Do you really want to unblock %s for the election?"
msgstr "Soll %s wirklich für die Wahl freigegeben werden?"
-#: assignment/views.py:183
+#: assignment/views.py:180
#, python-format
msgid "Candidate %s was withdrawn successfully."
msgstr "Die Kandidatur von %s wurde erfolgreich zurückgezogen."
-#: assignment/views.py:185
+#: assignment/views.py:182
#, python-format
msgid "%s was unblocked successfully."
msgstr "%s wurde erfolgreich freigegeben."
-#: assignment/views.py:202
+#: assignment/views.py:197
msgid "New ballot was successfully created."
msgstr "Neuer Wahlgang erfolgreich angelegt."
-#: assignment/views.py:238
+#: assignment/views.py:233
#, python-format
msgid "Ballot ID %d does not exist."
msgstr "Wahlgang-ID %d existiert nicht."
-#: assignment/views.py:263
+#: assignment/views.py:257
msgid "not elected"
msgstr "nicht gewählt"
-#: assignment/views.py:267 assignment/views.py:476
-#: assignment/templates/assignment/assignment_detail.html:76
+#: assignment/views.py:261 assignment/views.py:461
+#: assignment/templates/assignment/assignment_detail.html:81
msgid "elected"
msgstr "gewählt"
-#: assignment/views.py:293
+#: assignment/views.py:287
msgid "Ballot was successfully deleted."
msgstr "Abstimmung wurde erfolgreich gelöscht."
-#: assignment/views.py:328
+#: assignment/views.py:322
msgid "No assignments available."
msgstr "Keine Wahlen vorhanden."
-#: assignment/views.py:347
+#: assignment/views.py:341
#, python-format
msgid "Election: %s"
msgstr "Wahlen: %s"
-#: assignment/views.py:360 assignment/views.py:396
-#: assignment/templates/assignment/assignment_detail.html:65
-#: assignment/templates/assignment/assignment_detail.html:149
-#: assignment/templates/assignment/assignment_list.html:34
-#: assignment/templates/assignment/assignment_list.html:50
+#: assignment/views.py:357 assignment/views.py:385
+#: assignment/templates/assignment/assignment_detail.html:70
+#: assignment/templates/assignment/assignment_detail.html:154
+#: assignment/templates/assignment/assignment_list.html:40
+#: assignment/templates/assignment/assignment_list.html:60
#: assignment/templates/assignment/assignmentpoll_form.html:44
#: assignment/templates/assignment/slide.html:29
msgid "Candidates"
msgstr "Kandidaten/innen"
-#: assignment/views.py:385
-#: assignment/templates/assignment/assignment_detail.html:145
+#: assignment/views.py:381
+#: assignment/templates/assignment/assignment_detail.html:150
#: assignment/templates/assignment/assignmentpoll_form.html:26
msgid "Election result"
msgstr "Wahlergebnis"
-#: assignment/views.py:389
-#: assignment/templates/assignment/assignment_detail.html:153
+#: assignment/views.py:387
+#: assignment/templates/assignment/assignment_detail.html:158
#: assignment/templates/assignment/assignmentpoll_form.html:7
#: assignment/templates/assignment/assignmentpoll_form.html:13
#: assignment/templates/assignment/assignmentpoll_slide.html:11
msgid "ballot"
msgstr "Wahlgang"
-#: assignment/views.py:392
-msgid "ballots"
-msgstr "Wahlgänge"
-
-#: assignment/views.py:417
+#: assignment/views.py:406
#, python-format
msgid ""
"Y: %(YES)s\n"
@@ -1050,66 +1064,66 @@ msgid ""
"A: %(ABSTAIN)s"
msgstr "J: %(YES)s\nN: %(NO)s\nE: %(ABSTAIN)s"
-#: assignment/views.py:428
-#: assignment/templates/assignment/assignment_detail.html:229
+#: assignment/views.py:417
#: assignment/templates/assignment/assignment_detail.html:234
+#: assignment/templates/assignment/assignment_detail.html:239
#: assignment/templates/assignment/assignmentpoll_form.html:61
#: assignment/templates/assignment/assignmentpoll_slide.html:39
-#: motion/pdf.py:119 motion/templates/motion/motion_detail.html:236
+#: motion/pdf.py:118 motion/templates/motion/motion_detail.html:239
#: motion/templates/motion/motionpoll_form.html:54
#: motion/templates/motion/motionpoll_slide.html:33
#: motion/templates/motion/slide.html:29 poll/models.py:84
msgid "Valid votes"
msgstr "Gültige Stimmen"
-#: assignment/views.py:439
-#: assignment/templates/assignment/assignment_detail.html:245
+#: assignment/views.py:428
#: assignment/templates/assignment/assignment_detail.html:250
+#: assignment/templates/assignment/assignment_detail.html:255
#: assignment/templates/assignment/assignmentpoll_form.html:71
#: assignment/templates/assignment/assignmentpoll_slide.html:45
-#: motion/pdf.py:121 motion/templates/motion/motion_detail.html:239
+#: motion/pdf.py:120 motion/templates/motion/motion_detail.html:242
#: motion/templates/motion/motionpoll_form.html:58
#: motion/templates/motion/motionpoll_slide.html:39
#: motion/templates/motion/slide.html:32 poll/models.py:86
msgid "Invalid votes"
msgstr "Ungültige Stimmen"
-#: assignment/views.py:450
-#: assignment/templates/assignment/assignment_detail.html:261
+#: assignment/views.py:439
#: assignment/templates/assignment/assignment_detail.html:266
+#: assignment/templates/assignment/assignment_detail.html:271
#: assignment/templates/assignment/assignmentpoll_form.html:81
#: assignment/templates/assignment/assignmentpoll_slide.html:51
-#: motion/pdf.py:123 motion/templates/motion/motion_detail.html:244
+#: motion/pdf.py:122 motion/templates/motion/motion_detail.html:247
#: motion/templates/motion/motionpoll_form.html:62
#: motion/templates/motion/motionpoll_slide.html:45
#: motion/templates/motion/slide.html:37 poll/models.py:88
msgid "Votes cast"
msgstr "Abgegebene Stimmen"
-#: assignment/views.py:536
+#: assignment/views.py:521
#, python-format
msgid "%d. ballot"
msgstr "%d. Wahlgang"
-#: assignment/views.py:538
+#: assignment/views.py:523
#, python-format
msgid "%d candidate"
msgid_plural "%d candidates"
msgstr[0] "%d Kandidat/in"
msgstr[1] "%d Kandidaten/innen"
-#: assignment/views.py:540
+#: assignment/views.py:525
#, python-format
msgid "%d available post"
msgid_plural "%d available posts"
msgstr[0] "%d verfügbare Posten"
msgstr[1] "%d verfügbare Posten"
-#: assignment/views.py:590
-#: assignment/templates/assignment/assignment_detail.html:213
+#: assignment/views.py:575
+#: assignment/templates/assignment/assignment_detail.html:218
#: assignment/templates/assignment/assignmentpoll_slide.html:28
-#: motion/pdf.py:129 motion/pdf.py:278
-#: motion/templates/motion/motion_detail.html:232
+#: motion/pdf.py:128 motion/pdf.py:277
+#: motion/templates/motion/motion_detail.html:235
#: motion/templates/motion/motionpoll_slide.html:28
#: motion/templates/motion/slide.html:25
msgid "Abstention"
@@ -1120,7 +1134,7 @@ msgid "Print election as PDF"
msgstr "Wahl als PDF drucken"
#: assignment/templates/assignment/assignment_detail.html:27
-#: assignment/templates/assignment/assignment_list.html:62
+#: assignment/templates/assignment/assignment_list.html:72
#: assignment/templates/assignment/assignmentpoll_form.html:21
msgid "Show election"
msgstr "Wahl projizieren"
@@ -1136,88 +1150,88 @@ msgid "Delete election"
msgstr "Wahl löschen"
#: assignment/templates/assignment/assignment_detail.html:45
-#: motion/templates/motion/motion_detail.html:63
+#: motion/templates/motion/motion_detail.html:66
msgid "New agenda item"
msgstr "Neuer Tagesordnungseintrag"
-#: assignment/templates/assignment/assignment_detail.html:72
-#: assignment/templates/assignment/assignment_detail.html:132
+#: assignment/templates/assignment/assignment_detail.html:77
+#: assignment/templates/assignment/assignment_detail.html:137
msgid "Remove candidate"
msgstr "Kandidate/in entfernen"
-#: assignment/templates/assignment/assignment_detail.html:79
+#: assignment/templates/assignment/assignment_detail.html:84
msgid "Mark candidate as not elected"
msgstr "Kandidat/in als nicht gewählt markieren"
-#: assignment/templates/assignment/assignment_detail.html:87
+#: assignment/templates/assignment/assignment_detail.html:92
#: assignment/templates/assignment/slide.html:35
msgid "No candidates available."
msgstr "Keine Kandidaten/innen vorhanden."
-#: assignment/templates/assignment/assignment_detail.html:97
+#: assignment/templates/assignment/assignment_detail.html:102
msgid "Withdraw self candidature"
msgstr "Eigene Kandidatur zurückziehen"
-#: assignment/templates/assignment/assignment_detail.html:101
+#: assignment/templates/assignment/assignment_detail.html:106
msgid "Self candidature"
msgstr "Selbst kandidieren"
-#: assignment/templates/assignment/assignment_detail.html:126
+#: assignment/templates/assignment/assignment_detail.html:131
msgid "Blocked Candidates"
msgstr "Blockierte Kandidaten/innen"
-#: assignment/templates/assignment/assignment_detail.html:137
+#: assignment/templates/assignment/assignment_detail.html:142
msgid "No blocked candidates available."
msgstr "Keine blockierten Kandidaten/innen vorhanden."
-#: assignment/templates/assignment/assignment_detail.html:157
+#: assignment/templates/assignment/assignment_detail.html:162
msgid "Publish result"
msgstr "Ergebnis veröffentlichen"
-#: assignment/templates/assignment/assignment_detail.html:168
+#: assignment/templates/assignment/assignment_detail.html:173
#: assignment/templates/assignment/assignmentpoll_form.html:25
msgid "Show election result"
msgstr "Wahlergebnis projizieren"
-#: assignment/templates/assignment/assignment_detail.html:171
+#: assignment/templates/assignment/assignment_detail.html:176
#: assignment/templates/assignment/assignmentpoll_form.html:96
-#: motion/templates/motion/motion_detail.html:221
+#: motion/templates/motion/motion_detail.html:224
#: motion/templates/motion/motionpoll_form.html:72
msgid "Ballot paper as PDF"
msgstr "Stimmzettel als PDF"
-#: assignment/templates/assignment/assignment_detail.html:183
-#: assignment/templates/assignment/assignment_detail.html:282
+#: assignment/templates/assignment/assignment_detail.html:188
+#: assignment/templates/assignment/assignment_detail.html:287
msgid "New ballot"
msgstr "Neuer Wahlgang"
-#: assignment/templates/assignment/assignment_detail.html:194
-#: assignment/templates/assignment/assignment_detail.html:203
+#: assignment/templates/assignment/assignment_detail.html:199
+#: assignment/templates/assignment/assignment_detail.html:208
msgid "Mark candidate as elected"
msgstr "Kandidat/in als gewählt markieren"
-#: assignment/templates/assignment/assignment_detail.html:197
+#: assignment/templates/assignment/assignment_detail.html:202
msgid "Candidate is elected"
msgstr "Kandidat/in ist gewählt"
-#: assignment/templates/assignment/assignment_detail.html:217
+#: assignment/templates/assignment/assignment_detail.html:222
msgid "was not a
candidate"
msgstr "war kein Kandidat"
-#: assignment/templates/assignment/assignment_detail.html:278
+#: assignment/templates/assignment/assignment_detail.html:283
msgid "No ballots available."
msgstr "Keine Wahlgänge vorhanden."
-#: assignment/templates/assignment/assignment_detail.html:293
-#: assignment/templates/assignment/assignment_list.html:35
+#: assignment/templates/assignment/assignment_detail.html:298
+#: assignment/templates/assignment/assignment_list.html:41
#: assignment/templates/assignment/slide.html:9
-#: motion/templates/motion/motion_detail.html:203
-#: motion/templates/motion/motion_list.html:53
+#: motion/templates/motion/motion_detail.html:206
+#: motion/templates/motion/motion_list.html:62
#: motion/templates/motion/slide.html:8
msgid "Status"
msgstr "Status"
-#: assignment/templates/assignment/assignment_detail.html:302
+#: assignment/templates/assignment/assignment_detail.html:307
msgid "Change status"
msgstr "Status ändern"
@@ -1232,16 +1246,16 @@ msgstr "Neue Wahl"
msgid "Back to election"
msgstr "Zurück zur Wahl"
-#: assignment/templates/assignment/assignment_list.html:25
+#: assignment/templates/assignment/assignment_list.html:31
msgid "Print all elections as PDF"
msgstr "Alle Wahlen als PDF drucken"
-#: assignment/templates/assignment/assignment_list.html:46
+#: assignment/templates/assignment/assignment_list.html:56
msgctxt "Number of searched candidates for an election"
msgid "Posts"
msgstr "Posten"
-#: assignment/templates/assignment/assignment_list.html:53
+#: assignment/templates/assignment/assignment_list.html:63
msgid "Elected"
msgstr "Gewählt"
@@ -1273,6 +1287,7 @@ msgstr "Kurzbeschreibung (für Stimmzettel)"
#: core/templates/formbuttons_save.html:4
#: core/templates/formbuttons_saveapply.html:4
#: core/templates/core/select_widgets.html:28
+#: core/templates/core/tag_list.html:19
#: motion/templates/motion/motionpoll_form.html:78
msgid "Save"
msgstr "Speichern"
@@ -1330,6 +1345,14 @@ msgstr "Darf das Dashboard sehen"
msgid "Can use the chat"
msgstr "Darf den Chat benutzen"
+#: core/models.py:49 core/templates/core/tag_list.html:24
+msgid "Tag"
+msgstr "Schlagwort"
+
+#: core/models.py:54
+msgid "Can manage tags"
+msgstr "Darf Schlagwörter verwalten"
+
#: core/signals.py:26
msgid "Event name"
msgstr "Veranstaltungsname"
@@ -1424,31 +1447,31 @@ msgstr "System"
msgid "General"
msgstr "Allgemein"
-#: core/views.py:81
+#: core/views.py:83
msgid "There are errors in the form."
msgstr "Fehler im Formular."
-#: core/views.py:167
+#: core/views.py:169
msgid "Forbidden"
msgstr "Zugriff verweigert"
-#: core/views.py:168
+#: core/views.py:170
msgid "Sorry, you have no permission to see this page."
msgstr "Bedaure, Sie haben keine Berechtigung diese Seite zu sehen."
-#: core/views.py:170
+#: core/views.py:172
msgid "Not Found"
msgstr "Seite nicht gefunden"
-#: core/views.py:171
+#: core/views.py:173
msgid "Sorry, the requested page could not be found."
msgstr "Bedaure, die gesuchte Seite wurde nicht gefunden."
-#: core/views.py:173
+#: core/views.py:175
msgid "Internal Server Error"
msgstr "Serverfehler"
-#: core/views.py:174
+#: core/views.py:176
msgid "Sorry, there was an unknown error. Please contact the event manager."
msgstr "Bedaure, es gab einen unerwarteten Fehler. Bitte kontaktieren Sie den Veranstaltungsleiter."
@@ -1456,38 +1479,38 @@ msgstr "Bedaure, es gab einen unerwarteten Fehler. Bitte kontaktieren Sie den Ve
msgid "Custom Slides"
msgstr "Benutzerdefinierte Folien"
-#: core/templates/base.html:29
+#: core/templates/base.html:30
msgid "Home"
msgstr "Startseite"
-#: core/templates/base.html:29
+#: core/templates/base.html:30
msgid "Logo"
msgstr "Logo"
-#: core/templates/base.html:36 core/templates/core/search.html:5
+#: core/templates/base.html:37 core/templates/core/search.html:5
#: core/templates/core/search.html.py:13 core/templates/core/search.html:16
msgid "Search"
msgstr "Suche"
-#: core/templates/base.html:45
+#: core/templates/base.html:46
msgid "Chat"
msgstr "Chat"
-#: core/templates/base.html:59
+#: core/templates/base.html:60
#: participant/templates/participant/settings.html:5
#: participant/templates/participant/settings.html:8
msgid "Edit profile"
msgstr "Profil bearbeiten"
-#: core/templates/base.html:60
+#: core/templates/base.html:61
msgid "Change password"
msgstr "Passwort ändern"
-#: core/templates/base.html:62
+#: core/templates/base.html:63
msgid "Logout"
msgstr "Abmelden"
-#: core/templates/base.html:65 participant/templates/participant/login.html:6
+#: core/templates/base.html:66 participant/templates/participant/login.html:6
#: participant/templates/participant/login.html:43
msgid "Login"
msgstr "Anmelden"
@@ -1526,13 +1549,21 @@ msgstr "Widgets auswählen"
msgid "No widgets available"
msgstr "Keine Widgets vorhanden."
+#: core/templates/core/tag_list.html:17
+msgid "Enter new tag name"
+msgstr "Neues Schlagwort eingeben"
+
+#: core/templates/core/tag_list.html:56
+msgid "You can use these tags for agenda items, motions and elections."
+msgstr "Diese Schlagwörter können für Tagesordnungspunkte, Anträge und Wahlen verwendet werden."
+
#: core/templates/core/version.html:5 core/templates/core/version.html.py:8
-#: core/templates/core/version.html:16 motion/pdf.py:95 motion/views.py:363
+#: core/templates/core/version.html:16 motion/pdf.py:94 motion/views.py:443
#: motion/templates/motion/motion_detail.html:22
#: motion/templates/motion/motion_diff.html:35
#: motion/templates/motion/motion_diff.html:39
#: motion/templates/motion/motionpoll_slide.html:10
-#: motion/templates/motion/slide.html:80
+#: motion/templates/motion/slide.html:83
msgid "Version"
msgstr "Version"
@@ -1690,105 +1721,105 @@ msgstr "Zusammenfassung"
msgid "%(counts)d of %(total)d motions successfully imported."
msgstr "%(counts)d von %(total)d Anträgen erfolgreich importiert."
-#: motion/forms.py:39 motion/models.py:542 motion/pdf.py:152
-#: motion/templates/motion/motion_detail.html:94
+#: motion/forms.py:38 motion/models.py:579 motion/pdf.py:151
+#: motion/templates/motion/motion_detail.html:97
#: motion/templates/motion/motion_diff.html:54
-#: motion/templates/motion/slide.html:91
+#: motion/templates/motion/slide.html:94
msgid "Reason"
msgstr "Begründung"
-#: motion/forms.py:47 motion/templates/motion/motion_detail.html:101
+#: motion/forms.py:46 motion/templates/motion/motion_detail.html:104
msgid "Attachments"
msgstr "Anhänge"
-#: motion/forms.py:77 motion/pdf.py:49
-#: motion/templates/motion/motion_detail.html:183
-#: motion/templates/motion/motion_list.html:54
+#: motion/forms.py:80 motion/pdf.py:48
+#: motion/templates/motion/motion_detail.html:186
+#: motion/templates/motion/motion_list.html:63
#: motion/templates/motion/slide.html:51
msgid "Submitter"
msgstr "Antragsteller/in"
-#: motion/forms.py:92 motion/pdf.py:74 motion/signals.py:86
-#: motion/templates/motion/motion_detail.html:190
-#: motion/templates/motion/motion_list.html:56
+#: motion/forms.py:95 motion/pdf.py:73 motion/signals.py:105
+#: motion/templates/motion/motion_detail.html:193
+#: motion/templates/motion/motion_list.html:65
#: motion/templates/motion/slide.html:61
msgid "Supporters"
msgstr "Unterstützer/innen"
-#: motion/forms.py:107
+#: motion/forms.py:110
msgid "Don't create a new version"
msgstr "Keine neue Version erzeugen"
-#: motion/forms.py:108
+#: motion/forms.py:111
msgid "Don't create a new version. Useful e.g. for trivial changes."
msgstr "Keine neue Version erzeugen. Nützlich z.B. für triviale Änderungen."
-#: motion/forms.py:121 motion/templates/motion/motion_detail.html:266
-#: motion/templates/motion/motion_list.html:52
+#: motion/forms.py:124 motion/templates/motion/motion_detail.html:272
+#: motion/templates/motion/motion_list.html:61
#: motion/templates/motion/slide.html:70
msgid "Category"
msgstr "Sachgebiet"
-#: motion/forms.py:141 motion/signals.py:36
+#: motion/forms.py:144 motion/signals.py:36
msgid "Identifier"
msgstr "Bezeichner"
-#: motion/forms.py:156
+#: motion/forms.py:159
msgid "Workflow"
msgstr "Arbeitsablauf"
-#: motion/forms.py:157
+#: motion/forms.py:160
msgid ""
"Set a specific workflow to switch to it. If you do so, the state of the "
"motion will be reset."
msgstr "Setzt den Antrag auf einen bestimmten Arbeitsablauf. In diesem Fall wird der Status des Antrags zurückgesetzt."
-#: motion/forms.py:167
+#: motion/forms.py:170
msgid "Override existing motions with the same identifier"
msgstr "Überschreibe existrierende Anträge mit dem gleichen Bezeichner"
-#: motion/forms.py:168
+#: motion/forms.py:171
msgid ""
"If this is active, every motion with the same identifier as in your csv file"
" will be overridden."
msgstr "Wenn dies aktiviert ist, wird jeder Antrag mit dem gleichen Bezeichner wie in Ihrer CSV-Datei überschrieben."
-#: motion/forms.py:176
+#: motion/forms.py:179
msgid "Default submitter"
msgstr "Voreingestellte/r Antragsteller/in"
-#: motion/forms.py:177
+#: motion/forms.py:180
msgid ""
"This person is used as submitter for any line of your csv file which does "
"not contain valid submitter data."
msgstr "Diese Person wird für jede Zeile aus Ihrer CSV-Datei als Antragsteller verwendet, bei der kein gültiger Antragsteller enthalten ist."
-#: motion/main_menu.py:12 motion/signals.py:124 motion/views.py:715
+#: motion/main_menu.py:12 motion/signals.py:143 motion/views.py:776
#: motion/widgets.py:15 motion/templates/motion/category_list.html:6
#: motion/templates/motion/motion_list.html:7
#: motion/templates/motion/motion_list.html:32
msgid "Motions"
msgstr "Anträge"
-#: motion/models.py:79
+#: motion/models.py:89
msgid "Can see motions"
msgstr "Darf Anträge sehen"
-#: motion/models.py:80
+#: motion/models.py:90
msgid "Can create motions"
msgstr "Darf Anträge erstellen"
-#: motion/models.py:81
+#: motion/models.py:91
msgid "Can support motions"
msgstr "Darf Anträge unterstützen"
-#: motion/models.py:82
+#: motion/models.py:92
msgid "Can manage motions"
msgstr "Darf Anträge verwalten"
-#: motion/models.py:85 motion/models.py:470 motion/pdf.py:42 motion/pdf.py:262
-#: motion/signals.py:148 motion/views.py:289 motion/views.py:612
-#: motion/views.py:722 motion/templates/motion/motion_detail.html:8
+#: motion/models.py:95 motion/models.py:492 motion/pdf.py:41 motion/pdf.py:261
+#: motion/signals.py:167 motion/views.py:370 motion/views.py:672
+#: motion/views.py:783 motion/templates/motion/motion_detail.html:8
#: motion/templates/motion/motion_detail.html:20
#: motion/templates/motion/motion_diff.html:6
#: motion/templates/motion/motion_diff.html:19
@@ -1800,60 +1831,60 @@ msgstr "Darf Anträge verwalten"
msgid "Motion"
msgstr "Antrag"
-#: motion/models.py:556
+#: motion/models.py:593
msgid "new"
msgstr "Neu"
-#: motion/models.py:613 motion/templates/motion/category_list.html:22
+#: motion/models.py:650 motion/templates/motion/category_list.html:22
msgid "Category name"
msgstr "Sachgebiet"
-#: motion/models.py:616 motion/templates/motion/category_list.html:21
+#: motion/models.py:653 motion/templates/motion/category_list.html:21
msgid "Prefix"
msgstr "Präfix"
-#: motion/models.py:671
+#: motion/models.py:708
#, python-format
msgid "%(time_and_messages)s by %(person)s"
msgstr "%(time_and_messages)s durch %(person)s"
-#: motion/models.py:726
+#: motion/models.py:763
#, python-format
msgid "Vote %d"
msgstr "Abstimmung %d"
-#: motion/pdf.py:63
+#: motion/pdf.py:62
msgid "Signature"
msgstr "Unterschrift"
-#: motion/pdf.py:85
+#: motion/pdf.py:84
msgid "State"
msgstr "Status"
-#: motion/pdf.py:111 motion/templates/motion/motion_detail.html:208
+#: motion/pdf.py:110 motion/templates/motion/motion_detail.html:211
#: motion/templates/motion/motionpoll_form.html:27
msgid "Vote result"
msgstr "Abstimmungsergebnis"
-#: motion/pdf.py:125 motion/templates/motion/slide.html:17
+#: motion/pdf.py:124 motion/templates/motion/slide.html:17
msgid "Vote"
msgstr "Abstimmung"
-#: motion/pdf.py:249 motion/templates/motion/category_list.html:10
-#: motion/templates/motion/motion_list.html:40
+#: motion/pdf.py:248 motion/templates/motion/category_list.html:10
+#: motion/templates/motion/motion_list.html:48
msgid "Categories"
msgstr "Sachgebiete"
-#: motion/pdf.py:256 motion/templates/motion/widget_motion.html:29
+#: motion/pdf.py:255 motion/templates/motion/widget_motion.html:29
msgid "No motions available."
msgstr "Keine Anträge vorhanden."
-#: motion/pdf.py:269
+#: motion/pdf.py:268
#, python-format
msgid "Motion No. %s"
msgstr "Antrag Nr. %s"
-#: motion/pdf.py:271
+#: motion/pdf.py:270
#, python-format
msgid "%d. Vote"
msgstr "%d. Abstimmung"
@@ -1898,245 +1929,262 @@ msgstr "Einreichen von neuen Anträgen stoppen für Nutzer ohne Verwaltungsrecht
msgid "Allow to disable versioning"
msgstr "Erlaubt Versionierung zu deaktiveren"
-#: motion/signals.py:76
+#: motion/signals.py:75
+msgid "Activate amendments"
+msgstr "Änderungsanträge aktivieren"
+
+#: motion/signals.py:80
+msgctxt "Prefix for the identifier for amendments"
+msgid "A"
+msgstr "Ä"
+
+#: motion/signals.py:83
+msgid "Prefix for the identifier for amendments"
+msgstr "Präfix für den Bezeichner von Änderungsanträgen"
+
+#: motion/signals.py:86 motion/templates/motion/motion_detail.html:295
+msgid "Amendments"
+msgstr "Änderungsanträge"
+
+#: motion/signals.py:95
msgid "Number of (minimum) required supporters for a motion"
msgstr "Mindestanzahl erforderlicher Unterstützer/innen für einen Antrag"
-#: motion/signals.py:78
+#: motion/signals.py:97
msgid "Choose 0 to disable the supporting system."
msgstr "Gebe 0 ein, um das Unterstützersystem zu deaktivieren."
-#: motion/signals.py:83
+#: motion/signals.py:102
msgid ""
"Remove all supporters of a motion if a submitter edits his motion in early "
"state"
msgstr "Entferne alle Unterstützer eines Antrags, wenn ein Antragsteller seinen Antrag im Anfangsstadium bearbeitet"
-#: motion/signals.py:96
+#: motion/signals.py:115
msgid "The 100 % base of a voting result consists of"
msgstr "Die 100%-Basis eines Abstimmungsergebnisses besteht aus"
-#: motion/signals.py:118
+#: motion/signals.py:137
msgid "Voting and ballot papers"
msgstr "Abstimmung und Stimmzettel"
-#: motion/signals.py:129
+#: motion/signals.py:148
msgid "Title for PDF document (all motions)"
msgstr "Titel für PDF-Dokument (alle Anträge)"
-#: motion/signals.py:136
+#: motion/signals.py:155
msgid "Preamble text for PDF document (all motions)"
msgstr "Einleitungstext für PDF-Dokument (alle Anträge) "
-#: motion/signals.py:141
+#: motion/signals.py:160
msgid "Show paragraph numbering (only in PDF)"
msgstr "Absatznummerierung anzeigen (nur im PDF)"
-#: motion/signals.py:159
+#: motion/signals.py:179
msgid "Simple Workflow"
msgstr "Einfacher Arbeitsablauf"
-#: motion/signals.py:161
+#: motion/signals.py:181
msgid "submitted"
msgstr "eingereicht"
-#: motion/signals.py:166 motion/signals.py:193
+#: motion/signals.py:186 motion/signals.py:213
msgid "accepted"
msgstr "angenommen"
-#: motion/signals.py:168 motion/signals.py:195
+#: motion/signals.py:188 motion/signals.py:215
msgid "Accept"
msgstr "Annehmen"
-#: motion/signals.py:169 motion/signals.py:197
+#: motion/signals.py:189 motion/signals.py:217
msgid "rejected"
msgstr "abgelehnt"
-#: motion/signals.py:171 motion/signals.py:199
+#: motion/signals.py:191 motion/signals.py:219
msgid "Reject"
msgstr "Ablehnen"
-#: motion/signals.py:172
+#: motion/signals.py:192
msgid "not decided"
msgstr "nicht entschieden"
-#: motion/signals.py:174
+#: motion/signals.py:194
msgid "Do not decide"
msgstr "Nicht entscheiden"
-#: motion/signals.py:179
+#: motion/signals.py:199
msgid "Complex Workflow"
msgstr "Komplexer Arbeitsablauf"
-#: motion/signals.py:181
+#: motion/signals.py:201
msgid "published"
msgstr "veröffentlicht"
-#: motion/signals.py:186 motion/views.py:365
+#: motion/signals.py:206 motion/views.py:445
msgid "permitted"
msgstr "zugelassen"
-#: motion/signals.py:188
+#: motion/signals.py:208
msgid "Permit"
msgstr "Zulassen"
-#: motion/signals.py:201
+#: motion/signals.py:221
msgid "withdrawed"
msgstr "zurückgezogen"
-#: motion/signals.py:203
+#: motion/signals.py:223
msgid "Withdraw"
msgstr "Zurückziehen"
-#: motion/signals.py:205
+#: motion/signals.py:225
msgid "adjourned"
msgstr "vertagt"
-#: motion/signals.py:207
+#: motion/signals.py:227
msgid "Adjourn"
msgstr "Vertagen"
-#: motion/signals.py:209
+#: motion/signals.py:229
msgid "not concerned"
msgstr "nicht befasst"
-#: motion/signals.py:211
+#: motion/signals.py:231
msgid "Do not concern"
msgstr "Nicht befassen"
-#: motion/signals.py:213
+#: motion/signals.py:233
msgid "commited a bill"
msgstr "in Ausschuss verwiesen"
-#: motion/signals.py:215
+#: motion/signals.py:235
msgid "Commit a bill"
msgstr "In Ausschuss verweisen"
-#: motion/signals.py:217
+#: motion/signals.py:237
msgid "needs review"
msgstr "Benötigt Review"
-#: motion/signals.py:219
+#: motion/signals.py:239
msgid "Needs review"
msgstr "Benötigt Review"
-#: motion/signals.py:221
+#: motion/signals.py:241
msgid "rejected (not authorized)"
msgstr "Verworfen (nicht zulässig)"
-#: motion/signals.py:223
+#: motion/signals.py:243
msgid "Reject (not authorized)"
msgstr "Verwerfen (nicht zulässig)"
-#: motion/views.py:183
+#: motion/views.py:214
msgid "Motion created"
msgstr "Antrag erstellt"
-#: motion/views.py:228
+#: motion/views.py:311
msgid "All supporters removed"
msgstr "Alle Unterstützer entfernt"
-#: motion/views.py:242
+#: motion/views.py:325
msgid "Motion version"
msgstr "Version"
-#: motion/views.py:244
+#: motion/views.py:327
msgid "created"
msgstr "erstellt"
-#: motion/views.py:244
+#: motion/views.py:327
msgid "updated"
msgstr "aktualisiert"
-#: motion/views.py:289 utils/views.py:525
+#: motion/views.py:370 utils/views.py:554
#, python-format
msgid "%s was successfully deleted."
msgstr "%s wurde erfolgreich gelöscht."
-#: motion/views.py:328
+#: motion/views.py:409
msgid "Version successfully permitted."
msgstr "Version erfolgreich zugelassen."
-#: motion/views.py:354
+#: motion/views.py:434
#, python-format
msgid "Are you sure you want permit version %s?"
msgstr "Soll Version %s wirklich zugelassen werden?"
-#: motion/views.py:391
+#: motion/views.py:474
msgid "At least one version number is not valid."
msgstr "Mindestens eine Versionsnummer ist ungültig"
-#: motion/views.py:434
+#: motion/views.py:508
msgid "You can not support this motion."
msgstr "Sie dürfen diesen Antrag nicht unterstützen."
-#: motion/views.py:437
+#: motion/views.py:511
msgid "You can not unsupport this motion."
msgstr "Sie dürfen Ihre Unterstützung für diesen Antrag nicht entziehen."
-#: motion/views.py:447
+#: motion/views.py:521
msgid "Do you really want to support this motion?"
msgstr "Wollen Sie wirklich diesen Antrag unterstützen?"
-#: motion/views.py:449
+#: motion/views.py:523
msgid "Do you really want to unsupport this motion?"
msgstr "Wollen Sie wirklich Ihre Unterstützung für diesen Antrag entziehen?"
-#: motion/views.py:462
+#: motion/views.py:536
msgid "Motion supported"
msgstr "Antrag unterstützt"
-#: motion/views.py:465
+#: motion/views.py:539
msgid "Motion unsupported"
msgstr "Unterstützung zurückgezogen"
-#: motion/views.py:472
+#: motion/views.py:546
msgid "You have supported this motion successfully."
msgstr "Sie haben den Antrag erfolgreich unterstützt."
-#: motion/views.py:474
+#: motion/views.py:548
msgid "You have unsupported this motion successfully."
msgstr "Sie haben dem Antrag erfolgreich Ihre Unterstützung entzogen."
-#: motion/views.py:500
+#: motion/views.py:564
msgid "Poll created"
msgstr "Abstimmung erstellt"
-#: motion/views.py:501
+#: motion/views.py:565
msgid "New vote was successfully created."
msgstr "Neue Abstimmung erfolgreich angelegt."
-#: motion/views.py:567
+#: motion/views.py:635
msgid "Poll updated"
msgstr "Abstimmung wurde aktualisiert"
-#: motion/views.py:585
+#: motion/views.py:651
msgid "Poll deleted"
msgstr "Abstimmung gelöscht"
-#: motion/views.py:612
+#: motion/views.py:672
msgid "Poll"
msgstr "Abstimmung"
-#: motion/views.py:653
+#: motion/views.py:710
msgid "You can not set the state of the motion. It is already done."
msgstr "Sie dürfen diesen Status des Antrags nicht setzen. Er ist bereits gesetzt. "
-#: motion/views.py:655
+#: motion/views.py:712
#, python-format
msgid "You can not set the state of the motion to %s."
msgstr "Sie dürfen den Antragsstatus nicht auf %s setzen."
-#: motion/views.py:662
+#: motion/views.py:719
msgid "State changed to"
msgstr "Status geändert zu"
-#: motion/views.py:665
+#: motion/views.py:722
#, python-format
msgid "The state of the motion was set to %s."
msgstr "Der Status des Antrags wurde auf %s gesetzt."
-#: motion/views.py:683
+#: motion/views.py:737
msgid "Agenda item created"
msgstr "Tagesordnungseintrag angelegt"
@@ -2156,7 +2204,7 @@ msgid "No categories available."
msgstr "Keine Sachgebiete vorhanden."
#: motion/templates/motion/motion_detail.html:24
-#: motion/templates/motion/motion_detail.html:128
+#: motion/templates/motion/motion_detail.html:131
msgid "This version is authorized"
msgstr "Diese Version wurde zugelassen"
@@ -2164,117 +2212,126 @@ msgstr "Diese Version wurde zugelassen"
msgid "This version is not authorized."
msgstr "Diese Version ist nicht zugelassen."
-#: motion/templates/motion/motion_detail.html:37
+#: motion/templates/motion/motion_detail.html:33
+#: motion/templates/motion/slide.html:81
+msgid "Amendment of"
+msgstr "Änderungsantrag von"
+
+#: motion/templates/motion/motion_detail.html:40
msgid "Print motion as PDF"
msgstr "Antrag als PDF drucken"
-#: motion/templates/motion/motion_detail.html:41
-#: motion/templates/motion/motion_list.html:98
+#: motion/templates/motion/motion_detail.html:44
+#: motion/templates/motion/motion_list.html:118
#: motion/templates/motion/motionpoll_form.html:22
msgid "Show motion"
msgstr "Antrag projizieren"
-#: motion/templates/motion/motion_detail.html:53
-#: motion/templates/motion/motion_form.html:32
-#: motion/templates/motion/motion_form.html:42
+#: motion/templates/motion/motion_detail.html:56
+#: motion/templates/motion/motion_form.html:15
+#: motion/templates/motion/motion_form.html:25
msgid "Edit motion"
msgstr "Antrag bearbeiten"
-#: motion/templates/motion/motion_detail.html:58
+#: motion/templates/motion/motion_detail.html:61
msgid "Delete motion"
msgstr "Antrag löschen"
-#: motion/templates/motion/motion_detail.html:77
+#: motion/templates/motion/motion_detail.html:80
msgid "Go to the authorized version"
msgstr "Zur zugelassenen Version"
-#: motion/templates/motion/motion_detail.html:82
+#: motion/templates/motion/motion_detail.html:85
msgid "Go to the newest version"
msgstr "Zur neuesten Version"
-#: motion/templates/motion/motion_detail.html:89
+#: motion/templates/motion/motion_detail.html:92
msgid "Motion text"
msgstr "Antragstext"
-#: motion/templates/motion/motion_detail.html:114
+#: motion/templates/motion/motion_detail.html:117
msgid "Version history"
msgstr "Versionshistorie"
-#: motion/templates/motion/motion_detail.html:120
+#: motion/templates/motion/motion_detail.html:123
msgid "Time"
msgstr "Zeit"
-#: motion/templates/motion/motion_detail.html:121
+#: motion/templates/motion/motion_detail.html:124
msgid "Difference"
msgstr "Unterschied"
-#: motion/templates/motion/motion_detail.html:131
+#: motion/templates/motion/motion_detail.html:134
msgid "Permit this version"
msgstr "Diese Version zulassen"
-#: motion/templates/motion/motion_detail.html:165
+#: motion/templates/motion/motion_detail.html:168
msgid "Show log"
msgstr "Log anzeigen"
-#: motion/templates/motion/motion_detail.html:213
+#: motion/templates/motion/motion_detail.html:216
#: motion/templates/motion/motionpoll_slide.html:11
msgid "vote"
msgstr "Abstimmung"
-#: motion/templates/motion/motion_detail.html:218
+#: motion/templates/motion/motion_detail.html:221
#: motion/templates/motion/motionpoll_form.html:26
msgid "Show vote result"
msgstr "Wahlergebnis projizieren"
-#: motion/templates/motion/motion_detail.html:223
+#: motion/templates/motion/motion_detail.html:226
msgid "Edit Vote"
msgstr "Abstimmung bearbeiten"
-#: motion/templates/motion/motion_detail.html:225
+#: motion/templates/motion/motion_detail.html:228
#: motion/templates/motion/motionpoll_form.html:31
msgid "Delete Vote"
msgstr "Abstimmung löschen"
-#: motion/templates/motion/motion_detail.html:249
+#: motion/templates/motion/motion_detail.html:252
msgid "No result"
msgstr "Kein Ergebnis"
-#: motion/templates/motion/motion_detail.html:259
+#: motion/templates/motion/motion_detail.html:264
msgid "New vote"
msgstr "Neue Abstimmung"
-#: motion/templates/motion/motion_detail.html:276
+#: motion/templates/motion/motion_detail.html:287
msgid "Last changes (of this version)"
msgstr "Letzte Änderung (von dieser Version)"
-#: motion/templates/motion/motion_detail.html:278
+#: motion/templates/motion/motion_detail.html:289
#: motion/templates/motion/motion_diff.html:36
#: motion/templates/motion/motion_diff.html:40
-#: motion/templates/motion/motion_list.html:58
+#: motion/templates/motion/motion_list.html:67
msgid "Last changes"
msgstr "Letzte Änderung"
-#: motion/templates/motion/motion_detail.html:288
+#: motion/templates/motion/motion_detail.html:307
+msgid "New amendment"
+msgstr "Neuer Änderungsantrag"
+
+#: motion/templates/motion/motion_detail.html:316
msgid "Unsupport"
msgstr "Nicht unterstützen"
-#: motion/templates/motion/motion_detail.html:294
+#: motion/templates/motion/motion_detail.html:322
msgid "Support"
msgstr "Unterstützen"
-#: motion/templates/motion/motion_detail.html:302
+#: motion/templates/motion/motion_detail.html:330
msgid "minimum required supporters"
msgstr "minimal erforderliche Unterstützer/innen"
-#: motion/templates/motion/motion_detail.html:309
+#: motion/templates/motion/motion_detail.html:337
msgid "Manage motion"
msgstr "Antrag verwalten"
-#: motion/templates/motion/motion_detail.html:319
+#: motion/templates/motion/motion_detail.html:347
msgid "For administration only:"
msgstr "Nur zur Administration:"
-#: motion/templates/motion/motion_detail.html:321
+#: motion/templates/motion/motion_detail.html:349
msgid "Reset state"
msgstr "Status zurücksetzen"
@@ -2287,20 +2344,20 @@ msgid "Diff view"
msgstr "Änderungsanzeige"
#: motion/templates/motion/motion_diff.html:27
-#: motion/templates/motion/motion_form.html:48
+#: motion/templates/motion/motion_form.html:31
#: motion/templates/motion/motionpoll_form.html:18
msgid "Back to motion"
msgstr "Zurück zum Antrag"
-#: motion/templates/motion/motion_form.html:34
-#: motion/templates/motion/motion_form.html:44
+#: motion/templates/motion/motion_form.html:17
+#: motion/templates/motion/motion_form.html:27
#: motion/templates/motion/motion_list.html:36
msgid "New motion"
msgstr "Neuer Antrag"
#: motion/templates/motion/motion_form_csv_import.html:5
#: motion/templates/motion/motion_form_csv_import.html:9
-#: motion/templates/motion/motion_list.html:41
+#: motion/templates/motion/motion_list.html:50
msgid "Import motions"
msgstr "Anträge importieren"
@@ -2317,31 +2374,35 @@ msgid ""
"Identifier, reason, submitter and category are optional and may be empty"
msgstr "Bezeichner, Begründung, Antragsteller und Sachgebiet sind optional und dürfen leer bleiben"
-#: motion/templates/motion/motion_list.html:40
+#: motion/templates/motion/motion_list.html:46
msgid "Manage categories"
msgstr "Sachgebiete verwalten"
-#: motion/templates/motion/motion_list.html:43
+#: motion/templates/motion/motion_list.html:52
msgid "Print all motions as PDF"
msgstr "Alle Anträge als PDF drucken"
-#: motion/templates/motion/motion_list.html:50
+#: motion/templates/motion/motion_list.html:59
msgid "#"
msgstr "#"
-#: motion/templates/motion/motion_list.html:51
+#: motion/templates/motion/motion_list.html:60
msgid "Motion title"
msgstr "Antragstitel"
-#: motion/templates/motion/motion_list.html:79
+#: motion/templates/motion/motion_list.html:77
+msgid "Amendment"
+msgstr "Änderungsantrag"
+
+#: motion/templates/motion/motion_list.html:99
msgid "Enough supporters"
msgstr "Ausreichend Unterstützer/innen"
-#: motion/templates/motion/motion_list.html:82
+#: motion/templates/motion/motion_list.html:102
msgid "Needs supporters"
msgstr "Benötigt Unterstützer/innen"
-#: motion/templates/motion/motion_list.html:89
+#: motion/templates/motion/motion_list.html:109
msgid "There is a newer (unauthorized) version."
msgstr "Es gibt eine neuere (nicht zugelassene) Version."
@@ -2399,7 +2460,7 @@ msgstr "Teilnehmer/innen"
msgid "Use one line per participant for its name (first name and last name)."
msgstr "Verwenden Sie eine Zeile pro Teilnehmer für den Namen (Vorname und Nachname)"
-#: participant/forms.py:52 participant/forms.py:155 participant/pdf.py:109
+#: participant/forms.py:52 participant/forms.py:156 participant/pdf.py:109
#: participant/templates/participant/login.html:34
#: participant/templates/participant/user_detail.html:69
msgid "Username"
@@ -2415,19 +2476,19 @@ msgstr "Sie dürfen nicht die letzte Gruppe löschen, die das Recht zur Verwaltu
msgid "Permissions"
msgstr "Rechte"
-#: participant/forms.py:141
+#: participant/forms.py:142
msgid ""
"You can not remove yourself from the last group containing the permission to"
" manage participants."
msgstr "Sie dürfen sich nicht selbst aus der letzten Gruppe löschen, die das Recht zur Verwaltung von Teilnehmern enthält."
-#: participant/forms.py:149
+#: participant/forms.py:150
msgid ""
"You can not remove the permission to manage participants from the last group"
" you are in."
msgstr "Sie dürfen nicht das Recht zur Verwaltung von Teilnehmern aus der letzten Gruppe entfernen, in der Sie Mitglied sind."
-#: participant/forms.py:164
+#: participant/forms.py:165
msgid "Language"
msgstr "Sprache"
@@ -2609,7 +2670,7 @@ msgstr "Registrierte/r Teilnehmer/in"
msgid "Delegates"
msgstr "Delegierte/r"
-#: participant/signals.py:176
+#: participant/signals.py:179
#: participant/templates/participant/user_form_csv_import.html:25
msgid "Staff"
msgstr "Mitarbeiter/in"
@@ -2623,42 +2684,42 @@ msgstr "%(number)d Teilnehmer/innen erfolgreich angelegt."
msgid "You can not delete yourself."
msgstr "Sie dürfen sich nicht selbst löschen."
-#: participant/views.py:194
+#: participant/views.py:193
msgid "You can not deactivate yourself."
msgstr "Sie dürfen sich nicht selbst deaktivieren."
-#: participant/views.py:213
+#: participant/views.py:212
msgid "Participant-list"
msgstr "Teilnehmerliste"
-#: participant/views.py:214
+#: participant/views.py:213
msgid "List of Participants"
msgstr "Teilnehmerliste"
-#: participant/views.py:228
+#: participant/views.py:227
msgid "Participant-access-data"
msgstr "Teilnehmer-Zugangsdaten"
-#: participant/views.py:258
+#: participant/views.py:257
msgid "Do you really want to reset the password?"
msgstr "Soll das Passwort wirklich zurückgesetzt werden?"
-#: participant/views.py:271
+#: participant/views.py:266
#, python-format
msgid "The Password for %s was successfully reset."
msgstr "Das Passwort für %s wurde erfolgreich zurückgesetzt."
-#: participant/views.py:365
+#: participant/views.py:360
msgid "You can not delete this group."
msgstr "Sie dürfen diese Gruppe nicht löschen."
-#: participant/views.py:374
+#: participant/views.py:369
msgid ""
"You can not delete the last group containing the permission to manage "
"participants you are in."
msgstr "Sie dürfen nicht die letzte Gruppe löschen, in der Sie Mitglied sind und die das Recht zur Verwaltung von Teilnehmern enthält."
-#: participant/views.py:390
+#: participant/views.py:385
#, python-format
msgid ""
"Installation was successfully! Use %(user)s (password: %(password)s) for "
@@ -2667,31 +2728,31 @@ msgid ""
"be a security risk."
msgstr "Die Installation war erfolgreich! Verwenden Sie %(user)s (Passwort: %(password)s) für die erste Anmeldung.
Wichtig: Ändern Sie das Passwort nach der ersten Anmeldung! Anderenfalls erscheint diese Meldung weiterhin für alle und ist ein Sicherheitsrisiko."
-#: participant/views.py:417
+#: participant/views.py:412
msgid "User settings successfully saved."
msgstr "Nutzereinstellungen wurden erfolgreich gespeichert."
-#: participant/views.py:419 participant/views.py:443 utils/views.py:180
+#: participant/views.py:414 participant/views.py:438 utils/views.py:205
msgid "Please check the form for errors."
msgstr "Bitte kontrollieren Sie das Formular nach Fehlern."
-#: participant/views.py:440
+#: participant/views.py:435
msgid "Password successfully changed."
msgstr "Passwort wurde erfolgreich geändert."
-#: participant/templates/participant/edit.html:27
-#: participant/templates/participant/edit.html:37
+#: participant/templates/participant/edit.html:9
+#: participant/templates/participant/edit.html:19
#: participant/templates/participant/user_detail.html:26
msgid "Edit participant"
msgstr "Teilnehmer/in bearbeiten"
-#: participant/templates/participant/edit.html:29
-#: participant/templates/participant/edit.html:39
+#: participant/templates/participant/edit.html:11
+#: participant/templates/participant/edit.html:21
#: participant/templates/participant/overview.html:23
msgid "New participant"
msgstr "Neue/r Teilnehmer/in"
-#: participant/templates/participant/edit.html:50
+#: participant/templates/participant/edit.html:32
msgid "Reset to First Password"
msgstr "Auf Erst-Passwort zurücksetzen"
@@ -2986,33 +3047,33 @@ msgstr "der lokalen IP-Adresse dieses Computers"
msgid "Starting OpenSlides' tornado webserver listening to %(url_string)s"
msgstr "OpenSlides' Tornado Webserver startet auf %(url_string)s"
-#: utils/views.py:328
+#: utils/views.py:357
msgid "Are you sure?"
msgstr "Sind Sie sicher?"
-#: utils/views.py:329
+#: utils/views.py:358
msgid "Thank you for your answer."
msgstr "Danke für Ihre Antwort."
-#: utils/views.py:418
+#: utils/views.py:447
msgid "You did not send a valid answer."
msgstr "Sie haben keine gültige Antwort gesendet."
-#: utils/views.py:452
+#: utils/views.py:481
#, python-format
msgid "%s was successfully modified."
msgstr "%s wurde erfolgreich bearbeitet."
-#: utils/views.py:466
+#: utils/views.py:499
#, python-format
msgid "%s was successfully created."
msgstr "%s wurde erfolgreich angelegt."
-#: utils/views.py:513
+#: utils/views.py:542
#, python-format
msgid "Do you really want to delete %s?"
msgstr "Soll %s wirklich gelöscht werden?"
-#: utils/views.py:540
+#: utils/views.py:569
msgid "undefined-filename"
msgstr "undefinierter-dateiname"
diff --git a/openslides/locale/fr/LC_MESSAGES/django.mo b/openslides/locale/fr/LC_MESSAGES/django.mo
index c572abf64..10b00d4db 100644
Binary files a/openslides/locale/fr/LC_MESSAGES/django.mo and b/openslides/locale/fr/LC_MESSAGES/django.mo differ
diff --git a/openslides/locale/fr/LC_MESSAGES/django.po b/openslides/locale/fr/LC_MESSAGES/django.po
index b2736ec29..9f845f949 100644
--- a/openslides/locale/fr/LC_MESSAGES/django.po
+++ b/openslides/locale/fr/LC_MESSAGES/django.po
@@ -4,9 +4,9 @@
# This file is distributed under the same license as the OpenSlides package.
# Translators:
# Emanuel Schütze , 2013
-# Emanuel Schütze , 2013
+# Emanuel Schütze , 2013,2015
# Moira Brülisauer , 2012
-# Moira Brülisauer , 2013-2014
+# Moira Brülisauer , 2013-2015
# Moira Brülisauer , 2012-2013
# Moira Brülisauer , 2012
# Norman Jäckel , 2013-2014
@@ -14,9 +14,9 @@ msgid ""
msgstr ""
"Project-Id-Version: OpenSlides\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2014-10-16 23:25+0200\n"
-"PO-Revision-Date: 2014-10-27 09:14+0000\n"
-"Last-Translator: Moira Brülisauer \n"
+"POT-Creation-Date: 2015-01-16 14:24+0100\n"
+"PO-Revision-Date: 2015-01-21 14:50+0000\n"
+"Last-Translator: Emanuel Schütze \n"
"Language-Team: French (http://www.transifex.com/projects/p/openslides/language/fr/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -75,7 +75,7 @@ msgstr "Elément parent"
msgid "Invalid format. Hours from 0 to 99 and minutes from 00 to 59"
msgstr "Format non valide. Heures de 0 à 99 et minutes de 00 à 59"
-#: agenda/forms.py:30 agenda/templates/agenda/overview.html:89
+#: agenda/forms.py:30 agenda/templates/agenda/overview.html:103
msgid "Duration"
msgstr "Durée"
@@ -92,95 +92,95 @@ msgstr "Ajouter un participant"
msgid "%s is already on the list of speakers."
msgstr "%s est déjà sur la liste des orateurs."
-#: agenda/main_menu.py:12 agenda/signals.py:87 agenda/views.py:367
-#: agenda/views.py:368 agenda/widgets.py:16
+#: agenda/main_menu.py:12 agenda/signals.py:87 agenda/views.py:358
+#: agenda/views.py:359 agenda/widgets.py:16
#: agenda/templates/agenda/item_slide_summary.html:7
#: agenda/templates/agenda/overview.html:7
#: agenda/templates/agenda/overview.html:34
-#: agenda/templates/agenda/overview.html:97
+#: agenda/templates/agenda/overview.html:111
#: agenda/templates/agenda/widget_item.html:18
#: agenda/templates/search/agenda-results.html:7
#: agenda/templates/search/agenda-results.html:13
msgid "Agenda"
msgstr "Ordre du jour"
-#: agenda/models.py:38
+#: agenda/models.py:39
msgid "Agenda item"
msgstr "Point de l'ordre du jour"
-#: agenda/models.py:39 agenda/templates/search/agenda-results.html:13
+#: agenda/models.py:40 agenda/templates/search/agenda-results.html:13
msgid "Organizational item"
msgstr "élément organisationnel"
-#: agenda/models.py:41
+#: agenda/models.py:42
msgid "Number"
msgstr "Numéro"
-#: agenda/models.py:46 core/models.py:15 core/signals.py:111
+#: agenda/models.py:47 core/models.py:15 core/signals.py:111
#: mediafile/models.py:28 mediafile/templates/mediafile/mediafile_list.html:18
-#: motion/forms.py:28 motion/models.py:536 participant/models.py:34
+#: motion/forms.py:27 motion/models.py:573 participant/models.py:34
#: participant/pdf.py:21 participant/templates/participant/overview.html:49
msgid "Title"
msgstr "Titre"
-#: agenda/models.py:51 core/models.py:16 motion/forms.py:33
-#: motion/models.py:539
+#: agenda/models.py:52 core/models.py:16 motion/forms.py:32
+#: motion/models.py:576
msgid "Text"
msgstr "Texte"
-#: agenda/models.py:56 agenda/templates/agenda/overview.html:86
-#: agenda/templates/agenda/view.html:54 participant/models.py:46
+#: agenda/models.py:57 agenda/templates/agenda/overview.html:100
+#: agenda/templates/agenda/view.html:62 participant/models.py:46
#: participant/templates/participant/overview.html:55
#: participant/templates/participant/user_detail.html:71
msgid "Comment"
msgstr "Commentaire"
-#: agenda/models.py:61
+#: agenda/models.py:62
msgid "Closed"
msgstr "Fermé"
-#: agenda/models.py:67 mediafile/templates/mediafile/mediafile_list.html:19
+#: agenda/models.py:68 mediafile/templates/mediafile/mediafile_list.html:19
msgid "Type"
msgstr "Type"
-#: agenda/models.py:85 core/models.py:17
+#: agenda/models.py:86 core/models.py:17
msgid "Weight"
msgstr "Pondération"
-#: agenda/models.py:107
+#: agenda/models.py:108
msgid "List of speakers is closed"
msgstr "Liste des orateurs est fermée"
-#: agenda/models.py:114
+#: agenda/models.py:120
msgid "Can see agenda"
msgstr "Peut voir l'ordre du jour"
-#: agenda/models.py:115
+#: agenda/models.py:121
msgid "Can manage agenda"
msgstr "Peut gérer l'ordre du jour"
-#: agenda/models.py:116
+#: agenda/models.py:122
msgid "Can see orga items and time scheduling of agenda"
msgstr "Peut voir les éléments organisationelles et la planification de temps de l'ordre du jour"
-#: agenda/models.py:131 agenda/views.py:142
+#: agenda/models.py:137 agenda/views.py:142
msgid "Agenda items can not be child elements of an organizational item."
msgstr "Des éléments de l'ordre du jour ne peuvent pas être les descendants d'un élément organisationel."
-#: agenda/models.py:133
+#: agenda/models.py:139
msgid "Organizational items can not have agenda items as child elements."
-msgstr "Des eléments organisationnels ne peuvent pas avoir points de l'ordre du jour comme descendants."
+msgstr "Des eléments organisationnels ne peuvent pas avoir des points de l'ordre du jour comme descendants."
-#: agenda/models.py:348
+#: agenda/models.py:354
#, python-format
msgid "%(person)s is already on the list of speakers of item %(id)s."
msgstr "%(person)s est déjà sur la liste des orateurs du point de l'ordre du jour %(id)s."
-#: agenda/models.py:352
+#: agenda/models.py:358
msgid "An anonymous user can not be on lists of speakers."
msgstr "Un utilisateur anonyme no peut pas etre sur la liste des orateurs."
-#: agenda/models.py:392
+#: agenda/models.py:398
msgid "Can put oneself on the list of speakers"
msgstr "Peut se mettre sur la liste des orateurs"
@@ -236,43 +236,43 @@ msgstr "Vous n'êtes pas autorisé à gérer l'ordre du jour."
msgid "Errors when reordering of the agenda"
msgstr "Erreurs en réorganisant de l'ordre du jour"
-#: agenda/views.py:290
+#: agenda/views.py:288
msgid "Yes, with all child items."
msgstr "Oui, avec tous les sous-éléments."
-#: agenda/views.py:315
+#: agenda/views.py:313
#, python-format
msgid "Item %s was successfully deleted."
msgstr "Elément %s a été supprimé avec succès."
-#: agenda/views.py:317
+#: agenda/views.py:315
#, python-format
msgid "Item %s and its children were successfully deleted."
msgstr "Elément %s et ses sous-éléments ont été créés avec succès."
-#: agenda/views.py:350
+#: agenda/views.py:341
msgid ""
"Do you really want to generate agenda numbering? Manually added item numbers"
" will be overwritten!"
msgstr "Voulez-vous vraiment générer une numérotation pour l'ordre du jour? Numéros des éléments ajoutés manuellement seront écrasés!"
-#: agenda/views.py:359
+#: agenda/views.py:350
msgid "The agenda has been numbered."
msgstr "L'ordre du jour a été numéroté."
-#: agenda/views.py:393 agenda/views.py:624
+#: agenda/views.py:383 agenda/views.py:618
msgid "The list of speakers is closed."
msgstr "La liste des orateurs est fermée."
-#: agenda/views.py:400 agenda/views.py:633
+#: agenda/views.py:390 agenda/views.py:627
msgid "You were successfully added to the list of speakers."
msgstr "Vous avez été ajouté avec succès à la liste des orateurs."
-#: agenda/views.py:424
+#: agenda/views.py:437
msgid "You are not on the list of speakers."
msgstr "Vous n'êtes pas sur la liste des orateurs."
-#: agenda/views.py:447
+#: agenda/views.py:448
msgid "Do you really want to remove yourself from the list of speakers?"
msgstr "Voulez-vous vraiment vous retirer de la liste des orateurs?"
@@ -281,56 +281,56 @@ msgstr "Voulez-vous vraiment vous retirer de la liste des orateurs?"
msgid "%(person)s is not on the list of %(item)s."
msgstr "%(person)s n'est pas sur la liste des %(item)s."
-#: agenda/views.py:494
+#: agenda/views.py:493
#, python-format
msgid "There is no one speaking at the moment according to %(item)s."
msgstr "Il n'y a pas un a parlé au moment selon %(item)s."
-#: agenda/views.py:559
+#: agenda/views.py:553
msgid "Could not change order. Invalid data."
msgstr "Impossible de modifier la demande. Des données non valides."
-#: agenda/views.py:618
+#: agenda/views.py:612
msgid ""
"There is no list of speakers for the current slide. Please choose the agenda"
" item manually from the agenda."
msgstr "N'existe pas de liste des orateurs pour la diapositive en cours. S'il vous plaît choisissez le point de l'ordre du jour manuellement à partir de l'ordre du jour."
-#: agenda/views.py:637
+#: agenda/views.py:631
msgid "You can not put yourself on the list of speakers."
msgstr "Vous ne pouvez pas vous mettre vous même sur la liste des orateurs."
-#: agenda/views.py:646
+#: agenda/views.py:640
#, python-format
msgid "%s is now speaking."
msgstr "%s est entrain de parler."
-#: agenda/views.py:648
+#: agenda/views.py:642
#: agenda/templates/agenda/item_slide_list_of_speaker.html:26
#: agenda/templates/agenda/overlay_speaker_projector.html:20
msgid "The list of speakers is empty."
msgstr "La liste des orateurs est vide."
-#: agenda/views.py:656
+#: agenda/views.py:650
msgid "There is no one speaking at the moment."
msgstr "Il n'y a personne qui est entrain de parler pour le moment."
-#: agenda/views.py:659
+#: agenda/views.py:653
#, python-format
msgid "%s is now finished."
msgstr "%s est maintenant terminé."
-#: agenda/views.py:716 agenda/widgets.py:44
+#: agenda/views.py:710 agenda/widgets.py:44
#: agenda/templates/agenda/current_list_of_speakers_projector.html:4
#: agenda/templates/agenda/item_slide_list_of_speaker.html:9
#: agenda/templates/agenda/overlay_speaker_projector.html:7
#: agenda/templates/agenda/overlay_speaker_widget.html:4
-#: agenda/templates/agenda/overview.html:43
-#: agenda/templates/agenda/view.html:60
+#: agenda/templates/agenda/overview.html:57
+#: agenda/templates/agenda/view.html:68
msgid "List of speakers"
msgstr "Liste des orateurs"
-#: agenda/views.py:716
+#: agenda/views.py:710
msgid "Not available."
msgstr "Pas disponible."
@@ -351,12 +351,13 @@ msgstr "Nouvel élément"
#: assignment/templates/assignment/assignment_form.html:26
#: core/templates/core/customslide_update.html:10
#: core/templates/core/select_widgets.html:10
+#: core/templates/core/tag_list.html:11
#: mediafile/templates/mediafile/mediafile_form.html:22
#: motion/templates/motion/category_list.html:15
-#: motion/templates/motion/motion_detail.html:35
-#: motion/templates/motion/motion_form.html:50
+#: motion/templates/motion/motion_detail.html:38
+#: motion/templates/motion/motion_form.html:33
#: motion/templates/motion/motion_form_csv_import.html:11
-#: participant/templates/participant/edit.html:42
+#: participant/templates/participant/edit.html:24
#: participant/templates/participant/group_detail.html:12
#: participant/templates/participant/group_edit.html:22
#: participant/templates/participant/user_detail.html:12
@@ -377,10 +378,10 @@ msgstr "Modifier %(type)s %(name)s"
#: config/templates/config/config_form.html:47
#: mediafile/templates/mediafile/mediafile_form.html:33
#: motion/templates/motion/category_form.html:27
-#: motion/templates/motion/motion_form.html:59
+#: motion/templates/motion/motion_form.html:42
#: motion/templates/motion/motion_form_csv_import.html:42
#: motion/templates/motion/motionpoll_form.html:84
-#: participant/templates/participant/edit.html:56
+#: participant/templates/participant/edit.html:38
#: participant/templates/participant/group_edit.html:31
#: participant/templates/participant/user_form_csv_import.html:44
#: participant/templates/participant/user_form_multiple.html:23
@@ -394,9 +395,9 @@ msgstr "Annuler"
#: core/templates/core/customslide_update.html:18
#: mediafile/templates/mediafile/mediafile_form.html:35
#: motion/templates/motion/category_form.html:30
-#: motion/templates/motion/motion_form.html:62
+#: motion/templates/motion/motion_form.html:45
#: motion/templates/motion/motion_form_csv_import.html:45
-#: participant/templates/participant/edit.html:59
+#: participant/templates/participant/edit.html:41
#: participant/templates/participant/group_edit.html:34
#: participant/templates/participant/user_form_csv_import.html:47
#: participant/templates/participant/user_form_multiple.html:26
@@ -405,7 +406,7 @@ msgstr "requis"
#: agenda/templates/agenda/item_form_csv_import.html:5
#: agenda/templates/agenda/item_form_csv_import.html:9
-#: agenda/templates/agenda/overview.html:38
+#: agenda/templates/agenda/overview.html:49
msgid "Import agenda items"
msgstr "Importation des éléments de l'ordre du jour"
@@ -452,9 +453,9 @@ msgid "Use the CSV example file from OpenSlides Wiki."
msgstr "Utilisez le fichier CSV exemple de OpenSlides Wiki."
#: agenda/templates/agenda/item_form_csv_import.html:39
-#: agenda/templates/agenda/overview.html:38
+#: agenda/templates/agenda/overview.html:51
#: motion/templates/motion/motion_form_csv_import.html:39
-#: motion/templates/motion/motion_list.html:41
+#: motion/templates/motion/motion_list.html:50
#: participant/templates/participant/overview.html:26
#: participant/templates/participant/user_form_csv_import.html:41
msgid "Import"
@@ -465,20 +466,21 @@ msgid "Show agenda item"
msgstr "Voir point dans l'ordre du jour"
#: agenda/templates/agenda/item_row.html:16
-#: agenda/templates/agenda/view.html:72
+#: agenda/templates/agenda/view.html:80
#: agenda/templates/agenda/widget_item.html:42
msgid "Show list of speakers"
msgstr "Afficher la liste des orateurs"
#: agenda/templates/agenda/item_row.html:22
#: agenda/templates/agenda/widget_item.html:32
-#: assignment/templates/assignment/assignment_detail.html:173
-#: assignment/templates/assignment/assignment_list.html:68
+#: assignment/templates/assignment/assignment_detail.html:178
+#: assignment/templates/assignment/assignment_list.html:78
#: assignment/templates/assignment/widget_assignment.html:16
+#: core/templates/core/tag_list.html:31 core/templates/core/tag_list.html:45
#: core/templates/core/widget_customslide.html:34
#: mediafile/templates/mediafile/mediafile_list.html:38
#: motion/templates/motion/category_list.html:30
-#: motion/templates/motion/motion_list.html:103
+#: motion/templates/motion/motion_list.html:123
#: motion/templates/motion/widget_motion.html:16
#: participant/templates/participant/group_overview.html:58
#: participant/templates/participant/overview.html:117
@@ -488,14 +490,15 @@ msgid "Edit"
msgstr "Modifier"
#: agenda/templates/agenda/item_row.html:25
-#: agenda/templates/agenda/view.html:128
-#: assignment/templates/assignment/assignment_detail.html:175
-#: assignment/templates/assignment/assignment_list.html:72
+#: agenda/templates/agenda/view.html:136
+#: assignment/templates/assignment/assignment_detail.html:180
+#: assignment/templates/assignment/assignment_list.html:82
+#: core/templates/core/tag_list.html:34 core/templates/core/tag_list.html:48
#: core/templates/core/widget_customslide.html:30
#: mediafile/templates/mediafile/mediafile_list.html:39
#: motion/templates/motion/category_list.html:33
-#: motion/templates/motion/motion_detail.html:146
-#: motion/templates/motion/motion_list.html:106
+#: motion/templates/motion/motion_detail.html:149
+#: motion/templates/motion/motion_list.html:126
#: participant/templates/participant/group_overview.html:62
#: participant/templates/participant/overview.html:122
msgid "Delete"
@@ -528,7 +531,7 @@ msgstr "Elément fermé"
#: agenda/templates/agenda/item_slide_list_of_speaker.html:10
#: agenda/templates/agenda/overlay_speaker_projector.html:7
-#: agenda/templates/agenda/view.html:60
+#: agenda/templates/agenda/view.html:68
msgid "closed"
msgstr "fermé"
@@ -541,31 +544,31 @@ msgid "Do you want to save the changed order of agenda items?"
msgstr "Voulez-vous enregistrer les modifications de l'ordre du jour?"
#: agenda/templates/agenda/overview.html:29
-#: agenda/templates/agenda/view.html:84 assignment/models.py:334
-#: assignment/views.py:588
-#: assignment/templates/assignment/assignment_detail.html:211
-#: assignment/templates/assignment/assignment_detail.html:215
+#: agenda/templates/agenda/view.html:92 assignment/models.py:336
+#: assignment/views.py:573
+#: assignment/templates/assignment/assignment_detail.html:216
+#: assignment/templates/assignment/assignment_detail.html:220
#: assignment/templates/assignment/assignmentpoll_slide.html:24
-#: motion/models.py:712 motion/pdf.py:129 motion/pdf.py:274
-#: motion/templates/motion/motion_detail.html:230
+#: motion/models.py:749 motion/pdf.py:128 motion/pdf.py:273
+#: motion/templates/motion/motion_detail.html:233
#: motion/templates/motion/motionpoll_slide.html:20
-#: motion/templates/motion/slide.html:23 utils/views.py:330
+#: motion/templates/motion/slide.html:23 utils/views.py:359
msgid "Yes"
msgstr "Oui"
#: agenda/templates/agenda/overview.html:30
-#: agenda/templates/agenda/view.html:85 assignment/models.py:334
-#: assignment/views.py:589
-#: assignment/templates/assignment/assignment_detail.html:212
+#: agenda/templates/agenda/view.html:93 assignment/models.py:336
+#: assignment/views.py:574
+#: assignment/templates/assignment/assignment_detail.html:217
#: assignment/templates/assignment/assignmentpoll_slide.html:26
-#: motion/models.py:712 motion/pdf.py:129 motion/pdf.py:276
-#: motion/templates/motion/motion_detail.html:231
+#: motion/models.py:749 motion/pdf.py:128 motion/pdf.py:275
+#: motion/templates/motion/motion_detail.html:234
#: motion/templates/motion/motionpoll_slide.html:24
-#: motion/templates/motion/slide.html:24 utils/views.py:330
+#: motion/templates/motion/slide.html:24 utils/views.py:359
msgid "No"
msgstr "Non"
-#: agenda/templates/agenda/overview.html:37
+#: agenda/templates/agenda/overview.html:39
#: assignment/templates/assignment/assignment_list.html:22
#: core/templates/core/widget_customslide.html:47
#: mediafile/templates/mediafile/mediafile_list.html:12
@@ -576,60 +579,75 @@ msgstr "Non"
msgid "New"
msgstr "Nouveau"
-#: agenda/templates/agenda/overview.html:40
+#: agenda/templates/agenda/overview.html:43
+#: assignment/templates/assignment/assignment_list.html:25
+#: motion/templates/motion/motion_list.html:40
+msgid "Manage tags"
+msgstr "Gérer les balises"
+
+#: agenda/templates/agenda/overview.html:45
+#: assignment/templates/assignment/assignment_list.html:27
+#: core/templates/core/tag_list.html:5 core/templates/core/tag_list.html:8
+#: motion/forms.py:54 motion/templates/motion/motion_detail.html:279
+#: motion/templates/motion/motion_list.html:42
+msgid "Tags"
+msgstr "Balises"
+
+#: agenda/templates/agenda/overview.html:54
msgid "Print agenda as PDF"
msgstr "Imprimer l'ordre du jour en PDF"
-#: agenda/templates/agenda/overview.html:42
+#: agenda/templates/agenda/overview.html:56
msgid "Current list of speakers"
msgstr "La liste actuelle des orateurs"
-#: agenda/templates/agenda/overview.html:52
+#: agenda/templates/agenda/overview.html:66
msgid "Number agenda items"
msgstr "Numéroter les éléments de l'ordre du jour"
-#: agenda/templates/agenda/overview.html:57
+#: agenda/templates/agenda/overview.html:71
msgid "Hide closed items"
msgstr "Cachez les élément terminés"
-#: agenda/templates/agenda/overview.html:60
+#: agenda/templates/agenda/overview.html:74
msgid "item"
msgid_plural "items"
msgstr[0] "élément"
msgstr[1] "éléments"
-#: agenda/templates/agenda/overview.html:68
+#: agenda/templates/agenda/overview.html:82
msgid "Start of event"
msgstr "Début de l'événement"
-#: agenda/templates/agenda/overview.html:72
+#: agenda/templates/agenda/overview.html:86
msgid "Estimated end"
msgstr "Fin prévue"
-#: agenda/templates/agenda/overview.html:77
+#: agenda/templates/agenda/overview.html:91
msgid "Set start time of event"
msgstr "Voir l'heure de début de l'événement"
-#: agenda/templates/agenda/overview.html:84
+#: agenda/templates/agenda/overview.html:98
msgid "Item"
msgstr "Elément"
-#: agenda/templates/agenda/overview.html:92
-#: assignment/templates/assignment/assignment_list.html:37
+#: agenda/templates/agenda/overview.html:106
+#: assignment/templates/assignment/assignment_list.html:43
+#: core/templates/core/tag_list.html:25
#: mediafile/templates/mediafile/mediafile_list.html:24
#: motion/templates/motion/category_list.html:23
-#: motion/templates/motion/motion_detail.html:122
-#: motion/templates/motion/motion_list.html:60
+#: motion/templates/motion/motion_detail.html:125
+#: motion/templates/motion/motion_list.html:69
#: participant/templates/participant/group_overview.html:33
#: participant/templates/participant/overview.html:57
msgid "Actions"
msgstr "Actions"
-#: agenda/templates/agenda/overview.html:111
+#: agenda/templates/agenda/overview.html:125
msgid "Show agenda"
msgstr "Afficher l'odre du jour"
-#: agenda/templates/agenda/overview.html:134
+#: agenda/templates/agenda/overview.html:148
#: agenda/templates/agenda/widget_item.html:59
#: core/templates/core/widget_customslide.html:43
msgid "No items available."
@@ -641,7 +659,7 @@ msgstr "Projeter l'élément"
#: agenda/templates/agenda/view.html:33
#: assignment/templates/assignment/assignment_detail.html:34
-#: motion/templates/motion/motion_detail.html:48
+#: motion/templates/motion/motion_detail.html:51
#: participant/templates/participant/group_detail.html:22
#: participant/templates/participant/user_detail.html:22
msgid "More actions"
@@ -651,57 +669,57 @@ msgstr "plus d'actions"
msgid "Delete item"
msgstr "Supprimer l'élément"
-#: agenda/templates/agenda/view.html:64
+#: agenda/templates/agenda/view.html:72
msgid "Open list"
msgstr "Ouvrire une liste"
-#: agenda/templates/agenda/view.html:66
+#: agenda/templates/agenda/view.html:74
msgid "Close list"
msgstr "Fermer la liste"
-#: agenda/templates/agenda/view.html:74
+#: agenda/templates/agenda/view.html:82
msgid "Show list"
msgstr "Afficher la liste"
-#: agenda/templates/agenda/view.html:82
+#: agenda/templates/agenda/view.html:90
msgid "Do you want to save the changed order of speakers?"
msgstr "Voulez-vous enregistrer l'ordonnance modifiée de orateurs?"
-#: agenda/templates/agenda/view.html:93
+#: agenda/templates/agenda/view.html:101
msgid "Last speakers"
msgstr "Dernier orateur"
-#: agenda/templates/agenda/view.html:96
+#: agenda/templates/agenda/view.html:104
msgid "Show all speakers"
msgstr "Afficher tous les orateurs"
-#: agenda/templates/agenda/view.html:100
+#: agenda/templates/agenda/view.html:108
msgid "Current speaker"
msgstr "L'orateur actuel"
-#: agenda/templates/agenda/view.html:102
+#: agenda/templates/agenda/view.html:110
msgid "Next speakers"
msgstr "Prochains orateurs"
-#: agenda/templates/agenda/view.html:122
+#: agenda/templates/agenda/view.html:130
#: agenda/templates/agenda/widget_list_of_speakers.html:12
msgid "End speach"
msgstr "fin du temps pour parler"
-#: agenda/templates/agenda/view.html:125
+#: agenda/templates/agenda/view.html:133
msgid "Begin speach"
msgstr "Commencer a parler"
-#: agenda/templates/agenda/view.html:140
+#: agenda/templates/agenda/view.html:148
msgid "Remove me from the list"
msgstr "Me retirer de la liste"
-#: agenda/templates/agenda/view.html:142
+#: agenda/templates/agenda/view.html:150
msgid "Put me on the list"
msgstr "Me mettre sur la liste"
-#: agenda/templates/agenda/view.html:152
-#: assignment/templates/assignment/assignment_detail.html:112
+#: agenda/templates/agenda/view.html:160
+#: assignment/templates/assignment/assignment_detail.html:117
#: assignment/templates/assignment/assignmentpoll_form.html:105
#: core/templates/formbuttons_saveapply.html:7
#: mediafile/templates/mediafile/widget_pdfpresentation.html:32
@@ -710,8 +728,8 @@ msgstr "Me mettre sur la liste"
msgid "Apply"
msgstr "Appliquer"
-#: agenda/templates/agenda/view.html:154
-#: assignment/templates/assignment/assignment_detail.html:115
+#: agenda/templates/agenda/view.html:162
+#: assignment/templates/assignment/assignment_detail.html:120
msgid "Add new participant"
msgstr "Ajouter un nouveau participant"
@@ -722,7 +740,7 @@ msgstr "Ajouter un nouveau participant"
#: core/templates/core/widget_customslide.html:25
#: mediafile/templates/mediafile/mediafile_list.html:41
#: mediafile/templates/mediafile/widget_pdfpresentation.html:41
-#: motion/templates/motion/motion_detail.html:142
+#: motion/templates/motion/motion_detail.html:145
#: motion/templates/motion/widget_motion.html:11
#: participant/templates/participant/widget_group.html:11
#: participant/templates/participant/widget_user.html:11
@@ -752,8 +770,8 @@ msgstr "Prochain orateur"
msgid "Go to current list of speakers"
msgstr "Aller à la liste actuelle des orateurs"
-#: assignment/forms.py:14 assignment/models.py:56 assignment/views.py:353
-#: assignment/templates/assignment/assignment_detail.html:296
+#: assignment/forms.py:14 assignment/models.py:57 assignment/views.py:350
+#: assignment/templates/assignment/assignment_detail.html:301
#: assignment/templates/assignment/slide.html:11
msgid "Number of available posts"
msgstr "Nombre des postes disponibles"
@@ -763,61 +781,61 @@ msgid "Nominate a participant"
msgstr "Désigner un participant"
#: assignment/main_menu.py:12 assignment/signals.py:75
-#: assignment/signals.py:93 assignment/views.py:308 assignment/widgets.py:15
+#: assignment/signals.py:93 assignment/views.py:302 assignment/widgets.py:15
#: assignment/templates/assignment/assignment_list.html:7
#: assignment/templates/assignment/assignment_list.html:19
msgid "Elections"
msgstr "Elections"
-#: assignment/models.py:49
-#: assignment/templates/assignment/assignment_detail.html:306
+#: assignment/models.py:50
+#: assignment/templates/assignment/assignment_detail.html:311
msgid "Searching for candidates"
msgstr "Recherche de candidats"
-#: assignment/models.py:50
-#: assignment/templates/assignment/assignment_detail.html:309
+#: assignment/models.py:51
+#: assignment/templates/assignment/assignment_detail.html:314
msgid "Voting"
msgstr "Vote"
-#: assignment/models.py:51
-#: assignment/templates/assignment/assignment_detail.html:312
+#: assignment/models.py:52
+#: assignment/templates/assignment/assignment_detail.html:317
msgid "Finished"
msgstr "Terminé"
-#: assignment/models.py:54 participant/templates/participant/overview.html:50
+#: assignment/models.py:55 participant/templates/participant/overview.html:50
msgid "Name"
msgstr "Nom"
-#: assignment/models.py:55
-#: assignment/templates/assignment/assignment_detail.html:56
+#: assignment/models.py:56
+#: assignment/templates/assignment/assignment_detail.html:61
#: participant/models.py:123
msgid "Description"
msgstr "Description"
-#: assignment/models.py:59
+#: assignment/models.py:60
msgid "Default comment on the ballot paper"
msgstr "Commentaire par défaut sur le bulletin de vote"
-#: assignment/models.py:64
+#: assignment/models.py:66
msgid "Can see elections"
msgstr "Peut voir les élections"
-#: assignment/models.py:65
+#: assignment/models.py:67
msgid "Can nominate another person"
msgstr "Peut nonimer une autre personne"
-#: assignment/models.py:66
+#: assignment/models.py:68
msgid "Can nominate oneself"
msgstr "Peut se nommer soi même"
-#: assignment/models.py:67
+#: assignment/models.py:69
msgid "Can manage elections"
msgstr "Peut gérer les élections"
-#: assignment/models.py:70 assignment/views.py:512 assignment/views.py:529
+#: assignment/models.py:72 assignment/views.py:497 assignment/views.py:514
#: assignment/templates/assignment/assignment_detail.html:8
#: assignment/templates/assignment/assignment_detail.html:19
-#: assignment/templates/assignment/assignment_list.html:33
+#: assignment/templates/assignment/assignment_list.html:39
#: assignment/templates/assignment/assignmentpoll_form.html:7
#: assignment/templates/assignment/assignmentpoll_slide.html:10
#: assignment/templates/assignment/slide.html:18
@@ -825,53 +843,53 @@ msgstr "Peut gérer les élections"
msgid "Election"
msgstr "Election"
-#: assignment/models.py:95
+#: assignment/models.py:97
#, python-format
msgid "%s is not a valid status."
msgstr "%s est un statut invalide."
-#: assignment/models.py:98
+#: assignment/models.py:100
#, python-format
msgid "The election status is already %s."
msgstr "Le statut de l'élection a été changé sur: %s."
-#: assignment/models.py:111
+#: assignment/models.py:113
#, python-format
msgid "%s is already a candidate."
msgstr "%s est déja un candidat."
-#: assignment/models.py:113 assignment/views.py:152
+#: assignment/models.py:115 assignment/views.py:149
msgid "The candidate list is already closed."
msgstr "La liste des candidats est déjà fermée"
-#: assignment/models.py:120
+#: assignment/models.py:122
#, python-format
msgid "%s does not want to be a candidate."
msgstr "%s ne veut pas etre un candidat."
-#: assignment/models.py:134
+#: assignment/models.py:136
#, python-format
msgid "%s is no candidate"
msgstr "%s n'est pas un candidat"
-#: assignment/models.py:280 assignment/views.py:305
+#: assignment/models.py:282 assignment/views.py:299
msgid "Assignment"
msgstr "Assignation"
-#: assignment/models.py:307
+#: assignment/models.py:309
msgid "Comment on the ballot paper"
msgstr "Commentaire sur le bulletin de vote"
-#: assignment/models.py:310
+#: assignment/models.py:312
#, python-format
msgid "Ballot %d"
msgstr "Vote %d"
-#: assignment/models.py:334 motion/models.py:712
+#: assignment/models.py:336 motion/models.py:749
msgid "Abstain"
msgstr "Abstention"
-#: assignment/models.py:336 motion/templates/motion/motionpoll_form.html:45
+#: assignment/models.py:338 motion/templates/motion/motionpoll_form.html:45
msgid "Votes"
msgstr "Votes"
@@ -899,23 +917,23 @@ msgstr "Toujours Oui-Non-Abstention par candidat"
msgid "The 100 % base of an election result consists of"
msgstr "La base d'un résultat de l'élection de 100% est constitué de"
-#: assignment/signals.py:44 motion/signals.py:104
+#: assignment/signals.py:44 motion/signals.py:123
msgid "Number of ballot papers (selection)"
msgstr "Nombre de bulletins de vote (sélection)"
-#: assignment/signals.py:46 motion/signals.py:106
+#: assignment/signals.py:46 motion/signals.py:125
msgid "Number of all delegates"
msgstr "Nombre de délégués"
-#: assignment/signals.py:47 motion/signals.py:107
+#: assignment/signals.py:47 motion/signals.py:126
msgid "Number of all participants"
msgstr "Nombre de participants"
-#: assignment/signals.py:48 motion/signals.py:108
+#: assignment/signals.py:48 motion/signals.py:127
msgid "Use the following custom number"
msgstr "Utilisez le nombre personnalisé suivant"
-#: assignment/signals.py:56 motion/signals.py:116
+#: assignment/signals.py:56 motion/signals.py:135
msgid "Custom number of ballot papers"
msgstr "Nombre personnalisé de bulletins de vote"
@@ -935,110 +953,106 @@ msgstr "Titre du fichier PDF (toutes les élections)"
msgid "Preamble text for PDF document (all elections)"
msgstr "Texte de préambule pour le fichier PDF (toutes les élections)"
-#: assignment/signals.py:89 motion/signals.py:144 participant/signals.py:97
+#: assignment/signals.py:89 motion/signals.py:163 participant/signals.py:97
msgid "PDF"
msgstr "PDF"
-#: assignment/views.py:75
+#: assignment/views.py:74
#, python-format
msgid "Candidate %s was nominated successfully."
msgstr "Le candidat %s a été nominé avec succès. "
-#: assignment/views.py:114
+#: assignment/views.py:112
#, python-format
msgid "Election status was set to: %s."
msgstr "Le statut de l'élection a été changé sur: %s."
-#: assignment/views.py:131
+#: assignment/views.py:129
msgid "You have set your candidature successfully."
msgstr "Vous avez inséré votre candidature avec succès."
-#: assignment/views.py:149
+#: assignment/views.py:146
msgid ""
"You have withdrawn your candidature successfully. You can not be nominated "
"by other participants anymore."
msgstr "Vous avez retiré votre candidature avec succès. On ne peut plus vous nominer comme candidat."
-#: assignment/views.py:162
+#: assignment/views.py:159
#, python-format
msgid "Do you really want to withdraw %s from the election?"
msgstr "Voulez-vous vraiment exclure %s de cette élection?"
-#: assignment/views.py:164
+#: assignment/views.py:161
#, python-format
msgid "Do you really want to unblock %s for the election?"
msgstr "Voulez-vous vraiment permettre %s de participer à nouveau à cette élection?"
-#: assignment/views.py:183
+#: assignment/views.py:180
#, python-format
msgid "Candidate %s was withdrawn successfully."
msgstr "Le candidat %s a été rejeté avec succès."
-#: assignment/views.py:185
+#: assignment/views.py:182
#, python-format
msgid "%s was unblocked successfully."
msgstr "%s a été débloqué avec succès."
-#: assignment/views.py:202
+#: assignment/views.py:197
msgid "New ballot was successfully created."
msgstr "Le nouveau vote a été créé avec succès."
-#: assignment/views.py:238
+#: assignment/views.py:233
#, python-format
msgid "Ballot ID %d does not exist."
msgstr "L'identifiant %d de vote n'existe pas."
-#: assignment/views.py:263
+#: assignment/views.py:257
msgid "not elected"
msgstr "non élu"
-#: assignment/views.py:267 assignment/views.py:476
-#: assignment/templates/assignment/assignment_detail.html:76
+#: assignment/views.py:261 assignment/views.py:461
+#: assignment/templates/assignment/assignment_detail.html:81
msgid "elected"
msgstr "élu"
-#: assignment/views.py:293
+#: assignment/views.py:287
msgid "Ballot was successfully deleted."
msgstr "Le vote a été supprimé avec succès."
-#: assignment/views.py:328
+#: assignment/views.py:322
msgid "No assignments available."
msgstr "Aucune assignation disponible."
-#: assignment/views.py:347
+#: assignment/views.py:341
#, python-format
msgid "Election: %s"
msgstr "Election: %s"
-#: assignment/views.py:360 assignment/views.py:396
-#: assignment/templates/assignment/assignment_detail.html:65
-#: assignment/templates/assignment/assignment_detail.html:149
-#: assignment/templates/assignment/assignment_list.html:34
-#: assignment/templates/assignment/assignment_list.html:50
+#: assignment/views.py:357 assignment/views.py:385
+#: assignment/templates/assignment/assignment_detail.html:70
+#: assignment/templates/assignment/assignment_detail.html:154
+#: assignment/templates/assignment/assignment_list.html:40
+#: assignment/templates/assignment/assignment_list.html:60
#: assignment/templates/assignment/assignmentpoll_form.html:44
#: assignment/templates/assignment/slide.html:29
msgid "Candidates"
msgstr "Candidats"
-#: assignment/views.py:385
-#: assignment/templates/assignment/assignment_detail.html:145
+#: assignment/views.py:381
+#: assignment/templates/assignment/assignment_detail.html:150
#: assignment/templates/assignment/assignmentpoll_form.html:26
msgid "Election result"
msgstr "Résultat de l'élection"
-#: assignment/views.py:389
-#: assignment/templates/assignment/assignment_detail.html:153
+#: assignment/views.py:387
+#: assignment/templates/assignment/assignment_detail.html:158
#: assignment/templates/assignment/assignmentpoll_form.html:7
#: assignment/templates/assignment/assignmentpoll_form.html:13
#: assignment/templates/assignment/assignmentpoll_slide.html:11
msgid "ballot"
msgstr "vote"
-#: assignment/views.py:392
-msgid "ballots"
-msgstr "votes"
-
-#: assignment/views.py:417
+#: assignment/views.py:406
#, python-format
msgid ""
"Y: %(YES)s\n"
@@ -1046,66 +1060,66 @@ msgid ""
"A: %(ABSTAIN)s"
msgstr "O: %(YES)s\nN: %(NO)s\nA: %(ABSTAIN)s"
-#: assignment/views.py:428
-#: assignment/templates/assignment/assignment_detail.html:229
+#: assignment/views.py:417
#: assignment/templates/assignment/assignment_detail.html:234
+#: assignment/templates/assignment/assignment_detail.html:239
#: assignment/templates/assignment/assignmentpoll_form.html:61
#: assignment/templates/assignment/assignmentpoll_slide.html:39
-#: motion/pdf.py:119 motion/templates/motion/motion_detail.html:236
+#: motion/pdf.py:118 motion/templates/motion/motion_detail.html:239
#: motion/templates/motion/motionpoll_form.html:54
#: motion/templates/motion/motionpoll_slide.html:33
#: motion/templates/motion/slide.html:29 poll/models.py:84
msgid "Valid votes"
msgstr "Votes valides"
-#: assignment/views.py:439
-#: assignment/templates/assignment/assignment_detail.html:245
+#: assignment/views.py:428
#: assignment/templates/assignment/assignment_detail.html:250
+#: assignment/templates/assignment/assignment_detail.html:255
#: assignment/templates/assignment/assignmentpoll_form.html:71
#: assignment/templates/assignment/assignmentpoll_slide.html:45
-#: motion/pdf.py:121 motion/templates/motion/motion_detail.html:239
+#: motion/pdf.py:120 motion/templates/motion/motion_detail.html:242
#: motion/templates/motion/motionpoll_form.html:58
#: motion/templates/motion/motionpoll_slide.html:39
#: motion/templates/motion/slide.html:32 poll/models.py:86
msgid "Invalid votes"
msgstr "Votes invalides"
-#: assignment/views.py:450
-#: assignment/templates/assignment/assignment_detail.html:261
+#: assignment/views.py:439
#: assignment/templates/assignment/assignment_detail.html:266
+#: assignment/templates/assignment/assignment_detail.html:271
#: assignment/templates/assignment/assignmentpoll_form.html:81
#: assignment/templates/assignment/assignmentpoll_slide.html:51
-#: motion/pdf.py:123 motion/templates/motion/motion_detail.html:244
+#: motion/pdf.py:122 motion/templates/motion/motion_detail.html:247
#: motion/templates/motion/motionpoll_form.html:62
#: motion/templates/motion/motionpoll_slide.html:45
#: motion/templates/motion/slide.html:37 poll/models.py:88
msgid "Votes cast"
msgstr "Nombre de votants"
-#: assignment/views.py:536
+#: assignment/views.py:521
#, python-format
msgid "%d. ballot"
msgstr "%d. vote"
-#: assignment/views.py:538
+#: assignment/views.py:523
#, python-format
msgid "%d candidate"
msgid_plural "%d candidates"
msgstr[0] "%d candidat"
msgstr[1] "%d candidats"
-#: assignment/views.py:540
+#: assignment/views.py:525
#, python-format
msgid "%d available post"
msgid_plural "%d available posts"
msgstr[0] "%d poste disponible"
msgstr[1] "%d postes disponibles"
-#: assignment/views.py:590
-#: assignment/templates/assignment/assignment_detail.html:213
+#: assignment/views.py:575
+#: assignment/templates/assignment/assignment_detail.html:218
#: assignment/templates/assignment/assignmentpoll_slide.html:28
-#: motion/pdf.py:129 motion/pdf.py:278
-#: motion/templates/motion/motion_detail.html:232
+#: motion/pdf.py:128 motion/pdf.py:277
+#: motion/templates/motion/motion_detail.html:235
#: motion/templates/motion/motionpoll_slide.html:28
#: motion/templates/motion/slide.html:25
msgid "Abstention"
@@ -1116,7 +1130,7 @@ msgid "Print election as PDF"
msgstr " Election en PDF"
#: assignment/templates/assignment/assignment_detail.html:27
-#: assignment/templates/assignment/assignment_list.html:62
+#: assignment/templates/assignment/assignment_list.html:72
#: assignment/templates/assignment/assignmentpoll_form.html:21
msgid "Show election"
msgstr "Projeter l'élection"
@@ -1132,88 +1146,88 @@ msgid "Delete election"
msgstr "Supprimer l'élection"
#: assignment/templates/assignment/assignment_detail.html:45
-#: motion/templates/motion/motion_detail.html:63
+#: motion/templates/motion/motion_detail.html:66
msgid "New agenda item"
msgstr "Nouveau point dans l'ordre du jour"
-#: assignment/templates/assignment/assignment_detail.html:72
-#: assignment/templates/assignment/assignment_detail.html:132
+#: assignment/templates/assignment/assignment_detail.html:77
+#: assignment/templates/assignment/assignment_detail.html:137
msgid "Remove candidate"
msgstr "Enlever le candidat"
-#: assignment/templates/assignment/assignment_detail.html:79
+#: assignment/templates/assignment/assignment_detail.html:84
msgid "Mark candidate as not elected"
msgstr "Marquer le candidat comme pas elu"
-#: assignment/templates/assignment/assignment_detail.html:87
+#: assignment/templates/assignment/assignment_detail.html:92
#: assignment/templates/assignment/slide.html:35
msgid "No candidates available."
msgstr "Aucun candidat n'est disponible."
-#: assignment/templates/assignment/assignment_detail.html:97
+#: assignment/templates/assignment/assignment_detail.html:102
msgid "Withdraw self candidature"
msgstr "Retirer sa propre candidature"
-#: assignment/templates/assignment/assignment_detail.html:101
+#: assignment/templates/assignment/assignment_detail.html:106
msgid "Self candidature"
msgstr "Se proposer comme candidat"
-#: assignment/templates/assignment/assignment_detail.html:126
+#: assignment/templates/assignment/assignment_detail.html:131
msgid "Blocked Candidates"
msgstr "Candidats bloqués"
-#: assignment/templates/assignment/assignment_detail.html:137
+#: assignment/templates/assignment/assignment_detail.html:142
msgid "No blocked candidates available."
msgstr "Aucun candidat n'est disponible."
-#: assignment/templates/assignment/assignment_detail.html:157
+#: assignment/templates/assignment/assignment_detail.html:162
msgid "Publish result"
msgstr "Publier le résultat"
-#: assignment/templates/assignment/assignment_detail.html:168
+#: assignment/templates/assignment/assignment_detail.html:173
#: assignment/templates/assignment/assignmentpoll_form.html:25
msgid "Show election result"
msgstr "Afficher le résultat de l'élection"
-#: assignment/templates/assignment/assignment_detail.html:171
+#: assignment/templates/assignment/assignment_detail.html:176
#: assignment/templates/assignment/assignmentpoll_form.html:96
-#: motion/templates/motion/motion_detail.html:221
+#: motion/templates/motion/motion_detail.html:224
#: motion/templates/motion/motionpoll_form.html:72
msgid "Ballot paper as PDF"
msgstr "bulletin de vote en PDF"
-#: assignment/templates/assignment/assignment_detail.html:183
-#: assignment/templates/assignment/assignment_detail.html:282
+#: assignment/templates/assignment/assignment_detail.html:188
+#: assignment/templates/assignment/assignment_detail.html:287
msgid "New ballot"
msgstr "Nouveau vote"
-#: assignment/templates/assignment/assignment_detail.html:194
-#: assignment/templates/assignment/assignment_detail.html:203
+#: assignment/templates/assignment/assignment_detail.html:199
+#: assignment/templates/assignment/assignment_detail.html:208
msgid "Mark candidate as elected"
msgstr "Marquer le candidat comme élu"
-#: assignment/templates/assignment/assignment_detail.html:197
+#: assignment/templates/assignment/assignment_detail.html:202
msgid "Candidate is elected"
msgstr "Le candidat est élu"
-#: assignment/templates/assignment/assignment_detail.html:217
+#: assignment/templates/assignment/assignment_detail.html:222
msgid "was not a
candidate"
msgstr "n'était pas un
candidat"
-#: assignment/templates/assignment/assignment_detail.html:278
+#: assignment/templates/assignment/assignment_detail.html:283
msgid "No ballots available."
msgstr "Pas de bulletins disponibles."
-#: assignment/templates/assignment/assignment_detail.html:293
-#: assignment/templates/assignment/assignment_list.html:35
+#: assignment/templates/assignment/assignment_detail.html:298
+#: assignment/templates/assignment/assignment_list.html:41
#: assignment/templates/assignment/slide.html:9
-#: motion/templates/motion/motion_detail.html:203
-#: motion/templates/motion/motion_list.html:53
+#: motion/templates/motion/motion_detail.html:206
+#: motion/templates/motion/motion_list.html:62
#: motion/templates/motion/slide.html:8
msgid "Status"
msgstr "Statut"
-#: assignment/templates/assignment/assignment_detail.html:302
+#: assignment/templates/assignment/assignment_detail.html:307
msgid "Change status"
msgstr "Modifier le statut"
@@ -1228,16 +1242,16 @@ msgstr "Nouvelle élection"
msgid "Back to election"
msgstr "Retourner vers l'éléction"
-#: assignment/templates/assignment/assignment_list.html:25
+#: assignment/templates/assignment/assignment_list.html:31
msgid "Print all elections as PDF"
msgstr "Toutes les élections en PDF"
-#: assignment/templates/assignment/assignment_list.html:46
+#: assignment/templates/assignment/assignment_list.html:56
msgctxt "Number of searched candidates for an election"
msgid "Posts"
msgstr "Postes"
-#: assignment/templates/assignment/assignment_list.html:53
+#: assignment/templates/assignment/assignment_list.html:63
msgid "Elected"
msgstr "Elu"
@@ -1269,6 +1283,7 @@ msgstr "Une courte déscription (pour le bulletin de vote)"
#: core/templates/formbuttons_save.html:4
#: core/templates/formbuttons_saveapply.html:4
#: core/templates/core/select_widgets.html:28
+#: core/templates/core/tag_list.html:19
#: motion/templates/motion/motionpoll_form.html:78
msgid "Save"
msgstr "Enregistrer"
@@ -1326,6 +1341,14 @@ msgstr "Peut voir la vue d'ensemble"
msgid "Can use the chat"
msgstr "Peut utiliser le chat "
+#: core/models.py:49 core/templates/core/tag_list.html:24
+msgid "Tag"
+msgstr "Balise"
+
+#: core/models.py:54
+msgid "Can manage tags"
+msgstr "Peut gérer les balises"
+
#: core/signals.py:26
msgid "Event name"
msgstr "Nom de l'événement"
@@ -1420,31 +1443,31 @@ msgstr "Système"
msgid "General"
msgstr "Général"
-#: core/views.py:81
+#: core/views.py:83
msgid "There are errors in the form."
msgstr "Il y a des erreurs dans le formulaire."
-#: core/views.py:167
+#: core/views.py:169
msgid "Forbidden"
msgstr "Inderdit"
-#: core/views.py:168
+#: core/views.py:170
msgid "Sorry, you have no permission to see this page."
msgstr "Désolé, vous n'avez pas le droit de voir cette page"
-#: core/views.py:170
+#: core/views.py:172
msgid "Not Found"
msgstr "Introuvable"
-#: core/views.py:171
+#: core/views.py:173
msgid "Sorry, the requested page could not be found."
msgstr "Désolé, la page demandée n'a pu être trouvée."
-#: core/views.py:173
+#: core/views.py:175
msgid "Internal Server Error"
msgstr "Erreur interne du serveur"
-#: core/views.py:174
+#: core/views.py:176
msgid "Sorry, there was an unknown error. Please contact the event manager."
msgstr "Désolé, une erreur inconnue s'est produit. S'il vous plaît contacter le gestionnaire de l'événement."
@@ -1452,38 +1475,38 @@ msgstr "Désolé, une erreur inconnue s'est produit. S'il vous plaît contacter
msgid "Custom Slides"
msgstr "Diapositives personnalisées"
-#: core/templates/base.html:29
+#: core/templates/base.html:30
msgid "Home"
msgstr "Accueil"
-#: core/templates/base.html:29
+#: core/templates/base.html:30
msgid "Logo"
msgstr "Logo"
-#: core/templates/base.html:36 core/templates/core/search.html:5
+#: core/templates/base.html:37 core/templates/core/search.html:5
#: core/templates/core/search.html.py:13 core/templates/core/search.html:16
msgid "Search"
msgstr "Rechercher"
-#: core/templates/base.html:45
+#: core/templates/base.html:46
msgid "Chat"
msgstr "Chat"
-#: core/templates/base.html:59
+#: core/templates/base.html:60
#: participant/templates/participant/settings.html:5
#: participant/templates/participant/settings.html:8
msgid "Edit profile"
msgstr "Modifier le profile"
-#: core/templates/base.html:60
+#: core/templates/base.html:61
msgid "Change password"
msgstr "Changer le mot de passe"
-#: core/templates/base.html:62
+#: core/templates/base.html:63
msgid "Logout"
msgstr "Déconnecter"
-#: core/templates/base.html:65 participant/templates/participant/login.html:6
+#: core/templates/base.html:66 participant/templates/participant/login.html:6
#: participant/templates/participant/login.html:43
msgid "Login"
msgstr "Connexion"
@@ -1522,13 +1545,21 @@ msgstr "Sélectionner les composants"
msgid "No widgets available"
msgstr "Pas d'éléments disponibles"
+#: core/templates/core/tag_list.html:17
+msgid "Enter new tag name"
+msgstr "Inserer un nouveau balise"
+
+#: core/templates/core/tag_list.html:56
+msgid "You can use these tags for agenda items, motions and elections."
+msgstr "Vous pouvez utiliser ces balises pour les éléments de l'ordre du jour, les motions et les élections"
+
#: core/templates/core/version.html:5 core/templates/core/version.html.py:8
-#: core/templates/core/version.html:16 motion/pdf.py:95 motion/views.py:363
+#: core/templates/core/version.html:16 motion/pdf.py:94 motion/views.py:443
#: motion/templates/motion/motion_detail.html:22
#: motion/templates/motion/motion_diff.html:35
#: motion/templates/motion/motion_diff.html:39
#: motion/templates/motion/motionpoll_slide.html:10
-#: motion/templates/motion/slide.html:80
+#: motion/templates/motion/slide.html:83
msgid "Version"
msgstr "Version"
@@ -1686,105 +1717,105 @@ msgstr "Résumé"
msgid "%(counts)d of %(total)d motions successfully imported."
msgstr "%(counts)d de %(total)d motions ont été importés avec succes."
-#: motion/forms.py:39 motion/models.py:542 motion/pdf.py:152
-#: motion/templates/motion/motion_detail.html:94
+#: motion/forms.py:38 motion/models.py:579 motion/pdf.py:151
+#: motion/templates/motion/motion_detail.html:97
#: motion/templates/motion/motion_diff.html:54
-#: motion/templates/motion/slide.html:91
+#: motion/templates/motion/slide.html:94
msgid "Reason"
msgstr "Motivation"
-#: motion/forms.py:47 motion/templates/motion/motion_detail.html:101
+#: motion/forms.py:46 motion/templates/motion/motion_detail.html:104
msgid "Attachments"
msgstr "pièces jointes"
-#: motion/forms.py:77 motion/pdf.py:49
-#: motion/templates/motion/motion_detail.html:183
-#: motion/templates/motion/motion_list.html:54
+#: motion/forms.py:80 motion/pdf.py:48
+#: motion/templates/motion/motion_detail.html:186
+#: motion/templates/motion/motion_list.html:63
#: motion/templates/motion/slide.html:51
msgid "Submitter"
msgstr "Requérant"
-#: motion/forms.py:92 motion/pdf.py:74 motion/signals.py:86
-#: motion/templates/motion/motion_detail.html:190
-#: motion/templates/motion/motion_list.html:56
+#: motion/forms.py:95 motion/pdf.py:73 motion/signals.py:105
+#: motion/templates/motion/motion_detail.html:193
+#: motion/templates/motion/motion_list.html:65
#: motion/templates/motion/slide.html:61
msgid "Supporters"
msgstr "Partisants"
-#: motion/forms.py:107
+#: motion/forms.py:110
msgid "Don't create a new version"
msgstr "Ne créez pas une nouvelle version"
-#: motion/forms.py:108
+#: motion/forms.py:111
msgid "Don't create a new version. Useful e.g. for trivial changes."
msgstr "Ne créez pas une nouvelle version. par exemple utiles des changements triviaux."
-#: motion/forms.py:121 motion/templates/motion/motion_detail.html:266
-#: motion/templates/motion/motion_list.html:52
+#: motion/forms.py:124 motion/templates/motion/motion_detail.html:272
+#: motion/templates/motion/motion_list.html:61
#: motion/templates/motion/slide.html:70
msgid "Category"
msgstr "Catégorie"
-#: motion/forms.py:141 motion/signals.py:36
+#: motion/forms.py:144 motion/signals.py:36
msgid "Identifier"
msgstr "Identifiant"
-#: motion/forms.py:156
+#: motion/forms.py:159
msgid "Workflow"
msgstr "Workflow"
-#: motion/forms.py:157
+#: motion/forms.py:160
msgid ""
"Set a specific workflow to switch to it. If you do so, the state of the "
"motion will be reset."
msgstr "Définir un workflow spécifique à basculer vers elle. Si vous le faites, le statut du mouvement sera remis à zéro."
-#: motion/forms.py:167
+#: motion/forms.py:170
msgid "Override existing motions with the same identifier"
msgstr "Remplacer les motions existantes avec le même identifiant"
-#: motion/forms.py:168
+#: motion/forms.py:171
msgid ""
"If this is active, every motion with the same identifier as in your csv file"
" will be overridden."
msgstr "Si cette option est activée, chaque motion avec le même identifiant que dans votre fichier csv sera remplacée."
-#: motion/forms.py:176
+#: motion/forms.py:179
msgid "Default submitter"
msgstr "Présenteur par défaut"
-#: motion/forms.py:177
+#: motion/forms.py:180
msgid ""
"This person is used as submitter for any line of your csv file which does "
"not contain valid submitter data."
msgstr "Cette personne est utilisé comme présenteur pour chaque ligne de votre fichier csv qui ne contient pas les données des présenteurs valides."
-#: motion/main_menu.py:12 motion/signals.py:124 motion/views.py:715
+#: motion/main_menu.py:12 motion/signals.py:143 motion/views.py:776
#: motion/widgets.py:15 motion/templates/motion/category_list.html:6
#: motion/templates/motion/motion_list.html:7
#: motion/templates/motion/motion_list.html:32
msgid "Motions"
msgstr "Motions"
-#: motion/models.py:79
+#: motion/models.py:89
msgid "Can see motions"
msgstr "Peut voir les motions"
-#: motion/models.py:80
+#: motion/models.py:90
msgid "Can create motions"
msgstr "Peut créer des motions"
-#: motion/models.py:81
+#: motion/models.py:91
msgid "Can support motions"
msgstr "Peut soutenir les motions"
-#: motion/models.py:82
+#: motion/models.py:92
msgid "Can manage motions"
msgstr "Peut gérer les motions"
-#: motion/models.py:85 motion/models.py:470 motion/pdf.py:42 motion/pdf.py:262
-#: motion/signals.py:148 motion/views.py:289 motion/views.py:612
-#: motion/views.py:722 motion/templates/motion/motion_detail.html:8
+#: motion/models.py:95 motion/models.py:492 motion/pdf.py:41 motion/pdf.py:261
+#: motion/signals.py:167 motion/views.py:370 motion/views.py:672
+#: motion/views.py:783 motion/templates/motion/motion_detail.html:8
#: motion/templates/motion/motion_detail.html:20
#: motion/templates/motion/motion_diff.html:6
#: motion/templates/motion/motion_diff.html:19
@@ -1796,60 +1827,60 @@ msgstr "Peut gérer les motions"
msgid "Motion"
msgstr "Motion"
-#: motion/models.py:556
+#: motion/models.py:593
msgid "new"
msgstr "nouveau"
-#: motion/models.py:613 motion/templates/motion/category_list.html:22
+#: motion/models.py:650 motion/templates/motion/category_list.html:22
msgid "Category name"
msgstr "Nom de catégorie"
-#: motion/models.py:616 motion/templates/motion/category_list.html:21
+#: motion/models.py:653 motion/templates/motion/category_list.html:21
msgid "Prefix"
msgstr "Préfixe"
-#: motion/models.py:671
+#: motion/models.py:708
#, python-format
msgid "%(time_and_messages)s by %(person)s"
msgstr "%(time_and_messages)s par %(person)s"
-#: motion/models.py:726
+#: motion/models.py:763
#, python-format
msgid "Vote %d"
msgstr "Vote %d"
-#: motion/pdf.py:63
+#: motion/pdf.py:62
msgid "Signature"
msgstr "Signature"
-#: motion/pdf.py:85
+#: motion/pdf.py:84
msgid "State"
msgstr "Statut"
-#: motion/pdf.py:111 motion/templates/motion/motion_detail.html:208
+#: motion/pdf.py:110 motion/templates/motion/motion_detail.html:211
#: motion/templates/motion/motionpoll_form.html:27
msgid "Vote result"
msgstr "Résultat du vote"
-#: motion/pdf.py:125 motion/templates/motion/slide.html:17
+#: motion/pdf.py:124 motion/templates/motion/slide.html:17
msgid "Vote"
msgstr "Vote"
-#: motion/pdf.py:249 motion/templates/motion/category_list.html:10
-#: motion/templates/motion/motion_list.html:40
+#: motion/pdf.py:248 motion/templates/motion/category_list.html:10
+#: motion/templates/motion/motion_list.html:48
msgid "Categories"
msgstr "Catégories"
-#: motion/pdf.py:256 motion/templates/motion/widget_motion.html:29
+#: motion/pdf.py:255 motion/templates/motion/widget_motion.html:29
msgid "No motions available."
msgstr "Aucune motion disponible."
-#: motion/pdf.py:269
+#: motion/pdf.py:268
#, python-format
msgid "Motion No. %s"
msgstr "Motion No %s"
-#: motion/pdf.py:271
+#: motion/pdf.py:270
#, python-format
msgid "%d. Vote"
msgstr "%d. Vote"
@@ -1894,245 +1925,262 @@ msgstr "Arrêtez de soumettre de nouvelles motions par les utilisateurs non-empl
msgid "Allow to disable versioning"
msgstr "Permettre de désactiver le versioning"
-#: motion/signals.py:76
+#: motion/signals.py:75
+msgid "Activate amendments"
+msgstr "Activer amendements"
+
+#: motion/signals.py:80
+msgctxt "Prefix for the identifier for amendments"
+msgid "A"
+msgstr "A"
+
+#: motion/signals.py:83
+msgid "Prefix for the identifier for amendments"
+msgstr "Préfixe pour l'identificateur d'amendements"
+
+#: motion/signals.py:86 motion/templates/motion/motion_detail.html:295
+msgid "Amendments"
+msgstr "Amendements"
+
+#: motion/signals.py:95
msgid "Number of (minimum) required supporters for a motion"
msgstr "Minimum de personnes nécessaire au soutient d'une motion"
-#: motion/signals.py:78
+#: motion/signals.py:97
msgid "Choose 0 to disable the supporting system."
msgstr "Choisissez 0 pour desactiver le système de soutien."
-#: motion/signals.py:83
+#: motion/signals.py:102
msgid ""
"Remove all supporters of a motion if a submitter edits his motion in early "
"state"
msgstr "Supprimer tous les partisans d'une motion si un expéditeur édite sa motion dans un statut précoce"
-#: motion/signals.py:96
+#: motion/signals.py:115
msgid "The 100 % base of a voting result consists of"
msgstr "La base d'un résultat de vote de 100% est constitué de"
-#: motion/signals.py:118
+#: motion/signals.py:137
msgid "Voting and ballot papers"
msgstr "Bulletins de vote et d'élection"
-#: motion/signals.py:129
+#: motion/signals.py:148
msgid "Title for PDF document (all motions)"
msgstr "Titre pour le document PDF (toutes les motions)"
-#: motion/signals.py:136
+#: motion/signals.py:155
msgid "Preamble text for PDF document (all motions)"
msgstr "Texte de préambule pour le document PDF (toutes les motions)"
-#: motion/signals.py:141
+#: motion/signals.py:160
msgid "Show paragraph numbering (only in PDF)"
msgstr "Afficher la numérotation des paragraphes (uniquement en PDF)"
-#: motion/signals.py:159
+#: motion/signals.py:179
msgid "Simple Workflow"
msgstr "Workflow simple"
-#: motion/signals.py:161
+#: motion/signals.py:181
msgid "submitted"
msgstr "présenté"
-#: motion/signals.py:166 motion/signals.py:193
+#: motion/signals.py:186 motion/signals.py:213
msgid "accepted"
msgstr "accepté"
-#: motion/signals.py:168 motion/signals.py:195
+#: motion/signals.py:188 motion/signals.py:215
msgid "Accept"
msgstr "Accepter"
-#: motion/signals.py:169 motion/signals.py:197
+#: motion/signals.py:189 motion/signals.py:217
msgid "rejected"
msgstr "rejeté"
-#: motion/signals.py:171 motion/signals.py:199
+#: motion/signals.py:191 motion/signals.py:219
msgid "Reject"
msgstr "Rejeter"
-#: motion/signals.py:172
+#: motion/signals.py:192
msgid "not decided"
msgstr "ne pas decidé"
-#: motion/signals.py:174
+#: motion/signals.py:194
msgid "Do not decide"
msgstr "Ne decidér pas"
-#: motion/signals.py:179
+#: motion/signals.py:199
msgid "Complex Workflow"
msgstr "Workflow complexe"
-#: motion/signals.py:181
+#: motion/signals.py:201
msgid "published"
msgstr "publié"
-#: motion/signals.py:186 motion/views.py:365
+#: motion/signals.py:206 motion/views.py:445
msgid "permitted"
msgstr "permis"
-#: motion/signals.py:188
+#: motion/signals.py:208
msgid "Permit"
msgstr "Permettre"
-#: motion/signals.py:201
+#: motion/signals.py:221
msgid "withdrawed"
msgstr "retiré"
-#: motion/signals.py:203
+#: motion/signals.py:223
msgid "Withdraw"
msgstr "Retirer"
-#: motion/signals.py:205
+#: motion/signals.py:225
msgid "adjourned"
msgstr "ajourné"
-#: motion/signals.py:207
+#: motion/signals.py:227
msgid "Adjourn"
msgstr "Ajourner"
-#: motion/signals.py:209
+#: motion/signals.py:229
msgid "not concerned"
msgstr "non concerné"
-#: motion/signals.py:211
+#: motion/signals.py:231
msgid "Do not concern"
msgstr "Ne pas concerner"
-#: motion/signals.py:213
+#: motion/signals.py:233
msgid "commited a bill"
msgstr "commis un projet de loi"
-#: motion/signals.py:215
+#: motion/signals.py:235
msgid "Commit a bill"
msgstr "Commettre un projet de loi"
-#: motion/signals.py:217
+#: motion/signals.py:237
msgid "needs review"
msgstr "doit être revu"
-#: motion/signals.py:219
+#: motion/signals.py:239
msgid "Needs review"
msgstr "Doit être revu"
-#: motion/signals.py:221
+#: motion/signals.py:241
msgid "rejected (not authorized)"
msgstr "rejeté (non autorisé)"
-#: motion/signals.py:223
+#: motion/signals.py:243
msgid "Reject (not authorized)"
msgstr "Rejeté (non autorisé)"
-#: motion/views.py:183
+#: motion/views.py:214
msgid "Motion created"
msgstr "Motion créé"
-#: motion/views.py:228
+#: motion/views.py:311
msgid "All supporters removed"
msgstr "Tous les partisans supprimés"
-#: motion/views.py:242
+#: motion/views.py:325
msgid "Motion version"
msgstr "Version de la motion"
-#: motion/views.py:244
+#: motion/views.py:327
msgid "created"
msgstr "créé"
-#: motion/views.py:244
+#: motion/views.py:327
msgid "updated"
msgstr "mise à jour"
-#: motion/views.py:289 utils/views.py:525
+#: motion/views.py:370 utils/views.py:554
#, python-format
msgid "%s was successfully deleted."
msgstr "%s a été supprimé avec succès."
-#: motion/views.py:328
+#: motion/views.py:409
msgid "Version successfully permitted."
msgstr "La version a été permise avec succes."
-#: motion/views.py:354
+#: motion/views.py:434
#, python-format
msgid "Are you sure you want permit version %s?"
msgstr "Etes-vous sûr que vous voulez permettre version %s?"
-#: motion/views.py:391
+#: motion/views.py:474
msgid "At least one version number is not valid."
msgstr "Au moins un numéro de version n'est pas valide."
-#: motion/views.py:434
+#: motion/views.py:508
msgid "You can not support this motion."
msgstr "Vous ne pouvez pas soutenir cette motion. "
-#: motion/views.py:437
+#: motion/views.py:511
msgid "You can not unsupport this motion."
msgstr "Vous ne pouvez pas retirer votre soutien pour cette motion. "
-#: motion/views.py:447
+#: motion/views.py:521
msgid "Do you really want to support this motion?"
msgstr "Voulez-vous vraiment soutenir cette motion?"
-#: motion/views.py:449
+#: motion/views.py:523
msgid "Do you really want to unsupport this motion?"
msgstr "Voulez-vous vraiment retirer votre soutien pour cette motion?"
-#: motion/views.py:462
+#: motion/views.py:536
msgid "Motion supported"
msgstr "Motion soutenu"
-#: motion/views.py:465
+#: motion/views.py:539
msgid "Motion unsupported"
msgstr "Motion ne plus soutenue"
-#: motion/views.py:472
+#: motion/views.py:546
msgid "You have supported this motion successfully."
msgstr "Vous soutenez maintenant cette motion, vous avez été ajouté avec succès."
-#: motion/views.py:474
+#: motion/views.py:548
msgid "You have unsupported this motion successfully."
msgstr "Vous avez retiré votre soutien pour cette motion avec succès."
-#: motion/views.py:500
+#: motion/views.py:564
msgid "Poll created"
msgstr "Sondage créé"
-#: motion/views.py:501
+#: motion/views.py:565
msgid "New vote was successfully created."
msgstr "Le nouveau vote a été créé avec succès."
-#: motion/views.py:567
+#: motion/views.py:635
msgid "Poll updated"
msgstr "Sondage mise à jour"
-#: motion/views.py:585
+#: motion/views.py:651
msgid "Poll deleted"
msgstr "Sondage supprimé"
-#: motion/views.py:612
+#: motion/views.py:672
msgid "Poll"
msgstr "Sondage"
-#: motion/views.py:653
+#: motion/views.py:710
msgid "You can not set the state of the motion. It is already done."
msgstr "Vous ne pouvez pas fixé le statut de la motion. C'est déjà fait."
-#: motion/views.py:655
+#: motion/views.py:712
#, python-format
msgid "You can not set the state of the motion to %s."
msgstr "Vous ne pouvez pas fixé le statut de la motion à %s."
-#: motion/views.py:662
+#: motion/views.py:719
msgid "State changed to"
msgstr "Statut changé à"
-#: motion/views.py:665
+#: motion/views.py:722
#, python-format
msgid "The state of the motion was set to %s."
msgstr "Le statut de la motion a été fixé à %s."
-#: motion/views.py:683
+#: motion/views.py:737
msgid "Agenda item created"
msgstr "Point de l'ordre du jour créé"
@@ -2152,7 +2200,7 @@ msgid "No categories available."
msgstr "Aucune catégorie n'est disponible."
#: motion/templates/motion/motion_detail.html:24
-#: motion/templates/motion/motion_detail.html:128
+#: motion/templates/motion/motion_detail.html:131
msgid "This version is authorized"
msgstr "Cette version est autorisée"
@@ -2160,117 +2208,126 @@ msgstr "Cette version est autorisée"
msgid "This version is not authorized."
msgstr "Cette version n'est pas autorisée."
-#: motion/templates/motion/motion_detail.html:37
+#: motion/templates/motion/motion_detail.html:33
+#: motion/templates/motion/slide.html:81
+msgid "Amendment of"
+msgstr "Amendement de"
+
+#: motion/templates/motion/motion_detail.html:40
msgid "Print motion as PDF"
msgstr "Motion en PDF"
-#: motion/templates/motion/motion_detail.html:41
-#: motion/templates/motion/motion_list.html:98
+#: motion/templates/motion/motion_detail.html:44
+#: motion/templates/motion/motion_list.html:118
#: motion/templates/motion/motionpoll_form.html:22
msgid "Show motion"
msgstr "Projeter la motion"
-#: motion/templates/motion/motion_detail.html:53
-#: motion/templates/motion/motion_form.html:32
-#: motion/templates/motion/motion_form.html:42
+#: motion/templates/motion/motion_detail.html:56
+#: motion/templates/motion/motion_form.html:15
+#: motion/templates/motion/motion_form.html:25
msgid "Edit motion"
msgstr "Modifier la motion"
-#: motion/templates/motion/motion_detail.html:58
+#: motion/templates/motion/motion_detail.html:61
msgid "Delete motion"
msgstr "Supprimer la motion"
-#: motion/templates/motion/motion_detail.html:77
+#: motion/templates/motion/motion_detail.html:80
msgid "Go to the authorized version"
msgstr "Aller à la version autorisée"
-#: motion/templates/motion/motion_detail.html:82
+#: motion/templates/motion/motion_detail.html:85
msgid "Go to the newest version"
msgstr "Aller à la version la plus récente"
-#: motion/templates/motion/motion_detail.html:89
+#: motion/templates/motion/motion_detail.html:92
msgid "Motion text"
msgstr "Texte de la motion"
-#: motion/templates/motion/motion_detail.html:114
+#: motion/templates/motion/motion_detail.html:117
msgid "Version history"
msgstr "Historique des versions"
-#: motion/templates/motion/motion_detail.html:120
+#: motion/templates/motion/motion_detail.html:123
msgid "Time"
msgstr "Temps"
-#: motion/templates/motion/motion_detail.html:121
+#: motion/templates/motion/motion_detail.html:124
msgid "Difference"
msgstr "Difference"
-#: motion/templates/motion/motion_detail.html:131
+#: motion/templates/motion/motion_detail.html:134
msgid "Permit this version"
msgstr "Permettre la version"
-#: motion/templates/motion/motion_detail.html:165
+#: motion/templates/motion/motion_detail.html:168
msgid "Show log"
msgstr "Afficher le log"
-#: motion/templates/motion/motion_detail.html:213
+#: motion/templates/motion/motion_detail.html:216
#: motion/templates/motion/motionpoll_slide.html:11
msgid "vote"
msgstr "voter"
-#: motion/templates/motion/motion_detail.html:218
+#: motion/templates/motion/motion_detail.html:221
#: motion/templates/motion/motionpoll_form.html:26
msgid "Show vote result"
msgstr "Afficher le résultat de vote"
-#: motion/templates/motion/motion_detail.html:223
+#: motion/templates/motion/motion_detail.html:226
msgid "Edit Vote"
msgstr "Modifier le vote"
-#: motion/templates/motion/motion_detail.html:225
+#: motion/templates/motion/motion_detail.html:228
#: motion/templates/motion/motionpoll_form.html:31
msgid "Delete Vote"
msgstr "Supprimer le vote"
-#: motion/templates/motion/motion_detail.html:249
+#: motion/templates/motion/motion_detail.html:252
msgid "No result"
msgstr "Pas de résultat"
-#: motion/templates/motion/motion_detail.html:259
+#: motion/templates/motion/motion_detail.html:264
msgid "New vote"
msgstr "Nouveau vote"
-#: motion/templates/motion/motion_detail.html:276
+#: motion/templates/motion/motion_detail.html:287
msgid "Last changes (of this version)"
msgstr "Les derniers changements (de cette version)"
-#: motion/templates/motion/motion_detail.html:278
+#: motion/templates/motion/motion_detail.html:289
#: motion/templates/motion/motion_diff.html:36
#: motion/templates/motion/motion_diff.html:40
-#: motion/templates/motion/motion_list.html:58
+#: motion/templates/motion/motion_list.html:67
msgid "Last changes"
msgstr "Derniers changement"
-#: motion/templates/motion/motion_detail.html:288
+#: motion/templates/motion/motion_detail.html:307
+msgid "New amendment"
+msgstr "Nouveau amendement"
+
+#: motion/templates/motion/motion_detail.html:316
msgid "Unsupport"
msgstr "Ne plus soutenir"
-#: motion/templates/motion/motion_detail.html:294
+#: motion/templates/motion/motion_detail.html:322
msgid "Support"
msgstr "Soutenir"
-#: motion/templates/motion/motion_detail.html:302
+#: motion/templates/motion/motion_detail.html:330
msgid "minimum required supporters"
msgstr "Nombres minimum de partisans requis"
-#: motion/templates/motion/motion_detail.html:309
+#: motion/templates/motion/motion_detail.html:337
msgid "Manage motion"
msgstr "Gérer la motion"
-#: motion/templates/motion/motion_detail.html:319
+#: motion/templates/motion/motion_detail.html:347
msgid "For administration only:"
msgstr "Seulement pour l'administration:"
-#: motion/templates/motion/motion_detail.html:321
+#: motion/templates/motion/motion_detail.html:349
msgid "Reset state"
msgstr "Réinitialiser le statut"
@@ -2283,20 +2340,20 @@ msgid "Diff view"
msgstr "Afficher la difference"
#: motion/templates/motion/motion_diff.html:27
-#: motion/templates/motion/motion_form.html:48
+#: motion/templates/motion/motion_form.html:31
#: motion/templates/motion/motionpoll_form.html:18
msgid "Back to motion"
msgstr "Retourner vers la motion"
-#: motion/templates/motion/motion_form.html:34
-#: motion/templates/motion/motion_form.html:44
+#: motion/templates/motion/motion_form.html:17
+#: motion/templates/motion/motion_form.html:27
#: motion/templates/motion/motion_list.html:36
msgid "New motion"
msgstr "Nouvelle motion"
#: motion/templates/motion/motion_form_csv_import.html:5
#: motion/templates/motion/motion_form_csv_import.html:9
-#: motion/templates/motion/motion_list.html:41
+#: motion/templates/motion/motion_list.html:50
msgid "Import motions"
msgstr "Importer des motions"
@@ -2313,31 +2370,35 @@ msgid ""
"Identifier, reason, submitter and category are optional and may be empty"
msgstr "Identifier, raison pour laquelle, l'émetteur et la catégorie sont facultatives et peuvent être vides"
-#: motion/templates/motion/motion_list.html:40
+#: motion/templates/motion/motion_list.html:46
msgid "Manage categories"
msgstr "Gérer les catégories"
-#: motion/templates/motion/motion_list.html:43
+#: motion/templates/motion/motion_list.html:52
msgid "Print all motions as PDF"
msgstr "Toutes les motions en PDF"
-#: motion/templates/motion/motion_list.html:50
+#: motion/templates/motion/motion_list.html:59
msgid "#"
msgstr "#"
-#: motion/templates/motion/motion_list.html:51
+#: motion/templates/motion/motion_list.html:60
msgid "Motion title"
msgstr "Titre de la motion"
-#: motion/templates/motion/motion_list.html:79
+#: motion/templates/motion/motion_list.html:77
+msgid "Amendment"
+msgstr "Amendement"
+
+#: motion/templates/motion/motion_list.html:99
msgid "Enough supporters"
msgstr "A assez de partisans"
-#: motion/templates/motion/motion_list.html:82
+#: motion/templates/motion/motion_list.html:102
msgid "Needs supporters"
msgstr "A besoin de partisans"
-#: motion/templates/motion/motion_list.html:89
+#: motion/templates/motion/motion_list.html:109
msgid "There is a newer (unauthorized) version."
msgstr "Il y a une version plus récente (et non autorisée)."
@@ -2395,7 +2456,7 @@ msgstr "Participants"
msgid "Use one line per participant for its name (first name and last name)."
msgstr "Utilisez une ligne par participant pour son nom (prénom et nom). "
-#: participant/forms.py:52 participant/forms.py:155 participant/pdf.py:109
+#: participant/forms.py:52 participant/forms.py:156 participant/pdf.py:109
#: participant/templates/participant/login.html:34
#: participant/templates/participant/user_detail.html:69
msgid "Username"
@@ -2411,19 +2472,19 @@ msgstr "Vous ne pouvez pas supprimer le dernier groupe contenant l'autorisation
msgid "Permissions"
msgstr "Permissions"
-#: participant/forms.py:141
+#: participant/forms.py:142
msgid ""
"You can not remove yourself from the last group containing the permission to"
" manage participants."
msgstr "Vous ne pouvez pas supprimer le dernier groupe contenant l'autorisation de gérer les participants."
-#: participant/forms.py:149
+#: participant/forms.py:150
msgid ""
"You can not remove the permission to manage participants from the last group"
" you are in."
msgstr "Vous ne pouvez pas supprimer l'autorisation de gérer les participants du dernier groupe dans lequel vous y êtes."
-#: participant/forms.py:164
+#: participant/forms.py:165
msgid "Language"
msgstr "Langue"
@@ -2605,7 +2666,7 @@ msgstr "Régistré"
msgid "Delegates"
msgstr "Délégués"
-#: participant/signals.py:176
+#: participant/signals.py:179
#: participant/templates/participant/user_form_csv_import.html:25
msgid "Staff"
msgstr "Personnel"
@@ -2619,42 +2680,42 @@ msgstr "%(number)d participants a été créé avec succès."
msgid "You can not delete yourself."
msgstr "Vous ne pouvez pas vous suprimer vous même."
-#: participant/views.py:194
+#: participant/views.py:193
msgid "You can not deactivate yourself."
msgstr "Vous ne pouvez pas vous désactiver vous-même."
-#: participant/views.py:213
+#: participant/views.py:212
msgid "Participant-list"
msgstr "Liste des participants"
-#: participant/views.py:214
+#: participant/views.py:213
msgid "List of Participants"
msgstr "La liste des participants"
-#: participant/views.py:228
+#: participant/views.py:227
msgid "Participant-access-data"
msgstr "Données-d'accès-des-participants"
-#: participant/views.py:258
+#: participant/views.py:257
msgid "Do you really want to reset the password?"
msgstr "Voulez-vous vraiment reinitialser le mot de passe?"
-#: participant/views.py:271
+#: participant/views.py:266
#, python-format
msgid "The Password for %s was successfully reset."
msgstr "Le mot de passe de %s a été initialisé avec succès."
-#: participant/views.py:365
+#: participant/views.py:360
msgid "You can not delete this group."
msgstr "Vous ne pouvez pas suprimer ce groupe."
-#: participant/views.py:374
+#: participant/views.py:369
msgid ""
"You can not delete the last group containing the permission to manage "
"participants you are in."
msgstr "Vous ne pouvez pas supprimer le dernier groupe contenant l'autorisation de gérer les participants dans le quel vous y êtes."
-#: participant/views.py:390
+#: participant/views.py:385
#, python-format
msgid ""
"Installation was successfully! Use %(user)s (password: %(password)s) for "
@@ -2663,31 +2724,31 @@ msgid ""
"be a security risk."
msgstr "L'installation a été terminée avec succès! Utilisez %(user)s (mot de passe: %(password)s) pour la première connexion.
Important: S'il vous plait, changez le mot de passe après la première connexion. Sinon, ce message apparaîtra toujours pour tout le monde et pourrait représenter un risque de sécurité."
-#: participant/views.py:417
+#: participant/views.py:412
msgid "User settings successfully saved."
msgstr "Les paramètres d'utilisateurs ont été enregistrés avec succès."
-#: participant/views.py:419 participant/views.py:443 utils/views.py:180
+#: participant/views.py:414 participant/views.py:438 utils/views.py:205
msgid "Please check the form for errors."
msgstr "S'il vous plaît, vérifier si il a des erreurs dans le formulaire."
-#: participant/views.py:440
+#: participant/views.py:435
msgid "Password successfully changed."
msgstr "Le mot de passe a été changé avec succès."
-#: participant/templates/participant/edit.html:27
-#: participant/templates/participant/edit.html:37
+#: participant/templates/participant/edit.html:9
+#: participant/templates/participant/edit.html:19
#: participant/templates/participant/user_detail.html:26
msgid "Edit participant"
msgstr "Modifier le participant"
-#: participant/templates/participant/edit.html:29
-#: participant/templates/participant/edit.html:39
+#: participant/templates/participant/edit.html:11
+#: participant/templates/participant/edit.html:21
#: participant/templates/participant/overview.html:23
msgid "New participant"
msgstr "Nouveau participant"
-#: participant/templates/participant/edit.html:50
+#: participant/templates/participant/edit.html:32
msgid "Reset to First Password"
msgstr "Initialiser au premier mot de passe"
@@ -2982,33 +3043,33 @@ msgstr "l'adresse IP locale de la machine"
msgid "Starting OpenSlides' tornado webserver listening to %(url_string)s"
msgstr "Lancer le Tornado Serveur OpenSlides obeyant à %(url_string)s"
-#: utils/views.py:328
+#: utils/views.py:357
msgid "Are you sure?"
msgstr "Etes-vous sûr?"
-#: utils/views.py:329
+#: utils/views.py:358
msgid "Thank you for your answer."
msgstr "Merci pour votre réponse."
-#: utils/views.py:418
+#: utils/views.py:447
msgid "You did not send a valid answer."
msgstr "Vous n'avez pas envoyé une réponse valable."
-#: utils/views.py:452
+#: utils/views.py:481
#, python-format
msgid "%s was successfully modified."
msgstr "%s a été modifié avec succès."
-#: utils/views.py:466
+#: utils/views.py:499
#, python-format
msgid "%s was successfully created."
msgstr "%s a été créé avec succès."
-#: utils/views.py:513
+#: utils/views.py:542
#, python-format
msgid "Do you really want to delete %s?"
msgstr "Voulez-vous vraiment supprimer %s?"
-#: utils/views.py:540
+#: utils/views.py:569
msgid "undefined-filename"
msgstr "nom de fichier indéterminé"
diff --git a/openslides/locale/pt/LC_MESSAGES/django.mo b/openslides/locale/pt/LC_MESSAGES/django.mo
index a744bb1a5..69bd148fc 100644
Binary files a/openslides/locale/pt/LC_MESSAGES/django.mo and b/openslides/locale/pt/LC_MESSAGES/django.mo differ
diff --git a/openslides/locale/pt/LC_MESSAGES/django.po b/openslides/locale/pt/LC_MESSAGES/django.po
index ab5c7a105..945a82716 100644
--- a/openslides/locale/pt/LC_MESSAGES/django.po
+++ b/openslides/locale/pt/LC_MESSAGES/django.po
@@ -3,16 +3,17 @@
# Copyright (C) 2011–2013 by OpenSlides team, see AUTHORS.
# This file is distributed under the same license as the OpenSlides package.
# Translators:
-# marcoagpinto , 2013
-# marcoagpinto , 2013-2014
-# normanjaeckel , 2014
+# Emanuel Schütze , 2015
+# Marco A.G.Pinto , 2013
+# Marco A.G.Pinto , 2013-2015
+# Norman Jäckel , 2014
msgid ""
msgstr ""
"Project-Id-Version: OpenSlides\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2014-05-20 12:31+0200\n"
-"PO-Revision-Date: 2014-05-26 13:48+0000\n"
-"Last-Translator: marcoagpinto \n"
+"POT-Creation-Date: 2015-01-16 14:24+0100\n"
+"PO-Revision-Date: 2015-01-21 14:58+0000\n"
+"Last-Translator: Emanuel Schütze \n"
"Language-Team: Portuguese (Portugal) (http://www.transifex.com/projects/p/openslides/language/pt_PT/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -49,7 +50,7 @@ msgid "None"
msgstr "Nenhuma"
#: agenda/csv_import.py:22 motion/csv_import.py:37
-#: participant/csv_import.py:72
+#: participant/csv_import.py:70
msgid "Import file has wrong character encoding, only UTF-8 is supported!"
msgstr "Ficheiro a importar tem codificação errada de caracteres, apenas é suportado UTF-8!"
@@ -71,7 +72,7 @@ msgstr "Item pai"
msgid "Invalid format. Hours from 0 to 99 and minutes from 00 to 59"
msgstr "Formato inválido. Horas de 0 a 99 e minutos de 00 a 59"
-#: agenda/forms.py:30 agenda/templates/agenda/overview.html:88
+#: agenda/forms.py:30 agenda/templates/agenda/overview.html:103
msgid "Duration"
msgstr "Duração"
@@ -88,95 +89,95 @@ msgstr "Adicionar participante"
msgid "%s is already on the list of speakers."
msgstr "%s já está na lista de oradores."
-#: agenda/main_menu.py:12 agenda/signals.py:87 agenda/views.py:367
-#: agenda/views.py:368 agenda/widgets.py:16
+#: agenda/main_menu.py:12 agenda/signals.py:87 agenda/views.py:358
+#: agenda/views.py:359 agenda/widgets.py:16
#: agenda/templates/agenda/item_slide_summary.html:7
#: agenda/templates/agenda/overview.html:7
#: agenda/templates/agenda/overview.html:34
-#: agenda/templates/agenda/overview.html:96
+#: agenda/templates/agenda/overview.html:111
#: agenda/templates/agenda/widget_item.html:18
#: agenda/templates/search/agenda-results.html:7
#: agenda/templates/search/agenda-results.html:13
msgid "Agenda"
msgstr "Agenda"
-#: agenda/models.py:38
+#: agenda/models.py:39
msgid "Agenda item"
msgstr "Item da agenda"
-#: agenda/models.py:39 agenda/templates/search/agenda-results.html:13
+#: agenda/models.py:40 agenda/templates/search/agenda-results.html:13
msgid "Organizational item"
msgstr "Item organizacional"
-#: agenda/models.py:41
+#: agenda/models.py:42
msgid "Number"
msgstr "Número"
-#: agenda/models.py:46 core/models.py:15 core/signals.py:111
+#: agenda/models.py:47 core/models.py:15 core/signals.py:111
#: mediafile/models.py:28 mediafile/templates/mediafile/mediafile_list.html:18
-#: motion/forms.py:28 motion/models.py:536 participant/models.py:34
+#: motion/forms.py:27 motion/models.py:573 participant/models.py:34
#: participant/pdf.py:21 participant/templates/participant/overview.html:49
msgid "Title"
msgstr "Título"
-#: agenda/models.py:51 core/models.py:16 motion/forms.py:33
-#: motion/models.py:539
+#: agenda/models.py:52 core/models.py:16 motion/forms.py:32
+#: motion/models.py:576
msgid "Text"
msgstr "Texto"
-#: agenda/models.py:56 agenda/templates/agenda/overview.html:85
-#: agenda/templates/agenda/view.html:54 participant/models.py:46
+#: agenda/models.py:57 agenda/templates/agenda/overview.html:100
+#: agenda/templates/agenda/view.html:62 participant/models.py:46
#: participant/templates/participant/overview.html:55
#: participant/templates/participant/user_detail.html:71
msgid "Comment"
msgstr "Comentário"
-#: agenda/models.py:61
+#: agenda/models.py:62
msgid "Closed"
msgstr "Fechado"
-#: agenda/models.py:67 mediafile/templates/mediafile/mediafile_list.html:19
+#: agenda/models.py:68 mediafile/templates/mediafile/mediafile_list.html:19
msgid "Type"
msgstr "Tipo"
-#: agenda/models.py:85 core/models.py:17
+#: agenda/models.py:86 core/models.py:17
msgid "Weight"
msgstr "Peso"
-#: agenda/models.py:107
+#: agenda/models.py:108
msgid "List of speakers is closed"
msgstr "A lista de oradores está fechada"
-#: agenda/models.py:114
+#: agenda/models.py:120
msgid "Can see agenda"
msgstr "Pode-se ver a agenda"
-#: agenda/models.py:115
+#: agenda/models.py:121
msgid "Can manage agenda"
msgstr "Pode-se gerir a agenda"
-#: agenda/models.py:116
+#: agenda/models.py:122
msgid "Can see orga items and time scheduling of agenda"
msgstr "Pode-se ver os itens organizacionais e o agendamento de tempo"
-#: agenda/models.py:131 agenda/views.py:142
+#: agenda/models.py:137 agenda/views.py:142
msgid "Agenda items can not be child elements of an organizational item."
msgstr "Os itens da agenda não podem ser elementos filho de um item organizacional."
-#: agenda/models.py:133
+#: agenda/models.py:139
msgid "Organizational items can not have agenda items as child elements."
msgstr "Itens organizacionais não podem ter itens da agenda como elementos filho."
-#: agenda/models.py:345
+#: agenda/models.py:354
#, python-format
msgid "%(person)s is already on the list of speakers of item %(id)s."
msgstr "%(person)s já estão na lista de oradores do item %(id)s."
-#: agenda/models.py:349
+#: agenda/models.py:358
msgid "An anonymous user can not be on lists of speakers."
msgstr "Um utilizador anónimo não pode estar em listas de oradores."
-#: agenda/models.py:389
+#: agenda/models.py:398
msgid "Can put oneself on the list of speakers"
msgstr "Pode colocar-se na lista de oradores"
@@ -232,43 +233,43 @@ msgstr "Não estás autorizado a gerir a agenda."
msgid "Errors when reordering of the agenda"
msgstr "Erros no reordenamento da agenda"
-#: agenda/views.py:290
+#: agenda/views.py:288
msgid "Yes, with all child items."
msgstr "Sim, com todos os items filho."
-#: agenda/views.py:315
+#: agenda/views.py:313
#, python-format
msgid "Item %s was successfully deleted."
msgstr "Item %s foi apagado com sucesso."
-#: agenda/views.py:317
+#: agenda/views.py:315
#, python-format
msgid "Item %s and its children were successfully deleted."
msgstr "O item %s e os seus filhos foram apagados com sucesso."
-#: agenda/views.py:350
+#: agenda/views.py:341
msgid ""
"Do you really want to generate agenda numbering? Manually added item numbers"
" will be overwritten!"
msgstr "Queres realmente gerar numeração de agenda? Os números de itens adicionados manualmente serão substituídos!"
-#: agenda/views.py:359
+#: agenda/views.py:350
msgid "The agenda has been numbered."
msgstr "A agenda foi numerada."
-#: agenda/views.py:393 agenda/views.py:624
+#: agenda/views.py:383 agenda/views.py:618
msgid "The list of speakers is closed."
msgstr "A lista de oradores está fechada."
-#: agenda/views.py:400 agenda/views.py:633
+#: agenda/views.py:390 agenda/views.py:627
msgid "You were successfully added to the list of speakers."
msgstr "Foste adicionado com sucesso à lista de oradores."
-#: agenda/views.py:424
+#: agenda/views.py:437
msgid "You are not on the list of speakers."
msgstr "Não estás na lista de oradores."
-#: agenda/views.py:447
+#: agenda/views.py:448
msgid "Do you really want to remove yourself from the list of speakers?"
msgstr "Desejas realmente retirar-te da lista de oradores?"
@@ -277,56 +278,56 @@ msgstr "Desejas realmente retirar-te da lista de oradores?"
msgid "%(person)s is not on the list of %(item)s."
msgstr "%(person)s não estão na lista de %(item)s."
-#: agenda/views.py:494
+#: agenda/views.py:493
#, python-format
msgid "There is no one speaking at the moment according to %(item)s."
msgstr "Não há ninguém a discursar no momento, de acordo com %(item)s."
-#: agenda/views.py:559
+#: agenda/views.py:553
msgid "Could not change order. Invalid data."
msgstr "Não foi possível alterar a ordem. Dados inválidos."
-#: agenda/views.py:618
+#: agenda/views.py:612
msgid ""
"There is no list of speakers for the current slide. Please choose the agenda"
" item manually from the agenda."
msgstr "Não há lista de oradores para o slide actual. Por favor, escolhe o item de agenda manualmente a partir da agenda."
-#: agenda/views.py:637
+#: agenda/views.py:631
msgid "You can not put yourself on the list of speakers."
msgstr "Não te podes colocar na lista de oradores."
-#: agenda/views.py:646
+#: agenda/views.py:640
#, python-format
msgid "%s is now speaking."
msgstr "%s está a falar agora."
-#: agenda/views.py:648
+#: agenda/views.py:642
#: agenda/templates/agenda/item_slide_list_of_speaker.html:26
-#: agenda/templates/agenda/overlay_speaker_projector.html:17
+#: agenda/templates/agenda/overlay_speaker_projector.html:20
msgid "The list of speakers is empty."
msgstr "A lista de oradores está vazia."
-#: agenda/views.py:656
+#: agenda/views.py:650
msgid "There is no one speaking at the moment."
msgstr "Não há ninguém a discursar no momento."
-#: agenda/views.py:659
+#: agenda/views.py:653
#, python-format
msgid "%s is now finished."
msgstr "%s está agora concluído."
-#: agenda/views.py:716 agenda/widgets.py:44
+#: agenda/views.py:710 agenda/widgets.py:44
#: agenda/templates/agenda/current_list_of_speakers_projector.html:4
#: agenda/templates/agenda/item_slide_list_of_speaker.html:9
-#: agenda/templates/agenda/overlay_speaker_projector.html:4
+#: agenda/templates/agenda/overlay_speaker_projector.html:7
#: agenda/templates/agenda/overlay_speaker_widget.html:4
-#: agenda/templates/agenda/overview.html:43
-#: agenda/templates/agenda/view.html:60
+#: agenda/templates/agenda/overview.html:57
+#: agenda/templates/agenda/view.html:68
msgid "List of speakers"
msgstr "Lista de oradores"
-#: agenda/views.py:716
+#: agenda/views.py:710
msgid "Not available."
msgstr "Não disponível."
@@ -347,12 +348,13 @@ msgstr "Novo item"
#: assignment/templates/assignment/assignment_form.html:26
#: core/templates/core/customslide_update.html:10
#: core/templates/core/select_widgets.html:10
+#: core/templates/core/tag_list.html:11
#: mediafile/templates/mediafile/mediafile_form.html:22
#: motion/templates/motion/category_list.html:15
-#: motion/templates/motion/motion_detail.html:35
-#: motion/templates/motion/motion_form.html:51
+#: motion/templates/motion/motion_detail.html:38
+#: motion/templates/motion/motion_form.html:33
#: motion/templates/motion/motion_form_csv_import.html:11
-#: participant/templates/participant/edit.html:42
+#: participant/templates/participant/edit.html:24
#: participant/templates/participant/group_detail.html:12
#: participant/templates/participant/group_edit.html:22
#: participant/templates/participant/user_detail.html:12
@@ -373,10 +375,10 @@ msgstr "Editar %(type)s %(name)s"
#: config/templates/config/config_form.html:47
#: mediafile/templates/mediafile/mediafile_form.html:33
#: motion/templates/motion/category_form.html:27
-#: motion/templates/motion/motion_form.html:60
+#: motion/templates/motion/motion_form.html:42
#: motion/templates/motion/motion_form_csv_import.html:42
#: motion/templates/motion/motionpoll_form.html:84
-#: participant/templates/participant/edit.html:56
+#: participant/templates/participant/edit.html:38
#: participant/templates/participant/group_edit.html:31
#: participant/templates/participant/user_form_csv_import.html:44
#: participant/templates/participant/user_form_multiple.html:23
@@ -390,9 +392,9 @@ msgstr "Cancelar"
#: core/templates/core/customslide_update.html:18
#: mediafile/templates/mediafile/mediafile_form.html:35
#: motion/templates/motion/category_form.html:30
-#: motion/templates/motion/motion_form.html:63
+#: motion/templates/motion/motion_form.html:45
#: motion/templates/motion/motion_form_csv_import.html:45
-#: participant/templates/participant/edit.html:59
+#: participant/templates/participant/edit.html:41
#: participant/templates/participant/group_edit.html:34
#: participant/templates/participant/user_form_csv_import.html:47
#: participant/templates/participant/user_form_multiple.html:26
@@ -401,7 +403,7 @@ msgstr "requerido"
#: agenda/templates/agenda/item_form_csv_import.html:5
#: agenda/templates/agenda/item_form_csv_import.html:9
-#: agenda/templates/agenda/overview.html:38
+#: agenda/templates/agenda/overview.html:49
msgid "Import agenda items"
msgstr "Importar itens da agenda"
@@ -448,9 +450,9 @@ msgid "Use the CSV example file from OpenSlides Wiki."
msgstr "Usa o ficheiro de exemplo CSV do Wiki OpenSlides."
#: agenda/templates/agenda/item_form_csv_import.html:39
-#: agenda/templates/agenda/overview.html:38
+#: agenda/templates/agenda/overview.html:51
#: motion/templates/motion/motion_form_csv_import.html:39
-#: motion/templates/motion/motion_list.html:41
+#: motion/templates/motion/motion_list.html:50
#: participant/templates/participant/overview.html:26
#: participant/templates/participant/user_form_csv_import.html:41
msgid "Import"
@@ -461,20 +463,21 @@ msgid "Show agenda item"
msgstr "Mostrar item da agenda"
#: agenda/templates/agenda/item_row.html:16
-#: agenda/templates/agenda/view.html:72
+#: agenda/templates/agenda/view.html:80
#: agenda/templates/agenda/widget_item.html:42
msgid "Show list of speakers"
msgstr "Mostrar lista de oradores"
#: agenda/templates/agenda/item_row.html:22
#: agenda/templates/agenda/widget_item.html:32
-#: assignment/templates/assignment/assignment_detail.html:173
-#: assignment/templates/assignment/assignment_list.html:65
+#: assignment/templates/assignment/assignment_detail.html:178
+#: assignment/templates/assignment/assignment_list.html:78
#: assignment/templates/assignment/widget_assignment.html:16
+#: core/templates/core/tag_list.html:31 core/templates/core/tag_list.html:45
#: core/templates/core/widget_customslide.html:34
#: mediafile/templates/mediafile/mediafile_list.html:38
#: motion/templates/motion/category_list.html:30
-#: motion/templates/motion/motion_list.html:100
+#: motion/templates/motion/motion_list.html:123
#: motion/templates/motion/widget_motion.html:16
#: participant/templates/participant/group_overview.html:58
#: participant/templates/participant/overview.html:117
@@ -484,14 +487,15 @@ msgid "Edit"
msgstr "Editar"
#: agenda/templates/agenda/item_row.html:25
-#: agenda/templates/agenda/view.html:128
-#: assignment/templates/assignment/assignment_detail.html:175
-#: assignment/templates/assignment/assignment_list.html:69
+#: agenda/templates/agenda/view.html:136
+#: assignment/templates/assignment/assignment_detail.html:180
+#: assignment/templates/assignment/assignment_list.html:82
+#: core/templates/core/tag_list.html:34 core/templates/core/tag_list.html:48
#: core/templates/core/widget_customslide.html:30
#: mediafile/templates/mediafile/mediafile_list.html:39
#: motion/templates/motion/category_list.html:33
-#: motion/templates/motion/motion_detail.html:146
-#: motion/templates/motion/motion_list.html:103
+#: motion/templates/motion/motion_detail.html:149
+#: motion/templates/motion/motion_list.html:126
#: participant/templates/participant/group_overview.html:62
#: participant/templates/participant/overview.html:122
msgid "Delete"
@@ -523,8 +527,8 @@ msgid "Item closed"
msgstr "Item fechado"
#: agenda/templates/agenda/item_slide_list_of_speaker.html:10
-#: agenda/templates/agenda/overlay_speaker_projector.html:4
-#: agenda/templates/agenda/view.html:60
+#: agenda/templates/agenda/overlay_speaker_projector.html:7
+#: agenda/templates/agenda/view.html:68
msgid "closed"
msgstr "fechado"
@@ -537,31 +541,31 @@ msgid "Do you want to save the changed order of agenda items?"
msgstr "Queres gravar a ordem alterada dos itens da agenda?"
#: agenda/templates/agenda/overview.html:29
-#: agenda/templates/agenda/view.html:84 assignment/models.py:334
-#: assignment/views.py:588
-#: assignment/templates/assignment/assignment_detail.html:211
-#: assignment/templates/assignment/assignment_detail.html:215
+#: agenda/templates/agenda/view.html:92 assignment/models.py:336
+#: assignment/views.py:573
+#: assignment/templates/assignment/assignment_detail.html:216
+#: assignment/templates/assignment/assignment_detail.html:220
#: assignment/templates/assignment/assignmentpoll_slide.html:24
-#: motion/models.py:712 motion/pdf.py:129 motion/pdf.py:274
-#: motion/templates/motion/motion_detail.html:228
+#: motion/models.py:749 motion/pdf.py:128 motion/pdf.py:273
+#: motion/templates/motion/motion_detail.html:233
#: motion/templates/motion/motionpoll_slide.html:20
-#: motion/templates/motion/slide.html:23 utils/views.py:330
+#: motion/templates/motion/slide.html:23 utils/views.py:359
msgid "Yes"
msgstr "Sim"
#: agenda/templates/agenda/overview.html:30
-#: agenda/templates/agenda/view.html:85 assignment/models.py:334
-#: assignment/views.py:589
-#: assignment/templates/assignment/assignment_detail.html:212
+#: agenda/templates/agenda/view.html:93 assignment/models.py:336
+#: assignment/views.py:574
+#: assignment/templates/assignment/assignment_detail.html:217
#: assignment/templates/assignment/assignmentpoll_slide.html:26
-#: motion/models.py:712 motion/pdf.py:129 motion/pdf.py:276
-#: motion/templates/motion/motion_detail.html:229
+#: motion/models.py:749 motion/pdf.py:128 motion/pdf.py:275
+#: motion/templates/motion/motion_detail.html:234
#: motion/templates/motion/motionpoll_slide.html:24
-#: motion/templates/motion/slide.html:24 utils/views.py:330
+#: motion/templates/motion/slide.html:24 utils/views.py:359
msgid "No"
msgstr "Não"
-#: agenda/templates/agenda/overview.html:37
+#: agenda/templates/agenda/overview.html:39
#: assignment/templates/assignment/assignment_list.html:22
#: core/templates/core/widget_customslide.html:47
#: mediafile/templates/mediafile/mediafile_list.html:12
@@ -572,60 +576,75 @@ msgstr "Não"
msgid "New"
msgstr "Novo"
-#: agenda/templates/agenda/overview.html:40
+#: agenda/templates/agenda/overview.html:43
+#: assignment/templates/assignment/assignment_list.html:25
+#: motion/templates/motion/motion_list.html:40
+msgid "Manage tags"
+msgstr "Gerir tags"
+
+#: agenda/templates/agenda/overview.html:45
+#: assignment/templates/assignment/assignment_list.html:27
+#: core/templates/core/tag_list.html:5 core/templates/core/tag_list.html:8
+#: motion/forms.py:54 motion/templates/motion/motion_detail.html:279
+#: motion/templates/motion/motion_list.html:42
+msgid "Tags"
+msgstr "Tags"
+
+#: agenda/templates/agenda/overview.html:54
msgid "Print agenda as PDF"
msgstr "Imprimir agenda como PDF"
-#: agenda/templates/agenda/overview.html:42
+#: agenda/templates/agenda/overview.html:56
msgid "Current list of speakers"
msgstr "Lista actual de oradores"
-#: agenda/templates/agenda/overview.html:51
+#: agenda/templates/agenda/overview.html:66
+msgid "Number agenda items"
+msgstr "Numerar os itens da agenda"
+
+#: agenda/templates/agenda/overview.html:71
msgid "Hide closed items"
msgstr "Ocultar itens fechados"
-#: agenda/templates/agenda/overview.html:54
+#: agenda/templates/agenda/overview.html:74
msgid "item"
msgid_plural "items"
msgstr[0] "item"
msgstr[1] "itens"
-#: agenda/templates/agenda/overview.html:62
+#: agenda/templates/agenda/overview.html:82
msgid "Start of event"
msgstr "Início do evento"
-#: agenda/templates/agenda/overview.html:66
+#: agenda/templates/agenda/overview.html:86
msgid "Estimated end"
msgstr "Fim estimado"
-#: agenda/templates/agenda/overview.html:71
+#: agenda/templates/agenda/overview.html:91
msgid "Set start time of event"
msgstr "Marcar altura de começo do evento"
-#: agenda/templates/agenda/overview.html:75
-msgid "Number agenda items"
-msgstr "Numerar os itens da agenda"
-
-#: agenda/templates/agenda/overview.html:83
+#: agenda/templates/agenda/overview.html:98
msgid "Item"
msgstr "Item"
-#: agenda/templates/agenda/overview.html:91
-#: assignment/templates/assignment/assignment_list.html:36
+#: agenda/templates/agenda/overview.html:106
+#: assignment/templates/assignment/assignment_list.html:43
+#: core/templates/core/tag_list.html:25
#: mediafile/templates/mediafile/mediafile_list.html:24
#: motion/templates/motion/category_list.html:23
-#: motion/templates/motion/motion_detail.html:122
-#: motion/templates/motion/motion_list.html:59
+#: motion/templates/motion/motion_detail.html:125
+#: motion/templates/motion/motion_list.html:69
#: participant/templates/participant/group_overview.html:33
#: participant/templates/participant/overview.html:57
msgid "Actions"
msgstr "Acções"
-#: agenda/templates/agenda/overview.html:110
+#: agenda/templates/agenda/overview.html:125
msgid "Show agenda"
msgstr "Mostrar agenda"
-#: agenda/templates/agenda/overview.html:133
+#: agenda/templates/agenda/overview.html:148
#: agenda/templates/agenda/widget_item.html:59
#: core/templates/core/widget_customslide.html:43
msgid "No items available."
@@ -637,7 +656,7 @@ msgstr "Mostrar item"
#: agenda/templates/agenda/view.html:33
#: assignment/templates/assignment/assignment_detail.html:34
-#: motion/templates/motion/motion_detail.html:48
+#: motion/templates/motion/motion_detail.html:51
#: participant/templates/participant/group_detail.html:22
#: participant/templates/participant/user_detail.html:22
msgid "More actions"
@@ -647,57 +666,57 @@ msgstr "Mais acções"
msgid "Delete item"
msgstr "Apagar item"
-#: agenda/templates/agenda/view.html:64
+#: agenda/templates/agenda/view.html:72
msgid "Open list"
msgstr "Lista aberta"
-#: agenda/templates/agenda/view.html:66
+#: agenda/templates/agenda/view.html:74
msgid "Close list"
msgstr "Lista fechada"
-#: agenda/templates/agenda/view.html:74
+#: agenda/templates/agenda/view.html:82
msgid "Show list"
msgstr "Mostrar lista"
-#: agenda/templates/agenda/view.html:82
+#: agenda/templates/agenda/view.html:90
msgid "Do you want to save the changed order of speakers?"
msgstr "Queres guardar a ordem alterada de oradores?"
-#: agenda/templates/agenda/view.html:93
+#: agenda/templates/agenda/view.html:101
msgid "Last speakers"
msgstr "Últimos oradores"
-#: agenda/templates/agenda/view.html:96
+#: agenda/templates/agenda/view.html:104
msgid "Show all speakers"
msgstr "Mostrar todos os oradores"
-#: agenda/templates/agenda/view.html:100
+#: agenda/templates/agenda/view.html:108
msgid "Current speaker"
msgstr "Orador actual"
-#: agenda/templates/agenda/view.html:102
+#: agenda/templates/agenda/view.html:110
msgid "Next speakers"
msgstr "Próximos oradores"
-#: agenda/templates/agenda/view.html:122
+#: agenda/templates/agenda/view.html:130
#: agenda/templates/agenda/widget_list_of_speakers.html:12
msgid "End speach"
msgstr "Discurso final"
-#: agenda/templates/agenda/view.html:125
+#: agenda/templates/agenda/view.html:133
msgid "Begin speach"
msgstr "Começar discurso"
-#: agenda/templates/agenda/view.html:140
+#: agenda/templates/agenda/view.html:148
msgid "Remove me from the list"
msgstr "Remover-me da lista"
-#: agenda/templates/agenda/view.html:142
+#: agenda/templates/agenda/view.html:150
msgid "Put me on the list"
msgstr "Colocar-me na lista"
-#: agenda/templates/agenda/view.html:152
-#: assignment/templates/assignment/assignment_detail.html:112
+#: agenda/templates/agenda/view.html:160
+#: assignment/templates/assignment/assignment_detail.html:117
#: assignment/templates/assignment/assignmentpoll_form.html:105
#: core/templates/formbuttons_saveapply.html:7
#: mediafile/templates/mediafile/widget_pdfpresentation.html:32
@@ -706,8 +725,8 @@ msgstr "Colocar-me na lista"
msgid "Apply"
msgstr "Aplicar"
-#: agenda/templates/agenda/view.html:154
-#: assignment/templates/assignment/assignment_detail.html:115
+#: agenda/templates/agenda/view.html:162
+#: assignment/templates/assignment/assignment_detail.html:120
msgid "Add new participant"
msgstr "Adicionar um novo participante"
@@ -718,7 +737,7 @@ msgstr "Adicionar um novo participante"
#: core/templates/core/widget_customslide.html:25
#: mediafile/templates/mediafile/mediafile_list.html:41
#: mediafile/templates/mediafile/widget_pdfpresentation.html:41
-#: motion/templates/motion/motion_detail.html:142
+#: motion/templates/motion/motion_detail.html:145
#: motion/templates/motion/widget_motion.html:11
#: participant/templates/participant/widget_group.html:11
#: participant/templates/participant/widget_user.html:11
@@ -748,8 +767,8 @@ msgstr "Próximo orador"
msgid "Go to current list of speakers"
msgstr "Ir para a lista actual de oradores"
-#: assignment/forms.py:14 assignment/models.py:56 assignment/views.py:353
-#: assignment/templates/assignment/assignment_detail.html:296
+#: assignment/forms.py:14 assignment/models.py:57 assignment/views.py:350
+#: assignment/templates/assignment/assignment_detail.html:301
#: assignment/templates/assignment/slide.html:11
msgid "Number of available posts"
msgstr "Número de posts disponíveis"
@@ -759,61 +778,61 @@ msgid "Nominate a participant"
msgstr "Nomear um participante"
#: assignment/main_menu.py:12 assignment/signals.py:75
-#: assignment/signals.py:93 assignment/views.py:308 assignment/widgets.py:15
+#: assignment/signals.py:93 assignment/views.py:302 assignment/widgets.py:15
#: assignment/templates/assignment/assignment_list.html:7
#: assignment/templates/assignment/assignment_list.html:19
msgid "Elections"
msgstr "Eleições"
-#: assignment/models.py:49
-#: assignment/templates/assignment/assignment_detail.html:306
+#: assignment/models.py:50
+#: assignment/templates/assignment/assignment_detail.html:311
msgid "Searching for candidates"
msgstr "A procurar candidatos"
-#: assignment/models.py:50
-#: assignment/templates/assignment/assignment_detail.html:309
+#: assignment/models.py:51
+#: assignment/templates/assignment/assignment_detail.html:314
msgid "Voting"
msgstr "Votação"
-#: assignment/models.py:51
-#: assignment/templates/assignment/assignment_detail.html:312
+#: assignment/models.py:52
+#: assignment/templates/assignment/assignment_detail.html:317
msgid "Finished"
msgstr "Concluído"
-#: assignment/models.py:54 participant/templates/participant/overview.html:50
+#: assignment/models.py:55 participant/templates/participant/overview.html:50
msgid "Name"
msgstr "Nome"
-#: assignment/models.py:55
-#: assignment/templates/assignment/assignment_detail.html:56
+#: assignment/models.py:56
+#: assignment/templates/assignment/assignment_detail.html:61
#: participant/models.py:123
msgid "Description"
msgstr "Descrição"
-#: assignment/models.py:59
+#: assignment/models.py:60
msgid "Default comment on the ballot paper"
msgstr "Comentário predefinido no boletim de voto"
-#: assignment/models.py:64
+#: assignment/models.py:66
msgid "Can see elections"
msgstr "Pode ver as eleições"
-#: assignment/models.py:65
+#: assignment/models.py:67
msgid "Can nominate another person"
msgstr "Pode nomear outra pessoa"
-#: assignment/models.py:66
+#: assignment/models.py:68
msgid "Can nominate oneself"
msgstr "Pode nomear a si mesmo"
-#: assignment/models.py:67
+#: assignment/models.py:69
msgid "Can manage elections"
msgstr "Pode gerir as eleições"
-#: assignment/models.py:70 assignment/views.py:512 assignment/views.py:529
+#: assignment/models.py:72 assignment/views.py:497 assignment/views.py:514
#: assignment/templates/assignment/assignment_detail.html:8
#: assignment/templates/assignment/assignment_detail.html:19
-#: assignment/templates/assignment/assignment_list.html:33
+#: assignment/templates/assignment/assignment_list.html:39
#: assignment/templates/assignment/assignmentpoll_form.html:7
#: assignment/templates/assignment/assignmentpoll_slide.html:10
#: assignment/templates/assignment/slide.html:18
@@ -821,53 +840,53 @@ msgstr "Pode gerir as eleições"
msgid "Election"
msgstr "Eleição"
-#: assignment/models.py:95
+#: assignment/models.py:97
#, python-format
msgid "%s is not a valid status."
msgstr "%s não é um status válido."
-#: assignment/models.py:98
+#: assignment/models.py:100
#, python-format
msgid "The election status is already %s."
msgstr "O estado da eleição já é %s."
-#: assignment/models.py:111
+#: assignment/models.py:113
#, python-format
msgid "%s is already a candidate."
msgstr "%s já é candidato."
-#: assignment/models.py:113 assignment/views.py:152
+#: assignment/models.py:115 assignment/views.py:149
msgid "The candidate list is already closed."
msgstr "A lista de candidatos já está encerrada."
-#: assignment/models.py:120
+#: assignment/models.py:122
#, python-format
msgid "%s does not want to be a candidate."
msgstr "%s não quer ser candidato."
-#: assignment/models.py:134
+#: assignment/models.py:136
#, python-format
msgid "%s is no candidate"
msgstr "%s não é candidato"
-#: assignment/models.py:280 assignment/views.py:305
+#: assignment/models.py:282 assignment/views.py:299
msgid "Assignment"
msgstr "Tarefa"
-#: assignment/models.py:307
+#: assignment/models.py:309
msgid "Comment on the ballot paper"
msgstr "Comenta sobre o boletim de voto"
-#: assignment/models.py:310
+#: assignment/models.py:312
#, python-format
msgid "Ballot %d"
msgstr "Votação %d"
-#: assignment/models.py:334 motion/models.py:712
+#: assignment/models.py:336 motion/models.py:749
msgid "Abstain"
msgstr "Abster"
-#: assignment/models.py:336 motion/templates/motion/motionpoll_form.html:45
+#: assignment/models.py:338 motion/templates/motion/motionpoll_form.html:45
msgid "Votes"
msgstr "Votos"
@@ -895,23 +914,23 @@ msgstr "Sempre Sim-Não-Abstenção por candidato"
msgid "The 100 % base of an election result consists of"
msgstr "A base de 100% de um resultado eleitoral consiste em"
-#: assignment/signals.py:44 motion/signals.py:104
+#: assignment/signals.py:44 motion/signals.py:123
msgid "Number of ballot papers (selection)"
msgstr "Número de boletins de voto (selecção)"
-#: assignment/signals.py:46 motion/signals.py:106
+#: assignment/signals.py:46 motion/signals.py:125
msgid "Number of all delegates"
msgstr "Número de todos os delegados"
-#: assignment/signals.py:47 motion/signals.py:107
+#: assignment/signals.py:47 motion/signals.py:126
msgid "Number of all participants"
msgstr "Número de todos os participantes"
-#: assignment/signals.py:48 motion/signals.py:108
+#: assignment/signals.py:48 motion/signals.py:127
msgid "Use the following custom number"
msgstr "Usa o seguinte número personalizado"
-#: assignment/signals.py:56 motion/signals.py:116
+#: assignment/signals.py:56 motion/signals.py:135
msgid "Custom number of ballot papers"
msgstr "Número personalizado de boletins de voto"
@@ -931,110 +950,106 @@ msgstr "Título para o documento PDF (todas as eleições)"
msgid "Preamble text for PDF document (all elections)"
msgstr "Texto preâmbulo para o documento PDF (todas as eleições)"
-#: assignment/signals.py:89 motion/signals.py:144 participant/signals.py:97
+#: assignment/signals.py:89 motion/signals.py:163 participant/signals.py:97
msgid "PDF"
msgstr "PDF"
-#: assignment/views.py:75
+#: assignment/views.py:74
#, python-format
msgid "Candidate %s was nominated successfully."
msgstr "O candidato %s foi nomeado com sucesso."
-#: assignment/views.py:114
+#: assignment/views.py:112
#, python-format
msgid "Election status was set to: %s."
msgstr "O estado da eleição foi definido como: %s."
-#: assignment/views.py:131
+#: assignment/views.py:129
msgid "You have set your candidature successfully."
msgstr "Definiste a tua candidatura com sucesso."
-#: assignment/views.py:149
+#: assignment/views.py:146
msgid ""
"You have withdrawn your candidature successfully. You can not be nominated "
"by other participants anymore."
msgstr "Retiraste a tua candidatura com sucesso. Não podes ser nomeado mais por outros participantes."
-#: assignment/views.py:162
+#: assignment/views.py:159
#, python-format
msgid "Do you really want to withdraw %s from the election?"
msgstr "Queres realmente retirar %s da eleição?"
-#: assignment/views.py:164
+#: assignment/views.py:161
#, python-format
msgid "Do you really want to unblock %s for the election?"
msgstr "Queres realmente desbloquear %s para a eleição?"
-#: assignment/views.py:183
+#: assignment/views.py:180
#, python-format
msgid "Candidate %s was withdrawn successfully."
msgstr "O candidato %s foi retirado com sucesso."
-#: assignment/views.py:185
+#: assignment/views.py:182
#, python-format
msgid "%s was unblocked successfully."
msgstr "%s foi desbloqueado com sucesso."
-#: assignment/views.py:202
+#: assignment/views.py:197
msgid "New ballot was successfully created."
msgstr "Nova votação foi criada com sucesso."
-#: assignment/views.py:238
+#: assignment/views.py:233
#, python-format
msgid "Ballot ID %d does not exist."
msgstr "Votação ID %d não existe."
-#: assignment/views.py:263
+#: assignment/views.py:257
msgid "not elected"
msgstr "não eleito"
-#: assignment/views.py:267 assignment/views.py:476
-#: assignment/templates/assignment/assignment_detail.html:76
+#: assignment/views.py:261 assignment/views.py:461
+#: assignment/templates/assignment/assignment_detail.html:81
msgid "elected"
msgstr "eleito"
-#: assignment/views.py:293
+#: assignment/views.py:287
msgid "Ballot was successfully deleted."
msgstr "Votação foi apagada com sucesso."
-#: assignment/views.py:328
+#: assignment/views.py:322
msgid "No assignments available."
msgstr "Nenhumas tarefas disponíveis"
-#: assignment/views.py:347
+#: assignment/views.py:341
#, python-format
msgid "Election: %s"
msgstr "Eleição: %s"
-#: assignment/views.py:360 assignment/views.py:396
-#: assignment/templates/assignment/assignment_detail.html:65
-#: assignment/templates/assignment/assignment_detail.html:149
-#: assignment/templates/assignment/assignment_list.html:34
-#: assignment/templates/assignment/assignment_list.html:48
+#: assignment/views.py:357 assignment/views.py:385
+#: assignment/templates/assignment/assignment_detail.html:70
+#: assignment/templates/assignment/assignment_detail.html:154
+#: assignment/templates/assignment/assignment_list.html:40
+#: assignment/templates/assignment/assignment_list.html:60
#: assignment/templates/assignment/assignmentpoll_form.html:44
#: assignment/templates/assignment/slide.html:29
msgid "Candidates"
msgstr "Candidatos"
-#: assignment/views.py:385
-#: assignment/templates/assignment/assignment_detail.html:145
+#: assignment/views.py:381
+#: assignment/templates/assignment/assignment_detail.html:150
#: assignment/templates/assignment/assignmentpoll_form.html:26
msgid "Election result"
msgstr "Resultado de eleição"
-#: assignment/views.py:389
-#: assignment/templates/assignment/assignment_detail.html:153
+#: assignment/views.py:387
+#: assignment/templates/assignment/assignment_detail.html:158
#: assignment/templates/assignment/assignmentpoll_form.html:7
#: assignment/templates/assignment/assignmentpoll_form.html:13
#: assignment/templates/assignment/assignmentpoll_slide.html:11
msgid "ballot"
msgstr "votação"
-#: assignment/views.py:392
-msgid "ballots"
-msgstr "votações"
-
-#: assignment/views.py:417
+#: assignment/views.py:406
#, python-format
msgid ""
"Y: %(YES)s\n"
@@ -1042,78 +1057,77 @@ msgid ""
"A: %(ABSTAIN)s"
msgstr "S: %(YES)s⏎ N: %(NO)s⏎ A: %(ABSTAIN)s"
-#: assignment/views.py:428
-#: assignment/templates/assignment/assignment_detail.html:229
+#: assignment/views.py:417
#: assignment/templates/assignment/assignment_detail.html:234
+#: assignment/templates/assignment/assignment_detail.html:239
#: assignment/templates/assignment/assignmentpoll_form.html:61
#: assignment/templates/assignment/assignmentpoll_slide.html:39
-#: motion/pdf.py:119 motion/templates/motion/motion_detail.html:234
+#: motion/pdf.py:118 motion/templates/motion/motion_detail.html:239
#: motion/templates/motion/motionpoll_form.html:54
#: motion/templates/motion/motionpoll_slide.html:33
#: motion/templates/motion/slide.html:29 poll/models.py:84
msgid "Valid votes"
msgstr "Votos válidos"
-#: assignment/views.py:439
-#: assignment/templates/assignment/assignment_detail.html:245
+#: assignment/views.py:428
#: assignment/templates/assignment/assignment_detail.html:250
+#: assignment/templates/assignment/assignment_detail.html:255
#: assignment/templates/assignment/assignmentpoll_form.html:71
#: assignment/templates/assignment/assignmentpoll_slide.html:45
-#: motion/pdf.py:121 motion/templates/motion/motion_detail.html:237
+#: motion/pdf.py:120 motion/templates/motion/motion_detail.html:242
#: motion/templates/motion/motionpoll_form.html:58
#: motion/templates/motion/motionpoll_slide.html:39
#: motion/templates/motion/slide.html:32 poll/models.py:86
msgid "Invalid votes"
msgstr "Votos inválidos"
-#: assignment/views.py:450
-#: assignment/templates/assignment/assignment_detail.html:261
+#: assignment/views.py:439
#: assignment/templates/assignment/assignment_detail.html:266
+#: assignment/templates/assignment/assignment_detail.html:271
#: assignment/templates/assignment/assignmentpoll_form.html:81
#: assignment/templates/assignment/assignmentpoll_slide.html:51
-#: motion/pdf.py:123 motion/templates/motion/motion_detail.html:242
+#: motion/pdf.py:122 motion/templates/motion/motion_detail.html:247
#: motion/templates/motion/motionpoll_form.html:62
#: motion/templates/motion/motionpoll_slide.html:45
#: motion/templates/motion/slide.html:37 poll/models.py:88
msgid "Votes cast"
msgstr "Votos emitidos"
-#: assignment/views.py:536
+#: assignment/views.py:521
#, python-format
msgid "%d. ballot"
msgstr "%d. voto"
-#: assignment/views.py:538
+#: assignment/views.py:523
#, python-format
msgid "%d candidate"
msgid_plural "%d candidates"
msgstr[0] "one: %d candidato"
msgstr[1] "other: %d candidatos"
-#: assignment/views.py:540
+#: assignment/views.py:525
#, python-format
msgid "%d available post"
msgid_plural "%d available posts"
msgstr[0] "one: %d publicação disponível"
msgstr[1] "other: %d publicações disponíveis"
-#: assignment/views.py:590
-#: assignment/templates/assignment/assignment_detail.html:213
+#: assignment/views.py:575
+#: assignment/templates/assignment/assignment_detail.html:218
#: assignment/templates/assignment/assignmentpoll_slide.html:28
-#: motion/pdf.py:129 motion/pdf.py:278
-#: motion/templates/motion/motion_detail.html:230
+#: motion/pdf.py:128 motion/pdf.py:277
+#: motion/templates/motion/motion_detail.html:235
#: motion/templates/motion/motionpoll_slide.html:28
#: motion/templates/motion/slide.html:25
msgid "Abstention"
msgstr "Abstenção"
#: assignment/templates/assignment/assignment_detail.html:22
-#: assignment/templates/assignment/assignment_list.html:74
msgid "Print election as PDF"
msgstr "Imprimir eleição como PDF"
#: assignment/templates/assignment/assignment_detail.html:27
-#: assignment/templates/assignment/assignment_list.html:59
+#: assignment/templates/assignment/assignment_list.html:72
#: assignment/templates/assignment/assignmentpoll_form.html:21
msgid "Show election"
msgstr "Mostrar eleição"
@@ -1129,88 +1143,88 @@ msgid "Delete election"
msgstr "Apagar eleição"
#: assignment/templates/assignment/assignment_detail.html:45
-#: motion/templates/motion/motion_detail.html:63
+#: motion/templates/motion/motion_detail.html:66
msgid "New agenda item"
msgstr "Novo item de agenda"
-#: assignment/templates/assignment/assignment_detail.html:72
-#: assignment/templates/assignment/assignment_detail.html:132
+#: assignment/templates/assignment/assignment_detail.html:77
+#: assignment/templates/assignment/assignment_detail.html:137
msgid "Remove candidate"
msgstr "Remover o candidato"
-#: assignment/templates/assignment/assignment_detail.html:79
+#: assignment/templates/assignment/assignment_detail.html:84
msgid "Mark candidate as not elected"
msgstr "Marcar o candidato como não eleito"
-#: assignment/templates/assignment/assignment_detail.html:87
+#: assignment/templates/assignment/assignment_detail.html:92
#: assignment/templates/assignment/slide.html:35
msgid "No candidates available."
msgstr "Não há candidatos disponíveis."
-#: assignment/templates/assignment/assignment_detail.html:97
+#: assignment/templates/assignment/assignment_detail.html:102
msgid "Withdraw self candidature"
msgstr "Retirar auto candidatura"
-#: assignment/templates/assignment/assignment_detail.html:101
+#: assignment/templates/assignment/assignment_detail.html:106
msgid "Self candidature"
msgstr "Auto candidatura"
-#: assignment/templates/assignment/assignment_detail.html:126
+#: assignment/templates/assignment/assignment_detail.html:131
msgid "Blocked Candidates"
msgstr "Candidatos bloqueados"
-#: assignment/templates/assignment/assignment_detail.html:137
+#: assignment/templates/assignment/assignment_detail.html:142
msgid "No blocked candidates available."
msgstr "Não há candidatos bloqueados disponíveis."
-#: assignment/templates/assignment/assignment_detail.html:157
+#: assignment/templates/assignment/assignment_detail.html:162
msgid "Publish result"
msgstr "Publicar resultado"
-#: assignment/templates/assignment/assignment_detail.html:168
+#: assignment/templates/assignment/assignment_detail.html:173
#: assignment/templates/assignment/assignmentpoll_form.html:25
msgid "Show election result"
msgstr "Mostrar resultado de eleição"
-#: assignment/templates/assignment/assignment_detail.html:171
+#: assignment/templates/assignment/assignment_detail.html:176
#: assignment/templates/assignment/assignmentpoll_form.html:96
-#: motion/templates/motion/motion_detail.html:218
+#: motion/templates/motion/motion_detail.html:224
#: motion/templates/motion/motionpoll_form.html:72
msgid "Ballot paper as PDF"
msgstr "Boletim de voto como PDF"
-#: assignment/templates/assignment/assignment_detail.html:183
-#: assignment/templates/assignment/assignment_detail.html:282
+#: assignment/templates/assignment/assignment_detail.html:188
+#: assignment/templates/assignment/assignment_detail.html:287
msgid "New ballot"
msgstr "Nova votação"
-#: assignment/templates/assignment/assignment_detail.html:194
-#: assignment/templates/assignment/assignment_detail.html:203
+#: assignment/templates/assignment/assignment_detail.html:199
+#: assignment/templates/assignment/assignment_detail.html:208
msgid "Mark candidate as elected"
msgstr "Marcar candidato como eleito"
-#: assignment/templates/assignment/assignment_detail.html:197
+#: assignment/templates/assignment/assignment_detail.html:202
msgid "Candidate is elected"
msgstr "Candidato foi eleito"
-#: assignment/templates/assignment/assignment_detail.html:217
+#: assignment/templates/assignment/assignment_detail.html:222
msgid "was not a
candidate"
msgstr "não era um candidato
"
-#: assignment/templates/assignment/assignment_detail.html:278
+#: assignment/templates/assignment/assignment_detail.html:283
msgid "No ballots available."
msgstr "Não há votações disponíveis."
-#: assignment/templates/assignment/assignment_detail.html:293
-#: assignment/templates/assignment/assignment_list.html:35
+#: assignment/templates/assignment/assignment_detail.html:298
+#: assignment/templates/assignment/assignment_list.html:41
#: assignment/templates/assignment/slide.html:9
-#: motion/templates/motion/motion_detail.html:203
-#: motion/templates/motion/motion_list.html:53
+#: motion/templates/motion/motion_detail.html:206
+#: motion/templates/motion/motion_list.html:62
#: motion/templates/motion/slide.html:8
msgid "Status"
msgstr "Status"
-#: assignment/templates/assignment/assignment_detail.html:302
+#: assignment/templates/assignment/assignment_detail.html:307
msgid "Change status"
msgstr "Alterar o status"
@@ -1225,16 +1239,16 @@ msgstr "Nova eleição"
msgid "Back to election"
msgstr "Voltar à eleição"
-#: assignment/templates/assignment/assignment_list.html:25
+#: assignment/templates/assignment/assignment_list.html:31
msgid "Print all elections as PDF"
msgstr "Imprimir todas as eleições como PDF"
-#: assignment/templates/assignment/assignment_list.html:44
+#: assignment/templates/assignment/assignment_list.html:56
msgctxt "Number of searched candidates for an election"
msgid "Posts"
msgstr "Publicações"
-#: assignment/templates/assignment/assignment_list.html:51
+#: assignment/templates/assignment/assignment_list.html:63
msgid "Elected"
msgstr "Eleito"
@@ -1266,6 +1280,7 @@ msgstr "Breve descrição (por boletim de voto)"
#: core/templates/formbuttons_save.html:4
#: core/templates/formbuttons_saveapply.html:4
#: core/templates/core/select_widgets.html:28
+#: core/templates/core/tag_list.html:19
#: motion/templates/motion/motionpoll_form.html:78
msgid "Save"
msgstr "Gravar"
@@ -1323,6 +1338,14 @@ msgstr "Pode ver o painel de instrumentos"
msgid "Can use the chat"
msgstr "Pode usar o chat"
+#: core/models.py:49 core/templates/core/tag_list.html:24
+msgid "Tag"
+msgstr "Tag"
+
+#: core/models.py:54
+msgid "Can manage tags"
+msgstr "Pode gerir as tags"
+
#: core/signals.py:26
msgid "Event name"
msgstr "Nome do evento"
@@ -1417,31 +1440,31 @@ msgstr "Sistema"
msgid "General"
msgstr "Geral"
-#: core/views.py:81
+#: core/views.py:83
msgid "There are errors in the form."
msgstr "Há erros no formulário"
-#: core/views.py:167
+#: core/views.py:169
msgid "Forbidden"
msgstr "Proibido"
-#: core/views.py:168
+#: core/views.py:170
msgid "Sorry, you have no permission to see this page."
msgstr "Desculpa, não tens permissão para ver esta página."
-#: core/views.py:170
+#: core/views.py:172
msgid "Not Found"
msgstr "Não encontrado"
-#: core/views.py:171
+#: core/views.py:173
msgid "Sorry, the requested page could not be found."
msgstr "Desculpa, a página solicitada não pôde ser encontrada."
-#: core/views.py:173
+#: core/views.py:175
msgid "Internal Server Error"
msgstr "Erro Interno de Servidor"
-#: core/views.py:174
+#: core/views.py:176
msgid "Sorry, there was an unknown error. Please contact the event manager."
msgstr "Desculpa, houve um erro desconhecido. Entra em contacto com o gerente do evento."
@@ -1449,38 +1472,38 @@ msgstr "Desculpa, houve um erro desconhecido. Entra em contacto com o gerente do
msgid "Custom Slides"
msgstr "Slides personalizados"
-#: core/templates/base.html:29
+#: core/templates/base.html:30
msgid "Home"
msgstr "Casa"
-#: core/templates/base.html:29
+#: core/templates/base.html:30
msgid "Logo"
msgstr "Logótipo"
-#: core/templates/base.html:36 core/templates/core/search.html:5
+#: core/templates/base.html:37 core/templates/core/search.html:5
#: core/templates/core/search.html.py:13 core/templates/core/search.html:16
msgid "Search"
msgstr "Pesquisar"
-#: core/templates/base.html:45
+#: core/templates/base.html:46
msgid "Chat"
msgstr "Chat"
-#: core/templates/base.html:59
+#: core/templates/base.html:60
#: participant/templates/participant/settings.html:5
#: participant/templates/participant/settings.html:8
msgid "Edit profile"
msgstr "Editar perfil"
-#: core/templates/base.html:60
+#: core/templates/base.html:61
msgid "Change password"
msgstr "Alterar senha"
-#: core/templates/base.html:62
+#: core/templates/base.html:63
msgid "Logout"
msgstr "Logout"
-#: core/templates/base.html:65 participant/templates/participant/login.html:6
+#: core/templates/base.html:66 participant/templates/participant/login.html:6
#: participant/templates/participant/login.html:43
msgid "Login"
msgstr "Login"
@@ -1519,13 +1542,21 @@ msgstr "Seleccionar widgets"
msgid "No widgets available"
msgstr "Sem widgets disponíveis"
+#: core/templates/core/tag_list.html:17
+msgid "Enter new tag name"
+msgstr "Insira o novo nome da tag"
+
+#: core/templates/core/tag_list.html:56
+msgid "You can use these tags for agenda items, motions and elections."
+msgstr "Podes usar essas tags para itens da agenda, moções e eleições."
+
#: core/templates/core/version.html:5 core/templates/core/version.html.py:8
-#: core/templates/core/version.html:16 motion/pdf.py:95 motion/views.py:363
+#: core/templates/core/version.html:16 motion/pdf.py:94 motion/views.py:443
#: motion/templates/motion/motion_detail.html:22
#: motion/templates/motion/motion_diff.html:35
#: motion/templates/motion/motion_diff.html:39
#: motion/templates/motion/motionpoll_slide.html:10
-#: motion/templates/motion/slide.html:70
+#: motion/templates/motion/slide.html:83
msgid "Version"
msgstr "Versão"
@@ -1666,7 +1697,7 @@ msgstr "Submissor desconhecido. Submissor predefinido é usado"
msgid "Motion imported"
msgstr "Moção importada"
-#: motion/csv_import.py:123 participant/csv_import.py:83
+#: motion/csv_import.py:123 participant/csv_import.py:81
msgid "Errors"
msgstr "Erros"
@@ -1683,169 +1714,170 @@ msgstr "Sumário"
msgid "%(counts)d of %(total)d motions successfully imported."
msgstr "%(counts)d de %(total)d moções importadas com sucesso."
-#: motion/forms.py:39 motion/models.py:542 motion/pdf.py:152
-#: motion/templates/motion/motion_detail.html:94
+#: motion/forms.py:38 motion/models.py:579 motion/pdf.py:151
+#: motion/templates/motion/motion_detail.html:97
#: motion/templates/motion/motion_diff.html:54
-#: motion/templates/motion/slide.html:77
+#: motion/templates/motion/slide.html:94
msgid "Reason"
msgstr "Razão"
-#: motion/forms.py:47 motion/templates/motion/motion_detail.html:101
+#: motion/forms.py:46 motion/templates/motion/motion_detail.html:104
msgid "Attachments"
msgstr "Anexos"
-#: motion/forms.py:77 motion/pdf.py:49
-#: motion/templates/motion/motion_detail.html:183
-#: motion/templates/motion/motion_list.html:54
+#: motion/forms.py:80 motion/pdf.py:48
+#: motion/templates/motion/motion_detail.html:186
+#: motion/templates/motion/motion_list.html:63
#: motion/templates/motion/slide.html:51
msgid "Submitter"
msgstr "Submissor"
-#: motion/forms.py:92 motion/pdf.py:74 motion/signals.py:86
-#: motion/templates/motion/motion_detail.html:190
-#: motion/templates/motion/motion_list.html:56
+#: motion/forms.py:95 motion/pdf.py:73 motion/signals.py:105
+#: motion/templates/motion/motion_detail.html:193
+#: motion/templates/motion/motion_list.html:65
+#: motion/templates/motion/slide.html:61
msgid "Supporters"
msgstr "Apoiantes"
-#: motion/forms.py:107
+#: motion/forms.py:110
msgid "Don't create a new version"
msgstr "Não cries uma nova versão"
-#: motion/forms.py:108
+#: motion/forms.py:111
msgid "Don't create a new version. Useful e.g. for trivial changes."
msgstr "Não cries uma nova versão. Útil, por exemplo, para modificações triviais."
-#: motion/forms.py:121 motion/templates/motion/motion_detail.html:265
-#: motion/templates/motion/motion_list.html:52
-#: motion/templates/motion/slide.html:60
+#: motion/forms.py:124 motion/templates/motion/motion_detail.html:272
+#: motion/templates/motion/motion_list.html:61
+#: motion/templates/motion/slide.html:70
msgid "Category"
msgstr "Categoria"
-#: motion/forms.py:141 motion/signals.py:36
+#: motion/forms.py:144 motion/signals.py:36
msgid "Identifier"
msgstr "Identificador"
-#: motion/forms.py:156
+#: motion/forms.py:159
msgid "Workflow"
msgstr "Fluxo de Trabalho"
-#: motion/forms.py:157
+#: motion/forms.py:160
msgid ""
"Set a specific workflow to switch to it. If you do so, the state of the "
"motion will be reset."
msgstr "Define um fluxo de trabalho específico para mudar para ele. Se fizeres isso, o estado da moção será reiniciado."
-#: motion/forms.py:167
+#: motion/forms.py:170
msgid "Override existing motions with the same identifier"
msgstr "Substituir moções existentes com o mesmo identificador"
-#: motion/forms.py:168
+#: motion/forms.py:171
msgid ""
"If this is active, every motion with the same identifier as in your csv file"
" will be overridden."
msgstr "Se isto estiver activo, cada moção com o mesmo identificador, como no teu ficheiro csv será substituído."
-#: motion/forms.py:176
+#: motion/forms.py:179
msgid "Default submitter"
msgstr "Submissor predefinido"
-#: motion/forms.py:177
+#: motion/forms.py:180
msgid ""
"This person is used as submitter for any line of your csv file which does "
"not contain valid submitter data."
msgstr "Esta pessoa é usada como submissor para qualquer linha do teu ficheiro csv que não contenha dados válidos de submissor."
-#: motion/main_menu.py:12 motion/signals.py:124 motion/views.py:715
+#: motion/main_menu.py:12 motion/signals.py:143 motion/views.py:776
#: motion/widgets.py:15 motion/templates/motion/category_list.html:6
#: motion/templates/motion/motion_list.html:7
#: motion/templates/motion/motion_list.html:32
msgid "Motions"
msgstr "Moções"
-#: motion/models.py:79
+#: motion/models.py:89
msgid "Can see motions"
msgstr "Pode ver moções"
-#: motion/models.py:80
+#: motion/models.py:90
msgid "Can create motions"
msgstr "Pode criar moções"
-#: motion/models.py:81
+#: motion/models.py:91
msgid "Can support motions"
msgstr "Pode apoiar moções"
-#: motion/models.py:82
+#: motion/models.py:92
msgid "Can manage motions"
msgstr "Pode gerir moções"
-#: motion/models.py:85 motion/models.py:470 motion/pdf.py:42 motion/pdf.py:262
-#: motion/signals.py:148 motion/views.py:289 motion/views.py:612
-#: motion/views.py:722 motion/templates/motion/motion_detail.html:8
+#: motion/models.py:95 motion/models.py:492 motion/pdf.py:41 motion/pdf.py:261
+#: motion/signals.py:167 motion/views.py:370 motion/views.py:672
+#: motion/views.py:783 motion/templates/motion/motion_detail.html:8
#: motion/templates/motion/motion_detail.html:20
#: motion/templates/motion/motion_diff.html:6
#: motion/templates/motion/motion_diff.html:19
#: motion/templates/motion/motionpoll_form.html:7
#: motion/templates/motion/motionpoll_form.html:15
#: motion/templates/motion/motionpoll_slide.html:9
-#: motion/templates/motion/slide.html:69
+#: motion/templates/motion/slide.html:79
#: motion/templates/search/motion-results.html:7
msgid "Motion"
msgstr "Moção"
-#: motion/models.py:556
+#: motion/models.py:593
msgid "new"
msgstr "novo"
-#: motion/models.py:613 motion/templates/motion/category_list.html:22
+#: motion/models.py:650 motion/templates/motion/category_list.html:22
msgid "Category name"
msgstr "Nome de categoria"
-#: motion/models.py:616 motion/templates/motion/category_list.html:21
+#: motion/models.py:653 motion/templates/motion/category_list.html:21
msgid "Prefix"
msgstr "Prefixo"
-#: motion/models.py:671
+#: motion/models.py:708
#, python-format
msgid "%(time_and_messages)s by %(person)s"
msgstr "%(time_and_messages)s por %(person)s"
-#: motion/models.py:726
+#: motion/models.py:763
#, python-format
msgid "Vote %d"
msgstr "Votar %d"
-#: motion/pdf.py:63
+#: motion/pdf.py:62
msgid "Signature"
msgstr "Assinatura"
-#: motion/pdf.py:85
+#: motion/pdf.py:84
msgid "State"
msgstr "Estado"
-#: motion/pdf.py:111 motion/templates/motion/motion_detail.html:208
+#: motion/pdf.py:110 motion/templates/motion/motion_detail.html:211
#: motion/templates/motion/motionpoll_form.html:27
msgid "Vote result"
msgstr "Resultado de voto"
-#: motion/pdf.py:125 motion/templates/motion/slide.html:17
+#: motion/pdf.py:124 motion/templates/motion/slide.html:17
msgid "Vote"
msgstr "Voto"
-#: motion/pdf.py:249 motion/templates/motion/category_list.html:10
-#: motion/templates/motion/motion_list.html:40
+#: motion/pdf.py:248 motion/templates/motion/category_list.html:10
+#: motion/templates/motion/motion_list.html:48
msgid "Categories"
msgstr "Categorias"
-#: motion/pdf.py:256 motion/templates/motion/widget_motion.html:29
+#: motion/pdf.py:255 motion/templates/motion/widget_motion.html:29
msgid "No motions available."
msgstr "Não há moções disponíveis."
-#: motion/pdf.py:269
+#: motion/pdf.py:268
#, python-format
msgid "Motion No. %s"
msgstr "Moção Nº. %s"
-#: motion/pdf.py:271
+#: motion/pdf.py:270
#, python-format
msgid "%d. Vote"
msgstr "%d. Voto"
@@ -1890,245 +1922,262 @@ msgstr "Parar a submissão de novas moções por utilizadores não-staff"
msgid "Allow to disable versioning"
msgstr "Permitir desactivar versões"
-#: motion/signals.py:76
+#: motion/signals.py:75
+msgid "Activate amendments"
+msgstr "Activar emendas"
+
+#: motion/signals.py:80
+msgctxt "Prefix for the identifier for amendments"
+msgid "A"
+msgstr "E"
+
+#: motion/signals.py:83
+msgid "Prefix for the identifier for amendments"
+msgstr "Prefixo para o identificador para emendas"
+
+#: motion/signals.py:86 motion/templates/motion/motion_detail.html:295
+msgid "Amendments"
+msgstr "Emendas"
+
+#: motion/signals.py:95
msgid "Number of (minimum) required supporters for a motion"
msgstr "Número (mínimo) de apoiantes exigidos para uma moção"
-#: motion/signals.py:78
+#: motion/signals.py:97
msgid "Choose 0 to disable the supporting system."
msgstr "Escolhe 0 para desactivar o sistema de apoio."
-#: motion/signals.py:83
+#: motion/signals.py:102
msgid ""
"Remove all supporters of a motion if a submitter edits his motion in early "
"state"
msgstr "Remove todos os apoiantes de uma moção, se um submissor editar a sua moção no estado inicial"
-#: motion/signals.py:96
+#: motion/signals.py:115
msgid "The 100 % base of a voting result consists of"
msgstr "A base de 100% de um resultado de votação consiste em"
-#: motion/signals.py:118
+#: motion/signals.py:137
msgid "Voting and ballot papers"
msgstr "Votação e boletins de voto"
-#: motion/signals.py:129
+#: motion/signals.py:148
msgid "Title for PDF document (all motions)"
msgstr "Título para o documento PDF (todas as moções)"
-#: motion/signals.py:136
+#: motion/signals.py:155
msgid "Preamble text for PDF document (all motions)"
msgstr "Texto preâmbulo para o documento PDF (todas as moções)"
-#: motion/signals.py:141
+#: motion/signals.py:160
msgid "Show paragraph numbering (only in PDF)"
msgstr "Mostrar a numeração de parágrafos (apenas em PDF)"
-#: motion/signals.py:159
+#: motion/signals.py:179
msgid "Simple Workflow"
msgstr "Fluxo de Trabalho simples"
-#: motion/signals.py:161
+#: motion/signals.py:181
msgid "submitted"
msgstr "submetido"
-#: motion/signals.py:166 motion/signals.py:193
+#: motion/signals.py:186 motion/signals.py:213
msgid "accepted"
msgstr "aceite"
-#: motion/signals.py:168 motion/signals.py:195
+#: motion/signals.py:188 motion/signals.py:215
msgid "Accept"
msgstr "Aceitar"
-#: motion/signals.py:169 motion/signals.py:197
+#: motion/signals.py:189 motion/signals.py:217
msgid "rejected"
msgstr "rejeitado"
-#: motion/signals.py:171 motion/signals.py:199
+#: motion/signals.py:191 motion/signals.py:219
msgid "Reject"
msgstr "Rejeitar"
-#: motion/signals.py:172
+#: motion/signals.py:192
msgid "not decided"
msgstr "não decidido"
-#: motion/signals.py:174
+#: motion/signals.py:194
msgid "Do not decide"
msgstr "Não decidir"
-#: motion/signals.py:179
+#: motion/signals.py:199
msgid "Complex Workflow"
msgstr "Fluxo de Trabalho complexo"
-#: motion/signals.py:181
+#: motion/signals.py:201
msgid "published"
msgstr "publicado"
-#: motion/signals.py:186 motion/views.py:365
+#: motion/signals.py:206 motion/views.py:445
msgid "permitted"
msgstr "permitido"
-#: motion/signals.py:188
+#: motion/signals.py:208
msgid "Permit"
msgstr "Permitir"
-#: motion/signals.py:201
+#: motion/signals.py:221
msgid "withdrawed"
msgstr "retirado"
-#: motion/signals.py:203
+#: motion/signals.py:223
msgid "Withdraw"
msgstr "Retirar"
-#: motion/signals.py:205
+#: motion/signals.py:225
msgid "adjourned"
msgstr "adiado"
-#: motion/signals.py:207
+#: motion/signals.py:227
msgid "Adjourn"
msgstr "Adiar"
-#: motion/signals.py:209
+#: motion/signals.py:229
msgid "not concerned"
msgstr "não preocupado"
-#: motion/signals.py:211
+#: motion/signals.py:231
msgid "Do not concern"
msgstr "Não preocupar-se"
-#: motion/signals.py:213
+#: motion/signals.py:233
msgid "commited a bill"
msgstr "Enviou uma lei"
-#: motion/signals.py:215
+#: motion/signals.py:235
msgid "Commit a bill"
msgstr "Enviar uma lei"
-#: motion/signals.py:217
+#: motion/signals.py:237
msgid "needs review"
msgstr "necessita de revisão"
-#: motion/signals.py:219
+#: motion/signals.py:239
msgid "Needs review"
msgstr "Necessita de revisão"
-#: motion/signals.py:221
+#: motion/signals.py:241
msgid "rejected (not authorized)"
msgstr "Rejeitado (não autorizado)"
-#: motion/signals.py:223
+#: motion/signals.py:243
msgid "Reject (not authorized)"
msgstr "Rejeitar (não autorizado)"
-#: motion/views.py:183
+#: motion/views.py:214
msgid "Motion created"
msgstr "Moção criada"
-#: motion/views.py:228
+#: motion/views.py:311
msgid "All supporters removed"
msgstr "Todos os apoiantes removidos"
-#: motion/views.py:242
+#: motion/views.py:325
msgid "Motion version"
msgstr "Versão da moção"
-#: motion/views.py:244
+#: motion/views.py:327
msgid "created"
msgstr "criado"
-#: motion/views.py:244
+#: motion/views.py:327
msgid "updated"
msgstr "actualizado"
-#: motion/views.py:289 utils/views.py:525
+#: motion/views.py:370 utils/views.py:554
#, python-format
msgid "%s was successfully deleted."
msgstr "%s foi apagada com sucesso."
-#: motion/views.py:328
+#: motion/views.py:409
msgid "Version successfully permitted."
msgstr "Versão permitida com sucesso."
-#: motion/views.py:354
+#: motion/views.py:434
#, python-format
msgid "Are you sure you want permit version %s?"
msgstr "Tens a certeza que queres autorizar a versão %s?"
-#: motion/views.py:391
+#: motion/views.py:474
msgid "At least one version number is not valid."
msgstr "Pelo menos um número de versão não é válido."
-#: motion/views.py:434
+#: motion/views.py:508
msgid "You can not support this motion."
msgstr "Não podes apoiar esta moção."
-#: motion/views.py:437
+#: motion/views.py:511
msgid "You can not unsupport this motion."
msgstr "Não podes desapoiar esta moção."
-#: motion/views.py:447
+#: motion/views.py:521
msgid "Do you really want to support this motion?"
msgstr "Queres realmente apoiar esta moção?"
-#: motion/views.py:449
+#: motion/views.py:523
msgid "Do you really want to unsupport this motion?"
msgstr "Queres realmente desapoiar esta moção?"
-#: motion/views.py:462
+#: motion/views.py:536
msgid "Motion supported"
msgstr "Moção apoiada"
-#: motion/views.py:465
+#: motion/views.py:539
msgid "Motion unsupported"
msgstr "Moção não apoiada"
-#: motion/views.py:472
+#: motion/views.py:546
msgid "You have supported this motion successfully."
msgstr "Apoiaste esta moção com sucesso."
-#: motion/views.py:474
+#: motion/views.py:548
msgid "You have unsupported this motion successfully."
msgstr "Desapoiaste esta moção com sucesso."
-#: motion/views.py:500
+#: motion/views.py:564
msgid "Poll created"
msgstr "Poll criado"
-#: motion/views.py:501
+#: motion/views.py:565
msgid "New vote was successfully created."
msgstr "Voto novo criado com sucesso."
-#: motion/views.py:567
+#: motion/views.py:635
msgid "Poll updated"
msgstr "Votação actualizada"
-#: motion/views.py:585
+#: motion/views.py:651
msgid "Poll deleted"
msgstr "Sondagem eliminada"
-#: motion/views.py:612
+#: motion/views.py:672
msgid "Poll"
msgstr "Sondagem"
-#: motion/views.py:653
+#: motion/views.py:710
msgid "You can not set the state of the motion. It is already done."
msgstr "Não podes definir o estado da moção. Ele já está feito."
-#: motion/views.py:655
+#: motion/views.py:712
#, python-format
msgid "You can not set the state of the motion to %s."
msgstr "Não podes definir o estado da moção para %s."
-#: motion/views.py:662
+#: motion/views.py:719
msgid "State changed to"
msgstr "Estado modificado para"
-#: motion/views.py:665
+#: motion/views.py:722
#, python-format
msgid "The state of the motion was set to %s."
msgstr "O estado da moção foi definido para %s."
-#: motion/views.py:683
+#: motion/views.py:737
msgid "Agenda item created"
msgstr "Item de agenda criado"
@@ -2148,7 +2197,7 @@ msgid "No categories available."
msgstr "Sem categorias disponíveis"
#: motion/templates/motion/motion_detail.html:24
-#: motion/templates/motion/motion_detail.html:128
+#: motion/templates/motion/motion_detail.html:131
msgid "This version is authorized"
msgstr "Esta versão está autorizada"
@@ -2156,121 +2205,126 @@ msgstr "Esta versão está autorizada"
msgid "This version is not authorized."
msgstr "Esta versão não está autorizada"
-#: motion/templates/motion/motion_detail.html:37
+#: motion/templates/motion/motion_detail.html:33
+#: motion/templates/motion/slide.html:81
+msgid "Amendment of"
+msgstr "Emenda de"
+
+#: motion/templates/motion/motion_detail.html:40
msgid "Print motion as PDF"
msgstr "Imprimir moção como PDF"
-#: motion/templates/motion/motion_detail.html:41
-#: motion/templates/motion/motion_list.html:95
+#: motion/templates/motion/motion_detail.html:44
+#: motion/templates/motion/motion_list.html:118
#: motion/templates/motion/motionpoll_form.html:22
msgid "Show motion"
msgstr "Mostrar moção"
-#: motion/templates/motion/motion_detail.html:53
-#: motion/templates/motion/motion_form.html:33
-#: motion/templates/motion/motion_form.html:43
+#: motion/templates/motion/motion_detail.html:56
+#: motion/templates/motion/motion_form.html:15
+#: motion/templates/motion/motion_form.html:25
msgid "Edit motion"
msgstr "Editar moção"
-#: motion/templates/motion/motion_detail.html:58
+#: motion/templates/motion/motion_detail.html:61
msgid "Delete motion"
msgstr "Eliminar moção"
-#: motion/templates/motion/motion_detail.html:77
+#: motion/templates/motion/motion_detail.html:80
msgid "Go to the authorized version"
msgstr "Ir para a versão autorizada"
-#: motion/templates/motion/motion_detail.html:82
+#: motion/templates/motion/motion_detail.html:85
msgid "Go to the newest version"
msgstr "Ir para a versão mais recente"
-#: motion/templates/motion/motion_detail.html:89
+#: motion/templates/motion/motion_detail.html:92
msgid "Motion text"
msgstr "Texto da moção"
-#: motion/templates/motion/motion_detail.html:114
+#: motion/templates/motion/motion_detail.html:117
msgid "Version history"
msgstr "História das versões"
-#: motion/templates/motion/motion_detail.html:120
+#: motion/templates/motion/motion_detail.html:123
msgid "Time"
msgstr "Tempo"
-#: motion/templates/motion/motion_detail.html:121
+#: motion/templates/motion/motion_detail.html:124
msgid "Difference"
msgstr "Diferença"
-#: motion/templates/motion/motion_detail.html:131
+#: motion/templates/motion/motion_detail.html:134
msgid "Permit this version"
msgstr "Permitir esta versão"
-#: motion/templates/motion/motion_detail.html:165
+#: motion/templates/motion/motion_detail.html:168
msgid "Show log"
msgstr "Mostrar registo"
-#: motion/templates/motion/motion_detail.html:212
+#: motion/templates/motion/motion_detail.html:216
#: motion/templates/motion/motionpoll_slide.html:11
msgid "vote"
msgstr "votar"
-#: motion/templates/motion/motion_detail.html:215
+#: motion/templates/motion/motion_detail.html:221
#: motion/templates/motion/motionpoll_form.html:26
msgid "Show vote result"
msgstr "Mostrar resultado de voto"
-#: motion/templates/motion/motion_detail.html:220
+#: motion/templates/motion/motion_detail.html:226
msgid "Edit Vote"
msgstr "Editar voto"
-#: motion/templates/motion/motion_detail.html:222
+#: motion/templates/motion/motion_detail.html:228
#: motion/templates/motion/motionpoll_form.html:31
msgid "Delete Vote"
msgstr "Eliminar voto"
-#: motion/templates/motion/motion_detail.html:248
+#: motion/templates/motion/motion_detail.html:252
msgid "No result"
msgstr "Nenhum resultado"
-#: motion/templates/motion/motion_detail.html:258
+#: motion/templates/motion/motion_detail.html:264
msgid "New vote"
msgstr "Novo voto"
-#: motion/templates/motion/motion_detail.html:275
+#: motion/templates/motion/motion_detail.html:287
msgid "Last changes (of this version)"
msgstr "Últimas modificações (desta versão)"
-#: motion/templates/motion/motion_detail.html:277
+#: motion/templates/motion/motion_detail.html:289
#: motion/templates/motion/motion_diff.html:36
#: motion/templates/motion/motion_diff.html:40
-#: motion/templates/motion/motion_list.html:58
+#: motion/templates/motion/motion_list.html:67
msgid "Last changes"
msgstr "Últimas modificações"
-#: motion/templates/motion/motion_detail.html:287
-msgid "Withdraw motion"
-msgstr "Retirar moção"
+#: motion/templates/motion/motion_detail.html:307
+msgid "New amendment"
+msgstr "Nova emenda"
-#: motion/templates/motion/motion_detail.html:296
+#: motion/templates/motion/motion_detail.html:316
msgid "Unsupport"
msgstr "Desapoiar"
-#: motion/templates/motion/motion_detail.html:302
+#: motion/templates/motion/motion_detail.html:322
msgid "Support"
msgstr "Apoiar"
-#: motion/templates/motion/motion_detail.html:310
+#: motion/templates/motion/motion_detail.html:330
msgid "minimum required supporters"
msgstr "Apoiantes mínimos necessários"
-#: motion/templates/motion/motion_detail.html:317
+#: motion/templates/motion/motion_detail.html:337
msgid "Manage motion"
msgstr "Gerir moção"
-#: motion/templates/motion/motion_detail.html:327
+#: motion/templates/motion/motion_detail.html:347
msgid "For administration only:"
msgstr "Apenas para a administração:"
-#: motion/templates/motion/motion_detail.html:329
+#: motion/templates/motion/motion_detail.html:349
msgid "Reset state"
msgstr "Redefinir estado"
@@ -2283,20 +2337,20 @@ msgid "Diff view"
msgstr "Vista diff"
#: motion/templates/motion/motion_diff.html:27
-#: motion/templates/motion/motion_form.html:49
+#: motion/templates/motion/motion_form.html:31
#: motion/templates/motion/motionpoll_form.html:18
msgid "Back to motion"
msgstr "Voltar à moção"
-#: motion/templates/motion/motion_form.html:35
-#: motion/templates/motion/motion_form.html:45
+#: motion/templates/motion/motion_form.html:17
+#: motion/templates/motion/motion_form.html:27
#: motion/templates/motion/motion_list.html:36
msgid "New motion"
msgstr "Nova moção"
#: motion/templates/motion/motion_form_csv_import.html:5
#: motion/templates/motion/motion_form_csv_import.html:9
-#: motion/templates/motion/motion_list.html:41
+#: motion/templates/motion/motion_list.html:50
msgid "Import motions"
msgstr "Importar moções"
@@ -2313,31 +2367,35 @@ msgid ""
"Identifier, reason, submitter and category are optional and may be empty"
msgstr "Identificador, razão, submissor e categoria são opcionais e podem estar vazios"
-#: motion/templates/motion/motion_list.html:40
+#: motion/templates/motion/motion_list.html:46
msgid "Manage categories"
msgstr "Gerir categorias"
-#: motion/templates/motion/motion_list.html:43
+#: motion/templates/motion/motion_list.html:52
msgid "Print all motions as PDF"
msgstr "Imprimir todas as moções como PDF"
-#: motion/templates/motion/motion_list.html:50
+#: motion/templates/motion/motion_list.html:59
msgid "#"
msgstr "#"
-#: motion/templates/motion/motion_list.html:51
+#: motion/templates/motion/motion_list.html:60
msgid "Motion title"
msgstr "Título da moção"
#: motion/templates/motion/motion_list.html:77
+msgid "Amendment"
+msgstr "Emenda"
+
+#: motion/templates/motion/motion_list.html:99
msgid "Enough supporters"
msgstr "Apoiantes suficientes"
-#: motion/templates/motion/motion_list.html:80
+#: motion/templates/motion/motion_list.html:102
msgid "Needs supporters"
msgstr "Necessita de apoiantes"
-#: motion/templates/motion/motion_list.html:87
+#: motion/templates/motion/motion_list.html:109
msgid "There is a newer (unauthorized) version."
msgstr "Há uma versão mais recente (não autorizada)."
@@ -2361,19 +2419,14 @@ msgstr "Na linha %d tens de indicar ou 'first_name' ou 'last_name'."
#: participant/csv_import.py:62
#, python-format
-msgid "Ignoring malformed group id in line %d."
-msgstr "A Ignorar ID de grupo malformado na linha %d."
+msgid "Ignoring group id \"%(id)s\" in line %(line)d which does not exist."
+msgstr "A ignorar o grupo id \"%(id)s\" na linha %(line)d que não existe."
-#: participant/csv_import.py:65
-#, python-format
-msgid "Group id %(id)s does not exists (line %(line)d)."
-msgstr "Grupo ID %(id)s não existe (linha %(line)d)."
-
-#: participant/csv_import.py:70
+#: participant/csv_import.py:68
msgid "Import aborted because of severe errors in the input file."
msgstr "Importar abortado devido a erros graves no ficheiro de entrada."
-#: participant/csv_import.py:76
+#: participant/csv_import.py:74
#, python-format
msgid "%d new participants were successfully imported."
msgstr "%d participantes foram importados com sucesso."
@@ -2400,7 +2453,7 @@ msgstr "Participantes"
msgid "Use one line per participant for its name (first name and last name)."
msgstr "Usa uma linha por participante para o seu nome (nome e apelido)."
-#: participant/forms.py:52 participant/forms.py:155 participant/pdf.py:109
+#: participant/forms.py:52 participant/forms.py:156 participant/pdf.py:109
#: participant/templates/participant/login.html:34
#: participant/templates/participant/user_detail.html:69
msgid "Username"
@@ -2416,19 +2469,19 @@ msgstr "Não podes remover o último grupo que contém a permissão para gerir o
msgid "Permissions"
msgstr "Permissões"
-#: participant/forms.py:141
+#: participant/forms.py:142
msgid ""
"You can not remove yourself from the last group containing the permission to"
" manage participants."
msgstr "Não podes retirar-te do último grupo que contém permissão para gerir os participantes."
-#: participant/forms.py:149
+#: participant/forms.py:150
msgid ""
"You can not remove the permission to manage participants from the last group"
" you are in."
msgstr "Não podes remover a permissão para gerir os participantes do último grupo em que estás dentro."
-#: participant/forms.py:164
+#: participant/forms.py:165
msgid "Language"
msgstr "Idioma"
@@ -2610,7 +2663,7 @@ msgstr "Registado"
msgid "Delegates"
msgstr "Delega"
-#: participant/signals.py:176
+#: participant/signals.py:179
#: participant/templates/participant/user_form_csv_import.html:25
msgid "Staff"
msgstr "Staff"
@@ -2624,42 +2677,42 @@ msgstr "%(number)d participantes criados com sucesso."
msgid "You can not delete yourself."
msgstr "Não podes apagar-te a ti mesmo."
-#: participant/views.py:194
+#: participant/views.py:193
msgid "You can not deactivate yourself."
msgstr "Não podes desactivar-te a ti mesmo."
-#: participant/views.py:213
+#: participant/views.py:212
msgid "Participant-list"
msgstr "Lista-participantes"
-#: participant/views.py:214
+#: participant/views.py:213
msgid "List of Participants"
msgstr "Lista de Participantes"
-#: participant/views.py:228
+#: participant/views.py:227
msgid "Participant-access-data"
msgstr "Dados-acesso-participante"
-#: participant/views.py:258
+#: participant/views.py:257
msgid "Do you really want to reset the password?"
msgstr "Desejas realmente redefinir a senha?"
-#: participant/views.py:271
+#: participant/views.py:266
#, python-format
msgid "The Password for %s was successfully reset."
msgstr "A Senha para %s foi redefinida com sucesso."
-#: participant/views.py:365
+#: participant/views.py:360
msgid "You can not delete this group."
msgstr "Não podes apagar este grupo."
-#: participant/views.py:374
+#: participant/views.py:369
msgid ""
"You can not delete the last group containing the permission to manage "
"participants you are in."
msgstr "Não podes apagar o último grupo que contém a permissão para gerir os participantes em que estás."
-#: participant/views.py:390
+#: participant/views.py:385
#, python-format
msgid ""
"Installation was successfully! Use %(user)s (password: %(password)s) for "
@@ -2668,31 +2721,31 @@ msgid ""
"be a security risk."
msgstr "Instalado com sucesso! Usa %(user)s (senha: %(password)s) no primeiro login.
Importante: Por favor altera a senha após o primeiro login! Caso contrário, esta mensagem continua a aparecer para todos e poderá ser um risco de segurança."
-#: participant/views.py:417
+#: participant/views.py:412
msgid "User settings successfully saved."
msgstr "Definições do utilizador gravadas com sucesso."
-#: participant/views.py:419 participant/views.py:443 utils/views.py:180
+#: participant/views.py:414 participant/views.py:438 utils/views.py:205
msgid "Please check the form for errors."
msgstr "Por favor verifica o formulário por erros."
-#: participant/views.py:440
+#: participant/views.py:435
msgid "Password successfully changed."
msgstr "Senha alterada com sucesso."
-#: participant/templates/participant/edit.html:27
-#: participant/templates/participant/edit.html:37
+#: participant/templates/participant/edit.html:9
+#: participant/templates/participant/edit.html:19
#: participant/templates/participant/user_detail.html:26
msgid "Edit participant"
msgstr "Editar participante"
-#: participant/templates/participant/edit.html:29
-#: participant/templates/participant/edit.html:39
+#: participant/templates/participant/edit.html:11
+#: participant/templates/participant/edit.html:21
#: participant/templates/participant/overview.html:23
msgid "New participant"
msgstr "Novo participante"
-#: participant/templates/participant/edit.html:50
+#: participant/templates/participant/edit.html:32
msgid "Reset to First Password"
msgstr "Redefinir para a Primeira Senha"
@@ -2960,11 +3013,11 @@ msgstr "Redefinir nível de scroll"
msgid "Scroll level"
msgstr "Nível de scroll"
-#: utils/forms.py:111
+#: utils/forms.py:112
msgid "CSV File"
msgstr "Ficheiro CSV"
-#: utils/forms.py:112
+#: utils/forms.py:113
msgid "The file has to be encoded in UTF-8."
msgstr "O ficheiro deve estar codificado em UTF-8."
@@ -2987,33 +3040,33 @@ msgstr "o endereço IP local da máquina"
msgid "Starting OpenSlides' tornado webserver listening to %(url_string)s"
msgstr "A arrancar o webserver tornado do OpenSlides a escutar %(url_string)s"
-#: utils/views.py:328
+#: utils/views.py:357
msgid "Are you sure?"
msgstr "Tens a certeza?"
-#: utils/views.py:329
+#: utils/views.py:358
msgid "Thank you for your answer."
msgstr "Obrigado pela tua resposta."
-#: utils/views.py:418
+#: utils/views.py:447
msgid "You did not send a valid answer."
msgstr "Não enviaste uma resposta válida."
-#: utils/views.py:452
+#: utils/views.py:481
#, python-format
msgid "%s was successfully modified."
msgstr "%s foi modificada com sucesso."
-#: utils/views.py:466
+#: utils/views.py:499
#, python-format
msgid "%s was successfully created."
msgstr "%s foi criada com sucesso."
-#: utils/views.py:513
+#: utils/views.py:542
#, python-format
msgid "Do you really want to delete %s?"
msgstr "Queres realmente apagar %s?"
-#: utils/views.py:540
+#: utils/views.py:569
msgid "undefined-filename"
msgstr "nome de ficheiro-indefinido"
diff --git a/openslides/motion/pdf.py b/openslides/motion/pdf.py
index e6d6312aa..d7c930a6b 100644
--- a/openslides/motion/pdf.py
+++ b/openslides/motion/pdf.py
@@ -1,3 +1,5 @@
+from cgi import escape
+
from operator import attrgetter
import random
@@ -36,7 +38,7 @@ def motion_to_pdf(pdf, motion):
identifier = ''
if motion.identifier:
identifier = ' %s' % motion.identifier
- pdf.append(Paragraph('%s%s: %s' % (_('Motion'), identifier, motion.title), stylesheet['Heading1']))
+ pdf.append(Paragraph('%s%s: %s' % (_('Motion'), identifier, escape(motion.title)), stylesheet['Heading1']))
motion_data = []
@@ -138,7 +140,7 @@ def motion_to_pdf(pdf, motion):
pdf.append(Spacer(0, 1 * cm))
# motion title
- pdf.append(Paragraph(motion.title, stylesheet['Heading3']))
+ pdf.append(Paragraph(escape(motion.title), stylesheet['Heading3']))
# motion text
convert_html_to_reportlab(pdf, motion.text)
@@ -230,9 +232,9 @@ def all_motion_cover(pdf, motions):
"""
Create a coverpage for all motions.
"""
- pdf.append(Paragraph(config["motion_pdf_title"], stylesheet['Heading1']))
+ pdf.append(Paragraph(escape(config["motion_pdf_title"]), stylesheet['Heading1']))
- preamble = config["motion_pdf_preamble"]
+ preamble = escape(config["motion_pdf_preamble"])
if preamble:
pdf.append(Paragraph("%s" % preamble.replace('\r\n', '
'), stylesheet['Paragraph']))
@@ -244,7 +246,7 @@ def all_motion_cover(pdf, motions):
categories = True
if i == 0:
pdf.append(Paragraph(_("Categories"), stylesheet['Heading2']))
- pdf.append(Paragraph("%s %s" % (category.prefix, category.name), stylesheet['Paragraph']))
+ pdf.append(Paragraph("%s %s" % (escape(category.prefix), escape(category.name)), stylesheet['Paragraph']))
if categories:
pdf.append(PageBreak())
@@ -256,7 +258,7 @@ def all_motion_cover(pdf, motions):
identifier = ''
if motion.identifier:
identifier = ' %s' % motion.identifier
- pdf.append(Paragraph('%s%s: %s' % (_('Motion'), identifier, motion.title), stylesheet['Heading3']))
+ pdf.append(Paragraph('%s%s: %s' % (_('Motion'), identifier, escape(motion.title)), stylesheet['Heading3']))
def motion_poll_to_pdf(pdf, poll):
diff --git a/openslides/users/pdf.py b/openslides/users/pdf.py
index 70cee871f..6a677e528 100644
--- a/openslides/users/pdf.py
+++ b/openslides/users/pdf.py
@@ -1,3 +1,5 @@
+from cgi import escape
+
from django.utils.translation import ugettext as _
from reportlab.graphics.barcode.qr import QrCodeWidget
from reportlab.graphics.shapes import Drawing
@@ -28,13 +30,13 @@ def users_to_pdf(pdf):
groups = ''
for group in user.groups.all():
if group.pk != 2:
- groups += "%s
" % _(group.name)
+ groups += "%s
" % escape(_(group.name))
data.append([
counter,
Paragraph(user.title, stylesheet['Tablecell']),
- Paragraph(user.last_name, stylesheet['Tablecell']),
- Paragraph(user.first_name, stylesheet['Tablecell']),
- Paragraph(user.structure_level, stylesheet['Tablecell']),
+ Paragraph(escape(user.last_name), stylesheet['Tablecell']),
+ Paragraph(escape(user.first_name), stylesheet['Tablecell']),
+ Paragraph(escape(user.structure_level), stylesheet['Tablecell']),
Paragraph(groups, stylesheet['Tablecell'])])
t = LongTable(data, style=[
('VALIGN', (0, 0), (-1, -1), 'TOP'),
@@ -80,7 +82,7 @@ def users_passwords_to_pdf(pdf):
qrcode_wlan_draw.add(qrcode_wlan)
for user in User.objects.all().order_by(sort):
- pdf.append(Paragraph(user, stylesheet['h1']))
+ pdf.append(Paragraph(escape(user), stylesheet['h1']))
pdf.append(Spacer(0, 1 * cm))
data = []
# WLAN access data
@@ -89,15 +91,15 @@ def users_passwords_to_pdf(pdf):
stylesheet['h2']))
cell.append(Paragraph("%s:" % _("WLAN name (SSID)"),
stylesheet['formfield']))
- cell.append(Paragraph(users_pdf_wlan_ssid,
+ cell.append(Paragraph(escape(users_pdf_wlan_ssid),
stylesheet['formfield_value']))
cell.append(Paragraph("%s:" % _("WLAN password"),
stylesheet['formfield']))
- cell.append(Paragraph(users_pdf_wlan_password,
+ cell.append(Paragraph(escape(users_pdf_wlan_password),
stylesheet['formfield_value']))
cell.append(Paragraph("%s:" % _("WLAN encryption"),
stylesheet['formfield']))
- cell.append(Paragraph(users_pdf_wlan_encryption,
+ cell.append(Paragraph(escape(users_pdf_wlan_encryption),
stylesheet['formfield_value']))
cell.append(Spacer(0, 0.5 * cm))
# OpenSlides access data
@@ -106,15 +108,15 @@ def users_passwords_to_pdf(pdf):
stylesheet['h2']))
cell2.append(Paragraph("%s:" % _("Username"),
stylesheet['formfield']))
- cell2.append(Paragraph(user.username,
+ cell2.append(Paragraph(escape(user.username),
stylesheet['formfield_value']))
cell2.append(Paragraph("%s:" % _("Password"),
stylesheet['formfield']))
- cell2.append(Paragraph(user.default_password,
+ cell2.append(Paragraph(escape(user.default_password),
stylesheet['formfield_value']))
cell2.append(Paragraph("URL:",
stylesheet['formfield']))
- cell2.append(Paragraph(users_pdf_url,
+ cell2.append(Paragraph(escape(users_pdf_url),
stylesheet['formfield_value']))
data.append([cell, cell2])
# QRCodes
@@ -138,8 +140,8 @@ def users_passwords_to_pdf(pdf):
pdf.append(Spacer(0, 2 * cm))
# welcome title and text
- pdf.append(Paragraph(users_pdf_welcometitle, stylesheet['h2']))
- pdf.append(Paragraph(users_pdf_welcometext.replace('\r\n', '
'),
+ pdf.append(Paragraph(escape(users_pdf_welcometitle), stylesheet['h2']))
+ pdf.append(Paragraph(escape(users_pdf_welcometext).replace('\r\n', '
'),
stylesheet['Paragraph12']))
pdf.append(PageBreak())
return pdf