diff --git a/src/c3nav/locale/de/LC_MESSAGES/django.po b/src/c3nav/locale/de/LC_MESSAGES/django.po index 9e059ac0..a3c4d000 100644 --- a/src/c3nav/locale/de/LC_MESSAGES/django.po +++ b/src/c3nav/locale/de/LC_MESSAGES/django.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: \n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-04-07 16:26+0200\n" -"PO-Revision-Date: 2019-04-07 16:34+0200\n" +"POT-Creation-Date: 2019-12-22 00:42+0100\n" +"PO-Revision-Date: 2019-12-22 00:44+0100\n" "Last-Translator: Jenny Danzmayr \n" "Language-Team: \n" "Language: de\n" @@ -16,7 +16,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -"X-Generator: Poedit 2.2\n" +"X-Generator: Poedit 2.2.4\n" #: c3nav/api/api.py:36 msgid "Log out first." @@ -258,7 +258,7 @@ msgstr "Benutzer" #: c3nav/control/templates/control/announcements.html:9 #: c3nav/control/templates/control/map_updates.html:59 #: c3nav/control/templates/control/users.html:15 -#: c3nav/mapdata/models/base.py:41 c3nav/mapdata/utils/locations.py:308 +#: c3nav/mapdata/models/base.py:43 c3nav/mapdata/utils/locations.py:308 msgid "ID" msgstr "ID" @@ -435,8 +435,8 @@ msgstr "" #: c3nav/control/templates/control/user.html:97 #: c3nav/control/templates/control/user.html:140 #: c3nav/control/templates/control/user.html:173 -#: c3nav/mapdata/models/geometry/level.py:140 -#: c3nav/mapdata/models/locations.py:121 c3nav/mapdata/models/locations.py:122 +#: c3nav/mapdata/models/geometry/level.py:142 +#: c3nav/mapdata/models/locations.py:122 c3nav/mapdata/models/locations.py:123 msgid "Yes" msgstr "Ja" @@ -445,8 +445,8 @@ msgstr "Ja" #: c3nav/control/templates/control/user.html:99 #: c3nav/control/templates/control/user.html:142 #: c3nav/control/templates/control/user.html:175 -#: c3nav/mapdata/models/geometry/level.py:140 -#: c3nav/mapdata/models/locations.py:121 c3nav/mapdata/models/locations.py:122 +#: c3nav/mapdata/models/geometry/level.py:142 +#: c3nav/mapdata/models/locations.py:122 c3nav/mapdata/models/locations.py:123 msgid "No" msgstr "Nein" @@ -513,7 +513,7 @@ msgid "back" msgstr "zurück" #: c3nav/control/templates/control/user.html:73 -#: c3nav/mapdata/models/access.py:77 c3nav/mapdata/models/geometry/space.py:360 +#: c3nav/mapdata/models/access.py:77 c3nav/mapdata/models/geometry/space.py:361 #: c3nav/site/models.py:17 msgid "author" msgstr "Autor" @@ -568,7 +568,7 @@ msgstr "Raumzugriffserlaubnis" #: c3nav/control/templates/control/user.html:164 #: c3nav/editor/templates/editor/space.html:9 -#: c3nav/mapdata/models/geometry/level.py:122 +#: c3nav/mapdata/models/geometry/level.py:124 #: c3nav/mapdata/models/geometry/space.py:81 #: c3nav/mapdata/utils/locations.py:316 msgid "Space" @@ -672,37 +672,37 @@ msgstr "" "Kartenänderungsverarbeitung konnte nicht veranlasst werden da Celery nicht " "konfiguriert ist." -#: c3nav/editor/api.py:374 +#: c3nav/editor/api.py:411 msgid "No matching editor view endpoint found." msgstr "Es wurde keine passende Editor-Endpunkt gefunden." -#: c3nav/editor/api.py:377 +#: c3nav/editor/api.py:414 msgid "Matching editor view point does not provide an API." msgstr "Der entsprechende Editor-Endpunkt bietet diese API nicht an." -#: c3nav/editor/api.py:460 +#: c3nav/editor/api.py:497 msgid "You don't have the permission to activate direct editing." msgstr "Du darfst direktes Bearbeiten nicht aktivieren." -#: c3nav/editor/api.py:464 +#: c3nav/editor/api.py:501 msgid "You cannot activate direct editing if you have an active changeset." msgstr "" "Du kannst direktes Bearbeiten nicht aktivieren, wenn du ein aktives " "Änderungsset hast." -#: c3nav/editor/api.py:495 c3nav/editor/views/changes.py:66 +#: c3nav/editor/api.py:532 c3nav/editor/views/changes.py:66 msgid "You can not activate this change set." msgstr "Du kannst dieses Änderungsset nicht aktivieren." -#: c3nav/editor/api.py:505 c3nav/editor/views/changes.py:399 +#: c3nav/editor/api.py:542 c3nav/editor/views/changes.py:400 msgid "You cannot edit this change set." msgstr "Du kannst dieses Änderungsset nicht bearbeiten." -#: c3nav/editor/api.py:534 c3nav/editor/views/changes.py:56 +#: c3nav/editor/api.py:571 c3nav/editor/views/changes.py:56 msgid "You can not edit changes on this change set." msgstr "Du kannst keine Änderungen dieses Änderungssets bearbeiten." -#: c3nav/editor/api.py:544 c3nav/editor/views/changes.py:52 +#: c3nav/editor/api.py:581 c3nav/editor/views/changes.py:52 msgid "" "You cannot restore this object, because it depends on a deleted object or it " "would violate a unique contraint." @@ -710,113 +710,113 @@ msgstr "" "Du kannst dieses Objekt nicht wiederherstellen weil es ein anderes Objekt " "benötigt oder weil es einer Eindeutigen Beschränkung wiedersprechen würde." -#: c3nav/editor/api.py:552 c3nav/editor/views/changes.py:72 +#: c3nav/editor/api.py:589 c3nav/editor/views/changes.py:72 msgid "You need to log in to propose changes." msgstr "Du musst dich anmelden um Änderungen vorzuschlagen." -#: c3nav/editor/api.py:557 c3nav/editor/views/changes.py:77 +#: c3nav/editor/api.py:594 c3nav/editor/views/changes.py:77 msgid "You need to add a title an a description to propose this change set." msgstr "" "Du musst einen Titel und eine Beschreibung hinzufügen, um dieses " "Änderungsset vorzuschlagen." -#: c3nav/editor/api.py:560 c3nav/editor/views/changes.py:84 +#: c3nav/editor/api.py:597 c3nav/editor/views/changes.py:84 msgid "You cannot propose this change set." msgstr "Du kannst dieses Änderungsset nicht vorschlagen." -#: c3nav/editor/api.py:570 c3nav/editor/views/changes.py:94 +#: c3nav/editor/api.py:607 c3nav/editor/views/changes.py:94 msgid "You cannot unpropose this change set." msgstr "Du kannst diesen Änderungsvorschlag nicht zurücknehmen." -#: c3nav/editor/api.py:580 c3nav/editor/views/changes.py:104 +#: c3nav/editor/api.py:617 c3nav/editor/views/changes.py:104 msgid "You cannot review these changes." msgstr "Du kannst diese Änderungen nicht überprüfen." -#: c3nav/editor/api.py:590 c3nav/editor/views/changes.py:111 +#: c3nav/editor/api.py:627 c3nav/editor/views/changes.py:111 msgid "You cannot reject these changes." msgstr "Du kannst diese Änderungen nicht ablehnen." -#: c3nav/editor/api.py:604 c3nav/editor/views/changes.py:131 +#: c3nav/editor/api.py:641 c3nav/editor/views/changes.py:131 msgid "You cannot unreject these changes." msgstr "Du kannst diese Änderungsablehnung nicht zurücknehmen." -#: c3nav/editor/api.py:614 c3nav/editor/views/changes.py:142 +#: c3nav/editor/api.py:651 c3nav/editor/views/changes.py:142 msgid "You cannot accept and apply these changes." msgstr "Du kannst diese Änderungen nicht akzeptieren und anwenden." -#: c3nav/editor/api.py:624 c3nav/editor/views/changes.py:155 +#: c3nav/editor/api.py:661 c3nav/editor/views/changes.py:155 msgid "You cannot delete this change set." msgstr "Du kannst dieses Änderungsset nicht löschen." -#: c3nav/editor/forms.py:180 +#: c3nav/editor/forms.py:191 msgid "Redirecting Slugs (comma seperated)" msgstr "Umleitungs-Slugs (mit Komma getrennt)" -#: c3nav/editor/forms.py:219 +#: c3nav/editor/forms.py:230 #, python-format msgid "Can not add redirecting slug “%s”: it's the slug of this object." msgstr "" "Umleitungs-Slug „%s“ kann nicht hinzugefügt werden: Es ist der Slug dieses " "Objects." -#: c3nav/editor/forms.py:226 +#: c3nav/editor/forms.py:237 #, python-format msgid "Can not add redirecting slug “%s”: it is already used elsewhere." msgstr "" "Umleitungs-Slug „%s“ kann nicht hinzugefügt werden: Er wird bereits an " "anderer Stelle verwendet." -#: c3nav/editor/forms.py:233 +#: c3nav/editor/forms.py:244 msgid "Invalid JSON." msgstr "Invalides JSON." -#: c3nav/editor/forms.py:296 +#: c3nav/editor/forms.py:308 msgid "Final rejection" msgstr "Endgültige Ablehnung" -#: c3nav/editor/forms.py:304 +#: c3nav/editor/forms.py:316 msgid "create one way edges" msgstr "Kante nur in eine Richtung erstellen" -#: c3nav/editor/forms.py:305 +#: c3nav/editor/forms.py:317 msgid "activate next node after connecting" msgstr "nächsten Knoten nach dem Verbinden aktivieren" -#: c3nav/editor/models/changedobject.py:26 c3nav/editor/models/changeset.py:58 +#: c3nav/editor/models/changedobject.py:34 c3nav/editor/models/changeset.py:58 msgid "Change Set" msgstr "Änderungsset" -#: c3nav/editor/models/changedobject.py:27 c3nav/editor/models/changeset.py:39 +#: c3nav/editor/models/changedobject.py:35 c3nav/editor/models/changeset.py:39 #: c3nav/editor/views/changes.py:266 c3nav/site/models.py:14 #: c3nav/site/models.py:54 msgid "created" msgstr "erstellt" -#: c3nav/editor/models/changedobject.py:29 +#: c3nav/editor/models/changedobject.py:37 msgid "id of existing object" msgstr "ID eines existierenden Objects" -#: c3nav/editor/models/changedobject.py:30 +#: c3nav/editor/models/changedobject.py:38 msgid "updated fields" msgstr "geänderte Felder" -#: c3nav/editor/models/changedobject.py:31 +#: c3nav/editor/models/changedobject.py:39 msgid "added m2m values" msgstr "hinzugefügte m2m-Werte" -#: c3nav/editor/models/changedobject.py:32 +#: c3nav/editor/models/changedobject.py:40 msgid "removed m2m values" msgstr "entfernte m2m-Werte" -#: c3nav/editor/models/changedobject.py:33 +#: c3nav/editor/models/changedobject.py:41 msgid "object was deleted" msgstr "Object wurde gelöscht" -#: c3nav/editor/models/changedobject.py:38 +#: c3nav/editor/models/changedobject.py:46 msgid "Changed object" msgstr "Geändertes Objekt" -#: c3nav/editor/models/changedobject.py:39 +#: c3nav/editor/models/changedobject.py:47 msgid "Changed objects" msgstr "Geänderte Objekte" @@ -860,9 +860,9 @@ msgstr "letzte Anderung" msgid "last state update" msgstr "letzte Statusänderung" -#: c3nav/editor/models/changeset.py:48 c3nav/mapdata/models/base.py:62 -#: c3nav/mapdata/models/graph.py:37 c3nav/mapdata/models/locations.py:237 -#: c3nav/mapdata/utils/locations.py:344 +#: c3nav/editor/models/changeset.py:48 c3nav/mapdata/models/base.py:64 +#: c3nav/mapdata/models/graph.py:38 c3nav/mapdata/models/locations.py:256 +#: c3nav/mapdata/models/locations.py:421 c3nav/mapdata/utils/locations.py:344 msgid "Title" msgstr "Titel" @@ -882,15 +882,15 @@ msgstr "Kartenänderung" msgid "Change Sets" msgstr "Änderungssets" -#: c3nav/editor/models/changeset.py:783 +#: c3nav/editor/models/changeset.py:801 msgid "Direct editing active" msgstr "Direktes Bearbeiten aktiv" -#: c3nav/editor/models/changeset.py:784 +#: c3nav/editor/models/changeset.py:802 msgid "No objects changed" msgstr "Keine Objekte geändert" -#: c3nav/editor/models/changeset.py:785 +#: c3nav/editor/models/changeset.py:803 #, python-format msgid "%(num)d object changed" msgid_plural "%(num)d objects changed" @@ -1191,13 +1191,13 @@ msgstr "Einstellungen für neue Kanten" #: c3nav/editor/templates/editor/index.html:10 #: c3nav/editor/templates/editor/level.html:16 -#: c3nav/mapdata/models/geometry/level.py:56 c3nav/mapdata/models/level.py:29 +#: c3nav/mapdata/models/geometry/level.py:58 c3nav/mapdata/models/level.py:29 #: c3nav/mapdata/utils/locations.py:310 msgid "Level" msgstr "Etage" #: c3nav/editor/templates/editor/level.html:22 -#: c3nav/editor/templates/editor/space.html:14 c3nav/editor/views/edit.py:482 +#: c3nav/editor/templates/editor/space.html:14 c3nav/editor/views/edit.py:495 msgid "back to overview" msgstr "zurück zur Übersicht" @@ -1371,114 +1371,114 @@ msgstr "Scandaten bearbeitet" msgid "{field_name} ({lang})" msgstr "{field_name} ({lang})" -#: c3nav/editor/views/changes.py:335 +#: c3nav/editor/views/changes.py:336 #, python-brace-format msgid "remove {field_title}" msgstr "{field_title} entfernt" -#: c3nav/editor/views/changes.py:363 c3nav/editor/views/changes.py:370 +#: c3nav/editor/views/changes.py:364 c3nav/editor/views/changes.py:371 msgid "Redirect slugs" msgstr "Umleitungs-Slugs" -#: c3nav/editor/views/changes.py:379 +#: c3nav/editor/views/changes.py:380 msgid "deleted" msgstr "gelöscht" -#: c3nav/editor/views/edit.py:262 +#: c3nav/editor/views/edit.py:263 msgid "You can not create new objects because your changeset is full." msgstr "" "Du kannst keine neuen Objekte erstellen weil dein Änderungsset voll ist." -#: c3nav/editor/views/edit.py:266 c3nav/editor/views/edit.py:287 +#: c3nav/editor/views/edit.py:267 c3nav/editor/views/edit.py:288 msgid "You can not edit this object because your changeset is full." msgstr "Du kannst diese Objekt nicht löschen weil dein Änderungsset voll ist." -#: c3nav/editor/views/edit.py:280 +#: c3nav/editor/views/edit.py:281 msgid "You need to log in to create Wifi Measurements." msgstr "Du musst dich anmelden um WLAN Messungen zu erstellen." -#: c3nav/editor/views/edit.py:293 +#: c3nav/editor/views/edit.py:294 msgid "You can not edit this object." msgstr "Du kannst dieses Objekt nicht bearbeiten." -#: c3nav/editor/views/edit.py:305 +#: c3nav/editor/views/edit.py:306 msgid "" "You can not delete this object because other objects still depend on it." msgstr "" "Du kannst dieses Objekt nicht löschen weil andere Objekte sich darauf " "beziehen." -#: c3nav/editor/views/edit.py:316 c3nav/editor/views/edit.py:376 -#: c3nav/editor/views/edit.py:604 c3nav/editor/views/edit.py:641 -#: c3nav/editor/views/edit.py:659 +#: c3nav/editor/views/edit.py:317 c3nav/editor/views/edit.py:377 +#: c3nav/editor/views/edit.py:635 c3nav/editor/views/edit.py:672 +#: c3nav/editor/views/edit.py:690 msgid "You can not edit changes on this changeset." msgstr "Du kannst keine Änderungen dieses Änderungssets bearbeiten." -#: c3nav/editor/views/edit.py:331 +#: c3nav/editor/views/edit.py:332 msgid "Object was successfully deleted." msgstr "Objekt wurde erfolgreich gelöscht." -#: c3nav/editor/views/edit.py:360 +#: c3nav/editor/views/edit.py:361 msgid "Duplicate entry." msgstr "Doppelter Eintrag." -#: c3nav/editor/views/edit.py:372 +#: c3nav/editor/views/edit.py:373 msgid "Object was successfully saved." msgstr "Objekt wurde erfolgreich gespeichert." -#: c3nav/editor/views/edit.py:446 c3nav/editor/views/edit.py:564 +#: c3nav/editor/views/edit.py:449 c3nav/editor/views/edit.py:595 msgid "back to level" msgstr "zurück zur Etage" -#: c3nav/editor/views/edit.py:476 c3nav/editor/views/edit.py:576 +#: c3nav/editor/views/edit.py:479 c3nav/editor/views/edit.py:607 msgid "back to space" msgstr "zurück zum Raum" -#: c3nav/editor/views/edit.py:520 +#: c3nav/editor/views/edit.py:551 msgid "Could not edit edge because your changeset is full." msgstr "Kante konnte nicht bearbeitet werden weil dein Änderungsset voll ist." -#: c3nav/editor/views/edit.py:527 +#: c3nav/editor/views/edit.py:558 msgid "Reverse edge created." msgstr "Umgekehrte Kante erstellt." -#: c3nav/editor/views/edit.py:527 +#: c3nav/editor/views/edit.py:558 msgid "Edge created." msgstr "Kante erstellt." -#: c3nav/editor/views/edit.py:530 +#: c3nav/editor/views/edit.py:561 msgid "Reverse edge deleted." msgstr "Umgekehrte Kante gelöscht." -#: c3nav/editor/views/edit.py:530 +#: c3nav/editor/views/edit.py:561 msgid "Edge deleted." msgstr "Kante gelöscht." -#: c3nav/editor/views/edit.py:535 +#: c3nav/editor/views/edit.py:566 msgid "Reverse edge overwritten." msgstr "Umgekehrte Kante überschrieben." -#: c3nav/editor/views/edit.py:535 +#: c3nav/editor/views/edit.py:566 msgid "Edge overwritten." msgstr "Kante überschrieben." -#: c3nav/editor/views/edit.py:578 +#: c3nav/editor/views/edit.py:609 msgid "to level graph" msgstr "zum Etagengraph" -#: c3nav/editor/views/edit.py:594 +#: c3nav/editor/views/edit.py:625 msgid "You can not delete this graph node because your changeset is full." msgstr "Du kannst diesen Knoten nicht löschen weil dein Änderungsset voll ist." -#: c3nav/editor/views/edit.py:606 +#: c3nav/editor/views/edit.py:637 msgid "Graph Node was successfully deleted." msgstr "Graphknoten wurde erfolgreich gelöscht." -#: c3nav/editor/views/edit.py:647 +#: c3nav/editor/views/edit.py:678 msgid "You can not add graph nodes because your changeset is full." msgstr "Du kannst keine Graphknoten erstellen weil dein Änderungsset voll ist." -#: c3nav/editor/views/edit.py:654 +#: c3nav/editor/views/edit.py:685 msgid "New graph node created." msgstr "Neuer Graphknoten erstellt." @@ -1494,12 +1494,12 @@ msgstr "Du hast direktes Bearbeiten aktiviert." msgid "You deactivated direct editing." msgstr "Du hast direktes Bearbeiten deaktiviert." -#: c3nav/mapdata/api.py:194 +#: c3nav/mapdata/api.py:201 #, python-format msgid "%(field)s is not an integer." msgstr "%(field)s ist keine ganze Zahl." -#: c3nav/mapdata/api.py:202 +#: c3nav/mapdata/api.py:209 #, python-format msgid "%(model)s not found." msgstr "%(model)s nicht gefunden." @@ -1525,11 +1525,15 @@ msgstr "einschließlich der kompletten Versionsgeschichte" msgid "incluce all geometries as well" msgstr "einschließlich aller Geometrien" -#: c3nav/mapdata/management/commands/clearmapcache.py:38 +#: c3nav/mapdata/management/commands/clearmapcache.py:21 +msgid "don't run processupdates if celery is not setup" +msgstr "processupdates nicht laufen lassen wenn celery nicht eingerichtet ist" + +#: c3nav/mapdata/management/commands/clearmapcache.py:40 msgid "You don't have celery installed, so we will run processupdates now..." msgstr "Celery ist nicht installiert, also führen wir nun processupdates aus…" -#: c3nav/mapdata/management/commands/clearmapcache.py:45 +#: c3nav/mapdata/management/commands/clearmapcache.py:47 #: c3nav/mapdata/management/commands/processupdates.py:23 msgid "" "You have no external cache configured, so don't forget to restart your c3nav " @@ -1556,7 +1560,7 @@ msgstr "Unbekannter Raum" #: c3nav/mapdata/management/commands/importsvg.py:29 msgid "svg file to import" -msgstr "zu importierende svg-Datei " +msgstr "zu importierende svg-Datei" #: c3nav/mapdata/management/commands/importsvg.py:30 msgid "name of the import" @@ -1600,11 +1604,11 @@ msgstr "minx muss kleiner als maxx sein" msgid "miny has to be lower than maxy" msgstr "miny muss kleiner als maxy sein" -#: c3nav/mapdata/management/commands/importsvg.py:169 +#: c3nav/mapdata/management/commands/importsvg.py:175 msgid "svg contains transform attributes. Use inkscape apply transforms." msgstr "Die SVG enthält transform attribute. Benutze inkscape apply transform." -#: c3nav/mapdata/management/commands/importsvg.py:172 +#: c3nav/mapdata/management/commands/importsvg.py:178 msgid "objects with this import tag already exist in this space." msgstr "Objekte mit diesem Import tag existieren bereits in diesem Space." @@ -1737,28 +1741,28 @@ msgstr "Zugangserlaubnis-Token" msgid "Access Permission" msgstr "Zugangserlaubnis" -#: c3nav/mapdata/models/base.py:40 c3nav/mapdata/utils/locations.py:307 +#: c3nav/mapdata/models/base.py:42 c3nav/mapdata/utils/locations.py:307 msgid "Type" msgstr "Typ" -#: c3nav/mapdata/models/base.py:81 +#: c3nav/mapdata/models/base.py:83 #, python-brace-format msgid "Title ({lang})" msgstr "Titel ({lang})" -#: c3nav/mapdata/models/base.py:87 +#: c3nav/mapdata/models/base.py:89 msgid "bottom coordinate" msgstr "untere koordinate" -#: c3nav/mapdata/models/base.py:88 +#: c3nav/mapdata/models/base.py:90 msgid "left coordinate" msgstr "linke koordinate" -#: c3nav/mapdata/models/base.py:89 +#: c3nav/mapdata/models/base.py:91 msgid "top coordinate" msgstr "obere koordinate" -#: c3nav/mapdata/models/base.py:90 +#: c3nav/mapdata/models/base.py:92 msgid "right coordinate" msgstr "rechte koordinate" @@ -1766,76 +1770,76 @@ msgstr "rechte koordinate" msgid "import tag" msgstr "import tag" -#: c3nav/mapdata/models/geometry/level.py:31 +#: c3nav/mapdata/models/geometry/level.py:33 msgid "level" msgstr "Etage" -#: c3nav/mapdata/models/geometry/level.py:72 +#: c3nav/mapdata/models/geometry/level.py:74 #, python-brace-format msgid "{category}, {level}" msgstr "{category}, {level}" -#: c3nav/mapdata/models/geometry/level.py:104 +#: c3nav/mapdata/models/geometry/level.py:106 msgid "Building" msgstr "Gebäude" -#: c3nav/mapdata/models/geometry/level.py:105 +#: c3nav/mapdata/models/geometry/level.py:107 msgid "Buildings" msgstr "Gebäude" -#: c3nav/mapdata/models/geometry/level.py:114 -#: c3nav/mapdata/models/geometry/level.py:139 +#: c3nav/mapdata/models/geometry/level.py:116 +#: c3nav/mapdata/models/geometry/level.py:141 #: c3nav/mapdata/models/geometry/space.py:171 #: c3nav/mapdata/models/geometry/space.py:191 msgid "height" msgstr "Höhe" -#: c3nav/mapdata/models/geometry/level.py:116 +#: c3nav/mapdata/models/geometry/level.py:118 msgid "only outside of building" msgstr "nur außerhalb von Gebäuden" -#: c3nav/mapdata/models/geometry/level.py:117 +#: c3nav/mapdata/models/geometry/level.py:119 msgid "Enter description" msgstr "Betretensbeschreibung" -#: c3nav/mapdata/models/geometry/level.py:119 +#: c3nav/mapdata/models/geometry/level.py:121 msgid "always accessible (overwrites base mapdata setting)" msgstr "immer zugänglich (überschreibt Basiskartendaten-Einstellung)" -#: c3nav/mapdata/models/geometry/level.py:123 +#: c3nav/mapdata/models/geometry/level.py:125 msgid "Spaces" msgstr "Räume" -#: c3nav/mapdata/models/geometry/level.py:140 c3nav/mapdata/models/level.py:84 +#: c3nav/mapdata/models/geometry/level.py:142 c3nav/mapdata/models/level.py:84 msgid "outside only" msgstr "Nur draußen" -#: c3nav/mapdata/models/geometry/level.py:154 +#: c3nav/mapdata/models/geometry/level.py:156 msgid "Door" msgstr "Tür" -#: c3nav/mapdata/models/geometry/level.py:155 +#: c3nav/mapdata/models/geometry/level.py:157 msgid "Doors" msgstr "Türen" -#: c3nav/mapdata/models/geometry/level.py:164 +#: c3nav/mapdata/models/geometry/level.py:176 #: c3nav/mapdata/models/geometry/space.py:265 msgid "altitude" msgstr "Bodenhöhe" -#: c3nav/mapdata/models/geometry/level.py:165 +#: c3nav/mapdata/models/geometry/level.py:177 msgid "second altitude" msgstr "zweite Bodenhöhe" -#: c3nav/mapdata/models/geometry/level.py:170 +#: c3nav/mapdata/models/geometry/level.py:182 msgid "Altitude Area" msgstr "Höhenbereich" -#: c3nav/mapdata/models/geometry/level.py:171 +#: c3nav/mapdata/models/geometry/level.py:183 msgid "Altitude Areas" msgstr "Höhenbereiche" -#: c3nav/mapdata/models/geometry/level.py:277 +#: c3nav/mapdata/models/geometry/level.py:289 #, python-format msgid "" "AltitudeMarker #%(marker_id)d in Space #%(space_id)d on Level " @@ -1844,12 +1848,12 @@ msgstr "" "Höhenmarker #%(marker_id)d in Raum #%(space_id)d auf Etage %(level_label)s " "ist nicht in einem begehbaren Bereich platziert" -#: c3nav/mapdata/models/geometry/level.py:591 +#: c3nav/mapdata/models/geometry/level.py:624 #, python-format msgid "%d altitude areas built." msgstr "%d Höhenbereiche gebaut." -#: c3nav/mapdata/models/geometry/level.py:592 +#: c3nav/mapdata/models/geometry/level.py:625 #, python-format msgid "" "%(num_modified)d modified, %(num_deleted)d deleted, %(num_created)d created." @@ -1964,7 +1968,7 @@ msgid "target space" msgstr "Zielraum" #: c3nav/mapdata/models/geometry/space.py:284 -#: c3nav/mapdata/models/geometry/space.py:323 c3nav/mapdata/models/graph.py:47 +#: c3nav/mapdata/models/geometry/space.py:323 c3nav/mapdata/models/graph.py:48 msgid "description" msgstr "Beschreibung" @@ -1988,95 +1992,95 @@ msgstr "Durchschreitungsbeschreibung" msgid "Cross descriptions" msgstr "Durchschreitungsbeschreibungen" -#: c3nav/mapdata/models/geometry/space.py:361 +#: c3nav/mapdata/models/geometry/space.py:362 msgid "comment" msgstr "Kommentar" -#: c3nav/mapdata/models/geometry/space.py:362 +#: c3nav/mapdata/models/geometry/space.py:363 msgid "Measurement list" msgstr "Messungsliste" -#: c3nav/mapdata/models/geometry/space.py:365 +#: c3nav/mapdata/models/geometry/space.py:366 msgid "Wi-Fi Measurement" msgstr "WLAN Messung" -#: c3nav/mapdata/models/geometry/space.py:366 +#: c3nav/mapdata/models/geometry/space.py:367 msgid "Wi-Fi Measurements" msgstr "WLAN Messungen" -#: c3nav/mapdata/models/graph.py:20 +#: c3nav/mapdata/models/graph.py:21 msgid "Graph Node" msgstr "Graphknoten" -#: c3nav/mapdata/models/graph.py:21 +#: c3nav/mapdata/models/graph.py:22 msgid "Graph Nodes" msgstr "Graphknoten" -#: c3nav/mapdata/models/graph.py:38 c3nav/mapdata/models/locations.py:238 +#: c3nav/mapdata/models/graph.py:39 c3nav/mapdata/models/locations.py:257 msgid "Title (Plural)" msgstr "Titel (Plural)" -#: c3nav/mapdata/models/graph.py:39 +#: c3nav/mapdata/models/graph.py:40 msgid "join consecutive edges" msgstr "aufeinandefolgende Kanten zusammenfassen" -#: c3nav/mapdata/models/graph.py:40 +#: c3nav/mapdata/models/graph.py:41 msgid "upwards separately" msgstr "aufwärts seperat" -#: c3nav/mapdata/models/graph.py:41 +#: c3nav/mapdata/models/graph.py:42 msgid "walking" msgstr "zu Fuß" -#: c3nav/mapdata/models/graph.py:42 +#: c3nav/mapdata/models/graph.py:43 msgid "edge color" msgstr "Kantenfarbe" -#: c3nav/mapdata/models/graph.py:43 +#: c3nav/mapdata/models/graph.py:44 msgid "icon name" msgstr "Iconname" -#: c3nav/mapdata/models/graph.py:44 +#: c3nav/mapdata/models/graph.py:45 msgid "extra seconds per edge" msgstr "Extra-Sekunden pro Kante" -#: c3nav/mapdata/models/graph.py:45 +#: c3nav/mapdata/models/graph.py:46 msgid "speed (m/s)" msgstr "Geschwindigkeit (m/s)" -#: c3nav/mapdata/models/graph.py:48 +#: c3nav/mapdata/models/graph.py:49 msgid "speed upwards (m/s)" msgstr "Geschwindigkeit aufwärts (m/s)" -#: c3nav/mapdata/models/graph.py:50 +#: c3nav/mapdata/models/graph.py:51 msgid "description upwards" msgstr "Beschreibung aufwärts" -#: c3nav/mapdata/models/graph.py:51 +#: c3nav/mapdata/models/graph.py:52 msgid "level change description" msgstr "Etagenwechselbeschreibung" -#: c3nav/mapdata/models/graph.py:54 c3nav/mapdata/models/graph.py:67 +#: c3nav/mapdata/models/graph.py:55 c3nav/mapdata/models/graph.py:68 msgid "Way Type" msgstr "Wegtyp" -#: c3nav/mapdata/models/graph.py:55 +#: c3nav/mapdata/models/graph.py:56 msgid "Way Types" msgstr "Wegtypen" -#: c3nav/mapdata/models/graph.py:64 +#: c3nav/mapdata/models/graph.py:65 msgid "from node" msgstr "Startknoten" -#: c3nav/mapdata/models/graph.py:66 +#: c3nav/mapdata/models/graph.py:67 msgid "to node" msgstr "Zielknoten" -#: c3nav/mapdata/models/graph.py:70 +#: c3nav/mapdata/models/graph.py:71 msgid "Graph Edge" msgstr "Graphkante" -#: c3nav/mapdata/models/graph.py:71 +#: c3nav/mapdata/models/graph.py:72 msgid "Graph Edges" msgstr "Graphkanten" @@ -2109,7 +2113,7 @@ msgid "default height" msgstr "Standarddeckenhöhe" #. Translators: "letters" means latin letters: a-z and A-Z. -#: c3nav/mapdata/models/locations.py:46 +#: c3nav/mapdata/models/locations.py:47 msgid "" "Enter a valid location slug consisting of lowercase letters, numbers or " "hyphens, not starting or ending with hyphens or containing consecutive " @@ -2119,131 +2123,163 @@ msgstr "" "Bindestrichen besteht und nicht mit einem Bindestrich beginnt oder endet " "oder aufeinanderfolgende Bindestriche enthält." -#: c3nav/mapdata/models/locations.py:61 c3nav/mapdata/models/locations.py:81 +#: c3nav/mapdata/models/locations.py:62 c3nav/mapdata/models/locations.py:82 #: c3nav/mapdata/utils/locations.py:309 msgid "Slug" msgstr "Slug" -#: c3nav/mapdata/models/locations.py:89 c3nav/mapdata/models/locations.py:90 +#: c3nav/mapdata/models/locations.py:90 c3nav/mapdata/models/locations.py:91 msgid "Location with Slug" msgstr "Ort mit Slug" -#: c3nav/mapdata/models/locations.py:95 +#: c3nav/mapdata/models/locations.py:96 msgid "can be searched" msgstr "zur Suche zugelassen" -#: c3nav/mapdata/models/locations.py:96 c3nav/mapdata/models/locations.py:122 +#: c3nav/mapdata/models/locations.py:97 c3nav/mapdata/models/locations.py:123 msgid "can describe" msgstr "beschreibend" -#: c3nav/mapdata/models/locations.py:97 c3nav/mapdata/models/locations.py:123 +#: c3nav/mapdata/models/locations.py:98 c3nav/mapdata/models/locations.py:124 msgid "icon" msgstr "Icon" -#: c3nav/mapdata/models/locations.py:97 +#: c3nav/mapdata/models/locations.py:98 msgid "any material icons name" msgstr "name eines material icons" -#: c3nav/mapdata/models/locations.py:121 +#: c3nav/mapdata/models/locations.py:122 msgid "searchable" msgstr "suchbar" -#: c3nav/mapdata/models/locations.py:161 c3nav/mapdata/models/locations.py:298 +#: c3nav/mapdata/models/locations.py:162 c3nav/mapdata/models/locations.py:321 msgid "Location Groups" msgstr "Ortgruppen" -#: c3nav/mapdata/models/locations.py:192 +#: c3nav/mapdata/models/locations.py:164 c3nav/mapdata/models/locations.py:313 +msgid "label settings" +msgstr "Labeleinstellungen" + +#: c3nav/mapdata/models/locations.py:165 +msgid "Label override" +msgstr "Label überschreiben" + +#: c3nav/mapdata/models/locations.py:211 msgid "Grid Squares" msgstr "Planquadrate" -#: c3nav/mapdata/models/locations.py:192 c3nav/mapdata/utils/locations.py:328 +#: c3nav/mapdata/models/locations.py:211 c3nav/mapdata/utils/locations.py:328 msgid "Grid Square" msgstr "Planquadrat" -#: c3nav/mapdata/models/locations.py:235 c3nav/mapdata/models/source.py:15 +#: c3nav/mapdata/models/locations.py:254 c3nav/mapdata/models/source.py:15 msgid "Name" msgstr "Name" -#: c3nav/mapdata/models/locations.py:236 +#: c3nav/mapdata/models/locations.py:255 msgid "single selection" msgstr "nur eine Auswahl möglich" -#: c3nav/mapdata/models/locations.py:239 +#: c3nav/mapdata/models/locations.py:258 msgid "Help text" msgstr "Hilfehinweis" -#: c3nav/mapdata/models/locations.py:240 +#: c3nav/mapdata/models/locations.py:259 msgid "allow levels" msgstr "bei Etagen erlauben" -#: c3nav/mapdata/models/locations.py:241 +#: c3nav/mapdata/models/locations.py:260 msgid "allow spaces" msgstr "bei Räumen erlauben" -#: c3nav/mapdata/models/locations.py:242 +#: c3nav/mapdata/models/locations.py:261 msgid "allow areas" msgstr "bei Bereichen erlauben" -#: c3nav/mapdata/models/locations.py:243 +#: c3nav/mapdata/models/locations.py:262 msgid "allow pois" msgstr "bei POI erlauben" -#: c3nav/mapdata/models/locations.py:251 +#: c3nav/mapdata/models/locations.py:270 msgid "Location Group Category" msgstr "Ortgruppenkategorie" -#: c3nav/mapdata/models/locations.py:252 +#: c3nav/mapdata/models/locations.py:271 msgid "Location Group Categories" msgstr "Ortgruppenkategorien" -#: c3nav/mapdata/models/locations.py:290 c3nav/mapdata/models/locations.py:318 +#: c3nav/mapdata/models/locations.py:309 c3nav/mapdata/models/locations.py:342 msgid "Category" msgstr "Kategorie" -#: c3nav/mapdata/models/locations.py:292 +#: c3nav/mapdata/models/locations.py:311 +msgid "hierarchy" +msgstr "Hierarchie" + +#: c3nav/mapdata/models/locations.py:314 +msgid "unless location specifies otherwise" +msgstr "kann von Orten überschrieben werden" + +#: c3nav/mapdata/models/locations.py:315 msgid "background color" msgstr "Hintergrundfarbe" -#: c3nav/mapdata/models/locations.py:297 +#: c3nav/mapdata/models/locations.py:320 msgid "Location Group" msgstr "Ortgruppe" -#: c3nav/mapdata/models/locations.py:320 c3nav/mapdata/models/locations.py:335 +#: c3nav/mapdata/models/locations.py:344 c3nav/mapdata/models/locations.py:359 msgid "color" msgstr "Farbe" -#: c3nav/mapdata/models/locations.py:321 +#: c3nav/mapdata/models/locations.py:345 msgid "priority" msgstr "Priorität" -#: c3nav/mapdata/models/locations.py:331 +#: c3nav/mapdata/models/locations.py:355 msgid "search" msgstr "suchen" -#: c3nav/mapdata/models/locations.py:333 +#: c3nav/mapdata/models/locations.py:357 msgid "describe" msgstr "beschreiben" -#: c3nav/mapdata/models/locations.py:337 +#: c3nav/mapdata/models/locations.py:361 msgid "internal" msgstr "intern" -#: c3nav/mapdata/models/locations.py:354 +#: c3nav/mapdata/models/locations.py:378 #, python-brace-format msgid "{category_title}, {num_locations}" msgstr "{category_title}, {num_locations}" -#: c3nav/mapdata/models/locations.py:356 +#: c3nav/mapdata/models/locations.py:380 #, python-format msgid "%(num)d location" msgid_plural "%(num)d locations" msgstr[0] "%(num)d Ort" msgstr[1] "%(num)d Orte" -#: c3nav/mapdata/models/locations.py:378 +#: c3nav/mapdata/models/locations.py:403 msgid "target" msgstr "Ziel" +#: c3nav/mapdata/models/locations.py:422 +msgid "min zoom" +msgstr "Mindestzoom" + +#: c3nav/mapdata/models/locations.py:425 +msgid "max zoom" +msgstr "Maximalzoom" + +#: c3nav/mapdata/models/locations.py:428 +msgid "font size" +msgstr "Schriftgröße" + +#: c3nav/mapdata/models/locations.py:444 c3nav/mapdata/models/locations.py:445 +msgid "Label Settings" +msgstr "Labeleinstellungen" + #: c3nav/mapdata/models/source.py:18 msgid "Source" msgstr "Vorlage" diff --git a/src/c3nav/mapdata/models/locations.py b/src/c3nav/mapdata/models/locations.py index cb953d19..2addcd6c 100644 --- a/src/c3nav/mapdata/models/locations.py +++ b/src/c3nav/mapdata/models/locations.py @@ -2,7 +2,7 @@ from contextlib import suppress from decimal import Decimal from operator import attrgetter -from django.core.validators import RegexValidator, MinValueValidator, MaxValueValidator +from django.core.validators import MaxValueValidator, MinValueValidator, RegexValidator from django.db import models from django.db.models import FieldDoesNotExist, Prefetch from django.urls import reverse