diff --git a/Makefile b/Makefile index b2245e16..6d0d58cb 100644 --- a/Makefile +++ b/Makefile @@ -1,5 +1,8 @@ test: py.test - develop: python setup.py develop +compilemessages: + django-admin.py compilemessages +makemessages: + django-admin.py makemessages -a diff --git a/umap/context_processors.py b/umap/context_processors.py index f50e6212..03253b24 100644 --- a/umap/context_processors.py +++ b/umap/context_processors.py @@ -15,4 +15,3 @@ def version(request): return { 'UMAP_VERSION': __version__ } - diff --git a/umap/locale/am_ET/LC_MESSAGES/django.mo b/umap/locale/am_ET/LC_MESSAGES/django.mo index e6668962..119056d1 100644 Binary files a/umap/locale/am_ET/LC_MESSAGES/django.mo and b/umap/locale/am_ET/LC_MESSAGES/django.mo differ diff --git a/umap/locale/am_ET/LC_MESSAGES/django.po b/umap/locale/am_ET/LC_MESSAGES/django.po index c8306d32..6d04e10e 100644 --- a/umap/locale/am_ET/LC_MESSAGES/django.po +++ b/umap/locale/am_ET/LC_MESSAGES/django.po @@ -9,14 +9,13 @@ msgstr "" "Project-Id-Version: uMap\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2016-09-09 21:37+0200\n" -"PO-Revision-Date: 2015-11-15 14:24+0000\n" -"Last-Translator: Alazar Tekle \n" -"Language-Team: Amharic (Ethiopia) (http://www.transifex.com/yohanboniface/" -"umap/language/am_ET/)\n" -"Language: am_ET\n" +"PO-Revision-Date: 2017-09-22 17:21+0000\n" +"Last-Translator: yohanboniface \n" +"Language-Team: Amharic (Ethiopia) (http://www.transifex.com/yohanboniface/umap/language/am_ET/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +"Language: am_ET\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: templates/404.html:7 @@ -33,10 +32,8 @@ msgid "Type editors nick to add…" msgstr "የአራሚዎችን ኒክ በመፃፍ ጨምር" #: templates/leaflet_storage/map_detail.html:27 -#, fuzzy -#| msgid "Type editors nick to add…" msgid "Type new owner nick…" -msgstr "የአራሚዎችን ኒክ በመፃፍ ጨምር" +msgstr "" #: templates/leaflet_storage/map_list.html:7 views.py:184 msgid "by" @@ -71,9 +68,7 @@ msgstr "እባክዎ አቅራቢ ይምረጡ" msgid "" "uMap let you create maps with OpenStreetMap " "layers in a minute and embed them in your site." -msgstr "" -"ዩማፕ በ ኦፕን ስትሪት ማፕ ሌየሮች ካርታዎችን በደቂቃ ውስጥ ሰርተን " -"በገፃችን ማካተት እንድንችል ያደርገናል" +msgstr "ዩማፕ በ ኦፕን ስትሪት ማፕ ሌየሮች ካርታዎችን በደቂቃ ውስጥ ሰርተን በገፃችን ማካተት እንድንችል ያደርገናል" #: templates/umap/about_summary.html:11 msgid "Choose the layers of your map" @@ -120,13 +115,10 @@ msgstr "በማሳያው ተለማመድ" #, python-format msgid "" "This is a demo instance, used for tests and pre-rolling releases. If you " -"need a stable instance, please use " -"%(stable_url)s. You can also host your own instance, it's open source!" -msgstr "" -"ይህ ለሙከራ እና ፕሪ-ሮሊግ ሪሊዞች የሚያገለግል ማሳያ ነው። ቋሚ የሆነ ማሳያ ከፈለጉ እባክዎ %(stable_url)s ይጠቀሙ። እንዲሁም የራስዎን ማስቀመጥ ይችላሉ፣ ነፃ እና ክፍት ነው!" +"need a stable instance, please use %(stable_url)s. You can also host your own " +"instance, it's open source!" +msgstr "ይህ ለሙከራ እና ፕሪ-ሮሊግ ሪሊዞች የሚያገለግል ማሳያ ነው። ቋሚ የሆነ ማሳያ ከፈለጉ እባክዎ %(stable_url)s ይጠቀሙ። እንዲሁም የራስዎን ማስቀመጥ ይችላሉ፣ ነፃ እና ክፍት ነው!" #: templates/umap/home.html:17 msgid "Map of the uMaps" @@ -170,8 +162,8 @@ msgstr "" #: templates/umap/password_change.html:7 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 "" #: templates/umap/password_change.html:12 @@ -214,5 +206,182 @@ msgstr "ፈልግ" msgid "View the map" msgstr "ካርታውን አሳይ" -#~ msgid "Map settings" -#~ msgstr "የካርታዎች ሁኔታ" +#: forms.py:43 +#, python-format +msgid "Secret edit link is %s" +msgstr "የሚስጥር የማረሚያ መስመሩ %s" + +#: forms.py:47 models.py:113 +msgid "Everyone can edit" +msgstr "ሁሉም ማረም ይችላል" + +#: forms.py:48 +msgid "Only editable with secret edit link" +msgstr "በሚስጥር የመረሚያ መስመሩ ብቻ የሚታረም" + +#: models.py:20 +msgid "name" +msgstr "ስም" + +#: models.py:42 +msgid "No licence set" +msgstr "ምንም ፈቃድ አልተሰጠም" + +#: models.py:51 +msgid "details" +msgstr "ዝርዝሮች" + +#: models.py:52 +msgid "Link to a page where the licence is detailed." +msgstr "ፈቃዱ በዝርዝር ከተቀመጠ ገፅ ጛር አገናኝ" + +#: models.py:66 +msgid "URL template using OSM tile format" +msgstr "የድረ-ገፅ አድራሻ ተምሳሌ በኦ.ኤስ.ኤም. የታይል ፎርማት" + +#: models.py:74 +msgid "Order of the tilelayers in the edit box" +msgstr "በማረሚያ ሳጥኑ ውስጥ የታይል ሌየሮቹ ቅደም ተከተል" + +#: models.py:114 +msgid "Only editors can edit" +msgstr "አራሚዎች ብቻ ማረም ይችላሉ" + +#: models.py:115 +msgid "Only owner can edit" +msgstr "ባለቤት ብቻ ማረም ይችላል" + +#: models.py:118 +msgid "everyone (public)" +msgstr "ሁሉም (የህዝብ)" + +#: models.py:119 +msgid "anyone with link" +msgstr "አድራሻው ያለው ሁሉ" + +#: models.py:120 +msgid "editors only" +msgstr "አራሚዎች ብቻ" + +#: models.py:123 models.py:257 +msgid "description" +msgstr "መገለጫ" + +#: models.py:124 +msgid "center" +msgstr "መሀከል" + +#: models.py:125 +msgid "zoom" +msgstr "ዙም" + +#: models.py:126 +msgid "locate" +msgstr "ጠቁም" + +#: models.py:126 +msgid "Locate user on load?" +msgstr "በመጫን ላይ ያለውን ተጠቃሚ ጠቁም?" + +#: models.py:129 +msgid "Choose the map licence." +msgstr "የካርታውን ፈቃድ ከልስ" + +#: models.py:130 +msgid "licence" +msgstr "ፈቃድ" + +#: models.py:135 +msgid "background" +msgstr "ጀርባ" + +#: models.py:136 +msgid "owner" +msgstr "ባለቤት" + +#: models.py:137 +msgid "editors" +msgstr "አራሚዎች" + +#: models.py:138 +msgid "edit status" +msgstr "ያለበትን ሁኔታ አርም" + +#: models.py:139 +msgid "share status" +msgstr "ያለበትን ሁኔታ አጋራ" + +#: models.py:140 +msgid "settings" +msgstr "ሁኔታዎች" + +#: models.py:178 +#, python-format +msgid "Your anonymous map has been attached to your account %s" +msgstr "በግልፅ ያልተቀመጠው ካርታዎ ከ %s አካውንትዎ ጋር ተያይዟል" + +#: models.py:211 +msgid "Clone of" +msgstr "ድቃይ" + +#: models.py:262 +msgid "display on load" +msgstr "በመጫን ላይ አሳይ" + +#: models.py:263 +msgid "Display this layer on load." +msgstr "ሌየሩ በመጫን ላይ አሳይ" + +#: templates/leaflet_storage/login_popup_end.html:2 +msgid "You are logged in. Continuing..." +msgstr "ገብተዋል። በመቀጠል ላይ ..." + +#: templates/leaflet_storage/map_update_permissions.html:2 +msgid "Map permissions" +msgstr "የካርታ ፍቃዶች" + +#: templates/registration/login.html:2 +msgid "Please log in to proceed" +msgstr "እባክዎ ለመቀጠል ይግቡ" + +#: templates/registration/login.html:4 +msgid "Your username and password didn't match. Please try again." +msgstr "የተገልጋይ ስምዎ እና የይለፍ ቃልዎ አልተዛመደም። እባክዎ እንደገና ይሞክሩ።" + +#: views.py:232 +#, python-format +msgid "" +"Your map has been created! If you want to edit this map from another " +"computer, please use this link: %(anonymous_url)s" +msgstr "ካርታዎ ተፈጥሯል! ይህንን ካርታ ከሌላ ኮምፒውተር ላይ ሆነው ለማረም ከፈለጉ የሚከተለውን አድራሻ ይጠቀሙ %(anonymous_url)s" + +#: views.py:237 +msgid "Congratulations, your map has been created!" +msgstr "እንኳን ደስ አለዎ ካርታዎ ተፈጥሯል!" + +#: views.py:264 +msgid "Map has been updated!" +msgstr "ካርታው ታድሷል!" + +#: views.py:291 +msgid "Map editors updated with success!" +msgstr "የካርታ አራሚዎች በትክክል ታድሰዋል!" + +#: views.py:306 +msgid "Only its owner can delete the map." +msgstr "ካርታውን የሚሰርዘው ባለቤቱ ብቻ ነው።" + +#: views.py:335 +#, python-format +msgid "" +"Your map has been cloned! If you want to edit this map from another " +"computer, please use this link: %(anonymous_url)s" +msgstr "ካርታዎ ተዳቅሏል! ይህንን ካርታ ከሌላ ኮምፒውተር ላይ ሆነው ለማረም ከፈለጉ የሚከተለውን አድራሻ ይጠቀሙ %(anonymous_url)s" + +#: views.py:340 +msgid "Congratulations, your map has been cloned!" +msgstr "እንኳን ደስ አለዎ ካርታዎ ተዳቅሏል!" + +#: views.py:526 +msgid "Layer successfully deleted." +msgstr "ሌየሩ በትክክል ተሰርዟ" diff --git a/umap/locale/bg/LC_MESSAGES/django.mo b/umap/locale/bg/LC_MESSAGES/django.mo index 3399a0d9..f47568a7 100644 Binary files a/umap/locale/bg/LC_MESSAGES/django.mo and b/umap/locale/bg/LC_MESSAGES/django.mo differ diff --git a/umap/locale/bg/LC_MESSAGES/django.po b/umap/locale/bg/LC_MESSAGES/django.po index 8e6a1bd5..fa814c0a 100644 --- a/umap/locale/bg/LC_MESSAGES/django.po +++ b/umap/locale/bg/LC_MESSAGES/django.po @@ -10,14 +10,13 @@ msgstr "" "Project-Id-Version: uMap\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2016-09-09 21:37+0200\n" -"PO-Revision-Date: 2014-07-20 14:03+0000\n" +"PO-Revision-Date: 2017-09-23 19:25+0000\n" "Last-Translator: yohanboniface \n" -"Language-Team: Bulgarian (http://www.transifex.com/projects/p/umap/language/" -"bg/)\n" -"Language: bg\n" +"Language-Team: Bulgarian (http://www.transifex.com/yohanboniface/umap/language/bg/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +"Language: bg\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: templates/404.html:7 @@ -70,10 +69,7 @@ msgstr "Моля изберете провайдер" msgid "" "uMap let you create maps with OpenStreetMap " "layers in a minute and embed them in your site." -msgstr "" -"uMap ви позволява да създавате карти базирани върху слоевете на OpenStreetMap само за минути и да ги вградите в " -"сайта си." +msgstr "uMap ви позволява да създавате карти базирани върху слоевете на OpenStreetMap само за минути и да ги вградите в сайта си." #: templates/umap/about_summary.html:11 msgid "Choose the layers of your map" @@ -89,9 +85,7 @@ msgstr "Промени POIs цветове и икони" #: templates/umap/about_summary.html:14 msgid "Manage map options: display a minimap, locate user on load…" -msgstr "" -"Играй с опциите на картата: покажи миникарта, локализирай потребителя при " -"зареждане ..." +msgstr "Играй с опциите на картата: покажи миникарта, локализирай потребителя при зареждане ..." #: templates/umap/about_summary.html:15 msgid "Batch import geostructured data (geojson, gpx, kml, osm...)" @@ -122,14 +116,10 @@ msgstr "Играй си с демото" #, python-format msgid "" "This is a demo instance, used for tests and pre-rolling releases. If you " -"need a stable instance, please use " -"%(stable_url)s. You can also host your own instance, it's open source!" -msgstr "" -"Това е само демо пример, използван за тестове и предварителни издания. Ако " -"имате нужда от стабилна версия, моля използвайте " -"%(stable_url)s. Можете също така да бъде хост на вашата собствена " -"версия, това е отворен код !" +"need a stable instance, please use %(stable_url)s. You can also host your own " +"instance, it's open source!" +msgstr "Това е само демо пример, използван за тестове и предварителни издания. Ако имате нужда от стабилна версия, моля използвайте %(stable_url)s. Можете също така да бъде хост на вашата собствена версия, това е отворен код !" #: templates/umap/home.html:17 msgid "Map of the uMaps" @@ -173,8 +163,8 @@ msgstr "" #: templates/umap/password_change.html:7 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 "" #: templates/umap/password_change.html:12 @@ -217,5 +207,182 @@ msgstr "Търсене" msgid "View the map" msgstr "Виж картата" -#~ msgid "Map settings" -#~ msgstr "Настройки на картата" +#: forms.py:43 +#, python-format +msgid "Secret edit link is %s" +msgstr "Тайно редактиране на линк е %s" + +#: forms.py:47 models.py:113 +msgid "Everyone can edit" +msgstr "Всеки може да редактира" + +#: forms.py:48 +msgid "Only editable with secret edit link" +msgstr "Само може да се редактира с тайно редактиран линк" + +#: models.py:20 +msgid "name" +msgstr "име" + +#: models.py:42 +msgid "No licence set" +msgstr "Няма избран лиценз" + +#: models.py:51 +msgid "details" +msgstr "детайли" + +#: models.py:52 +msgid "Link to a page where the licence is detailed." +msgstr "Линк към страницата с подробно описание за лиценза." + +#: models.py:66 +msgid "URL template using OSM tile format" +msgstr "URL шаблон, използван формат OSM плочи" + +#: models.py:74 +msgid "Order of the tilelayers in the edit box" +msgstr "Поръчка на tilelayers в полето за редактиране" + +#: models.py:114 +msgid "Only editors can edit" +msgstr "Само редактори могат да редактират" + +#: models.py:115 +msgid "Only owner can edit" +msgstr "Само притежателят може да редактира" + +#: models.py:118 +msgid "everyone (public)" +msgstr "всеки (публично)" + +#: models.py:119 +msgid "anyone with link" +msgstr "всеки които има линк" + +#: models.py:120 +msgid "editors only" +msgstr "само редакторите" + +#: models.py:123 models.py:257 +msgid "description" +msgstr "описание" + +#: models.py:124 +msgid "center" +msgstr "център" + +#: models.py:125 +msgid "zoom" +msgstr "мащаб" + +#: models.py:126 +msgid "locate" +msgstr "локализирай" + +#: models.py:126 +msgid "Locate user on load?" +msgstr "Локализирай потребител при зареждане?" + +#: models.py:129 +msgid "Choose the map licence." +msgstr "Избери лиценз за картата." + +#: models.py:130 +msgid "licence" +msgstr "лиценз" + +#: models.py:135 +msgid "background" +msgstr "фон" + +#: models.py:136 +msgid "owner" +msgstr "притежател" + +#: models.py:137 +msgid "editors" +msgstr "редактори" + +#: models.py:138 +msgid "edit status" +msgstr "статус на редактиране" + +#: models.py:139 +msgid "share status" +msgstr "сподели статус" + +#: models.py:140 +msgid "settings" +msgstr "настройки" + +#: models.py:178 +#, python-format +msgid "Your anonymous map has been attached to your account %s" +msgstr "Вашата анонимна карта е прикрепена към вашия акаунт %s" + +#: models.py:211 +msgid "Clone of" +msgstr "Клониране на" + +#: models.py:262 +msgid "display on load" +msgstr "покажи при зареждане" + +#: models.py:263 +msgid "Display this layer on load." +msgstr "Покажи този слой при зареждане" + +#: templates/leaflet_storage/login_popup_end.html:2 +msgid "You are logged in. Continuing..." +msgstr "В процес на включване. Продължение..." + +#: templates/leaflet_storage/map_update_permissions.html:2 +msgid "Map permissions" +msgstr "Разрешения за картата" + +#: templates/registration/login.html:2 +msgid "Please log in to proceed" +msgstr "Моля, включете се за да осъществите тази процедура" + +#: templates/registration/login.html:4 +msgid "Your username and password didn't match. Please try again." +msgstr "Вашето потребителско име и парола не съвпадат. Моля, опитайте отново." + +#: views.py:232 +#, python-format +msgid "" +"Your map has been created! If you want to edit this map from another " +"computer, please use this link: %(anonymous_url)s" +msgstr "Вашата карта е създадена! Ако искате да редактирате тази карта от друг компютър, моля използвайте този линк : %(anonymous_url)s" + +#: views.py:237 +msgid "Congratulations, your map has been created!" +msgstr "Поздравления, вашата карта е създадена!" + +#: views.py:264 +msgid "Map has been updated!" +msgstr "Карта е актуализирана!" + +#: views.py:291 +msgid "Map editors updated with success!" +msgstr "Редакторите на картата актуализират с успех!" + +#: views.py:306 +msgid "Only its owner can delete the map." +msgstr "Само собственикът може да изтрие картата." + +#: views.py:335 +#, python-format +msgid "" +"Your map has been cloned! If you want to edit this map from another " +"computer, please use this link: %(anonymous_url)s" +msgstr "Вашата карта е клонирана! Ако искате да редактирате тази карта от друг компютър, моля използвайте този линк: %(anonymous_url)s" + +#: views.py:340 +msgid "Congratulations, your map has been cloned!" +msgstr "Поздравления, вашата карта е клонирана!" + +#: views.py:526 +msgid "Layer successfully deleted." +msgstr "Слоят е изтрит успешно." diff --git a/umap/locale/ca/LC_MESSAGES/django.mo b/umap/locale/ca/LC_MESSAGES/django.mo index 498932e7..54786006 100644 Binary files a/umap/locale/ca/LC_MESSAGES/django.mo and b/umap/locale/ca/LC_MESSAGES/django.mo differ diff --git a/umap/locale/ca/LC_MESSAGES/django.po b/umap/locale/ca/LC_MESSAGES/django.po index a67552e3..dd78337a 100644 --- a/umap/locale/ca/LC_MESSAGES/django.po +++ b/umap/locale/ca/LC_MESSAGES/django.po @@ -3,20 +3,19 @@ # This file is distributed under the same license as the PACKAGE package. # # Translators: -# jmontane , 2014 +# jmontane, 2014 msgid "" msgstr "" "Project-Id-Version: uMap\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2016-09-09 21:37+0200\n" -"PO-Revision-Date: 2014-04-23 18:50+0000\n" -"Last-Translator: jmontane \n" -"Language-Team: Catalan (http://www.transifex.com/projects/p/umap/language/" -"ca/)\n" -"Language: ca\n" +"PO-Revision-Date: 2017-09-23 19:45+0000\n" +"Last-Translator: yohanboniface \n" +"Language-Team: Catalan (http://www.transifex.com/yohanboniface/umap/language/ca/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +"Language: ca\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: templates/404.html:7 @@ -33,10 +32,8 @@ msgid "Type editors nick to add…" msgstr "Escriviu els sobrenoms dels editors a afegir..." #: templates/leaflet_storage/map_detail.html:27 -#, fuzzy -#| msgid "Type editors nick to add…" msgid "Type new owner nick…" -msgstr "Escriviu els sobrenoms dels editors a afegir..." +msgstr "" #: templates/leaflet_storage/map_list.html:7 views.py:184 msgid "by" @@ -71,9 +68,7 @@ msgstr "Trieu un proveïdor" msgid "" "uMap let you create maps with OpenStreetMap " "layers in a minute and embed them in your site." -msgstr "" -"El uMap us permet crear mapes amb capes de l'OpenStreetMap en un minut i incrustar-los al vostre lloc web." +msgstr "El uMap us permet crear mapes amb capes de l'OpenStreetMap en un minut i incrustar-los al vostre lloc web." #: templates/umap/about_summary.html:11 msgid "Choose the layers of your map" @@ -89,9 +84,7 @@ msgstr "Gestioneu els colors i les icones dels PDI" #: templates/umap/about_summary.html:14 msgid "Manage map options: display a minimap, locate user on load…" -msgstr "" -"Gestioneu les opcions del mapa: mostreu un minimapa, ubiqueu l'usuari en " -"carregar..." +msgstr "Gestioneu les opcions del mapa: mostreu un minimapa, ubiqueu l'usuari en carregar..." #: templates/umap/about_summary.html:15 msgid "Batch import geostructured data (geojson, gpx, kml, osm...)" @@ -122,14 +115,10 @@ msgstr "Jugueu amb la demostració" #, python-format msgid "" "This is a demo instance, used for tests and pre-rolling releases. If you " -"need a stable instance, please use " -"%(stable_url)s. You can also host your own instance, it's open source!" -msgstr "" -"Aquesta és una versió de demostració, usada per a fer proves i desplegar " -"versions. Si us cal un versió estable, useu " -"%(stable_url)s. També podeu hostatjar la vostra pròpia còpia, és codi lliure!" +"need a stable instance, please use %(stable_url)s. You can also host your own " +"instance, it's open source!" +msgstr "Aquesta és una versió de demostració, usada per a fer proves i desplegar versions. Si us cal un versió estable, useu %(stable_url)s. També podeu hostatjar la vostra pròpia còpia, és codi lliure!" #: templates/umap/home.html:17 msgid "Map of the uMaps" @@ -173,8 +162,8 @@ msgstr "" #: templates/umap/password_change.html:7 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 "" #: templates/umap/password_change.html:12 @@ -217,5 +206,182 @@ msgstr "Cerca" msgid "View the map" msgstr "Mostra el mapa" -#~ msgid "Map settings" -#~ msgstr "Paràmetres del mapa" +#: forms.py:43 +#, python-format +msgid "Secret edit link is %s" +msgstr "L'enllaç d'edició secret és %s" + +#: forms.py:47 models.py:113 +msgid "Everyone can edit" +msgstr "Tothom pot editar" + +#: forms.py:48 +msgid "Only editable with secret edit link" +msgstr "Només es pot editar amb l'enllaç d'edició secret" + +#: models.py:20 +msgid "name" +msgstr "nom" + +#: models.py:42 +msgid "No licence set" +msgstr "No s'ha indicat llicència" + +#: models.py:51 +msgid "details" +msgstr "detalls" + +#: models.py:52 +msgid "Link to a page where the licence is detailed." +msgstr "Enllaç a una pàgina on es detalla la llicència." + +#: models.py:66 +msgid "URL template using OSM tile format" +msgstr "La plantilla de l'URL usa el format de tesel·les de l'OSM" + +#: models.py:74 +msgid "Order of the tilelayers in the edit box" +msgstr "Ordre de les capes de tessel·les al quadre d'edició" + +#: models.py:114 +msgid "Only editors can edit" +msgstr "Només els editors poden editar" + +#: models.py:115 +msgid "Only owner can edit" +msgstr "Només el propietari pot editar" + +#: models.py:118 +msgid "everyone (public)" +msgstr "tothom (públic)" + +#: models.py:119 +msgid "anyone with link" +msgstr "qualsevol amb l'enllaç" + +#: models.py:120 +msgid "editors only" +msgstr "només els editors" + +#: models.py:123 models.py:257 +msgid "description" +msgstr "descripció" + +#: models.py:124 +msgid "center" +msgstr "centre" + +#: models.py:125 +msgid "zoom" +msgstr "escala" + +#: models.py:126 +msgid "locate" +msgstr "ubica" + +#: models.py:126 +msgid "Locate user on load?" +msgstr "Voleu ubicar l'usuari en carregar?" + +#: models.py:129 +msgid "Choose the map licence." +msgstr "Trieu la llicència del mapa." + +#: models.py:130 +msgid "licence" +msgstr "llicència" + +#: models.py:135 +msgid "background" +msgstr "fons" + +#: models.py:136 +msgid "owner" +msgstr "propietari" + +#: models.py:137 +msgid "editors" +msgstr "editors" + +#: models.py:138 +msgid "edit status" +msgstr "edita l'estat" + +#: models.py:139 +msgid "share status" +msgstr "comparteix l'estat" + +#: models.py:140 +msgid "settings" +msgstr "paràmetres" + +#: models.py:178 +#, python-format +msgid "Your anonymous map has been attached to your account %s" +msgstr "El vostre mapa anònim s'ha enllaçat al compte %s" + +#: models.py:211 +msgid "Clone of" +msgstr "Clon de" + +#: models.py:262 +msgid "display on load" +msgstr "mostra en carregar" + +#: models.py:263 +msgid "Display this layer on load." +msgstr "Mostra aquesta capa en carregar." + +#: templates/leaflet_storage/login_popup_end.html:2 +msgid "You are logged in. Continuing..." +msgstr "Heu iniciat sessió. S'està continuant..." + +#: templates/leaflet_storage/map_update_permissions.html:2 +msgid "Map permissions" +msgstr "Permisos del mapa" + +#: templates/registration/login.html:2 +msgid "Please log in to proceed" +msgstr "Inicieu sessió per a procedir" + +#: templates/registration/login.html:4 +msgid "Your username and password didn't match. Please try again." +msgstr "L'usuari i contrasenya no coincideixen. Torneu-ho a intentar." + +#: views.py:232 +#, python-format +msgid "" +"Your map has been created! If you want to edit this map from another " +"computer, please use this link: %(anonymous_url)s" +msgstr "S'ha creat el vostre mapa! Si voleu editar aquest mapa en un altre ordinador, useu aquest enllaç: %(anonymous_url)s" + +#: views.py:237 +msgid "Congratulations, your map has been created!" +msgstr "Enhorabona, s'ha creat el vostre mapa!" + +#: views.py:264 +msgid "Map has been updated!" +msgstr "S'ha actualitzat el mapa!" + +#: views.py:291 +msgid "Map editors updated with success!" +msgstr "S'han actualitzat els editors del mapa correctament!" + +#: views.py:306 +msgid "Only its owner can delete the map." +msgstr "Només el propietari pot suprimir el mapa." + +#: views.py:335 +#, python-format +msgid "" +"Your map has been cloned! If you want to edit this map from another " +"computer, please use this link: %(anonymous_url)s" +msgstr "S'ha clonat el vostre mapa! Si voleu editar aquest mapa en un altre ordinador, useu aquest enllaç: %(anonymous_url)s" + +#: views.py:340 +msgid "Congratulations, your map has been cloned!" +msgstr "Enhorabona, s'ha clonat el vostre mapa!" + +#: views.py:526 +msgid "Layer successfully deleted." +msgstr "S'ha suprimit la capa correctament." diff --git a/umap/locale/cs_CZ/LC_MESSAGES/django.mo b/umap/locale/cs_CZ/LC_MESSAGES/django.mo index 23782def..10e40bd3 100644 Binary files a/umap/locale/cs_CZ/LC_MESSAGES/django.mo and b/umap/locale/cs_CZ/LC_MESSAGES/django.mo differ diff --git a/umap/locale/cs_CZ/LC_MESSAGES/django.po b/umap/locale/cs_CZ/LC_MESSAGES/django.po index 738b95ab..247c0c7d 100644 --- a/umap/locale/cs_CZ/LC_MESSAGES/django.po +++ b/umap/locale/cs_CZ/LC_MESSAGES/django.po @@ -9,15 +9,14 @@ msgstr "" "Project-Id-Version: uMap\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2016-09-09 21:37+0200\n" -"PO-Revision-Date: 2015-10-16 10:19+0000\n" -"Last-Translator: Jakub A. Tesinsky\n" -"Language-Team: Czech (Czech Republic) (http://www.transifex.com/" -"yohanboniface/umap/language/cs_CZ/)\n" -"Language: cs_CZ\n" +"PO-Revision-Date: 2017-09-19 23:03+0000\n" +"Last-Translator: yohanboniface \n" +"Language-Team: Czech (Czech Republic) (http://www.transifex.com/yohanboniface/umap/language/cs_CZ/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n" +"Language: cs_CZ\n" +"Plural-Forms: nplurals=4; plural=(n == 1 && n % 1 == 0) ? 0 : (n >= 2 && n <= 4 && n % 1 == 0) ? 1: (n % 1 != 0 ) ? 2 : 3;\n" #: templates/404.html:7 msgid "Take me to the home page" @@ -33,10 +32,8 @@ msgid "Type editors nick to add…" msgstr "Vložte přezdívku přispěvovatele k přidání" #: templates/leaflet_storage/map_detail.html:27 -#, fuzzy -#| msgid "Type editors nick to add…" msgid "Type new owner nick…" -msgstr "Vložte přezdívku přispěvovatele k přidání" +msgstr "" #: templates/leaflet_storage/map_list.html:7 views.py:184 msgid "by" @@ -71,9 +68,7 @@ msgstr "Vyberte poskytovatele mapy" msgid "" "uMap let you create maps with OpenStreetMap " "layers in a minute and embed them in your site." -msgstr "" -"Vytvářejte a sdílejte vlastní OpenStreet mapy " -"a během pár minut je použijte na svém webu." +msgstr "Vytvářejte a sdílejte vlastní OpenStreet mapy a během pár minut je použijte na svém webu." #: templates/umap/about_summary.html:11 msgid "Choose the layers of your map" @@ -93,8 +88,7 @@ msgstr "Nastavte další možnosti - minimapu, lokalizaci uživatele, ..." #: templates/umap/about_summary.html:15 msgid "Batch import geostructured data (geojson, gpx, kml, osm...)" -msgstr "" -"Import existujících geodat v mnoha formátech (geojson, gpx, kml, osm...)" +msgstr "Import existujících geodat v mnoha formátech (geojson, gpx, kml, osm...)" #: templates/umap/about_summary.html:16 msgid "Choose the license for your data" @@ -121,14 +115,10 @@ msgstr "Vyzkoušejte si to hned" #, python-format msgid "" "This is a demo instance, used for tests and pre-rolling releases. If you " -"need a stable instance, please use " -"%(stable_url)s. You can also host your own instance, it's open source!" -msgstr "" -"Toto je ukázková verze, používaná na testování nových vydání uMap. Pokud " -"potřebujete stabilní verzi, použijte " -"%(stable_url)s. Můžete si taky stáhnout celý projekt a nainstalovat na " -"svém serveru, je to open source!" +"need a stable instance, please use %(stable_url)s. You can also host your own " +"instance, it's open source!" +msgstr "Toto je ukázková verze, používaná na testování nových vydání uMap. Pokud potřebujete stabilní verzi, použijte %(stable_url)s. Můžete si taky stáhnout celý projekt a nainstalovat na svém serveru, je to open source!" #: templates/umap/home.html:17 msgid "Map of the uMaps" @@ -172,8 +162,8 @@ msgstr "" #: templates/umap/password_change.html:7 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 "" #: templates/umap/password_change.html:12 @@ -216,5 +206,182 @@ msgstr "Hledej" msgid "View the map" msgstr "Prohlídnout si tuto mapu" -#~ msgid "Map settings" -#~ msgstr "Nastavení mapy" +#: forms.py:43 +#, python-format +msgid "Secret edit link is %s" +msgstr "Tajný odkaz umožňující úpravu mapy je %s" + +#: forms.py:47 models.py:113 +msgid "Everyone can edit" +msgstr "Kdokoli může editovat" + +#: forms.py:48 +msgid "Only editable with secret edit link" +msgstr "Lze upravovat jen pomocí tajného odkazu" + +#: models.py:20 +msgid "name" +msgstr "název" + +#: models.py:42 +msgid "No licence set" +msgstr "Licence nenastavena." + +#: models.py:51 +msgid "details" +msgstr "podrobnosti" + +#: models.py:52 +msgid "Link to a page where the licence is detailed." +msgstr "Odkaz na stránku s podrobnějším popisem licence." + +#: models.py:66 +msgid "URL template using OSM tile format" +msgstr "Vzor URL ve formátu pro dlaždice OSM " + +#: models.py:74 +msgid "Order of the tilelayers in the edit box" +msgstr "Pořadí vrstev při editaci" + +#: models.py:114 +msgid "Only editors can edit" +msgstr "Jen přispěvovatelé mohou editovat" + +#: models.py:115 +msgid "Only owner can edit" +msgstr "Jen vlastník může editovat" + +#: models.py:118 +msgid "everyone (public)" +msgstr "kdokoli (veřejná)" + +#: models.py:119 +msgid "anyone with link" +msgstr "kdokoli kdo má odkaz" + +#: models.py:120 +msgid "editors only" +msgstr "jen připěvovatelé" + +#: models.py:123 models.py:257 +msgid "description" +msgstr "popis" + +#: models.py:124 +msgid "center" +msgstr "střed" + +#: models.py:125 +msgid "zoom" +msgstr "přiblížení" + +#: models.py:126 +msgid "locate" +msgstr "lokalizuj" + +#: models.py:126 +msgid "Locate user on load?" +msgstr "Najdi poluhu uživatele na startu?" + +#: models.py:129 +msgid "Choose the map licence." +msgstr "Vyberte si licenci mapy." + +#: models.py:130 +msgid "licence" +msgstr "licence" + +#: models.py:135 +msgid "background" +msgstr "pozadí" + +#: models.py:136 +msgid "owner" +msgstr "vlastník" + +#: models.py:137 +msgid "editors" +msgstr "přispěvovatelé" + +#: models.py:138 +msgid "edit status" +msgstr "kdo může provádět úpravy" + +#: models.py:139 +msgid "share status" +msgstr "nastavení sdílení" + +#: models.py:140 +msgid "settings" +msgstr "nastavení" + +#: models.py:178 +#, python-format +msgid "Your anonymous map has been attached to your account %s" +msgstr "Vaše anonymní mapa byla připojena k vašemů účtu %s" + +#: models.py:211 +msgid "Clone of" +msgstr "Kopie" + +#: models.py:262 +msgid "display on load" +msgstr "zbraz na startu" + +#: models.py:263 +msgid "Display this layer on load." +msgstr "Zobrazit tuto vrstvu na startu." + +#: templates/leaflet_storage/login_popup_end.html:2 +msgid "You are logged in. Continuing..." +msgstr "Jste přihlášeni. Jedeme dál ..." + +#: templates/leaflet_storage/map_update_permissions.html:2 +msgid "Map permissions" +msgstr "Přístupová oprávnění" + +#: templates/registration/login.html:2 +msgid "Please log in to proceed" +msgstr "Pro pokračování se musíte přihlásit" + +#: templates/registration/login.html:4 +msgid "Your username and password didn't match. Please try again." +msgstr "Jméno či heslo nesouhlasí. Zkuste to prosím znovu." + +#: views.py:232 +#, python-format +msgid "" +"Your map has been created! If you want to edit this map from another " +"computer, please use this link: %(anonymous_url)s" +msgstr "Vaše mapa byla vytvořena! Pokud chcete upravovat tuto mapu z jiného počítače, použijte tento odkaz: %(anonymous_url)s" + +#: views.py:237 +msgid "Congratulations, your map has been created!" +msgstr "Gratulujeme, vaše mapa byla vytvořena!" + +#: views.py:264 +msgid "Map has been updated!" +msgstr "Mapa byla aktualizována!" + +#: views.py:291 +msgid "Map editors updated with success!" +msgstr "Seznam přispěvovatelů byl úspěšně upraven!" + +#: views.py:306 +msgid "Only its owner can delete the map." +msgstr "Jen vlastník může vymzat tuto mapu." + +#: views.py:335 +#, python-format +msgid "" +"Your map has been cloned! If you want to edit this map from another " +"computer, please use this link: %(anonymous_url)s" +msgstr "Byla vytvořena kopie mapy! Pokud chcete upravovat tuto mapu z jiného počítače, použijte tento odkaz: %(anonymous_url)s" + +#: views.py:340 +msgid "Congratulations, your map has been cloned!" +msgstr "Gratulujeme, byla vytvořena kopie mapy!" + +#: views.py:526 +msgid "Layer successfully deleted." +msgstr "Vrstva úspěšně vymazána." diff --git a/umap/locale/da/LC_MESSAGES/django.mo b/umap/locale/da/LC_MESSAGES/django.mo index 18ecf3c9..c7674b83 100644 Binary files a/umap/locale/da/LC_MESSAGES/django.mo and b/umap/locale/da/LC_MESSAGES/django.mo differ diff --git a/umap/locale/da/LC_MESSAGES/django.po b/umap/locale/da/LC_MESSAGES/django.po index 7ef85014..7d654af4 100644 --- a/umap/locale/da/LC_MESSAGES/django.po +++ b/umap/locale/da/LC_MESSAGES/django.po @@ -9,14 +9,13 @@ msgstr "" "Project-Id-Version: uMap\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2016-09-09 21:37+0200\n" -"PO-Revision-Date: 2014-06-02 15:12+0000\n" -"Last-Translator: Neogeografen \n" -"Language-Team: Danish (http://www.transifex.com/projects/p/umap/language/" -"da/)\n" -"Language: da\n" +"PO-Revision-Date: 2017-09-19 22:28+0000\n" +"Last-Translator: yohanboniface \n" +"Language-Team: Danish (http://www.transifex.com/yohanboniface/umap/language/da/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +"Language: da\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: templates/404.html:7 @@ -33,10 +32,8 @@ msgid "Type editors nick to add…" msgstr "Indtast redaktørernes nickname for tilføjelse..." #: templates/leaflet_storage/map_detail.html:27 -#, fuzzy -#| msgid "Type editors nick to add…" msgid "Type new owner nick…" -msgstr "Indtast redaktørernes nickname for tilføjelse..." +msgstr "" #: templates/leaflet_storage/map_list.html:7 views.py:184 msgid "by" @@ -71,9 +68,7 @@ msgstr "Vælg en udbyder" msgid "" "uMap let you create maps with OpenStreetMap " "layers in a minute and embed them in your site." -msgstr "" -"Med uMap kan du lave kort med OpenStreetMap " -"lag og på et minuts arbejde kan du indlejre disse på dit eget websted." +msgstr "Med uMap kan du lave kort med OpenStreetMap lag og på et minuts arbejde kan du indlejre disse på dit eget websted." #: templates/umap/about_summary.html:11 msgid "Choose the layers of your map" @@ -89,9 +84,7 @@ msgstr "Håndterer POIs farver og ikoner" #: templates/umap/about_summary.html:14 msgid "Manage map options: display a minimap, locate user on load…" -msgstr "" -"Håndterer kortindstillinger: vis et miniaturekort, lokaliser brugeren ved " -"indlæsning..." +msgstr "Håndterer kortindstillinger: vis et miniaturekort, lokaliser brugeren ved indlæsning..." #: templates/umap/about_summary.html:15 msgid "Batch import geostructured data (geojson, gpx, kml, osm...)" @@ -122,14 +115,10 @@ msgstr "Leg med demoen" #, python-format msgid "" "This is a demo instance, used for tests and pre-rolling releases. If you " -"need a stable instance, please use " -"%(stable_url)s. You can also host your own instance, it's open source!" -msgstr "" -"Dette er en demo som bruges til test og forhåndstesting. Hvis du har brug " -"for en stabil testdemo, så brug %(stable_url)s. Du kan webhoste din egen testdemo. det er open " -"source!" +"need a stable instance, please use %(stable_url)s. You can also host your own " +"instance, it's open source!" +msgstr "Dette er en demo som bruges til test og forhåndstesting. Hvis du har brug for en stabil testdemo, så brug %(stable_url)s. Du kan webhoste din egen testdemo. det er open source!" #: templates/umap/home.html:17 msgid "Map of the uMaps" @@ -173,8 +162,8 @@ msgstr "" #: templates/umap/password_change.html:7 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 "" #: templates/umap/password_change.html:12 @@ -217,5 +206,182 @@ msgstr "Søg" msgid "View the map" msgstr "Vis kortet" -#~ msgid "Map settings" -#~ msgstr "Kortindstillinger" +#: forms.py:43 +#, python-format +msgid "Secret edit link is %s" +msgstr "Hemmeligt redigeringslink er %s" + +#: forms.py:47 models.py:113 +msgid "Everyone can edit" +msgstr "Alle kan redigere" + +#: forms.py:48 +msgid "Only editable with secret edit link" +msgstr "Er kun redigerbart med et hemmeligt link" + +#: models.py:20 +msgid "name" +msgstr "navn" + +#: models.py:42 +msgid "No licence set" +msgstr "Ingen licens angivet" + +#: models.py:51 +msgid "details" +msgstr "detaljer" + +#: models.py:52 +msgid "Link to a page where the licence is detailed." +msgstr "Link til siden hvor der er flere detaljer om licensen." + +#: models.py:66 +msgid "URL template using OSM tile format" +msgstr "URL skabelon bruger OSMs tile format" + +#: models.py:74 +msgid "Order of the tilelayers in the edit box" +msgstr "Rækkefølge af tile-lag i redigeringsboksen" + +#: models.py:114 +msgid "Only editors can edit" +msgstr "Kun redaktører kan redigere" + +#: models.py:115 +msgid "Only owner can edit" +msgstr "Kun ejeren kan redigere" + +#: models.py:118 +msgid "everyone (public)" +msgstr "alle (fuldt offentlig)" + +#: models.py:119 +msgid "anyone with link" +msgstr "alle med et link" + +#: models.py:120 +msgid "editors only" +msgstr "kun redaktører " + +#: models.py:123 models.py:257 +msgid "description" +msgstr "beskrivelse" + +#: models.py:124 +msgid "center" +msgstr "center" + +#: models.py:125 +msgid "zoom" +msgstr "zoom" + +#: models.py:126 +msgid "locate" +msgstr "lokalisere" + +#: models.py:126 +msgid "Locate user on load?" +msgstr "Lokaliserer brugeren ved indlæsning?" + +#: models.py:129 +msgid "Choose the map licence." +msgstr "Vælg kortlicensen." + +#: models.py:130 +msgid "licence" +msgstr "licens" + +#: models.py:135 +msgid "background" +msgstr "baggrund" + +#: models.py:136 +msgid "owner" +msgstr "ejer" + +#: models.py:137 +msgid "editors" +msgstr "redaktører" + +#: models.py:138 +msgid "edit status" +msgstr "ret status" + +#: models.py:139 +msgid "share status" +msgstr "Delestatus" + +#: models.py:140 +msgid "settings" +msgstr "indstillinger" + +#: models.py:178 +#, python-format +msgid "Your anonymous map has been attached to your account %s" +msgstr "Dit anonyme kort er blevet tilføjet til din konto %s" + +#: models.py:211 +msgid "Clone of" +msgstr "Klonet kopi af" + +#: models.py:262 +msgid "display on load" +msgstr "vis ved indlæsning" + +#: models.py:263 +msgid "Display this layer on load." +msgstr "Vis dette lag ved indlæsning" + +#: templates/leaflet_storage/login_popup_end.html:2 +msgid "You are logged in. Continuing..." +msgstr "Du er logget ind. Fortsætter..." + +#: templates/leaflet_storage/map_update_permissions.html:2 +msgid "Map permissions" +msgstr "Kortindstillinger" + +#: templates/registration/login.html:2 +msgid "Please log in to proceed" +msgstr "Login ind for at fortsætte" + +#: templates/registration/login.html:4 +msgid "Your username and password didn't match. Please try again." +msgstr "Dit brugernavn og adgangskode passer ikke. Prøv igen." + +#: views.py:232 +#, python-format +msgid "" +"Your map has been created! If you want to edit this map from another " +"computer, please use this link: %(anonymous_url)s" +msgstr "Dit kort er blevet lavet! Hvis du ønsker at rette dette kort fra en anden computer, så brug dette link: %(anonymous_url)s" + +#: views.py:237 +msgid "Congratulations, your map has been created!" +msgstr "Tillykke dit kort er nu blevet lavet!" + +#: views.py:264 +msgid "Map has been updated!" +msgstr "Kortet er blevet opdateret!" + +#: views.py:291 +msgid "Map editors updated with success!" +msgstr "Kortredaktører blev opdateret med succes!" + +#: views.py:306 +msgid "Only its owner can delete the map." +msgstr "Kun ejer kan slettet kortet." + +#: views.py:335 +#, python-format +msgid "" +"Your map has been cloned! If you want to edit this map from another " +"computer, please use this link: %(anonymous_url)s" +msgstr "Dit kort er blevet klonet! Hvis du ønsker at rette dette kort fra en anden computer, så brug dette link: %(anonymous_url)s" + +#: views.py:340 +msgid "Congratulations, your map has been cloned!" +msgstr "Tillykke dit kort er blevet klonet!" + +#: views.py:526 +msgid "Layer successfully deleted." +msgstr "Lag blev slettet med succes." diff --git a/umap/locale/de/LC_MESSAGES/django.mo b/umap/locale/de/LC_MESSAGES/django.mo index 32b751c2..0e7b7465 100644 Binary files a/umap/locale/de/LC_MESSAGES/django.mo and b/umap/locale/de/LC_MESSAGES/django.mo differ diff --git a/umap/locale/de/LC_MESSAGES/django.po b/umap/locale/de/LC_MESSAGES/django.po index bea9e4e9..93c3f0a3 100644 --- a/umap/locale/de/LC_MESSAGES/django.po +++ b/umap/locale/de/LC_MESSAGES/django.po @@ -3,25 +3,26 @@ # This file is distributed under the same license as the PACKAGE package. # # Translators: -# Klumbumbus , 2013-2014 +# Ettore Atalan , 2016 +# Jannis Leidel , 2016 +# Klumbumbus, 2013-2014,2016 msgid "" msgstr "" "Project-Id-Version: uMap\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2016-09-09 21:37+0200\n" -"PO-Revision-Date: 2014-03-01 23:34+0000\n" -"Last-Translator: Klumbumbus \n" -"Language-Team: German (http://www.transifex.com/projects/p/umap/language/" -"de/)\n" -"Language: de\n" +"PO-Revision-Date: 2017-09-19 22:04+0000\n" +"Last-Translator: Klumbumbus\n" +"Language-Team: German (http://www.transifex.com/yohanboniface/umap/language/de/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +"Language: de\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: templates/404.html:7 msgid "Take me to the home page" -msgstr "" +msgstr "Zur Startseite zurückkehren" #: templates/auth/user_detail.html:7 #, python-format @@ -33,10 +34,8 @@ msgid "Type editors nick to add…" msgstr "Zum Hinzufügen von Bearbeitern, Benutzernamen hier eingeben..." #: templates/leaflet_storage/map_detail.html:27 -#, fuzzy -#| msgid "Type editors nick to add…" msgid "Type new owner nick…" -msgstr "Zum Hinzufügen von Bearbeitern, Benutzernamen hier eingeben..." +msgstr "Benutzernamen des neuen Besitzers eingeben..." #: templates/leaflet_storage/map_list.html:7 views.py:184 msgid "by" @@ -48,19 +47,19 @@ msgstr "Mehr" #: templates/registration/login.html:4 msgid "Please log in with your account" -msgstr "" +msgstr "Bitte melden Sie sich mit Ihrem Konto an" #: templates/registration/login.html:18 msgid "Username" -msgstr "" +msgstr "Benutzername" #: templates/registration/login.html:20 msgid "Password" -msgstr "" +msgstr "Passwort" #: templates/registration/login.html:21 msgid "Login" -msgstr "" +msgstr "Anmeldung" #: templates/registration/login.html:27 msgid "Please choose a provider" @@ -71,10 +70,7 @@ msgstr "Bitte wähle einen Anbieter" msgid "" "uMap let you create maps with OpenStreetMap " "layers in a minute and embed them in your site." -msgstr "" -"Mit uMap kannst du in einer Minute Karten mit OpenStreetMap-Hintergrund erstellen und sie in deine eigene " -"Internetseite einbinden." +msgstr "Mit uMap kannst du in einer Minute Karten mit OpenStreetMap-Hintergrund erstellen und sie in deine eigene Internetseite einbinden." #: templates/umap/about_summary.html:11 msgid "Choose the layers of your map" @@ -90,15 +86,11 @@ msgstr "Verwalte Farben und Icons der POIs" #: templates/umap/about_summary.html:14 msgid "Manage map options: display a minimap, locate user on load…" -msgstr "" -"Verwalte Karteneinstellungen: eine Übersichtskarte anzeigen, den Nutzer beim " -"Seitenaufruf lokalisieren,..." +msgstr "Verwalte Karteneinstellungen: eine Übersichtskarte anzeigen, den Nutzer beim Seitenaufruf lokalisieren,..." #: templates/umap/about_summary.html:15 msgid "Batch import geostructured data (geojson, gpx, kml, osm...)" -msgstr "" -"Stapelverarbeitung beim Importieren von geotechnischen Daten (geojson, gpx, " -"kml, osm...)" +msgstr "Stapelverarbeitung beim Importieren von geotechnischen Daten (geojson, gpx, kml, osm...)" #: templates/umap/about_summary.html:16 msgid "Choose the license for your data" @@ -111,7 +103,7 @@ msgstr "Teile und binde deine Karte ein" #: templates/umap/about_summary.html:23 #, python-format msgid "And it's open source!" -msgstr "Und es ist open source!" +msgstr "Und es ist Open Source!" #: templates/umap/about_summary.html:32 templates/umap/navigation.html:31 msgid "Create a map" @@ -125,18 +117,14 @@ msgstr "Spiele mit der Demo" #, python-format msgid "" "This is a demo instance, used for tests and pre-rolling releases. If you " -"need a stable instance, please use " -"%(stable_url)s. You can also host your own instance, it's open source!" -msgstr "" -"Dies ist eine Demo-Instanz und wird benutzt für Tests und " -"Vorveröffentlichungen. Wenn du eine stabile Instanz benötigst, benutze bitte " -"%(stable_url)s. Du kannst auch deine eigene " -"Instanz hosten, es ist open source!" +"need a stable instance, please use %(stable_url)s. You can also host your own " +"instance, it's open source!" +msgstr "Dies ist eine Demo-Instanz und wird für Tests und Vorveröffentlichungen benutzt. Wenn du eine stabile Instanz benötigst, benutze bitte %(stable_url)s. Du kannst auch deine eigene Instanz hosten, uMap ist Open Source!" #: templates/umap/home.html:17 msgid "Map of the uMaps" -msgstr "Karte aller \"uMap\"-Karten" +msgstr "Karte aller „uMap“-Karten" #: templates/umap/home.html:24 msgid "Get inspired, browse maps" @@ -164,7 +152,7 @@ msgstr "Feedback" #: templates/umap/navigation.html:20 msgid "Change password" -msgstr "" +msgstr "Passwort ändern" #: templates/umap/navigation.html:22 msgid "Log out" @@ -172,37 +160,37 @@ msgstr "Ausloggen" #: templates/umap/password_change.html:6 msgid "Password change" -msgstr "" +msgstr "Passwortänderung" #: templates/umap/password_change.html:7 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." -msgstr "" +"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 "Bitte gib aus Sicherheitsgründen dein altes Passwort ein und dann zweimal dein neues, um sicherzustellen, dass du es korrekt eingegeben hast." #: templates/umap/password_change.html:12 msgid "Old password" -msgstr "" +msgstr "Altes Passwort" #: templates/umap/password_change.html:14 msgid "New password" -msgstr "" +msgstr "Neues Passwort" #: templates/umap/password_change.html:16 msgid "New password confirmation" -msgstr "" +msgstr "Neues Passwort bestätigen" #: templates/umap/password_change.html:18 msgid "Change my password" -msgstr "" +msgstr "Mein Passwort ändern" #: templates/umap/password_change_done.html:6 msgid "Password change successful" -msgstr "" +msgstr "Passwortänderung erfolgreich" #: templates/umap/password_change_done.html:7 msgid "Your password was changed." -msgstr "" +msgstr "Ihr Passwort wurde geändert." #: templates/umap/search.html:13 msgid "Not map found." @@ -220,5 +208,182 @@ msgstr "Suchen" msgid "View the map" msgstr "Diese Karte anzeigen" -#~ msgid "Map settings" -#~ msgstr "Karteneinstellungen" +#: forms.py:43 +#, python-format +msgid "Secret edit link is %s" +msgstr "Geheimer Bearbeitungslink ist %s" + +#: forms.py:47 models.py:113 +msgid "Everyone can edit" +msgstr "Jeder kann bearbeiten" + +#: forms.py:48 +msgid "Only editable with secret edit link" +msgstr "Nur mit geheimen Bearbeitungslink zu bearbeiten" + +#: models.py:20 +msgid "name" +msgstr "Name" + +#: models.py:42 +msgid "No licence set" +msgstr "Keine Lizenz ausgewählt" + +#: models.py:51 +msgid "details" +msgstr "Details" + +#: models.py:52 +msgid "Link to a page where the licence is detailed." +msgstr "Verlinke auf eine Seite mit der Lizenz." + +#: models.py:66 +msgid "URL template using OSM tile format" +msgstr "Das URL-Template nutzt das OSM Tile Format" + +#: models.py:74 +msgid "Order of the tilelayers in the edit box" +msgstr "Reihenfolge der Karten-Ebenen in der Bearbeiten-Box" + +#: models.py:114 +msgid "Only editors can edit" +msgstr "Nur Bearbeiter können bearbeiten" + +#: models.py:115 +msgid "Only owner can edit" +msgstr "Nur der Ersteller kann bearbeiten" + +#: models.py:118 +msgid "everyone (public)" +msgstr "Jeder (Öffentlich)" + +#: models.py:119 +msgid "anyone with link" +msgstr "Jeder mit Link" + +#: models.py:120 +msgid "editors only" +msgstr "Nur Bearbeiter " + +#: models.py:123 models.py:257 +msgid "description" +msgstr "Beschreibung" + +#: models.py:124 +msgid "center" +msgstr "Mittelpunkt" + +#: models.py:125 +msgid "zoom" +msgstr "Zoom" + +#: models.py:126 +msgid "locate" +msgstr "lokalisiere" + +#: models.py:126 +msgid "Locate user on load?" +msgstr "Standort des Benutzers beim Seitenaufruf bestimmen?" + +#: models.py:129 +msgid "Choose the map licence." +msgstr "Kartenlizenz auswählen" + +#: models.py:130 +msgid "licence" +msgstr "Lizenz" + +#: models.py:135 +msgid "background" +msgstr "Hintergrund" + +#: models.py:136 +msgid "owner" +msgstr "Ersteller" + +#: models.py:137 +msgid "editors" +msgstr "Bearbeiter" + +#: models.py:138 +msgid "edit status" +msgstr "Bearbeitungsstatus" + +#: models.py:139 +msgid "share status" +msgstr "Teilen-Status" + +#: models.py:140 +msgid "settings" +msgstr "Einstellungen" + +#: models.py:178 +#, python-format +msgid "Your anonymous map has been attached to your account %s" +msgstr "Deine anonyme Karte wurde deinem Account %s zugeordnet." + +#: models.py:211 +msgid "Clone of" +msgstr "Duplicat von" + +#: models.py:262 +msgid "display on load" +msgstr "Beim Seitenaufruf einblenden" + +#: models.py:263 +msgid "Display this layer on load." +msgstr "Diese Ebene beim Seitenaufruf einblenden." + +#: templates/leaflet_storage/login_popup_end.html:2 +msgid "You are logged in. Continuing..." +msgstr "Du bist eingeloggt. Weiterleitung..." + +#: templates/leaflet_storage/map_update_permissions.html:2 +msgid "Map permissions" +msgstr "Kartenberechtigungen" + +#: templates/registration/login.html:2 +msgid "Please log in to proceed" +msgstr "Bitte logge dich ein, um fortzufahren." + +#: templates/registration/login.html:4 +msgid "Your username and password didn't match. Please try again." +msgstr "Dein Benutzername und Password stimmen nicht überein. Bitte versuche es noch einmal." + +#: views.py:232 +#, python-format +msgid "" +"Your map has been created! If you want to edit this map from another " +"computer, please use this link: %(anonymous_url)s" +msgstr "Deine Karte wurde erstellt! Wenn du diese Karte von einem anderen Computer aus bearbeiten möchtest, benutze bitte diesen Link: %(anonymous_url)s" + +#: views.py:237 +msgid "Congratulations, your map has been created!" +msgstr "Glückwunsch, deine Karte wurde erstellt!" + +#: views.py:264 +msgid "Map has been updated!" +msgstr "Karte wurde aktualisiert!" + +#: views.py:291 +msgid "Map editors updated with success!" +msgstr "Bearbeiter erfolgreich geändert" + +#: views.py:306 +msgid "Only its owner can delete the map." +msgstr "Nur der Ersteller kann die Karte löschen." + +#: views.py:335 +#, python-format +msgid "" +"Your map has been cloned! If you want to edit this map from another " +"computer, please use this link: %(anonymous_url)s" +msgstr "Deine Karte wurde kopiert! Wenn du diese Karte von einem anderen Computer aus bearbeiten möchtest, benutze bitte diesen Link: %(anonymous_url)s" + +#: views.py:340 +msgid "Congratulations, your map has been cloned!" +msgstr "Glückwunsch, deine Karte wurde kopiert!" + +#: views.py:526 +msgid "Layer successfully deleted." +msgstr "Ebene erfolgreich gelöscht." diff --git a/umap/locale/en/LC_MESSAGES/django.po b/umap/locale/en/LC_MESSAGES/django.po index 9c54f1a1..5a040279 100644 --- a/umap/locale/en/LC_MESSAGES/django.po +++ b/umap/locale/en/LC_MESSAGES/django.po @@ -204,3 +204,183 @@ msgstr "" #: views.py:190 msgid "View the map" msgstr "" + +#: forms.py:43 +#, python-format +msgid "Secret edit link is %s" +msgstr "" + +#: forms.py:47 models.py:113 +msgid "Everyone can edit" +msgstr "" + +#: forms.py:48 +msgid "Only editable with secret edit link" +msgstr "" + +#: models.py:20 +msgid "name" +msgstr "" + +#: models.py:42 +msgid "No licence set" +msgstr "" + +#: models.py:51 +msgid "details" +msgstr "" + +#: models.py:52 +msgid "Link to a page where the licence is detailed." +msgstr "" + +#: models.py:66 +msgid "URL template using OSM tile format" +msgstr "" + +#: models.py:74 +msgid "Order of the tilelayers in the edit box" +msgstr "" + +#: models.py:114 +msgid "Only editors can edit" +msgstr "" + +#: models.py:115 +msgid "Only owner can edit" +msgstr "" + +#: models.py:118 +msgid "everyone (public)" +msgstr "" + +#: models.py:119 +msgid "anyone with link" +msgstr "" + +#: models.py:120 +msgid "editors only" +msgstr "" + +#: models.py:123 models.py:257 +msgid "description" +msgstr "" + +#: models.py:124 +msgid "center" +msgstr "" + +#: models.py:125 +msgid "zoom" +msgstr "" + +#: models.py:126 +msgid "locate" +msgstr "" + +#: models.py:126 +msgid "Locate user on load?" +msgstr "" + +#: models.py:129 +msgid "Choose the map licence." +msgstr "" + +#: models.py:130 +msgid "licence" +msgstr "" + +#: models.py:135 +msgid "background" +msgstr "" + +#: models.py:136 +msgid "owner" +msgstr "" + +#: models.py:137 +msgid "editors" +msgstr "" + +#: models.py:138 +msgid "edit status" +msgstr "" + +#: models.py:139 +msgid "share status" +msgstr "" + +#: models.py:140 +msgid "settings" +msgstr "" + +#: models.py:178 +#, python-format +msgid "Your anonymous map has been attached to your account %s" +msgstr "" + +#: models.py:211 +msgid "Clone of" +msgstr "" + +#: models.py:262 +msgid "display on load" +msgstr "" + +#: models.py:263 +msgid "Display this layer on load." +msgstr "" + +#: templates/leaflet_storage/login_popup_end.html:2 +msgid "You are logged in. Continuing..." +msgstr "" + +#: templates/leaflet_storage/map_update_permissions.html:2 +msgid "Map permissions" +msgstr "" + +#: templates/registration/login.html:2 +msgid "Please log in to proceed" +msgstr "" + +#: templates/registration/login.html:4 +msgid "Your username and password didn't match. Please try again." +msgstr "" + +#: views.py:232 +#, python-format +msgid "" +"Your map has been created! If you want to edit this map from another " +"computer, please use this link: %(anonymous_url)s" +msgstr "" + +#: views.py:237 +msgid "Congratulations, your map has been created!" +msgstr "" + +#: views.py:264 +msgid "Map has been updated!" +msgstr "" + +#: views.py:291 +msgid "Map editors updated with success!" +msgstr "" + +#: views.py:306 +msgid "Only its owner can delete the map." +msgstr "" + +#: views.py:335 +#, python-format +msgid "" +"Your map has been cloned! If you want to edit this map from another " +"computer, please use this link: %(anonymous_url)s" +msgstr "" + +#: views.py:340 +msgid "Congratulations, your map has been cloned!" +msgstr "" + +#: views.py:526 +msgid "Layer successfully deleted." +msgstr "" diff --git a/umap/locale/es/LC_MESSAGES/django.mo b/umap/locale/es/LC_MESSAGES/django.mo index f030120e..558a2c14 100644 Binary files a/umap/locale/es/LC_MESSAGES/django.mo and b/umap/locale/es/LC_MESSAGES/django.mo differ diff --git a/umap/locale/es/LC_MESSAGES/django.po b/umap/locale/es/LC_MESSAGES/django.po index f7b75419..1c0586bb 100644 --- a/umap/locale/es/LC_MESSAGES/django.po +++ b/umap/locale/es/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Igor Támara , 2013 # Marco Antonio , 2014 @@ -12,7 +12,7 @@ msgstr "" "Project-Id-Version: uMap\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2016-09-09 21:37+0200\n" -"PO-Revision-Date: 2016-09-28 03:51+0000\n" +"PO-Revision-Date: 2017-09-19 22:04+0000\n" "Last-Translator: Marco Antonio \n" "Language-Team: Spanish (http://www.transifex.com/yohanboniface/umap/language/es/)\n" "MIME-Version: 1.0\n" @@ -208,3 +208,183 @@ msgstr "Buscar" #: views.py:190 msgid "View the map" msgstr "Ver el mapa" + +#: forms.py:43 +#, python-format +msgid "Secret edit link is %s" +msgstr "El enlace secreto de edición es %s" + +#: forms.py:47 models.py:113 +msgid "Everyone can edit" +msgstr "Todos pueden editar" + +#: forms.py:48 +msgid "Only editable with secret edit link" +msgstr "Sólo puede editarse con el enlace secreto de edición" + +#: models.py:20 +msgid "name" +msgstr "nombre" + +#: models.py:42 +msgid "No licence set" +msgstr "Sin conjunto de licencias" + +#: models.py:51 +msgid "details" +msgstr "detalles" + +#: models.py:52 +msgid "Link to a page where the licence is detailed." +msgstr "Enlace a una página donde se detalla la licencia." + +#: models.py:66 +msgid "URL template using OSM tile format" +msgstr "Plantilla URL usando el formato de teselas OSM" + +#: models.py:74 +msgid "Order of the tilelayers in the edit box" +msgstr "Orden de las capas de teselas en la caja de edición" + +#: models.py:114 +msgid "Only editors can edit" +msgstr "Solo los editores pueden editar" + +#: models.py:115 +msgid "Only owner can edit" +msgstr "Solo el propietario puede editar" + +#: models.py:118 +msgid "everyone (public)" +msgstr "todo el mundo (público)" + +#: models.py:119 +msgid "anyone with link" +msgstr "cualquiera que tenga el enlace" + +#: models.py:120 +msgid "editors only" +msgstr "sólo editores" + +#: models.py:123 models.py:257 +msgid "description" +msgstr "descripción" + +#: models.py:124 +msgid "center" +msgstr "centrar" + +#: models.py:125 +msgid "zoom" +msgstr "acercar/alejar" + +#: models.py:126 +msgid "locate" +msgstr "localizar" + +#: models.py:126 +msgid "Locate user on load?" +msgstr "¿Al cargar localizar el usuario?" + +#: models.py:129 +msgid "Choose the map licence." +msgstr "Elija la licencia del mapa." + +#: models.py:130 +msgid "licence" +msgstr "licencia" + +#: models.py:135 +msgid "background" +msgstr "fondo" + +#: models.py:136 +msgid "owner" +msgstr "propietario" + +#: models.py:137 +msgid "editors" +msgstr "editores" + +#: models.py:138 +msgid "edit status" +msgstr "estado de la edición" + +#: models.py:139 +msgid "share status" +msgstr "compartir estado" + +#: models.py:140 +msgid "settings" +msgstr "ajustes" + +#: models.py:178 +#, python-format +msgid "Your anonymous map has been attached to your account %s" +msgstr "Tu mapa anónimo se ha adjuntado a tu cuenta %s" + +#: models.py:211 +msgid "Clone of" +msgstr "Clon de" + +#: models.py:262 +msgid "display on load" +msgstr "mostrar al cargar" + +#: models.py:263 +msgid "Display this layer on load." +msgstr "Mostrar esta capa al cargar." + +#: templates/leaflet_storage/login_popup_end.html:2 +msgid "You are logged in. Continuing..." +msgstr "Has iniciado sesión. Continuando..." + +#: templates/leaflet_storage/map_update_permissions.html:2 +msgid "Map permissions" +msgstr "Permisos del mapa" + +#: templates/registration/login.html:2 +msgid "Please log in to proceed" +msgstr "Inicia sesión para poder continuar" + +#: templates/registration/login.html:4 +msgid "Your username and password didn't match. Please try again." +msgstr "Tu nombre de usuario y contraseña no coinciden. Inténtalo de nuevo." + +#: views.py:232 +#, python-format +msgid "" +"Your map has been created! If you want to edit this map from another " +"computer, please use this link: %(anonymous_url)s" +msgstr "¡Tu mapa ha sido creado! Si deseas editarlo desde otro ordenador, por favor usa este enlace: %(anonymous_url)s" + +#: views.py:237 +msgid "Congratulations, your map has been created!" +msgstr "¡Enhorabuena! ¡Tu mapa ha sido creado!" + +#: views.py:264 +msgid "Map has been updated!" +msgstr "¡El mapa ha sido actualizado!" + +#: views.py:291 +msgid "Map editors updated with success!" +msgstr "¡Los editores del mapas han sido actualizados con éxito!" + +#: views.py:306 +msgid "Only its owner can delete the map." +msgstr "Sólo el propietario puede borrar el mapa." + +#: views.py:335 +#, python-format +msgid "" +"Your map has been cloned! If you want to edit this map from another " +"computer, please use this link: %(anonymous_url)s" +msgstr "¡Tu mapa ha sido clonado! Si quieres editar este mapa desde otro ordenador, usa este enlace: %(anonymous_url)s" + +#: views.py:340 +msgid "Congratulations, your map has been cloned!" +msgstr "¡Enhorabuena! ¡Tu mapa ha sido clonado!" + +#: views.py:526 +msgid "Layer successfully deleted." +msgstr "Se eliminó la capa con éxito." diff --git a/umap/locale/fi/LC_MESSAGES/django.mo b/umap/locale/fi/LC_MESSAGES/django.mo index d52aa379..ad9da68e 100644 Binary files a/umap/locale/fi/LC_MESSAGES/django.mo and b/umap/locale/fi/LC_MESSAGES/django.mo differ diff --git a/umap/locale/fi/LC_MESSAGES/django.po b/umap/locale/fi/LC_MESSAGES/django.po index f5120bd3..5bfe9a15 100644 --- a/umap/locale/fi/LC_MESSAGES/django.po +++ b/umap/locale/fi/LC_MESSAGES/django.po @@ -3,22 +3,21 @@ # This file is distributed under the same license as the PACKAGE package. # # Translators: -# acastren, 2014 -# jaakkoh , 2013 -# jaakkoh , 2013 +# Antti Castrén, 2014 +# Jaakko Helleranta , 2013 +# Jaakko Helleranta , 2013 msgid "" msgstr "" "Project-Id-Version: uMap\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2016-09-09 21:37+0200\n" -"PO-Revision-Date: 2014-03-04 21:50+0000\n" -"Last-Translator: acastren\n" -"Language-Team: Finnish (http://www.transifex.com/projects/p/umap/language/" -"fi/)\n" -"Language: fi\n" +"PO-Revision-Date: 2017-09-23 19:23+0000\n" +"Last-Translator: yohanboniface \n" +"Language-Team: Finnish (http://www.transifex.com/yohanboniface/umap/language/fi/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +"Language: fi\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: templates/404.html:7 @@ -35,10 +34,8 @@ msgid "Type editors nick to add…" msgstr "Kirjoita muokkaajan nimi lisätäksesi..." #: templates/leaflet_storage/map_detail.html:27 -#, fuzzy -#| msgid "Type editors nick to add…" msgid "Type new owner nick…" -msgstr "Kirjoita muokkaajan nimi lisätäksesi..." +msgstr "" #: templates/leaflet_storage/map_list.html:7 views.py:184 msgid "by" @@ -73,10 +70,7 @@ msgstr "Valitse mieleisesi palveluntarjoaja" msgid "" "uMap let you create maps with OpenStreetMap " "layers in a minute and embed them in your site." -msgstr "" -"uMap mahdollistaa OpenStreetMap-pohjaisten " -"räätälöityjen karttojen luomisen ja liittämisen verkkosivuusi muutamassa " -"minuutissa." +msgstr "uMap mahdollistaa OpenStreetMap-pohjaisten räätälöityjen karttojen luomisen ja liittämisen verkkosivuusi muutamassa minuutissa." #: templates/umap/about_summary.html:11 msgid "Choose the layers of your map" @@ -92,9 +86,7 @@ msgstr "Valitse ja hallinnoi POI-merkintöjen värit ja karttakuvakkeet" #: templates/umap/about_summary.html:14 msgid "Manage map options: display a minimap, locate user on load…" -msgstr "" -"Hallitse kartta-optiot: näytä mini-kartta, paikanna käyttäjä sivun " -"latauksessa, ..." +msgstr "Hallitse kartta-optiot: näytä mini-kartta, paikanna käyttäjä sivun latauksessa, ..." #: templates/umap/about_summary.html:15 msgid "Batch import geostructured data (geojson, gpx, kml, osm...)" @@ -125,14 +117,10 @@ msgstr "Tongi demoa sielusi kyllyydestä!" #, python-format msgid "" "This is a demo instance, used for tests and pre-rolling releases. If you " -"need a stable instance, please use " -"%(stable_url)s. You can also host your own instance, it's open source!" -msgstr "" -"Tämä on uMapin demo-instanssi, jota käytetään testaamiseen ja " -"väliversioille. Jos tarvitset vakaan version, niin käytäthän %(stable_url)s :a. Voit myös tarjota oman instanssin " -"- avoin lähdekoodi rulettaa!" +"need a stable instance, please use %(stable_url)s. You can also host your own " +"instance, it's open source!" +msgstr "Tämä on uMapin demo-instanssi, jota käytetään testaamiseen ja väliversioille. Jos tarvitset vakaan version, niin käytäthän %(stable_url)s :a. Voit myös tarjota oman instanssin - avoin lähdekoodi rulettaa!" #: templates/umap/home.html:17 msgid "Map of the uMaps" @@ -176,8 +164,8 @@ msgstr "" #: templates/umap/password_change.html:7 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 "" #: templates/umap/password_change.html:12 @@ -220,5 +208,182 @@ msgstr "Etsi" msgid "View the map" msgstr "Katso karttaa" -#~ msgid "Map settings" -#~ msgstr "Kartan asetukset" +#: forms.py:43 +#, python-format +msgid "Secret edit link is %s" +msgstr "Salainen muokkauslinkki on %s" + +#: forms.py:47 models.py:113 +msgid "Everyone can edit" +msgstr "Kuka tahansa saa muokata" + +#: forms.py:48 +msgid "Only editable with secret edit link" +msgstr "Muokattavissa vain salaisella muokkauslinkillä" + +#: models.py:20 +msgid "name" +msgstr "nimi" + +#: models.py:42 +msgid "No licence set" +msgstr "Määrittämätön lisenssi" + +#: models.py:51 +msgid "details" +msgstr "tarkemmat tiedot" + +#: models.py:52 +msgid "Link to a page where the licence is detailed." +msgstr "Linkki sivulle, jossa lisenssi on määritetty yksityiskohtaisesti." + +#: models.py:66 +msgid "URL template using OSM tile format" +msgstr "OSM-karttatiiliformaattia mukaileva URL-sapluuna" + +#: models.py:74 +msgid "Order of the tilelayers in the edit box" +msgstr "Taustakarttojen järjestys muokkauslaatikossa" + +#: models.py:114 +msgid "Only editors can edit" +msgstr "Vain julkaisijat saavat muokata" + +#: models.py:115 +msgid "Only owner can edit" +msgstr "Vain omistaja saa muokata" + +#: models.py:118 +msgid "everyone (public)" +msgstr "kaikille (julkinen)" + +#: models.py:119 +msgid "anyone with link" +msgstr "linkinhaltijoille" + +#: models.py:120 +msgid "editors only" +msgstr "vain muokkaajille" + +#: models.py:123 models.py:257 +msgid "description" +msgstr "kuvaus" + +#: models.py:124 +msgid "center" +msgstr "keskitä" + +#: models.py:125 +msgid "zoom" +msgstr "zoomaa" + +#: models.py:126 +msgid "locate" +msgstr "paikanna" + +#: models.py:126 +msgid "Locate user on load?" +msgstr "Paikanna käyttäjä sivua ladattaessa?" + +#: models.py:129 +msgid "Choose the map licence." +msgstr "Valitse kartan lisenssi" + +#: models.py:130 +msgid "licence" +msgstr "lisenssi" + +#: models.py:135 +msgid "background" +msgstr "tausta" + +#: models.py:136 +msgid "owner" +msgstr "omistaja" + +#: models.py:137 +msgid "editors" +msgstr "julkaisija" + +#: models.py:138 +msgid "edit status" +msgstr "muokkaa tilaa" + +#: models.py:139 +msgid "share status" +msgstr "jaa status" + +#: models.py:140 +msgid "settings" +msgstr "asetukset" + +#: models.py:178 +#, python-format +msgid "Your anonymous map has been attached to your account %s" +msgstr "Anonyymi karttasi on liitetty tiliisi %s" + +#: models.py:211 +msgid "Clone of" +msgstr "Kloonattu kartasta" + +#: models.py:262 +msgid "display on load" +msgstr "näytä ladattaessa" + +#: models.py:263 +msgid "Display this layer on load." +msgstr "Näytä tämä kerros ladattaessa." + +#: templates/leaflet_storage/login_popup_end.html:2 +msgid "You are logged in. Continuing..." +msgstr "Sisäänkirjautumisesi onnistui. Jatketahan..." + +#: templates/leaflet_storage/map_update_permissions.html:2 +msgid "Map permissions" +msgstr "Kartan oikeudet" + +#: templates/registration/login.html:2 +msgid "Please log in to proceed" +msgstr "Rekisteröidythän jatkaaksesi, jooko?" + +#: templates/registration/login.html:4 +msgid "Your username and password didn't match. Please try again." +msgstr "Käyttäjätunnuksesi ja salasanasi eivät täsmänneet. Yritä uudestaan ole hyvä." + +#: views.py:232 +#, python-format +msgid "" +"Your map has been created! If you want to edit this map from another " +"computer, please use this link: %(anonymous_url)s" +msgstr "Karttasi on luotu! Jos haluat muokata tätä karttaa joltain muulta tietokoneelta, käytä tätä linkkiä: %(anonymous_url)s" + +#: views.py:237 +msgid "Congratulations, your map has been created!" +msgstr "Onneksi olkoon! Uusi karttasi on luotu!" + +#: views.py:264 +msgid "Map has been updated!" +msgstr "Kartta on päivitetty!" + +#: views.py:291 +msgid "Map editors updated with success!" +msgstr "Kartan toimittajat päivitetty onnistuneesti!" + +#: views.py:306 +msgid "Only its owner can delete the map." +msgstr "Vain kartan omistaja voi poistaa kartan." + +#: views.py:335 +#, python-format +msgid "" +"Your map has been cloned! If you want to edit this map from another " +"computer, please use this link: %(anonymous_url)s" +msgstr "Karttasi on kloonattu! Jos haluat muokata tätä karttaa joltain muulta tietokoneelta, käytä tätä linkkiä: %(anonymous_url)s" + +#: views.py:340 +msgid "Congratulations, your map has been cloned!" +msgstr "Onneksi olkoon! Karttasi on kloonattu!" + +#: views.py:526 +msgid "Layer successfully deleted." +msgstr "Kerros onnistuneesti poistettu. Pysyvästi." diff --git a/umap/locale/fr/LC_MESSAGES/django.mo b/umap/locale/fr/LC_MESSAGES/django.mo index f2c2f5d6..34fd05dd 100644 Binary files a/umap/locale/fr/LC_MESSAGES/django.mo and b/umap/locale/fr/LC_MESSAGES/django.mo differ diff --git a/umap/locale/fr/LC_MESSAGES/django.po b/umap/locale/fr/LC_MESSAGES/django.po index 68e441fb..3c4ec38c 100644 --- a/umap/locale/fr/LC_MESSAGES/django.po +++ b/umap/locale/fr/LC_MESSAGES/django.po @@ -1,10 +1,11 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Buggi, 2013 # Buggi, 2013 +# Philippe Verdy, 2017 # yohanboniface , 2014,2016 # YOHAN BONIFACE , 2012 msgid "" @@ -12,8 +13,8 @@ msgstr "" "Project-Id-Version: uMap\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2016-09-09 21:37+0200\n" -"PO-Revision-Date: 2016-09-09 19:41+0000\n" -"Last-Translator: yohanboniface \n" +"PO-Revision-Date: 2017-09-19 22:04+0000\n" +"Last-Translator: Philippe Verdy\n" "Language-Team: French (http://www.transifex.com/yohanboniface/umap/language/fr/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -32,11 +33,11 @@ msgstr "Consulter les cartes de %(current_user)s" #: templates/leaflet_storage/map_detail.html:24 msgid "Type editors nick to add…" -msgstr "Taper le nom d'un éditeur…" +msgstr "Entrez le nom d'un modificateur…" #: templates/leaflet_storage/map_detail.html:27 msgid "Type new owner nick…" -msgstr "Nouveau du nouveau propriétaire…" +msgstr "Entrez le nom du nouveau propriétaire…" #: templates/leaflet_storage/map_list.html:7 views.py:184 msgid "by" @@ -75,11 +76,11 @@ msgstr "uMap permet de créer des cartes personnalisées sur des fonds , 2013-2015 +# idetao , 2017 +# Maurizio Napolitano , 2013-2015,2018 # claudiamocci , 2013 # YOHAN BONIFACE , 2012 msgid "" @@ -11,19 +12,18 @@ msgstr "" "Project-Id-Version: uMap\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2016-09-09 21:37+0200\n" -"PO-Revision-Date: 2015-11-02 09:15+0000\n" +"PO-Revision-Date: 2018-02-22 11:08+0000\n" "Last-Translator: Maurizio Napolitano \n" -"Language-Team: Italian (http://www.transifex.com/yohanboniface/umap/language/" -"it/)\n" -"Language: it\n" +"Language-Team: Italian (http://www.transifex.com/yohanboniface/umap/language/it/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +"Language: it\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: templates/404.html:7 msgid "Take me to the home page" -msgstr "" +msgstr "Vai alla pagina principale" #: templates/auth/user_detail.html:7 #, python-format @@ -35,10 +35,8 @@ msgid "Type editors nick to add…" msgstr "Inserire nick degli editor d'aggiungere..." #: templates/leaflet_storage/map_detail.html:27 -#, fuzzy -#| msgid "Type editors nick to add…" msgid "Type new owner nick…" -msgstr "Inserire nick degli editor d'aggiungere..." +msgstr "Inserisci il nome del nuovo proprietario..." #: templates/leaflet_storage/map_list.html:7 views.py:184 msgid "by" @@ -50,19 +48,19 @@ msgstr "Altre mappe" #: templates/registration/login.html:4 msgid "Please log in with your account" -msgstr "" +msgstr "Accedi con il tuo account" #: templates/registration/login.html:18 msgid "Username" -msgstr "" +msgstr "Nome utente" #: templates/registration/login.html:20 msgid "Password" -msgstr "" +msgstr "Password" #: templates/registration/login.html:21 msgid "Login" -msgstr "" +msgstr "Login" #: templates/registration/login.html:27 msgid "Please choose a provider" @@ -73,9 +71,7 @@ msgstr "Seleziona un fornitore" msgid "" "uMap let you create maps with OpenStreetMap " "layers in a minute and embed them in your site." -msgstr "" -"uMap permette di creare mappe, che fanno uso di OpenStreetMap come sfondo, da inserire nel proprio sito in un minuto." +msgstr "uMap permette di creare mappe, che fanno uso di OpenStreetMap come sfondo, da inserire nel proprio sito in un minuto." #: templates/umap/about_summary.html:11 msgid "Choose the layers of your map" @@ -91,9 +87,7 @@ msgstr "Scegli colori ed icone dei POI" #: templates/umap/about_summary.html:14 msgid "Manage map options: display a minimap, locate user on load…" -msgstr "" -"Aggiungi opzioni alla mappa: mappa panoramica, geolocalizzazione di un " -"utente al caricamento ..." +msgstr "Aggiungi opzioni alla mappa: mappa panoramica, geolocalizzazione di un utente al caricamento ..." #: templates/umap/about_summary.html:15 msgid "Batch import geostructured data (geojson, gpx, kml, osm...)" @@ -124,14 +118,10 @@ msgstr "Gioca con la demo" #, python-format msgid "" "This is a demo instance, used for tests and pre-rolling releases. If you " -"need a stable instance, please use " -"%(stable_url)s. You can also host your own instance, it's open source!" -msgstr "" -"Questa è una demo da utilizzare solo per test e prototipi. Qualora sia " -"necessaria una versione stabile si deve utilizzare l'indirizzo a href=" -"\"%(stable_url)s\">%(stable_url)s. Chiunque inoltre può crearsi una " -"propria istanza, uMap è software libero!" +"need a stable instance, please use %(stable_url)s. You can also host your own " +"instance, it's open source!" +msgstr "Questa è una demo da utilizzare solo per test e prototipi. Qualora sia necessaria una versione stabile si deve utilizzare l'indirizzo a href=\"%(stable_url)s\">%(stable_url)s. Chiunque inoltre può crearsi una propria istanza, uMap è software libero!" #: templates/umap/home.html:17 msgid "Map of the uMaps" @@ -163,7 +153,7 @@ msgstr "Feedback" #: templates/umap/navigation.html:20 msgid "Change password" -msgstr "" +msgstr "Cambia password" #: templates/umap/navigation.html:22 msgid "Log out" @@ -171,37 +161,37 @@ msgstr "Esci" #: templates/umap/password_change.html:6 msgid "Password change" -msgstr "" +msgstr "Cambia password" #: templates/umap/password_change.html:7 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." -msgstr "" +"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 "Per motivi di sicurezza inserire la vecchia password, poi inserire quella nuova due volte così da verificare che sia stata scritta correttamente" #: templates/umap/password_change.html:12 msgid "Old password" -msgstr "" +msgstr "Password vecchia" #: templates/umap/password_change.html:14 msgid "New password" -msgstr "" +msgstr "Nuova password" #: templates/umap/password_change.html:16 msgid "New password confirmation" -msgstr "" +msgstr "Conferma della nuova password" #: templates/umap/password_change.html:18 msgid "Change my password" -msgstr "" +msgstr "Cambia la mia password" #: templates/umap/password_change_done.html:6 msgid "Password change successful" -msgstr "" +msgstr "Cambio della password effettuato con successo!" #: templates/umap/password_change_done.html:7 msgid "Your password was changed." -msgstr "" +msgstr "La tua password è stata cambiata." #: templates/umap/search.html:13 msgid "Not map found." @@ -219,5 +209,182 @@ msgstr "Cerca" msgid "View the map" msgstr "Visualizza la mappa" -#~ msgid "Map settings" -#~ msgstr "Impostazioni mappa" +#: forms.py:43 +#, python-format +msgid "Secret edit link is %s" +msgstr "Il link segreto per la modifica %s" + +#: forms.py:47 models.py:113 +msgid "Everyone can edit" +msgstr "Chiunque può modificare" + +#: forms.py:48 +msgid "Only editable with secret edit link" +msgstr "Modificabile solo con il link segreto" + +#: models.py:20 +msgid "name" +msgstr "nome" + +#: models.py:42 +msgid "No licence set" +msgstr "Nessuna licenza definita" + +#: models.py:51 +msgid "details" +msgstr "dettagli" + +#: models.py:52 +msgid "Link to a page where the licence is detailed." +msgstr "Link alla pagina con i dettagli della licenza" + +#: models.py:66 +msgid "URL template using OSM tile format" +msgstr "Modello dell'URL usando il formato delle tile OSM" + +#: models.py:74 +msgid "Order of the tilelayers in the edit box" +msgstr "Ordine degli sfondi (tilelayers) nel box di modifica" + +#: models.py:114 +msgid "Only editors can edit" +msgstr "Solo gli editor possono fare modifiche" + +#: models.py:115 +msgid "Only owner can edit" +msgstr "Solo il proprietario può effettuare modifiche" + +#: models.py:118 +msgid "everyone (public)" +msgstr "chiunque (pubblico)" + +#: models.py:119 +msgid "anyone with link" +msgstr "chiunque abbia il ilnk" + +#: models.py:120 +msgid "editors only" +msgstr "solo autori" + +#: models.py:123 models.py:257 +msgid "description" +msgstr "descrizione" + +#: models.py:124 +msgid "center" +msgstr "centra" + +#: models.py:125 +msgid "zoom" +msgstr "zoom" + +#: models.py:126 +msgid "locate" +msgstr "localizza" + +#: models.py:126 +msgid "Locate user on load?" +msgstr "Geolocalizzare l'utente al caricamento?" + +#: models.py:129 +msgid "Choose the map licence." +msgstr "Scegliere una licenza per la mappa." + +#: models.py:130 +msgid "licence" +msgstr "licenza" + +#: models.py:135 +msgid "background" +msgstr "sfondo" + +#: models.py:136 +msgid "owner" +msgstr "proprietario" + +#: models.py:137 +msgid "editors" +msgstr "editor" + +#: models.py:138 +msgid "edit status" +msgstr "stato della modifica" + +#: models.py:139 +msgid "share status" +msgstr "stato condivisione" + +#: models.py:140 +msgid "settings" +msgstr "impostazioni" + +#: models.py:178 +#, python-format +msgid "Your anonymous map has been attached to your account %s" +msgstr "La mappa anonima è stata associata all'account %s" + +#: models.py:211 +msgid "Clone of" +msgstr "Duplicata da " + +#: models.py:262 +msgid "display on load" +msgstr "mostra al caricamento" + +#: models.py:263 +msgid "Display this layer on load." +msgstr "Visualizza questo layer al caricamento." + +#: templates/leaflet_storage/login_popup_end.html:2 +msgid "You are logged in. Continuing..." +msgstr "Utente loggato. Continuare..." + +#: templates/leaflet_storage/map_update_permissions.html:2 +msgid "Map permissions" +msgstr "Permessi della mappa" + +#: templates/registration/login.html:2 +msgid "Please log in to proceed" +msgstr "Effettuare il login per continuare" + +#: templates/registration/login.html:4 +msgid "Your username and password didn't match. Please try again." +msgstr "Username e password non corrispondono. Riprovare." + +#: views.py:232 +#, python-format +msgid "" +"Your map has been created! If you want to edit this map from another " +"computer, please use this link: %(anonymous_url)s" +msgstr "La mappa è stata creata! Per modificarla da un altro computer, si deve utilizzare questo link: %(anonymous_url)s" + +#: views.py:237 +msgid "Congratulations, your map has been created!" +msgstr "Congratulazioni, la mappa è stata creata!" + +#: views.py:264 +msgid "Map has been updated!" +msgstr "La mappa è stata aggiornata!" + +#: views.py:291 +msgid "Map editors updated with success!" +msgstr "Aggiornato l'elenco degli editor abilitati alla modifica della mappa!" + +#: views.py:306 +msgid "Only its owner can delete the map." +msgstr "Solo il proprietario può eliminare la mappa." + +#: views.py:335 +#, python-format +msgid "" +"Your map has been cloned! If you want to edit this map from another " +"computer, please use this link: %(anonymous_url)s" +msgstr "La mappa è stata clonata! Per modificarla usando un altro computer, si deve utilizzare questo link: %(anonymous_url)s" + +#: views.py:340 +msgid "Congratulations, your map has been cloned!" +msgstr "Perfetto, la tua mappa è stata clonata!" + +#: views.py:526 +msgid "Layer successfully deleted." +msgstr "Layer eliminato correttamente" diff --git a/umap/locale/ja/LC_MESSAGES/django.mo b/umap/locale/ja/LC_MESSAGES/django.mo index 9998dc0c..79c26bdd 100644 Binary files a/umap/locale/ja/LC_MESSAGES/django.mo and b/umap/locale/ja/LC_MESSAGES/django.mo differ diff --git a/umap/locale/ja/LC_MESSAGES/django.po b/umap/locale/ja/LC_MESSAGES/django.po index b3972602..0ad241f9 100644 --- a/umap/locale/ja/LC_MESSAGES/django.po +++ b/umap/locale/ja/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Satoshi IIDA , 2013-2014 # tomoya muramoto , 2016 @@ -10,7 +10,7 @@ msgstr "" "Project-Id-Version: uMap\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2016-09-09 21:37+0200\n" -"PO-Revision-Date: 2016-10-02 07:23+0000\n" +"PO-Revision-Date: 2017-09-19 22:33+0000\n" "Last-Translator: tomoya muramoto \n" "Language-Team: Japanese (http://www.transifex.com/yohanboniface/umap/language/ja/)\n" "MIME-Version: 1.0\n" @@ -206,3 +206,183 @@ msgstr "検索" #: views.py:190 msgid "View the map" msgstr "マップ表示" + +#: forms.py:43 +#, python-format +msgid "Secret edit link is %s" +msgstr "非公開の編集用リンク %s" + +#: forms.py:47 models.py:113 +msgid "Everyone can edit" +msgstr "だれでも編集可能" + +#: forms.py:48 +msgid "Only editable with secret edit link" +msgstr "非公開の編集リンクからのみ編集可能" + +#: models.py:20 +msgid "name" +msgstr "名称" + +#: models.py:42 +msgid "No licence set" +msgstr "ライセンス未設定" + +#: models.py:51 +msgid "details" +msgstr "詳細" + +#: models.py:52 +msgid "Link to a page where the licence is detailed." +msgstr "ライセンス詳細ページへのリンク" + +#: models.py:66 +msgid "URL template using OSM tile format" +msgstr "OSMタイルフォーマットを利用したURLテンプレート" + +#: models.py:74 +msgid "Order of the tilelayers in the edit box" +msgstr "編集ボックス内のタイルレイヤ並び順" + +#: models.py:114 +msgid "Only editors can edit" +msgstr "指定ユーザのみ編集可能" + +#: models.py:115 +msgid "Only owner can edit" +msgstr "所有者のみ編集可能" + +#: models.py:118 +msgid "everyone (public)" +msgstr "制限なし (公開)" + +#: models.py:119 +msgid "anyone with link" +msgstr "リンクを知っている人全員" + +#: models.py:120 +msgid "editors only" +msgstr "編集者のみ" + +#: models.py:123 models.py:257 +msgid "description" +msgstr "概要" + +#: models.py:124 +msgid "center" +msgstr "中心点" + +#: models.py:125 +msgid "zoom" +msgstr "ズーム" + +#: models.py:126 +msgid "locate" +msgstr "現在地" + +#: models.py:126 +msgid "Locate user on load?" +msgstr "読み込み時に現在地を表示?" + +#: models.py:129 +msgid "Choose the map licence." +msgstr "マップのライセンスを選択" + +#: models.py:130 +msgid "licence" +msgstr "ライセンス" + +#: models.py:135 +msgid "background" +msgstr "背景地図" + +#: models.py:136 +msgid "owner" +msgstr "所有者" + +#: models.py:137 +msgid "editors" +msgstr "編集者" + +#: models.py:138 +msgid "edit status" +msgstr "編集ステータス" + +#: models.py:139 +msgid "share status" +msgstr "共有状況" + +#: models.py:140 +msgid "settings" +msgstr "設定" + +#: models.py:178 +#, python-format +msgid "Your anonymous map has been attached to your account %s" +msgstr "所有者不明のマップがアカウント %s と関連付けられました" + +#: models.py:211 +msgid "Clone of" +msgstr "複製元" + +#: models.py:262 +msgid "display on load" +msgstr "読み込み時に表示" + +#: models.py:263 +msgid "Display this layer on load." +msgstr "読み込み時にこのレイヤを表示" + +#: templates/leaflet_storage/login_popup_end.html:2 +msgid "You are logged in. Continuing..." +msgstr "ログインしました" + +#: templates/leaflet_storage/map_update_permissions.html:2 +msgid "Map permissions" +msgstr "マップ編集許可" + +#: templates/registration/login.html:2 +msgid "Please log in to proceed" +msgstr "ログインが必要です" + +#: templates/registration/login.html:4 +msgid "Your username and password didn't match. Please try again." +msgstr "ユーザ名とパスワードが不一致です。もう一度入力してください。" + +#: views.py:232 +#, python-format +msgid "" +"Your map has been created! If you want to edit this map from another " +"computer, please use this link: %(anonymous_url)s" +msgstr "マップの作成が完了しました! このマップを他の端末から編集する場合、いかのリンクを使用してください: %(anonymous_url)s" + +#: views.py:237 +msgid "Congratulations, your map has been created!" +msgstr "マップ作成完了です!" + +#: views.py:264 +msgid "Map has been updated!" +msgstr "マップが更新されました!" + +#: views.py:291 +msgid "Map editors updated with success!" +msgstr "マップ編集者の更新が完了しました!" + +#: views.py:306 +msgid "Only its owner can delete the map." +msgstr "マップを削除できるのは所有者だけです" + +#: views.py:335 +#, python-format +msgid "" +"Your map has been cloned! If you want to edit this map from another " +"computer, please use this link: %(anonymous_url)s" +msgstr "マップの複製が完了しました! このマップを他の端末から編集する場合、以下のリンクを使用してください: %(anonymous_url)s" + +#: views.py:340 +msgid "Congratulations, your map has been cloned!" +msgstr "マップの複製が完了しました!" + +#: views.py:526 +msgid "Layer successfully deleted." +msgstr "レイヤ削除完了" diff --git a/umap/locale/lt/LC_MESSAGES/django.mo b/umap/locale/lt/LC_MESSAGES/django.mo index da0cb847..9dab2005 100644 Binary files a/umap/locale/lt/LC_MESSAGES/django.mo and b/umap/locale/lt/LC_MESSAGES/django.mo differ diff --git a/umap/locale/lt/LC_MESSAGES/django.po b/umap/locale/lt/LC_MESSAGES/django.po index 95242114..383be1ea 100644 --- a/umap/locale/lt/LC_MESSAGES/django.po +++ b/umap/locale/lt/LC_MESSAGES/django.po @@ -3,26 +3,25 @@ # This file is distributed under the same license as the PACKAGE package. # # Translators: -# ramunasd , 2014 +# Ramūnas D. , 2014 +# Ugne Urbelyte , 2017 msgid "" msgstr "" "Project-Id-Version: uMap\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2016-09-09 21:37+0200\n" -"PO-Revision-Date: 2014-03-01 00:29+0000\n" -"Last-Translator: yohanboniface \n" -"Language-Team: Lithuanian (http://www.transifex.com/projects/p/umap/language/" -"lt/)\n" -"Language: lt\n" +"PO-Revision-Date: 2017-09-19 23:05+0000\n" +"Last-Translator: Ugne Urbelyte \n" +"Language-Team: Lithuanian (http://www.transifex.com/yohanboniface/umap/language/lt/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && (n" -"%100<10 || n%100>=20) ? 1 : 2);\n" +"Language: lt\n" +"Plural-Forms: nplurals=4; plural=(n % 10 == 1 && (n % 100 > 19 || n % 100 < 11) ? 0 : (n % 10 >= 2 && n % 10 <=9) && (n % 100 > 19 || n % 100 < 11) ? 1 : n % 1 != 0 ? 2: 3);\n" #: templates/404.html:7 msgid "Take me to the home page" -msgstr "" +msgstr "Grįžti į pagrindinį puslapį" #: templates/auth/user_detail.html:7 #, python-format @@ -31,15 +30,15 @@ msgstr "Peržiūrėti %(current_user)s žemėlapius" #: templates/leaflet_storage/map_detail.html:24 msgid "Type editors nick to add…" -msgstr "" +msgstr "Įveskite redaguotojų pseudonimus, kad pridėtu..." #: templates/leaflet_storage/map_detail.html:27 msgid "Type new owner nick…" -msgstr "" +msgstr "Įveskite naują vartotojo vardą" #: templates/leaflet_storage/map_list.html:7 views.py:184 msgid "by" -msgstr "" +msgstr "pagal" #: templates/leaflet_storage/map_list.html:11 msgid "More" @@ -47,19 +46,19 @@ msgstr "Daugiau" #: templates/registration/login.html:4 msgid "Please log in with your account" -msgstr "" +msgstr "Prisijungti prie savo paskyros" #: templates/registration/login.html:18 msgid "Username" -msgstr "" +msgstr "Vartotojo vardas" #: templates/registration/login.html:20 msgid "Password" -msgstr "" +msgstr "Slaptažodis" #: templates/registration/login.html:21 msgid "Login" -msgstr "" +msgstr "Prisijungti" #: templates/registration/login.html:27 msgid "Please choose a provider" @@ -70,9 +69,7 @@ msgstr "Pasirinkite teikėją" msgid "" "uMap let you create maps with OpenStreetMap " "layers in a minute and embed them in your site." -msgstr "" -"uMap leidžia susikurti savo žemėlapį naudojant OpenStreetMap sluoksnius vos per minutę ir įterpti jį į savo puslapį." +msgstr "uMap leidžia susikurti savo žemėlapį naudojant OpenStreetMap sluoksnius vos per minutę ir įterpti jį į savo puslapį." #: templates/umap/about_summary.html:11 msgid "Choose the layers of your map" @@ -88,13 +85,11 @@ msgstr "Valdyti POI spalvas ir ikonėles" #: templates/umap/about_summary.html:14 msgid "Manage map options: display a minimap, locate user on load…" -msgstr "" -"Valdyti žemėlapio nustatymus: rodyti mini žemėlapį, automatiškai nustatyti " -"padėtį.." +msgstr "Valdyti žemėlapio nustatymus: rodyti mini žemėlapį, automatiškai nustatyti padėtį.." #: templates/umap/about_summary.html:15 msgid "Batch import geostructured data (geojson, gpx, kml, osm...)" -msgstr "" +msgstr "Masiškai importuoti geografinius duomenis (geojson, gpx, kml, osm...)" #: templates/umap/about_summary.html:16 msgid "Choose the license for your data" @@ -121,22 +116,18 @@ msgstr "Išbandyti demo" #, python-format msgid "" "This is a demo instance, used for tests and pre-rolling releases. If you " -"need a stable instance, please use " -"%(stable_url)s. You can also host your own instance, it's open source!" -msgstr "" -"Tai demonstracinė versija, naudojama testavimui ir naujų versijų " -"demonstravimui. Jei Jums reikia stabilios versijos, tada geriau naudokitės " -"%(stable_url)s. Jūs taip pat gali pasileisti " -"savo puslapį, juk tai atviras kodas!" +"need a stable instance, please use %(stable_url)s. You can also host your own " +"instance, it's open source!" +msgstr "Tai demonstracinė versija, naudojama testavimui ir naujų versijų demonstravimui. Jei Jums reikia stabilios versijos, tada geriau naudokitės %(stable_url)s. Jūs taip pat gali pasileisti savo puslapį, juk tai atviras kodas!" #: templates/umap/home.html:17 msgid "Map of the uMaps" -msgstr "" +msgstr "uMap žemėlapis" #: templates/umap/home.html:24 msgid "Get inspired, browse maps" -msgstr "" +msgstr "Peržiūrėkite žemėlapius, raskite įkvėpimą" #: templates/umap/navigation.html:12 msgid "My maps" @@ -160,7 +151,7 @@ msgstr "Atsiliepimai" #: templates/umap/navigation.html:20 msgid "Change password" -msgstr "" +msgstr "Keisti slaptažodį" #: templates/umap/navigation.html:22 msgid "Log out" @@ -168,37 +159,37 @@ msgstr "Atsijungti" #: templates/umap/password_change.html:6 msgid "Password change" -msgstr "" +msgstr "Slaptažodžio keitimas" #: templates/umap/password_change.html:7 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." -msgstr "" +"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 "Saugumo sumetimais, įveskite savo dabartinį slaptažodį. Tuomet įveskite naują slaptažodį du kartus." #: templates/umap/password_change.html:12 msgid "Old password" -msgstr "" +msgstr "Senas slaptažodis" #: templates/umap/password_change.html:14 msgid "New password" -msgstr "" +msgstr "Naujas slaptažodis" #: templates/umap/password_change.html:16 msgid "New password confirmation" -msgstr "" +msgstr "Naujo slaptažodžio patvirtinimas" #: templates/umap/password_change.html:18 msgid "Change my password" -msgstr "" +msgstr "Keisti mano slaptažodį" #: templates/umap/password_change_done.html:6 msgid "Password change successful" -msgstr "" +msgstr "Slaptažodžio pakeitimas sėkmingas." #: templates/umap/password_change_done.html:7 msgid "Your password was changed." -msgstr "" +msgstr "Jūsų slaptažodis buvo pakeistas." #: templates/umap/search.html:13 msgid "Not map found." @@ -214,7 +205,184 @@ msgstr "Ieškoti" #: views.py:190 msgid "View the map" -msgstr "" +msgstr "Peržiūrėti žemėlapį" -#~ msgid "Map settings" -#~ msgstr "Žemėlapio nustatymai" +#: forms.py:43 +#, python-format +msgid "Secret edit link is %s" +msgstr "Slapta redagavimo nuoroda %s" + +#: forms.py:47 models.py:113 +msgid "Everyone can edit" +msgstr "Visi gali redaguoti" + +#: forms.py:48 +msgid "Only editable with secret edit link" +msgstr "Redaguojamas tik su slapta nuoroda" + +#: models.py:20 +msgid "name" +msgstr "vardas" + +#: models.py:42 +msgid "No licence set" +msgstr "Nenustatyta licenzija" + +#: models.py:51 +msgid "details" +msgstr "išsamiau" + +#: models.py:52 +msgid "Link to a page where the licence is detailed." +msgstr "Licenzijos aprašymo nuoroda." + +#: models.py:66 +msgid "URL template using OSM tile format" +msgstr "URL šablonas OSM kaladėlių formatui" + +#: models.py:74 +msgid "Order of the tilelayers in the edit box" +msgstr "Žemėlapio sluoksnių tvarka redagavimo lange" + +#: models.py:114 +msgid "Only editors can edit" +msgstr "Tik redaktoriai gali keisti" + +#: models.py:115 +msgid "Only owner can edit" +msgstr "Tik savininkas gali keisti" + +#: models.py:118 +msgid "everyone (public)" +msgstr "visi (viešai)" + +#: models.py:119 +msgid "anyone with link" +msgstr "visi su nuoroda" + +#: models.py:120 +msgid "editors only" +msgstr "tik keitėjai" + +#: models.py:123 models.py:257 +msgid "description" +msgstr "aprašymas" + +#: models.py:124 +msgid "center" +msgstr "centras" + +#: models.py:125 +msgid "zoom" +msgstr "mastelis" + +#: models.py:126 +msgid "locate" +msgstr "nustatyti padėtį" + +#: models.py:126 +msgid "Locate user on load?" +msgstr "Nustatyti padėti užsikrovus?" + +#: models.py:129 +msgid "Choose the map licence." +msgstr "Pasirinkite žemėlapio licenziją." + +#: models.py:130 +msgid "licence" +msgstr "licenzija" + +#: models.py:135 +msgid "background" +msgstr "fonas" + +#: models.py:136 +msgid "owner" +msgstr "savininkas" + +#: models.py:137 +msgid "editors" +msgstr "redaktoriai" + +#: models.py:138 +msgid "edit status" +msgstr "keisti būseną" + +#: models.py:139 +msgid "share status" +msgstr "pasidalinti būsena" + +#: models.py:140 +msgid "settings" +msgstr "nustatymai" + +#: models.py:178 +#, python-format +msgid "Your anonymous map has been attached to your account %s" +msgstr "Jūsų anoniminis žemėlapis prijungtas prie Jūsų paskyros %s" + +#: models.py:211 +msgid "Clone of" +msgstr "Kopija" + +#: models.py:262 +msgid "display on load" +msgstr "rodyti pasikrovus" + +#: models.py:263 +msgid "Display this layer on load." +msgstr "Rodyti šį sluoksnį pasrikrovus." + +#: templates/leaflet_storage/login_popup_end.html:2 +msgid "You are logged in. Continuing..." +msgstr "Sėkmingai prisijungėte. Kraunasi..." + +#: templates/leaflet_storage/map_update_permissions.html:2 +msgid "Map permissions" +msgstr "Žemėlapio leidimai" + +#: templates/registration/login.html:2 +msgid "Please log in to proceed" +msgstr "Prisijunkite, kad tęsti" + +#: templates/registration/login.html:4 +msgid "Your username and password didn't match. Please try again." +msgstr "Jūsų vardas ir slaptažodis yra neteisingi. Prašom pabandyti iš naujo." + +#: views.py:232 +#, python-format +msgid "" +"Your map has been created! If you want to edit this map from another " +"computer, please use this link: %(anonymous_url)s" +msgstr "Jūsų žemėlapis sėkmingai sukurtas! Jei norite redaguoti jį iš kito kompiuterio, pasinaudokite šia nuoroda: %(anonymous_url)s" + +#: views.py:237 +msgid "Congratulations, your map has been created!" +msgstr "Sveikinam, Jūsų žemėlapis sukurtas!" + +#: views.py:264 +msgid "Map has been updated!" +msgstr "Žemėlapis atnaujintas!" + +#: views.py:291 +msgid "Map editors updated with success!" +msgstr "Žemėlapio keitėjai atnaujinti!" + +#: views.py:306 +msgid "Only its owner can delete the map." +msgstr "Tik savininkas gali ištrinti žemėlapį." + +#: views.py:335 +#, python-format +msgid "" +"Your map has been cloned! If you want to edit this map from another " +"computer, please use this link: %(anonymous_url)s" +msgstr "Jūsų žemėlapis nukopijuotas! Jei norite redaguoti jį iš kito kompiuterio, pasinaudokite šia nuoroda: %(anonymous_url)s" + +#: views.py:340 +msgid "Congratulations, your map has been cloned!" +msgstr "Sveikinam, Jūsų žemėlapis buvo nukopijuotas!" + +#: views.py:526 +msgid "Layer successfully deleted." +msgstr "Sluoksnis sėkmingai ištrintas." diff --git a/umap/locale/nl/LC_MESSAGES/django.mo b/umap/locale/nl/LC_MESSAGES/django.mo index 9e6b85ca..d260e00b 100644 Binary files a/umap/locale/nl/LC_MESSAGES/django.mo and b/umap/locale/nl/LC_MESSAGES/django.mo differ diff --git a/umap/locale/nl/LC_MESSAGES/django.po b/umap/locale/nl/LC_MESSAGES/django.po index 6ca1c454..107b432a 100644 --- a/umap/locale/nl/LC_MESSAGES/django.po +++ b/umap/locale/nl/LC_MESSAGES/django.po @@ -205,3 +205,183 @@ msgstr "" #: views.py:190 msgid "View the map" msgstr "" + +#: forms.py:43 +#, python-format +msgid "Secret edit link is %s" +msgstr "" + +#: forms.py:47 models.py:113 +msgid "Everyone can edit" +msgstr "" + +#: forms.py:48 +msgid "Only editable with secret edit link" +msgstr "" + +#: models.py:20 +msgid "name" +msgstr "naam" + +#: models.py:42 +msgid "No licence set" +msgstr "" + +#: models.py:51 +msgid "details" +msgstr "" + +#: models.py:52 +msgid "Link to a page where the licence is detailed." +msgstr "" + +#: models.py:66 +msgid "URL template using OSM tile format" +msgstr "" + +#: models.py:74 +msgid "Order of the tilelayers in the edit box" +msgstr "" + +#: models.py:114 +msgid "Only editors can edit" +msgstr "" + +#: models.py:115 +msgid "Only owner can edit" +msgstr "" + +#: models.py:118 +msgid "everyone (public)" +msgstr "" + +#: models.py:119 +msgid "anyone with link" +msgstr "" + +#: models.py:120 +msgid "editors only" +msgstr "" + +#: models.py:123 models.py:257 +msgid "description" +msgstr "" + +#: models.py:124 +msgid "center" +msgstr "" + +#: models.py:125 +msgid "zoom" +msgstr "" + +#: models.py:126 +msgid "locate" +msgstr "" + +#: models.py:126 +msgid "Locate user on load?" +msgstr "" + +#: models.py:129 +msgid "Choose the map licence." +msgstr "" + +#: models.py:130 +msgid "licence" +msgstr "" + +#: models.py:135 +msgid "background" +msgstr "" + +#: models.py:136 +msgid "owner" +msgstr "" + +#: models.py:137 +msgid "editors" +msgstr "" + +#: models.py:138 +msgid "edit status" +msgstr "" + +#: models.py:139 +msgid "share status" +msgstr "" + +#: models.py:140 +msgid "settings" +msgstr "" + +#: models.py:178 +#, python-format +msgid "Your anonymous map has been attached to your account %s" +msgstr "" + +#: models.py:211 +msgid "Clone of" +msgstr "" + +#: models.py:262 +msgid "display on load" +msgstr "" + +#: models.py:263 +msgid "Display this layer on load." +msgstr "" + +#: templates/leaflet_storage/login_popup_end.html:2 +msgid "You are logged in. Continuing..." +msgstr "" + +#: templates/leaflet_storage/map_update_permissions.html:2 +msgid "Map permissions" +msgstr "" + +#: templates/registration/login.html:2 +msgid "Please log in to proceed" +msgstr "" + +#: templates/registration/login.html:4 +msgid "Your username and password didn't match. Please try again." +msgstr "" + +#: views.py:232 +#, python-format +msgid "" +"Your map has been created! If you want to edit this map from another " +"computer, please use this link: %(anonymous_url)s" +msgstr "" + +#: views.py:237 +msgid "Congratulations, your map has been created!" +msgstr "" + +#: views.py:264 +msgid "Map has been updated!" +msgstr "" + +#: views.py:291 +msgid "Map editors updated with success!" +msgstr "" + +#: views.py:306 +msgid "Only its owner can delete the map." +msgstr "" + +#: views.py:335 +#, python-format +msgid "" +"Your map has been cloned! If you want to edit this map from another " +"computer, please use this link: %(anonymous_url)s" +msgstr "" + +#: views.py:340 +msgid "Congratulations, your map has been cloned!" +msgstr "" + +#: views.py:526 +msgid "Layer successfully deleted." +msgstr "" diff --git a/umap/locale/pl/LC_MESSAGES/django.po b/umap/locale/pl/LC_MESSAGES/django.po index 5999965e..09d71416 100644 --- a/umap/locale/pl/LC_MESSAGES/django.po +++ b/umap/locale/pl/LC_MESSAGES/django.po @@ -1,24 +1,24 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Daniel Koć , 2015 # endro, 2015 -# Teiron , 2016 +# Teiron, 2016 msgid "" msgstr "" "Project-Id-Version: uMap\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2016-09-09 21:37+0200\n" -"PO-Revision-Date: 2016-09-16 17:30+0000\n" -"Last-Translator: Teiron \n" +"PO-Revision-Date: 2017-09-22 02:09+0000\n" +"Last-Translator: Teiron\n" "Language-Team: Polish (http://www.transifex.com/yohanboniface/umap/language/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: pl\n" -"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" +"Plural-Forms: nplurals=4; plural=(n==1 ? 0 : (n%10>=2 && n%10<=4) && (n%100<12 || n%100>14) ? 1 : n!=1 && (n%10>=0 && n%10<=1) || (n%10>=5 && n%10<=9) || (n%100>=12 && n%100<=14) ? 2 : 3);\n" #: templates/404.html:7 msgid "Take me to the home page" @@ -207,3 +207,183 @@ msgstr "Szukaj" #: views.py:190 msgid "View the map" msgstr "Zobacz mapę" + +#: forms.py:43 +#, python-format +msgid "Secret edit link is %s" +msgstr "Sekretnym odnośnikiem do edycji jest %s" + +#: forms.py:47 models.py:113 +msgid "Everyone can edit" +msgstr "Wszyscy mogą edytować" + +#: forms.py:48 +msgid "Only editable with secret edit link" +msgstr "Edycja możliwa tylko z sekretnym odnośnikiem" + +#: models.py:20 +msgid "name" +msgstr "nazwa" + +#: models.py:42 +msgid "No licence set" +msgstr "Brak ustawionej licencji" + +#: models.py:51 +msgid "details" +msgstr "szczegóły" + +#: models.py:52 +msgid "Link to a page where the licence is detailed." +msgstr "Odnośnik do strony ze szczegółowym opisem licencji." + +#: models.py:66 +msgid "URL template using OSM tile format" +msgstr "Szablon URL używający formatu kafelków OSM" + +#: models.py:74 +msgid "Order of the tilelayers in the edit box" +msgstr "Kolejność podkładów w oknie edycji" + +#: models.py:114 +msgid "Only editors can edit" +msgstr "Tylko edytorzy mogą edytować" + +#: models.py:115 +msgid "Only owner can edit" +msgstr "Tylko właściciel może edytować" + +#: models.py:118 +msgid "everyone (public)" +msgstr "wszyscy (publiczne)" + +#: models.py:119 +msgid "anyone with link" +msgstr "każdy z linkiem" + +#: models.py:120 +msgid "editors only" +msgstr "tylko edytorzy" + +#: models.py:123 models.py:257 +msgid "description" +msgstr "opis" + +#: models.py:124 +msgid "center" +msgstr "środek" + +#: models.py:125 +msgid "zoom" +msgstr "przybliżenie" + +#: models.py:126 +msgid "locate" +msgstr "lokalizuj" + +#: models.py:126 +msgid "Locate user on load?" +msgstr "Lokalizować użytkownika po załadowaniu?" + +#: models.py:129 +msgid "Choose the map licence." +msgstr "Wybierz licencję mapy." + +#: models.py:130 +msgid "licence" +msgstr "licencja" + +#: models.py:135 +msgid "background" +msgstr "tło" + +#: models.py:136 +msgid "owner" +msgstr "właściciel" + +#: models.py:137 +msgid "editors" +msgstr "edytorzy" + +#: models.py:138 +msgid "edit status" +msgstr "status edycji" + +#: models.py:139 +msgid "share status" +msgstr "udostępnij status" + +#: models.py:140 +msgid "settings" +msgstr "ustawienia" + +#: models.py:178 +#, python-format +msgid "Your anonymous map has been attached to your account %s" +msgstr "Twoja anonimowa mapa została dołączona do twojego konta %s" + +#: models.py:211 +msgid "Clone of" +msgstr "Kopia" + +#: models.py:262 +msgid "display on load" +msgstr "wyświetl po załadowaniu" + +#: models.py:263 +msgid "Display this layer on load." +msgstr "Wyświetl tę warstwę po załadowaniu." + +#: templates/leaflet_storage/login_popup_end.html:2 +msgid "You are logged in. Continuing..." +msgstr "Jesteś zalogowany. Kontynuowanie..." + +#: templates/leaflet_storage/map_update_permissions.html:2 +msgid "Map permissions" +msgstr "Uprawnienia mapy" + +#: templates/registration/login.html:2 +msgid "Please log in to proceed" +msgstr "Proszę się zalogować by kontynuować" + +#: templates/registration/login.html:4 +msgid "Your username and password didn't match. Please try again." +msgstr "Twoja nazwa użytkownika i hasło nie pasują. Proszę spróbować ponownie." + +#: views.py:232 +#, python-format +msgid "" +"Your map has been created! If you want to edit this map from another " +"computer, please use this link: %(anonymous_url)s" +msgstr "Twoja mapa została utworzona! Jeśli chcesz edytować ją z innego komputera, użyj odnośnika: %(anonymous_url)s" + +#: views.py:237 +msgid "Congratulations, your map has been created!" +msgstr "Gratulacje, twoja mapa została utworzona!" + +#: views.py:264 +msgid "Map has been updated!" +msgstr "Mapa została zaktualizowana!" + +#: views.py:291 +msgid "Map editors updated with success!" +msgstr "Edytorzy mapy zaktualizowani pomyślnie!" + +#: views.py:306 +msgid "Only its owner can delete the map." +msgstr "Tylko właściciel może usunąć mapę." + +#: views.py:335 +#, python-format +msgid "" +"Your map has been cloned! If you want to edit this map from another " +"computer, please use this link: %(anonymous_url)s" +msgstr "Twoja mapa została skopiowana! Jeśli chcesz edytować ją z innego komputera, użyj odnośnika: %(anonymous_url)s" + +#: views.py:340 +msgid "Congratulations, your map has been cloned!" +msgstr "Gratulacje, twoja mapa została skopiowana!" + +#: views.py:526 +msgid "Layer successfully deleted." +msgstr "Warstwa usunięta pomyślnie." diff --git a/umap/locale/pt/LC_MESSAGES/django.mo b/umap/locale/pt/LC_MESSAGES/django.mo index 74bffddd..061bb4fc 100644 Binary files a/umap/locale/pt/LC_MESSAGES/django.mo and b/umap/locale/pt/LC_MESSAGES/django.mo differ diff --git a/umap/locale/pt/LC_MESSAGES/django.po b/umap/locale/pt/LC_MESSAGES/django.po index dfaa6eea..49d48079 100644 --- a/umap/locale/pt/LC_MESSAGES/django.po +++ b/umap/locale/pt/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Joao Ponce de Leao Paulouro , 2014 # Rui , 2016 @@ -10,7 +10,7 @@ msgstr "" "Project-Id-Version: uMap\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2016-09-09 21:37+0200\n" -"PO-Revision-Date: 2016-12-22 10:03+0000\n" +"PO-Revision-Date: 2017-09-19 22:04+0000\n" "Last-Translator: Rui \n" "Language-Team: Portuguese (http://www.transifex.com/yohanboniface/umap/language/pt/)\n" "MIME-Version: 1.0\n" @@ -206,3 +206,183 @@ msgstr "Procurar" #: views.py:190 msgid "View the map" msgstr "Ver o mapa" + +#: forms.py:43 +#, python-format +msgid "Secret edit link is %s" +msgstr "Link secreto para edição é %s" + +#: forms.py:47 models.py:113 +msgid "Everyone can edit" +msgstr "Todos podem editar" + +#: forms.py:48 +msgid "Only editable with secret edit link" +msgstr "Unicamente editável através de link secreto" + +#: models.py:20 +msgid "name" +msgstr "nome" + +#: models.py:42 +msgid "No licence set" +msgstr "Nenhuma licença definida" + +#: models.py:51 +msgid "details" +msgstr "detalhes" + +#: models.py:52 +msgid "Link to a page where the licence is detailed." +msgstr "Link para uma página detalhando a licença." + +#: models.py:66 +msgid "URL template using OSM tile format" +msgstr "Modelo de URL no formato de telas OSM" + +#: models.py:74 +msgid "Order of the tilelayers in the edit box" +msgstr "Ordem das camadas na caixa de edição" + +#: models.py:114 +msgid "Only editors can edit" +msgstr "Só editores podem editar" + +#: models.py:115 +msgid "Only owner can edit" +msgstr "Só o proprietário pode editar" + +#: models.py:118 +msgid "everyone (public)" +msgstr "todos (público)" + +#: models.py:119 +msgid "anyone with link" +msgstr "qualquer um com o link" + +#: models.py:120 +msgid "editors only" +msgstr "só editores" + +#: models.py:123 models.py:257 +msgid "description" +msgstr "descrição" + +#: models.py:124 +msgid "center" +msgstr "centro" + +#: models.py:125 +msgid "zoom" +msgstr "zoom" + +#: models.py:126 +msgid "locate" +msgstr "localizar" + +#: models.py:126 +msgid "Locate user on load?" +msgstr "Localizar usuário no início?" + +#: models.py:129 +msgid "Choose the map licence." +msgstr "Escolha uma licença para o mapa." + +#: models.py:130 +msgid "licence" +msgstr "licença" + +#: models.py:135 +msgid "background" +msgstr "fundo" + +#: models.py:136 +msgid "owner" +msgstr "proprietário" + +#: models.py:137 +msgid "editors" +msgstr "editores" + +#: models.py:138 +msgid "edit status" +msgstr "editar estado" + +#: models.py:139 +msgid "share status" +msgstr "partilhar estado" + +#: models.py:140 +msgid "settings" +msgstr "parâmetros" + +#: models.py:178 +#, python-format +msgid "Your anonymous map has been attached to your account %s" +msgstr "O seu mapa anónimo foi anexado à sua conta %s" + +#: models.py:211 +msgid "Clone of" +msgstr "Clone de" + +#: models.py:262 +msgid "display on load" +msgstr "mostrar no início" + +#: models.py:263 +msgid "Display this layer on load." +msgstr "Apresentar esta camada ao carregar." + +#: templates/leaflet_storage/login_popup_end.html:2 +msgid "You are logged in. Continuing..." +msgstr "Sucesso na identificação. Continuando..." + +#: templates/leaflet_storage/map_update_permissions.html:2 +msgid "Map permissions" +msgstr "Permissões do mapa" + +#: templates/registration/login.html:2 +msgid "Please log in to proceed" +msgstr "Por favor entre na sua conta para continuar" + +#: templates/registration/login.html:4 +msgid "Your username and password didn't match. Please try again." +msgstr "O nome de usuário e senha não correspondem. Tente novamente." + +#: views.py:232 +#, python-format +msgid "" +"Your map has been created! If you want to edit this map from another " +"computer, please use this link: %(anonymous_url)s" +msgstr "O seu mapa foi criado! Se quiser editar este mapa noutro computador, por favor utilize este link: %(anonymous_url)s" + +#: views.py:237 +msgid "Congratulations, your map has been created!" +msgstr "Parabéns, o seu mapa foi criado!" + +#: views.py:264 +msgid "Map has been updated!" +msgstr "O mapa foi atualizado!" + +#: views.py:291 +msgid "Map editors updated with success!" +msgstr "Os editores do mapa foram atualizados com sucesso!" + +#: views.py:306 +msgid "Only its owner can delete the map." +msgstr "Só o proprietário pode eliminar o mapa." + +#: views.py:335 +#, python-format +msgid "" +"Your map has been cloned! If you want to edit this map from another " +"computer, please use this link: %(anonymous_url)s" +msgstr "O seu mapa foi clonado! Se quiser editar este mapa noutro computador, por favor utilize este link: %(anonymous_url)s" + +#: views.py:340 +msgid "Congratulations, your map has been cloned!" +msgstr "Parabéns, o seu mapa foi clonado!" + +#: views.py:526 +msgid "Layer successfully deleted." +msgstr "Camada eliminada com sucesso." diff --git a/umap/locale/ru/LC_MESSAGES/django.mo b/umap/locale/ru/LC_MESSAGES/django.mo index 919eb1df..97c25ed3 100644 Binary files a/umap/locale/ru/LC_MESSAGES/django.mo and b/umap/locale/ru/LC_MESSAGES/django.mo differ diff --git a/umap/locale/ru/LC_MESSAGES/django.po b/umap/locale/ru/LC_MESSAGES/django.po index 1ba5919c..21b58c65 100644 --- a/umap/locale/ru/LC_MESSAGES/django.po +++ b/umap/locale/ru/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Кругликов Илья , 2014 # Кругликов Илья , 2016 @@ -10,7 +10,7 @@ msgstr "" "Project-Id-Version: uMap\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2016-09-09 21:37+0200\n" -"PO-Revision-Date: 2016-10-20 07:57+0000\n" +"PO-Revision-Date: 2017-09-20 07:08+0000\n" "Last-Translator: Кругликов Илья \n" "Language-Team: Russian (http://www.transifex.com/yohanboniface/umap/language/ru/)\n" "MIME-Version: 1.0\n" @@ -206,3 +206,183 @@ msgstr "Найти" #: views.py:190 msgid "View the map" msgstr "Посмотреть карту" + +#: forms.py:43 +#, python-format +msgid "Secret edit link is %s" +msgstr "Секретная ссылка для редактирования: %s" + +#: forms.py:47 models.py:113 +msgid "Everyone can edit" +msgstr "Все могут редактировать" + +#: forms.py:48 +msgid "Only editable with secret edit link" +msgstr "Редактирование возможно только при наличии секретной ссылки" + +#: models.py:20 +msgid "name" +msgstr "название" + +#: models.py:42 +msgid "No licence set" +msgstr "Лицензия не задана" + +#: models.py:51 +msgid "details" +msgstr "подробности" + +#: models.py:52 +msgid "Link to a page where the licence is detailed." +msgstr "Ссылка на страницу с описанием лицензии" + +#: models.py:66 +msgid "URL template using OSM tile format" +msgstr "шаблон ссылки использует формат слоя OSM" + +#: models.py:74 +msgid "Order of the tilelayers in the edit box" +msgstr "Расположите слои карт в окне редактирования" + +#: models.py:114 +msgid "Only editors can edit" +msgstr "Только редакторы могут редактировать" + +#: models.py:115 +msgid "Only owner can edit" +msgstr "Только владелец может редактировать" + +#: models.py:118 +msgid "everyone (public)" +msgstr "все (без ограничений)" + +#: models.py:119 +msgid "anyone with link" +msgstr "все, у кого есть ссылка" + +#: models.py:120 +msgid "editors only" +msgstr "только редакторы" + +#: models.py:123 models.py:257 +msgid "description" +msgstr "описание" + +#: models.py:124 +msgid "center" +msgstr "центр" + +#: models.py:125 +msgid "zoom" +msgstr "масштаб" + +#: models.py:126 +msgid "locate" +msgstr "геолокация" + +#: models.py:126 +msgid "Locate user on load?" +msgstr "Использовать геолокацию при загрузке?" + +#: models.py:129 +msgid "Choose the map licence." +msgstr "Выберите лицензию для карты." + +#: models.py:130 +msgid "licence" +msgstr "лицензия" + +#: models.py:135 +msgid "background" +msgstr "фоновый слой" + +#: models.py:136 +msgid "owner" +msgstr "владелец" + +#: models.py:137 +msgid "editors" +msgstr "редакторы" + +#: models.py:138 +msgid "edit status" +msgstr "статус редактирования" + +#: models.py:139 +msgid "share status" +msgstr "статус совместного использования" + +#: models.py:140 +msgid "settings" +msgstr "настройки" + +#: models.py:178 +#, python-format +msgid "Your anonymous map has been attached to your account %s" +msgstr "Ваша анонимная карта была присоединена к вашей учётной записи %s" + +#: models.py:211 +msgid "Clone of" +msgstr "Копия" + +#: models.py:262 +msgid "display on load" +msgstr "показывать при загрузке" + +#: models.py:263 +msgid "Display this layer on load." +msgstr "Показать этот слой при загрузке." + +#: templates/leaflet_storage/login_popup_end.html:2 +msgid "You are logged in. Continuing..." +msgstr "Вы вошли. Продолжим..." + +#: templates/leaflet_storage/map_update_permissions.html:2 +msgid "Map permissions" +msgstr "Разрешения для карты" + +#: templates/registration/login.html:2 +msgid "Please log in to proceed" +msgstr "Чтобы продолжить, выполните вход" + +#: templates/registration/login.html:4 +msgid "Your username and password didn't match. Please try again." +msgstr "Имя пользователя или пароль неверные. Попробуйте ещё раз." + +#: views.py:232 +#, python-format +msgid "" +"Your map has been created! If you want to edit this map from another " +"computer, please use this link: %(anonymous_url)s" +msgstr "Ваша карта готова! Если вы хотите редактировать её на другом компьютере, используйте эту ссылку:: %(anonymous_url)s" + +#: views.py:237 +msgid "Congratulations, your map has been created!" +msgstr "Поздравляем, ваша карта готова!" + +#: views.py:264 +msgid "Map has been updated!" +msgstr "Карта обновлена!" + +#: views.py:291 +msgid "Map editors updated with success!" +msgstr "Редакторы карты успешно обновлены!" + +#: views.py:306 +msgid "Only its owner can delete the map." +msgstr "Только владелец карты может удалить её." + +#: views.py:335 +#, python-format +msgid "" +"Your map has been cloned! If you want to edit this map from another " +"computer, please use this link: %(anonymous_url)s" +msgstr "Карта была скопирована. Если вы хотите редактировать её на другом компьютере, используйте эту ссылку: %(anonymous_url)s" + +#: views.py:340 +msgid "Congratulations, your map has been cloned!" +msgstr "Поздравляем, ваша карта скопирована!" + +#: views.py:526 +msgid "Layer successfully deleted." +msgstr "Слой удалён." diff --git a/umap/locale/sk_SK/LC_MESSAGES/django.po b/umap/locale/sk_SK/LC_MESSAGES/django.po index cd4e7a8c..ea6c245e 100644 --- a/umap/locale/sk_SK/LC_MESSAGES/django.po +++ b/umap/locale/sk_SK/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Martin , 2016 # Martin , 2016 @@ -11,14 +11,14 @@ msgstr "" "Project-Id-Version: uMap\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2016-09-09 21:37+0200\n" -"PO-Revision-Date: 2016-10-09 11:19+0000\n" +"PO-Revision-Date: 2017-09-21 14:34+0000\n" "Last-Translator: Martin \n" "Language-Team: Slovak (Slovakia) (http://www.transifex.com/yohanboniface/umap/language/sk_SK/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: sk_SK\n" -"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n == 1 ? 0 : n % 1 == 0 && n >= 2 && n <= 4 ? 1 : n % 1 != 0 ? 2: 3);\n" #: templates/404.html:7 msgid "Take me to the home page" @@ -207,3 +207,183 @@ msgstr "Hľadať" #: views.py:190 msgid "View the map" msgstr "Prezrieť si túto mapu" + +#: forms.py:43 +#, python-format +msgid "Secret edit link is %s" +msgstr "Tajný odkaz umožňujúci úpravu mapy je %s" + +#: forms.py:47 models.py:113 +msgid "Everyone can edit" +msgstr "Hocikto môže upravovať" + +#: forms.py:48 +msgid "Only editable with secret edit link" +msgstr "Možné upravovať iba pomocou tajného odkazu" + +#: models.py:20 +msgid "name" +msgstr "názov" + +#: models.py:42 +msgid "No licence set" +msgstr "Žiadná licencia nie je nastavená" + +#: models.py:51 +msgid "details" +msgstr "podrobnosti" + +#: models.py:52 +msgid "Link to a page where the licence is detailed." +msgstr "Odkaz na stránku s podrobnejším popisom licencie." + +#: models.py:66 +msgid "URL template using OSM tile format" +msgstr "Vzor URL vo formáte pre dlaždice OSM" + +#: models.py:74 +msgid "Order of the tilelayers in the edit box" +msgstr "Poradie vrstiev pri úprave" + +#: models.py:114 +msgid "Only editors can edit" +msgstr "Upravovať môžu iba prispievatelia" + +#: models.py:115 +msgid "Only owner can edit" +msgstr "Upravovať môže iba vlastník" + +#: models.py:118 +msgid "everyone (public)" +msgstr "hocikto (verejná)" + +#: models.py:119 +msgid "anyone with link" +msgstr "hocikto pomocou odkazu" + +#: models.py:120 +msgid "editors only" +msgstr "iba prispievatelia" + +#: models.py:123 models.py:257 +msgid "description" +msgstr "popis" + +#: models.py:124 +msgid "center" +msgstr "stred" + +#: models.py:125 +msgid "zoom" +msgstr "priblíženie" + +#: models.py:126 +msgid "locate" +msgstr "lokalizovať" + +#: models.py:126 +msgid "Locate user on load?" +msgstr "Nájsť polohu používateľa pri štarte?" + +#: models.py:129 +msgid "Choose the map licence." +msgstr "Vyberte si licenciu mapy." + +#: models.py:130 +msgid "licence" +msgstr "licencia" + +#: models.py:135 +msgid "background" +msgstr "pozadie" + +#: models.py:136 +msgid "owner" +msgstr "vlastník" + +#: models.py:137 +msgid "editors" +msgstr "prispievatelia" + +#: models.py:138 +msgid "edit status" +msgstr "kto môže vykonávať úpravy" + +#: models.py:139 +msgid "share status" +msgstr "nastavenie zdieľania" + +#: models.py:140 +msgid "settings" +msgstr "nastavenia" + +#: models.py:178 +#, python-format +msgid "Your anonymous map has been attached to your account %s" +msgstr "Vaša anonymná mapa bola pripojená k vašemu účtu %s" + +#: models.py:211 +msgid "Clone of" +msgstr "Kópia" + +#: models.py:262 +msgid "display on load" +msgstr "zobraziť pri štarte" + +#: models.py:263 +msgid "Display this layer on load." +msgstr "Zobraziť túto vrstvu pri štarte." + +#: templates/leaflet_storage/login_popup_end.html:2 +msgid "You are logged in. Continuing..." +msgstr "Ste prihláseni. Pokračujeme ďalej…" + +#: templates/leaflet_storage/map_update_permissions.html:2 +msgid "Map permissions" +msgstr "Prístupové práva" + +#: templates/registration/login.html:2 +msgid "Please log in to proceed" +msgstr "Pre pokračovanie sa musíte prihlásiť" + +#: templates/registration/login.html:4 +msgid "Your username and password didn't match. Please try again." +msgstr "Používateľské meno a heslo sa nezhodujú. Prosím, skúste to znova." + +#: views.py:232 +#, python-format +msgid "" +"Your map has been created! If you want to edit this map from another " +"computer, please use this link: %(anonymous_url)s" +msgstr "Vaša mapa bola vytvorená! Ak chcete upravovať túto mapu z iného počítača, použite tento odkaz: %(anonymous_url)s" + +#: views.py:237 +msgid "Congratulations, your map has been created!" +msgstr "Gratulujeme, vaša mapa bola vytvorená!" + +#: views.py:264 +msgid "Map has been updated!" +msgstr "Mapa bola aktualizována!" + +#: views.py:291 +msgid "Map editors updated with success!" +msgstr "Zoznam prispievovateľov bol úspešne upravený!" + +#: views.py:306 +msgid "Only its owner can delete the map." +msgstr "Iba vlastník môže vymazať túto mapu." + +#: views.py:335 +#, python-format +msgid "" +"Your map has been cloned! If you want to edit this map from another " +"computer, please use this link: %(anonymous_url)s" +msgstr "Bola vytvorená kópia mapy! Ak chcete upravovať túto mapu z iného počítača, použite tento odkaz: %(anonymous_url)s" + +#: views.py:340 +msgid "Congratulations, your map has been cloned!" +msgstr "Gratulujeme, bola vytvorená kópia mapy!" + +#: views.py:526 +msgid "Layer successfully deleted." +msgstr "Vrstva bola úspešne vymazaná." diff --git a/umap/locale/uk_UA/LC_MESSAGES/django.mo b/umap/locale/uk_UA/LC_MESSAGES/django.mo index 0626adfc..90c615fe 100644 Binary files a/umap/locale/uk_UA/LC_MESSAGES/django.mo and b/umap/locale/uk_UA/LC_MESSAGES/django.mo differ diff --git a/umap/locale/uk_UA/LC_MESSAGES/django.po b/umap/locale/uk_UA/LC_MESSAGES/django.po index 314911cd..349777a0 100644 --- a/umap/locale/uk_UA/LC_MESSAGES/django.po +++ b/umap/locale/uk_UA/LC_MESSAGES/django.po @@ -3,26 +3,24 @@ # This file is distributed under the same license as the PACKAGE package. # # Translators: -# Сергій Дубик , 2014 +# Сергій Дубик , 2014,2017 msgid "" msgstr "" "Project-Id-Version: uMap\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2016-09-09 21:37+0200\n" -"PO-Revision-Date: 2014-09-15 16:05+0000\n" +"PO-Revision-Date: 2017-09-20 04:50+0000\n" "Last-Translator: Сергій Дубик \n" -"Language-Team: Ukrainian (Ukraine) (http://www.transifex.com/projects/p/umap/" -"language/uk_UA/)\n" -"Language: uk_UA\n" +"Language-Team: Ukrainian (Ukraine) (http://www.transifex.com/yohanboniface/umap/language/uk_UA/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" -"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" +"Language: uk_UA\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != 11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % 100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || (n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" #: templates/404.html:7 msgid "Take me to the home page" -msgstr "" +msgstr "Перемістіть мене на головну сторінку" #: templates/auth/user_detail.html:7 #, python-format @@ -34,10 +32,8 @@ msgid "Type editors nick to add…" msgstr "Введіть ім’я редактора, щоб додати…" #: templates/leaflet_storage/map_detail.html:27 -#, fuzzy -#| msgid "Type editors nick to add…" msgid "Type new owner nick…" -msgstr "Введіть ім’я редактора, щоб додати…" +msgstr "Введіть нік нового власника..." #: templates/leaflet_storage/map_list.html:7 views.py:184 msgid "by" @@ -49,19 +45,19 @@ msgstr "Ще" #: templates/registration/login.html:4 msgid "Please log in with your account" -msgstr "" +msgstr "Будь ласка, увійдіть за обліковим записом" #: templates/registration/login.html:18 msgid "Username" -msgstr "" +msgstr "Ім’я користувача" #: templates/registration/login.html:20 msgid "Password" -msgstr "" +msgstr "Пароль" #: templates/registration/login.html:21 msgid "Login" -msgstr "" +msgstr "Логін" #: templates/registration/login.html:27 msgid "Please choose a provider" @@ -72,9 +68,7 @@ msgstr "Виберіть провайдера автентифікації" msgid "" "uMap let you create maps with OpenStreetMap " "layers in a minute and embed them in your site." -msgstr "" -"uMap дає Вам можливість за лічені хвилини створювати мапи на основі даних OpenStreetMap та публікувати їх на своєму сайті." +msgstr "uMap дає Вам можливість за лічені хвилини створювати мапи на основі даних OpenStreetMap та публікувати їх на своєму сайті." #: templates/umap/about_summary.html:11 msgid "Choose the layers of your map" @@ -90,9 +84,7 @@ msgstr "Вибирайте потрібні кольори та значки д #: templates/umap/about_summary.html:14 msgid "Manage map options: display a minimap, locate user on load…" -msgstr "" -"Змінюйте параметри мапи: відображення мінімапи, встановлення місця " -"користувача при завантаженні …" +msgstr "Змінюйте параметри мапи: відображення мінімапи, встановлення місця користувача при завантаженні …" #: templates/umap/about_summary.html:15 msgid "Batch import geostructured data (geojson, gpx, kml, osm...)" @@ -123,14 +115,10 @@ msgstr "Погратися з демо-версією" #, python-format msgid "" "This is a demo instance, used for tests and pre-rolling releases. If you " -"need a stable instance, please use " -"%(stable_url)s. You can also host your own instance, it's open source!" -msgstr "" -"Це демонстраційний сайт, що використовується для тестів та підготовки " -"стабільних випусків. Якщо Вам потрібна стабільна версія, перейдіть на %(stable_url)s. Ви також можете створити свою " -"інсталяцію, оскільки це відкрите ПЗ!" +"need a stable instance, please use %(stable_url)s. You can also host your own " +"instance, it's open source!" +msgstr "Це демонстраційний сайт, що використовується для тестів та підготовки стабільних випусків. Якщо Вам потрібна стабільна версія, перейдіть на %(stable_url)s. Ви також можете створити свою інсталяцію, оскільки це відкрите ПЗ!" #: templates/umap/home.html:17 msgid "Map of the uMaps" @@ -162,7 +150,7 @@ msgstr "Зворотній зв’язок" #: templates/umap/navigation.html:20 msgid "Change password" -msgstr "" +msgstr "Зміна паролю" #: templates/umap/navigation.html:22 msgid "Log out" @@ -170,37 +158,37 @@ msgstr "Вийти" #: templates/umap/password_change.html:6 msgid "Password change" -msgstr "" +msgstr "Зміна паролю" #: templates/umap/password_change.html:7 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." -msgstr "" +"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 "Будь ласка, введіть свій старий пароль, для надійності, а потім введіть новий пароль двічі, щоб ми могли переконатися, що Ви ввели його правильно." #: templates/umap/password_change.html:12 msgid "Old password" -msgstr "" +msgstr "Старий пароль" #: templates/umap/password_change.html:14 msgid "New password" -msgstr "" +msgstr "Новий пароль" #: templates/umap/password_change.html:16 msgid "New password confirmation" -msgstr "" +msgstr "Підтвердження для нового паролю" #: templates/umap/password_change.html:18 msgid "Change my password" -msgstr "" +msgstr "Змінити мій пароль" #: templates/umap/password_change_done.html:6 msgid "Password change successful" -msgstr "" +msgstr "Зміна паролю успішна." #: templates/umap/password_change_done.html:7 msgid "Your password was changed." -msgstr "" +msgstr "Ваш пароль змінено." #: templates/umap/search.html:13 msgid "Not map found." @@ -218,5 +206,182 @@ msgstr "Шукати" msgid "View the map" msgstr "Переглянути мапу" -#~ msgid "Map settings" -#~ msgstr "Налаштування мапи" +#: forms.py:43 +#, python-format +msgid "Secret edit link is %s" +msgstr "Секретне посилання для редагування: %s" + +#: forms.py:47 models.py:113 +msgid "Everyone can edit" +msgstr "Кожен може редагувати" + +#: forms.py:48 +msgid "Only editable with secret edit link" +msgstr "Редагування можливе лише за наявності секретного посилання" + +#: models.py:20 +msgid "name" +msgstr "назва" + +#: models.py:42 +msgid "No licence set" +msgstr "Ліцензія не задана" + +#: models.py:51 +msgid "details" +msgstr "подробиці" + +#: models.py:52 +msgid "Link to a page where the licence is detailed." +msgstr "Посилання на сторінку з описом ліцензії" + +#: models.py:66 +msgid "URL template using OSM tile format" +msgstr "шаблон посилання використовує формат шару OSM" + +#: models.py:74 +msgid "Order of the tilelayers in the edit box" +msgstr "Розташуйте шари мап у вікні редагування" + +#: models.py:114 +msgid "Only editors can edit" +msgstr "Лише редактори можуть редагувати" + +#: models.py:115 +msgid "Only owner can edit" +msgstr "Лише власник може редагувати" + +#: models.py:118 +msgid "everyone (public)" +msgstr "усі (відкритий доступ)" + +#: models.py:119 +msgid "anyone with link" +msgstr "усі, у кого є посилання" + +#: models.py:120 +msgid "editors only" +msgstr "лише редактори" + +#: models.py:123 models.py:257 +msgid "description" +msgstr "опис" + +#: models.py:124 +msgid "center" +msgstr "центр" + +#: models.py:125 +msgid "zoom" +msgstr "масштаб" + +#: models.py:126 +msgid "locate" +msgstr "геолокація" + +#: models.py:126 +msgid "Locate user on load?" +msgstr "Використовувати геолокацію при завантаженні?" + +#: models.py:129 +msgid "Choose the map licence." +msgstr "Виберіть ліцензію для мапи." + +#: models.py:130 +msgid "licence" +msgstr "ліцензія" + +#: models.py:135 +msgid "background" +msgstr "фоновий шар" + +#: models.py:136 +msgid "owner" +msgstr "власник" + +#: models.py:137 +msgid "editors" +msgstr "редактори" + +#: models.py:138 +msgid "edit status" +msgstr "статус редагування" + +#: models.py:139 +msgid "share status" +msgstr "статус спільного використання" + +#: models.py:140 +msgid "settings" +msgstr "налаштування" + +#: models.py:178 +#, python-format +msgid "Your anonymous map has been attached to your account %s" +msgstr "Ваша анонімна мапа була приєднана до Вашого облікового запису %s" + +#: models.py:211 +msgid "Clone of" +msgstr "Копія " + +#: models.py:262 +msgid "display on load" +msgstr "показувати при завантаженні" + +#: models.py:263 +msgid "Display this layer on load." +msgstr "Показати цей шар при завантаженні." + +#: templates/leaflet_storage/login_popup_end.html:2 +msgid "You are logged in. Continuing..." +msgstr "Ви увійшли. Продовжимо …" + +#: templates/leaflet_storage/map_update_permissions.html:2 +msgid "Map permissions" +msgstr "Дозволи для мапи" + +#: templates/registration/login.html:2 +msgid "Please log in to proceed" +msgstr "Щоб продовжити, виконайте вхід" + +#: templates/registration/login.html:4 +msgid "Your username and password didn't match. Please try again." +msgstr "Ім’я користувача або пароль невірні. Спробуйте ще раз." + +#: views.py:232 +#, python-format +msgid "" +"Your map has been created! If you want to edit this map from another " +"computer, please use this link: %(anonymous_url)s" +msgstr "Ваша мапа готова! Якщо Ви хочете редагувати її на іншому комп’ютері, використовуйте це посилання: %(anonymous_url)s" + +#: views.py:237 +msgid "Congratulations, your map has been created!" +msgstr "Вітаємо, Ваша мапа готова!" + +#: views.py:264 +msgid "Map has been updated!" +msgstr "Мапа оновлена!" + +#: views.py:291 +msgid "Map editors updated with success!" +msgstr "Редактори мапи успішно оновлені!" + +#: views.py:306 +msgid "Only its owner can delete the map." +msgstr "Лише власник мапи може вилучити її." + +#: views.py:335 +#, python-format +msgid "" +"Your map has been cloned! If you want to edit this map from another " +"computer, please use this link: %(anonymous_url)s" +msgstr "Карта була скопійована. Якщо Ви хочете редагувати її на іншому комп’ютері, використовуйте це посилання: %(anonymous_url)s" + +#: views.py:340 +msgid "Congratulations, your map has been cloned!" +msgstr "Вітаємо, Ваша мапа скопійована!" + +#: views.py:526 +msgid "Layer successfully deleted." +msgstr "Шар вилучено." diff --git a/umap/locale/vi/LC_MESSAGES/django.mo b/umap/locale/vi/LC_MESSAGES/django.mo index 1ae04e61..de82ae45 100644 Binary files a/umap/locale/vi/LC_MESSAGES/django.mo and b/umap/locale/vi/LC_MESSAGES/django.mo differ diff --git a/umap/locale/vi/LC_MESSAGES/django.po b/umap/locale/vi/LC_MESSAGES/django.po index e18605c3..5ddd34ce 100644 --- a/umap/locale/vi/LC_MESSAGES/django.po +++ b/umap/locale/vi/LC_MESSAGES/django.po @@ -9,14 +9,13 @@ msgstr "" "Project-Id-Version: uMap\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2016-09-09 21:37+0200\n" -"PO-Revision-Date: 2014-08-11 00:35+0000\n" -"Last-Translator: Thanh Le Viet \n" -"Language-Team: Vietnamese (http://www.transifex.com/projects/p/umap/language/" -"vi/)\n" -"Language: vi\n" +"PO-Revision-Date: 2017-09-20 09:39+0000\n" +"Last-Translator: yohanboniface \n" +"Language-Team: Vietnamese (http://www.transifex.com/yohanboniface/umap/language/vi/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +"Language: vi\n" "Plural-Forms: nplurals=1; plural=0;\n" #: templates/404.html:7 @@ -33,10 +32,8 @@ msgid "Type editors nick to add…" msgstr "Nhập nick thành viên để thêm vào..." #: templates/leaflet_storage/map_detail.html:27 -#, fuzzy -#| msgid "Type editors nick to add…" msgid "Type new owner nick…" -msgstr "Nhập nick thành viên để thêm vào..." +msgstr "" #: templates/leaflet_storage/map_list.html:7 views.py:184 msgid "by" @@ -71,9 +68,7 @@ msgstr "Hãy chọn một nhà cung cấp" msgid "" "uMap let you create maps with OpenStreetMap " "layers in a minute and embed them in your site." -msgstr "" -"uMap cho phép bạn tạo bản đồ với các layer của OpenStreetMap trong vài phút và chèn nó vào trong website của bạn" +msgstr "uMap cho phép bạn tạo bản đồ với các layer của OpenStreetMap trong vài phút và chèn nó vào trong website của bạn" #: templates/umap/about_summary.html:11 msgid "Choose the layers of your map" @@ -89,9 +84,7 @@ msgstr "Quản lý màu và biểu tượng POI" #: templates/umap/about_summary.html:14 msgid "Manage map options: display a minimap, locate user on load…" -msgstr "" -"Quản lý thiết lập bản đồ: hiển thị bản đồ con, xác định vị trí người dùng " -"khi tải bản đồ..." +msgstr "Quản lý thiết lập bản đồ: hiển thị bản đồ con, xác định vị trí người dùng khi tải bản đồ..." #: templates/umap/about_summary.html:15 msgid "Batch import geostructured data (geojson, gpx, kml, osm...)" @@ -122,14 +115,10 @@ msgstr "Xem thử demo" #, python-format msgid "" "This is a demo instance, used for tests and pre-rolling releases. If you " -"need a stable instance, please use " -"%(stable_url)s. You can also host your own instance, it's open source!" -msgstr "" -"Đây là một bản demo được dùng để kiểm tra và xuất bản thử. Nếu bạn cần một " -"bản ổ định, hãy sử dụng %(stable_url)s. Bạn " -"cũng có thể chạy nó trên máy tính của mình vì nó là phần mềm nguồn mở" +"need a stable instance, please use %(stable_url)s. You can also host your own " +"instance, it's open source!" +msgstr "Đây là một bản demo được dùng để kiểm tra và xuất bản thử. Nếu bạn cần một bản ổ định, hãy sử dụng %(stable_url)s. Bạn cũng có thể chạy nó trên máy tính của mình vì nó là phần mềm nguồn mở" #: templates/umap/home.html:17 msgid "Map of the uMaps" @@ -173,8 +162,8 @@ msgstr "" #: templates/umap/password_change.html:7 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 "" #: templates/umap/password_change.html:12 @@ -217,5 +206,182 @@ msgstr "Tìm" msgid "View the map" msgstr "Xem bản đồ" -#~ msgid "Map settings" -#~ msgstr "Thiết lập bản đồ" +#: forms.py:43 +#, python-format +msgid "Secret edit link is %s" +msgstr "Link chỉnh sửa bí mật là %s" + +#: forms.py:47 models.py:113 +msgid "Everyone can edit" +msgstr "Ai cũng có thể chỉnh sửa" + +#: forms.py:48 +msgid "Only editable with secret edit link" +msgstr "Chỉ có thể sửa với liên kết chỉnh sửa bí mật" + +#: models.py:20 +msgid "name" +msgstr "tên" + +#: models.py:42 +msgid "No licence set" +msgstr "Bản quyền không được đặt" + +#: models.py:51 +msgid "details" +msgstr "chi tiết" + +#: models.py:52 +msgid "Link to a page where the licence is detailed." +msgstr "Liên kết đến trang có chi tiết về bản quyền" + +#: models.py:66 +msgid "URL template using OSM tile format" +msgstr "Mẫu URL sử dụng định dạng tile của OSM" + +#: models.py:74 +msgid "Order of the tilelayers in the edit box" +msgstr "Thứ tự các titlelayer trong hộp chỉnh sửa" + +#: models.py:114 +msgid "Only editors can edit" +msgstr "Chỉ chỉnh sửa bởi người có quyền" + +#: models.py:115 +msgid "Only owner can edit" +msgstr "Chỉ người sở hữu có thể chỉnh sửa" + +#: models.py:118 +msgid "everyone (public)" +msgstr "mọi người" + +#: models.py:119 +msgid "anyone with link" +msgstr "bất kì ai với liên kết" + +#: models.py:120 +msgid "editors only" +msgstr "chỉ người có quyền" + +#: models.py:123 models.py:257 +msgid "description" +msgstr "mô tả" + +#: models.py:124 +msgid "center" +msgstr "trung tâm" + +#: models.py:125 +msgid "zoom" +msgstr "thu phóng" + +#: models.py:126 +msgid "locate" +msgstr "xác định" + +#: models.py:126 +msgid "Locate user on load?" +msgstr "Xác định người dùng khi tải trang?" + +#: models.py:129 +msgid "Choose the map licence." +msgstr "Chọn bản quyền cho bản đồ" + +#: models.py:130 +msgid "licence" +msgstr "bản quyền" + +#: models.py:135 +msgid "background" +msgstr "nền" + +#: models.py:136 +msgid "owner" +msgstr "chủ nhân" + +#: models.py:137 +msgid "editors" +msgstr "người chỉnh sửa" + +#: models.py:138 +msgid "edit status" +msgstr "trạng thái chỉnh sửa" + +#: models.py:139 +msgid "share status" +msgstr "chia sẻ trạng thái" + +#: models.py:140 +msgid "settings" +msgstr "thiết lập" + +#: models.py:178 +#, python-format +msgid "Your anonymous map has been attached to your account %s" +msgstr "Bản đồ chưa đặt tên của bản đã được đính kèm vào tài khoản của bạn %s" + +#: models.py:211 +msgid "Clone of" +msgstr "Sao chép của" + +#: models.py:262 +msgid "display on load" +msgstr "hiển thị khi tải trang" + +#: models.py:263 +msgid "Display this layer on load." +msgstr "Hiển thị layer này khi tải trang" + +#: templates/leaflet_storage/login_popup_end.html:2 +msgid "You are logged in. Continuing..." +msgstr "Bạn đã đăng nhập, Đang tiếp tục..." + +#: templates/leaflet_storage/map_update_permissions.html:2 +msgid "Map permissions" +msgstr "Quyền hạn" + +#: templates/registration/login.html:2 +msgid "Please log in to proceed" +msgstr "Vui lòng đăng nhập để thực thi" + +#: templates/registration/login.html:4 +msgid "Your username and password didn't match. Please try again." +msgstr "Tên truy cập hoặc mật khẩu không đúng. Vui lòng thử lại." + +#: views.py:232 +#, python-format +msgid "" +"Your map has been created! If you want to edit this map from another " +"computer, please use this link: %(anonymous_url)s" +msgstr "Bản đồ của bạn đã được tạo! Nếu bạn muốn chỉnh sửa bản đồ từ máy tính khác, vui lòng sử dụng liên kết này %(anonymous_url)s" + +#: views.py:237 +msgid "Congratulations, your map has been created!" +msgstr "Chúc mừng, bản đồ của bạn đã được tạo!" + +#: views.py:264 +msgid "Map has been updated!" +msgstr "Bản đồ đã được cập nhật!" + +#: views.py:291 +msgid "Map editors updated with success!" +msgstr "Bản đồ được cập nhật thành công!" + +#: views.py:306 +msgid "Only its owner can delete the map." +msgstr "Chỉ chủ nhân của bản đồ mới có quyền xóa." + +#: views.py:335 +#, python-format +msgid "" +"Your map has been cloned! If you want to edit this map from another " +"computer, please use this link: %(anonymous_url)s" +msgstr "Bản đồ của bạn đã được sao chép. Nếu bạn muốn chỉnh sửa bản đồ từ máy tính khác, vui lòng sử dụng liên kết này %(anonymous_url)s" + +#: views.py:340 +msgid "Congratulations, your map has been cloned!" +msgstr "Chúc mừng, bản đồ của bạn đã được sao chép!" + +#: views.py:526 +msgid "Layer successfully deleted." +msgstr "Đã xóa layer" diff --git a/umap/locale/zh/LC_MESSAGES/django.mo b/umap/locale/zh/LC_MESSAGES/django.mo index 2d4e4752..9d53af5a 100644 Binary files a/umap/locale/zh/LC_MESSAGES/django.mo and b/umap/locale/zh/LC_MESSAGES/django.mo differ diff --git a/umap/locale/zh/LC_MESSAGES/django.po b/umap/locale/zh/LC_MESSAGES/django.po index 9d54b64b..8125f679 100644 --- a/umap/locale/zh/LC_MESSAGES/django.po +++ b/umap/locale/zh/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # sun wei , 2014 msgid "" @@ -9,14 +9,13 @@ msgstr "" "Project-Id-Version: uMap\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2016-09-09 21:37+0200\n" -"PO-Revision-Date: 2014-06-23 01:07+0000\n" -"Last-Translator: sun wei \n" -"Language-Team: Chinese (http://www.transifex.com/projects/p/umap/language/" -"zh/)\n" -"Language: zh\n" +"PO-Revision-Date: 2017-09-20 05:52+0000\n" +"Last-Translator: yohanboniface \n" +"Language-Team: Chinese (http://www.transifex.com/yohanboniface/umap/language/zh/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +"Language: zh\n" "Plural-Forms: nplurals=1; plural=0;\n" #: templates/404.html:7 @@ -116,9 +115,9 @@ msgstr "试用示例" #, python-format msgid "" "This is a demo instance, used for tests and pre-rolling releases. If you " -"need a stable instance, please use " -"%(stable_url)s. You can also host your own instance, it's open source!" +"need a stable instance, please use %(stable_url)s. You can also host your own " +"instance, it's open source!" msgstr "" #: templates/umap/home.html:17 @@ -163,8 +162,8 @@ msgstr "" #: templates/umap/password_change.html:7 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 "" #: templates/umap/password_change.html:12 @@ -206,6 +205,3 @@ msgstr "搜索" #: views.py:190 msgid "View the map" msgstr "浏览地图" - -#~ msgid "Map settings" -#~ msgstr "地图设置" diff --git a/umap/locale/zh_TW/LC_MESSAGES/django.mo b/umap/locale/zh_TW/LC_MESSAGES/django.mo index f9b9c015..32b7b9dd 100644 Binary files a/umap/locale/zh_TW/LC_MESSAGES/django.mo and b/umap/locale/zh_TW/LC_MESSAGES/django.mo differ diff --git a/umap/locale/zh_TW/LC_MESSAGES/django.po b/umap/locale/zh_TW/LC_MESSAGES/django.po index 94927669..359d4ad3 100644 --- a/umap/locale/zh_TW/LC_MESSAGES/django.po +++ b/umap/locale/zh_TW/LC_MESSAGES/django.po @@ -1,10 +1,10 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Supaplex , 2014 -# Hsin-lin Cheng , 2014 +# Hsin-lin Cheng (lancetw) , 2014 # Sean Young , 2016 # Yuan CHAO , 2014 msgid "" @@ -12,7 +12,7 @@ msgstr "" "Project-Id-Version: uMap\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2016-09-09 21:37+0200\n" -"PO-Revision-Date: 2016-12-04 11:18+0000\n" +"PO-Revision-Date: 2017-09-23 20:04+0000\n" "Last-Translator: Sean Young \n" "Language-Team: Chinese (Taiwan) (http://www.transifex.com/yohanboniface/umap/language/zh_TW/)\n" "MIME-Version: 1.0\n" @@ -208,3 +208,183 @@ msgstr "搜尋" #: views.py:190 msgid "View the map" msgstr "檢視地圖" + +#: forms.py:43 +#, python-format +msgid "Secret edit link is %s" +msgstr "不公開的私密編輯連結 %s" + +#: forms.py:47 models.py:113 +msgid "Everyone can edit" +msgstr "所有人皆可編輯" + +#: forms.py:48 +msgid "Only editable with secret edit link" +msgstr "僅能由私密連結編輯" + +#: models.py:20 +msgid "name" +msgstr "名稱" + +#: models.py:42 +msgid "No licence set" +msgstr "未指定授權條款" + +#: models.py:51 +msgid "details" +msgstr "詳情" + +#: models.py:52 +msgid "Link to a page where the licence is detailed." +msgstr "連結至授權條款說明網址" + +#: models.py:66 +msgid "URL template using OSM tile format" +msgstr "URL 樣板,使用 OSM 地圖磚格式" + +#: models.py:74 +msgid "Order of the tilelayers in the edit box" +msgstr "編輯方塊中地圖磚的圖層順序" + +#: models.py:114 +msgid "Only editors can edit" +msgstr "僅編輯群可編輯" + +#: models.py:115 +msgid "Only owner can edit" +msgstr "僅擁有者可編輯" + +#: models.py:118 +msgid "everyone (public)" +msgstr "所有人(公開)" + +#: models.py:119 +msgid "anyone with link" +msgstr "任何有連結的人" + +#: models.py:120 +msgid "editors only" +msgstr "只有編輯者允許" + +#: models.py:123 models.py:257 +msgid "description" +msgstr "描述" + +#: models.py:124 +msgid "center" +msgstr "中心" + +#: models.py:125 +msgid "zoom" +msgstr "縮放" + +#: models.py:126 +msgid "locate" +msgstr "定位" + +#: models.py:126 +msgid "Locate user on load?" +msgstr "載入時使用定位功能?" + +#: models.py:129 +msgid "Choose the map licence." +msgstr "選擇地圖授權" + +#: models.py:130 +msgid "licence" +msgstr "授權" + +#: models.py:135 +msgid "background" +msgstr "地圖背景" + +#: models.py:136 +msgid "owner" +msgstr "擁有者" + +#: models.py:137 +msgid "editors" +msgstr "編輯者" + +#: models.py:138 +msgid "edit status" +msgstr "編輯狀態" + +#: models.py:139 +msgid "share status" +msgstr "分享狀態" + +#: models.py:140 +msgid "settings" +msgstr "設定" + +#: models.py:178 +#, python-format +msgid "Your anonymous map has been attached to your account %s" +msgstr "你的匿名地圖已經加入你的帳號 %s " + +#: models.py:211 +msgid "Clone of" +msgstr "複製" + +#: models.py:262 +msgid "display on load" +msgstr "載入時顯示" + +#: models.py:263 +msgid "Display this layer on load." +msgstr "載入此圖層時顯示" + +#: templates/leaflet_storage/login_popup_end.html:2 +msgid "You are logged in. Continuing..." +msgstr "您已登入,繼續中..." + +#: templates/leaflet_storage/map_update_permissions.html:2 +msgid "Map permissions" +msgstr "地圖權限" + +#: templates/registration/login.html:2 +msgid "Please log in to proceed" +msgstr "請先登入" + +#: templates/registration/login.html:4 +msgid "Your username and password didn't match. Please try again." +msgstr "使用者代號或密碼不正確,請重新輸入。" + +#: views.py:232 +#, python-format +msgid "" +"Your map has been created! If you want to edit this map from another " +"computer, please use this link: %(anonymous_url)s" +msgstr "您的地圖已建立完成!如果您想在不同的機器編輯這個地圖,請使用這個連結:%(anonymous_url)s" + +#: views.py:237 +msgid "Congratulations, your map has been created!" +msgstr "恭喜您的地圖已經新增完成" + +#: views.py:264 +msgid "Map has been updated!" +msgstr "地圖已經更新" + +#: views.py:291 +msgid "Map editors updated with success!" +msgstr "地圖編輯者更新完成" + +#: views.py:306 +msgid "Only its owner can delete the map." +msgstr "只有擁有者可以刪除此地圖" + +#: views.py:335 +#, python-format +msgid "" +"Your map has been cloned! If you want to edit this map from another " +"computer, please use this link: %(anonymous_url)s" +msgstr "您的地圖已複製完成!如果您想在不同的機器編輯這個地圖,請使用這個連結:%(anonymous_url)s" + +#: views.py:340 +msgid "Congratulations, your map has been cloned!" +msgstr "恭喜,您的地圖已被複製!" + +#: views.py:526 +msgid "Layer successfully deleted." +msgstr "圖層已刪除" diff --git a/umap/migrations/0001_add_tilelayer.py b/umap/migrations/0001_add_tilelayer.py deleted file mode 100644 index 6f1281ad..00000000 --- a/umap/migrations/0001_add_tilelayer.py +++ /dev/null @@ -1,29 +0,0 @@ -# -*- coding: utf-8 -*- -# Generated by Django 1.10.3 on 2016-11-26 16:02 -from __future__ import unicode_literals - -from django.db import migrations - - -def add_tilelayer(apps, *args): - TileLayer = apps.get_model('leaflet_storage', 'TileLayer') - if TileLayer.objects.count(): - return - TileLayer( - name='Positron', - url_template=('https://cartodb-basemaps-{s}.global.ssl.fastly.net/' - 'light_all/{z}/{x}/{y}.png'), - attribution=('© [[http://www.openstreetmap.org/copyright|' - 'OpenStreetMap]] contributors, © ' - '[[https://carto.com/attributions|CARTO]]')).save() - - -class Migration(migrations.Migration): - - dependencies = [ - ('leaflet_storage', '0001_initial'), - ] - - operations = [ - migrations.RunPython(add_tilelayer), - ] diff --git a/umap/migrations/0002_add_licence.py b/umap/migrations/0002_add_licence.py deleted file mode 100644 index 3edfb73d..00000000 --- a/umap/migrations/0002_add_licence.py +++ /dev/null @@ -1,25 +0,0 @@ -# -*- coding: utf-8 -*- -# Generated by Django 1.10.3 on 2016-11-26 16:11 -from __future__ import unicode_literals - -from django.db import migrations - - -def add_licence(apps, *args): - Licence = apps.get_model('leaflet_storage', 'Licence') - if Licence.objects.count(): - return - Licence( - name='ODbL', - details='http://opendatacommons.org/licenses/odbl/').save() - - -class Migration(migrations.Migration): - - dependencies = [ - ('umap', '0001_add_tilelayer'), - ] - - operations = [ - migrations.RunPython(add_licence), - ] diff --git a/umap/settings/base.py b/umap/settings/base.py index 05cdc25a..e6490bc5 100644 --- a/umap/settings/base.py +++ b/umap/settings/base.py @@ -5,9 +5,9 @@ from django.conf.global_settings import * # pylint: disable=W0614,W0401 from django.template.defaultfilters import slugify -#============================================================================== +# ============================================================================= # Generic Django project settings -#============================================================================== +# ============================================================================= DEBUG = True @@ -56,7 +56,6 @@ INSTALLED_APPS = ( 'django.contrib.admin', 'django.contrib.gis', - 'leaflet_storage', 'umap', 'compressor', 'social_django', diff --git a/umap/templatetags/umap_tags.py b/umap/templatetags/umap_tags.py index b86c8a62..22764199 100644 --- a/umap/templatetags/umap_tags.py +++ b/umap/templatetags/umap_tags.py @@ -1,10 +1,80 @@ +import json from copy import copy from django import template +from django.conf import settings + +from ..models import DataLayer, TileLayer +from ..views import _urls_for_js register = template.Library() +@register.inclusion_tag('umap/css.html') +def umap_css(): + return { + "STATIC_URL": settings.STATIC_URL + } + + +@register.inclusion_tag('umap/js.html') +def umap_js(locale=None): + return { + "STATIC_URL": settings.STATIC_URL, + "locale": locale + } + + +@register.inclusion_tag('umap/map_fragment.html') +def map_fragment(map_instance, **kwargs): + layers = DataLayer.objects.filter(map=map_instance) + datalayer_data = [c.metadata for c in layers] + tilelayers = TileLayer.get_list() # TODO: no need to all + map_settings = map_instance.settings + if "properties" not in map_settings: + map_settings['properties'] = {} + map_settings['properties'].update({ + 'tilelayers': tilelayers, + 'datalayers': datalayer_data, + 'urls': _urls_for_js(), + 'STATIC_URL': settings.STATIC_URL, + "allowEdit": False, + 'hash': False, + 'attributionControl': False, + 'scrollWheelZoom': False, + 'storageAttributionControl': False, + 'noControl': True, + 'storage_id': map_instance.pk, + 'onLoadPanel': "none", + 'captionBar': False, + 'default_iconUrl': "%sstorage/src/img/marker.png" % settings.STATIC_URL, + 'slideshow': {} + }) + map_settings['properties'].update(kwargs) + prefix = kwargs.pop('prefix', None) or 'map_' + return { + "map_settings": json.dumps(map_settings), + "map": map_instance, + "prefix": prefix + } + + +@register.simple_tag +def tilelayer_preview(tilelayer): + """ + Return an tag with a tile of the tilelayer. + """ + output = '{alt}' + url = tilelayer.url_template.format(s="a", z=9, x=265, y=181) + output = output.format(src=url, alt=tilelayer.name, title=tilelayer.name) + return output + + +@register.filter +def notag(s): + return s.replace('<', '<') + + @register.simple_tag(takes_context=True) def paginate_querystring(context, page): qs = copy(context["request"].GET) diff --git a/umap/urls.py b/umap/urls.py index 590c050e..5b735b87 100644 --- a/umap/urls.py +++ b/umap/urls.py @@ -1,22 +1,27 @@ from django.conf import settings -from django.conf.urls.static import static +from django.conf.urls import include, url +from django.urls import path from django.conf.urls.i18n import i18n_patterns -from django.conf.urls import url, include -from django.contrib.staticfiles.urls import staticfiles_urlpatterns +from django.conf.urls.static import static from django.contrib import admin -from django.views.decorators.cache import cache_page from django.contrib.auth import views as auth_views - -from leaflet_storage.views import MapShortUrl +from django.contrib.auth.views import login +from django.contrib.staticfiles.urls import staticfiles_urlpatterns +from django.views.decorators.cache import (cache_control, cache_page, + never_cache) +from django.views.decorators.csrf import ensure_csrf_cookie from . import views +from .decorators import (jsonize_view, login_required_if_not_anonymous_allowed, + map_permissions_check) +from .utils import decorated_patterns admin.autodiscover() urlpatterns = [ url(r'^admin/', admin.site.urls), url('', include('social_django.urls', namespace='social')), - url(r'^m/(?P\d+)/$', MapShortUrl.as_view(), name='umap_short_url'), + url(r'^m/(?P\d+)/$', views.MapShortUrl.as_view(), name='umap_short_url'), url(r'^ajax-proxy/$', cache_page(180)(views.ajax_proxy), name='ajax-proxy'), url(r'^change-password/', auth_views.password_change, @@ -26,6 +31,53 @@ urlpatterns = [ {'template_name': 'umap/password_change_done.html'}, name='password_change_done'), ] + +i18n_urls = [ + url(r'^login/$', jsonize_view(login), name='login'), # noqa + url(r'^login/popup/end/$', views.LoginPopupEnd.as_view(), + name='login_popup_end'), + url(r'^logout/$', views.logout, name='logout'), + url(r'^map/(?P\d+)/geojson/$', views.MapViewGeoJSON.as_view(), + name='map_geojson'), + url(r'^map/(?P[-_\w]+)/(?P[-_\w]+)/$', + views.MapOldUrl.as_view(), name='map_old_url'), + url(r'^map/anonymous-edit/(?P.+)$', + views.MapAnonymousEditUrl.as_view(), name='map_anonymous_edit_url'), + url(r'^m/(?P\d+)/$', views.MapShortUrl.as_view(), + name='map_short_url'), + url(r'^pictogram/json/$', views.PictogramJSONList.as_view(), + name='pictogram_list_json'), +] +i18n_urls += decorated_patterns(cache_control(must_revalidate=True), + url(r'^datalayer/(?P[\d]+)/$', views.DataLayerView.as_view(), name='datalayer_view'), # noqa + url(r'^datalayer/(?P[\d]+)/versions/$', views.DataLayerVersions.as_view(), name='datalayer_versions'), # noqa + url(r'^datalayer/(?P[\d]+)/(?P[_\w]+.geojson)$', views.DataLayerVersion.as_view(), name='datalayer_version'), # noqa +) +i18n_urls += decorated_patterns([ensure_csrf_cookie], + url(r'^map/(?P[-_\w]+)_(?P\d+)$', views.MapView.as_view(), name='map'), # noqa + url(r'^map/new/$', views.MapNew.as_view(), name='map_new'), +) +i18n_urls += decorated_patterns( + [login_required_if_not_anonymous_allowed, never_cache], + url(r'^map/create/$', views.MapCreate.as_view(), name='map_create'), +) +i18n_urls += decorated_patterns( + [map_permissions_check, never_cache], + url(r'^map/(?P[\d]+)/update/settings/$', views.MapUpdate.as_view(), + name='map_update'), + url(r'^map/(?P[\d]+)/update/permissions/$', + views.UpdateMapPermissions.as_view(), name='map_update_permissions'), + url(r'^map/(?P[\d]+)/update/delete/$', + views.MapDelete.as_view(), name='map_delete'), + url(r'^map/(?P[\d]+)/update/clone/$', + views.MapClone.as_view(), name='map_clone'), + url(r'^map/(?P[\d]+)/datalayer/create/$', + views.DataLayerCreate.as_view(), name='datalayer_create'), + url(r'^map/(?P[\d]+)/datalayer/update/(?P\d+)/$', + views.DataLayerUpdate.as_view(), name='datalayer_update'), + url(r'^map/(?P[\d]+)/datalayer/delete/(?P\d+)/$', + views.DataLayerDelete.as_view(), name='datalayer_delete'), +) urlpatterns += i18n_patterns( url(r'^$', views.home, name="home"), url(r'^showcase/$', cache_page(24 * 60 * 60)(views.showcase), @@ -33,7 +85,7 @@ urlpatterns += i18n_patterns( url(r'^search/$', views.search, name="search"), url(r'^about/$', views.about, name="about"), url(r'^user/(?P[-_\w@]+)/$', views.user_maps, name='user_maps'), - url(r'', include('leaflet_storage.urls')), + url(r'', include(i18n_urls)), ) if settings.DEBUG and settings.MEDIA_ROOT: diff --git a/umap/views.py b/umap/views.py index b0415cba..bac84e58 100644 --- a/umap/views.py +++ b/umap/views.py @@ -1,8 +1,42 @@ +import hashlib import json -import mimetypes +import os import re import socket +import mimetypes +from django.conf import settings +from django.contrib import messages +from django.contrib.auth import logout as do_logout +from django.contrib.auth import get_user_model +from django.contrib.gis.measure import D +from django.core.paginator import EmptyPage, PageNotAnInteger, Paginator +from django.core.signing import BadSignature, Signer +from django.core.validators import URLValidator, ValidationError +from django.db.models import Q +from django.http import (HttpResponse, HttpResponseBadRequest, + HttpResponseForbidden, HttpResponsePermanentRedirect, + HttpResponseRedirect) +from django.middleware.gzip import re_accepts_gzip +from django.shortcuts import get_object_or_404 +from django.template.loader import render_to_string +from django.urls import reverse, reverse_lazy +from django.utils.encoding import force_bytes, smart_bytes +from django.utils.http import http_date +from django.utils.translation import ugettext as _ +from django.utils.translation import to_locale +from django.views.generic import DetailView, TemplateView, View +from django.views.generic.base import RedirectView +from django.views.generic.detail import BaseDetailView +from django.views.generic.edit import CreateView, DeleteView, UpdateView +from django.views.generic.list import ListView + +from .forms import (DEFAULT_LATITUDE, DEFAULT_LONGITUDE, DEFAULT_CENTER, + AnonymousMapPermissionsForm, DataLayerForm, FlatErrorList, + MapSettingsForm, UpdateMapPermissionsForm) +from .models import DataLayer, Licence, Map, Pictogram, TileLayer +from .utils import get_uri_template, gzip_file + try: # python3 from urllib.parse import urlparse @@ -12,21 +46,6 @@ except ImportError: from urlparse import urlparse from urllib2 import Request, HTTPError, build_opener -from django.views.generic import TemplateView -from django.contrib.auth import get_user_model -from django.views.generic import DetailView, View -from django.db.models import Q -from django.contrib.gis.measure import D -from django.conf import settings -from django.core.paginator import Paginator, EmptyPage, PageNotAnInteger -from django.http import HttpResponse, HttpResponseBadRequest -from django.utils.translation import ugettext as _ -from django.utils.encoding import smart_bytes -from django.urls import reverse -from django.core.validators import URLValidator, ValidationError - -from leaflet_storage.models import Map -from leaflet_storage.forms import DEFAULT_CENTER User = get_user_model() @@ -36,6 +55,7 @@ PRIVATE_IP = re.compile(r'((^127\.)|(^10\.)' r'|(^172\.2[0-9]\.)' r'|(^172\.3[0-1]\.)' r'|(^192\.168\.))') +ANONYMOUS_COOKIE_MAX_AGE = 60 * 60 * 24 * 30 # One month class PaginatorMixin(object): @@ -58,7 +78,7 @@ class PaginatorMixin(object): class Home(TemplateView, PaginatorMixin): template_name = "umap/home.html" - list_template_name = "leaflet_storage/map_list.html" + list_template_name = "umap/map_list.html" def get_context_data(self, **kwargs): qs = Map.public @@ -115,7 +135,7 @@ class UserMaps(DetailView, PaginatorMixin): model = User slug_url_kwarg = 'username' slug_field = 'username' - list_template_name = "leaflet_storage/map_list.html" + list_template_name = "umap/map_list.html" context_object_name = "current_user" def get_context_data(self, **kwargs): @@ -147,7 +167,7 @@ user_maps = UserMaps.as_view() class Search(TemplateView, PaginatorMixin): template_name = "umap/search.html" - list_template_name = "leaflet_storage/map_list.html" + list_template_name = "umap/map_list.html" def get_context_data(self, **kwargs): q = self.request.GET.get('q') @@ -268,3 +288,532 @@ class AjaxProxy(View): return HttpResponse(content, status=status_code, content_type=mimetype) ajax_proxy = AjaxProxy.as_view() + + +# ############## # +# Utils # +# ############## # + +def _urls_for_js(urls=None): + """ + Return templated URLs prepared for javascript. + """ + if urls is None: + # prevent circular import + from .urls import urlpatterns, i18n_urls + urls = [url.name for url in urlpatterns + i18n_urls + if getattr(url, 'name', None)] + urls = dict(zip(urls, [get_uri_template(url) for url in urls])) + urls.update(getattr(settings, 'LEAFLET_STORAGE_EXTRA_URLS', {})) + return urls + + +def render_to_json(templates, context, request): + """ + Generate a JSON HttpResponse with rendered template HTML. + """ + html = render_to_string( + templates, + context=context, + request=request + ) + _json = json.dumps({ + "html": html + }) + return HttpResponse(_json) + + +def simple_json_response(**kwargs): + return HttpResponse(json.dumps(kwargs)) + + +# ############## # +# Map # +# ############## # + + +class FormLessEditMixin(object): + http_method_names = [u'post', ] + + def form_invalid(self, form): + return simple_json_response(errors=form.errors, + error=str(form.errors)) + + def get_form(self): + kwargs = self.get_form_kwargs() + kwargs['error_class'] = FlatErrorList + return self.get_form_class()(**kwargs) + + +class MapDetailMixin(object): + + model = Map + + def get_context_data(self, **kwargs): + context = super(MapDetailMixin, self).get_context_data(**kwargs) + properties = { + 'urls': _urls_for_js(), + 'tilelayers': self.get_tilelayers(), + 'allowEdit': self.is_edit_allowed(), + 'default_iconUrl': "%sstorage/src/img/marker.png" % settings.STATIC_URL, # noqa + 'storage_id': self.get_storage_id(), + 'licences': dict((l.name, l.json) for l in Licence.objects.all()), + } + if self.get_short_url(): + properties['shortUrl'] = self.get_short_url() + + if settings.USE_I18N: + locale = settings.LANGUAGE_CODE + # Check attr in case the middleware is not active + if hasattr(self.request, "LANGUAGE_CODE"): + locale = self.request.LANGUAGE_CODE + locale = to_locale(locale) + properties['locale'] = locale + context['locale'] = locale + map_settings = self.get_geojson() + if "properties" not in map_settings: + map_settings['properties'] = {} + map_settings['properties'].update(properties) + map_settings['properties']['datalayers'] = self.get_datalayers() + context['map_settings'] = json.dumps(map_settings, + indent=settings.DEBUG) + return context + + def get_tilelayers(self): + return TileLayer.get_list(selected=TileLayer.get_default()) + + def get_datalayers(self): + return [] + + def is_edit_allowed(self): + return True + + def get_storage_id(self): + return None + + def get_geojson(self): + return { + "geometry": { + "coordinates": [DEFAULT_LONGITUDE, DEFAULT_LATITUDE], + "type": "Point" + }, + "properties": { + "zoom": getattr(settings, 'LEAFLET_ZOOM', 6), + "datalayers": [], + } + } + + def get_short_url(self): + return None + + +class MapView(MapDetailMixin, DetailView): + + def get(self, request, *args, **kwargs): + self.object = self.get_object() + canonical = self.get_canonical_url() + if not request.path == canonical: + if request.META.get('QUERY_STRING'): + canonical = "?".join([canonical, request.META['QUERY_STRING']]) + return HttpResponsePermanentRedirect(canonical) + if not self.object.can_view(request): + return HttpResponseForbidden('Forbidden') + return super(MapView, self).get(request, *args, **kwargs) + + def get_canonical_url(self): + return self.object.get_absolute_url() + + def get_datalayers(self): + datalayers = DataLayer.objects.filter(map=self.object) + return [l.metadata for l in datalayers] + + def get_tilelayers(self): + return TileLayer.get_list(selected=self.object.get_tilelayer()) + + def is_edit_allowed(self): + return self.object.can_edit(self.request.user, self.request) + + def get_storage_id(self): + return self.object.pk + + def get_short_url(self): + shortUrl = None + if hasattr(settings, 'SHORT_SITE_URL'): + short_url_name = getattr(settings, 'MAP_SHORT_URL_NAME', + 'map_short_url') + short_path = reverse_lazy(short_url_name, + kwargs={'pk': self.object.pk}) + shortUrl = "%s%s" % (settings.SHORT_SITE_URL, short_path) + return shortUrl + + def get_geojson(self): + map_settings = self.object.settings + if "properties" not in map_settings: + map_settings['properties'] = {} + if self.object.owner and hasattr(settings, 'USER_MAPS_URL'): + map_settings['properties']['author'] = { + 'name': self.object.owner.get_username(), + 'link': reverse(settings.USER_MAPS_URL, + args=(self.object.owner.get_username(), )) + } + return map_settings + + +class MapViewGeoJSON(MapView): + + def get_canonical_url(self): + return reverse('map_geojson', args=(self.object.pk, )) + + def render_to_response(self, context, *args, **kwargs): + return HttpResponse(context['map_settings']) + + +class MapNew(MapDetailMixin, TemplateView): + template_name = "umap/map_detail.html" + + +class MapCreate(FormLessEditMixin, CreateView): + model = Map + form_class = MapSettingsForm + + def form_valid(self, form): + if self.request.user.is_authenticated: + form.instance.owner = self.request.user + self.object = form.save() + if not self.request.user.is_authenticated: + anonymous_url = "%s%s" % ( + settings.SITE_URL, + self.object.get_anonymous_edit_url() + ) + msg = _( + "Your map has been created! If you want to edit this map from " + "another computer, please use this link: %(anonymous_url)s" + % {"anonymous_url": anonymous_url} + ) + else: + msg = _("Congratulations, your map has been created!") + response = simple_json_response( + id=self.object.pk, + url=self.object.get_absolute_url(), + info=msg + ) + if not self.request.user.is_authenticated: + key, value = self.object.signed_cookie_elements + response.set_signed_cookie( + key=key, + value=value, + max_age=ANONYMOUS_COOKIE_MAX_AGE + ) + return response + + +class MapUpdate(FormLessEditMixin, UpdateView): + model = Map + form_class = MapSettingsForm + pk_url_kwarg = 'map_id' + + def form_valid(self, form): + self.object.settings = form.cleaned_data["settings"] + self.object.save() + return simple_json_response( + id=self.object.pk, + url=self.object.get_absolute_url(), + info=_("Map has been updated!") + ) + + +class UpdateMapPermissions(UpdateView): + template_name = "umap/map_update_permissions.html" + model = Map + pk_url_kwarg = 'map_id' + + def get_form_class(self): + if self.object.owner: + return UpdateMapPermissionsForm + else: + return AnonymousMapPermissionsForm + + def get_form(self, form_class=None): + form = super(UpdateMapPermissions, self).get_form(form_class) + user = self.request.user + if self.object.owner and not user == self.object.owner: + del form.fields['edit_status'] + del form.fields['share_status'] + del form.fields['owner'] + return form + + def form_valid(self, form): + self.object = form.save() + return simple_json_response( + info=_("Map editors updated with success!")) + + def render_to_response(self, context, **response_kwargs): + context.update(response_kwargs) + return render_to_json(self.get_template_names(), context, self.request) + + +class MapDelete(DeleteView): + model = Map + pk_url_kwarg = "map_id" + + def delete(self, *args, **kwargs): + self.object = self.get_object() + if self.object.owner and self.request.user != self.object.owner: + return HttpResponseForbidden( + _('Only its owner can delete the map.')) + if not self.object.owner\ + and not self.object.is_anonymous_owner(self.request): + return HttpResponseForbidden('Forbidden.') + self.object.delete() + return simple_json_response(redirect="/") + + +class MapClone(View): + + def post(self, *args, **kwargs): + if not getattr(settings, "LEAFLET_STORAGE_ALLOW_ANONYMOUS", False) \ + and not self.request.user.is_authenticated: + return HttpResponseForbidden('Forbidden') + owner = self.request.user if self.request.user.is_authenticated else None + self.object = kwargs['map_inst'].clone(owner=owner) + response = simple_json_response(redirect=self.object.get_absolute_url()) + if not self.request.user.is_authenticated: + key, value = self.object.signed_cookie_elements + response.set_signed_cookie( + key=key, + value=value, + max_age=ANONYMOUS_COOKIE_MAX_AGE + ) + anonymous_url = "%s%s" % ( + settings.SITE_URL, + self.object.get_anonymous_edit_url() + ) + msg = _( + "Your map has been cloned! If you want to edit this map from " + "another computer, please use this link: %(anonymous_url)s" + % {"anonymous_url": anonymous_url} + ) + else: + msg = _("Congratulations, your map has been cloned!") + messages.info(self.request, msg) + return response + + +class MapShortUrl(RedirectView): + query_string = True + permanent = True + + def get_redirect_url(self, **kwargs): + map_inst = get_object_or_404(Map, pk=kwargs['pk']) + url = map_inst.get_absolute_url() + if self.query_string: + args = self.request.META.get('QUERY_STRING', '') + if args: + url = "%s?%s" % (url, args) + return url + + +class MapOldUrl(RedirectView): + """ + Handle map URLs from before anonymous allowing. + """ + query_string = True + permanent = True + + def get_redirect_url(self, **kwargs): + owner = get_object_or_404(User, username=self.kwargs['username']) + map_inst = get_object_or_404(Map, slug=self.kwargs['slug'], + owner=owner) + url = map_inst.get_absolute_url() + if self.query_string: + args = self.request.META.get('QUERY_STRING', '') + if args: + url = "%s?%s" % (url, args) + return url + + +class MapAnonymousEditUrl(RedirectView): + + permanent = False + + def get(self, request, *args, **kwargs): + signer = Signer() + try: + pk = signer.unsign(self.kwargs['signature']) + except BadSignature: + return HttpResponseForbidden('Bad Signature') + else: + map_inst = get_object_or_404(Map, pk=pk) + url = map_inst.get_absolute_url() + response = HttpResponseRedirect(url) + if not map_inst.owner: + key, value = map_inst.signed_cookie_elements + response.set_signed_cookie( + key=key, + value=value, + max_age=ANONYMOUS_COOKIE_MAX_AGE + ) + return response + + +# ############## # +# DataLayer # +# ############## # + + +class GZipMixin(object): + + EXT = '.gz' + + def _path(self): + return self.object.geojson.path + + def path(self): + """ + Serve gzip file if client accept it. + Generate or update the gzip file if needed. + """ + path = self._path() + statobj = os.stat(path) + ae = self.request.META.get('HTTP_ACCEPT_ENCODING', '') + if re_accepts_gzip.search(ae) and getattr(settings, 'LEAFLET_STORAGE_GZIP', True): + gzip_path = "{path}{ext}".format(path=path, ext=self.EXT) + up_to_date = True + if not os.path.exists(gzip_path): + up_to_date = False + else: + gzip_statobj = os.stat(gzip_path) + if statobj.st_mtime > gzip_statobj.st_mtime: + up_to_date = False + if not up_to_date: + gzip_file(path, gzip_path) + path = gzip_path + return path + + def etag(self): + path = self.path() + with open(path, mode='rb') as f: + return hashlib.md5(f.read()).hexdigest() + + +class DataLayerView(GZipMixin, BaseDetailView): + model = DataLayer + + def render_to_response(self, context, **response_kwargs): + response = None + path = self.path() + + if getattr(settings, 'LEAFLET_STORAGE_XSENDFILE_HEADER', None): + response = HttpResponse() + path = path.replace(settings.MEDIA_ROOT, '/internal') + response[settings.LEAFLET_STORAGE_XSENDFILE_HEADER] = path + else: + # TODO IMS + statobj = os.stat(path) + with open(path, 'rb') as f: + response = HttpResponse( + f.read(), # should not be used in production! + content_type='application/json' + ) + response["Last-Modified"] = http_date(statobj.st_mtime) + response['ETag'] = '%s' % hashlib.md5(force_bytes(response.content)).hexdigest() # noqa + response['Content-Length'] = len(response.content) + if path.endswith(self.EXT): + response['Content-Encoding'] = 'gzip' + return response + + +class DataLayerVersion(DataLayerView): + + def _path(self): + return '{root}/{path}'.format( + root=settings.MEDIA_ROOT, + path=self.object.get_version_path(self.kwargs['name'])) + + +class DataLayerCreate(FormLessEditMixin, GZipMixin, CreateView): + model = DataLayer + form_class = DataLayerForm + + def form_valid(self, form): + form.instance.map = self.kwargs['map_inst'] + self.object = form.save() + response = simple_json_response(**self.object.metadata) + response['ETag'] = self.etag() + return response + + +class DataLayerUpdate(FormLessEditMixin, GZipMixin, UpdateView): + model = DataLayer + form_class = DataLayerForm + + def form_valid(self, form): + self.object = form.save() + response = simple_json_response(**self.object.metadata) + response['ETag'] = self.etag() + return response + + def if_match(self): + """Optimistic concurrency control.""" + match = True + if_match = self.request.META.get('HTTP_IF_MATCH') + if if_match: + etag = self.etag() + if etag != if_match: + match = False + return match + + def post(self, request, *args, **kwargs): + self.object = self.get_object() + if self.object.map != self.kwargs['map_inst']: + return HttpResponseForbidden('Route to nowhere') + if not self.if_match(): + return HttpResponse(status=412) + return super(DataLayerUpdate, self).post(request, *args, **kwargs) + + +class DataLayerDelete(DeleteView): + model = DataLayer + + def delete(self, *args, **kwargs): + self.object = self.get_object() + if self.object.map != self.kwargs['map_inst']: + return HttpResponseForbidden('Route to nowhere') + self.object.delete() + return simple_json_response(info=_("Layer successfully deleted.")) + + +class DataLayerVersions(BaseDetailView): + model = DataLayer + + def render_to_response(self, context, **response_kwargs): + return simple_json_response(versions=self.object.versions) + + +# ############## # +# Picto # +# ############## # + +class PictogramJSONList(ListView): + model = Pictogram + + def render_to_response(self, context, **response_kwargs): + content = [p.json for p in Pictogram.objects.all()] + return simple_json_response(pictogram_list=content) + + +# ############## # +# Generic # +# ############## # + +def logout(request): + do_logout(request) + return simple_json_response(redirect="/") + + +class LoginPopupEnd(TemplateView): + """ + End of a loggin process in popup. + Basically close the popup. + """ + template_name = "umap/login_popup_end.html"