diff --git a/Gruntfile.js b/Gruntfile.js
index 55ce42a..f7edc13 100644
--- a/Gruntfile.js
+++ b/Gruntfile.js
@@ -8,7 +8,7 @@ module.exports = function(grunt) {
options: {
paths: ['src/kasu/static/less'],
compress: false,
- optimization:9,
+ optimization: 9,
ieCompat: false,
},
kasu: {
@@ -21,10 +21,11 @@ module.exports = function(grunt) {
report: 'min'
},
kasu: {
- src: 'static/css/kasu.css',
- dest: 'static/css/kasu.css'
- }
- },
+ files: {
+ 'src/kasu/static/css/kasu.min.css': ['src/kasu/static/css/kasu.css'],
+ },
+ },
+ },
watch: {
styles: {
files: ['src/kasu/static/less/*.less'], // which files to watch
diff --git a/package.json b/package.json
index 7fac8e7..238c86f 100644
--- a/package.json
+++ b/package.json
@@ -8,7 +8,7 @@
"grunt": ">=0.4.5",
"grunt-contrib-less": ">=1.0.1",
"grunt-contrib-watch": ">=0.6.1",
- "grunt-more-css": ">=0.1.0"
+ "grunt-more-css": "^0.1.1"
},
"dependencies": {
"ckeditor-dev": "git://github.com/ckeditor/ckeditor-dev.git"
diff --git a/src/content/locale/de/LC_MESSAGES/django.po b/src/content/locale/de/LC_MESSAGES/django.po
index 2193de5..f61f37f 100644
--- a/src/content/locale/de/LC_MESSAGES/django.po
+++ b/src/content/locale/de/LC_MESSAGES/django.po
@@ -8,271 +8,270 @@ msgid ""
msgstr ""
"Project-Id-Version: kasu.content\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2017-06-19 22:46+0200\n"
-"PO-Revision-Date: 2016-09-28 00:24+0200\n"
-"Last-Translator: Christian Berg \n"
+"POT-Creation-Date: 2018-01-11 22:50+0100\n"
+"PO-Revision-Date: 2018-01-12 15:25+0105\n"
+"Last-Translator: b'Christian Berg '\n"
"Language-Team: Deutsch <>\n"
"Language: de\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-"X-Translated-Using: django-rosetta 0.7.2\n"
"X-Generator: Poedit 1.8.9\n"
+"X-Translated-Using: django-rosetta 0.7.14\n"
-#: content/feeds.py:16
+#: src/content/feeds.py:18
msgid "Current news from Kasu"
msgstr "Aktuelle Nachrichten von Kasu"
-#: content/feeds.py:43
+#: src/content/feeds.py:51
msgid "Latest comments on kasu.at"
msgstr "Neueste Kommentare auf Kasu.at "
-#: content/feeds.py:44
+#: src/content/feeds.py:52
msgid "Kasu - latest comments"
msgstr "Kasu - neue Kommentare"
-#: content/forms.py:52 content/models.py:308
+#: src/content/forms.py:57 src/content/models.py:318
msgid "Please upload a PDF-File to this PDF-Page."
msgstr "Bitte eine PDF Datei für diese PDF Seite hochladen."
-#: content/models.py:62
+#: src/content/models.py:76
msgid "Headline"
msgstr "Schlagzeile"
-#: content/models.py:64
+#: src/content/models.py:78
msgid "Content"
msgstr "Inhalt"
-#: content/models.py:66 content/models.py:137
-#: content/templates/content/article_detail.html:25
+#: src/content/models.py:82 src/content/models.py:150
+#: src/content/templates/content/article_detail.html:25
msgid "Category"
msgstr "Kategorie"
-#: content/models.py:67 content/models.py:130
+#: src/content/models.py:83 src/content/models.py:143
msgid "Image"
msgstr "Bild"
-#: content/models.py:69 content/models.py:132
+#: src/content/models.py:85 src/content/models.py:145
msgid "Slug"
msgstr "Slug"
-#: content/models.py:71 content/templates/content/article_detail.html:23
+#: src/content/models.py:88
+#: src/content/templates/content/article_detail.html:23
msgid "Author"
msgstr "Autor"
-#: content/models.py:72
+#: src/content/models.py:89
msgid "Status"
msgstr "Status"
-#: content/models.py:74
+#: src/content/models.py:91
msgid "Created"
msgstr "Erstellt"
-#: content/models.py:75
+#: src/content/models.py:92
msgid "Modified"
msgstr "Bearbeitet"
-#: content/models.py:80
+#: src/content/models.py:97
msgid "Article"
msgstr "Artikel"
-#: content/models.py:81
+#: src/content/models.py:98
msgid "Articles"
msgstr "Artikel"
-#: content/models.py:126 content/models.py:127
+#: src/content/models.py:139 src/content/models.py:140
msgid "Name"
msgstr "Name"
-#: content/models.py:128 content/models.py:129
+#: src/content/models.py:141 src/content/models.py:142
msgid "Description"
msgstr "Beschreibung"
-#: content/models.py:138
+#: src/content/models.py:151
msgid "Categories"
msgstr "Kategorien"
-#: content/models.py:169 content/models.py:175
+#: src/content/models.py:182 src/content/models.py:188
msgid "The short name for the menu-entry of this page"
msgstr "Ein kurzer Name für den Menüeintrag"
-#: content/models.py:180 content/models.py:185
+#: src/content/models.py:193 src/content/models.py:198
msgid "The page title as you'd like it to be seen by the public"
-msgstr ""
+msgstr "Der Seitentitel der öffentlich angezeigt werden soll"
-#: content/models.py:187
+#: src/content/models.py:200
msgid "slug"
msgstr "Slug"
-#: content/models.py:190
+#: src/content/models.py:203
msgid ""
-"The name of the page as it will appear in URLs e.g http://domain.com/blog/"
-"[my-slug]/"
+"The name of the page as it will appear in URLs e.g "
+"http://domain.com/blog/[my-slug]/"
msgstr ""
+"Wie die Seite in der URL aufscheint also http://domain.com/blog/[slug]"
-#: content/models.py:199
+#: src/content/models.py:212
msgid "Path"
msgstr "Pfad"
-#: content/models.py:211
+#: src/content/models.py:224
msgid "Position"
msgstr "Position"
-#: content/models.py:216
+#: src/content/models.py:229
msgid "status"
msgstr "Status"
-#: content/models.py:219 content/models.py:221
-#, fuzzy
+#: src/content/models.py:232 src/content/models.py:234
#| msgid "Description"
msgid "search description"
-msgstr "Beschreibung"
+msgstr "Beschreibung für Suchfunktion"
-#: content/models.py:224
-#, fuzzy
+#: src/content/models.py:237
#| msgid "Content"
msgid "content type"
-msgstr "Inhalt"
+msgstr "Inhaltstyp"
-#: content/models.py:229
+#: src/content/models.py:242
msgid "enable comments"
msgstr "Kommentare möglich"
-#: content/models.py:234
+#: src/content/models.py:247
msgid "Template"
msgstr "Vorlage"
-#: content/models.py:242
-#, fuzzy
+#: src/content/models.py:255
#| msgid "created on"
msgid "first created at"
msgstr "erstellt am"
-#: content/models.py:247
+#: src/content/models.py:260
msgid "latest updated at"
-msgstr ""
+msgstr "letzte Aktualisierung am"
-#: content/models.py:322
+#: src/content/models.py:331
msgid "Page"
msgstr "Seite"
-#: content/models.py:323
+#: src/content/models.py:332
msgid "Pages"
msgstr "Seiten"
-#: content/templates/content/article_archive.html:5
-#: content/templates/content/article_archive.html:20
+#: src/content/templates/content/article_archive.html:5
+#: src/content/templates/content/article_archive.html:20
msgid "Article Archive"
msgstr "Nachrichtenarchiv"
-#: content/templates/content/article_archive.html:35
-#: content/templates/content/article_archive_month.html:5
-#: content/templates/content/article_archive_year.html:7
+#: src/content/templates/content/article_archive.html:35
+#: src/content/templates/content/article_archive_month.html:5
+#: src/content/templates/content/article_archive_year.html:7
msgid "Archive"
msgstr "Archiv"
-#: content/templates/content/article_archive.html:56
+#: src/content/templates/content/article_archive.html:56
msgid "All Categories"
msgstr "Alle Kategorien"
-#: content/templates/content/article_archive.html:71
+#: src/content/templates/content/article_archive.html:71
msgid "created on"
msgstr "erstellt am"
-#: content/templates/content/article_archive.html:73
+#: src/content/templates/content/article_archive.html:73
msgid "by"
msgstr "von"
-#: content/templates/content/article_archive.html:74
-#: content/templates/content/article_archive.html:75
+#: src/content/templates/content/article_archive.html:74
+#: src/content/templates/content/article_archive.html:75
msgid "comments"
msgstr "Kommentare"
-#: content/templates/content/article_archive.html:81
+#: src/content/templates/content/article_archive.html:81
msgid "Read More"
msgstr "Mehr lesen"
-#: content/templates/content/article_archive.html:86
+#: src/content/templates/content/article_archive.html:86
msgid "We're sorry. Your search yielded no results."
msgstr "Es tut uns leid. Deine Suche ergab keine Treffer."
-#: content/templates/content/article_archive.html:104
+#: src/content/templates/content/article_archive.html:104
msgid "Add Article"
msgstr "neuer Artikel "
-#: content/templates/content/article_archive_month.html:7
+#: src/content/templates/content/article_archive_month.html:7
msgid "back"
msgstr "Zurück"
-#: content/templates/content/article_detail.html:24
+#: src/content/templates/content/article_detail.html:24
msgid "Created on"
msgstr "Erstellt am"
-#: content/templates/content/article_detail.html:36
+#: src/content/templates/content/article_detail.html:36
msgid "share on"
msgstr "Teile auf"
-#: content/templates/content/article_detail.html:51
-#: content/templates/content/article_form.html:20 content/views.py:138
+#: src/content/templates/content/article_detail.html:51
+#: src/content/views.py:156
msgid "Edit Article"
msgstr "Artikel bearbeiten"
-#: content/templates/content/article_form.html:20 content/views.py:139
-msgid "Create Article"
-msgstr "Artikel erstellen"
-
-#: content/templates/content/article_form.html:25
-#: content/templates/content/page_form.html:49
-#: content/templates/content/page_form.html:56
+#: src/content/templates/content/article_form.html:32
+#: src/content/templates/content/page_form.html:42
+#: src/content/templates/content/page_form.html:49
msgid "German"
msgstr "Deutsch"
-#: content/templates/content/article_form.html:26
-#: content/templates/content/page_form.html:50
-#: content/templates/content/page_form.html:64
+#: src/content/templates/content/article_form.html:33
+#: src/content/templates/content/page_form.html:43
+#: src/content/templates/content/page_form.html:57
msgid "English"
msgstr "Englisch"
-#: content/templates/content/article_form.html:45
-#: content/templates/content/page_form.html:73
+#: src/content/templates/content/article_form.html:59
+#: src/content/templates/content/page_form.html:66
msgid "reset"
msgstr "Zurücksetzen"
-#: content/templates/content/article_form.html:46
-#: content/templates/content/page_form.html:74
+#: src/content/templates/content/article_form.html:60
+#: src/content/templates/content/page_form.html:67
msgid "save"
msgstr "Speichern"
-#: content/templates/content/page_form.html:5
-#: content/templates/content/page_form.html:42
+#: src/content/templates/content/page_form.html:5
+#: src/content/templates/content/page_form.html:35
msgid "Edit Page"
msgstr "Seite bearbeiten"
-#: content/templates/content/page_form.html:5
-#: content/templates/content/page_form.html:28
-#: content/templates/content/page_form.html:42
+#: src/content/templates/content/page_form.html:5
+#: src/content/templates/content/page_form.html:19
+#: src/content/templates/content/page_form.html:35
msgid "Add Page"
msgstr "Seite hinzufügen"
-#: content/templates/content/page_form.html:27
+#: src/content/templates/content/page_form.html:18
msgid "Edit"
msgstr "Bearbeiten"
-#: content/templates/content/page_form.html:44
+#: src/content/templates/content/page_form.html:37
msgid "HTML Specific"
msgstr "HTML spezifisch"
-#: content/views.py:35
+#: src/content/views.py:53
msgid "This Category does not exist."
msgstr "Diese Kategorie existiert nicht."
-#: content/views.py:205
+#: src/content/views.py:157
+msgid "Create Article"
+msgstr "Artikel erstellen"
+
+#: src/content/views.py:233
#, python-format
msgid "No Page found matching the Path %s"
msgstr "Keine Seite unter dem Pfad %s gefunden"
-#: content/views.py:219
+#: src/content/views.py:262
#, python-format
msgid "No PDF Document found matching the Path %s"
msgstr "Kein PDF Dokument unter dem Pfad %s gefunden."
diff --git a/src/events/locale/de/LC_MESSAGES/django.po b/src/events/locale/de/LC_MESSAGES/django.po
index 74dd00b..5652376 100644
--- a/src/events/locale/de/LC_MESSAGES/django.po
+++ b/src/events/locale/de/LC_MESSAGES/django.po
@@ -7,9 +7,9 @@ msgid ""
msgstr ""
"Project-Id-Version: kasu.events\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2017-06-19 22:46+0200\n"
-"PO-Revision-Date: 2016-09-28 00:24+0200\n"
-"Last-Translator: Christian Berg \n"
+"POT-Creation-Date: 2018-01-11 22:50+0100\n"
+"PO-Revision-Date: 2018-01-12 15:25+0105\n"
+"Last-Translator: b'Christian Berg '\n"
"Language-Team: Kasu \n"
"Language: de\n"
"MIME-Version: 1.0\n"
@@ -17,60 +17,60 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"X-Generator: Poedit 1.8.9\n"
-"X-Translated-Using: django-rosetta 0.7.6\n"
+"X-Translated-Using: django-rosetta 0.7.14\n"
-#: events/admin.py:14 events/models.py:82
+#: src/events/admin.py:14 src/events/models.py:82
msgid "Event Series"
msgstr "Veranstaltungsreihen"
-#: events/forms.py:18
+#: src/events/forms.py:17
msgid "Images"
msgstr "Bilder"
-#: events/forms.py:46
+#: src/events/forms.py:46
msgid "start"
msgstr "Beginn"
-#: events/forms.py:50
+#: src/events/forms.py:49
msgid "end"
msgstr "Ende"
-#: events/models.py:52 events/models.py:176 events/models.py:217
+#: src/events/models.py:52 src/events/models.py:176 src/events/models.py:217
msgid "Name"
msgstr "Name"
-#: events/models.py:53 events/models.py:177 events/models.py:225
+#: src/events/models.py:53 src/events/models.py:177 src/events/models.py:225
msgid "Description"
msgstr "Beschreibung"
-#: events/models.py:55 events/templates/events/event_detail.html:29
-#: events/templates/events/event_detail.html:87
-#: events/templates/events/event_list.html:28
-#: events/templates/events/photo_upload.html:13
+#: src/events/models.py:55 src/events/templates/events/event_detail.html:29
+#: src/events/templates/events/event_detail.html:87
+#: src/events/templates/events/event_list.html:28
+#: src/events/templates/events/photo_upload.html:13
msgid "Start"
msgstr "Beginn"
-#: events/models.py:56 events/templates/events/event_detail.html:30
-#: events/templates/events/event_detail.html:89
+#: src/events/models.py:56 src/events/templates/events/event_detail.html:30
+#: src/events/templates/events/event_detail.html:89
msgid "End"
msgstr "Ende"
-#: events/models.py:57 events/models.py:185
-#: events/templates/events/event_detail.html:34
-#: events/templates/events/event_detail.html:80
-#: events/templates/events/event_detail.html:92
+#: src/events/models.py:57 src/events/models.py:185
+#: src/events/templates/events/event_detail.html:34
+#: src/events/templates/events/event_detail.html:80
+#: src/events/templates/events/event_detail.html:92
msgid "Homepage"
msgstr "Homepage"
-#: events/models.py:59 events/models.py:179 events/models.py:219
+#: src/events/models.py:59 src/events/models.py:179 src/events/models.py:219
msgid "Image"
msgstr "Bild"
-#: events/models.py:66
+#: src/events/models.py:66
msgid "Mahjong Tournament"
msgstr "Mahjong Turnier"
-#: events/models.py:68
+#: src/events/models.py:68
msgid ""
"This event is a tournament, different rules apply for the kyu "
"ranking."
@@ -78,11 +78,11 @@ msgstr ""
"Diese Veranstaltung ist ein Turnier, es gelten andere Regeln für das Kyu "
"Ranking."
-#: events/models.py:72
+#: src/events/models.py:72
msgid "Mahjong Season"
msgstr "Mahjong Saison"
-#: events/models.py:83
+#: src/events/models.py:83
msgid ""
"Wenn dieser Event zu einer Veranstaltungsreihe gehört werden Ort, "
"Beschreibung, Bild und Homepage von dem hier angegebenen Event "
@@ -91,244 +91,245 @@ msgstr ""
"Wenn dieser Termin zu einer Veranstaltungsreihe gehört werden Ort, "
"Beschreibung, Bild und Homepage von dem hier angegebenen Event übernommen."
-#: events/models.py:92 events/models.py:195 events/models.py:247
+#: src/events/models.py:92 src/events/models.py:195 src/events/models.py:248
msgid "first created at"
-msgstr ""
+msgstr "erstellt am"
-#: events/models.py:97 events/models.py:200 events/models.py:252
+#: src/events/models.py:97 src/events/models.py:200 src/events/models.py:253
msgid "latest updated at"
-msgstr ""
+msgstr "letzte Aktualisierung am"
-#: events/models.py:103
+#: src/events/models.py:103
msgid "Event"
msgstr "Termin"
-#: events/models.py:104
+#: src/events/models.py:104
msgid "Events"
msgstr "Termine"
-#: events/models.py:117
+#: src/events/models.py:117
msgid "A event can't end before it had started"
msgstr "Eine Veranstaltung kann nicht enden bevor sie begonnen hat"
-#: events/models.py:186
+#: src/events/models.py:186
msgid "Postal Code"
msgstr "Postleitzahl"
-#: events/models.py:187
+#: src/events/models.py:187
msgid "Street Address"
msgstr "Straße"
-#: events/models.py:188
+#: src/events/models.py:188
msgid "Locality"
msgstr "Ort"
-#: events/models.py:189
+#: src/events/models.py:189
msgid "Country"
msgstr "Land"
-#: events/models.py:204
+#: src/events/models.py:204
msgid "Venue"
msgstr "Veranstaltungsort"
-#: events/models.py:205
+#: src/events/models.py:205
msgid "Venues"
msgstr "Veranstaltungsorte"
-#: events/models.py:231
+#: src/events/models.py:232
msgid "Startpage"
msgstr "Startseite"
-#: events/models.py:234
+#: src/events/models.py:235
msgid "Display this Photo on the Startpage Teaser"
msgstr "Foto als Teaser auf der Startseite verwenden."
-#: events/models.py:236
+#: src/events/models.py:237
msgid "Published on"
msgstr "Veröffentlicht am"
-#: events/models.py:238
+#: src/events/models.py:239
msgid "Number of views"
msgstr "Wie oft gesehen"
-#: events/models.py:262 events/templates/events/event_archive.html:38
-#: events/templates/events/event_list.html:18
+#: src/events/models.py:263 src/events/templates/events/event_archive.html:38
+#: src/events/templates/events/event_list.html:18
msgid "Event Image"
msgstr "Veranstaltungsbild"
-#: events/models.py:263
+#: src/events/models.py:264
msgid "Event Images"
msgstr "Veranstaltungsbilder"
-#: events/templates/events/event_archive.html:5
-#: events/templates/events/event_archive.html:9
+#: src/events/templates/events/event_archive.html:5
+#: src/events/templates/events/event_archive.html:9
msgid "Event Archive"
msgstr "Veranstaltungsarchiv"
-#: events/templates/events/event_archive.html:42
-#: events/templates/events/event_detail.html:85
-#: events/templates/events/event_list.html:22
-#: events/templates/events/photo_detail.html:53
+#: src/events/templates/events/event_archive.html:42
+#: src/events/templates/events/event_detail.html:85
+#: src/events/templates/events/event_list.html:22
+#: src/events/templates/events/photo_detail.html:53
msgid "Date"
msgstr "Datum"
-#: events/templates/events/event_archive.html:47
+#: src/events/templates/events/event_archive.html:47
msgid "Time"
msgstr "Zeit"
-#: events/templates/events/event_archive.html:49
-#: events/templates/events/photo_upload.html:16
+#: src/events/templates/events/event_archive.html:49
+#: src/events/templates/events/photo_upload.html:16
msgid "from"
msgstr "von"
-#: events/templates/events/event_archive.html:49
-#: events/templates/events/photo_upload.html:16
+#: src/events/templates/events/event_archive.html:49
+#: src/events/templates/events/photo_upload.html:16
msgid "to"
msgstr "bis"
-#: events/templates/events/event_archive.html:57
-#: events/templates/events/event_detail.html:31
-#: events/templates/events/event_detail.html:72
-#: events/templates/events/event_list.html:32
-#: events/templates/events/photo_upload.html:23
+#: src/events/templates/events/event_archive.html:57
+#: src/events/templates/events/event_detail.html:31
+#: src/events/templates/events/event_detail.html:72
+#: src/events/templates/events/event_list.html:32
+#: src/events/templates/events/photo_upload.html:23
msgid "Location"
msgstr "Ort"
-#: events/templates/events/event_archive.html:58
-#: events/templates/events/event_list.html:35
-#: events/templates/events/photo_upload.html:25
-#: events/templates/events/photo_upload.html:26
+#: src/events/templates/events/event_archive.html:58
+#: src/events/templates/events/event_list.html:35
+#: src/events/templates/events/photo_upload.html:25
+#: src/events/templates/events/photo_upload.html:26
msgid "Comments"
msgstr "Kommentare"
-#: events/templates/events/event_archive.html:59
-#: events/templates/events/event_detail.html:36
-#: events/templates/events/event_detail.html:48
-#: events/templates/events/photo_upload.html:28
-#: events/templates/events/photo_upload.html:29
+#: src/events/templates/events/event_archive.html:59
+#: src/events/templates/events/event_detail.html:36
+#: src/events/templates/events/event_detail.html:48
+#: src/events/templates/events/photo_list.html:4
+#: src/events/templates/events/photo_upload.html:28
+#: src/events/templates/events/photo_upload.html:29
msgid "Photos"
msgstr "Fotos"
-#: events/templates/events/event_archive.html:60
-#: events/templates/events/event_archive.html:61
-#: events/templates/events/event_detail.html:35
-#: events/templates/events/event_detail.html:51
+#: src/events/templates/events/event_archive.html:60
+#: src/events/templates/events/event_archive.html:61
+#: src/events/templates/events/event_detail.html:35
+#: src/events/templates/events/event_detail.html:51
msgid "Hanchans"
msgstr "Hanchans"
-#: events/templates/events/event_detail.html:37
+#: src/events/templates/events/event_detail.html:37
msgid "tourney"
msgstr "Turnier"
-#: events/templates/events/event_detail.html:37
+#: src/events/templates/events/event_detail.html:37
msgid "other rules apply here"
msgstr "hier gelten andere Regeln"
-#: events/templates/events/event_detail.html:45
+#: src/events/templates/events/event_detail.html:45
msgid "Info"
msgstr "Info"
-#: events/templates/events/event_detail.html:54
+#: src/events/templates/events/event_detail.html:54
msgid "Mai-Star Games"
msgstr "Mai-Star Spiele"
-#: events/templates/events/event_detail.html:57
+#: src/events/templates/events/event_detail.html:57
msgid "Event Ranking"
msgstr "Veranstaltungs Wertung"
-#: events/templates/events/event_detail.html:100
+#: src/events/templates/events/event_detail.html:100
msgid "Share on Facebook"
msgstr "Auf Facebook teilen"
-#: events/templates/events/event_detail.html:104
+#: src/events/templates/events/event_detail.html:104
msgid "Share on Google+"
msgstr "Auf Google+ teilen"
-#: events/templates/events/event_detail.html:109
+#: src/events/templates/events/event_detail.html:109
msgid "Share on Twitter"
msgstr "Auf Twitter teilen"
-#: events/templates/events/event_detail.html:113
+#: src/events/templates/events/event_detail.html:113
msgid "Show on Google Maps"
msgstr "Auf Google Maps zeigen"
-#: events/templates/events/event_detail.html:127
-#: events/templates/events/event_form.html:9 events/views.py:104
+#: src/events/templates/events/event_detail.html:127
+#: src/events/templates/events/event_form.html:9 src/events/views.py:62
msgid "Edit Event"
msgstr "Termin bearbeiten"
-#: events/templates/events/event_detail.html:131
+#: src/events/templates/events/event_detail.html:131
msgid "Add Dates"
msgstr "Termine hinzufügen"
-#: events/templates/events/event_form.html:9
-#: events/templates/events/page.html:9 events/views.py:106
+#: src/events/templates/events/event_form.html:9
+#: src/events/templates/events/page.html:9 src/events/views.py:64
msgid "Add Event"
msgstr "Neuer Termin"
-#: events/templates/events/event_form.html:18
-#: events/templates/events/photo_list.html:35
+#: src/events/templates/events/event_form.html:18
+#: src/events/templates/events/photo_list.html:35
msgid "reset"
msgstr "Zurücksetzen"
-#: events/templates/events/event_form.html:19
-#: events/templates/events/eventseries_form.html:25
+#: src/events/templates/events/event_form.html:19
+#: src/events/templates/events/eventseries_form.html:25
msgid "save"
msgstr "Speichern"
-#: events/templates/events/event_list.html:4
-#: events/templates/events/event_list.html:5
+#: src/events/templates/events/event_list.html:4
+#: src/events/templates/events/event_list.html:5
msgid "Upcoming Events"
msgstr "Bevorstehende Veranstaltungen"
-#: events/templates/events/eventseries_form.html:24
+#: src/events/templates/events/eventseries_form.html:24
msgid "back"
msgstr "Zurück"
-#: events/templates/events/photo_confirm_delete.html:17
+#: src/events/templates/events/photo_confirm_delete.html:17
msgid "Cancel"
msgstr "Abbrechen"
-#: events/templates/events/photo_confirm_delete.html:21
-#: events/templates/events/photo_list.html:21
+#: src/events/templates/events/photo_confirm_delete.html:21
+#: src/events/templates/events/photo_list.html:21
msgid "Delete"
msgstr "Löschen"
-#: events/templates/events/photo_detail.html:44
+#: src/events/templates/events/photo_detail.html:44
msgid "previous"
msgstr "Zurück"
-#: events/templates/events/photo_detail.html:52
+#: src/events/templates/events/photo_detail.html:52
msgid "Photographer"
msgstr "Fotograf"
-#: events/templates/events/photo_detail.html:58
+#: src/events/templates/events/photo_detail.html:58
msgid "share on"
msgstr "Teile auf"
-#: events/templates/events/photo_detail.html:81
+#: src/events/templates/events/photo_detail.html:81
msgid "download"
msgstr "Herunterladen"
-#: events/templates/events/photo_detail.html:82
+#: src/events/templates/events/photo_detail.html:82
msgid "Rotate counter clockwise"
msgstr "mit dem Uhrzeiger drehen"
-#: events/templates/events/photo_detail.html:83
+#: src/events/templates/events/photo_detail.html:83
msgid "Rotate clockwise"
msgstr "gegen den Uhrzeiger drehen"
-#: events/templates/events/photo_detail.html:84
+#: src/events/templates/events/photo_detail.html:84
msgid "Save"
msgstr "Speichern"
-#: events/templates/events/photo_list.html:36
-#: events/templates/events/photo_upload.html:35
-#: events/templates/events/photo_upload.html:49
+#: src/events/templates/events/photo_list.html:36
+#: src/events/templates/events/photo_upload.html:35
+#: src/events/templates/events/photo_upload.html:49
msgid "Upload"
msgstr "Hochladen"
-#: events/views.py:203
+#: src/events/views.py:149
msgid "Event does not exist"
msgstr "Veranstaltung gibt es nicht"
diff --git a/src/events/templates/events/event_list.html b/src/events/templates/events/event_list.html
index a685789..619feda 100755
--- a/src/events/templates/events/event_list.html
+++ b/src/events/templates/events/event_list.html
@@ -41,5 +41,4 @@
{% if forloop.counter|divisibleby:2 %} {% endif %}
{% endfor %}
{% endfor %}
-{% if page_obj.has_other_pages %}{% include 'paginator.html' %}{% endif %}
{% endblock %}
diff --git a/src/kasu/locale/de/LC_MESSAGES/django.po b/src/kasu/locale/de/LC_MESSAGES/django.po
index b690e50..9f2c8dd 100644
--- a/src/kasu/locale/de/LC_MESSAGES/django.po
+++ b/src/kasu/locale/de/LC_MESSAGES/django.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: kasu.utils\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2017-06-19 22:46+0200\n"
+"POT-Creation-Date: 2018-01-11 22:50+0100\n"
"PO-Revision-Date: 2016-09-28 00:24+0200\n"
"Last-Translator: Christian Berg \n"
"Language-Team: Kasu \n"
@@ -19,174 +19,175 @@ msgstr ""
"X-Generator: Poedit 1.8.9\n"
"X-Translated-Using: django-rosetta 0.7.6\n"
-#: kasu/settings.py:153
+#: src/kasu/settings.py:158
msgid "German"
msgstr "Deutsch"
-#: kasu/settings.py:153
+#: src/kasu/settings.py:158
msgid "English"
msgstr "Englisch"
-#: kasu/templates/404.html:8
+#: src/kasu/templates/404.html:8
msgid "The page your requested does not exist on this server."
msgstr "Die angeforderte Seite existiert auf diesem Server nicht."
-#: kasu/templates/base.html:22
+#: src/kasu/templates/base.html:22
msgid "Current News"
msgstr "Aktuelle Neuigkeiten"
-#: kasu/templates/base.html:24 kasu/templates/index.html:40
+#: src/kasu/templates/base.html:24 src/kasu/templates/index.html:40
msgid "Recent Comments"
msgstr "Kürzliche Kommentare"
-#: kasu/templates/base.html:45
+#: src/kasu/templates/base.html:45
msgid "Menu"
msgstr "Menü"
-#: kasu/templates/base.html:69
+#: src/kasu/templates/base.html:69
msgid "Current Event"
msgstr "Aktuelle Veranstaltung"
-#: kasu/templates/base.html:72
+#: src/kasu/templates/base.html:72
msgid "Since"
msgstr "seit"
-#: kasu/templates/base.html:73 kasu/templates/base.html:85
+#: src/kasu/templates/base.html:73 src/kasu/templates/base.html:85
msgid "Start"
msgstr "Beginn"
-#: kasu/templates/base.html:76 kasu/templates/base.html:88
+#: src/kasu/templates/base.html:76 src/kasu/templates/base.html:88
msgid "Location"
msgstr "Ort"
-#: kasu/templates/base.html:79 kasu/templates/base.html:90
+#: src/kasu/templates/base.html:79 src/kasu/templates/base.html:90
msgid "More Details"
msgstr "Mehr Details"
-#: kasu/templates/base.html:81
+#: src/kasu/templates/base.html:81
msgid "Next Event"
msgstr "Nächste Veranstaltung"
-#: kasu/templates/base.html:84
+#: src/kasu/templates/base.html:84
msgid "in"
msgstr "in"
-#: kasu/templates/base.html:93
+#: src/kasu/templates/base.html:93
msgid "Upcoming events"
msgstr "Bevorstehende Veranstaltungen"
-#: kasu/templates/base.html:143
+#: src/kasu/templates/base.html:143
msgid "Add Subpage"
msgstr "Unterseite Hinzufügen"
-#: kasu/templates/base.html:148
+#: src/kasu/templates/base.html:148
msgid "Edit Page"
msgstr "Seite bearbeiten"
-#: kasu/templates/base.html:156
+#: src/kasu/templates/base.html:156
msgid "Imprint"
msgstr "Impressum"
-#: kasu/templates/base.html:157
+#: src/kasu/templates/base.html:157
msgid "contact"
msgstr "Kontakt"
-#: kasu/templates/base.html:162
+#: src/kasu/templates/base.html:162
msgid "Language"
msgstr "Sprache"
-#: kasu/templates/base.html:171
+#: src/kasu/templates/base.html:171
msgid "Go"
msgstr "Los"
-#: kasu/templates/base.html:176
+#: src/kasu/templates/base.html:176
msgid "Logged in as"
msgstr "Angemeldet als"
-#: kasu/templates/base.html:178
+#: src/kasu/templates/base.html:178
msgid "Admin"
msgstr "Admin"
-#: kasu/templates/base.html:179
+#: src/kasu/templates/base.html:179
msgid "Logout"
msgstr "Abmelden"
-#: kasu/templates/base.html:181
+#: src/kasu/templates/base.html:181
msgid "no user logged in"
msgstr "Niemand angemeldet"
-#: kasu/templates/base.html:182 kasu/templates/comments/form.html:43
+#: src/kasu/templates/base.html:182 src/kasu/templates/comments/form.html:43
msgid "register"
msgstr "Registrieren"
-#: kasu/templates/base.html:183 kasu/templates/comments/form.html:44
+#: src/kasu/templates/base.html:183 src/kasu/templates/comments/form.html:44
msgid "login"
msgstr "anmelden"
-#: kasu/templates/base.html:185
+#: src/kasu/templates/base.html:185
msgid "Login with Facebook"
msgstr "über Facebook anmelden"
-#: kasu/templates/base.html:187
+#: src/kasu/templates/base.html:187
msgid "Login with Twitter"
msgstr "über Twitter anmelden"
-#: kasu/templates/base.html:189
+#: src/kasu/templates/base.html:189
msgid "Login with Google"
msgstr "über Google anmelden"
-#: kasu/templates/comments/form.html:5
+#: src/kasu/templates/comments/form.html:5
msgid "New Comment"
msgstr "Neuer Kommentar"
-#: kasu/templates/comments/form.html:20
+#: src/kasu/templates/comments/form.html:20
msgid "now"
msgstr "Jetzt"
-#: kasu/templates/comments/form.html:25
+#: src/kasu/templates/comments/form.html:25
msgid "Preview"
msgstr "Vorschau"
-#: kasu/templates/comments/form.html:26
+#: src/kasu/templates/comments/form.html:26
msgid "Post"
msgstr "Schreiben"
-#: kasu/templates/comments/form.html:34
+#: src/kasu/templates/comments/form.html:34
msgid "not logged in"
msgstr "Nicht angemeldet"
-#: kasu/templates/comments/form.html:38
+#: src/kasu/templates/comments/form.html:38
msgid "Register now, or Login to leave a comment here."
msgstr "Jetzt registrieren, oder anmelden um einen Kommentar zu schreiben."
-#: kasu/templates/comments/list.html:2 kasu/templates/index.html:25
+#: src/kasu/templates/comments/list.html:2 src/kasu/templates/index.html:25
msgid "Comments"
msgstr "Kommentare"
-#: kasu/templates/comments/posted.html:4 kasu/templates/comments/posted.html:7
+#: src/kasu/templates/comments/posted.html:4
+#: src/kasu/templates/comments/posted.html:7
msgid "Thank you for your comment"
msgstr "Danke für deinen Kommentar."
-#: kasu/templates/comments/preview.html:4
-#: kasu/templates/comments/preview.html:6
+#: src/kasu/templates/comments/preview.html:4
+#: src/kasu/templates/comments/preview.html:6
msgid "Preview your comment"
msgstr "Vorschau deines Kommentars"
-#: kasu/templates/comments/preview.html:10
+#: src/kasu/templates/comments/preview.html:10
msgid "Please correct the error below"
msgid_plural "Please correct the errors below"
msgstr[0] "Bitte den Fehler weiter unten beheben"
msgstr[1] "Bitte die Fehler weiter unten beheben"
-#: kasu/templates/index.html:4
+#: src/kasu/templates/index.html:4
msgid "traditional Asian game culture"
msgstr "traditionelle asiatische Spielkultur"
-#: kasu/templates/index.html:33
+#: src/kasu/templates/index.html:33
msgid "Read More"
msgstr "Mehr lesen"
-#: kasu/templates/index.html:47
+#: src/kasu/templates/index.html:47
#, python-format
msgid ""
"\n"
@@ -203,23 +204,23 @@ msgstr ""
" %(since)s \n"
" "
-#: kasu/templates/index.html:59
+#: src/kasu/templates/index.html:59
msgid "Kasu in the social network"
msgstr "Kasu im sozialem Netzwerk"
-#: kasu/templates/index.html:62 kasu/templates/index.html:65
+#: src/kasu/templates/index.html:62 src/kasu/templates/index.html:65
msgid "Visit us on"
msgstr "Besuche uns auf"
-#: kasu/templates/index.html:74
+#: src/kasu/templates/index.html:74
msgid "Add Article"
msgstr "Artikel hinzufügen"
-#: kasu/templates/paginator.html:8
+#: src/kasu/templates/paginator.html:8
msgid "Previous"
msgstr "Vorherige"
-#: kasu/templates/paginator.html:20
+#: src/kasu/templates/paginator.html:20
msgid "Next"
msgstr "Nächste"
diff --git a/src/kasu/static/css/kasu.css b/src/kasu/static/css/kasu.css
index b889b3e..7c33e26 100644
--- a/src/kasu/static/css/kasu.css
+++ b/src/kasu/static/css/kasu.css
@@ -337,6 +337,10 @@ ul.tabs li.active a {
ul.errorlist li {
color: #a40000;
}
+input.error {
+ border-color: #a40000;
+ background-color: rgba(164, 0, 0, 0.25);
+}
.game h2 {
margin: 0.5em 0;
}
diff --git a/src/kasu/static/js/jquery.formset.js b/src/kasu/static/js/jquery.formset.js
new file mode 100644
index 0000000..d910758
--- /dev/null
+++ b/src/kasu/static/js/jquery.formset.js
@@ -0,0 +1,231 @@
+/**
+ * jQuery Formset 1.3-pre
+ * @author Stanislaus Madueke (stan DOT madueke AT gmail DOT com)
+ * @requires jQuery 1.2.6 or later
+ *
+ * Copyright (c) 2009, Stanislaus Madueke
+ * All rights reserved.
+ *
+ * Licensed under the New BSD License
+ * See: http://www.opensource.org/licenses/bsd-license.php
+ */
+;(function($) {
+ $.fn.formset = function(opts)
+ {
+ var options = $.extend({}, $.fn.formset.defaults, opts),
+ flatExtraClasses = options.extraClasses.join(' '),
+ totalForms = $('#id_' + options.prefix + '-TOTAL_FORMS'),
+ maxForms = $('#id_' + options.prefix + '-MAX_NUM_FORMS'),
+ minForms = $('#id_' + options.prefix + '-MIN_NUM_FORMS'),
+ childElementSelector = 'input,select,textarea,label,div',
+ $$ = $(this),
+
+ applyExtraClasses = function(row, ndx) {
+ if (options.extraClasses) {
+ row.removeClass(flatExtraClasses);
+ row.addClass(options.extraClasses[ndx % options.extraClasses.length]);
+ }
+ },
+
+ updateElementIndex = function(elem, prefix, ndx) {
+ var idRegex = new RegExp(prefix + '-(\\d+|__prefix__)-'),
+ replacement = prefix + '-' + ndx + '-';
+ if (elem.attr("for")) elem.attr("for", elem.attr("for").replace(idRegex, replacement));
+ if (elem.attr('id')) elem.attr('id', elem.attr('id').replace(idRegex, replacement));
+ if (elem.attr('name')) elem.attr('name', elem.attr('name').replace(idRegex, replacement));
+ },
+
+ hasChildElements = function(row) {
+ return row.find(childElementSelector).length > 0;
+ },
+
+ showAddButton = function() {
+ return maxForms.length == 0 || // For Django versions pre 1.2
+ (maxForms.val() == '' || (maxForms.val() - totalForms.val() > 0));
+ },
+
+ /**
+ * Indicates whether delete link(s) can be displayed - when total forms > min forms
+ */
+ showDeleteLinks = function() {
+ return minForms.length == 0 || // For Django versions pre 1.7
+ (minForms.val() == '' || (totalForms.val() - minForms.val() > 0));
+ },
+
+ insertDeleteLink = function(row) {
+ var delCssSelector = $.trim(options.deleteCssClass).replace(/\s+/g, '.'),
+ addCssSelector = $.trim(options.addCssClass).replace(/\s+/g, '.');
+ if (row.is('TR')) {
+ // If the forms are laid out in table rows, insert
+ // the remove button into the last table cell:
+ row.children(':last').append('' + options.deleteText + ' ');
+ } else if (row.is('UL') || row.is('OL')) {
+ // If they're laid out as an ordered/unordered list,
+ // insert an after the last list item:
+ row.append(' ' + options.deleteText +' ');
+ } else {
+ // Otherwise, just insert the remove button as the
+ // last child element of the form's container:
+ row.append('' + options.deleteText +' ');
+ }
+ // Check if we're under the minimum number of forms - not to display delete link at rendering
+ if (!showDeleteLinks()){
+ row.find('a.' + delCssSelector).hide();
+ }
+
+ row.find('a.' + delCssSelector).click(function() {
+ var row = $(this).parents('.' + options.formCssClass),
+ del = row.find('input:hidden[id $= "-DELETE"]'),
+ buttonRow = row.siblings("a." + addCssSelector + ', .' + options.formCssClass + '-add'),
+ forms;
+ if (del.length) {
+ // We're dealing with an inline formset.
+ // Rather than remove this form from the DOM, we'll mark it as deleted
+ // and hide it, then let Django handle the deleting:
+ del.val('on');
+ row.hide();
+ forms = $('.' + options.formCssClass).not(':hidden');
+ } else {
+ row.remove();
+ // Update the TOTAL_FORMS count:
+ forms = $('.' + options.formCssClass).not('.formset-custom-template');
+ totalForms.val(forms.length);
+ }
+ for (var i=0, formCount=forms.length; i ');
+ row.hide();
+ } else {
+ del.before(' ');
+ }
+ // Hide any labels associated with the DELETE checkbox:
+ $('label[for="' + del.attr('id') + '"]').hide();
+ del.remove();
+ }
+ if (hasChildElements(row)) {
+ row.addClass(options.formCssClass);
+ if (row.is(':visible')) {
+ insertDeleteLink(row);
+ applyExtraClasses(row, i);
+ }
+ }
+ });
+
+ if ($$.length) {
+ var hideAddButton = !showAddButton(),
+ addButton, template;
+ if (options.formTemplate) {
+ // If a form template was specified, we'll clone it to generate new form instances:
+ template = (options.formTemplate instanceof $) ? options.formTemplate : $(options.formTemplate);
+ template.removeAttr('id').addClass(options.formCssClass + ' formset-custom-template');
+ template.find(childElementSelector).each(function() {
+ updateElementIndex($(this), options.prefix, '__prefix__');
+ });
+ insertDeleteLink(template);
+ } else {
+ // Otherwise, use the last form in the formset; this works much better if you've got
+ // extra (>= 1) forms (thnaks to justhamade for pointing this out):
+ template = $('.' + options.formCssClass + ':last').clone(true).removeAttr('id');
+ template.find('input:hidden[id $= "-DELETE"]').remove();
+ // Clear all cloned fields, except those the user wants to keep (thanks to brunogola for the suggestion):
+ template.find(childElementSelector).not(options.keepFieldValues).each(function() {
+ var elem = $(this);
+ // If this is a checkbox or radiobutton, uncheck it.
+ // This fixes Issue 1, reported by Wilson.Andrew.J:
+ if (elem.is('input:checkbox') || elem.is('input:radio')) {
+ elem.attr('checked', false);
+ } else {
+ elem.val('');
+ }
+ });
+ }
+ // FIXME: Perhaps using $.data would be a better idea?
+ options.formTemplate = template;
+
+ if ($$.is('TR')) {
+ // If forms are laid out as table rows, insert the
+ // "add" button in a new table row:
+ var numCols = $$.eq(0).children().length, // This is a bit of an assumption :|
+ buttonRow = $('' + options.addText + ' ')
+ .addClass(options.formCssClass + '-add');
+ $$.parent().append(buttonRow);
+ if (hideAddButton) buttonRow.hide();
+ addButton = buttonRow.find('a');
+ } else {
+ // Otherwise, insert it immediately after the last form:
+ $$.filter(':last').after('' + options.addText + ' ');
+ addButton = $$.filter(':last').next();
+ if (hideAddButton) addButton.hide();
+ }
+ addButton.click(function() {
+ var formCount = parseInt(totalForms.val()),
+ row = options.formTemplate.clone(true).removeClass('formset-custom-template'),
+ buttonRow = $($(this).parents('tr.' + options.formCssClass + '-add').get(0) || this),
+ delCssSelector = $.trim(options.deleteCssClass).replace(/\s+/g, '.');
+ applyExtraClasses(row, formCount);
+ row.insertBefore(buttonRow).show();
+ row.find(childElementSelector).each(function() {
+ updateElementIndex($(this), options.prefix, formCount);
+ });
+ totalForms.val(formCount + 1);
+ // Check if we're above the minimum allowed number of forms -> show all delete link(s)
+ if (showDeleteLinks()){
+ $('a.' + delCssSelector).each(function(){$(this).show();});
+ }
+ // Check if we've exceeded the maximum allowed number of forms:
+ if (!showAddButton()) buttonRow.hide();
+ // If a post-add callback was supplied, call it with the added form:
+ if (options.added) options.added(row);
+ return false;
+ });
+ }
+
+ return $$;
+ };
+
+ /* Setup plugin defaults */
+ $.fn.formset.defaults = {
+ prefix: 'form', // The form prefix for your django formset
+ formTemplate: null, // The jQuery selection cloned to generate new form instances
+ addText: 'add another', // Text for the add link
+ deleteText: 'remove', // Text for the delete link
+ addCssClass: 'add-row', // CSS class applied to the add link
+ deleteCssClass: 'delete-row', // CSS class applied to the delete link
+ formCssClass: 'dynamic-form', // CSS class applied to each form in a formset
+ extraClasses: [], // Additional CSS classes, which will be applied to each form in turn
+ keepFieldValues: '', // jQuery selector for fields whose values should be kept when the form is cloned
+ added: null, // Function called each time a new form is added
+ removed: null // Function called each time a form is deleted
+ };
+})(jQuery);
diff --git a/src/kasu/static/less/common.less b/src/kasu/static/less/common.less
index 0ad352f..b542bc6 100644
--- a/src/kasu/static/less/common.less
+++ b/src/kasu/static/less/common.less
@@ -163,7 +163,7 @@ ul {
list-style: circle outside;
padding-left: 2em;
margin-top:0.5em;
-
+
li {margin-bottom: 0.5em}
}
ul.info {
@@ -258,6 +258,7 @@ ul.tabs {
padding: 0;
}
.error, ul.errorlist li {color: #a40000;}
+input.error {border-color:#a40000; background-color: rgba(164, 0, 0, 0.25);}
.game h2 {margin: 0.5em 0;}
.grid_1,.grid_2,.grid_3,.grid_4,.grid_5,.grid_6,.grid_7,.grid_8,.grid_9,.grid_10,.grid_11,.grid_12
{
diff --git a/src/mahjong_ranking/forms.py b/src/mahjong_ranking/forms.py
index 4d15cad..4cca680 100644
--- a/src/mahjong_ranking/forms.py
+++ b/src/mahjong_ranking/forms.py
@@ -5,12 +5,12 @@ Created on 04.10.2011
@author: christian
"""
-from django.contrib.auth import get_user_model
from django import forms
+from django.contrib.auth import get_user_model
from django.utils.translation import ugettext as _
-from . import models
from events.models import Event
+from . import models
USER_MODEL = get_user_model()
@@ -48,6 +48,17 @@ class HanchanForm(forms.ModelForm):
self.fields[player_input_score].widget.attrs['type'] = 'number'
self.fields[player].queryset = player_queryset
+ def is_valid(self):
+ ret = forms.Form.is_valid(self)
+ for field, errors in self.errors.items():
+ message = ", ".join(set(errors))
+ print(type(field), type(errors))
+ self.fields[field].widget.attrs.update({
+ 'class': self.fields[field].widget.attrs.get('class', '') + ' error',
+ 'title': message
+ })
+ return ret
+
class HanchanAdminForm(HanchanForm):
""" Extends the HanchanForm for users with admin privileges.
@@ -60,6 +71,7 @@ class HanchanAdminForm(HanchanForm):
model = models.Hanchan
fields = HanchanForm.Meta.fields + ('confirmed',)
+
HanchanFormset = forms.inlineformset_factory(Event, models.Hanchan,
form=HanchanForm,
extra=1,
diff --git a/src/mahjong_ranking/locale/de/LC_MESSAGES/django.po b/src/mahjong_ranking/locale/de/LC_MESSAGES/django.po
index 6ca0ee0..ee79ef1 100644
--- a/src/mahjong_ranking/locale/de/LC_MESSAGES/django.po
+++ b/src/mahjong_ranking/locale/de/LC_MESSAGES/django.po
@@ -7,9 +7,9 @@ msgid ""
msgstr ""
"Project-Id-Version: kasu.mahjong_ranking\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2017-06-19 22:46+0200\n"
-"PO-Revision-Date: 2016-09-28 00:24+0200\n"
-"Last-Translator: Christian Berg \n"
+"POT-Creation-Date: 2018-01-11 22:50+0100\n"
+"PO-Revision-Date: 2018-01-12 15:23+0105\n"
+"Last-Translator: b'Christian Berg '\n"
"Language-Team: Kasu \n"
"Language: de\n"
"MIME-Version: 1.0\n"
@@ -17,381 +17,390 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"X-Generator: Poedit 1.8.9\n"
-"X-Translated-Using: django-rosetta 0.7.6\n"
+"X-Translated-Using: django-rosetta 0.7.14\n"
-#: mahjong_ranking/admin.py:26
+#: src/mahjong_ranking/admin.py:24
msgid "Recalculate"
msgstr "Neuberechnen"
-#: mahjong_ranking/admin.py:36
+#: src/mahjong_ranking/admin.py:34
msgid "Confirm"
msgstr "Bestätigen"
-#: mahjong_ranking/admin.py:46
+#: src/mahjong_ranking/admin.py:44
msgid "Set unconfirmed"
msgstr "Als unbestätigt markieren"
-#: mahjong_ranking/forms.py:21
+#: src/mahjong_ranking/forms.py:22
msgid "start"
msgstr "Beginn"
-#: mahjong_ranking/models.py:89
-#: mahjong_ranking/templates/mahjong_ranking/player_dan_score.html:14
-#: mahjong_ranking/templates/mahjong_ranking/player_invalid_score.html:13
-#: mahjong_ranking/templates/mahjong_ranking/player_kyu_score.html:15
-#: mahjong_ranking/templates/mahjong_ranking/player_ladder_score.html:15
-#: mahjong_ranking/templates/mahjong_ranking/seasonranking_list.html:10
+#: src/mahjong_ranking/models.py:91
+#: src/mahjong_ranking/templates/mahjong_ranking/player_dan_score.html:14
+#: src/mahjong_ranking/templates/mahjong_ranking/player_invalid_score.html:13
+#: src/mahjong_ranking/templates/mahjong_ranking/player_kyu_score.html:15
+#: src/mahjong_ranking/templates/mahjong_ranking/player_ladder_score.html:15
+#: src/mahjong_ranking/templates/mahjong_ranking/seasonranking_list.html:10
msgid "Start"
msgstr "Beginn"
-#: mahjong_ranking/models.py:90
+#: src/mahjong_ranking/models.py:92
msgid "This is crucial to get the right Hanchans that scores"
msgstr "Wichtig damit die richtigen Hanchans in die Wertung kommen."
-#: mahjong_ranking/models.py:97
+#: src/mahjong_ranking/models.py:99
msgid "Player 1"
msgstr "Spieler 1"
-#: mahjong_ranking/models.py:98 mahjong_ranking/models.py:100
-#: mahjong_ranking/models.py:117 mahjong_ranking/models.py:119
-#: mahjong_ranking/models.py:136 mahjong_ranking/models.py:138
-#: mahjong_ranking/models.py:155 mahjong_ranking/models.py:157
-#: mahjong_ranking/templates/mahjong_ranking/eventhanchan_list.html:19
-#: mahjong_ranking/templates/mahjong_ranking/eventranking_list.html:21
-#: mahjong_ranking/templates/mahjong_ranking/hanchan_confirm_delete.html:16
-#: mahjong_ranking/templates/mahjong_ranking/hanchan_form.html:19
-#: mahjong_ranking/templates/mahjong_ranking/kyudanranking_list.html:35
-#: mahjong_ranking/templates/mahjong_ranking/seasonranking_list.html:32
+#: src/mahjong_ranking/models.py:100 src/mahjong_ranking/models.py:102
+#: src/mahjong_ranking/models.py:119 src/mahjong_ranking/models.py:121
+#: src/mahjong_ranking/models.py:138 src/mahjong_ranking/models.py:140
+#: src/mahjong_ranking/models.py:157 src/mahjong_ranking/models.py:159
+#: src/mahjong_ranking/templates/mahjong_ranking/eventhanchan_list.html:19
+#: src/mahjong_ranking/templates/mahjong_ranking/eventranking_list.html:21
+#: src/mahjong_ranking/templates/mahjong_ranking/hanchan_confirm_delete.html:16
+#: src/mahjong_ranking/templates/mahjong_ranking/hanchan_form.html:19
+#: src/mahjong_ranking/templates/mahjong_ranking/kyudanranking_list.html:35
+#: src/mahjong_ranking/templates/mahjong_ranking/seasonranking_list.html:32
msgid "Score"
msgstr "Punkte"
-#: mahjong_ranking/models.py:110 mahjong_ranking/models.py:129
-#: mahjong_ranking/models.py:148 mahjong_ranking/models.py:167
-#: mahjong_ranking/models.py:169
-#: mahjong_ranking/templates/mahjong_ranking/hanchan_form.html:20
-#: mahjong_ranking/templates/mahjong_ranking/player_dan_score.html:18
-#: mahjong_ranking/templates/mahjong_ranking/player_invalid_score.html:17
+#: src/mahjong_ranking/models.py:112 src/mahjong_ranking/models.py:131
+#: src/mahjong_ranking/models.py:150 src/mahjong_ranking/models.py:169
+#: src/mahjong_ranking/models.py:171
+#: src/mahjong_ranking/templates/mahjong_ranking/hanchan_form.html:20
+#: src/mahjong_ranking/templates/mahjong_ranking/player_dan_score.html:18
+#: src/mahjong_ranking/templates/mahjong_ranking/player_invalid_score.html:17
msgid "Comment"
msgstr "Kommentar"
-#: mahjong_ranking/models.py:116
+#: src/mahjong_ranking/models.py:118
msgid "Player 2"
msgstr "Spieler 2"
-#: mahjong_ranking/models.py:135
+#: src/mahjong_ranking/models.py:137
msgid "Player 3"
msgstr "Spieler 3"
-#: mahjong_ranking/models.py:154
+#: src/mahjong_ranking/models.py:156
msgid "Player 4"
msgstr "Spieler 4"
-#: mahjong_ranking/models.py:170
+#: src/mahjong_ranking/models.py:173
msgid "Has been Confirmed"
msgstr "Wurde bestätigt"
-#: mahjong_ranking/models.py:172
+#: src/mahjong_ranking/models.py:174
msgid "Only valid and confirmed Hanchans will be counted in the rating."
msgstr "Nur gültige und bestätigte Hanchans kommen in die Wertung."
-#: mahjong_ranking/models.py:177 mahjong_ranking/models.py:576
-#: mahjong_ranking/templates/mahjong_ranking/ladder_redbox.html:29
-#: mahjong_ranking/templates/mahjong_ranking/player_ladder_score.html:63
+#: src/mahjong_ranking/models.py:179 src/mahjong_ranking/models.py:607
+#: src/mahjong_ranking/templates/mahjong_ranking/ladder_redbox.html:29
+#: src/mahjong_ranking/templates/mahjong_ranking/player_ladder_score.html:63
msgid "Season"
msgstr "Saison"
-#: mahjong_ranking/models.py:182
+#: src/mahjong_ranking/models.py:184
msgid "Hanchan"
msgstr "Hanchan"
-#: mahjong_ranking/models.py:183
-#: mahjong_ranking/templates/mahjong_ranking/eventranking_list.html:17
+#: src/mahjong_ranking/models.py:185
+#: src/mahjong_ranking/templates/mahjong_ranking/eventranking_list.html:17
msgid "Hanchans"
msgstr "Hanchans"
-#: mahjong_ranking/models.py:186
+#: src/mahjong_ranking/models.py:188
msgid "Hanchan from {0:%Y-%m-%d} at {0:%H:%M} with {1}"
msgstr "Hanchan vom {0:%Y-%m-%d} um {0:%H:%M} mit {1}"
-#: mahjong_ranking/models.py:213
+#: src/mahjong_ranking/models.py:215
#, python-format
msgid "%s can't attend the same game multiple times"
msgstr "%s kann an einem Spiel nicht mehrfach teilnehmen."
-#: mahjong_ranking/models.py:221
+#: src/mahjong_ranking/models.py:223
msgid "Games in the future may not be added, Dr. Brown"
msgstr "Spiele aus der Zukunft dürfen noch nicht erfasst werden. Dr. Brown."
-#: mahjong_ranking/models.py:223
+#: src/mahjong_ranking/models.py:225
msgid "Only games during the event are allowed"
msgstr "Nur Spiele während der Veranstaltung zählen."
-#: mahjong_ranking/models.py:226
+#: src/mahjong_ranking/models.py:228
msgid "Gamescore is lower then 100.000 Pt."
msgstr "Spielstand ist weniger als 100.000 Punkte"
-#: mahjong_ranking/models.py:228
+#: src/mahjong_ranking/models.py:230
msgid "Gamescore is over 100.000 Pt."
msgstr "Spielstand ist über 100.000 Punkte."
-#: mahjong_ranking/models.py:352
+#: src/mahjong_ranking/models.py:362
msgid "Kyū/Dan Ranking"
msgstr "Kyū/Dan Wertung"
-#: mahjong_ranking/models.py:353
+#: src/mahjong_ranking/models.py:363
msgid "Kyū/Dan Rankings"
msgstr "Kyū/Dan Wertungen"
-#: mahjong_ranking/templates/mahjong_ranking/eventhanchan_list.html:7
-msgid "Played Hanchans"
-msgstr "Gespielte Hanchans"
+#: src/mahjong_ranking/templates/mahjong_ranking/eventhanchan_form.html:11
+#: src/mahjong_ranking/templates/mahjong_ranking/eventhanchan_list.html:55
+#| msgid "Edit Hanchan"
+msgid "Edit Hanchans"
+msgstr "Hanchans bearbeiten"
-#: mahjong_ranking/templates/mahjong_ranking/eventhanchan_list.html:18
-#: mahjong_ranking/templates/mahjong_ranking/hanchan_confirm_delete.html:15
-msgid "Place"
-msgstr "Platz"
-
-#: mahjong_ranking/templates/mahjong_ranking/eventhanchan_list.html:21
-#: mahjong_ranking/templates/mahjong_ranking/hanchan_confirm_delete.html:18
-#: mahjong_ranking/templates/mahjong_ranking/player_dan_score.html:17
-msgid "Dan Points"
-msgstr "Dan Punkte"
-
-#: mahjong_ranking/templates/mahjong_ranking/eventhanchan_list.html:23
-#: mahjong_ranking/templates/mahjong_ranking/hanchan_confirm_delete.html:20
-#: mahjong_ranking/templates/mahjong_ranking/player_invalid_score.html:16
-#: mahjong_ranking/templates/mahjong_ranking/player_kyu_score.html:18
-msgid "Kyu Points"
-msgstr "Kyu Punkte"
-
-#: mahjong_ranking/templates/mahjong_ranking/eventhanchan_list.html:37
-#: mahjong_ranking/templates/mahjong_ranking/hanchan_confirm_delete.html:4
-#: mahjong_ranking/templates/mahjong_ranking/hanchan_confirm_delete.html:33
-#: mahjong_ranking/templates/mahjong_ranking/player_dan_score.html:44
-#: mahjong_ranking/templates/mahjong_ranking/player_invalid_score.html:33
-#: mahjong_ranking/templates/mahjong_ranking/player_kyu_score.html:41
-#: mahjong_ranking/templates/mahjong_ranking/player_ladder_score.html:52
-msgid "Delete Hanchan"
-msgstr "Hanchan löschen"
-
-#: mahjong_ranking/templates/mahjong_ranking/eventhanchan_list.html:43
-#: mahjong_ranking/templates/mahjong_ranking/hanchan_form.html:4
-#: mahjong_ranking/templates/mahjong_ranking/hanchan_form.html:14
-#: mahjong_ranking/templates/mahjong_ranking/player_dan_score.html:47
-#: mahjong_ranking/templates/mahjong_ranking/player_invalid_score.html:36
-#: mahjong_ranking/templates/mahjong_ranking/player_kyu_score.html:44
-#: mahjong_ranking/templates/mahjong_ranking/player_ladder_score.html:55
-msgid "Edit Hanchan"
-msgstr "Hanchan bearbeiten"
-
-#: mahjong_ranking/templates/mahjong_ranking/eventhanchan_list.html:48
-msgid "No Hanchan has been added to this event yet."
-msgstr "Für diese Veranstaltung wurde noch keine Hanchan eingetragen."
-
-#: mahjong_ranking/templates/mahjong_ranking/eventhanchan_list.html:54
-#: mahjong_ranking/templates/mahjong_ranking/eventranking_list.html:51
-msgid "Edit Event"
-msgstr "Veranstaltung bearbeiten"
-
-#: mahjong_ranking/templates/mahjong_ranking/eventhanchan_list.html:55
-#: mahjong_ranking/templates/mahjong_ranking/eventranking_list.html:52
-#: mahjong_ranking/templates/mahjong_ranking/hanchan_form.html:4
-#: mahjong_ranking/templates/mahjong_ranking/hanchan_form.html:14
+#: src/mahjong_ranking/templates/mahjong_ranking/eventhanchan_form.html:82
+#: src/mahjong_ranking/templates/mahjong_ranking/eventhanchan_list.html:56
+#: src/mahjong_ranking/templates/mahjong_ranking/eventranking_list.html:52
+#: src/mahjong_ranking/templates/mahjong_ranking/hanchan_form.html:4
+#: src/mahjong_ranking/templates/mahjong_ranking/hanchan_form.html:14
msgid "Add Hanchan"
msgstr "Hanchan hinzufügen"
-#: mahjong_ranking/templates/mahjong_ranking/eventranking_list.html:4
-#: mahjong_ranking/templates/mahjong_ranking/eventranking_list.html:5
-msgid "Tournament Ranking"
-msgstr "Turnierwertung"
+#: src/mahjong_ranking/templates/mahjong_ranking/eventhanchan_form.html:84
+#: src/mahjong_ranking/templates/mahjong_ranking/eventhanchan_list.html:37
+#: src/mahjong_ranking/templates/mahjong_ranking/hanchan_confirm_delete.html:4
+#: src/mahjong_ranking/templates/mahjong_ranking/hanchan_confirm_delete.html:33
+#: src/mahjong_ranking/templates/mahjong_ranking/player_dan_score.html:44
+#: src/mahjong_ranking/templates/mahjong_ranking/player_invalid_score.html:33
+#: src/mahjong_ranking/templates/mahjong_ranking/player_kyu_score.html:41
+#: src/mahjong_ranking/templates/mahjong_ranking/player_ladder_score.html:52
+msgid "Delete Hanchan"
+msgstr "Hanchan löschen"
-#: mahjong_ranking/templates/mahjong_ranking/eventranking_list.html:12
-#: mahjong_ranking/templates/mahjong_ranking/kyudanranking_list.html:30
-#: mahjong_ranking/templates/mahjong_ranking/seasonranking_list.html:23
-msgid "Rank"
-msgstr "Rang"
-
-#: mahjong_ranking/templates/mahjong_ranking/eventranking_list.html:13
-#: mahjong_ranking/templates/mahjong_ranking/kyudanranking_list.html:17
-#: mahjong_ranking/templates/mahjong_ranking/seasonranking_list.html:24
-msgid "Avatar"
-msgstr "Avatar"
-
-#: mahjong_ranking/templates/mahjong_ranking/eventranking_list.html:14
-#: mahjong_ranking/templates/mahjong_ranking/kyudanranking_list.html:20
-#: mahjong_ranking/templates/mahjong_ranking/seasonranking_list.html:25
-msgid "Nickname"
-msgstr "Spitzname"
-
-#: mahjong_ranking/templates/mahjong_ranking/eventranking_list.html:15
-#: mahjong_ranking/templates/mahjong_ranking/seasonranking_list.html:26
-msgid "Name"
-msgstr "Name"
-
-#: mahjong_ranking/templates/mahjong_ranking/eventranking_list.html:16
-#: mahjong_ranking/templates/mahjong_ranking/seasonranking_list.html:27
-msgid "Average"
-msgstr "Durchschnitt"
-
-#: mahjong_ranking/templates/mahjong_ranking/eventranking_list.html:20
-#: mahjong_ranking/templates/mahjong_ranking/player_dan_score.html:15
-#: mahjong_ranking/templates/mahjong_ranking/player_invalid_score.html:15
-#: mahjong_ranking/templates/mahjong_ranking/player_kyu_score.html:16
-#: mahjong_ranking/templates/mahjong_ranking/player_ladder_score.html:16
-#: mahjong_ranking/templates/mahjong_ranking/seasonranking_list.html:31
-msgid "Placement"
-msgstr "Platzierung"
-
-#: mahjong_ranking/templates/mahjong_ranking/eventranking_list.html:22
-#: mahjong_ranking/templates/mahjong_ranking/seasonranking_list.html:33
-msgid "count"
-msgstr "Anzahl"
-
-#: mahjong_ranking/templates/mahjong_ranking/eventranking_list.html:23
-#: mahjong_ranking/templates/mahjong_ranking/seasonranking_list.html:34
-msgid "good"
-msgstr "gut"
-
-#: mahjong_ranking/templates/mahjong_ranking/eventranking_list.html:24
-#: mahjong_ranking/templates/mahjong_ranking/seasonranking_list.html:35
-msgid "won"
-msgstr "gewonnen"
-
-#: mahjong_ranking/templates/mahjong_ranking/hanchan_confirm_delete.html:39
-msgid "Cancel"
-msgstr "Abbruch"
-
-#: mahjong_ranking/templates/mahjong_ranking/hanchan_confirm_delete.html:40
-msgid "Delete"
-msgstr "Löschen"
-
-#: mahjong_ranking/templates/mahjong_ranking/hanchan_form.html:18
-msgid "Player"
-msgstr "Spieler"
-
-#: mahjong_ranking/templates/mahjong_ranking/hanchan_form.html:58
-msgid "Total"
-msgstr "Total"
-
-#: mahjong_ranking/templates/mahjong_ranking/hanchan_form.html:71
+#: src/mahjong_ranking/templates/mahjong_ranking/eventhanchan_form.html:94
+#: src/mahjong_ranking/templates/mahjong_ranking/hanchan_form.html:71
msgid "back"
msgstr "Zurück"
-#: mahjong_ranking/templates/mahjong_ranking/hanchan_form.html:72
+#: src/mahjong_ranking/templates/mahjong_ranking/eventhanchan_form.html:95
+#: src/mahjong_ranking/templates/mahjong_ranking/hanchan_form.html:72
msgid "save"
msgstr "Speichern"
-#: mahjong_ranking/templates/mahjong_ranking/kyudanranking_list.html:4
-#: mahjong_ranking/templates/mahjong_ranking/kyudanranking_list.html:9
+#: src/mahjong_ranking/templates/mahjong_ranking/eventhanchan_list.html:7
+msgid "Played Hanchans"
+msgstr "Gespielte Hanchans"
+
+#: src/mahjong_ranking/templates/mahjong_ranking/eventhanchan_list.html:18
+#: src/mahjong_ranking/templates/mahjong_ranking/hanchan_confirm_delete.html:15
+msgid "Place"
+msgstr "Platz"
+
+#: src/mahjong_ranking/templates/mahjong_ranking/eventhanchan_list.html:21
+#: src/mahjong_ranking/templates/mahjong_ranking/hanchan_confirm_delete.html:18
+#: src/mahjong_ranking/templates/mahjong_ranking/player_dan_score.html:17
+msgid "Dan Points"
+msgstr "Dan Punkte"
+
+#: src/mahjong_ranking/templates/mahjong_ranking/eventhanchan_list.html:23
+#: src/mahjong_ranking/templates/mahjong_ranking/hanchan_confirm_delete.html:20
+#: src/mahjong_ranking/templates/mahjong_ranking/player_invalid_score.html:16
+#: src/mahjong_ranking/templates/mahjong_ranking/player_kyu_score.html:18
+msgid "Kyu Points"
+msgstr "Kyu Punkte"
+
+#: src/mahjong_ranking/templates/mahjong_ranking/eventhanchan_list.html:43
+#: src/mahjong_ranking/templates/mahjong_ranking/hanchan_form.html:4
+#: src/mahjong_ranking/templates/mahjong_ranking/hanchan_form.html:14
+#: src/mahjong_ranking/templates/mahjong_ranking/player_dan_score.html:47
+#: src/mahjong_ranking/templates/mahjong_ranking/player_invalid_score.html:36
+#: src/mahjong_ranking/templates/mahjong_ranking/player_kyu_score.html:44
+#: src/mahjong_ranking/templates/mahjong_ranking/player_ladder_score.html:55
+msgid "Edit Hanchan"
+msgstr "Hanchan bearbeiten"
+
+#: src/mahjong_ranking/templates/mahjong_ranking/eventhanchan_list.html:48
+msgid "No Hanchan has been added to this event yet."
+msgstr "Für diese Veranstaltung wurde noch keine Hanchan eingetragen."
+
+#: src/mahjong_ranking/templates/mahjong_ranking/eventhanchan_list.html:54
+#: src/mahjong_ranking/templates/mahjong_ranking/eventranking_list.html:51
+msgid "Edit Event"
+msgstr "Veranstaltung bearbeiten"
+
+#: src/mahjong_ranking/templates/mahjong_ranking/eventranking_list.html:4
+#: src/mahjong_ranking/templates/mahjong_ranking/eventranking_list.html:5
+msgid "Tournament Ranking"
+msgstr "Turnierwertung"
+
+#: src/mahjong_ranking/templates/mahjong_ranking/eventranking_list.html:12
+#: src/mahjong_ranking/templates/mahjong_ranking/kyudanranking_list.html:30
+#: src/mahjong_ranking/templates/mahjong_ranking/seasonranking_list.html:23
+msgid "Rank"
+msgstr "Rang"
+
+#: src/mahjong_ranking/templates/mahjong_ranking/eventranking_list.html:13
+#: src/mahjong_ranking/templates/mahjong_ranking/kyudanranking_list.html:17
+#: src/mahjong_ranking/templates/mahjong_ranking/seasonranking_list.html:24
+msgid "Avatar"
+msgstr "Avatar"
+
+#: src/mahjong_ranking/templates/mahjong_ranking/eventranking_list.html:14
+#: src/mahjong_ranking/templates/mahjong_ranking/kyudanranking_list.html:20
+#: src/mahjong_ranking/templates/mahjong_ranking/seasonranking_list.html:25
+msgid "Nickname"
+msgstr "Spitzname"
+
+#: src/mahjong_ranking/templates/mahjong_ranking/eventranking_list.html:15
+#: src/mahjong_ranking/templates/mahjong_ranking/seasonranking_list.html:26
+msgid "Name"
+msgstr "Name"
+
+#: src/mahjong_ranking/templates/mahjong_ranking/eventranking_list.html:16
+#: src/mahjong_ranking/templates/mahjong_ranking/seasonranking_list.html:27
+msgid "Average"
+msgstr "Durchschnitt"
+
+#: src/mahjong_ranking/templates/mahjong_ranking/eventranking_list.html:20
+#: src/mahjong_ranking/templates/mahjong_ranking/player_dan_score.html:15
+#: src/mahjong_ranking/templates/mahjong_ranking/player_invalid_score.html:15
+#: src/mahjong_ranking/templates/mahjong_ranking/player_kyu_score.html:16
+#: src/mahjong_ranking/templates/mahjong_ranking/player_ladder_score.html:16
+#: src/mahjong_ranking/templates/mahjong_ranking/seasonranking_list.html:31
+msgid "Placement"
+msgstr "Platzierung"
+
+#: src/mahjong_ranking/templates/mahjong_ranking/eventranking_list.html:22
+#: src/mahjong_ranking/templates/mahjong_ranking/seasonranking_list.html:33
+msgid "count"
+msgstr "Anzahl"
+
+#: src/mahjong_ranking/templates/mahjong_ranking/eventranking_list.html:23
+#: src/mahjong_ranking/templates/mahjong_ranking/seasonranking_list.html:34
+msgid "good"
+msgstr "gut"
+
+#: src/mahjong_ranking/templates/mahjong_ranking/eventranking_list.html:24
+#: src/mahjong_ranking/templates/mahjong_ranking/seasonranking_list.html:35
+msgid "won"
+msgstr "gewonnen"
+
+#: src/mahjong_ranking/templates/mahjong_ranking/hanchan_confirm_delete.html:39
+msgid "Cancel"
+msgstr "Abbruch"
+
+#: src/mahjong_ranking/templates/mahjong_ranking/hanchan_confirm_delete.html:40
+msgid "Delete"
+msgstr "Löschen"
+
+#: src/mahjong_ranking/templates/mahjong_ranking/hanchan_form.html:18
+msgid "Player"
+msgstr "Spieler"
+
+#: src/mahjong_ranking/templates/mahjong_ranking/hanchan_form.html:58
+msgid "Total"
+msgstr "Total"
+
+#: src/mahjong_ranking/templates/mahjong_ranking/kyudanranking_list.html:4
+#: src/mahjong_ranking/templates/mahjong_ranking/kyudanranking_list.html:9
msgid "Player List"
msgstr "Spieler Liste"
-#: mahjong_ranking/templates/mahjong_ranking/kyudanranking_list.html:25
+#: src/mahjong_ranking/templates/mahjong_ranking/kyudanranking_list.html:25
msgid "Full Name"
msgstr "Voller Name"
-#: mahjong_ranking/templates/mahjong_ranking/kyudanranking_list.html:40
+#: src/mahjong_ranking/templates/mahjong_ranking/kyudanranking_list.html:40
msgid "Games Total"
msgstr "Spiele total"
-#: mahjong_ranking/templates/mahjong_ranking/ladder_redbox.html:3
+#: src/mahjong_ranking/templates/mahjong_ranking/ladder_redbox.html:3
msgid "Latest Hanchans"
msgstr "Letzten Hanchans"
-#: mahjong_ranking/templates/mahjong_ranking/ladder_redbox.html:15
+#: src/mahjong_ranking/templates/mahjong_ranking/ladder_redbox.html:15
msgid "Latest Events"
msgstr "Letzte Veranstaltungen"
-#: mahjong_ranking/templates/mahjong_ranking/ladder_redbox.html:27
+#: src/mahjong_ranking/templates/mahjong_ranking/ladder_redbox.html:27
msgid "Ladder Archive"
msgstr "Ladder Archiv"
-#: mahjong_ranking/templates/mahjong_ranking/player_dan_score.html:4
-#: mahjong_ranking/templates/mahjong_ranking/player_dan_score.html:5
+#: src/mahjong_ranking/templates/mahjong_ranking/player_dan_score.html:4
+#: src/mahjong_ranking/templates/mahjong_ranking/player_dan_score.html:5
msgid "Dan Score for"
msgstr "Dan Wertung für"
-#: mahjong_ranking/templates/mahjong_ranking/player_dan_score.html:8
+#: src/mahjong_ranking/templates/mahjong_ranking/player_dan_score.html:8
msgid "Hanchans that apply to the Dan Score"
msgstr "Hanchans welche zur Dan Wertung zählen"
-#: mahjong_ranking/templates/mahjong_ranking/player_dan_score.html:12
-#: mahjong_ranking/templates/mahjong_ranking/player_kyu_score.html:13
-#: mahjong_ranking/templates/mahjong_ranking/player_ladder_score.html:13
+#: src/mahjong_ranking/templates/mahjong_ranking/player_dan_score.html:12
+#: src/mahjong_ranking/templates/mahjong_ranking/player_kyu_score.html:13
+#: src/mahjong_ranking/templates/mahjong_ranking/player_ladder_score.html:13
msgid "Date"
msgstr "Datum"
-#: mahjong_ranking/templates/mahjong_ranking/player_dan_score.html:13
-#: mahjong_ranking/templates/mahjong_ranking/player_invalid_score.html:12
-#: mahjong_ranking/templates/mahjong_ranking/player_kyu_score.html:14
-#: mahjong_ranking/templates/mahjong_ranking/player_ladder_score.html:14
+#: src/mahjong_ranking/templates/mahjong_ranking/player_dan_score.html:13
+#: src/mahjong_ranking/templates/mahjong_ranking/player_invalid_score.html:12
+#: src/mahjong_ranking/templates/mahjong_ranking/player_kyu_score.html:14
+#: src/mahjong_ranking/templates/mahjong_ranking/player_ladder_score.html:14
msgid "Event"
msgstr "Veranstaltung"
-#: mahjong_ranking/templates/mahjong_ranking/player_dan_score.html:16
-#: mahjong_ranking/templates/mahjong_ranking/player_invalid_score.html:14
-#: mahjong_ranking/templates/mahjong_ranking/player_kyu_score.html:17
-#: mahjong_ranking/templates/mahjong_ranking/player_ladder_score.html:17
+#: src/mahjong_ranking/templates/mahjong_ranking/player_dan_score.html:16
+#: src/mahjong_ranking/templates/mahjong_ranking/player_invalid_score.html:14
+#: src/mahjong_ranking/templates/mahjong_ranking/player_kyu_score.html:17
+#: src/mahjong_ranking/templates/mahjong_ranking/player_ladder_score.html:17
msgid "Players"
msgstr "Spieler"
-#: mahjong_ranking/templates/mahjong_ranking/player_invalid_score.html:4
-#: mahjong_ranking/templates/mahjong_ranking/player_invalid_score.html:6
+#: src/mahjong_ranking/templates/mahjong_ranking/player_invalid_score.html:4
+#: src/mahjong_ranking/templates/mahjong_ranking/player_invalid_score.html:6
msgid "Unconfirmed Hanchans from"
msgstr "Nicht bestätigte Hanchans von"
-#: mahjong_ranking/templates/mahjong_ranking/player_invalid_score.html:9
+#: src/mahjong_ranking/templates/mahjong_ranking/player_invalid_score.html:9
msgid "Invalid hanchans with"
msgstr "Ungültige Hanchans mit"
-#: mahjong_ranking/templates/mahjong_ranking/player_kyu_score.html:4
-#: mahjong_ranking/templates/mahjong_ranking/player_kyu_score.html:6
+#: src/mahjong_ranking/templates/mahjong_ranking/player_kyu_score.html:4
+#: src/mahjong_ranking/templates/mahjong_ranking/player_kyu_score.html:6
msgid "Kyu Score for"
msgstr "Kyu Wertung für"
-#: mahjong_ranking/templates/mahjong_ranking/player_kyu_score.html:9
+#: src/mahjong_ranking/templates/mahjong_ranking/player_kyu_score.html:9
msgid "Hanchans that apply to the Kyu Score"
msgstr "Hanchans welche zur Kyu Wertung zählen"
-#: mahjong_ranking/templates/mahjong_ranking/player_ladder_score.html:4
-#: mahjong_ranking/templates/mahjong_ranking/player_ladder_score.html:5
+#: src/mahjong_ranking/templates/mahjong_ranking/player_ladder_score.html:4
+#: src/mahjong_ranking/templates/mahjong_ranking/player_ladder_score.html:5
msgid "Ladder Score for"
msgstr "Ladder Wertung für"
-#: mahjong_ranking/templates/mahjong_ranking/player_ladder_score.html:8
+#: src/mahjong_ranking/templates/mahjong_ranking/player_ladder_score.html:8
msgid "Hanchans that apply to the Ladder Score"
msgstr "Hanchans welche in der Ladder zählen"
-#: mahjong_ranking/templates/mahjong_ranking/player_ladder_score.html:71
+#: src/mahjong_ranking/templates/mahjong_ranking/player_ladder_score.html:71
msgid "Go"
msgstr "Los"
-#: mahjong_ranking/templates/mahjong_ranking/seasonranking_list.html:11
+#: src/mahjong_ranking/templates/mahjong_ranking/seasonranking_list.html:11
msgid "End"
msgstr "Ende"
-#: mahjong_ranking/templates/mahjong_ranking/seasonranking_list.html:12
+#: src/mahjong_ranking/templates/mahjong_ranking/seasonranking_list.html:12
msgid "Participants"
msgstr "Teilnehmer"
-#: mahjong_ranking/views.py:98
+#: src/mahjong_ranking/views.py:104
#, python-format
msgid "%s has been updated successfully."
msgstr "%s wurde erfolgreich aktualisiert."
-#: mahjong_ranking/views.py:101
+#: src/mahjong_ranking/views.py:107
#, python-format
msgid "%s has been added successfully. You can now add a new one."
msgstr "%s wurde erfolgreich hinzugefügt. Du kannst eine neue eintragen."
-#: mahjong_ranking/views.py:119 mahjong_ranking/views.py:135
-msgid "Event does not exist"
-msgstr "Veranstaltung existiert nicht"
-
-#: mahjong_ranking/views.py:199
+#: src/mahjong_ranking/views.py:207
msgid "No user found matching the name {}"
msgstr "Kein Benutzer mit dem Namen %s gefunden"
+#~ msgid "Event does not exist"
+#~ msgstr "Veranstaltung existiert nicht"
+
#~ msgid "It's not allowed to enter future games."
#~ msgstr "Spiele in der Zukunft sind nicht erlaubt."
diff --git a/src/mahjong_ranking/templates/mahjong_ranking/eventhanchan_form.html b/src/mahjong_ranking/templates/mahjong_ranking/eventhanchan_form.html
index de744d9..1ae7d4f 100755
--- a/src/mahjong_ranking/templates/mahjong_ranking/eventhanchan_form.html
+++ b/src/mahjong_ranking/templates/mahjong_ranking/eventhanchan_form.html
@@ -2,9 +2,15 @@
{% block title %}Hanchans: {{ event.name }}{% endblock %}
-{% block maincontent %}{% trans 'Edit Hanchans' %}
+{% block extra_head %}
+
+
+{% endblock %}
-
+
{% endblock %}
-{% block comments %}{% endblock %}{% block buttonbar %}{% endblock %}
+{% block comments %}{% endblock %}
+
+{% block buttonbar %}
+ {% trans 'back' %}
+ {% trans 'save' %}
+{% endblock %}
diff --git a/src/mahjong_ranking/templates/mahjong_ranking/eventhanchan_list.html b/src/mahjong_ranking/templates/mahjong_ranking/eventhanchan_list.html
index 941c5e3..ce36ab5 100755
--- a/src/mahjong_ranking/templates/mahjong_ranking/eventhanchan_list.html
+++ b/src/mahjong_ranking/templates/mahjong_ranking/eventhanchan_list.html
@@ -52,6 +52,7 @@
{% block buttonbar %}
{% if perms.mahjong_ranking.add_hanchan %}
{% trans 'Edit Event' %}
+ {% trans 'Edit Hanchans' %}
{% trans 'Add Hanchan' %}
{% endif %}
-{% endblock %}
\ No newline at end of file
+{% endblock %}
diff --git a/src/mahjong_ranking/views.py b/src/mahjong_ranking/views.py
index 1c305b1..4be1877 100644
--- a/src/mahjong_ranking/views.py
+++ b/src/mahjong_ranking/views.py
@@ -111,7 +111,7 @@ class HanchanForm(SuccessMessageMixin, EventDetailMixin,
class EventHanchanForm(EventDetailMixin, PermissionRequiredMixin,
generic.TemplateView):
"""Display a Formset to add and Edit Hanchans of the specific Event."""
- permission_required = 'mahjong_ranking.edit_hanchan'
+ permission_required = 'mahjong_ranking.add_hanchan'
template_name = 'mahjong_ranking/eventhanchan_form.html'
model=models.Hanchan
diff --git a/src/maistar_ranking/locale/de/LC_MESSAGES/django.po b/src/maistar_ranking/locale/de/LC_MESSAGES/django.po
index 05fe21b..67ae8c4 100644
--- a/src/maistar_ranking/locale/de/LC_MESSAGES/django.po
+++ b/src/maistar_ranking/locale/de/LC_MESSAGES/django.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: kasu.mahjong_ranking\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2017-06-19 22:46+0200\n"
+"POT-Creation-Date: 2018-01-11 22:50+0100\n"
"PO-Revision-Date: 2016-09-28 00:24+0200\n"
"Last-Translator: Christian Berg \n"
"Language-Team: Kasu \n"
@@ -19,208 +19,208 @@ msgstr ""
"X-Generator: Poedit 1.8.9\n"
"X-Translated-Using: django-rosetta 0.7.2\n"
-#: maistar_ranking/admin.py:19
+#: src/maistar_ranking/admin.py:24
msgid "Recalculate"
msgstr "Neuberechnen"
-#: maistar_ranking/forms.py:33
+#: src/maistar_ranking/forms.py:35
#, python-format
msgid "%s may only participate once."
msgstr "%s darf nur einmal teilnehmen."
-#: maistar_ranking/models.py:20
+#: src/maistar_ranking/models.py:21
msgid "Comment"
msgstr "Kommentar"
-#: maistar_ranking/models.py:22
+#: src/maistar_ranking/models.py:24
msgid "Player 1"
msgstr "Spieler 1"
-#: maistar_ranking/models.py:24 maistar_ranking/models.py:30
-#: maistar_ranking/models.py:36 maistar_ranking/models.py:42
-#: maistar_ranking/models.py:48 maistar_ranking/models.py:54
-#: maistar_ranking/templates/maistar_ranking/ranking_list.html:19
+#: src/maistar_ranking/models.py:26 src/maistar_ranking/models.py:33
+#: src/maistar_ranking/models.py:40 src/maistar_ranking/models.py:47
+#: src/maistar_ranking/models.py:54 src/maistar_ranking/models.py:61
+#: src/maistar_ranking/templates/maistar_ranking/ranking_list.html:19
msgid "Score"
msgstr "Punkte"
-#: maistar_ranking/models.py:28
+#: src/maistar_ranking/models.py:31
msgid "Player 2"
msgstr "Spieler 2"
-#: maistar_ranking/models.py:34
+#: src/maistar_ranking/models.py:38
msgid "Player 3"
msgstr "Spieler 3"
-#: maistar_ranking/models.py:40
+#: src/maistar_ranking/models.py:45
msgid "Player 4"
msgstr "Spieler 4"
-#: maistar_ranking/models.py:46
+#: src/maistar_ranking/models.py:52
msgid "Player 5"
msgstr "Spieler 5"
-#: maistar_ranking/models.py:52
+#: src/maistar_ranking/models.py:59
msgid "Player 6"
msgstr "Spieler 6"
-#: maistar_ranking/models.py:58
+#: src/maistar_ranking/models.py:65
msgid "Has been confirmed"
msgstr "Wurde bestätigt"
-#: maistar_ranking/models.py:60
+#: src/maistar_ranking/models.py:67
msgid "the game only counts whe it has been confirmed"
msgstr "das Spiel zählt nur wenn es bestätigt wurde"
-#: maistar_ranking/models.py:63 maistar_ranking/models.py:148
-#: maistar_ranking/templates/maistar_ranking/player_game_list.html:6
-#: maistar_ranking/templates/maistar_ranking/ranking_list.html:4
-#: maistar_ranking/templates/maistar_ranking/ranking_list.html:72
+#: src/maistar_ranking/models.py:70 src/maistar_ranking/models.py:153
+#: src/maistar_ranking/templates/maistar_ranking/player_game_list.html:6
+#: src/maistar_ranking/templates/maistar_ranking/ranking_list.html:4
+#: src/maistar_ranking/templates/maistar_ranking/ranking_list.html:72
msgid "Season"
msgstr "Saison"
-#: maistar_ranking/models.py:69
+#: src/maistar_ranking/models.py:80
msgid "Mai-Star Game with {0} from {1:%Y-%m-%d}"
msgstr "Mai-Star Spiel mit {0} vom {1:%Y-%m-%d}"
-#: maistar_ranking/templates/maistar_ranking/game_form.html:5
-#: maistar_ranking/templates/maistar_ranking/game_form.html:16
-#: maistar_ranking/templates/maistar_ranking/game_list.html:27
-#: maistar_ranking/templates/maistar_ranking/player_game_list.html:44
+#: src/maistar_ranking/templates/maistar_ranking/game_form.html:5
+#: src/maistar_ranking/templates/maistar_ranking/game_form.html:16
+#: src/maistar_ranking/templates/maistar_ranking/game_list.html:27
+#: src/maistar_ranking/templates/maistar_ranking/player_game_list.html:44
msgid "Edit Game"
msgstr "Spiel bearbeiten"
-#: maistar_ranking/templates/maistar_ranking/game_form.html:5
-#: maistar_ranking/templates/maistar_ranking/game_form.html:16
-#: maistar_ranking/templates/maistar_ranking/game_list.html:41
+#: src/maistar_ranking/templates/maistar_ranking/game_form.html:5
+#: src/maistar_ranking/templates/maistar_ranking/game_form.html:16
+#: src/maistar_ranking/templates/maistar_ranking/game_list.html:41
msgid "Add Game"
msgstr "Spiel hinzufügen"
-#: maistar_ranking/templates/maistar_ranking/game_form.html:76
+#: src/maistar_ranking/templates/maistar_ranking/game_form.html:76
msgid "Back"
msgstr "Zurück"
-#: maistar_ranking/templates/maistar_ranking/game_form.html:77
+#: src/maistar_ranking/templates/maistar_ranking/game_form.html:77
msgid "Save"
msgstr "Speichern"
-#: maistar_ranking/templates/maistar_ranking/game_list.html:4
-#: maistar_ranking/templates/maistar_ranking/player_game_list.html:6
+#: src/maistar_ranking/templates/maistar_ranking/game_list.html:4
+#: src/maistar_ranking/templates/maistar_ranking/player_game_list.html:6
msgid "Mai-Star Games"
msgstr "Mai-Star Spiele"
-#: maistar_ranking/templates/maistar_ranking/game_list.html:7
+#: src/maistar_ranking/templates/maistar_ranking/game_list.html:7
msgid "Played Mai-Star Games"
msgstr "Gespielte Mai-Star Spiele"
-#: maistar_ranking/templates/maistar_ranking/game_list.html:11
+#: src/maistar_ranking/templates/maistar_ranking/game_list.html:11
msgid "Game"
msgstr "Spiel"
-#: maistar_ranking/templates/maistar_ranking/game_list.html:14
+#: src/maistar_ranking/templates/maistar_ranking/game_list.html:14
msgid "Place"
msgstr "Platz"
-#: maistar_ranking/templates/maistar_ranking/game_list.html:19
-#: maistar_ranking/templates/maistar_ranking/player_game_list.html:36
+#: src/maistar_ranking/templates/maistar_ranking/game_list.html:19
+#: src/maistar_ranking/templates/maistar_ranking/player_game_list.html:36
msgid "Points"
msgstr "Punkte"
-#: maistar_ranking/templates/maistar_ranking/game_list.html:24
-#: maistar_ranking/templates/maistar_ranking/player_game_list.html:41
+#: src/maistar_ranking/templates/maistar_ranking/game_list.html:24
+#: src/maistar_ranking/templates/maistar_ranking/player_game_list.html:41
msgid "Delete Game"
msgstr "Spiel löschen"
-#: maistar_ranking/templates/maistar_ranking/game_list.html:33
+#: src/maistar_ranking/templates/maistar_ranking/game_list.html:33
msgid "No Mai-Star games have been added to this event yet."
msgstr "Für diese Veranstaltung wurden noch keine Mai-Star Spiele erfasst."
-#: maistar_ranking/templates/maistar_ranking/game_list.html:40
+#: src/maistar_ranking/templates/maistar_ranking/game_list.html:40
msgid "Edit Event"
msgstr "Veranstaltung bearbeiten"
-#: maistar_ranking/templates/maistar_ranking/hanchan_confirm_delete.html:4
-#: maistar_ranking/templates/maistar_ranking/hanchan_confirm_delete.html:10
+#: src/maistar_ranking/templates/maistar_ranking/hanchan_confirm_delete.html:4
+#: src/maistar_ranking/templates/maistar_ranking/hanchan_confirm_delete.html:10
msgid "Delete game"
msgstr "Spiel löschen"
-#: maistar_ranking/templates/maistar_ranking/hanchan_confirm_delete.html:13
+#: src/maistar_ranking/templates/maistar_ranking/hanchan_confirm_delete.html:13
msgid "Cancel"
msgstr "Abbrechen"
-#: maistar_ranking/templates/maistar_ranking/hanchan_confirm_delete.html:14
+#: src/maistar_ranking/templates/maistar_ranking/hanchan_confirm_delete.html:14
msgid "Delete"
msgstr "Löschen"
-#: maistar_ranking/templates/maistar_ranking/page.html:5
+#: src/maistar_ranking/templates/maistar_ranking/page.html:5
msgid "Archive"
msgstr "Archiv"
-#: maistar_ranking/templates/maistar_ranking/page.html:7
+#: src/maistar_ranking/templates/maistar_ranking/page.html:7
msgid "Add Event"
msgstr "Veranstaltung hinzufügen"
-#: maistar_ranking/templates/maistar_ranking/player_game_list.html:4
+#: src/maistar_ranking/templates/maistar_ranking/player_game_list.html:4
msgid "Ladder Score for"
msgstr "Ladder Wertung für"
-#: maistar_ranking/templates/maistar_ranking/player_game_list.html:9
+#: src/maistar_ranking/templates/maistar_ranking/player_game_list.html:9
msgid "Mai-Star Games with"
msgstr "Mai-Star Spiele mit"
-#: maistar_ranking/templates/maistar_ranking/player_game_list.html:14
+#: src/maistar_ranking/templates/maistar_ranking/player_game_list.html:14
msgid "Date"
msgstr "Datum"
-#: maistar_ranking/templates/maistar_ranking/player_game_list.html:15
+#: src/maistar_ranking/templates/maistar_ranking/player_game_list.html:15
msgid "Event"
msgstr "Veranstaltung"
-#: maistar_ranking/templates/maistar_ranking/player_game_list.html:16
+#: src/maistar_ranking/templates/maistar_ranking/player_game_list.html:16
msgid "Players"
msgstr "Spieler"
-#: maistar_ranking/templates/maistar_ranking/ranking_list.html:4
+#: src/maistar_ranking/templates/maistar_ranking/ranking_list.html:4
msgid "Mai-Star Ranking"
msgstr "Mai-Star Platzierung"
-#: maistar_ranking/templates/maistar_ranking/ranking_list.html:10
-#: maistar_ranking/templates/maistar_ranking/ranking_list.html:18
+#: src/maistar_ranking/templates/maistar_ranking/ranking_list.html:10
+#: src/maistar_ranking/templates/maistar_ranking/ranking_list.html:18
msgid "Placement"
msgstr "Platzierung"
-#: maistar_ranking/templates/maistar_ranking/ranking_list.html:11
+#: src/maistar_ranking/templates/maistar_ranking/ranking_list.html:11
msgid "Avatar"
msgstr "Avatar"
-#: maistar_ranking/templates/maistar_ranking/ranking_list.html:12
+#: src/maistar_ranking/templates/maistar_ranking/ranking_list.html:12
msgid "Nickname"
msgstr "Spitzname"
-#: maistar_ranking/templates/maistar_ranking/ranking_list.html:13
+#: src/maistar_ranking/templates/maistar_ranking/ranking_list.html:13
msgid "Name"
msgstr "Name"
-#: maistar_ranking/templates/maistar_ranking/ranking_list.html:14
+#: src/maistar_ranking/templates/maistar_ranking/ranking_list.html:14
msgid "Average"
msgstr "Durchschnitt"
-#: maistar_ranking/templates/maistar_ranking/ranking_list.html:15
+#: src/maistar_ranking/templates/maistar_ranking/ranking_list.html:15
msgid "Games"
msgstr "Spiele"
-#: maistar_ranking/templates/maistar_ranking/ranking_list.html:20
+#: src/maistar_ranking/templates/maistar_ranking/ranking_list.html:20
msgid "count"
msgstr "Anzahl"
-#: maistar_ranking/templates/maistar_ranking/ranking_list.html:21
+#: src/maistar_ranking/templates/maistar_ranking/ranking_list.html:21
msgid "good"
msgstr "Gut"
-#: maistar_ranking/templates/maistar_ranking/ranking_list.html:22
+#: src/maistar_ranking/templates/maistar_ranking/ranking_list.html:22
msgid "won"
msgstr "Gewonnen"
-#: maistar_ranking/templates/maistar_ranking/ranking_list.html:43
+#: src/maistar_ranking/templates/maistar_ranking/ranking_list.html:43
msgid ""
"Unfortunately, nobody has it been done in the ranking.\n"
" A player must have 6 games done, to be added to the ranking."
@@ -229,15 +229,15 @@ msgstr ""
"als 6 Spiele innerhalb einer Saison absolviert haben, werden für das "
"Endergebnis nicht gewertet."
-#: maistar_ranking/templates/maistar_ranking/ranking_list.html:52
+#: src/maistar_ranking/templates/maistar_ranking/ranking_list.html:52
msgid "Latest Games"
msgstr "Letzten Spiele"
-#: maistar_ranking/templates/maistar_ranking/ranking_list.html:63
+#: src/maistar_ranking/templates/maistar_ranking/ranking_list.html:63
msgid "Latest Events"
msgstr "Letzten Veranstaltungen"
-#: maistar_ranking/templates/maistar_ranking/ranking_list.html:70
+#: src/maistar_ranking/templates/maistar_ranking/ranking_list.html:70
msgid "Ladder Archive"
msgstr "Archiv"
diff --git a/src/membership/locale/de/LC_MESSAGES/django.po b/src/membership/locale/de/LC_MESSAGES/django.po
index f1a9257..de7d6c6 100644
--- a/src/membership/locale/de/LC_MESSAGES/django.po
+++ b/src/membership/locale/de/LC_MESSAGES/django.po
@@ -7,196 +7,195 @@ msgid ""
msgstr ""
"Project-Id-Version: kasu.membership\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2017-06-19 22:46+0200\n"
-"PO-Revision-Date: 2016-09-28 00:24+0200\n"
-"Last-Translator: Christian Berg \n"
+"POT-Creation-Date: 2018-01-11 22:50+0100\n"
+"PO-Revision-Date: 2018-01-12 15:22+0105\n"
+"Last-Translator: b'Christian Berg '\n"
"Language-Team: Kasu \n"
"Language: de\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-"X-Translated-Using: django-rosetta 0.7.2\n"
"X-Generator: Poedit 1.8.9\n"
+"X-Translated-Using: django-rosetta 0.7.14\n"
-#: membership/admin.py:22
+#: src/membership/__init__.py:11
+msgid "Male"
+msgstr "Männlich"
+
+#: src/membership/__init__.py:12
+msgid "Female"
+msgstr "Weiblich"
+
+#: src/membership/admin.py:22
msgid "Activate selected User"
msgstr "Ausgewählte Benutzer freischalten"
-#: membership/admin.py:31
+#: src/membership/admin.py:38
msgid "Cleanup selected Activation Requests"
msgstr "Ausgewählte Aktivierungsanfragen bereinigen"
-#: membership/admin.py:37
+#: src/membership/admin.py:47
msgid "Group"
msgstr "Gruppe"
-#: membership/admin.py:38
+#: src/membership/admin.py:48
msgid "Groups"
msgstr "Gruppen"
-#: membership/admin.py:59 membership/models.py:164 membership/models.py:215
-#: membership/templates/membership/register_form.html:32
+#: src/membership/admin.py:72 src/membership/models.py:163
+#: src/membership/models.py:216
+#: src/membership/templates/membership/register_form.html:32
msgid "Membership"
msgstr "Mitgliedschaft"
-#: membership/admin.py:64
+#: src/membership/admin.py:77
msgid "Permissions"
msgstr "Berechtigung"
-#: membership/admin.py:66
+#: src/membership/admin.py:79
msgid "Important dates"
msgstr "Wichtige Daten"
-#: membership/forms.py:23
+#: src/membership/forms.py:23
msgid "birthday"
msgstr "Geburtstag"
-#: membership/forms.py:25
+#: src/membership/forms.py:25
msgid "Input format: yyyy-mm-dd"
msgstr "Eingabeformat: tt.mm.jjjj"
-#: membership/forms.py:27
+#: src/membership/forms.py:27
msgid "Email"
msgstr "E-Mail"
-#: membership/forms.py:39 membership/forms.py:46 membership/forms.py:53
+#: src/membership/forms.py:42 src/membership/forms.py:50
+#: src/membership/forms.py:58
msgid ""
"For your membership, we need this. Please fill out this field "
"yet."
msgstr "Diese Angabe wird für eine Mitgliedschaft benötigt, bitte ausfüllen."
-#: membership/forms.py:59
+#: src/membership/forms.py:65
msgid ""
"For your membership, we need this. Please fill out this field "
"yet."
msgstr "Diese Angabe wird für eine Mitgliedschaft benötigt, bitte ausfüllen."
-#: membership/forms.py:72
+#: src/membership/forms.py:78
msgid "password"
msgstr "Passwort"
-#: membership/forms.py:74
+#: src/membership/forms.py:80
msgid "password (again)"
msgstr "Passwort (wiederholen)"
-#: membership/forms.py:97
+#: src/membership/forms.py:102
msgid "This username is already taken. Please choose another."
-msgstr "Diesen Benutzername ist schon vergeben. Bitte einen anderen auswählen."
+msgstr ""
+"Diesen Benutzername ist schon vergeben. Bitte einen anderen auswählen."
-#: membership/forms.py:106
+#: src/membership/forms.py:109
msgid ""
"This email address is already in use. Please supply a different "
"email address."
msgstr "Die E-Mail Adresse wird schon verwendet. Bitte eine andere angeben."
-#: membership/forms.py:115
+#: src/membership/forms.py:119
msgid "The two password fields didn't match."
msgstr "Die beiden Passwörter passen nicht."
-#: membership/models.py:20
-msgid "Male"
-msgstr "Männlich"
-
-#: membership/models.py:21
-msgid "Female"
-msgstr "Weiblich"
-
-#: membership/models.py:90
+#: src/membership/models.py:84
msgid "user"
msgstr "Benutzer"
-#: membership/models.py:92
+#: src/membership/models.py:86
msgid "activation key"
msgstr "Aktivierungsschlüssel"
-#: membership/models.py:96
+#: src/membership/models.py:90
msgid "pending activation"
msgstr "Ausstehende Aktivierung"
-#: membership/models.py:97
+#: src/membership/models.py:91
msgid "pending activations"
msgstr "Wartende Aktivierungen"
-#: membership/models.py:100
+#: src/membership/models.py:94
#, python-format
msgid "user registration for %s"
msgstr "Benutzerregistrierung für %s"
-#: membership/models.py:147
+#: src/membership/models.py:149
msgid "Gender"
msgstr "Geschlecht"
-#: membership/models.py:166
+#: src/membership/models.py:165
msgid ""
"Yes, I confirm that I am in agreement with the statutes and would "
"like to become a member."
msgstr "Ja, ich bin mit den Statuen einverstanden und möchte Mitglied werden."
-#: membership/models.py:170
+#: src/membership/models.py:169
msgid "Birthday Date"
msgstr "Geburtstag"
-#: membership/models.py:174
+#: src/membership/models.py:173
msgid "Telephone"
msgstr "Telefon"
-#: membership/models.py:180
+#: src/membership/models.py:179
msgid "Address"
msgstr "Adresse"
-#: membership/models.py:186
+#: src/membership/models.py:185
msgid "Postcode"
msgstr "Postleitzahl"
-#: membership/models.py:191
+#: src/membership/models.py:190
msgid "Town/City"
msgstr "Ort"
-#: membership/models.py:199
+#: src/membership/models.py:198
msgid "Paid until"
msgstr "Bezahlt bis"
-#: membership/models.py:205
+#: src/membership/models.py:204
msgid "Confirmed"
msgstr "Bestätigt"
-#: membership/models.py:207
+#: src/membership/models.py:206
msgid "This person has paid the membership fee."
msgstr "Diese Person hat ihre Mitgliedschaft bezahlt"
-#: membership/models.py:216
+#: src/membership/models.py:217
msgid "Memberships"
msgstr "Mitgliedschaften"
-#: membership/templates/membership/email/activation_email.txt:2
+#: src/membership/templates/membership/email/activation_email.txt:2
#, python-format
msgid "Welcome %(user)s,"
msgstr "Herzlich willkommen %(user)s,"
-#: membership/templates/membership/email/activation_email.txt:4
+#: src/membership/templates/membership/email/activation_email.txt:4
#, python-format
msgid ""
"We received an account request on %(site.domain)s for your email address.\n"
"To activate your account please visit the following link:"
msgstr ""
-"Jemand (hoffentlich du selbst) möchte mit dieser E-Mail Adresse einen neuen "
-"Benutzer Account für %(site.domain)s anlegen.\n"
-"Solltest du diesen Account aktivieren wollen, klicke bitte auf den unten "
-"stehenden Link, oder kopiere diesen in die Adresszeile deines Browsers:"
+"Jemand (hoffentlich du selbst) möchte mit dieser E-Mail Adresse einen neuen Benutzer Account für %(site.domain)s anlegen.\n"
+"Solltest du diesen Account aktivieren wollen, klicke bitte auf den unten stehenden Link, oder kopiere diesen in die Adresszeile deines Browsers:"
-#: membership/templates/membership/email/activation_email.txt:9
+#: src/membership/templates/membership/email/activation_email.txt:9
#, python-format
msgid ""
-"If you do not want to open an account on %(site.domain)s, please ignore this "
-"email.\n"
+"If you do not want to open an account on %(site.domain)s, please ignore this email.\n"
"Your information will then be deleted in a few days time."
msgstr ""
-"Wenn du keinen Zugang für %(site.domain)s eröffnen willst, ignoriere diese E-"
-"Mail bitte.\n"
+"Wenn du keinen Zugang für %(site.domain)s eröffnen willst, ignoriere diese E-Mail bitte.\n"
"Die Zugangsdaten werden dann in ein paar Tagen automatisch gelöscht."
-#: membership/templates/membership/email/activation_email.txt:12
+#: src/membership/templates/membership/email/activation_email.txt:12
#, python-format
msgid ""
"Best Regards,\n"
@@ -205,216 +204,215 @@ msgstr ""
"mit den besten Wünschen\n"
"Das Team von %(site.domain)s"
-#: membership/templates/membership/email/password_reset_email.html:2
+#: src/membership/templates/membership/email/password_reset_email.html:2
msgid "You're receiving this e-mail because you requested a password reset"
msgstr ""
"Du hast diese E-Mail erhalten, weil jemand die das Passwort zurücksetzen "
"möchte. "
-#: membership/templates/membership/email/password_reset_email.html:3
+#: src/membership/templates/membership/email/password_reset_email.html:3
#, python-format
msgid "for your user account at %(site_name)s"
msgstr "Für deinen Benutzerzugang auf %(site_name)s"
-#: membership/templates/membership/email/password_reset_email.html:5
+#: src/membership/templates/membership/email/password_reset_email.html:5
msgid "Please go to the following page and choose a new password:"
msgstr "Bitte gehe auf folgende Seite und wähle ein neues Passwort aus:"
-#: membership/templates/membership/email/password_reset_email.html:9
+#: src/membership/templates/membership/email/password_reset_email.html:9
msgid "Your username, in case you've forgotten:"
msgstr "Dein Benutzername, für den Fall das du diesen vergessen hast:"
-#: membership/templates/membership/email/password_reset_email.html:11
+#: src/membership/templates/membership/email/password_reset_email.html:11
msgid "Thanks for using our site!"
msgstr "Danke das du unsere Seite verwendest!"
-#: membership/templates/membership/email/password_reset_email.html:13
+#: src/membership/templates/membership/email/password_reset_email.html:13
#, python-format
msgid "The %(site_name)s team"
msgstr "Das %(site_name)s Team"
-#: membership/templates/membership/email/password_reset_subject.txt:2
+#: src/membership/templates/membership/email/password_reset_subject.txt:2
#, python-format
msgid "Password reset on %(site_name)s"
msgstr "Passwort auf %(site_name)s zurücksetzen"
-#: membership/templates/membership/hanchan_table.html:5
+#: src/membership/templates/membership/hanchan_table.html:5
msgid "Start"
msgstr "Beginn"
-#: membership/templates/membership/hanchan_table.html:6
+#: src/membership/templates/membership/hanchan_table.html:6
msgid "Event"
msgstr "Termin"
-#: membership/templates/membership/hanchan_table.html:7
+#: src/membership/templates/membership/hanchan_table.html:7
msgid "Players"
msgstr "Spieler"
-#: membership/templates/membership/hanchan_table.html:8
+#: src/membership/templates/membership/hanchan_table.html:8
msgid "Kyu Points"
msgstr "Kyū Punkte"
-#: membership/templates/membership/hanchan_table.html:9
+#: src/membership/templates/membership/hanchan_table.html:9
msgid "Dan Points"
msgstr "Dan Punkte"
-#: membership/templates/membership/hanchan_table.html:10
+#: src/membership/templates/membership/hanchan_table.html:10
msgid "Bonus Points"
msgstr "Bonus Punkte"
-#: membership/templates/membership/hanchan_table.html:11
+#: src/membership/templates/membership/hanchan_table.html:11
msgid "Comment"
msgstr "Anmerkung"
-#: membership/templates/membership/hanchan_table.html:26
+#: src/membership/templates/membership/hanchan_table.html:26
msgid "This Hanchan does not validate"
msgstr "Diese Hanchan ist ungültig"
-#: membership/templates/membership/membership_detail.html:6
+#: src/membership/templates/membership/membership_detail.html:6
msgid "profile for"
msgstr "Profil für"
-#: membership/templates/membership/membership_detail.html:10
+#: src/membership/templates/membership/membership_detail.html:10
msgid "Ladder Hanchans"
msgstr "Ladder Hanchans"
-#: membership/templates/membership/membership_detail.html:11
+#: src/membership/templates/membership/membership_detail.html:11
msgid "Kyu Hanchans"
msgstr "Kyū Hanchans"
-#: membership/templates/membership/membership_detail.html:12
+#: src/membership/templates/membership/membership_detail.html:12
msgid "Dan Hanchans"
msgstr "Dan Hanchans"
-#: membership/templates/membership/membership_detail.html:13
+#: src/membership/templates/membership/membership_detail.html:13
msgid "Invalid Hanchans"
msgstr "Ungültige Hanchans"
-#: membership/templates/membership/membership_detail.html:14
+#: src/membership/templates/membership/membership_detail.html:14
msgid "Mai-Star Games"
msgstr "Mai-Star Spiele"
-#: membership/templates/membership/membership_detail.html:20
+#: src/membership/templates/membership/membership_detail.html:20
msgid "Profile Image"
msgstr "Profilbild"
-#: membership/templates/membership/membership_detail.html:28
+#: src/membership/templates/membership/membership_detail.html:28
msgid "Member Since"
msgstr "Mitglied seit"
-#: membership/templates/membership/membership_detail.html:29
+#: src/membership/templates/membership/membership_detail.html:29
msgid "Last Login"
msgstr "Letzte Anmeldung"
-#: membership/templates/membership/membership_detail.html:38
-#: membership/templates/membership/membership_detail.html:40
+#: src/membership/templates/membership/membership_detail.html:39
+#: src/membership/templates/membership/membership_detail.html:43
msgid "Points"
msgstr "Punkte"
-#: membership/templates/membership/membership_detail.html:42
+#: src/membership/templates/membership/membership_detail.html:40
+msgid "Maximum"
+msgstr "Maximum"
+
+#: src/membership/templates/membership/membership_detail.html:45
msgid "Games Total"
msgstr "Spiele gesamt"
-#: membership/templates/membership/membership_detail.html:43
-#: membership/templates/membership/membership_detail.html:45
+#: src/membership/templates/membership/membership_detail.html:46
+#: src/membership/templates/membership/membership_detail.html:48
msgid "Won"
msgstr "Gewonnen"
-#: membership/templates/membership/membership_detail.html:43
-#: membership/templates/membership/membership_detail.html:45
+#: src/membership/templates/membership/membership_detail.html:46
+#: src/membership/templates/membership/membership_detail.html:48
msgid "Good"
msgstr "Gut"
-#: membership/templates/membership/membership_detail.html:45
+#: src/membership/templates/membership/membership_detail.html:48
msgid "Current Season"
msgstr "Aktuelle Saison"
-#: membership/templates/membership/membership_detail.html:55
+#: src/membership/templates/membership/membership_detail.html:58
msgid "Edit Profile"
msgstr "Profil bearbeiten"
-#: membership/templates/membership/membership_detail.html:59
-#: membership/templates/registration/password_change_form.html:23
+#: src/membership/templates/membership/membership_detail.html:62
+#: src/membership/templates/registration/password_change_form.html:23
msgid "Change Password"
msgstr "Passwort ändern"
-#: membership/templates/membership/membership_detail.html:63
-#: membership/templates/membership/membership_detail.html:67
-#: membership/templates/membership/membership_detail.html:71
+#: src/membership/templates/membership/membership_detail.html:66
+#: src/membership/templates/membership/membership_detail.html:70
+#: src/membership/templates/membership/membership_detail.html:74
#, python-format
msgid "Associate with %(name)s"
msgstr "Verbinde mit %(name)s"
-#: membership/templates/membership/membership_form.html:4
-#: membership/templates/membership/membership_form.html:6
-#: membership/templates/membership/membership_form.html:11
+#: src/membership/templates/membership/membership_form.html:4
+#: src/membership/templates/membership/membership_form.html:6
+#: src/membership/templates/membership/membership_form.html:11
msgid "Edit Userprofile"
msgstr "Profil bearbeiten"
-#: membership/templates/membership/membership_form.html:15
+#: src/membership/templates/membership/membership_form.html:15
msgid "Reset"
msgstr "Zurücksetzen"
-#: membership/templates/membership/membership_form.html:16
+#: src/membership/templates/membership/membership_form.html:16
msgid "Save"
msgstr "Speichern"
-#: membership/templates/membership/register_form.html:4
-#: membership/templates/membership/register_form.html:7
+#: src/membership/templates/membership/register_form.html:4
+#: src/membership/templates/membership/register_form.html:7
msgid "Registration"
msgstr "Registrieren"
-#: membership/templates/membership/register_form.html:9
+#: src/membership/templates/membership/register_form.html:9
msgid ""
"After you've provided your account data, you'll receive\n"
-" an email asking you to verify your email address. You have to click on "
-"the\n"
-" link in this verification email to confirm your email address, "
-"otherwise\n"
+" an email asking you to verify your email address. You have to click on the\n"
+" link in this verification email to confirm your email address, otherwise\n"
" your can't login."
msgstr ""
-"Nach dem du deine Daten eingegeben hast, wirst du eine E-Mail zur "
-"Bestätigung bekommen.\n"
-"Bitte klicke auf den Link in dieser E-Mail zur Verifizierung, erst dann ist "
-"die Anmeldung möglich."
+"Nach dem du deine Daten eingegeben hast, wirst du eine E-Mail zur Bestätigung bekommen.\n"
+"Bitte klicke auf den Link in dieser E-Mail zur Verifizierung, erst dann ist die Anmeldung möglich."
-#: membership/templates/membership/register_form.html:20
+#: src/membership/templates/membership/register_form.html:20
msgid "name"
msgstr "Name"
-#: membership/templates/membership/register_form.html:26
-#: membership/templates/registration/login.html:41
+#: src/membership/templates/membership/register_form.html:26
+#: src/membership/templates/registration/login.html:41
msgid "login"
msgstr "Anmelden"
-#: membership/templates/membership/register_form.html:39
+#: src/membership/templates/membership/register_form.html:39
msgid "reset"
msgstr "Zurücksetzen"
-#: membership/templates/membership/register_form.html:41
-#: membership/templates/registration/login.html:35
+#: src/membership/templates/membership/register_form.html:41
+#: src/membership/templates/registration/login.html:35
msgid "register"
msgstr "Registrieren"
-#: membership/templates/membership/register_successful.html:5
-#: membership/templates/membership/register_successful.html:7
-#: membership/templates/membership/register_successful.html:10
+#: src/membership/templates/membership/register_successful.html:5
+#: src/membership/templates/membership/register_successful.html:7
+#: src/membership/templates/membership/register_successful.html:10
msgid "Activation sent"
msgstr "Aktivierung wurde zugesendet"
-#: membership/templates/registration/login.html:4
-#: membership/templates/registration/login.html:11
-#: membership/templates/registration/login.html:53
-#: membership/templates/registration/password_reset_complete.html:13
+#: src/membership/templates/registration/login.html:4
+#: src/membership/templates/registration/login.html:11
+#: src/membership/templates/registration/login.html:53
+#: src/membership/templates/registration/password_reset_complete.html:13
msgid "Login"
msgstr "Anmelden"
-#: membership/templates/registration/login.html:17
+#: src/membership/templates/registration/login.html:17
msgid "Have you already registered?"
msgstr "Bereits registriert?"
-#: membership/templates/registration/login.html:18
-#, fuzzy
+#: src/membership/templates/registration/login.html:18
#| msgid ""
#| "\n"
#| "As a registered member you can:
\n"
@@ -441,17 +439,14 @@ msgstr ""
" Kommentare auf dieser Seite hinterlassen. \n"
" Dich für unseren Newsletter anmelden \n"
" Mitglied in unserem Verein werden \n"
-" Vereinsmitglieder haben auch vollen Zugang zu unserem Ranking System"
-"li>\n"
-"\n"
+" Vereinsmitglieder haben auch vollen Zugang zu unserem Ranking System \n"
+""
-#: membership/templates/registration/login.html:27
-#, fuzzy
+#: src/membership/templates/registration/login.html:27
#| msgid ""
#| "\n"
#| "You can register here with your Google, or Facebook account.\n"
-#| "If you don't own such an account, or do not want to use it for "
-#| "authentication,\n"
+#| "If you don't own such an account, or do not want to use it for authentication,\n"
#| "you can fill out our registration form.
\n"
msgid ""
"\n"
@@ -462,80 +457,79 @@ msgid ""
" "
msgstr ""
"\n"
-"Du kannst dich auch über deinen Facebook, Google, oder Twitter Account "
-"anmelden.\n"
+"
Du kannst dich auch über deinen Facebook, Google, oder Twitter Account anmelden.\n"
"Wenn du so etwas nicht besitzt, oder nicht verwenden möchtest, \n"
-"kannst du auch das Registrierungsformular ausfüllen.
\n"
+"kannst du auch das Registrierungsformular ausfüllen.
"
-#: membership/templates/registration/login.html:45
-#, fuzzy
+#: src/membership/templates/registration/login.html:45
#| msgid "Your username and password didn't match. Please try again."
msgid ""
"Your username and password didn't match. Please try\n"
" again."
msgstr ""
-"Benutzername und Passwort stimmen nicht überein. Bitte noch einmal versuchen."
+"Benutzername und Passwort stimmen nicht überein. Bitte noch einmal "
+"versuchen."
-#: membership/templates/registration/login.html:50
+#: src/membership/templates/registration/login.html:50
msgid "Forgot your Password?"
msgstr "Passwort vergessen?"
-#: membership/templates/registration/login.html:60
+#: src/membership/templates/registration/login.html:60
msgid "or login with an existing Account"
msgstr "oder über einen existierenden Account anmelden"
-#: membership/templates/registration/login.html:63
+#: src/membership/templates/registration/login.html:63
msgid "Login with Facebook"
msgstr "Über Facebook anmelden"
-#: membership/templates/registration/login.html:66
+#: src/membership/templates/registration/login.html:66
msgid "Login with Twitter"
msgstr "Über Twitter anmelden"
-#: membership/templates/registration/login.html:69
+#: src/membership/templates/registration/login.html:69
msgid "Login with Google"
msgstr "Über Google Anmelden"
-#: membership/templates/registration/password_change_done.html:4
-#: membership/templates/registration/password_change_done.html:7
+#: src/membership/templates/registration/password_change_done.html:4
+#: src/membership/templates/registration/password_change_done.html:7
msgid "Password change successful"
msgstr "Benutzerprofil erfolgreich geändert."
-#: membership/templates/registration/password_change_done.html:8
+#: src/membership/templates/registration/password_change_done.html:8
msgid "Your password was changed."
msgstr "Passwort geändet"
-#: membership/templates/registration/password_change_form.html:4
-#: membership/templates/registration/password_change_form.html:9
-#: membership/templates/registration/password_change_form.html:16
+#: src/membership/templates/registration/password_change_form.html:4
+#: src/membership/templates/registration/password_change_form.html:9
+#: src/membership/templates/registration/password_change_form.html:16
msgid "Password change"
msgstr "Passwort wechseln"
-#: membership/templates/registration/password_change_form.html:10
+#: src/membership/templates/registration/password_change_form.html:10
msgid ""
-"Please enter your old password, for security's sake, and then enter your new "
-"password twice so we can verify you typed it in correctly."
+"Please enter your old password, for security's sake, and then enter your new"
+" password twice so we can verify you typed it in correctly."
msgstr ""
-"Zur Sicherheit bitte altes Passwort einmal und das gewünschte neue Passwort "
-"zweimal angeben, so können Tippfehler abgefangen werden."
+"Zur Sicherheit bitte altes Passwort einmal und das gewünschte neue Passwort"
+" zweimal angeben, so können Tippfehler abgefangen werden."
-#: membership/templates/registration/password_reset_complete.html:4
-#: membership/templates/registration/password_reset_complete.html:6
-#: membership/templates/registration/password_reset_complete.html:9
+#: src/membership/templates/registration/password_reset_complete.html:4
+#: src/membership/templates/registration/password_reset_complete.html:6
+#: src/membership/templates/registration/password_reset_complete.html:9
msgid "Password reset complete"
msgstr "Das Rücksetzen des Passwortes ist abgeschlossen."
-#: membership/templates/registration/password_reset_complete.html:10
+#: src/membership/templates/registration/password_reset_complete.html:10
msgid "Your password has been set. You may go ahead and log in now."
msgstr "Das Passwort wurde gesetzt, Du kannst dich nun damit anmelden."
-#: membership/templates/registration/password_reset_confirm.html:4
-#: membership/templates/registration/password_reset_confirm.html:6
-#: membership/templates/registration/password_reset_confirm.html:15
+#: src/membership/templates/registration/password_reset_confirm.html:4
+#: src/membership/templates/registration/password_reset_confirm.html:6
+#: src/membership/templates/registration/password_reset_confirm.html:15
msgid "Enter new password"
msgstr "Neues Passwort eingeben"
-#: membership/templates/registration/password_reset_confirm.html:12
+#: src/membership/templates/registration/password_reset_confirm.html:12
msgid ""
"Please enter your new password twice so we can verify you typed it in "
"correctly."
@@ -543,15 +537,15 @@ msgstr ""
"Bitte das Passwort zweimal eingeben, um sicher zu stellen das es korrekt "
"eingetippt wurde."
-#: membership/templates/registration/password_reset_confirm.html:18
+#: src/membership/templates/registration/password_reset_confirm.html:18
msgid "Change my password"
msgstr "Passwort ändern"
-#: membership/templates/registration/password_reset_confirm.html:26
+#: src/membership/templates/registration/password_reset_confirm.html:26
msgid "Password reset unsuccessful"
msgstr "Passwort rücksetzen fehlgeschlagen"
-#: membership/templates/registration/password_reset_confirm.html:27
+#: src/membership/templates/registration/password_reset_confirm.html:27
msgid ""
"The password reset link was invalid, possibly because it has already been "
"used. Please request a new password reset."
@@ -559,22 +553,22 @@ msgstr ""
"Der Link für die Rücksetzung des Passwortes war ungültig, vermutlich wurde "
"er schon einmal benutzt. Bitte eine neue Rücksetzung beantragen."
-#: membership/templates/registration/password_reset_done.html:4
-#: membership/templates/registration/password_reset_done.html:6
-#: membership/templates/registration/password_reset_done.html:12
+#: src/membership/templates/registration/password_reset_done.html:4
+#: src/membership/templates/registration/password_reset_done.html:6
+#: src/membership/templates/registration/password_reset_done.html:12
msgid "Password reset successful"
msgstr "Passwort erfolgreich zurückgesetzt."
-#: membership/templates/registration/password_reset_form.html:4
-#: membership/templates/registration/password_reset_form.html:6
+#: src/membership/templates/registration/password_reset_form.html:4
+#: src/membership/templates/registration/password_reset_form.html:6
msgid "Password reset"
msgstr "Passwort zurücksetzen"
-#: membership/templates/registration/password_reset_form.html:21
+#: src/membership/templates/registration/password_reset_form.html:21
msgid "Transmit"
msgstr "Übermitteln"
-#: membership/views.py:63
+#: src/membership/views.py:61
msgid ""
"Activation successful. You can now login anytime with you username "
"and password."
@@ -582,15 +576,14 @@ msgstr ""
"Die Aktivierung war erfolgreich. Du kannst dich ab jetzt jederzeit mit "
"deinem Benutzernamen und Passwort anmelden."
-#: membership/views.py:83
+#: src/membership/views.py:88
msgid "User Profile changed successfully"
msgstr "Benutzerprofil erfolgreich geändert."
-#: membership/views.py:97
-#, fuzzy
+#: src/membership/views.py:112
#| msgid "No %(verbose_name)s found matching the query"
msgid "No Membership found matching the query"
-msgstr "Kein %(verbose_name)s gefunden welche der Anfrage entspricht"
+msgstr "Kein Mitglied gefunden welche der Anfrage entspricht"
#~ msgid "Given Name"
#~ msgstr "Vorname"
@@ -599,9 +592,9 @@ msgstr "Kein %(verbose_name)s gefunden welche der Anfrage entspricht"
#~ msgstr "Nachname"
#~ msgid ""
-#~ "The Username can only contain the letters from A to Z, Numbers, "
-#~ "and the underscore. It must be at least 2 characters long, and "
-#~ "cannot be longer the 30. The first character must be a letter."
+#~ "The Username can only contain the letters from A to Z, Numbers, and "
+#~ "the underscore. It must be at least 2 characters long, and cannot be"
+#~ " longer the 30. The first character must be a letter."
#~ msgstr ""
#~ "Der Benutzername kann aus den Buchstaben A-Z, Ziffern und dem Unterstrich "
#~ "bestehen. Es sollte wenigstens 2, aber maximal 30 Zeichen lang sein. Das "
diff --git a/src/utils/locale/de/LC_MESSAGES/django.po b/src/utils/locale/de/LC_MESSAGES/django.po
index 6bac1e3..3deb814 100644
--- a/src/utils/locale/de/LC_MESSAGES/django.po
+++ b/src/utils/locale/de/LC_MESSAGES/django.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: kasu.utils\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2017-06-19 22:46+0200\n"
+"POT-Creation-Date: 2018-01-11 22:50+0100\n"
"PO-Revision-Date: 2016-09-28 00:24+0200\n"
"Last-Translator: Christian Berg \n"
"Language-Team: Kasu \n"
@@ -18,999 +18,999 @@ msgstr ""
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"X-Generator: Poedit 1.8.9\n"
-#: utils/__init__.py:17
+#: src/utils/__init__.py:17
msgid "Rejected"
msgstr "Zurückgewiesen"
-#: utils/__init__.py:18
+#: src/utils/__init__.py:18
msgid "Waiting..."
msgstr "Wartend..."
-#: utils/__init__.py:19
+#: src/utils/__init__.py:19
msgid "Published"
msgstr "Veröffentlicht"
-#: utils/countries.py:4
+#: src/utils/countries.py:5
msgid "United Kingdom"
msgstr "Vereinigtes Königreich"
-#: utils/countries.py:5
+#: src/utils/countries.py:6
msgid "Afghanistan"
msgstr "Afghanistan"
-#: utils/countries.py:6
+#: src/utils/countries.py:7
msgid "Aland Islands"
msgstr "Aland Islands"
-#: utils/countries.py:7
+#: src/utils/countries.py:8
msgid "Albania"
msgstr "Albanien"
-#: utils/countries.py:8
+#: src/utils/countries.py:9
msgid "Algeria"
msgstr "Algerien"
-#: utils/countries.py:9
+#: src/utils/countries.py:10
msgid "American Samoa"
msgstr "Amerikanisch-Samoa"
-#: utils/countries.py:10
+#: src/utils/countries.py:11
msgid "Andorra"
msgstr "Andorra"
-#: utils/countries.py:11
+#: src/utils/countries.py:12
msgid "Angola"
msgstr "Angola"
-#: utils/countries.py:12
+#: src/utils/countries.py:13
msgid "Anguilla"
msgstr "Anguilla"
-#: utils/countries.py:13
+#: src/utils/countries.py:14
msgid "Antarctica"
msgstr "Antarktika"
-#: utils/countries.py:14
+#: src/utils/countries.py:15
msgid "Antigua and Barbuda"
msgstr "Antigua und Barbuda"
-#: utils/countries.py:15
+#: src/utils/countries.py:16
msgid "Argentina"
msgstr "Argentinien"
-#: utils/countries.py:16
+#: src/utils/countries.py:17
msgid "Armenia"
msgstr "Armenien"
-#: utils/countries.py:17
+#: src/utils/countries.py:18
msgid "Aruba"
msgstr "Aruba"
-#: utils/countries.py:18
+#: src/utils/countries.py:19
msgid "Australia"
msgstr "Australien"
-#: utils/countries.py:19
+#: src/utils/countries.py:20
msgid "Austria"
msgstr "Österreich"
-#: utils/countries.py:20
+#: src/utils/countries.py:21
msgid "Azerbaijan"
msgstr "Aserbaidschan"
-#: utils/countries.py:21
+#: src/utils/countries.py:22
msgid "Bahamas"
msgstr "Bahamas"
-#: utils/countries.py:22
+#: src/utils/countries.py:23
msgid "Bahrain"
msgstr "Bahrein"
-#: utils/countries.py:23
+#: src/utils/countries.py:24
msgid "Bangladesh"
msgstr "Bangladesch"
-#: utils/countries.py:24
+#: src/utils/countries.py:25
msgid "Barbados"
msgstr "Barbados"
-#: utils/countries.py:25
+#: src/utils/countries.py:26
msgid "Belarus"
msgstr "Weißrussland"
-#: utils/countries.py:26
+#: src/utils/countries.py:27
msgid "Belgium"
msgstr "Belgien"
-#: utils/countries.py:27
+#: src/utils/countries.py:28
msgid "Belize"
msgstr "Belize"
-#: utils/countries.py:28
+#: src/utils/countries.py:29
msgid "Benin"
msgstr "Benin"
-#: utils/countries.py:29
+#: src/utils/countries.py:30
msgid "Bermuda"
msgstr "Bermuda"
-#: utils/countries.py:30
+#: src/utils/countries.py:31
msgid "Bhutan"
msgstr "Bhutan"
-#: utils/countries.py:31
+#: src/utils/countries.py:32
msgid "Bolivia"
msgstr "Bolivien"
-#: utils/countries.py:32
+#: src/utils/countries.py:33
msgid "Bosnia and Herzegovina"
msgstr "Bosnien und Herzegowina"
-#: utils/countries.py:33
+#: src/utils/countries.py:34
msgid "Botswana"
msgstr "Botswana"
-#: utils/countries.py:34
+#: src/utils/countries.py:35
msgid "Bouvet Island"
msgstr "Bouvet Island"
-#: utils/countries.py:35
+#: src/utils/countries.py:36
msgid "Brazil"
msgstr "Brasilien"
-#: utils/countries.py:36
+#: src/utils/countries.py:37
msgid "British Indian Ocean Territory"
msgstr "British Indian Ocean Territory"
-#: utils/countries.py:37
+#: src/utils/countries.py:38
msgid "Brunei Darussalam"
msgstr "Brunei Darussalam"
-#: utils/countries.py:38
+#: src/utils/countries.py:39
msgid "Bulgaria"
msgstr "Bulgarien"
-#: utils/countries.py:39
+#: src/utils/countries.py:40
msgid "Burkina Faso"
msgstr "Burkina Faso"
-#: utils/countries.py:40
+#: src/utils/countries.py:41
msgid "Burundi"
msgstr "Burundi"
-#: utils/countries.py:41
+#: src/utils/countries.py:42
msgid "Cambodia"
msgstr "Kambodscha"
-#: utils/countries.py:42
+#: src/utils/countries.py:43
msgid "Cameroon"
msgstr "Kamerun"
-#: utils/countries.py:43
+#: src/utils/countries.py:44
msgid "Canada"
msgstr "Kanada"
-#: utils/countries.py:44
+#: src/utils/countries.py:45
msgid "Cape Verde"
msgstr "Cape Verde"
-#: utils/countries.py:45
+#: src/utils/countries.py:46
msgid "Cayman Islands"
msgstr "Cayman Islands"
-#: utils/countries.py:46
+#: src/utils/countries.py:47
msgid "Central African Republic"
msgstr "Zentralafrikanische Republik"
-#: utils/countries.py:47
+#: src/utils/countries.py:48
msgid "Chad"
msgstr "Tschad"
-#: utils/countries.py:48
+#: src/utils/countries.py:49
msgid "Chile"
msgstr "Chile"
-#: utils/countries.py:49
+#: src/utils/countries.py:50
msgid "China"
msgstr "China"
-#: utils/countries.py:50
+#: src/utils/countries.py:51
msgid "Christmas Island"
msgstr "Christmas Island"
-#: utils/countries.py:51
+#: src/utils/countries.py:52
msgid "Cocos (Keeling) Islands"
msgstr "Cocos (Keeling) Islands"
-#: utils/countries.py:52
+#: src/utils/countries.py:53
msgid "Colombia"
msgstr "Kolumbien"
-#: utils/countries.py:53
+#: src/utils/countries.py:54
msgid "Comoros"
msgstr "Komoren"
-#: utils/countries.py:54
+#: src/utils/countries.py:55
msgid "Congo"
msgstr "Kongo"
-#: utils/countries.py:55
+#: src/utils/countries.py:56
msgid "Congo, The Democratic Republic of the"
msgstr "Kongo, Demokratische Republik"
-#: utils/countries.py:56
+#: src/utils/countries.py:57
msgid "Cook Islands"
msgstr "Cook-Inseln"
-#: utils/countries.py:57
+#: src/utils/countries.py:58
msgid "Costa Rica"
msgstr "Costa Rica"
-#: utils/countries.py:58
+#: src/utils/countries.py:59
msgid "Cote d'Ivoire"
msgstr "Cote d'Ivoire"
-#: utils/countries.py:59
+#: src/utils/countries.py:60
msgid "Croatia"
msgstr "Kroatien"
-#: utils/countries.py:60
+#: src/utils/countries.py:61
msgid "Cuba"
msgstr "Kuba"
-#: utils/countries.py:61
+#: src/utils/countries.py:62
msgid "Cyprus"
msgstr "Zypern"
-#: utils/countries.py:62
+#: src/utils/countries.py:63
msgid "Czech Republic"
msgstr "Tschechische Republik"
-#: utils/countries.py:63
+#: src/utils/countries.py:64
msgid "Denmark"
msgstr "Dänemark"
-#: utils/countries.py:64
+#: src/utils/countries.py:65
msgid "Djibouti"
msgstr "Dschibuti"
-#: utils/countries.py:65
+#: src/utils/countries.py:66
msgid "Dominica"
msgstr "Dominica"
-#: utils/countries.py:66
+#: src/utils/countries.py:67
msgid "Dominican Republic"
msgstr "Dominikanische Republik"
-#: utils/countries.py:67
+#: src/utils/countries.py:68
msgid "Ecuador"
msgstr "Ecuador"
-#: utils/countries.py:68
+#: src/utils/countries.py:69
msgid "Egypt"
msgstr "Ägypten"
-#: utils/countries.py:69
+#: src/utils/countries.py:70
msgid "El Salvador"
msgstr "El Salvador"
-#: utils/countries.py:70
+#: src/utils/countries.py:71
msgid "Equatorial Guinea"
msgstr "Äquatorial-Guinea"
-#: utils/countries.py:71
+#: src/utils/countries.py:72
msgid "Eritrea"
msgstr "Eritrea"
-#: utils/countries.py:72
+#: src/utils/countries.py:73
msgid "Estonia"
msgstr "Estland"
-#: utils/countries.py:73
+#: src/utils/countries.py:74
msgid "Ethiopia"
msgstr "Äthiopien"
-#: utils/countries.py:74
+#: src/utils/countries.py:75
msgid "Falkland Islands (Malvinas)"
msgstr "Falklandinseln (Malvinas)"
-#: utils/countries.py:75
+#: src/utils/countries.py:76
msgid "Faroe Islands"
msgstr "Färöer-Inseln"
-#: utils/countries.py:76
+#: src/utils/countries.py:77
msgid "Fiji"
msgstr "Fidschi"
-#: utils/countries.py:77
+#: src/utils/countries.py:78
msgid "Finland"
msgstr "Finnland"
-#: utils/countries.py:78
+#: src/utils/countries.py:79
msgid "France"
msgstr "Frankreich"
-#: utils/countries.py:79
+#: src/utils/countries.py:80
msgid "French Guiana"
msgstr "Französisch-Guayana"
-#: utils/countries.py:80
+#: src/utils/countries.py:81
msgid "French Polynesia"
msgstr "Französisch-Polynesien"
-#: utils/countries.py:81
+#: src/utils/countries.py:82
msgid "French Southern Territories"
msgstr "Französisch Südliche Territorien"
-#: utils/countries.py:82
+#: src/utils/countries.py:83
msgid "Gabon"
msgstr "Gabun"
-#: utils/countries.py:83
+#: src/utils/countries.py:84
msgid "Gambia"
msgstr "Gambia"
-#: utils/countries.py:84
+#: src/utils/countries.py:85
msgid "Georgia"
msgstr "Georgia"
-#: utils/countries.py:85
+#: src/utils/countries.py:86
msgid "Germany"
msgstr "Deutschland"
-#: utils/countries.py:86
+#: src/utils/countries.py:87
msgid "Ghana"
msgstr "Ghana"
-#: utils/countries.py:87
+#: src/utils/countries.py:88
msgid "Gibraltar"
msgstr "Gibraltar"
-#: utils/countries.py:88
+#: src/utils/countries.py:89
msgid "Greece"
msgstr "Griechenland"
-#: utils/countries.py:89
+#: src/utils/countries.py:90
msgid "Greenland"
msgstr "Grönland"
-#: utils/countries.py:90
+#: src/utils/countries.py:91
msgid "Grenada"
msgstr "Grenada"
-#: utils/countries.py:91
+#: src/utils/countries.py:92
msgid "Guadeloupe"
msgstr "Guadeloupe"
-#: utils/countries.py:92
+#: src/utils/countries.py:93
msgid "Guam"
msgstr "Guam"
-#: utils/countries.py:93
+#: src/utils/countries.py:94
msgid "Guatemala"
msgstr "Guatemala"
-#: utils/countries.py:94
+#: src/utils/countries.py:95
msgid "Guernsey"
msgstr "Guernsey"
-#: utils/countries.py:95
+#: src/utils/countries.py:96
msgid "Guinea"
msgstr "Guinea"
-#: utils/countries.py:96
+#: src/utils/countries.py:97
msgid "Guinea-Bissau"
msgstr "Guinea-Bissau"
-#: utils/countries.py:97
+#: src/utils/countries.py:98
msgid "Guyana"
msgstr "Guyana"
-#: utils/countries.py:98
+#: src/utils/countries.py:99
msgid "Haiti"
msgstr "Haiti"
-#: utils/countries.py:99
+#: src/utils/countries.py:100
msgid "Heard Island and McDonald Islands"
msgstr "Heard und McDonald Inseln"
-#: utils/countries.py:100
+#: src/utils/countries.py:101
msgid "Holy See (Vatican City State)"
msgstr "Heiliger Stuhl (Vatikanstadt)"
-#: utils/countries.py:101
+#: src/utils/countries.py:102
msgid "Honduras"
msgstr "Honduras"
-#: utils/countries.py:102
+#: src/utils/countries.py:103
msgid "Hong Kong"
msgstr "Hongkong"
-#: utils/countries.py:103
+#: src/utils/countries.py:104
msgid "Hungary"
msgstr "Ungarn"
-#: utils/countries.py:104
+#: src/utils/countries.py:105
msgid "Iceland"
msgstr "Island"
-#: utils/countries.py:105
+#: src/utils/countries.py:106
msgid "India"
msgstr "Indien"
-#: utils/countries.py:106
+#: src/utils/countries.py:107
msgid "Indonesia"
msgstr "Indonesien"
-#: utils/countries.py:107
+#: src/utils/countries.py:108
msgid "Iran, Islamic Republic of"
msgstr "Iran, Islamische Republik"
-#: utils/countries.py:108
+#: src/utils/countries.py:109
msgid "Iraq"
msgstr "Irak"
-#: utils/countries.py:109
+#: src/utils/countries.py:110
msgid "Ireland"
msgstr "Irland"
-#: utils/countries.py:110
+#: src/utils/countries.py:111
msgid "Isle of Man"
msgstr "Isle of Man"
-#: utils/countries.py:111
+#: src/utils/countries.py:112
msgid "Israel"
msgstr "Israel"
-#: utils/countries.py:112
+#: src/utils/countries.py:113
msgid "Italy"
msgstr "Italien"
-#: utils/countries.py:113
+#: src/utils/countries.py:114
msgid "Jamaica"
msgstr "Jamaika"
-#: utils/countries.py:114
+#: src/utils/countries.py:115
msgid "Japan"
msgstr "Japan"
-#: utils/countries.py:115
+#: src/utils/countries.py:116
msgid "Jersey"
msgstr "Jersey"
-#: utils/countries.py:116
+#: src/utils/countries.py:117
msgid "Jordan"
msgstr "Jordan"
-#: utils/countries.py:117
+#: src/utils/countries.py:118
msgid "Kazakhstan"
msgstr "Kasachstan"
-#: utils/countries.py:118
+#: src/utils/countries.py:119
msgid "Kenya"
msgstr "Kenia"
-#: utils/countries.py:119
+#: src/utils/countries.py:120
msgid "Kiribati"
msgstr "Kiribati"
-#: utils/countries.py:120
+#: src/utils/countries.py:121
msgid "Korea, Democratic People's Republic of"
msgstr "Korea, Demokratische Volksrepublik"
-#: utils/countries.py:121
+#: src/utils/countries.py:122
msgid "Korea, Republic of"
msgstr "Korea, Republik"
-#: utils/countries.py:122
+#: src/utils/countries.py:123
msgid "Kuwait"
msgstr "Kuwait"
-#: utils/countries.py:123
+#: src/utils/countries.py:124
msgid "Kyrgyzstan"
msgstr "Kirgisistan"
-#: utils/countries.py:124
+#: src/utils/countries.py:125
msgid "Lao People's Democratic Republic"
msgstr "Lao Demokratischen Volksrepublik"
-#: utils/countries.py:125
+#: src/utils/countries.py:126
msgid "Latvia"
msgstr "Lettland"
-#: utils/countries.py:126
+#: src/utils/countries.py:127
msgid "Lebanon"
msgstr "Libanon"
-#: utils/countries.py:127
+#: src/utils/countries.py:128
msgid "Lesotho"
msgstr "Lesotho"
-#: utils/countries.py:128
+#: src/utils/countries.py:129
msgid "Liberia"
msgstr "Liberia"
-#: utils/countries.py:129
+#: src/utils/countries.py:130
msgid "Libyan Arab Jamahiriya"
msgstr "Libyen"
-#: utils/countries.py:130
+#: src/utils/countries.py:131
msgid "Liechtenstein"
msgstr "Liechtenstein"
-#: utils/countries.py:131
+#: src/utils/countries.py:132
msgid "Lithuania"
msgstr "Litauen"
-#: utils/countries.py:132
+#: src/utils/countries.py:133
msgid "Luxembourg"
msgstr "Luxemburg"
-#: utils/countries.py:133
+#: src/utils/countries.py:134
msgid "Macao"
msgstr "Macao"
-#: utils/countries.py:134
+#: src/utils/countries.py:135
msgid "Macedonia, The Former Yugoslav Republic of"
msgstr "Mazedonien, die ehemalige jugoslawische Republik"
-#: utils/countries.py:135
+#: src/utils/countries.py:136
msgid "Madagascar"
msgstr "Madagaskar"
-#: utils/countries.py:136
+#: src/utils/countries.py:137
msgid "Malawi"
msgstr "Malawi"
-#: utils/countries.py:137
+#: src/utils/countries.py:138
msgid "Malaysia"
msgstr "Malaysia"
-#: utils/countries.py:138
+#: src/utils/countries.py:139
msgid "Maldives"
msgstr "Malediven"
-#: utils/countries.py:139
+#: src/utils/countries.py:140
msgid "Mali"
msgstr "Mali"
-#: utils/countries.py:140
+#: src/utils/countries.py:141
msgid "Malta"
msgstr "Malta"
-#: utils/countries.py:141
+#: src/utils/countries.py:142
msgid "Marshall Islands"
msgstr "Marshall Islands"
-#: utils/countries.py:142
+#: src/utils/countries.py:143
msgid "Martinique"
msgstr "Martinique"
-#: utils/countries.py:143
+#: src/utils/countries.py:144
msgid "Mauritania"
msgstr "Mauretanien"
-#: utils/countries.py:144
+#: src/utils/countries.py:145
msgid "Mauritius"
msgstr "Mauritius"
-#: utils/countries.py:145
+#: src/utils/countries.py:146
msgid "Mayotte"
msgstr "Mayotte"
-#: utils/countries.py:146
+#: src/utils/countries.py:147
msgid "Mexico"
msgstr "Mexiko"
-#: utils/countries.py:147
+#: src/utils/countries.py:148
msgid "Micronesia, Federated States of"
msgstr "Mikronesien, Föderierte Staaten von"
-#: utils/countries.py:148
+#: src/utils/countries.py:149
msgid "Moldova"
msgstr "Moldawien"
-#: utils/countries.py:149
+#: src/utils/countries.py:150
msgid "Monaco"
msgstr "Monaco"
-#: utils/countries.py:150
+#: src/utils/countries.py:151
msgid "Mongolia"
msgstr "Mongolei"
-#: utils/countries.py:151
+#: src/utils/countries.py:152
msgid "Montenegro"
msgstr "Montenegro"
-#: utils/countries.py:152
+#: src/utils/countries.py:153
msgid "Montserrat"
msgstr "Montserrat"
-#: utils/countries.py:153
+#: src/utils/countries.py:154
msgid "Morocco"
msgstr "Marokko"
-#: utils/countries.py:154
+#: src/utils/countries.py:155
msgid "Mozambique"
msgstr "Mosambik"
-#: utils/countries.py:155
+#: src/utils/countries.py:156
msgid "Myanmar"
msgstr "Myanmar"
-#: utils/countries.py:156
+#: src/utils/countries.py:157
msgid "Namibia"
msgstr "Namibia"
-#: utils/countries.py:157
+#: src/utils/countries.py:158
msgid "Nauru"
msgstr "Nauru"
-#: utils/countries.py:158
+#: src/utils/countries.py:159
msgid "Nepal"
msgstr "Nepal"
-#: utils/countries.py:159
+#: src/utils/countries.py:160
msgid "Netherlands"
msgstr "Niederlande"
-#: utils/countries.py:160
+#: src/utils/countries.py:161
msgid "Netherlands Antilles"
msgstr "Niederländische Antillen"
-#: utils/countries.py:161
+#: src/utils/countries.py:162
msgid "New Caledonia"
msgstr "Neukaledonien"
-#: utils/countries.py:162
+#: src/utils/countries.py:163
msgid "New Zealand"
msgstr "New Zealand"
-#: utils/countries.py:163
+#: src/utils/countries.py:164
msgid "Nicaragua"
msgstr "Nicaragua"
-#: utils/countries.py:164
+#: src/utils/countries.py:165
msgid "Niger"
msgstr "Niger"
-#: utils/countries.py:165
+#: src/utils/countries.py:166
msgid "Nigeria"
msgstr "Nigeria"
-#: utils/countries.py:166
+#: src/utils/countries.py:167
msgid "Niue"
msgstr "Niue"
-#: utils/countries.py:167
+#: src/utils/countries.py:168
msgid "Norfolk Island"
msgstr "Norfolk Island"
-#: utils/countries.py:168
+#: src/utils/countries.py:169
msgid "Northern Mariana Islands"
msgstr "Northern Mariana Islands"
-#: utils/countries.py:169
+#: src/utils/countries.py:170
msgid "Norway"
msgstr "Norwegen"
-#: utils/countries.py:170
+#: src/utils/countries.py:171
msgid "Oman"
msgstr "Oman"
-#: utils/countries.py:171
+#: src/utils/countries.py:172
msgid "Pakistan"
msgstr "Pakistan"
-#: utils/countries.py:172
+#: src/utils/countries.py:173
msgid "Palau"
msgstr "Palau"
-#: utils/countries.py:173
+#: src/utils/countries.py:174
msgid "Palestinian Territory, Occupied"
msgstr "Palästinensische Autonomiegebiete"
-#: utils/countries.py:174
+#: src/utils/countries.py:175
msgid "Panama"
msgstr "Panama"
-#: utils/countries.py:175
+#: src/utils/countries.py:176
msgid "Papua New Guinea"
msgstr "Papua-Neuguinea"
-#: utils/countries.py:176
+#: src/utils/countries.py:177
msgid "Paraguay"
msgstr "Paraguay"
-#: utils/countries.py:177
+#: src/utils/countries.py:178
msgid "Peru"
msgstr "Peru"
-#: utils/countries.py:178
+#: src/utils/countries.py:179
msgid "Philippines"
msgstr "Philippinen"
-#: utils/countries.py:179
+#: src/utils/countries.py:180
msgid "Pitcairn"
msgstr "Pitcairn"
-#: utils/countries.py:180
+#: src/utils/countries.py:181
msgid "Poland"
msgstr "Polen"
-#: utils/countries.py:181
+#: src/utils/countries.py:182
msgid "Portugal"
msgstr "Portugal"
-#: utils/countries.py:182
+#: src/utils/countries.py:183
msgid "Puerto Rico"
msgstr "Puerto Rico"
-#: utils/countries.py:183
+#: src/utils/countries.py:184
msgid "Qatar"
msgstr "Katar"
-#: utils/countries.py:184
+#: src/utils/countries.py:185
msgid "Reunion"
msgstr "Wiedervereinigung"
-#: utils/countries.py:185
+#: src/utils/countries.py:186
msgid "Romania"
msgstr "Rumänien"
-#: utils/countries.py:186
+#: src/utils/countries.py:187
msgid "Russian Federation"
msgstr "Russischen Föderation"
-#: utils/countries.py:187
+#: src/utils/countries.py:188
msgid "Rwanda"
msgstr "Ruanda"
-#: utils/countries.py:188
+#: src/utils/countries.py:189
msgid "Saint Barthelemy"
msgstr "Saint Barthelemy"
-#: utils/countries.py:189
+#: src/utils/countries.py:190
msgid "Saint Helena"
msgstr "Saint Helena"
-#: utils/countries.py:190
+#: src/utils/countries.py:191
msgid "Saint Kitts and Nevis"
msgstr "Saint Kitts und Nevis"
-#: utils/countries.py:191
+#: src/utils/countries.py:192
msgid "Saint Lucia"
msgstr "Santa Lucia"
-#: utils/countries.py:192
+#: src/utils/countries.py:193
msgid "Saint Martin"
msgstr "Santa Martin"
-#: utils/countries.py:193
+#: src/utils/countries.py:194
msgid "Saint Pierre and Miquelon"
msgstr "Saint Pierre und Miquelon"
-#: utils/countries.py:194
+#: src/utils/countries.py:195
msgid "Saint Vincent and the Grenadines"
msgstr "Saint Vincent und die Grenadinen"
-#: utils/countries.py:195
+#: src/utils/countries.py:196
msgid "Samoa"
msgstr "Samoa"
-#: utils/countries.py:196
+#: src/utils/countries.py:197
msgid "San Marino"
msgstr "San Marino"
-#: utils/countries.py:197
+#: src/utils/countries.py:198
msgid "Sao Tome and Principe"
msgstr "Sao Tome und Principe"
-#: utils/countries.py:198
+#: src/utils/countries.py:199
msgid "Saudi Arabia"
msgstr "Saudi-Arabien"
-#: utils/countries.py:199
+#: src/utils/countries.py:200
msgid "Senegal"
msgstr "Senegal"
-#: utils/countries.py:200
+#: src/utils/countries.py:201
msgid "Serbia"
msgstr "Serbien"
-#: utils/countries.py:201
+#: src/utils/countries.py:202
msgid "Seychelles"
msgstr "Seychellen"
-#: utils/countries.py:202
+#: src/utils/countries.py:203
msgid "Sierra Leone"
msgstr "Sierra Leone"
-#: utils/countries.py:203
+#: src/utils/countries.py:204
msgid "Singapore"
msgstr "Singapur"
-#: utils/countries.py:204
+#: src/utils/countries.py:205
msgid "Slovakia"
msgstr "Slowakei"
-#: utils/countries.py:205
+#: src/utils/countries.py:206
msgid "Slovenia"
msgstr "Slowenien"
-#: utils/countries.py:206
+#: src/utils/countries.py:207
msgid "Solomon Islands"
msgstr "Salomon-Inseln"
-#: utils/countries.py:207
+#: src/utils/countries.py:208
msgid "Somalia"
msgstr "Somalia"
-#: utils/countries.py:208
+#: src/utils/countries.py:209
msgid "South Africa"
msgstr "Südafrika"
-#: utils/countries.py:209
+#: src/utils/countries.py:210
msgid "South Georgia and the South Sandwich Islands"
msgstr "Südgeorgien und die Südlichen Sandwichinseln"
-#: utils/countries.py:210
+#: src/utils/countries.py:211
msgid "Spain"
msgstr "Spanien"
-#: utils/countries.py:211
+#: src/utils/countries.py:212
msgid "Sri Lanka"
msgstr "Sri Lanka"
-#: utils/countries.py:212
+#: src/utils/countries.py:213
msgid "Sudan"
msgstr "Sudan"
-#: utils/countries.py:213
+#: src/utils/countries.py:214
msgid "Suriname"
msgstr "Suriname"
-#: utils/countries.py:214
+#: src/utils/countries.py:215
msgid "Svalbard and Jan Mayen"
msgstr "Svalbard und Jan Mayen"
-#: utils/countries.py:215
+#: src/utils/countries.py:216
msgid "Swaziland"
msgstr "Swaziland"
-#: utils/countries.py:216
+#: src/utils/countries.py:217
msgid "Sweden"
msgstr "Schweden"
-#: utils/countries.py:217
+#: src/utils/countries.py:218
msgid "Switzerland"
msgstr "Schweiz"
-#: utils/countries.py:218
+#: src/utils/countries.py:219
msgid "Syrian Arab Republic"
msgstr "Arabische Republik Syrien"
-#: utils/countries.py:219
+#: src/utils/countries.py:220
msgid "Taiwan, Province of China"
msgstr "Taiwan, Province of China"
-#: utils/countries.py:220
+#: src/utils/countries.py:221
msgid "Tajikistan"
msgstr "Tadschikistan"
-#: utils/countries.py:221
+#: src/utils/countries.py:222
msgid "Tanzania, United Republic of"
msgstr "Tansania, Vereinigte Republik"
-#: utils/countries.py:222
+#: src/utils/countries.py:223
msgid "Thailand"
msgstr "Thailand"
-#: utils/countries.py:223
+#: src/utils/countries.py:224
msgid "Timor-Leste"
msgstr "Timor-Leste"
-#: utils/countries.py:224
+#: src/utils/countries.py:225
msgid "Togo"
msgstr "Togo"
-#: utils/countries.py:225
+#: src/utils/countries.py:226
msgid "Tokelau"
msgstr "Tokelau"
-#: utils/countries.py:226
+#: src/utils/countries.py:227
msgid "Tonga"
msgstr "Tonga"
-#: utils/countries.py:227
+#: src/utils/countries.py:228
msgid "Trinidad and Tobago"
msgstr "Trinidad und Tobago"
-#: utils/countries.py:228
+#: src/utils/countries.py:229
msgid "Tunisia"
msgstr "Tunesien"
-#: utils/countries.py:229
+#: src/utils/countries.py:230
msgid "Turkey"
msgstr "Türkei"
-#: utils/countries.py:230
+#: src/utils/countries.py:231
msgid "Turkmenistan"
msgstr "Turkmenistan"
-#: utils/countries.py:231
+#: src/utils/countries.py:232
msgid "Turks and Caicos Islands"
msgstr "Turks-und Caicosinseln"
-#: utils/countries.py:232
+#: src/utils/countries.py:233
msgid "Tuvalu"
msgstr "Tuvalu"
-#: utils/countries.py:233
+#: src/utils/countries.py:234
msgid "Uganda"
msgstr "Uganda"
-#: utils/countries.py:234
+#: src/utils/countries.py:235
msgid "Ukraine"
msgstr "Ukraine"
-#: utils/countries.py:235
+#: src/utils/countries.py:236
msgid "United Arab Emirates"
msgstr "Vereinigte Arabische Emirate"
-#: utils/countries.py:236
+#: src/utils/countries.py:237
msgid "United States"
msgstr "Vereinigte Staaten"
-#: utils/countries.py:237
+#: src/utils/countries.py:238
msgid "United States Minor Outlying Islands"
msgstr "United States Minor Outlying Islands"
-#: utils/countries.py:238
+#: src/utils/countries.py:239
msgid "Uruguay"
msgstr "Uruguay"
-#: utils/countries.py:239
+#: src/utils/countries.py:240
msgid "Uzbekistan"
msgstr "Usbekistan"
-#: utils/countries.py:240
+#: src/utils/countries.py:241
msgid "Vanuatu"
msgstr "Vanuatu"
-#: utils/countries.py:241
+#: src/utils/countries.py:242
msgid "Venezuela"
msgstr "Venezuela"
-#: utils/countries.py:242
+#: src/utils/countries.py:243
msgid "Viet Nam"
msgstr "Vietnam"
-#: utils/countries.py:243
+#: src/utils/countries.py:244
msgid "Virgin Islands, British"
msgstr "Virgin Islands, British"
-#: utils/countries.py:244
+#: src/utils/countries.py:245
msgid "Virgin Islands, U.S."
msgstr "Virgin Islands, US"
-#: utils/countries.py:245
+#: src/utils/countries.py:246
msgid "Wallis and Futuna"
msgstr "Wallis und Futuna"
-#: utils/countries.py:246
+#: src/utils/countries.py:247
msgid "Western Sahara"
msgstr "Westsahara"
-#: utils/countries.py:247
+#: src/utils/countries.py:248
msgid "Yemen"
msgstr "Jemen"
-#: utils/countries.py:248
+#: src/utils/countries.py:249
msgid "Zambia"
msgstr "Sambia"
-#: utils/countries.py:249
+#: src/utils/countries.py:250
msgid "Zimbabwe"
msgstr "Zimbabwe"