From fd666fd16e9b4aa335869713b645735ff140a8be Mon Sep 17 00:00:00 2001 From: andywar65 Date: Thu, 1 Dec 2022 21:40:13 +0100 Subject: [PATCH] updating messages --- README.md | 7 +- locale/it/LC_MESSAGES/django.mo | Bin 4787 -> 5592 bytes locale/it/LC_MESSAGES/django.po | 115 +++++++++++++++++++++----------- 3 files changed, 80 insertions(+), 42 deletions(-) diff --git a/README.md b/README.md index 97fef8e..4803a3d 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -# django-geocad 1.6.0 +# django-geocad 1.6.1 Django app that imports CAD drawings in Leaflet maps ## Overview Show CAD drawings with no geo location in interactive web maps. Change / add layers to drawings, change / add elements to layers, change blocks and change / add it's instances, download changed DXF files. @@ -24,10 +24,13 @@ a `Title`, a short description, an image and the `DXF file`. In the map select t Press the `Save and continue` button. If all goes well the `DXF file` will be extracted and a list of `Layers` will be attached to your drawing. Each layer inherits the `Name` and color originally assigned in CAD. `ARC`, `CIRCLE`, `LINE` and `LWPOLYLINE` entities are visible on the map panel. It is possible to change layer name and layer entities. If unnested `BLOCKS` are present in the drawing, they will be extracted and inserted on respective layer. Please notice that all entities forming the `BLOCK` will be placed on layer `0`. `Blocks` share the same model as `Layers`, so they can be modified in frontend. Insertion point is at (LAT=0, LONG=0). When updating a `Block` you will be able to access it's instances. Apart from normal CRUD operations, you can also `explode` an instance: the instance will be deleted, but it's entities will be transferred to insertion layer (this is common practice in CAD). If you want to create a new `BLOCK`, make a `Layer` first. Layer can be transformed to block (an instance of the block will replace layer). ## On the frontend -On the navigation bar look for `Projects/GeoCAD`. Two `List` frontend views are implemented: `List of all drawings`, `List by author`, where drawings are just markers on the map. Note that `private` drawings will be hidden from non authors in all views. Click on a marker and follow the link in the popup: you will land on the `Drawing Detail` page, with layers displayed on the map. If you are the author of this drawing, you can access all `CRUD` views for `Drawings`, `Layers` and `Insertions`. Note that all entities on a layer inherit layer color. +On the navigation bar look for `Projects/GeoCAD`. Two `List` frontend views are implemented: `List of all drawings`, `List by author`, where drawings are just markers on the map. Note that `private` drawings will be hidden from non authors in all views. Click on a marker and follow the link in the popup: you will land on the `Drawing Detail` page, with layers displayed on the map. If you are the author of this drawing, you can access all `CRUD` views for `Drawings`, `Layers` and `Insertions`. Note that all entities on a layer inherit layer color. You can create drawings either if you are logged in or out, bur login is required to modify drawings. ## Downloading In `Drawing Detail` view it is possible to download back the (eventually modified) `DXF file`. Some limitations apply: the `True North` will be respected, `ARC` and `CIRCLE` entities will be approximated to `LWPOLYLINES`, and `Layers` will have `True Colors` instead of `ACI Colors`. Beware that if layers have been modified and a download is performed, the stored file will be replaced too, and rotation will be set to zero (True North). +## Changelog v1.6.1 +* Fixed bug in drawing download +* Upload files without login ## Changelog v1.6.0 * Transform layer to block * C*UD views need permissions diff --git a/locale/it/LC_MESSAGES/django.mo b/locale/it/LC_MESSAGES/django.mo index 970a6bd9492143a491e74d63f4a70b7d20d3e048..da23c806c62ce4b39459690cb462921ed04a98d2 100644 GIT binary patch delta 2408 zcmZvcU5Hd=7{}lIs&-9Xzs)UQE7#q2opsk$%RY70b%~PNC56a1&YYcn@p#T~&KVcG zXc7sms0fLWD1(Y31gW*U>88YP^2WT`5F{!{s4fa2$bx?VnRjI_dYI?@-mmj~zGo)a zOm){TFP!y;L59(Gv^2w*0G^t~16e=En5S+qrVn;7f8|DF?u2LHaySK7!9U;~uUVt~l%YOX|9AJJGu7h1{Zh(7WH+&gx zgkL~nG`~Y)F<0R{_z#>9TU(5o4OhYia5Y?tf79G%mIso~Z zl!pw}pbWg~*H1!KfGB;THCHLEWXJZPb4ggHQaz6@OqU z^;hPPd+voY{ETPCuOETR^cY+NPx|$9@K)yMAxWEGpaQ%KRjGd=T`;q2G)N0=P_0aRSQ05va@b5>y3VgZ#|9JeI)Epd5S)mB5cst@{(oPCJL>r~}I0Hc0a35lBom zvyTBklk$**V~{V!obY@f%E4)<0Kb9UA#*=EEd@W&d$*vvE0V3~4)ktK5CtINKdvq_ z_5I7Zq!YEMoJ`Au40KTx@x7=r(!J#fok(}U_0R)P|W z(-3|Cx*)qy^--c5s#~uMwH|#KZI+EpI?%P~Fgk#$^!K3Zt>nH2>ZR9Ef7#Qrfx+$Q zDpdE+JcR1MTCxdMzXvrz`ceHU>2p(Gd(m!m8){nYbs3JcFwO0#%cIZ+amfZY8&6m% zg;_CmmE0w9!48fmNyfh2zIUe`b5U5com)o+hlg!`xDs|1?2bcWoL7U$mcyhJQT0@s=$nX&k0mp2V#COw%L}l$1Pp>rKWdTt05oFsp>c z+~$cLO{<}OjCzdQ&SFxH^Dr$&N%6o+xwI~`l_YbyJ46kxTbW!iXJ~edx7{0*j*qqu zwe+uB-)H;#wrtpV{DaoNYS$0jMqDl{I_n~vyF7^!8`^429%*hlGu7TXv9#X{+2iE4RKALVzSPHG>GF`LT%#AmBKX49cHUh6sQ}OpwW+d zJki=leHDYe23h79Mz%!qgNCKJoc) d?nl#&OS%e^Z_QmkXQ9ujHz=1~H7>he^B*RueMkTR delta 1598 zcmYk+OGs2v9LMp0KE}qh@sZj?P4k^O&RFWGWtKAyWsB&!F{EhGqQn+ME`r;tMHx~i zw2+FTWf%!zo0io^DtZY)k5wUo)uL!o^!?480T1)PpL@=|a~}VD?wxO*sq;P*Wlb6- zPLvY|Gt7?RSQZCLfzPZS3$X?xxEcp>JtlAiPP+OmmQkO_QvB}Pb8^fos5f9H#&Ct1 zXS+Gcqu~(x@p$Tjox&~DN3jL(;bwe~%@|m2){Z^M7|wIqGn?Z?D|&^R$T#F?e>kY)3}(el&5s(O1l3W6s|Qh;=s^ANuyY8TsGmel;3{h1 z>!=J(qo48Zsk`AN7EyoaTtKDlFRsFMxv2?-P%G<14H$Rr`%q8q2o~cYDib59`#sde z$6fsvdV1#fIZ;P*s7$;?t$Y!ckzc5eGD(9vC_=T@pfVD2Mo=s4!{{<5g4NWgxVaG@ zqx%1XRcQG<|0b-?Pu)0xn$T&~jTcdy>yEqr1U1pGsEPb=W-vR|i=DODO}!mka0EN> zhO57E*E0j;Un}h;KQe~uXs`3AYad3fEP-`6=Gq_NTI!Eb8F`JG;Ad237LX*^Pgnnk z{LIH7x?bvWQp-uDYv^|lU?=SdP#s=E4Rj5anQ2r9&zvt%6P(92xQOc4U&y|}AnN`- z$j|n3U|X4Yf)foejM_YBk^kB`)TXpqKSQYg6Uesm>_Y0quAl~(LiUdJ5b2_4sG@a#*hRz$y{p~s+9!Q=-?8&{c8(TdYW z&p%G+v8Z$rRfHZ-tKR?Z#L}X#o;F#%Yt&bd4V&B#`UIRem>JEn{g89E^ IrUPZZ|Iu}FHUIzs diff --git a/locale/it/LC_MESSAGES/django.po b/locale/it/LC_MESSAGES/django.po index 9c15917..2c77d71 100644 --- a/locale/it/LC_MESSAGES/django.po +++ b/locale/it/LC_MESSAGES/django.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: \n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-11-29 19:08+0100\n" -"PO-Revision-Date: 2022-11-29 19:10+0100\n" +"POT-Creation-Date: 2022-12-01 20:47+0100\n" +"PO-Revision-Date: 2022-12-01 21:35+0100\n" "Last-Translator: andywar65 \n" "Language-Team: \n" "Language: it\n" @@ -18,10 +18,15 @@ msgstr "" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: Poedit 3.0.1\n" -#: .\djeocad\apps.py:10 +#: .\djeocad\apps.py:14 msgid "GeoCAD Manager" msgstr "" +#: .\djeocad\apps.py:23 .\djeocad\apps.py:27 .\djeocad\views.py:159 +#: .\djeocad\views.py:166 +msgid "geocad_visitors" +msgstr "" + #: .\djeocad\models.py:29 .\djeocad\templates\djeocad\htmx\author_list.html:4 msgid "Author" msgstr "Autore" @@ -46,11 +51,11 @@ msgstr "Immagine" msgid "DXF file" msgstr "File DXF" -#: .\djeocad\models.py:63 .\djeocad\models.py:564 +#: .\djeocad\models.py:63 .\djeocad\models.py:567 msgid "Location" msgstr "Posizione" -#: .\djeocad\models.py:65 .\djeocad\models.py:566 +#: .\djeocad\models.py:65 .\djeocad\models.py:569 msgid "Rotation" msgstr "Rotazione" @@ -62,7 +67,7 @@ msgstr "Disegno privato" msgid "Refresh DXF file from layers" msgstr "Aggiorna il file DXF partendo dai livelli" -#: .\djeocad\models.py:85 .\djeocad\models.py:396 +#: .\djeocad\models.py:85 .\djeocad\models.py:399 #: .\djeocad\templates\djeocad\htmx\drawing_detail.html:5 msgid "Drawing" msgstr "Disegno" @@ -71,37 +76,37 @@ msgstr "Disegno" msgid "Drawings" msgstr "Disegni" -#: .\djeocad\models.py:399 +#: .\djeocad\models.py:402 msgid "Layer / block name" msgstr "Nome del livello / blocco" -#: .\djeocad\models.py:403 .\djeocad\models.py:577 +#: .\djeocad\models.py:406 .\djeocad\models.py:580 msgid "Entities" msgstr "Entità" -#: .\djeocad\models.py:405 +#: .\djeocad\models.py:408 msgid "Block definition" msgstr "Definizione del blocco" -#: .\djeocad\models.py:414 .\djeocad\models.py:491 .\djeocad\models.py:562 -#: .\djeocad\models.py:602 +#: .\djeocad\models.py:417 .\djeocad\models.py:494 .\djeocad\models.py:565 +#: .\djeocad\models.py:605 #: .\djeocad\templates\djeocad\htmx\insertion_inline.html:10 #: .\djeocad\templates\djeocad\htmx\layer_detail.html:4 #: .\djeocad\templates\djeocad\htmx\layer_inline.html:12 msgid "Layer" msgstr "Livello" -#: .\djeocad\models.py:415 +#: .\djeocad\models.py:418 msgid "Layers" msgstr "Livelli" -#: .\djeocad\models.py:489 .\djeocad\models.py:556 .\djeocad\models.py:604 +#: .\djeocad\models.py:492 .\djeocad\models.py:559 .\djeocad\models.py:607 #: .\djeocad\templates\djeocad\htmx\layer_inline.html:10 #: .\djeocad\templates\djeocad\includes\insertion_update.html:9 msgid "Block" msgstr "Blocco" -#: .\djeocad\models.py:495 .\djeocad\models.py:600 +#: .\djeocad\models.py:498 .\djeocad\models.py:603 #: .\djeocad\templates\djeocad\htmx\insertion_inline.html:9 #: .\djeocad\templates\djeocad\htmx\layer_inline.html:14 #: .\djeocad\templates\djeocad\includes\layer_update.html:10 @@ -109,11 +114,11 @@ msgstr "Blocco" msgid "ID" msgstr "" -#: .\djeocad\models.py:570 +#: .\djeocad\models.py:573 msgid "X scale" msgstr "Scala in X" -#: .\djeocad\models.py:574 +#: .\djeocad\models.py:577 msgid "Y scale" msgstr "Scala in Y" @@ -122,12 +127,15 @@ msgid "No drawings yet" msgstr "Ancora nessun disegno" #: .\djeocad\templates\djeocad\htmx\author_list.html:28 +#: .\djeocad\templates\djeocad\htmx\drawing_detail.html:26 msgid "All authors" msgstr "Tutti gli autori" #: .\djeocad\templates\djeocad\htmx\author_list.html:35 #: .\djeocad\templates\djeocad\htmx\base_list.html:29 +#: .\djeocad\templates\djeocad\htmx\base_list.html:34 #: .\djeocad\templates\djeocad\includes\drawing_create.html:9 +#: .\djeocad\templates\djeocad\includes\drawing_simple_create.html:9 msgid "Add drawing" msgstr "Aggiungi disegno" @@ -143,26 +151,26 @@ msgstr "Autori" msgid "No authors yet" msgstr "Ancora nessun autore" -#: .\djeocad\templates\djeocad\htmx\drawing_detail.html:16 +#: .\djeocad\templates\djeocad\htmx\drawing_detail.html:18 msgid "Back to author" msgstr "Torna all'autore" -#: .\djeocad\templates\djeocad\htmx\drawing_detail.html:21 +#: .\djeocad\templates\djeocad\htmx\drawing_detail.html:34 msgid "Download drawing" msgstr "Scarica disegno" -#: .\djeocad\templates\djeocad\htmx\drawing_detail.html:30 +#: .\djeocad\templates\djeocad\htmx\drawing_detail.html:39 #: .\djeocad\templates\djeocad\htmx\insertion_inline.html:14 #: .\djeocad\templates\djeocad\htmx\layer_detail.html:23 #: .\djeocad\templates\djeocad\htmx\layer_inline.html:19 msgid "Modify" msgstr "Modifica" -#: .\djeocad\templates\djeocad\htmx\drawing_detail.html:36 +#: .\djeocad\templates\djeocad\htmx\drawing_detail.html:45 msgid "Are you sure you want to delete this drawing?" msgstr "Sei sicuro di voler eliminare questo disegno?" -#: .\djeocad\templates\djeocad\htmx\drawing_detail.html:37 +#: .\djeocad\templates\djeocad\htmx\drawing_detail.html:46 #: .\djeocad\templates\djeocad\htmx\insertion_inline.html:31 #: .\djeocad\templates\djeocad\htmx\layer_detail.html:30 #: .\djeocad\templates\djeocad\htmx\layer_inline.html:28 @@ -198,11 +206,34 @@ msgid "Are you sure you want to delete this layer / block?" msgstr "Sei sicuro di voler eliminare questo livello / blocco?" #: .\djeocad\templates\djeocad\includes\drawing_create.html:19 +#: .\djeocad\templates\djeocad\includes\drawing_simple_create.html:27 #: .\djeocad\templates\djeocad\includes\insertion_create.html:18 #: .\djeocad\templates\djeocad\includes\layer_create.html:18 msgid "Add" msgstr "Aggiungi" +#: .\djeocad\templates\djeocad\includes\drawing_simple_create.html:12 +msgid "" +"\n" +" Insert Title and a short description. Choose a DXF file (ASCII " +"type). Eventual geodata\n" +" will be misregarded. On the map insert the WCS origin of the " +"drawing.\n" +" Choose the origin wisely, i.e. a building cornerstone. Insert " +"rotation of drawing\n" +" with respect to True North (counterclockwise is positive).\n" +" " +msgstr "" +"\n" +" Inserisci il titolo e una breve descrizione. Scegli un file DXF " +"(tipo ASCII). Geodata eventuali\n" +" non saranno considereti. Sulla mappa inserisci l'origine degli " +"assi del disegno (WCS).\n" +" Scegli l'origine degli assi in modo consono, p. es. l'angolo di " +"un edificio. Inserisci la rotazione\n" +" del disegno rispetto al Nord reale (il senso antiorario è " +"positivo)." + #: .\djeocad\templates\djeocad\includes\drawing_update.html:10 msgid "Update drawing" msgstr "Aggiorna il disegno" @@ -266,81 +297,85 @@ msgid "Transform layer to block" msgstr "Trasforma livello in blocco" #: .\djeocad\urls.py:28 +msgid "drawing/add/" +msgstr "disegno/aggiungi/" + +#: .\djeocad\urls.py:34 msgid "/drawing/add/" msgstr "/disegno/aggiungi/" -#: .\djeocad\urls.py:33 +#: .\djeocad\urls.py:39 msgid "/drawing//" msgstr "/disegno//" -#: .\djeocad\urls.py:38 +#: .\djeocad\urls.py:44 msgid "/drawing//update/" msgstr "/disegno//aggiorna/" -#: .\djeocad\urls.py:43 +#: .\djeocad\urls.py:49 msgid "/drawing//delete/" msgstr "/disegno//elimina/" -#: .\djeocad\urls.py:48 +#: .\djeocad\urls.py:54 msgid "/drawing//layer/add/" msgstr "/disegno//livello/aggiungi/" -#: .\djeocad\urls.py:53 +#: .\djeocad\urls.py:59 msgid "/layer//" msgstr "/livello//" -#: .\djeocad\urls.py:58 +#: .\djeocad\urls.py:64 msgid "/layer//update/" msgstr "/livello//aggiorna/" -#: .\djeocad\urls.py:63 +#: .\djeocad\urls.py:69 msgid "/layer//to/block/" msgstr "/livello//in/blocco/" -#: .\djeocad\urls.py:68 +#: .\djeocad\urls.py:74 msgid "/block//instance/add/" msgstr "/blocco//aggiungi/istanza/" -#: .\djeocad\urls.py:73 +#: .\djeocad\urls.py:79 msgid "/block-instance//update/" msgstr "/istanza//aggiorna/" -#: .\djeocad\urls.py:77 +#: .\djeocad\urls.py:83 msgid "drawing//download/" msgstr "disegno//download/" -#: .\djeocad\views.py:105 +#: .\djeocad\views.py:110 msgid "Drawing does not belong to User" msgstr "Il disegno non appartiene all'utente" -#: .\djeocad\views.py:180 .\djeocad\views.py:339 .\djeocad\views.py:425 -#: .\djeocad\views.py:441 +#: .\djeocad\views.py:202 .\djeocad\views.py:361 .\djeocad\views.py:447 +#: .\djeocad\views.py:463 msgid "Request without HTMX headers" msgstr "" -#: .\djeocad\views.py:206 +#: .\djeocad\views.py:228 msgid "Layer does not belong to User" msgstr "Il livello non appartiene all'utente" -#: .\djeocad\views.py:342 +#: .\djeocad\views.py:364 msgid "Can't delete layer '0'" msgstr "Non si può cancellare il livello '0'" -#: .\djeocad\views.py:347 +#: .\djeocad\views.py:369 #, python-format msgid "Layer \"%s\" deleted" msgstr "Livello \"%s\" eliminato" -#: .\djeocad\views.py:361 +#: .\djeocad\views.py:383 msgid "Layer is not a block" msgstr "Il livello non è un blocco" -#: .\djeocad\views.py:431 +#: .\djeocad\views.py:453 #, python-format msgid "Insertion \"%d\" deleted" msgstr "Inserimento \"%d\" eliminato" -#: .\djeocad\views.py:448 +#: .\djeocad\views.py:470 #, python-format msgid "Insertion \"%d\" exploded" msgstr "Inserimento \"%d\" esploso"